@agenticprimitives/runtime-member 0.0.0-alpha.27 → 0.0.0-alpha.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,7 +15,7 @@ ap runtime run --member goose-1.svc --agent "goose acp"
15
15
  ```
16
16
 
17
17
  `join` generates the runtime's own key here, has the member's custodian sign a **session wire** (member → key, pinned to
18
- `harness.ask`, time-bounded, revocable on chain), records the steward link and assigns the `runtime-member` playbook.
18
+ `harness.ask`, valid only at the member's own agent and the workspace, time-bounded, revocable on chain), records the steward link and assigns the `runtime-member` playbook.
19
19
  `run` polls the member's own inbox, hands each new message to the agent as an ACP prompt with the workspace context, and
20
20
  sends the answer back as the runtime — an act that **parks for the steward's signature**, which the loop reports. The
21
21
  agent reaches the workspace through the `workspace` MCP server (`ap runtime mcp`): `workspace_ask`, `workspace_reply`,
@@ -26,7 +26,9 @@ agent reaches the workspace through the `workspace` MCP server (`ap runtime mcp`
26
26
  (`--wake container`, or `--wake https://…` for a host of your own; `ap runtime host … none` to go back to polling),
27
27
  then hand the Container the record without its key (`ap runtime export` → `AP_RUNTIME_RECORD`) and the wire's key
28
28
  (`AP_RUNTIME_KEY`) as secrets. A wake carries the member, the thread and a message id — no content, no authority; the
29
- runtime reads under its own wire. Compromise the Container and you hold a revocable wire, not the agent.
29
+ runtime reads under its own wire. Compromise the Container and you hold a revocable wire, not the agent. The host
30
+ listens on loopback unless `--host` says otherwise; any other interface needs `AP_RUNTIME_WAKE_SECRET`, which the
31
+ waker sends as `Authorization: Bearer …` — a wake without it is refused, and turn text goes only to a caller that sent it.
30
32
 
31
33
  **The open mandate (W2a).** Every write parks — the reply included — unless the steward decides once:
32
34
  `ap runtime grant --member goose-2.svc --handle alice --to alice.me messaging.direct.send` signs a **standing grant**
package/dist/cli.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const RUNTIME_USAGE = "ap runtime pair <code> --home <url> [--wake container|<url>|none] [--agent <acp agent>] (the code the custodian minted at the Home \u2014 no session, no keys)\nap runtime join --member <label>.svc --workspace <label>.org --home <url> --edge <url> --a2a <url> --chain faithchain --handle <demo persona> --registry <skills registry url> [--days 30] [--wake container|<url>] [--messaging-to alice.me,bob.me] [--open-mandate messaging.direct.send]\nap runtime messaging --member <label>.svc --handle <demo persona> [--home <url>] --to alice.me,bob.me (the member's messaging RAIL: whom it may deliver to; widens, never narrows)\nap runtime grant --member <label>.svc --handle <demo persona> [--home <url>] [--days 30] [--to alice.me,bob.me] <capability\u2026> (the OPEN MANDATE: a standing grant the custodian signs once; replies stop parking; --to bounds the recipients, default anyone)\nap runtime run --member <label>.svc --agent \"<command \u2026>\" [--poll 15] [--turns N] [--since <cursor>] [--allow-local]\nap runtime serve --member <label>.svc --agent \"<command \u2026>\" [--port 8080] [--fallback-poll <seconds>] [--allow-local] (W1c: woken by the Worker; a Container's entrypoint)\nap runtime host --member <label>.svc --home <url> --handle <demo persona> (container|<url>|none) (declare where the Worker wakes this member)\nap runtime playbook --member <label>.svc --handle <demo persona> [--registry <url>] [--archetype runtime-member] (re-pin the playbook to the registry's current definition)\nap runtime mcp --member <label>.svc (the workspace MCP server the ACP agent spawns; stdio)\nap runtime status --member <label>.svc\nap runtime export --member <label>.svc (the record WITHOUT its key, for a Container's AP_RUNTIME_RECORD; the key goes to AP_RUNTIME_KEY)";
1
+ export declare const RUNTIME_USAGE = "ap runtime pair <code> --home <url> [--wake container|<url>|none] [--agent <acp agent>] (the code the custodian minted at the Home \u2014 no session, no keys)\nap runtime join --member <label>.svc --workspace <label>.org --home <url> --edge <url> --a2a <url> --chain faithchain --handle <demo persona> --registry <skills registry url> [--days 30] [--wake container|<url>] [--messaging-to alice.me,bob.me] [--open-mandate messaging.direct.send]\nap runtime messaging --member <label>.svc --handle <demo persona> [--home <url>] --to alice.me,bob.me (the member's messaging RAIL: whom it may deliver to; widens, never narrows)\nap runtime grant --member <label>.svc --handle <demo persona> [--home <url>] [--days 30] [--to alice.me,bob.me] <capability\u2026> (the OPEN MANDATE: a standing grant the custodian signs once; replies stop parking; --to bounds the recipients, default anyone)\nap runtime run --member <label>.svc --agent \"<command \u2026>\" [--poll 15] [--turns N] [--since <cursor>] [--allow-local]\nap runtime serve --member <label>.svc --agent \"<command \u2026>\" [--port 8080] [--host 127.0.0.1] [--fallback-poll <seconds>] [--allow-local] (W1c: woken by the Worker; a Container's entrypoint; a non-loopback --host needs AP_RUNTIME_WAKE_SECRET, sent by the waker as a Bearer)\nap runtime host --member <label>.svc --home <url> --handle <demo persona> (container|<url>|none) (declare where the Worker wakes this member)\nap runtime playbook --member <label>.svc --handle <demo persona> [--registry <url>] [--archetype runtime-member] (re-pin the playbook to the registry's current definition)\nap runtime mcp --member <label>.svc (the workspace MCP server the ACP agent spawns; stdio)\nap runtime status --member <label>.svc\nap runtime export --member <label>.svc (the record WITHOUT its key, for a Container's AP_RUNTIME_RECORD; the key goes to AP_RUNTIME_KEY)";
2
2
  export declare function personaCustodian(home: string, handle: string): Promise<{
3
3
  bearer: string;
4
4
  agent: `0x${string}`;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,aAAa,gxDAUsH,CAAC;AAsBjJ,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,CAahL;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqHhE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,aAAa,s3DAUsH,CAAC;AAsBjJ,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,CAahL;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAsHhE"}
package/dist/cli.js CHANGED
@@ -17,7 +17,7 @@ ap runtime join --member <label>.svc --workspace <label>.org --home <url> --edge
17
17
  ap runtime messaging --member <label>.svc --handle <demo persona> [--home <url>] --to alice.me,bob.me (the member's messaging RAIL: whom it may deliver to; widens, never narrows)
18
18
  ap runtime grant --member <label>.svc --handle <demo persona> [--home <url>] [--days 30] [--to alice.me,bob.me] <capability…> (the OPEN MANDATE: a standing grant the custodian signs once; replies stop parking; --to bounds the recipients, default anyone)
19
19
  ap runtime run --member <label>.svc --agent "<command …>" [--poll 15] [--turns N] [--since <cursor>] [--allow-local]
20
- ap runtime serve --member <label>.svc --agent "<command …>" [--port 8080] [--fallback-poll <seconds>] [--allow-local] (W1c: woken by the Worker; a Container's entrypoint)
20
+ ap runtime serve --member <label>.svc --agent "<command …>" [--port 8080] [--host 127.0.0.1] [--fallback-poll <seconds>] [--allow-local] (W1c: woken by the Worker; a Container's entrypoint; a non-loopback --host needs AP_RUNTIME_WAKE_SECRET, sent by the waker as a Bearer)
21
21
  ap runtime host --member <label>.svc --home <url> --handle <demo persona> (container|<url>|none) (declare where the Worker wakes this member)
22
22
  ap runtime playbook --member <label>.svc --handle <demo persona> [--registry <url>] [--archetype runtime-member] (re-pin the playbook to the registry's current definition)
23
23
  ap runtime mcp --member <label>.svc (the workspace MCP server the ACP agent spawns; stdio)
@@ -85,7 +85,7 @@ export async function runtimeCli(argv) {
85
85
  const chain = flag(rest, 'chain') ?? 'faithchain';
86
86
  const { getDeployments } = await import('@agenticprimitives/contracts/deployments');
87
87
  const C = getDeployments(chain);
88
- const contracts = { chainId: C.chainId, delegationManager: C.delegationManager, timestampEnforcer: C.timestampEnforcer, allowedMethodsEnforcer: C.allowedMethodsEnforcer, valueEnforcer: C.valueEnforcer, allowedTargetsEnforcer: C.allowedTargetsEnforcer, agentRelationship: C.agentRelationship, agentNameRegistry: C.agentNameRegistry, permissionlessSubregistry: C.permissionlessSubregistry, digestBindingEnforcer: C.digestBindingEnforcer };
88
+ const contracts = { chainId: C.chainId, delegationManager: C.delegationManager, timestampEnforcer: C.timestampEnforcer, allowedMethodsEnforcer: C.allowedMethodsEnforcer, valueEnforcer: C.valueEnforcer, allowedTargetsEnforcer: C.allowedTargetsEnforcer, agentRelationship: C.agentRelationship, agentNameRegistry: C.agentNameRegistry, ...(C.permissionlessSubregistry ? { permissionlessSubregistry: C.permissionlessSubregistry } : {}), digestBindingEnforcer: C.digestBindingEnforcer };
89
89
  const home = need(rest, 'home');
90
90
  const custodian = await personaCustodian(home, need(rest, 'handle'));
91
91
  const { path } = await runtimeJoin({
@@ -122,7 +122,7 @@ export async function runtimeCli(argv) {
122
122
  const recipients = await resolveNames(home, need(rest, 'to'));
123
123
  const { getDeployments } = await import('@agenticprimitives/contracts/deployments');
124
124
  const C = getDeployments((flag(rest, 'chain') ?? 'faithchain'));
125
- const contracts = { chainId: C.chainId, delegationManager: C.delegationManager, timestampEnforcer: C.timestampEnforcer, allowedMethodsEnforcer: C.allowedMethodsEnforcer, valueEnforcer: C.valueEnforcer, allowedTargetsEnforcer: C.allowedTargetsEnforcer, agentRelationship: C.agentRelationship, agentNameRegistry: C.agentNameRegistry, permissionlessSubregistry: C.permissionlessSubregistry, digestBindingEnforcer: C.digestBindingEnforcer };
125
+ const contracts = { chainId: C.chainId, delegationManager: C.delegationManager, timestampEnforcer: C.timestampEnforcer, allowedMethodsEnforcer: C.allowedMethodsEnforcer, valueEnforcer: C.valueEnforcer, allowedTargetsEnforcer: C.allowedTargetsEnforcer, agentRelationship: C.agentRelationship, agentNameRegistry: C.agentNameRegistry, ...(C.permissionlessSubregistry ? { permissionlessSubregistry: C.permissionlessSubregistry } : {}), digestBindingEnforcer: C.digestBindingEnforcer };
126
126
  const rail = await enableMessaging({ a2a: rec.a2a, member: rec.agent, recipients, contracts, custodian, stewardship: link.stewardshipDelegation });
127
127
  out(`✓ ${rec.name} may deliver to ${rail.recipients.length} recipient(s) (${rail.hash.slice(0, 12)}…)`);
128
128
  return 0;
@@ -135,7 +135,7 @@ export async function runtimeCli(argv) {
135
135
  const chain = flag(rest, 'chain') ?? 'faithchain';
136
136
  const { getDeployments } = await import('@agenticprimitives/contracts/deployments');
137
137
  const C = getDeployments(chain);
138
- const contracts = { chainId: C.chainId, delegationManager: C.delegationManager, timestampEnforcer: C.timestampEnforcer, allowedMethodsEnforcer: C.allowedMethodsEnforcer, valueEnforcer: C.valueEnforcer, allowedTargetsEnforcer: C.allowedTargetsEnforcer, agentRelationship: C.agentRelationship, agentNameRegistry: C.agentNameRegistry, permissionlessSubregistry: C.permissionlessSubregistry, digestBindingEnforcer: C.digestBindingEnforcer };
138
+ const contracts = { chainId: C.chainId, delegationManager: C.delegationManager, timestampEnforcer: C.timestampEnforcer, allowedMethodsEnforcer: C.allowedMethodsEnforcer, valueEnforcer: C.valueEnforcer, allowedTargetsEnforcer: C.allowedTargetsEnforcer, agentRelationship: C.agentRelationship, agentNameRegistry: C.agentNameRegistry, ...(C.permissionlessSubregistry ? { permissionlessSubregistry: C.permissionlessSubregistry } : {}), digestBindingEnforcer: C.digestBindingEnforcer };
139
139
  const custodian = await personaCustodian(flag(rest, 'home') ?? rec.home, need(rest, 'handle'));
140
140
  const home = (flag(rest, 'home') ?? rec.home).replace(/\/$/, '');
141
141
  const locations = await resolveNames(home, flag(rest, 'to') ?? '');
@@ -167,7 +167,8 @@ export async function runtimeCli(argv) {
167
167
  if (cmd === 'serve') {
168
168
  const agent = need(rest, 'agent').split(/\s+/).filter(Boolean);
169
169
  const fb = flag(rest, 'fallback-poll');
170
- const { close } = await serveRuntimeMember({ member: need(rest, 'member'), agent, port: Number(flag(rest, 'port') ?? process.env.PORT ?? 8080), ...(fb ? { fallbackPollMs: Number(fb) * 1000 } : {}), ...allowLocalPolicy(rest), log: out });
170
+ const host = flag(rest, 'host'); // RUN-12: loopback unless named; a non-loopback host needs AP_RUNTIME_WAKE_SECRET
171
+ const { close } = await serveRuntimeMember({ member: need(rest, 'member'), agent, port: Number(flag(rest, 'port') ?? process.env.PORT ?? 8080), ...(host ? { host } : {}), ...(fb ? { fallbackPollMs: Number(fb) * 1000 } : {}), ...allowLocalPolicy(rest), log: out });
171
172
  await new Promise((resolve) => { for (const sig of ['SIGINT', 'SIGTERM'])
172
173
  process.once(sig, () => { void close().finally(resolve); }); });
173
174
  return 0;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export type { RuntimeMemberRecordV1 } from './record.js';
4
4
  export { buildStandingGrant } from './standing.js';
5
5
  export type { StandingGrantV1, StandingEnforcers } from './standing.js';
6
6
  export { enableMessaging, MESSAGING_WIRE_SKILLS } from './messaging.js';
7
- export { PAIRING_CODE_RE, pairingHandleOf, type PairingStateV1, type PairingClaimV1, type PairingOptionsV1 } from './pairing.js';
7
+ export { PAIRING_CODE_RE, pairingHandleOf, pairingConfirmation, pairingProofDigest, verifyPairingProof, notePairingMiss, PAIRING_MAX_TTL_SECONDS, PAIRING_MAX_FAILED_CLAIMS, PAIRING_PROOF_MAX_AGE_SECONDS, type PairingStateV1, type PairingClaimV1, type PairingOptionsV1, type PairingProofV1, type PairingMissLedgerV1, } from './pairing.js';
8
8
  //# sourceMappingURL=equip-entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"equip-entry.d.ts","sourceRoot":"","sources":["../src/equip-entry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC5H,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvG,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"equip-entry.d.ts","sourceRoot":"","sources":["../src/equip-entry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC5H,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvG,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAGxE,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,EAC7B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,cAAc,CAAC"}
@@ -3,5 +3,7 @@
3
3
  export { equipRuntimeMember, standingEnforcers, assignPlaybook, recordStandingGrant, declareRuntimeHost } from './equip.js';
4
4
  export { buildStandingGrant } from './standing.js';
5
5
  export { enableMessaging, MESSAGING_WIRE_SKILLS } from './messaging.js';
6
- export { PAIRING_CODE_RE, pairingHandleOf } from './pairing.js';
6
+ // Pairing (spec 400 W1b): the code, the confirmation words, the signed claim/take proof and the failed-claim ledger —
7
+ // all browser/Worker-safe (viem only), so a Home or runtime Worker verifying a claim need not load the package root.
8
+ export { PAIRING_CODE_RE, pairingHandleOf, pairingConfirmation, pairingProofDigest, verifyPairingProof, notePairingMiss, PAIRING_MAX_TTL_SECONDS, PAIRING_MAX_FAILED_CLAIMS, PAIRING_PROOF_MAX_AGE_SECONDS, } from './pairing.js';
7
9
  //# sourceMappingURL=equip-entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"equip-entry.js","sourceRoot":"","sources":["../src/equip-entry.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,4FAA4F;AAC5F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAG5H,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAmE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"equip-entry.js","sourceRoot":"","sources":["../src/equip-entry.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,4FAA4F;AAC5F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAG5H,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACxE,sHAAsH;AACtH,qHAAqH;AACrH,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,GAM9B,MAAM,cAAc,CAAC"}
package/dist/equip.d.ts CHANGED
@@ -11,8 +11,8 @@ export interface Contracts {
11
11
  valueEnforcer: Address;
12
12
  allowedTargetsEnforcer: Address;
13
13
  agentRelationship: Address;
14
- agentNameRegistry: Address;
15
- permissionlessSubregistry: Address; /** Spec 400 W2a — needed to derive a child mandate from a standing grant. */
14
+ agentNameRegistry: Address; /** The untyped legacy subregistry — absent on a generation-4 chain (its root was retired, spec 445); named in the site wire only where configured. */
15
+ permissionlessSubregistry?: Address; /** Spec 400 W2a — needed to derive a child mandate from a standing grant. */
16
16
  digestBindingEnforcer?: Address;
17
17
  }
18
18
  /** Who signs for the member's Smart Agent — its custodian. A port: the key is never here. */
@@ -40,6 +40,16 @@ export interface JoinOptions {
40
40
  archetype: string;
41
41
  };
42
42
  validForSeconds?: number;
43
+ /** RUNB-13 — the vault server this ceremony EXPECTS (its delegate key, and optionally its vault id): pinned by the
44
+ * product (its lock file / config). When given, a Home that names another server is refused before anything is
45
+ * signed. Omitted: the Home's stated server is used — stated in full, or the ceremony refuses. */
46
+ vaultServer?: {
47
+ serverKey: Address;
48
+ vaultId?: string;
49
+ };
50
+ /** RUN-9 — further agents the custodian lets the runtime SPEAK AT under its session wire, beside its own agent and
51
+ * the workspace (which are always named). A wire is a credential only at an agent it names. */
52
+ speaksAt?: Address[];
43
53
  /** W1c — where the runtime is hosted, so the Worker can WAKE it when a message is admitted instead of the runtime
44
54
  * polling: `container` (the app's Container binding, one instance per member) or a URL that serves `POST /wake`.
45
55
  * Omitted: the runtime polls (`ap runtime run`). Declared by the custodian, kept on the member's own object. */
@@ -121,4 +131,8 @@ export interface EquipOptions extends Omit<JoinOptions, 'log'> {
121
131
  log?: (line: string) => void;
122
132
  }
123
133
  export declare function equipRuntimeMember(o: EquipOptions): Promise<Omit<RuntimeMemberRecordV1, 'key'>>;
134
+ /** The site (oversight) wire's targets: the two governance contracts, then the legacy subregistry only where this chain
135
+ * still has one. A zero or absent address is not a target — minting it would make every new steward a non-steward to a
136
+ * recogniser that does not expect it (ap-home `oversight-targets`, spec 445). */
137
+ export declare function siteWireTargets(c: Pick<Contracts, 'agentRelationship' | 'agentNameRegistry' | 'permissionlessSubregistry'>): Address[];
124
138
  //# sourceMappingURL=equip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"equip.d.ts","sourceRoot":"","sources":["../src/equip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"equip.d.ts","sourceRoot":"","sources":["../src/equip.ts"],"names":[],"mappings":"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"}
package/dist/equip.js CHANGED
@@ -5,7 +5,8 @@
5
5
  // In the order the authority model needs:
6
6
  // 1. resolves the member's typed name (`<label>.svc`, chartered by its custodian through the Home) and the workspace's;
7
7
  // 2. has the member's CUSTODIAN sign the session wire — member SA → the runtime's key, pinned to `harness.ask`,
8
- // time-bounded (S3c) — through a signer port;
8
+ // time-bounded (S3c), valid ONLY at the member's own agent and the workspace (allowedTargets, RUN-9) — through a
9
+ // signer port;
9
10
  // 3. makes sure the custodian's Home lists them as the member's steward, binds the member's VAULT KEY (spec 278),
10
11
  // assigns the runtime-member playbook by digest, declares the runtime host (W1c), enables the messaging rail and
11
12
  // records the open mandate (W2a).
@@ -13,7 +14,7 @@
13
14
  import { encodeAbiParameters, toHex } from 'viem';
14
15
  import { hashDelegation, buildCaveat, buildVaultKeyUseCaveat, encodeTimestampTerms, encodeValueTerms, encodeAllowedTargetsTerms, ROOT_AUTHORITY } from '@agenticprimitives/delegation';
15
16
  import { keccak256, toBytes } from 'viem';
16
- import { skillSelector } from '@agenticprimitives/a2a';
17
+ import { isPlaceholderAddress, skillSelector } from '@agenticprimitives/a2a';
17
18
  import { STANDARD_SURFACE_SKILL } from '@agenticprimitives/a2a/standard';
18
19
  import { buildStandingGrant } from './standing.js';
19
20
  import { enableMessaging } from './messaging.js';
@@ -89,17 +90,26 @@ export async function equipRuntimeMember(o) {
89
90
  const address = o.address;
90
91
  const validUntil = Math.floor(Date.now() / 1000) + (o.validForSeconds ?? 30 * 86_400);
91
92
  const salt = BigInt(toHex(crypto.getRandomValues(new Uint8Array(16))));
93
+ const wireTargets = [...new Set([member, workspace, ...(o.speaksAt ?? [])].map((a) => a.toLowerCase()))];
94
+ for (const t of wireTargets)
95
+ if (!/^0x[0-9a-f]{40}$/.test(t))
96
+ throw new Error(`the session wire's target ${t} is not an address — nothing was signed`);
92
97
  const wire = {
93
98
  delegator: member, delegate: address, authority: ROOT_AUTHORITY,
94
99
  caveats: [
95
100
  { enforcer: o.contracts.timestampEnforcer, terms: encodeAbiParameters([{ type: 'uint256' }, { type: 'uint256' }], [0n, BigInt(validUntil)]), args: '0x' },
96
101
  { enforcer: o.contracts.allowedMethodsEnforcer, terms: encodeAbiParameters([{ type: 'bytes4[]' }], [[skillSelector(STANDARD_SURFACE_SKILL)]]), args: '0x' },
102
+ // THE TARGET (RUN-9, spec 445 W0): a session wire is a credential only at a host whose agent it names, and a
103
+ // wire that names none is refused everywhere. The runtime speaks at `<edge>/api/a2a/<name>` for its OWN agent
104
+ // (inbox, replies, its parked runs) and for the WORKSPACE it joins — the two agents this ceremony resolved —
105
+ // plus any the custodian adds (`speaksAt`). Anywhere else the wire is not a credential.
106
+ buildCaveat(o.contracts.allowedTargetsEnforcer, encodeAllowedTargetsTerms(wireTargets)),
97
107
  ],
98
108
  salt, signature: '0x',
99
109
  };
100
110
  const wireRef = hashDelegation(wire, o.contracts.chainId, o.contracts.delegationManager);
101
111
  wire.signature = await o.custodian.signDigest(wireRef);
102
- log(`session wire ${wireRef.slice(0, 18)}… · ${o.member} → ${address} · pinned to ${STANDARD_SURFACE_SKILL} · until ${new Date(validUntil * 1000).toISOString().slice(0, 10)}`);
112
+ log(`session wire ${wireRef.slice(0, 18)}… · ${o.member} → ${address} · pinned to ${STANDARD_SURFACE_SKILL} at ${wireTargets.length} agent(s) · until ${new Date(validUntil * 1000).toISOString().slice(0, 10)}`);
103
113
  // 4a. the custodian's steward link for the member (kept when there)
104
114
  const links = ((await j(await f(`${homeCall}/connect/related-orgs?surface=any`, { headers: H }))).orgs ?? []);
105
115
  let stewardship = links.find((l) => l.orgAgent.toLowerCase() === member && l.relationship === 'steward')?.stewardshipDelegation;
@@ -110,7 +120,7 @@ export async function equipRuntimeMember(o) {
110
120
  caveats: [
111
121
  buildCaveat(o.contracts.timestampEnforcer, encodeTimestampTerms(0, Math.floor(Date.now() / 1000) + 3650 * 86_400)),
112
122
  buildCaveat(o.contracts.valueEnforcer, encodeValueTerms(0n)),
113
- buildCaveat(o.contracts.allowedTargetsEnforcer, encodeAllowedTargetsTerms([o.contracts.agentRelationship, o.contracts.agentNameRegistry, o.contracts.permissionlessSubregistry])),
123
+ buildCaveat(o.contracts.allowedTargetsEnforcer, encodeAllowedTargetsTerms(siteWireTargets(o.contracts))),
114
124
  ],
115
125
  salt: salt2, signature: '0x',
116
126
  };
@@ -128,12 +138,44 @@ export async function equipRuntimeMember(o) {
128
138
  if (kb.bound === true && (kb.allowedResources ?? []).includes('vault:*'))
129
139
  log('vault key: already bound');
130
140
  else {
141
+ // RUNB-13 (spec 445 W0) — WHO GETS VAULT-KEY USE, AND OVER WHAT, IS STATED OR NOTHING IS SIGNED. `server-info` is an
142
+ // unauthenticated answer from whatever stands at `--home`. Every absent field used to become a default — and the
143
+ // defaults were the WIDEST scope (the whole vault, `regulated.high`, read+write) to a placeholder delegate: a
144
+ // missing answer was read as the largest grant (ADR-0013). Now each field is required and shape-checked BEFORE the
145
+ // key is provisioned or anything is signed; the delegate and scope are said in words to the signer's log; and a
146
+ // caller that knows the server it expects pins it (`vaultServer`), so another address is refused.
131
147
  const info = await j(await f(`${homeCall}/mcp-bind/custody/vault-key/server-info`));
148
+ const missing = [];
149
+ const vaultId = typeof info.serverId === 'string' ? info.serverId.trim() : '';
150
+ if (!vaultId)
151
+ missing.push('serverId');
152
+ if (typeof info.serverKey !== 'string' || !/^0x[0-9a-fA-F]{40}$/.test(info.serverKey))
153
+ missing.push('serverKey');
154
+ if (!Array.isArray(info.defaultResources) || !info.defaultResources.length || !info.defaultResources.every((r) => typeof r === 'string' && r))
155
+ missing.push('defaultResources');
156
+ if (typeof info.classificationCeiling !== 'string' || !info.classificationCeiling)
157
+ missing.push('classificationCeiling');
158
+ if (!Array.isArray(info.ops) || !info.ops.length || !info.ops.every((x) => x === 'read' || x === 'write'))
159
+ missing.push('ops');
160
+ if (missing.length)
161
+ throw new Error(`vault key for ${o.member}: ${o.home} did not state ${missing.join(', ')} — who receives vault-key use and over what must be stated; nothing was signed`);
162
+ const serverKey = info.serverKey.toLowerCase();
163
+ // Spec 445 §9 decision 8 — the placeholder delegate (`0x…01`, the zero address, the low range) is REFUSED: it was what a
164
+ // missing answer used to become, and a Home that states it now is stating the same default.
165
+ if (isPlaceholderAddress(serverKey))
166
+ throw new Error(`vault key for ${o.member}: ${o.home} names the placeholder ${serverKey} as the vault server — a placeholder is never a delegate; nothing was signed`);
167
+ if (o.vaultServer) {
168
+ if (o.vaultServer.serverKey.toLowerCase() !== serverKey)
169
+ throw new Error(`vault key for ${o.member}: ${o.home} names ${serverKey} as the vault server, not the expected ${o.vaultServer.serverKey.toLowerCase()} — nothing was signed`);
170
+ if (o.vaultServer.vaultId !== undefined && o.vaultServer.vaultId !== vaultId)
171
+ throw new Error(`vault key for ${o.member}: ${o.home} names vault ${vaultId}, not the expected ${o.vaultServer.vaultId} — nothing was signed`);
172
+ }
132
173
  const issuedAt = Math.floor(Date.now() / 1000);
133
174
  const prov = await j(await f(`${homeCall}/mcp-bind/custody/vault-key/provision`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ owner: member, issuedAt, proof: await o.custodian.signDigest(keccak256(toBytes(['demo-mcp:vault-key-provision:v1', member, String(issuedAt)].join('\n')))) }) }));
134
175
  if (!prov.ok || !prov.kmsKeyRef)
135
176
  throw new Error(`vault key provision for ${o.member}: ${prov.error_description ?? prov.detail ?? 'refused'}`);
136
- const params = { vaultId: String(info.serverId ?? '').trim() || 'demo-mcp', kmsKeyRef: prov.kmsKeyRef, serverKey: (info.serverKey ?? '0x0000000000000000000000000000000000000001'), allowedResources: info.defaultResources ?? ['person-pii', 'org-sensitive', 'profile', 'vault:*'], classificationCeiling: info.classificationCeiling ?? 'regulated.high', ops: info.ops ?? ['read', 'write'] };
177
+ const params = { vaultId, kmsKeyRef: prov.kmsKeyRef, serverKey, allowedResources: info.defaultResources, classificationCeiling: info.classificationCeiling, ops: info.ops };
178
+ log(`vault key: authorizing ${params.serverKey} (vault ${params.vaultId}) to use ${o.member}'s vault key for ${params.ops.join('+')} on ${params.allowedResources.join(', ')} up to ${params.classificationCeiling} — no subdelegation${o.vaultServer ? '; the server is the one expected' : ''}`);
137
179
  const validUntil2 = Math.floor(Date.now() / 1000) + 90 * 86_400;
138
180
  const salt3 = BigInt(toHex(crypto.getRandomValues(new Uint8Array(16))));
139
181
  const auth = { delegator: member, delegate: params.serverKey, authority: ROOT_AUTHORITY, caveats: [buildVaultKeyUseCaveat({ vaultId: params.vaultId, kmsKeyRef: params.kmsKeyRef, resources: params.allowedResources, classificationCeiling: params.classificationCeiling, ops: params.ops, noSubdelegation: true })], salt: salt3, signature: '0x' };
@@ -170,4 +212,11 @@ export async function equipRuntimeMember(o) {
170
212
  };
171
213
  return record;
172
214
  }
215
+ /** The site (oversight) wire's targets: the two governance contracts, then the legacy subregistry only where this chain
216
+ * still has one. A zero or absent address is not a target — minting it would make every new steward a non-steward to a
217
+ * recogniser that does not expect it (ap-home `oversight-targets`, spec 445). */
218
+ export function siteWireTargets(c) {
219
+ const sub = c.permissionlessSubregistry;
220
+ return [c.agentRelationship, c.agentNameRegistry, ...(sub && !/^0x0{40}$/i.test(sub) ? [sub] : [])];
221
+ }
173
222
  //# sourceMappingURL=equip.js.map
package/dist/equip.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"equip.js","sourceRoot":"","sources":["../src/equip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"equip.js","sourceRoot":"","sources":["../src/equip.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,kHAAkH;AAClH,iHAAiH;AACjH,EAAE;AACF,0CAA0C;AAC1C,0HAA0H;AAC1H,kHAAkH;AAClH,sHAAsH;AACtH,oBAAoB;AACpB,oHAAoH;AACpH,sHAAsH;AACtH,uCAAuC;AACvC,oFAAoF;AACpF,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAA0B,MAAM,MAAM,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,cAAc,EAAmB,MAAM,+BAA+B,CAAC;AACxM,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAA0B,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wHAAwH;AACxH,MAAM,UAAU,iBAAiB,CAAC,CAAY;IAC5C,IAAI,CAAC,CAAC,CAAC,qBAAqB;QAAE,MAAM,IAAI,KAAK,CAAC,yHAAyH,CAAC,CAAC;IACzK,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC,CAAC,sBAAsB,EAAE,aAAa,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC;AAChM,CAAC;AAsDD;gHACgH;AAChH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,CAA0N;IAC7P,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;IAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,iBAAiB,CAAC,CAAC,MAAM,mCAAmC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAqE,CAAC;IAC7T,MAAM,IAAI,GAAG,oBAAoB,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;IACxD,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAAC,GAAG,CAAC,YAAY,IAAI,sBAAsB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IACxM,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,OAAO,eAAe,CAAC,CAAC,QAAQ,CAAC,SAAS,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAAwF,CAAC;IACpT,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,SAAS,oCAAoC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACxI,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;QAAC,GAAG,CAAC,YAAY,IAAI,eAAe,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO,GAAG,CAAC,MAAM,CAAC;IAAC,CAAC;IACvI,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,4BAA4B,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;IAC5M,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,iBAAiB,CAAC,CAAC,MAAM,mCAAmC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjQ,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5I,GAAG,CAAC,YAAY,GAAG,CAAC,UAAU,CAAC,WAAW,KAAK,GAAG,CAAC,UAAU,CAAC,gBAAgB,cAAc,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzH,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED;wGACwG;AACxG,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,CAA4P;IACpS,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,MAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9f,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACjK,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,yHAAyH;AACzH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,CAAuI;IAC9K,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,MAAM,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1S,IAAI,GAAG,CAAC,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAClI,CAAC;AAED,MAAM,CAAC,GAAG,KAAK,EAAE,CAAW,EAAoC,EAAE,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAA4B,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC;IAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAAC,CAAC,CAAC,CAAC,CAAC;AAWzN,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,CAAe;IACtD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC;IAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;IAChG,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAoB,EAAE;QACxD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,2BAA2B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAA6D,CAAC;QACzJ,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC,IAAI,uDAAuD,CAAC,CAAC;QACjK,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,EAAa,CAAC;IAC1C,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9C,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,CAAC,CAAC;IAEhF,0DAA0D;IAC1D,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;IACtF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAa,CAAC,CAAC,CAAC,CAAC;IACpH,KAAK,MAAM,CAAC,IAAI,WAAW;QAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,yCAAyC,CAAC,CAAC;IACvJ,MAAM,IAAI,GAAe;QACvB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc;QAC/D,OAAO,EAAE;YACP,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAiB,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;YACzJ,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,sBAAsB,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE;YAC3J,6GAA6G;YAC7G,8GAA8G;YAC9G,6GAA6G;YAC7G,wFAAwF;YACxF,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,WAAW,CAAC,CAAC;SACxF;QACD,IAAI,EAAE,SAAS,EAAE,IAAI;KACtB,CAAC;IACF,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACzF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvD,GAAG,CAAC,gBAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,MAAM,OAAO,gBAAgB,sBAAsB,OAAO,WAAW,CAAC,MAAM,qBAAqB,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAElN,oEAAoE;IACpE,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,mCAAmC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAwF,CAAC;IACrM,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAChI,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,GAAe;YACpB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc;YACzE,OAAO,EAAE;gBACP,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;gBAClH,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBAC5D,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;aACzG;YACD,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI;SAC7B,CAAC;QACF,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAClH,WAAW,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,uBAAuB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtV,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,sBAAsB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACvJ,GAAG,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;;QAAM,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE1C,sEAAsE;IACtE,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,8CAA8C,MAAM,EAAE,CAAC,CAAqD,CAAC;IACnJ,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,GAAG,CAAC,0BAA0B,CAAC,CAAC;SACrG,CAAC;QACJ,qHAAqH;QACrH,iHAAiH;QACjH,8GAA8G;QAC9G,mHAAmH;QACnH,gHAAgH;QAChH,kGAAkG;QAClG,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,yCAAyC,CAAC,CAA4H,CAAC;QAC/M,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChL,IAAI,OAAO,IAAI,CAAC,qBAAqB,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACzH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/H,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QAC9L,MAAM,SAAS,GAAI,IAAI,CAAC,SAAoB,CAAC,WAAW,EAAa,CAAC;QACtE,yHAAyH;QACzH,4FAA4F;QAC5F,IAAI,oBAAoB,CAAC,SAAS,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,0BAA0B,SAAS,8EAA8E,CAAC,CAAC;QAC5M,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,UAAU,SAAS,0CAA0C,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;YACxO,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,gBAAgB,OAAO,sBAAsB,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAC;QAC/N,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,uCAAuC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,iCAAiC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAsF,CAAC;QACla,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;QAC/I,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAA4B,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAA+B,EAAE,GAAG,EAAE,IAAI,CAAC,GAA8B,EAAE,CAAC;QAC7N,GAAG,CAAC,0BAA0B,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,oBAAoB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,qBAAqB,sBAAsB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnS,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QAChE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,GAAe,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAClW,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACxH,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,kCAAkC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAsD,CAAC;QACngB,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;QACtH,GAAG,CAAC,oBAAoB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,+DAA+D;IAC/D,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAEhH,kFAAkF;IAClF,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,kBAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACvG,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,2DAA2D,CAAC,CAAC;IACxJ,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACtJ,GAAG,CAAC,2BAA2B,IAAI,CAAC,UAAU,CAAC,MAAM,kBAAkB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChb,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,kBAAkB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,MAAM,OAAO,MAAM,CAAC,CAAC,WAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC,YAAY,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,+CAA+C,CAAC,CAAC;QACxV,MAAM,mBAAmB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3I,GAAG,CAAC,mFAAmF,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,MAAM,GAAuC;QACjD,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO;QAChG,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC/O,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;kFAEkF;AAClF,MAAM,UAAU,eAAe,CAAC,CAA2F;IACzH,MAAM,GAAG,GAAG,CAAC,CAAC,yBAAyB,CAAC;IACxC,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtG,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,7 @@ export type { RunOptions } from './run.js';
8
8
  export { RuntimeMemberLoop, promptFor } from './loop.js';
9
9
  export type { LoopOptions, TurnReport, InboxMessage } from './loop.js';
10
10
  export { serveRuntimeMember } from './serve.js';
11
- export type { ServeOptions, WakeRequestV1, WakeReplyV1 } from './serve.js';
11
+ export type { ServeOptions, WakeRequestV1, WakeReplyV1, WakeCountV1 } from './serve.js';
12
12
  export { createWorkspaceMcp, runWorkspaceMcpStdio, describeOutcome, inboxPlan, replyPlan, topicReplyPlan, topicOf, WORKSPACE_MCP_DOCTRINE } from './workspace-mcp.js';
13
13
  export type { WorkspaceMcpOptions } from './workspace-mcp.js';
14
14
  export { askAs, continueAs, clientFor, endpointFor, recordSigner } from './client.js';
@@ -22,6 +22,6 @@ export type { RuntimeMemberRecordV1 } from './record.js';
22
22
  export { runtimeCli, personaCustodian, RUNTIME_USAGE } from './cli.js';
23
23
  export { runtimePair } from './pair.js';
24
24
  export type { PairOptions } from './pair.js';
25
- export { PAIRING_CODE_RE, pairingHandleOf } from './pairing.js';
26
- export type { PairingStateV1, PairingClaimV1, PairingOptionsV1 } from './pairing.js';
25
+ export { PAIRING_CODE_RE, pairingHandleOf, pairingConfirmation, pairingProofDigest, verifyPairingProof, notePairingMiss, PAIRING_MAX_TTL_SECONDS, PAIRING_MAX_FAILED_CLAIMS, PAIRING_PROOF_MAX_AGE_SECONDS } from './pairing.js';
26
+ export type { PairingStateV1, PairingClaimV1, PairingOptionsV1, PairingProofV1, PairingMissLedgerV1 } from './pairing.js';
27
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,EAAG,mCAA4C,CAAC;AACzE,eAAO,MAAM,cAAc,EAAG,KAAc,CAAC;AAC7C,eAAO,MAAM,QAAQ,EAAG,sEAA+E,CAAC;AAExG,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxI,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACtK,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACxE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9G,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,EAAG,mCAA4C,CAAC;AACzE,eAAO,MAAM,cAAc,EAAG,KAAc,CAAC;AAC7C,eAAO,MAAM,QAAQ,EAAG,sEAA+E,CAAC;AAExG,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxI,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACtK,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACxE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9G,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AACjO,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -18,5 +18,5 @@ export { enableMessaging, MESSAGING_WIRE_SKILLS } from './messaging.js';
18
18
  export { saveRuntimeMember, loadRuntimeMember, portableRecord, runtimeDir, runtimePath } from './keystore.js';
19
19
  export { runtimeCli, personaCustodian, RUNTIME_USAGE } from './cli.js';
20
20
  export { runtimePair } from './pair.js';
21
- export { PAIRING_CODE_RE, pairingHandleOf } from './pairing.js';
21
+ export { PAIRING_CODE_RE, pairingHandleOf, pairingConfirmation, pairingProofDigest, verifyPairingProof, notePairingMiss, PAIRING_MAX_TTL_SECONDS, PAIRING_MAX_FAILED_CLAIMS, PAIRING_PROOF_MAX_AGE_SECONDS } from './pairing.js';
22
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,EAAE;AACF,iHAAiH;AACjH,mHAAmH;AACnH,mHAAmH;AACnH,wHAAwH;AACxH,MAAM,CAAC,MAAM,YAAY,GAAG,mCAA4C,CAAC;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAc,CAAC;AAC7C,MAAM,CAAC,MAAM,QAAQ,GAAG,sEAA+E,CAAC;AAExG,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAExI,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEtK,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIxE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE9G,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,EAAE;AACF,iHAAiH;AACjH,mHAAmH;AACnH,mHAAmH;AACnH,wHAAwH;AACxH,MAAM,CAAC,MAAM,YAAY,GAAG,mCAA4C,CAAC;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAc,CAAC;AAC7C,MAAM,CAAC,MAAM,QAAQ,GAAG,sEAA+E,CAAC;AAExG,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAExI,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEtK,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIxE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE9G,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC"}
package/dist/loop.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type PermissionPolicy } from '@agenticprimitives/acp';
1
+ import { type PermissionPolicy, type ToolClassifier } from '@agenticprimitives/acp';
2
2
  import { type Signer } from './client.js';
3
3
  import { type RuntimeMemberRecordV1 } from './keystore.js';
4
4
  export interface LoopOptions {
@@ -13,6 +13,11 @@ export interface LoopOptions {
13
13
  /** Start from this cursor instead of "now" (default: only what arrives after the loop starts). */
14
14
  since?: string;
15
15
  permission?: PermissionPolicy;
16
+ /** Which permission requests are workspace-tool calls (spec 445 §3.7). Every field of a request is written by
17
+ * the agent, so the host classifies nothing by itself: without this, every call — the workspace's included —
18
+ * is `local` and the default policy refuses it. Supply one keyed on something the model cannot author for the
19
+ * agent binary this member runs. */
20
+ classify?: ToolClassifier;
16
21
  cwd?: string;
17
22
  fetch?: typeof fetch;
18
23
  /** The wire's signer, when the key is not in the record (a KMS port); default: the record's key. */
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwB,KAAK,gBAAgB,EAAuB,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAAoD,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAqB,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAI9E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,4GAA4G;IAC5G,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACjD,kGAAkG;IAClG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;0HACsH;IACtH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACvJ,oHAAoH;IACpH,kBAAkB,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAED,MAAM,WAAW,YAAY;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AAE3K,4GAA4G;AAC5G,wBAAgB,SAAS,CAAC,GAAG,EAAE,qBAAqB,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAQ7E;AAED,qBAAa,iBAAiB;IAUhB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAT9B,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAyB;IAC7C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,IAAI,CAA8C;IAC1D,OAAO,CAAC,OAAO,CAAS;gBAEK,CAAC,EAAE,WAAW;IAQ3C,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAAwB;IAE3D,OAAO,CAAC,GAAG;IAIX,gIAAgI;IAC1H,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAYd,UAAU;IAQxB;8GAC0G;IAC1G,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAMnE,IAAI;YAuBJ,IAAI;IA0CZ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAC5B"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
package/dist/loop.js CHANGED
@@ -36,7 +36,7 @@ export class RuntimeMemberLoop {
36
36
  this.rec = loadRuntimeMember(o.member);
37
37
  this.log = o.log ?? ((l) => process.stderr.write(`${l}\n`));
38
38
  this.mcp = { name: 'workspace', ...(o.mcpCommand ?? { command: 'ap', args: ['runtime', 'mcp', '--member', this.rec.name] }) };
39
- this.host = new AcpHost({ command: o.agent[0], args: o.agent.slice(1), workspaceServerName: 'workspace', ...(o.permission ? { permission: o.permission } : {}), ...(o.cwd ? { cwd: o.cwd } : {}), onStderr: (l) => this.log(` [agent] ${l}`) });
39
+ this.host = new AcpHost({ command: o.agent[0], args: o.agent.slice(1), workspaceServerName: 'workspace', ...(o.permission ? { permission: o.permission } : {}), ...(o.classify ? { classify: o.classify } : {}), ...(o.cwd ? { cwd: o.cwd } : {}), onStderr: (l) => this.log(` [agent] ${l}`) });
40
40
  this.cursor = o.since;
41
41
  }
42
42
  get cursorNow() { return this.cursor; }
package/dist/loop.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../src/pair.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,+GAA+G;IAC/G,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAID,wBAAsB,WAAW,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,CAAC,CA4B1G"}
1
+ {"version":3,"file":"pair.d.ts","sourceRoot":"","sources":["../src/pair.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,+GAA+G;IAC/G,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAID,wBAAsB,WAAW,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,CAAC,CA4C1G"}
package/dist/pair.js CHANGED
@@ -2,9 +2,9 @@
2
2
  // (spec 400 W1b). The runtime generates its key HERE, claims the code with the key's address, and waits while the
3
3
  // custodian approves on her Home — every signature hers, in her browser — then takes the finished record ONCE and
4
4
  // keeps it with the key. No Home session, no persona key, no secret but the code — and the code grants nothing.
5
- import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
5
+ import { generatePrivateKey, privateKeyToAccount, sign } from 'viem/accounts';
6
6
  import { saveRuntimeMember } from './keystore.js';
7
- import { PAIRING_CODE_RE, pairingHandleOf } from './pairing.js';
7
+ import { PAIRING_CODE_RE, PAIRING_MAX_TTL_SECONDS, pairingHandleOf, pairingConfirmation, pairingProofDigest } from './pairing.js';
8
8
  const j = async (r) => { const t = await r.text(); try {
9
9
  return JSON.parse(t);
10
10
  }
@@ -21,21 +21,40 @@ export async function runtimePair(o) {
21
21
  const key = generatePrivateKey();
22
22
  const address = privateKeyToAccount(key).address;
23
23
  log(`key ${address} generated here — never leaves this machine`);
24
- const claim = await j(await f(`${home}/connect/runtime-pair/claim`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ code, address, ...(o.wake !== undefined ? { wake: o.wake } : {}), ...(o.agent ? { agent: o.agent } : {}) }) }));
24
+ // RUNB-12 — every move is SIGNED by the key it names (proof of possession), bound to the move, the code, this Home
25
+ // and the moment. A Home that verifies it (`verifyPairingProof`) hands the record only to the key that claimed.
26
+ const proofFor = async (move) => {
27
+ const issuedAt = Math.floor(Date.now() / 1000);
28
+ return { issuedAt, signature: await sign({ hash: pairingProofDigest({ move, code, address, home, issuedAt }), privateKey: key, to: 'hex' }) };
29
+ };
30
+ const claim = await j(await f(`${home}/connect/runtime-pair/claim`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ code, address, proof: await proofFor('claim'), ...(o.wake !== undefined ? { wake: o.wake } : {}), ...(o.agent ? { agent: o.agent } : {}) }) }));
25
31
  if (claim.ok !== true)
26
32
  throw new Error(`the code was not accepted at ${home}: ${claim.error ?? JSON.stringify(claim).slice(0, 200)}`);
27
- log(`claimed ${code} — ${pairingHandleOf(code)} sees the request on their Home; waiting for approval…`);
33
+ // A code is minutes-lived. One the Home says lives longer is not a pairing code as this runtime understands one.
34
+ const life = claim.state ? (Date.parse(claim.state.expiresAt) - Date.parse(claim.state.mintedAt)) / 1000 : NaN;
35
+ if (Number.isFinite(life) && life > PAIRING_MAX_TTL_SECONDS)
36
+ throw new Error(`this code lives ${Math.round(life / 60)} minutes — a pairing code lives at most ${PAIRING_MAX_TTL_SECONDS / 60}; refusing it`);
37
+ // The claim the Home holds must be THIS key's: "first claim wins" means another key may have got there first.
38
+ if (claim.state && 'claim' in claim.state && claim.state.claim.address.toLowerCase() !== address.toLowerCase())
39
+ throw new Error('this code was claimed by another key — do not approve it at the Home; cancel it there and mint a new one');
40
+ // THE SECOND FACTOR (the custodian's approval), made checkable: she approves only when her Home shows this.
41
+ const confirmation = pairingConfirmation(code, address);
42
+ log(`claimed ${code} — ${pairingHandleOf(code)} sees the request on their Home.\n CONFIRM ${confirmation} — approve ONLY if the Home shows this same number beside the request (it is derived from the code and this machine's key).\n waiting for approval…`);
28
43
  const started = Date.now();
29
44
  for (;;) {
30
45
  if (Date.now() - started > (o.timeoutMs ?? 15 * 60_000))
31
46
  throw new Error('pairing timed out — mint a new code at the Home and try again');
32
47
  await new Promise((r) => setTimeout(r, o.pollMs ?? 3000));
33
- const got = await j(await f(`${home}/connect/runtime-pair/take`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ code, address }) }));
48
+ const got = await j(await f(`${home}/connect/runtime-pair/take`, { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ code, address, proof: await proofFor('take') }) }));
34
49
  if (got.ok !== true)
35
50
  throw new Error(`pairing failed: ${got.error ?? JSON.stringify(got).slice(0, 200)}`);
36
51
  if (got.state === 'completed' && got.record) {
37
52
  if (got.record.address.toLowerCase() !== address.toLowerCase())
38
53
  throw new Error('the record names another key — refusing it');
54
+ // …and the WIRE inside it must have been signed to this key: a record that names us but whose wire speaks for
55
+ // another key is somebody else's authority in our file.
56
+ if (String(got.record.wire?.delegate ?? '').toLowerCase() !== address.toLowerCase())
57
+ throw new Error('the record\'s session wire is delegated to another key — refusing it');
39
58
  const record = { ...got.record, key };
40
59
  const path = saveRuntimeMember(record);
41
60
  log(`✓ paired — ${record.name} in ${record.workspace.name}; wire until ${new Date(record.validUntil * 1000).toISOString().slice(0, 10)}${record.standing ? `; open mandate ${record.standing.requirement.actions.join(', ')}` : '; every write parks'}\n kept at ${path} (0600)`);
package/dist/pair.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pair.js","sourceRoot":"","sources":["../src/pair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pair.js","sourceRoot":"","sources":["../src/pair.ts"],"names":[],"mappings":"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"}
package/dist/pairing.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Address } from 'viem';
1
+ import { type Address, type Hex } from 'viem';
2
2
  import type { RuntimeMemberRecordV1 } from './record.js';
3
3
  import type { RuntimeHostV1 } from './equip.js';
4
4
  /** `<handle>-<6 base32 chars>` — the handle names whose Home holds the code, so a runtime needs only the code + the Home. */
@@ -58,4 +58,48 @@ export type PairingStateV1 = {
58
58
  completedAt: string;
59
59
  takenAt: string;
60
60
  };
61
+ /** A code lives at most this long (the Home's own TTL is 15 minutes; the runtime refuses a longer-lived one). */
62
+ export declare const PAIRING_MAX_TTL_SECONDS: number;
63
+ /** Misses (a well-formed code that is not outstanding) tolerated against one person's Home before her outstanding codes are void. */
64
+ export declare const PAIRING_MAX_FAILED_CLAIMS = 5;
65
+ /** How long a pairing proof (a signed claim or take) is fresh. */
66
+ export declare const PAIRING_PROOF_MAX_AGE_SECONDS = 120;
67
+ /** THE CONFIRMATION both sides show: six digits (`482-913`) from the code and the claiming key. It is not a secret and
68
+ * grants nothing — it lets a person see that the key on her approval card is the key her runtime generated. */
69
+ export declare function pairingConfirmation(code: string, address: string): string;
70
+ /** What the runtime's key signs for a `claim` or a `take`: the move, the code, its own address, the Home it is said
71
+ * to, and the moment — so a proof for one move, code, Home or minute is not one for another. */
72
+ export declare function pairingProofDigest(p: {
73
+ move: 'claim' | 'take';
74
+ code: string;
75
+ address: string;
76
+ home: string;
77
+ issuedAt: number;
78
+ }): Hex;
79
+ export interface PairingProofV1 {
80
+ issuedAt: number;
81
+ signature: Hex;
82
+ }
83
+ /** The Home's check of a claim/take: fresh, and signed by the key the request names. Null when it holds; else why not. */
84
+ export declare function verifyPairingProof(p: {
85
+ move: 'claim' | 'take';
86
+ code: string;
87
+ address: string;
88
+ home: string;
89
+ proof: PairingProofV1 | null | undefined;
90
+ now?: number;
91
+ }): Promise<string | null>;
92
+ /** The Home's count of MISSES against one person's codes (DO-local, a rebuild). */
93
+ export interface PairingMissLedgerV1 {
94
+ v: 1;
95
+ misses: number;
96
+ windowStartedAt: number;
97
+ }
98
+ /** THE ATTEMPT LIMIT. Call on every claim whose code is well-formed and is NOT an outstanding code of this person.
99
+ * `void: true` ⇒ the limit is reached: the Home voids every outstanding code of hers (she mints a new one) and the
100
+ * window restarts. Misses older than a code's lifetime are forgotten — an old typo is not held against a new code. */
101
+ export declare function notePairingMiss(ledger: PairingMissLedgerV1 | null | undefined, now?: number): {
102
+ ledger: PairingMissLedgerV1;
103
+ void: boolean;
104
+ };
61
105
  //# sourceMappingURL=pairing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pairing.d.ts","sourceRoot":"","sources":["../src/pairing.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,6HAA6H;AAC7H,eAAO,MAAM,eAAe,QAAoD,CAAC;AACjF,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MAAM,GAAG,IAAsD,CAAC;AAE/G,wGAAwG;AACxG,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,qGAAqG;IACrG,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,MAAM,WAAW,cAAc;IAAG,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAEpH,MAAM,MAAM,cAAc,GACtB;IAAE,CAAC,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,CAAC,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC/H;IAAE,CAAC,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAClM;IAAE,CAAC,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"pairing.d.ts","sourceRoot":"","sources":["../src/pairing.ts"],"names":[],"mappings":"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"}
package/dist/pairing.js CHANGED
@@ -1,4 +1,82 @@
1
+ // PAIRING (spec 400 W1b) — the rendezvous between a runtime on someone's machine and the custodian's Home.
2
+ //
3
+ // The Home MINTS a code on the person's own agent (`runtime.pairing.mint`, DO-local, minutes-lived, single use).
4
+ // The runtime CLAIMS it with the address of a key it generated (`ap runtime pair <code>`), naming how it is hosted.
5
+ // The custodian sees the claim on the Home in words — what the runtime will get — APPROVES, and her browser equips
6
+ // the member (every signature hers, the connected custodian's); the finished record is COMPLETED onto the code, and
7
+ // the runtime TAKES it once. The code is the only secret the runtime holds before it has its wire; it authorizes
8
+ // nothing — every grant in the record is the custodian's signature, revocable on chain.
9
+ import { keccak256, recoverAddress, toBytes } from 'viem';
1
10
  /** `<handle>-<6 base32 chars>` — the handle names whose Home holds the code, so a runtime needs only the code + the Home. */
2
11
  export const PAIRING_CODE_RE = /^([a-z0-9][a-z0-9-]{0,62})-([A-HJ-NP-Z2-9]{6})$/;
3
12
  export const pairingHandleOf = (code) => PAIRING_CODE_RE.exec(code.trim())?.[1] ?? null;
13
+ // ── RUNB-12 (spec 445 W0, audit 2026-11-10) — WHAT BINDS A SHORT CODE ─────────────────────────────────────────────
14
+ //
15
+ // The code stays short: a person reads it off her Home and types it once (spec 400 W1b — that step does not change).
16
+ // ~30 bits typed by hand is a rendezvous, not a secret that can stand alone, so four things bind it — and the last is
17
+ // the one that makes "first claim wins" harmless:
18
+ // 1. it EXPIRES in minutes (`PAIRING_MAX_TTL_SECONDS`), and is SINGLE-USE: one key claims it, the record is taken once;
19
+ // 2. a STRICT ATTEMPT LIMIT at the Home that minted it (`PAIRING_MAX_FAILED_CLAIMS` misses against one person's
20
+ // codes void every outstanding code of hers — `notePairingMiss`): 5 guesses at 2^-30 each, not a search;
21
+ // 3. PROOF OF POSSESSION: the claim and the take are signed by the key whose address they name
22
+ // (`pairingProofDigest` / `verifyPairingProof`), so an address is never claimed by someone who does not hold it and
23
+ // the record is handed only to the key that claimed;
24
+ // 4. THE SECOND FACTOR ALREADY IN THE FLOW — the custodian's approval. Both sides derive a short CONFIRMATION
25
+ // (`pairingConfirmation(code, address)`): the runtime prints it, the Home shows it on the approval card, and she
26
+ // approves only when they match. A stranger who claimed first with ITS key shows a different confirmation than
27
+ // the one her runtime printed (and her runtime's own claim is refused) — nothing is signed to the stranger's key.
28
+ // Enforced HERE: the runtime signs (3), prints (4), refuses a code that lives longer than (1), and refuses a record
29
+ // whose wire does not name its own key. Enforced AT THE HOME (the mint / claim / take routes — their contract):
30
+ // (1) expiry and single use, (2) the attempt limit via `notePairingMiss`, (3) `verifyPairingProof`, (4) showing
31
+ // `pairingConfirmation` beside the Approve button.
32
+ /** A code lives at most this long (the Home's own TTL is 15 minutes; the runtime refuses a longer-lived one). */
33
+ export const PAIRING_MAX_TTL_SECONDS = 15 * 60;
34
+ /** Misses (a well-formed code that is not outstanding) tolerated against one person's Home before her outstanding codes are void. */
35
+ export const PAIRING_MAX_FAILED_CLAIMS = 5;
36
+ /** How long a pairing proof (a signed claim or take) is fresh. */
37
+ export const PAIRING_PROOF_MAX_AGE_SECONDS = 120;
38
+ /** THE CONFIRMATION both sides show: six digits (`482-913`) from the code and the claiming key. It is not a secret and
39
+ * grants nothing — it lets a person see that the key on her approval card is the key her runtime generated. */
40
+ export function pairingConfirmation(code, address) {
41
+ const h = keccak256(toBytes(`ap.runtime-pair.confirm.v1\n${code.trim()}\n${address.toLowerCase()}`));
42
+ const n = (BigInt(h) % 1000000n).toString().padStart(6, '0');
43
+ return `${n.slice(0, 3)}-${n.slice(3)}`;
44
+ }
45
+ /** What the runtime's key signs for a `claim` or a `take`: the move, the code, its own address, the Home it is said
46
+ * to, and the moment — so a proof for one move, code, Home or minute is not one for another. */
47
+ export function pairingProofDigest(p) {
48
+ let origin = p.home;
49
+ try {
50
+ origin = new URL(p.home).origin;
51
+ }
52
+ catch { /* a bare origin string is used as given */ }
53
+ return keccak256(toBytes(['ap.runtime-pair.proof.v1', p.move, p.code.trim(), p.address.toLowerCase(), origin.toLowerCase(), String(p.issuedAt)].join('\n')));
54
+ }
55
+ /** The Home's check of a claim/take: fresh, and signed by the key the request names. Null when it holds; else why not. */
56
+ export async function verifyPairingProof(p) {
57
+ const proof = p.proof;
58
+ if (!proof || typeof proof.issuedAt !== 'number' || typeof proof.signature !== 'string')
59
+ return 'the request carries no proof that the runtime holds the key it names';
60
+ const nowSec = Math.floor((p.now ?? Date.now()) / 1000);
61
+ if (proof.issuedAt > nowSec + 30 || nowSec - proof.issuedAt > PAIRING_PROOF_MAX_AGE_SECONDS)
62
+ return 'the proof is not fresh';
63
+ let signer;
64
+ try {
65
+ signer = await recoverAddress({ hash: pairingProofDigest({ move: p.move, code: p.code, address: p.address, home: p.home, issuedAt: proof.issuedAt }), signature: proof.signature });
66
+ }
67
+ catch {
68
+ return 'the proof is not a signature';
69
+ }
70
+ return signer.toLowerCase() === p.address.toLowerCase() ? null : 'the proof was not signed by the key the request names';
71
+ }
72
+ /** THE ATTEMPT LIMIT. Call on every claim whose code is well-formed and is NOT an outstanding code of this person.
73
+ * `void: true` ⇒ the limit is reached: the Home voids every outstanding code of hers (she mints a new one) and the
74
+ * window restarts. Misses older than a code's lifetime are forgotten — an old typo is not held against a new code. */
75
+ export function notePairingMiss(ledger, now = Date.now()) {
76
+ const fresh = !ledger || now - ledger.windowStartedAt > PAIRING_MAX_TTL_SECONDS * 1000;
77
+ const misses = (fresh ? 0 : ledger.misses) + 1;
78
+ if (misses >= PAIRING_MAX_FAILED_CLAIMS)
79
+ return { ledger: { v: 1, misses: 0, windowStartedAt: now }, void: true };
80
+ return { ledger: { v: 1, misses, windowStartedAt: fresh ? now : ledger.windowStartedAt }, void: false };
81
+ }
4
82
  //# sourceMappingURL=pairing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pairing.js","sourceRoot":"","sources":["../src/pairing.ts"],"names":[],"mappings":"AAYA,6HAA6H;AAC7H,MAAM,CAAC,MAAM,eAAe,GAAG,iDAAiD,CAAC;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAiB,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC"}
1
+ {"version":3,"file":"pairing.js","sourceRoot":"","sources":["../src/pairing.ts"],"names":[],"mappings":"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"}
package/dist/record.d.ts CHANGED
@@ -13,7 +13,9 @@ export interface RuntimeMemberRecordV1 {
13
13
  * or a signer port, never from the record. */
14
14
  key?: `0x${string}`;
15
15
  address: `0x${string}`;
16
- /** The session wire: member SA → this key, pinned to `harness.ask`, signed by the member's custodian. */
16
+ /** The session wire: member SA → this key, pinned to `harness.ask`, valid only at the agents its allowedTargets caveat
17
+ * names (the member and its workspace — RUN-9), signed by the member's custodian. A record minted before
18
+ * 2026-11-10 carries no target caveat and is refused by every verifier: re-join (or re-pair) to re-mint it. */
17
19
  wire: Record<string, unknown>;
18
20
  wireRef: `0x${string}`;
19
21
  validUntil: number;
@@ -1 +1 @@
1
- {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,CAAC,CAAC;IACL,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB,wFAAwF;IACxF,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,CAAC;IAClD;;mDAE+C;IAC/C,GAAG,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,yGAAyG;IACzG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iHAAiH;IACjH,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB;2GACuG;IACvG,QAAQ,CAAC,EAAE,OAAO,eAAe,EAAE,eAAe,CAAC;CACpD"}
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,CAAC,EAAE,CAAC,CAAC;IACL,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IACrB,wFAAwF;IACxF,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,CAAC;IAClD;;mDAE+C;IAC/C,GAAG,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB;;oHAEgH;IAChH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iHAAiH;IACjH,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB;2GACuG;IACvG,QAAQ,CAAC,EAAE,OAAO,eAAe,EAAE,eAAe,CAAC;CACpD"}
package/dist/serve.d.ts CHANGED
@@ -2,7 +2,11 @@ import { type Server } from 'node:http';
2
2
  import { RuntimeMemberLoop, type LoopOptions, type TurnReport } from './loop.js';
3
3
  export interface ServeOptions extends LoopOptions {
4
4
  port?: number;
5
+ /** Where to listen. Default `127.0.0.1` (loopback). Any other host is an explicit choice and REQUIRES `wakeSecret`. */
5
6
  host?: string;
7
+ /** The bearer secret a `/wake` must present. Default: `AP_RUNTIME_WAKE_SECRET`. At least 16 characters. Required for a
8
+ * non-loopback bind; when set, required of every wake wherever it comes from. Never logged, never echoed. */
9
+ wakeSecret?: string;
6
10
  /** A slow safety pass in case a wake is lost (Queues are at-least-once; default: none). */
7
11
  fallbackPollMs?: number;
8
12
  }
@@ -12,12 +16,24 @@ export interface WakeRequestV1 {
12
16
  conversationId?: string;
13
17
  messageId?: string;
14
18
  }
19
+ /** What a wake that presented the secret is told: the turn reports, text included (the Worker keeps them as the receipt). */
15
20
  export interface WakeReplyV1 {
16
21
  ok: true;
17
22
  member: string;
18
23
  cursor: string | null;
19
24
  turns: TurnReport[];
20
25
  }
26
+ /** What a wake nobody authenticated (a loopback peer on a host with no secret) is told: that it ran, and how many turns —
27
+ * no prompt, no answer, no reply, no sender. */
28
+ export interface WakeCountV1 {
29
+ ok: true;
30
+ member: string;
31
+ turnCount: number;
32
+ redacted: true;
33
+ }
34
+ export declare const DEFAULT_SERVE_HOST = "127.0.0.1";
35
+ /** Is this a loopback bind address / peer address? `localhost`, 127.0.0.0/8, ::1 and the v4-mapped forms. */
36
+ export declare function isLoopbackHost(host: string | undefined): boolean;
21
37
  export declare function serveRuntimeMember(o: ServeOptions): Promise<{
22
38
  server: Server;
23
39
  loop: RuntimeMemberLoop;
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAQA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAEjF,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;AACtG,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE;AAErG,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CA2B1I"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAsC,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAEjF,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uHAAuH;IACvH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;kHAC8G;IAC9G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;AACtG,6HAA6H;AAC7H,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE;AACrG;iDACiD;AACjD,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE;AAE5F,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAI9C,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAMhE;AAcD,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC,CAmD1I"}
package/dist/serve.js CHANGED
@@ -4,22 +4,85 @@
4
4
  // keeps as the wake's receipt. The wake carries no content and no authority — the loop reads the message itself,
5
5
  // under its own wire; a stray wake costs one inbox read and finds nothing new.
6
6
  //
7
+ // WHO MAY WAKE IT (RUN-12, audit 2026-11-10, spec 445). A wake runs agent turns — an inbox read, model turns, replies
8
+ // that may go out under the standing grant — so it is not something any host that reaches the port may ask for:
9
+ // • the listener binds LOOPBACK (127.0.0.1) unless a host is named explicitly;
10
+ // • a non-loopback bind REFUSES TO START without a bearer secret (`wakeSecret` / AP_RUNTIME_WAKE_SECRET);
11
+ // • with a secret, every `/wake` must present it (`Authorization: Bearer …`, compared in constant time, never logged);
12
+ // with none, a wake is taken only from a loopback peer;
13
+ // • message text (prompt, answer, reply, who wrote) is returned only to a caller that presented the secret — a
14
+ // wake nobody authenticated gets the count of turns and nothing else.
15
+ //
7
16
  // The Worker never speaks ACP: stdio stays between this process and the agent it spawned. The Container never IS the
8
17
  // identity: the wire is the custodian's to revoke, and after that every read here is refused.
9
18
  import { createServer } from 'node:http';
19
+ import { createHash, timingSafeEqual } from 'node:crypto';
10
20
  import { RuntimeMemberLoop } from './loop.js';
21
+ export const DEFAULT_SERVE_HOST = '127.0.0.1';
22
+ const MIN_WAKE_SECRET = 16;
23
+ const MAX_WAKE_BODY = 64 * 1024;
24
+ /** Is this a loopback bind address / peer address? `localhost`, 127.0.0.0/8, ::1 and the v4-mapped forms. */
25
+ export function isLoopbackHost(host) {
26
+ if (!host)
27
+ return false;
28
+ const h = host.trim().toLowerCase().replace(/^\[|\]$/g, '');
29
+ if (h === 'localhost' || h === '::1')
30
+ return true;
31
+ const v4 = h.startsWith('::ffff:') ? h.slice(7) : h;
32
+ return /^127(\.\d{1,3}){3}$/.test(v4);
33
+ }
34
+ /** Constant-time: both sides are hashed first, so neither the length nor a prefix of the secret is timed. */
35
+ function secretMatches(presented, secret) {
36
+ const a = createHash('sha256').update(presented).digest();
37
+ const b = createHash('sha256').update(secret).digest();
38
+ return timingSafeEqual(a, b);
39
+ }
40
+ function bearerOf(req) {
41
+ const h = req.headers.authorization;
42
+ const m = typeof h === 'string' ? /^Bearer\s+(.+)$/i.exec(h.trim()) : null;
43
+ return m ? m[1] : null;
44
+ }
11
45
  export async function serveRuntimeMember(o) {
46
+ const host = o.host ?? DEFAULT_SERVE_HOST;
47
+ const secret = o.wakeSecret ?? process.env.AP_RUNTIME_WAKE_SECRET ?? '';
48
+ // Refused BEFORE the loop starts or a socket opens: nothing runs on a host that would take wakes from anyone.
49
+ if (secret && secret.length < MIN_WAKE_SECRET)
50
+ throw new Error(`the wake secret must be at least ${MIN_WAKE_SECRET} characters`);
51
+ if (!isLoopbackHost(host) && !secret) {
52
+ throw new Error(`refusing to serve wakes on ${host} without a wake secret — set AP_RUNTIME_WAKE_SECRET (the caller sends it as "Authorization: Bearer …"), or bind loopback (the default, ${DEFAULT_SERVE_HOST})`);
53
+ }
12
54
  const loop = new RuntimeMemberLoop({ ...o, woken: true });
13
55
  const log = o.log ?? ((l) => process.stderr.write(`${l}\n`));
14
56
  await loop.start();
15
57
  const server = createServer(async (req, res) => {
16
- const reply = (status, body) => { res.writeHead(status, { 'content-type': 'application/json' }); res.end(JSON.stringify(body)); };
17
- if (req.method === 'GET' && req.url === '/healthz')
18
- return reply(200, { ok: true, member: loop.rec.name, cursor: loop.cursorNow ?? null });
58
+ const reply = (status, body, headers = {}) => { res.writeHead(status, { 'content-type': 'application/json', ...headers }); res.end(JSON.stringify(body)); };
59
+ const presented = bearerOf(req);
60
+ const authenticated = secret !== '' && presented !== null && secretMatches(presented, secret);
61
+ const fromLoopback = isLoopbackHost(req.socket.remoteAddress);
62
+ if (req.method === 'GET' && req.url === '/healthz') {
63
+ // liveness is for anyone who can reach the port; which member and where its cursor stands is not
64
+ return reply(200, authenticated || (secret === '' && fromLoopback) ? { ok: true, member: loop.rec.name, cursor: loop.cursorNow ?? null } : { ok: true });
65
+ }
19
66
  if (req.method === 'POST' && req.url === '/wake') {
67
+ // THE GATE — before the body is read and before any pass runs.
68
+ if (secret !== '') {
69
+ if (!authenticated) {
70
+ req.resume();
71
+ return reply(401, { error: 'a wake must present this host\'s secret' }, { 'www-authenticate': 'Bearer' });
72
+ }
73
+ }
74
+ else if (!fromLoopback) {
75
+ req.resume();
76
+ return reply(401, { error: 'this host takes wakes from loopback only' }, { 'www-authenticate': 'Bearer' });
77
+ }
20
78
  let raw = '';
21
- for await (const c of req)
79
+ let size = 0;
80
+ for await (const c of req) {
81
+ size += c.length;
82
+ if (size > MAX_WAKE_BODY)
83
+ return reply(413, { error: 'wake body too large' });
22
84
  raw += c;
85
+ }
23
86
  let wake = {};
24
87
  try {
25
88
  wake = raw ? JSON.parse(raw) : {};
@@ -33,14 +96,25 @@ export async function serveRuntimeMember(o) {
33
96
  const turns = await loop.pollOnce(undefined, { ...(wake.messageId ? { messageId: wake.messageId } : {}) }).catch((e) => { log(` pass failed: ${e.message}`); return null; });
34
97
  if (!turns)
35
98
  return reply(502, { error: 'the pass failed — see the host log' });
99
+ // Text goes only to a caller that proved it is the one this host was configured for.
100
+ if (!authenticated) {
101
+ const count = { ok: true, member: loop.rec.name, turnCount: turns.length, redacted: true };
102
+ return reply(200, count);
103
+ }
36
104
  const out = { ok: true, member: loop.rec.name, cursor: loop.cursorNow ?? null, turns };
37
105
  return reply(200, out);
38
106
  }
39
107
  reply(404, { error: 'POST /wake or GET /healthz' });
40
108
  });
41
- await new Promise((r) => server.listen(o.port ?? 8080, o.host ?? '0.0.0.0', r));
109
+ try {
110
+ await new Promise((resolve, reject) => { server.once('error', reject); server.listen(o.port ?? 8080, host, () => { server.off('error', reject); resolve(); }); });
111
+ }
112
+ catch (e) {
113
+ await loop.stop();
114
+ throw e;
115
+ }
42
116
  const addr = server.address();
43
- log(`${loop.rec.name} serving wakes on ${typeof addr === 'object' && addr ? `${addr.address}:${addr.port}` : String(addr)}`);
117
+ log(`${loop.rec.name} serving wakes on ${typeof addr === 'object' && addr ? `${addr.address}:${addr.port}` : String(addr)} · ${secret ? 'a wake must present the secret' : 'loopback callers only, no text returned'}`);
44
118
  const timer = o.fallbackPollMs ? setInterval(() => { void loop.pollOnce().catch(() => undefined); }, o.fallbackPollMs) : null;
45
119
  return {
46
120
  server, loop,
package/dist/serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../src/serve.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticprimitives/runtime-member",
3
- "version": "0.0.0-alpha.27",
3
+ "version": "0.0.0-alpha.29",
4
4
  "description": "ADMISSION of an existing general-purpose runtime as a workspace MEMBER, without a rewrite (spec 400 W1 — admission, not 'add coding'): `ap runtime join` (the .svc member's key and session wire, its steward link and playbook), `ap runtime mcp` (the workspace as MCP tools — every call one wire-signed A2A request as the runtime itself), `ap runtime run` (the loop: poll the member's own inbox, prompt the ACP agent, answer where it came from; every write parks for the steward's mandate).",
5
5
  "homepage": "https://agenticprimitives.dev",
6
6
  "bugs": {
@@ -44,12 +44,12 @@
44
44
  "bin"
45
45
  ],
46
46
  "dependencies": {
47
- "@agenticprimitives/a2a": "0.0.0-alpha.48",
48
- "@agenticprimitives/acp": "0.0.0-alpha.23",
49
- "@agenticprimitives/contracts": "1.0.0-alpha.46",
50
- "@agenticprimitives/delegation": "1.0.0-alpha.46",
51
- "@agenticprimitives/mcp-protocol": "0.0.0-alpha.4",
52
- "@agenticprimitives/types": "1.0.0-alpha.46"
47
+ "@agenticprimitives/a2a": "0.0.0-alpha.50",
48
+ "@agenticprimitives/acp": "0.0.0-alpha.25",
49
+ "@agenticprimitives/contracts": "1.0.0-alpha.48",
50
+ "@agenticprimitives/delegation": "1.0.0-alpha.48",
51
+ "@agenticprimitives/mcp-protocol": "0.0.0-alpha.5",
52
+ "@agenticprimitives/types": "1.0.0-alpha.48"
53
53
  },
54
54
  "peerDependencies": {
55
55
  "viem": "^2.52.2"