Anchorage API reference
    Preparing search index...

    Permission manifest — what the connector declares about itself.

    interface PermissionManifest {
        background?: boolean;
        dryRun?: boolean;
        egress?: readonly string[];
        egressEnforcement?: ConnectorEgressPosture;
        idempotencyKey?: boolean;
        rateLimit?: string;
        requiredPermissions?: readonly string[];
        requiresApproval?: boolean;
        sideEffect: SideEffect;
    }
    Index

    Properties

    background?: boolean

    Allow this connector to run as a Mastra background task and to receive a _background argument. The default is foreground-only: the wrapper refuses a call Mastra's standard agent loop runs as a background task, and any call whose arguments carry _background. Only a read-only connector may enable this field; write-class connectors fail at construction. A present value must be a boolean.

    dryRun?: boolean

    Connector supports side-effect-free simulation: requires ConnectorConfig.dryRunExecute. Callers request a simulation per call by setting requestContext DRY_RUN_CONTEXT_KEY to true. A present value must be a boolean.

    egress?: readonly string[]

    Hostnames this connector calls; gated by the networkEgress policy.

    egressEnforcement?: ConnectorEgressPosture

    Whether the declared egress binds the connector's actual traffic. 'enforced' asserts every HTTP request leaves through ConnectorRuntime.fetch. It covers a connector that issues no HTTP request at all; it is a claim about HTTP traffic, not about platform bindings (D1, KV, R2, service bindings), which the guard never sees. 'declaration-only' states that a vendor SDK or child process carries its own transport, so the list is checked against organization policy but not against sockets. An omitted field resolves to 'declaration-only': nothing has proven enforcement. connectorEgressPosture() reads the resolved value.

    idempotencyKey?: boolean

    Caller must supply a per-call idempotency key (IDEMPOTENCY_KEY_CONTEXT_KEY in requestContext). Replays of a stored key return the stored result without re-executing. A present value must be a boolean.

    rateLimit?: string

    Execution budget as '/' — e.g. '100/min'; units are the singular s|sec|second|m|min|minute|h|hour|d|day. Enforced with fixed windows against policies.rateLimitStore; only actual executions consume budget (denied calls, replays, and shared in-flight joins do not).

    requiredPermissions?: readonly string[]

    Server-derived permissions required to invoke this connector, with explicit ALL-OF semantics: the executing principal must hold every listed identifier. Enforced against the trusted breakwater.principalPermissions projection BEFORE the dry-run branch and the approval-grant gate — authorization applies to simulations too, and a valid approval must not elevate an unauthorized principal. A call with no valid projection fails closed. Omission preserves the existing approval/policy-only behavior; a present list must be non-empty.

    requiresApproval?: boolean

    Always require human approval, regardless of org policy. A present value must be a boolean.

    sideEffect: SideEffect

    Worst side effect the connector can cause.