skillscript-runtime 0.9.5 → 0.9.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAW,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMxD,qBAAa,2BAA4B,SAAQ,KAAK;aACxB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;aAAkB,KAAK,EAAE,MAAM;gBAA3D,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAAkB,KAAK,EAAE,MAAM;CAOxF;AAED,qBAAa,gCAAiC,SAAQ,KAAK;aAC7B,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAI9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,8FAA8F;IAC9F,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,4FAA4F;IAC5F,GAAG,EAAE,cAAc,CAAC;IACpB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC;;;;OAIG;IACH,uBAAuB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;CACjE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAsD7B;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAkC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAU7B"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAW,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMxD,qBAAa,2BAA4B,SAAQ,KAAK;aACxB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC;aAAkB,KAAK,EAAE,MAAM;gBAA3D,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAAkB,KAAK,EAAE,MAAM;CAOxF;AAED,qBAAa,gCAAiC,SAAQ,KAAK;aAC7B,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAI9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,8FAA8F;IAC9F,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,4FAA4F;IAC5F,GAAG,EAAE,cAAc,CAAC;IACpB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC;;;;OAIG;IACH,uBAAuB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;CACjE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAgE7B;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAkC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAU7B"}
@@ -75,10 +75,20 @@ export async function executeSkillByName(skillName, inputs, opts) {
75
75
  const compiled = await compile(loaded.source, { inputs, skillStore });
76
76
  // Propagate the parent context with the depth incremented and the
77
77
  // child chain extended. Mechanical mode carries through unchanged.
78
+ //
79
+ // v0.9.6 audit Q8 — entry_skill_name plumbing per Perry's plumbing-risk
80
+ // callout (`1bc9d7a2` multi-layer-promise lesson). When parent A composes
81
+ // child B, B's DeliveryMeta.origin.entry_skill_name must show A. Rule:
82
+ // - If parent already has entrySkillName set (parent is itself a composed
83
+ // helper), preserve it — deeper-than-2-level chains intentionally lose
84
+ // the middle per the audit footnote
85
+ // - Otherwise, parent IS the entry; child inherits parent's
86
+ // `_currentSkillName` as its entrySkillName
78
87
  const childCtx = {
79
88
  ...ctx,
80
89
  recursionDepth: depth,
81
90
  maxRecursionDepth: limit,
91
+ entrySkillName: ctx.entrySkillName ?? ctx._currentSkillName,
82
92
  };
83
93
  const result = await execute(compiled.parsed, compiled.resolvedVariables, compiled.targetOrder, childCtx);
84
94
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"composition.js","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.js","sourceRoot":"","sources":["../src/composition.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,28 @@
1
- import type { AgentConnector, AgentDescriptor, DeliveryPayload, DeliveryReceipt, WakeOpts, WakeReceipt, AgentStatus } from "./agent.js";
2
- import type { StaticCapabilities, ManifestInfo } from "./types.js";
1
+ import type { AgentConnector, AgentDescriptor, AgentStatus, DeliveryPayload, DeliveryReceipt, RequestResponseOpts, Response, WakeOpts, WakeReceipt } from "./agent.js";
2
+ import type { StaticCapabilities } from "./types.js";
3
3
  /**
4
4
  * Default AgentConnector — `list_agents` returns []; `deliver` and `wake`
5
5
  * resolve cleanly after logging a one-line warning so adopters notice the
6
6
  * dispatch happened without a wired substrate. Lets the runtime start
7
- * with no AgentConnector configured: `# Output: agent:` decls
8
- * still complete (with a warning instead of a thrown error) so authors
9
- * don't have to wire a substrate before running mechanical previews.
7
+ * with no AgentConnector configured: `# Output: agent:` decls still
8
+ * complete (with a warning instead of a thrown error) so authors don't
9
+ * have to wire a substrate before running mechanical previews.
10
10
  *
11
11
  * Use this in tests + dev. For production, wire a real impl
12
- * (FileAgentConnector, WebhookAgentConnector, TmuxAgentConnector, etc.)
12
+ * (HttpWebhookAgentConnector, TmuxAgentConnector, FileAgentConnector, etc.)
13
13
  * via Registry.registerAgentConnector("primary", new MyImpl(...)).
14
+ *
15
+ * Reference pattern for adopter-agent authors (per memory `9fbeb1a1`): this
16
+ * file is the canonical worked example. Adopter agents reading the contract
17
+ * should look here for "how do I shape my impl."
14
18
  */
15
19
  export declare class NoOpAgentConnector implements AgentConnector {
16
20
  static staticCapabilities(): StaticCapabilities;
17
21
  list_agents(): Promise<AgentDescriptor[]>;
18
22
  deliver(agent_id: string, payload: DeliveryPayload): Promise<DeliveryReceipt>;
19
23
  wake(agent_id: string, _opts?: WakeOpts): Promise<WakeReceipt>;
24
+ health_check(): Promise<boolean>;
25
+ request_response(agent_id: string, _payload: DeliveryPayload, _opts: RequestResponseOpts): Promise<Response>;
20
26
  agent_status(_agent_id: string): Promise<AgentStatus>;
21
- manifest(): Promise<ManifestInfo>;
22
27
  }
23
28
  //# sourceMappingURL=agent-noop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-noop.d.ts","sourceRoot":"","sources":["../../src/connectors/agent-noop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,MAAM,CAAC,kBAAkB,IAAI,kBAAkB;IASzC,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIzC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAO7E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IAO9D,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrD,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;CAMxC"}
1
+ {"version":3,"file":"agent-noop.d.ts","sourceRoot":"","sources":["../../src/connectors/agent-noop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,MAAM,CAAC,kBAAkB,IAAI,kBAAkB;IASzC,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIzC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAO7E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC;IAO9D,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAQhC,gBAAgB,CACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,QAAQ,CAAC;IAad,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAO5D"}
@@ -2,13 +2,17 @@
2
2
  * Default AgentConnector — `list_agents` returns []; `deliver` and `wake`
3
3
  * resolve cleanly after logging a one-line warning so adopters notice the
4
4
  * dispatch happened without a wired substrate. Lets the runtime start
5
- * with no AgentConnector configured: `# Output: agent:` decls
6
- * still complete (with a warning instead of a thrown error) so authors
7
- * don't have to wire a substrate before running mechanical previews.
5
+ * with no AgentConnector configured: `# Output: agent:` decls still
6
+ * complete (with a warning instead of a thrown error) so authors don't
7
+ * have to wire a substrate before running mechanical previews.
8
8
  *
9
9
  * Use this in tests + dev. For production, wire a real impl
10
- * (FileAgentConnector, WebhookAgentConnector, TmuxAgentConnector, etc.)
10
+ * (HttpWebhookAgentConnector, TmuxAgentConnector, FileAgentConnector, etc.)
11
11
  * via Registry.registerAgentConnector("primary", new MyImpl(...)).
12
+ *
13
+ * Reference pattern for adopter-agent authors (per memory `9fbeb1a1`): this
14
+ * file is the canonical worked example. Adopter agents reading the contract
15
+ * should look here for "how do I shape my impl."
12
16
  */
13
17
  export class NoOpAgentConnector {
14
18
  static staticCapabilities() {
@@ -16,28 +20,43 @@ export class NoOpAgentConnector {
16
20
  connector_type: "agent_connector",
17
21
  implementation: "NoOpAgentConnector",
18
22
  contract_version: "1.0.0",
19
- features: { deliver: true, wake: true, list_agents: true, agent_status: true },
23
+ features: { deliver: true, wake: true, list_agents: true, agent_status: true, health_check: true },
20
24
  };
21
25
  }
22
26
  async list_agents() {
23
27
  return [];
24
28
  }
25
29
  async deliver(agent_id, payload) {
26
- process.stderr.write(`[NoOpAgentConnector] deliver(${agent_id}, kind=${payload.kind}) — no substrate wired; payload discarded.\n`);
30
+ process.stderr.write(`[NoOpAgentConnector] deliver(${agent_id}, kind=${payload.kind}, dispatch_id=${payload.meta.dispatch_id}) — no substrate wired; payload discarded.\n`);
27
31
  return { delivered_at: Date.now() };
28
32
  }
29
33
  async wake(agent_id, _opts) {
30
34
  process.stderr.write(`[NoOpAgentConnector] wake(${agent_id}) — no substrate wired; wake skipped.\n`);
31
35
  return { woken_at: Date.now() };
32
36
  }
37
+ async health_check() {
38
+ // NoOp is always "healthy" — there's no real substrate to fail. Adopters
39
+ // who want the runtime to refuse-to-start when no real connector is wired
40
+ // should wire a real impl; the bootstrap-throws contract (Q6) only fires
41
+ // when an adopter's connector returns false, not on the NoOp default.
42
+ return true;
43
+ }
44
+ async request_response(agent_id, _payload, _opts) {
45
+ // Locked contract shape per Q1; runtime impl deferred to v0.10 (when
46
+ // exchange() op ships). Adopters' agents implementing real AgentConnectors
47
+ // before v0.10 should throw NotImplementedError following this pattern
48
+ // until their substrate has request-response semantics.
49
+ throw new Error(`[NoOpAgentConnector] request_response(${agent_id}) — not implemented. ` +
50
+ `Synchronous request-response shipping in v0.10 with the exchange() op. ` +
51
+ `Adopters implementing this method against their substrate today should ` +
52
+ `throw NotImplementedError until v0.10 runtime support lands.`);
53
+ }
33
54
  async agent_status(_agent_id) {
55
+ // Signal-only metadata; NoOp tracks no per-agent state, so always
56
+ // "unknown." Runtime does NOT auto-gate delivery on this value — adopters
57
+ // wanting to skip delivery for offline agents set delivery_skipped on
58
+ // DeliveryReceipt instead.
34
59
  return "unknown";
35
60
  }
36
- async manifest() {
37
- return {
38
- capabilities_version: "1.0.0",
39
- manifest: { reachable_agents: [] },
40
- };
41
- }
42
61
  }
43
62
  //# sourceMappingURL=agent-noop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-noop.js","sourceRoot":"","sources":["../../src/connectors/agent-noop.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,kBAAkB;IAC7B,MAAM,CAAC,kBAAkB;QACvB,OAAO;YACL,cAAc,EAAE,iBAAiB;YACjC,cAAc,EAAE,oBAAoB;YACpC,gBAAgB,EAAE,OAAO;YACzB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;SAC/E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAwB;QACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gCAAgC,QAAQ,UAAU,OAAO,CAAC,IAAI,8CAA8C,CAC7G,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,KAAgB;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,QAAQ,yCAAyC,CAC/E,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO;YACL,oBAAoB,EAAE,OAAO;YAC7B,QAAQ,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;SACnC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"agent-noop.js","sourceRoot":"","sources":["../../src/connectors/agent-noop.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,kBAAkB;IAC7B,MAAM,CAAC,kBAAkB;QACvB,OAAO;YACL,cAAc,EAAE,iBAAiB;YACjC,cAAc,EAAE,oBAAoB;YACpC,gBAAgB,EAAE,OAAO;YACzB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;SACnG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAwB;QACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gCAAgC,QAAQ,UAAU,OAAO,CAAC,IAAI,iBAAiB,OAAO,CAAC,IAAI,CAAC,WAAW,8CAA8C,CACtJ,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,KAAgB;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,QAAQ,yCAAyC,CAC/E,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,sEAAsE;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,QAAyB,EACzB,KAA0B;QAE1B,qEAAqE;QACrE,2EAA2E;QAC3E,uEAAuE;QACvE,wDAAwD;QACxD,MAAM,IAAI,KAAK,CACb,yCAAyC,QAAQ,uBAAuB;YACxE,yEAAyE;YACzE,yEAAyE;YACzE,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,kEAAkE;QAClE,0EAA0E;QAC1E,sEAAsE;QACtE,2BAA2B;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -1,48 +1,140 @@
1
- import type { StaticCapabilities, ManifestInfo } from "./types.js";
1
+ import type { StaticCapabilities } from "./types.js";
2
2
  /**
3
- * Provenance record threaded onto every `DeliveryPayload` so the receiving
4
- * agent can disambiguate "what fired this delivery" was it cron-scheduled?
5
- * a session boundary? a user-triggered manual run? v0.2.6 addition per the
6
- * AgentConnector polish in Perry's thread `f75477a4`.
3
+ * Runtime-filled envelope metadata. Adopters CONSUME this (substrate-side
4
+ * serialization); they NEVER construct it. The runtime populates every
5
+ * required field at the `deliver()` call site.
6
+ *
7
+ * Locked v1.0 shape per v0.9.6 audit Q8. Optional fields are intentionally
8
+ * sparse; additive growth is non-breaking (TypeScript discriminated union
9
+ * semantics), so future fields land additively per real adopter feedback.
7
10
  */
8
- export interface TriggerProvenance {
9
- source: "cron" | "session" | "event" | "agent-event" | "file-watch" | "sensor" | "manual";
10
- /** Source-specific value: cron expression, session phase, event name, etc. */
11
- name: string;
12
- /** Unix-ms timestamp the trigger fired. */
13
- fired_at_ms: number;
11
+ export interface DeliveryMeta {
12
+ /**
13
+ * UUID per `notify()` op invocation. Same dispatch_id across multi-
14
+ * connector broadcast (one `notify()` op, N wired connectors for the
15
+ * same agent_id all N `deliver()` calls share this id). Sequential
16
+ * `notify()` calls in the same skill produce distinct dispatch_ids per
17
+ * call. Author's call-site boundary is what defines the dispatch event.
18
+ *
19
+ * Agent-side idempotency primitive — receivers dedupe substrate retries
20
+ * by dispatch_id.
21
+ */
22
+ dispatch_id: string;
23
+ /**
24
+ * Runtime emit-clock timestamp (unix ms) — when `notify()` / `# Output:`
25
+ * hook fired. Distinct from receipt-side `delivered_at` (substrate
26
+ * confirmation). Staleness checks need both surfaces; delta = effective
27
+ * queue lag.
28
+ */
29
+ sent_at: number;
30
+ /**
31
+ * Origin tracking. Runtime auto-fills from execution context. Receiver
32
+ * uses for attribution + routing decisions.
33
+ */
34
+ origin: {
35
+ /** Immediate emitter — the skill that fired this delivery. */
36
+ skill_name: string;
37
+ /**
38
+ * Root entry-point skill when distinct from `skill_name`. Set when the
39
+ * emit happens inside a composed helper (e.g., skill A inlines B via
40
+ * `&`, B emits → entry_skill_name=A). Intermediate composition steps
41
+ * are NOT captured here — those live in runtime trace logs. Surface
42
+ * boundaries are decisions, not accidents.
43
+ */
44
+ entry_skill_name?: string;
45
+ /**
46
+ * Triggering pathway that fired the originating skill. From the
47
+ * RECEIVER's lens — not the kind of OUTPUT (which is captured by
48
+ * `kind: "augment" | "template"`).
49
+ */
50
+ trigger_kind: "cron" | "session" | "webhook" | "agent" | "cli" | "dashboard" | "inline";
51
+ /**
52
+ * Root-trigger agent IF identifiable, else undefined. Composition
53
+ * doesn't reset the calling-agent context — if X triggered the chain,
54
+ * X is the caller regardless of how deep the call stack is when the
55
+ * emit happens. Cron / session / cli / dashboard / inline triggers
56
+ * have no calling agent.
57
+ */
58
+ caller_agent_id?: string;
59
+ };
60
+ /**
61
+ * Adopter-defined routing vocabulary — opaque to skillscript. Set via
62
+ * `notify(event_type=...)` kwarg OR `# Event-type:` skill frontmatter
63
+ * (kwarg takes precedence; frontmatter is the fallback). Receiver uses
64
+ * for handler routing without parsing content.
65
+ *
66
+ * Lifecycle-hook deliveries (`# Output: agent:` / `# Output: template:`)
67
+ * carry frontmatter value if set. `notify()` deliveries can override via
68
+ * the kwarg.
69
+ */
70
+ event_type?: string;
71
+ /**
72
+ * Reply-correlation primitive for the future v0.10 `exchange()` op /
73
+ * `request_response()` substrate path. When sender sets correlation_id,
74
+ * receiver echoes it on reply. Kind-independent — both augment and
75
+ * template kinds may carry correlation_id; receiver may reply regardless
76
+ * of kind.
77
+ *
78
+ * Settable via `notify(correlation_id=...)` kwarg ONLY (NOT via `#
79
+ * Output:` lifecycle hook).
80
+ */
81
+ correlation_id?: string;
14
82
  }
15
83
  /**
16
84
  * Discriminated payload union for `deliver`. The runtime picks `kind`
17
85
  * based on the source declaration:
18
- * - `# Output: agent: <name>` → `{ kind: "augment", ... }`
19
- * - `# Output: template: <agent>` → `{ kind: "template", ... }`
86
+ * - `# Output: agent: <name>` / `notify(agent=...)` → `{ kind: "augment", ... }`
87
+ * - `# Output: template: <name>` → `{ kind: "template", ... }`
20
88
  *
21
- * Common-shaped provenance + augmenting-context fields apply to both
22
- * variants (v0.2.6 addition). `source_skill` was template-only in T7.1;
23
- * now lives on both.
89
+ * Closed set for v1.0 per audit Q4. Additive growth (e.g., `kind: "binary"`)
90
+ * is non-breaking via discriminated union semantics adopters whose
91
+ * substrate can't handle a future kind throw at `deliver()` time.
24
92
  */
25
93
  export type DeliveryPayload = {
26
94
  kind: "augment";
27
95
  content: string;
28
- format?: "text" | "markdown";
29
- source_skill?: string;
30
- triggered_by?: TriggerProvenance;
31
- delivery_context?: string;
32
- templates?: string[];
96
+ meta: DeliveryMeta;
33
97
  } | {
34
98
  kind: "template";
35
99
  prompt: string;
36
- source_skill?: string;
37
- triggered_by?: TriggerProvenance;
38
- delivery_context?: string;
39
- templates?: string[];
100
+ meta: DeliveryMeta;
40
101
  };
41
102
  export interface DeliveryReceipt {
42
103
  /** Unix-ms timestamp the substrate accepted the delivery. */
43
104
  delivered_at: number;
44
105
  /** Substrate-specific id for callers to correlate later. */
45
106
  delivery_id?: string;
107
+ /**
108
+ * Adopter signals "accepted but not pushed to the agent" — agent offline,
109
+ * rate-limit drop, tmux session exists but agent hasn't read, etc.
110
+ * Distinct from outright dispatch failure (which throws). Runtime echoes
111
+ * this on the receipt record so dashboards + observability can surface it.
112
+ *
113
+ * v0.9.6 promotion: was previously runtime-set on `AgentDeliveryReceiptRecord`
114
+ * (v0.9.2 P1.1); now contract-set so adopters can signal explicitly.
115
+ * Runtime preserves NoOp-fallback inference when adopter doesn't set it.
116
+ */
117
+ delivery_skipped?: boolean;
118
+ }
119
+ /**
120
+ * Synchronous request-response envelope — locked v1.0 shape per Q1.
121
+ * Impl deferred to v0.10 (when `exchange()` op ships). Adopters' agents
122
+ * implementing this method will see `NotImplementedError` from
123
+ * `NoOpAgentConnector` until v0.10 runtime support lands.
124
+ */
125
+ export interface Response {
126
+ /** Echoes the original `meta.correlation_id` of the request. */
127
+ correlation_id: string;
128
+ /** The reply content. */
129
+ content: string;
130
+ /** Unix-ms timestamp the agent emitted the reply. */
131
+ sent_at: number;
132
+ /** The replying agent_id. */
133
+ agent_id: string;
134
+ }
135
+ export interface RequestResponseOpts {
136
+ /** Max wait in ms before throwing TimeoutError. */
137
+ timeout_ms: number;
46
138
  }
47
139
  export interface WakeOpts {
48
140
  /** Optional preamble to prepend to the wake message. */
@@ -59,17 +151,47 @@ export interface AgentDescriptor {
59
151
  agent_name?: string;
60
152
  capabilities?: ReadonlyArray<"deliver" | "wake" | "augment" | "template">;
61
153
  }
154
+ /**
155
+ * Signal-only metadata about an agent's reachability/availability. Adopter
156
+ * implements iff they have per-agent tracking (e.g., a webhook adopter
157
+ * tracking last-ACK timestamp). Runtime does NOT auto-gate delivery on
158
+ * `agent_status` values — pure metadata. If you want runtime to skip
159
+ * delivery for offline agents, set `delivery_skipped: true` on the
160
+ * `DeliveryReceipt` (Q7) instead.
161
+ *
162
+ * Distinct from `health_check()` which is the connector substrate's
163
+ * health, not per-agent.
164
+ */
62
165
  export type AgentStatus = "active" | "idle" | "asleep" | "unknown";
63
166
  /**
64
- * The contract. Two primary verbs (deliver + wake), one mandatory
65
- * discovery method (list_agents), one optional status probe.
167
+ * The contract. v0.9.6 audit locked Q1-Q12.
168
+ *
169
+ * Required methods: `list_agents`, `deliver`, `wake`, `health_check`,
170
+ * `request_response`. Optional: `agent_status`.
171
+ *
172
+ * `health_check()` is invoked at `Registry.registerAgentConnector()` —
173
+ * bootstrap-throws on false. Adopters wanting soft dev-mode behavior wrap
174
+ * their AgentConnector with a retry / always-healthy shim; the contract
175
+ * stays clean.
66
176
  */
67
177
  export interface AgentConnector {
68
178
  list_agents(): Promise<AgentDescriptor[]>;
69
179
  deliver(agent_id: string, payload: DeliveryPayload): Promise<DeliveryReceipt>;
70
180
  wake(agent_id: string, opts?: WakeOpts): Promise<WakeReceipt>;
181
+ /**
182
+ * Bootstrap-time health probe. Adopter returns `true` if the substrate
183
+ * is reachable + configured correctly. Registry throws on `false` so
184
+ * wiring failures surface at boot, not at first skill-fire.
185
+ */
186
+ health_check(): Promise<boolean>;
187
+ /**
188
+ * Synchronous send-and-await-reply. Required signature; impl deferred
189
+ * to v0.10 (when the `exchange()` op ships). Adopters' agents writing
190
+ * AgentConnector impls before v0.10 should throw `NotImplementedError`
191
+ * here — see `NoOpAgentConnector` for the canonical pattern.
192
+ */
193
+ request_response(agent_id: string, payload: DeliveryPayload, opts: RequestResponseOpts): Promise<Response>;
71
194
  agent_status?(agent_id: string): Promise<AgentStatus>;
72
- manifest(): Promise<ManifestInfo>;
73
195
  }
74
196
  export interface AgentConnectorClass {
75
197
  new (...args: never[]): AgentConnector;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/connectors/agent.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1F,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEN,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,aAAa,CAAC,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;CAC3E;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9D,YAAY,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC;IACvC,kBAAkB,IAAI,kBAAkB,CAAC;CAC1C"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/connectors/agent.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
- // AgentConnector — the fifth connector contract, added in T7.1 for v0.2.0.
2
- //
3
- // Augmenting and Template skill kinds both deliver to a *frontier agent*.
4
- // The runtime needs a substrate-neutral way to (a) discover which agents
5
- // are reachable, (b) deliver content into an agent's context, and (c)
6
- // optionally wake a sleeping agent. AgentConnector covers all three.
1
+ // AgentConnector — the substrate-neutral contract for delivering payloads
2
+ // to a frontier agent. Locked at v1.0 per the v0.9.6 audit (memory b722bbf4).
7
3
  //
8
4
  // Substrate examples — the contract is neutral; adopters wire impls:
9
5
  //
@@ -12,10 +8,17 @@
12
8
  // - file-watch: write to `<path>/augment-<id>.txt`
13
9
  // - Slack thread: post to monitored thread
14
10
  // - IPC pipe: write to named pipe
15
- // - AMP memory: write `agent:` memory with recipients (T8)
16
11
  //
17
- // The bundled default is `NoOpAgentConnector` list_agents returns [],
18
- // deliver/wake resolve with a warning log. Lets the runtime start cleanly
19
- // when no agent substrate is wired.
12
+ // Adopter-side impl note: this contract is typically implemented by the
13
+ // adopter's AGENT (not the human programmer) see memory `9fbeb1a1`. The
14
+ // human's role is closer to "supervise the agent." Keep surface MINIMAL +
15
+ // STABLE so adopter forks merge cleanly across upstream releases.
16
+ //
17
+ // The bundled default is `NoOpAgentConnector` — `list_agents` returns [],
18
+ // `deliver` / `wake` resolve cleanly after a stderr warning. Lets runtimes
19
+ // start with no AgentConnector wired; `# Output: agent:` decls still
20
+ // complete (with a warning instead of a thrown error). Use the bundled
21
+ // `HttpWebhookAgentConnector` (separate impl session, post-v0.9.6) as the
22
+ // canonical worked-example for adopter impls.
20
23
  export {};
21
24
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/connectors/agent.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,sEAAsE;AACtE,qEAAqE;AACrE,EAAE;AACF,qEAAqE;AACrE,EAAE;AACF,6DAA6D;AAC7D,2DAA2D;AAC3D,uDAAuD;AACvD,6CAA6C;AAC7C,wCAAwC;AACxC,+DAA+D;AAC/D,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,oCAAoC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/connectors/agent.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,EAAE;AACF,qEAAqE;AACrE,EAAE;AACF,6DAA6D;AAC7D,2DAA2D;AAC3D,uDAAuD;AACvD,6CAA6C;AAC7C,wCAAwC;AACxC,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,0EAA0E;AAC1E,kEAAkE;AAClE,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,qEAAqE;AACrE,uEAAuE;AACvE,0EAA0E;AAC1E,8CAA8C"}
@@ -25,7 +25,14 @@ export declare class Registry {
25
25
  * dispatch shapes against the connector's declared tool set.
26
26
  */
27
27
  getMcpConnectorCtor(name: string): McpConnectorClass | undefined;
28
- registerAgentConnector(name: string, instance: AgentConnector): void;
28
+ /**
29
+ * Register an AgentConnector instance. Invokes `instance.health_check()`
30
+ * and throws on `false` — wiring failures surface at boot, not at first
31
+ * skill-fire (v0.9.6 audit Q6). Adopters wanting soft dev-mode behavior
32
+ * wrap their AgentConnector with a retry / always-healthy shim; the
33
+ * contract stays clean.
34
+ */
35
+ registerAgentConnector(name: string, instance: AgentConnector): Promise<void>;
29
36
  getSkillStore(name?: string): SkillStore;
30
37
  getMemoryStore(name?: string): MemoryStore;
31
38
  getLocalModel(name?: string): LocalModel;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/connectors/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/connectors/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAyCtE,qBAAa,QAAQ;IACnB,OAAO,CAAC,WAAW,CAAyD;IAC5E,OAAO,CAAC,YAAY,CAA2D;IAC/E,OAAO,CAAC,WAAW,CAAyD;IAC5E,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,eAAe,CAAiE;IAIxF,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI;IAI5D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI9D,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI;IAI5D,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI;IAQzF;;;;OAIG;IACH,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAI/D,8FAA8F;IAC9F,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMtD;;;;;OAKG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIhE;;;;;;OAMG;IACG,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnF,aAAa,CAAC,IAAI,SAAY,GAAG,UAAU;IAG3C,cAAc,CAAC,IAAI,SAAY,GAAG,WAAW;IAG7C,aAAa,CAAC,IAAI,SAAY,GAAG,UAAU;IAG3C,eAAe,CAAC,IAAI,SAAY,GAAG,YAAY;IAG/C;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,SAAY,GAAG,cAAc;IAQnD,kBAAkB,CAAC,IAAI,SAAY,GAAG,eAAe;IAGrD,mBAAmB,CAAC,IAAI,SAAY,GAAG,gBAAgB;IAGvD,kBAAkB,CAAC,IAAI,SAAY,GAAG,eAAe;IAGrD,oBAAoB,CAAC,IAAI,SAAY,GAAG,iBAAiB;IAGzD,sBAAsB,CAAC,IAAI,SAAY,GAAG,mBAAmB;IAQ7D,qBAAqB,IAAI,eAAe,EAAE;IAC1C,sBAAsB,IAAI,gBAAgB,EAAE;IAC5C,qBAAqB,IAAI,eAAe,EAAE;IAC1C,uBAAuB,IAAI,iBAAiB,EAAE;IAC9C,yBAAyB,IAAI,mBAAmB,EAAE;IAOlD,eAAe,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,eAAe,CAAA;KAAE,CAAC;IACvF,gBAAgB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAC1F,eAAe,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,eAAe,CAAA;KAAE,CAAC;IACvF,iBAAiB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAYtH,mBAAmB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAInG;;;;;OAKG;IACH,wBAAwB,IAAI,kBAAkB,EAAE;IAYhD,aAAa,CAAC,IAAI,SAAY,GAAG,OAAO;IACxC,cAAc,CAAC,IAAI,SAAY,GAAG,OAAO;IACzC,aAAa,CAAC,IAAI,SAAY,GAAG,OAAO;IACxC,eAAe,CAAC,IAAI,SAAY,GAAG,OAAO;IAC1C,iBAAiB,CAAC,IAAI,SAAY,GAAG,OAAO;CAC7C"}
@@ -46,7 +46,20 @@ export class Registry {
46
46
  getMcpConnectorCtor(name) {
47
47
  return this.mcpConnectors.get(name)?.ctor;
48
48
  }
49
- registerAgentConnector(name, instance) {
49
+ /**
50
+ * Register an AgentConnector instance. Invokes `instance.health_check()`
51
+ * and throws on `false` — wiring failures surface at boot, not at first
52
+ * skill-fire (v0.9.6 audit Q6). Adopters wanting soft dev-mode behavior
53
+ * wrap their AgentConnector with a retry / always-healthy shim; the
54
+ * contract stays clean.
55
+ */
56
+ async registerAgentConnector(name, instance) {
57
+ const healthy = await instance.health_check();
58
+ if (!healthy) {
59
+ throw new Error(`AgentConnector '${name}' (${ctorOf(instance).name ?? "<unknown class>"}) health_check() returned false at registration. ` +
60
+ `Substrate is unreachable or misconfigured; runtime refuses to start with an unhealthy AgentConnector. ` +
61
+ `Fix the substrate or wrap your connector with a retry/always-healthy shim for dev mode.`);
62
+ }
50
63
  this.agentConnectors.set(name, { instance, ctor: ctorOf(instance) });
51
64
  }
52
65
  // ─── Get instance (runtime dispatch) ────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/connectors/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/connectors/registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"help-content.d.ts","sourceRoot":"","sources":["../src/help-content.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAuyBzD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB"}
1
+ {"version":3,"file":"help-content.d.ts","sourceRoot":"","sources":["../src/help-content.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AA0yBzD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,QAAQ,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB"}
@@ -209,6 +209,8 @@ mid-execution to interrupt or page an agent before the skill completes.
209
209
  - \`message\` — alert body (optional; defaults to accumulated emissions so far)
210
210
  - \`connectors\` — JSON array restricting which wired AgentConnector(s) receive
211
211
  the dispatch (optional; defaults to all that claim the target agent)
212
+ - \`event_type\` — adopter-defined routing label (optional; flows to \`DeliveryMeta.event_type\`; overrides \`# Event-type:\` frontmatter)
213
+ - \`correlation_id\` — reply-correlation id (optional; flows to \`DeliveryMeta.correlation_id\`; required for future \`exchange()\` / \`request_response()\` paths)
212
214
 
213
215
  Returns ACK \`{agent, dispatched: [{connector, ok, error?}]}\` — fire-and-forget
214
216
  callers ignore the binding; check-delivery callers inspect ACK.
@@ -216,6 +218,7 @@ callers ignore the binding; check-delivery callers inspect ACK.
216
218
  \`\`\`
217
219
  notify(agent="oncall", message="threshold breached at \${COUNT}")
218
220
  notify(agent="reviewer", connectors=["slack"]) -> A
221
+ notify(agent="ops", message="911", event_type="ticket-911", correlation_id="\${INCIDENT_ID}")
219
222
  \`\`\`
220
223
 
221
224
  ### \`ask(prompt="...") -> R\` — prompt the user
@@ -402,10 +405,10 @@ Skill files open with \`# Key: value\` headers. Order isn't significant.
402
405
 
403
406
  ## Augmenting / Template only
404
407
 
405
- - \`# Delivery-context: <prose>\` — routed to the receiving agent alongside the augment payload. v0.2.6.
406
- - \`# Templates: <skill_name>, <skill_name>\` — comma-separated Template-skill names the receiving agent may fetch as follow-on actions. v0.2.6.
408
+ - \`# Event-type: <string>\` — adopter-defined routing vocabulary; flows to \`DeliveryMeta.event_type\` on lifecycle-hook deliveries as the frontmatter fallback. \`notify(event_type=...)\` kwarg takes precedence per-emit. Renamed from \`# Delivery-context:\` in v0.9.6 for vocab consistency.
409
+ - \`# Templates: <skill_name>, <skill_name>\` — comma-separated Template-skill names referenced by this skill; validated for existence by \`unknown-template-reference\` lint. As of v0.9.6 no longer flows through DeliveryPayload (per audit Q10).
407
410
 
408
- (Both fire \`unused-augmenting-header\` lint warning if set on a Headless skill — one with no \`agent:\` or \`template:\` output declaration.)
411
+ (\`# Event-type:\` fires \`unused-augmenting-header\` lint warning if set on a Headless skill — one with no \`agent:\` or \`template:\` output declaration.)
409
412
 
410
413
  ## Capabilities + retrieval
411
414
 
@@ -435,7 +438,7 @@ The runtime injects these refs — don't declare them in \`# Vars:\` / \`# Requi
435
438
  | \`$(NOW)\` | runtime clock | ISO-8601 timestamp at op-dispatch time |
436
439
  | \`$(USER)\` | invocation context | Identity passed via \`agentId\` / CLI user |
437
440
  | \`$(SESSION_CONTEXT)\` | runtime session | Free-form session snapshot for cross-skill carry |
438
- | \`$(TRIGGER_TYPE)\` | scheduler | \`cron\` / \`session\` / \`manual\` / \`agent-event\` |
441
+ | \`$(TRIGGER_TYPE)\` | scheduler | \`cron\` / \`session\` / \`webhook\` / \`agent\` / \`cli\` / \`dashboard\` / \`inline\` (v0.9.6 enum lock) |
439
442
  | \`$(TRIGGER_PAYLOAD)\` | scheduler | JSON-serializable payload attached to the firing trigger |
440
443
  | \`$(ERROR_CONTEXT)\` | runtime error handler | Inside \`else:\` and \`# OnError:\` only; \`.kind\` / \`.message\` / \`.target\` accessible |
441
444
 
@@ -516,7 +519,7 @@ Demonstrates: \`# Triggers:\` cron, \`# Autonomous: true\` for unattended skills
516
519
  # Description: Classify an incoming ticket by urgency and route to oncall when severe
517
520
  # Status: Approved
518
521
  # Vars: TICKET_BODY
519
- # Delivery-context: Urgent ticket triage — please assess + assign owner.
522
+ # Event-type: ticket-triage-urgent
520
523
  # Templates: ticket-assignment-procedure
521
524
  # Output: agent: oncall
522
525
 
@@ -535,7 +538,7 @@ route: classify
535
538
  default: route
536
539
  \`\`\`
537
540
 
538
- Demonstrates: \`$ llm\` MCP dispatch (substrate-portable — adopter wires their LLM substrate under the \`llm\` connector name), \`|trim\` filter on LLM output, ref-vs-literal comparison, agent delivery via \`agent:\` lifecycle hook, augmenting headers (\`# Delivery-context:\` + \`# Templates:\`).
541
+ Demonstrates: \`$ llm\` MCP dispatch (substrate-portable — adopter wires their LLM substrate under the \`llm\` connector name), \`|trim\` filter on LLM output, ref-vs-literal comparison, agent delivery via \`agent:\` lifecycle hook, augmenting headers (\`# Event-type:\` + \`# Templates:\`).
539
542
 
540
543
  ## 4. Composition — orchestrator invoking child skills
541
544
 
@@ -794,7 +797,7 @@ Three tiers per ERD §3:
794
797
  - \`model-contention\` — async + sync ops on the same model serialize on a single runtime worker
795
798
  - \`draft-with-trigger\` — \`# Status: Draft\` skill has \`# Triggers:\` declared; triggers won't fire until Approved
796
799
  - \`reference-to-disabled-skill\` — \`&\` op references a Disabled skill (also tier-1 in some contexts)
797
- - \`unused-augmenting-header\` — \`# Delivery-context:\` or \`# Templates:\` set on a skill with no agent-bound output (v0.2.6)
800
+ - \`unused-augmenting-header\` — \`# Event-type:\` set on a skill with no agent-bound output (v0.2.6, renamed v0.9.6)
798
801
 
799
802
  ## Tier-3 (info)
800
803