@cef-ai/cli 0.5.1 → 1.1.0

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
@@ -1,8 +1,9 @@
1
1
  # @cef-ai/cli
2
2
 
3
3
  `cef` — build, typegen, and inspect agents from the command line. Mirrors
4
- the runtime contract: bundles emit `globalThis.__cefAgent`, manifests
5
- carry the routing table the runtime reads.
4
+ the Agent Runtime contract (ADR-001): bundles install a flat handler map at
5
+ `globalThis.__handlers`, manifests carry the routing table the orchestrator
6
+ reads.
6
7
 
7
8
  ## Install
8
9
 
@@ -17,9 +18,9 @@ invoke it via `pnpm exec cef <subcommand>`.
17
18
 
18
19
  | Subcommand | Status | Description |
19
20
  | --- | --- | --- |
20
- | `cef build` | shipped | Lint the agent entry, bundle with esbuild (IIFE footer), emit `dist/<agentId>/{bundle.js,manifest.json}`. |
21
+ | `cef build` | shipped | Lint the agent entry, bundle with esbuild (the bundle imports the SDK runtime shims and installs `globalThis.__handlers`), emit `dist/<agentId>/{bundle.js,manifest.json}`. |
21
22
  | `cef typegen` | shipped | Generate `.cef/generated.d.ts` (declaration-merged `KnownEventTypes`) and refresh `cef.lock.json`. |
22
- | `cef inspect <agentDir>` | shipped | Read a built `manifest.json`, run the bundle in `node:vm`, and report the methods exposed on `__cefAgent` plus any missing routing targets. |
23
+ | `cef inspect <agentDir>` | shipped | Read a built `manifest.json`, run the bundle in `node:vm`, and report the handler names exposed on `__handlers` plus any routing targets the manifest references but the bundle doesn't expose. |
23
24
  | `cef test` | stub | Placeholder — use `vitest` directly with `@cef-ai/testing` until the integrated runner lands. |
24
25
  | `cef publish` | stub | Placeholder — pending the Marketplace API. |
25
26
  | `cef dev` | stub | Placeholder — pending the packaged platform image. |
@@ -29,12 +30,26 @@ invoke it via `pnpm exec cef <subcommand>`.
29
30
  ```
30
31
  dist/
31
32
  <agentId>/
32
- bundle.js # IIFE that assigns an instance to globalThis.__cefAgent
33
- manifest.json # AgentManifest body (per prototype.md) — bundle is also
34
- # embedded inline; identity / signature fields are blank
35
- # until `cef publish` signs and uploads.
33
+ bundle.js # IIFE that installs globalThis.__handlers — a flat map
34
+ # of handler functions the runtime dispatches as
35
+ # __handlers[name](event, context). Event handlers are
36
+ # keyed "<engagementId>::<method>"; lifecycle hooks under
37
+ # the fixed keys onStart / onClose.
38
+ manifest.json # AgentManifest body — bundle embedded inline; each
39
+ # engagement carries handles{eventType -> handlerName}
40
+ # (namespaced) and hooks[] ("start"/"close"). Identity /
41
+ # signature fields are blank until `cef publish` signs.
36
42
  ```
37
43
 
44
+ The handler-name namespacing (`<engagementId>::<method>`) keeps the flat
45
+ `__handlers` map collision-free when multiple engagements declare a method
46
+ of the same name; the orchestrator returns these strings verbatim from
47
+ `HandlerFor`, so AR looks them up directly. Lifecycle hooks are NOT
48
+ namespaced — the orchestrator hardcodes `onStart` / `onClose` — so a method
49
+ name may be reused as an event handler across engagements, but only one
50
+ engagement per agent may own each lifecycle hook (`cef build` errors on a
51
+ collision).
52
+
38
53
  `cef typegen` reads `cef.config.ts` (and `publishes` declarations) and
39
54
  writes `.cef/generated.d.ts`, populating `KnownEventTypes` so authors
40
55
  get string-literal autocompletion on `@OnEvent` and `ctx.publish`. The
@@ -68,7 +83,9 @@ const inspected = await cefInspect({
68
83
  agentDir: "dist/echo",
69
84
  print: false,
70
85
  });
71
- console.log(inspected.exposedMethods, inspected.missingMethods);
86
+ for (const e of inspected.engagements) {
87
+ console.log(e.id, e.handles, e.hooks, e.exposedMethods, e.missingMethods);
88
+ }
72
89
  ```
73
90
 
74
91
  ## Build-time lints
@@ -85,8 +102,8 @@ warnings agree with CI failures.
85
102
  - `ctx.models.X` member must reference a declared model alias.
86
103
  - Imports must not target the banned module list (Node built-ins like
87
104
  `fs`, `net`, `http`, `child_process`, plus sync DB / network npm
88
- packages). Agents call `ctx.fetch` for HTTP and `ctx.cubby` for state;
89
- `globalThis.crypto` (WebCrypto) replaces `node:crypto`.
105
+ packages). Agents use the global `fetch` for HTTP and `ctx.cubby` for
106
+ state; `globalThis.crypto` (WebCrypto) replaces `node:crypto`.
90
107
 
91
108
  The full banned-module list and rationale live in `agent-sdk.md` §7.
92
109
 
@@ -1,32 +1,24 @@
1
1
  /**
2
- * IIFE footer appended to every agent bundle.
2
+ * Bundle-shape constants shared between the wrapper renderer and the
3
+ * metadata-extraction step in `commands/build.ts`.
3
4
  *
4
- * Contract (`sdk-runtime-integration-contract.md` §1, ADR-019 H2): the bundle
5
- * exposes one INSTANCE PER ENGAGEMENT via
6
- * `globalThis.__cefAgent = { engagements: { [engagementId]: instance } }`.
7
- * Routing (which method handles which event, per-engagement) lives in the
8
- * manifest the orchestrator reads.
5
+ * Contract (AR ADR-001): the bundle exposes a FLAT handler map at
6
+ * `globalThis.__handlers` — one function per handler name — which the Agent
7
+ * Runtime dispatches against as `globalThis.__handlers[name](event,
8
+ * context)`. There is no engagement registry on the global surface and no
9
+ * `__cefAgent` (AR carries no consumer-specific vocabulary).
9
10
  *
10
- * The build pipeline (`bundleAgent` in `commands/build.ts`) emits a temp
11
- * wrapper module that re-exports each engagement's class as
12
- * `export const engagements = { [id]: Class, ... }`. esbuild bundles that
13
- * wrapper as an IIFE with `globalName: "__cefBundle"`, which makes
14
- * `globalThis.__cefBundle.engagements` reachable here. We instantiate every
15
- * class and assemble the public `__cefAgent` shape, then delete the
16
- * intermediate `__cefBundle` global so the runtime sandbox sees a clean
17
- * surface with only `__cefAgent` set.
18
- *
19
- * The footer does NOT assert per-class decorator presence — that check moved
20
- * to build-time (`bundleAgent`), where the error message can name the
21
- * specific engagement id. The footer only fails when the wrapper export is
22
- * structurally missing, which is a build-pipeline bug rather than a user
23
- * error.
24
- */
25
- export declare const IIFE_FOOTER: string;
26
- /**
27
- * Global name esbuild uses to expose the bundled module's exports. Kept in
28
- * sync with {@link IIFE_FOOTER} above so callers can wire both pieces from
29
- * a single source of truth.
11
+ * The generated wrapper imports each engagement class plus
12
+ * `registerHandlers` from `@cef-ai/agent-sdk/runtime` and calls it at
13
+ * top-level; running the bundled IIFE installs `globalThis.__handlers`
14
+ * (and, non-enumerably, `__handlers.__engagements` — the decorator metadata
15
+ * the manifest emitter reads back). No esbuild footer is needed: the
16
+ * registration is the wrapper's own top-level side effect.
30
17
  */
31
- export declare const ESBUILD_GLOBAL_NAME = "__cefBundle";
18
+ /** Import specifier for the in-bundle runtime shim layer. */
19
+ export declare const RUNTIME_IMPORT_SPECIFIER = "@cef-ai/agent-sdk/runtime";
20
+ /** The global the runtime installs and AR dispatches against. */
21
+ export declare const HANDLERS_GLOBAL = "__handlers";
22
+ /** Non-enumerable property on the handler map carrying build-time metadata. */
23
+ export declare const ENGAGEMENTS_META_PROP = "__engagements";
32
24
  //# sourceMappingURL=esbuild-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-plugin.d.ts","sourceRoot":"","sources":["../../src/build/esbuild-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,WAAW,QAqBhB,CAAC;AAET;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,gBAAgB,CAAC"}
1
+ {"version":3,"file":"esbuild-plugin.d.ts","sourceRoot":"","sources":["../../src/build/esbuild-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,6DAA6D;AAC7D,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AAEpE,iEAAiE;AACjE,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,+EAA+E;AAC/E,eAAO,MAAM,qBAAqB,kBAAkB,CAAC"}
@@ -1,53 +1,24 @@
1
1
  /**
2
- * IIFE footer appended to every agent bundle.
2
+ * Bundle-shape constants shared between the wrapper renderer and the
3
+ * metadata-extraction step in `commands/build.ts`.
3
4
  *
4
- * Contract (`sdk-runtime-integration-contract.md` §1, ADR-019 H2): the bundle
5
- * exposes one INSTANCE PER ENGAGEMENT via
6
- * `globalThis.__cefAgent = { engagements: { [engagementId]: instance } }`.
7
- * Routing (which method handles which event, per-engagement) lives in the
8
- * manifest the orchestrator reads.
5
+ * Contract (AR ADR-001): the bundle exposes a FLAT handler map at
6
+ * `globalThis.__handlers` — one function per handler name — which the Agent
7
+ * Runtime dispatches against as `globalThis.__handlers[name](event,
8
+ * context)`. There is no engagement registry on the global surface and no
9
+ * `__cefAgent` (AR carries no consumer-specific vocabulary).
9
10
  *
10
- * The build pipeline (`bundleAgent` in `commands/build.ts`) emits a temp
11
- * wrapper module that re-exports each engagement's class as
12
- * `export const engagements = { [id]: Class, ... }`. esbuild bundles that
13
- * wrapper as an IIFE with `globalName: "__cefBundle"`, which makes
14
- * `globalThis.__cefBundle.engagements` reachable here. We instantiate every
15
- * class and assemble the public `__cefAgent` shape, then delete the
16
- * intermediate `__cefBundle` global so the runtime sandbox sees a clean
17
- * surface with only `__cefAgent` set.
18
- *
19
- * The footer does NOT assert per-class decorator presence — that check moved
20
- * to build-time (`bundleAgent`), where the error message can name the
21
- * specific engagement id. The footer only fails when the wrapper export is
22
- * structurally missing, which is a build-pipeline bug rather than a user
23
- * error.
24
- */
25
- export const IIFE_FOOTER = `
26
- ;(function () {
27
- var classes = (typeof globalThis.__cefBundle !== "undefined" && globalThis.__cefBundle.engagements)
28
- ? globalThis.__cefBundle.engagements
29
- : null;
30
- if (!classes) {
31
- throw new Error("@cef-ai/agent-sdk: bundle has no engagements (export const engagements missing from wrapper)");
32
- }
33
- var instances = {};
34
- var ids = Object.keys(classes);
35
- for (var i = 0; i < ids.length; i++) {
36
- var id = ids[i];
37
- var Cls = classes[id];
38
- if (!Cls) {
39
- throw new Error("@cef-ai/agent-sdk: engagement \\"" + id + "\\" has no class export");
40
- }
41
- instances[id] = new Cls();
42
- }
43
- globalThis.__cefAgent = { engagements: instances };
44
- try { delete globalThis.__cefBundle; } catch (_) { globalThis.__cefBundle = undefined; }
45
- })();
46
- `.trim();
47
- /**
48
- * Global name esbuild uses to expose the bundled module's exports. Kept in
49
- * sync with {@link IIFE_FOOTER} above so callers can wire both pieces from
50
- * a single source of truth.
11
+ * The generated wrapper imports each engagement class plus
12
+ * `registerHandlers` from `@cef-ai/agent-sdk/runtime` and calls it at
13
+ * top-level; running the bundled IIFE installs `globalThis.__handlers`
14
+ * (and, non-enumerably, `__handlers.__engagements` — the decorator metadata
15
+ * the manifest emitter reads back). No esbuild footer is needed: the
16
+ * registration is the wrapper's own top-level side effect.
51
17
  */
52
- export const ESBUILD_GLOBAL_NAME = "__cefBundle";
18
+ /** Import specifier for the in-bundle runtime shim layer. */
19
+ export const RUNTIME_IMPORT_SPECIFIER = "@cef-ai/agent-sdk/runtime";
20
+ /** The global the runtime installs and AR dispatches against. */
21
+ export const HANDLERS_GLOBAL = "__handlers";
22
+ /** Non-enumerable property on the handler map carrying build-time metadata. */
23
+ export const ENGAGEMENTS_META_PROP = "__engagements";
53
24
  //# sourceMappingURL=esbuild-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-plugin.js","sourceRoot":"","sources":["../../src/build/esbuild-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB1B,CAAC,IAAI,EAAE,CAAC;AAET;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"esbuild-plugin.js","sourceRoot":"","sources":["../../src/build/esbuild-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AAEpE,iEAAiE;AACjE,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAE5C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC"}
@@ -8,15 +8,17 @@ import type { AgentCard, JSONSchema, Targeting } from "./load-config.js";
8
8
  * handlerName, per `prototype.md` §"AgentManifest.Engagements");
9
9
  * - aggregates `events` keys + caller-provided `publishes` into the
10
10
  * top-level derived unions;
11
- * - drops `lifecycle` from the manifest output entirely — `onStart` /
12
- * `onClose` are conventional method names invoked by the runtime if
13
- * defined on the class (per prototype.md §"Notes on the simplifications").
11
+ * - derives the engagement's `hooks` (`"start"` / `"close"`) from which
12
+ * lifecycle methods are present, so the orchestrator knows to dispatch
13
+ * the synthetic `__start__` / `__close__` events. The method names
14
+ * themselves are not emitted — the runtime exposes lifecycle handlers
15
+ * under the fixed keys `onStart` / `onClose`.
14
16
  */
15
17
  export interface ManifestEngagementInput {
16
18
  id: string;
17
19
  goal?: string;
18
20
  events: Record<string, string>;
19
- /** Recorded for the simulator — not emitted into the wire manifest. */
21
+ /** Which lifecycle hooks the engagement declares; drives `hooks[]`. */
20
22
  lifecycle: {
21
23
  start?: string;
22
24
  close?: string;
@@ -89,17 +91,21 @@ export interface InlinedCubby {
89
91
  }>;
90
92
  }
91
93
  /**
92
- * Per-engagement slice of the emitted manifest (per prototype.md
93
- * §"EngagementDecl"). `handles` is a map (eventType → handlerName); per-
94
- * engagement `publishes` and `lifecycleHandlers` are intentionally NOT
95
- * emitted — the contract carries publishes at the agent level only and
96
- * lifecycle hook resolution is conventional (instance.onStart /
97
- * instance.onClose if defined).
94
+ * Per-engagement slice of the emitted manifest. `handles` is a map
95
+ * (eventType → handlerName); `hooks` is the opt-in lifecycle set
96
+ * (`"start"` / `"close"`).
97
+ *
98
+ * `hooks` is load-bearing: the orchestrator's `HandlerFor` dispatches the
99
+ * synthetic `__start__` / `__close__` events only when the engagement
100
+ * declares the corresponding hook here (marketplace `Engagement.HasHook`),
101
+ * then invokes the fixed handler names `onStart` / `onClose`. Per-engagement
102
+ * `publishes` are still carried at the agent level only.
98
103
  */
99
104
  export interface ManifestEngagement {
100
105
  id: string;
101
106
  goal: string;
102
107
  handles: Record<string, string>;
108
+ hooks: string[];
103
109
  }
104
110
  /** Settings declaration as emitted into the manifest. */
105
111
  export type ManifestSetting = NonNullable<ManifestConfigInput["settings"]>[number];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/build/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/build/manifest.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
+ import { handlerKey } from "@cef-ai/agent-sdk/runtime";
3
4
  import { parseDuration } from "./duration.js";
4
5
  const EMPTY_CARD = { name: "", description: "" };
5
6
  /** Default idle timeout — author-facing string; see `AgentConfig.idleTimeout`. */
@@ -53,15 +54,24 @@ export async function buildManifest(input) {
53
54
  const manifestEngagements = sortedEngagements.map((e) => {
54
55
  const handles = {};
55
56
  for (const type of Object.keys(e.events).sort()) {
56
- handles[type] = e.events[type];
57
+ // Namespaced per engagement so the flat __handlers map stays
58
+ // collision-free; the orchestrator returns this verbatim from
59
+ // HandlerFor and AR looks it up. Must match runtime `handlerKey`.
60
+ handles[type] = handlerKey(e.id, e.events[type]);
57
61
  allHandles.add(type);
58
62
  }
59
63
  for (const t of e.publishes)
60
64
  allPublishes.add(t);
65
+ const hooks = [];
66
+ if (e.lifecycle.start)
67
+ hooks.push("start");
68
+ if (e.lifecycle.close)
69
+ hooks.push("close");
61
70
  return {
62
71
  id: e.id,
63
72
  goal: e.goal ?? "",
64
73
  handles,
74
+ hooks,
65
75
  };
66
76
  });
67
77
  const cubbies = [];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/build/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/build/manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AA2BA;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AA2KD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA6FlF"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AA6BA;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAgOD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA6FlF"}
@@ -3,8 +3,7 @@ import fs from "node:fs/promises";
3
3
  import path from "node:path";
4
4
  import vm from "node:vm";
5
5
  import * as esbuild from "esbuild";
6
- import { ENGAGEMENT_METADATA } from "@cef-ai/agent-sdk";
7
- import { ESBUILD_GLOBAL_NAME, IIFE_FOOTER, } from "../build/esbuild-plugin.js";
6
+ import { ENGAGEMENTS_META_PROP, HANDLERS_GLOBAL, RUNTIME_IMPORT_SPECIFIER, } from "../build/esbuild-plugin.js";
8
7
  import { lintAgentSource } from "../build/lints.js";
9
8
  import { flattenAgents, loadConfig, normalizeEngagements, } from "../build/load-config.js";
10
9
  import { emitManifest, } from "../build/manifest.js";
@@ -36,33 +35,81 @@ async function findNodeModulesParent(start) {
36
35
  }
37
36
  /**
38
37
  * Generate the temporary wrapper module that imports each engagement's
39
- * default export and re-exports the map as `engagements`. esbuild bundles
40
- * this wrapper as the entry point; the IIFE footer (see esbuild-plugin.ts)
41
- * picks the map up from `globalThis.__cefBundle.engagements` and
42
- * instantiates each class.
38
+ * default export plus the SDK's `registerHandlers`, and calls it at
39
+ * top-level. esbuild bundles this wrapper as an IIFE; running the bundle
40
+ * installs `globalThis.__handlers` (the flat handler map AR dispatches
41
+ * against) — see esbuild-plugin.ts for the contract.
43
42
  *
44
43
  * Imports use absolute file paths so resolution doesn't depend on the
45
- * wrapper's directory.
44
+ * wrapper's directory; the runtime import is a bare specifier resolved
45
+ * against the `node_modules` ancestor the wrapper is placed under.
46
46
  */
47
- function renderWrapperSource(engagements) {
47
+ function renderWrapperSource(engagements, modelRefs) {
48
48
  const importLines = engagements
49
49
  .map((e, i) => `import _e${i} from ${JSON.stringify(e.entry)};`)
50
50
  .join("\n");
51
51
  const mapBody = engagements
52
52
  .map((e, i) => ` ${JSON.stringify(e.id)}: _e${i}`)
53
53
  .join(",\n");
54
- return `${importLines}\nexport const engagements = {\n${mapBody}\n};\n`;
54
+ // Bake the resolved alias → ModelRef map into the bundle so `ctx.models`
55
+ // knows each model's identity without the orchestrator carrying it.
56
+ const options = `{ models: ${JSON.stringify(modelRefs)} }`;
57
+ return (`import { registerHandlers } from ${JSON.stringify(RUNTIME_IMPORT_SPECIFIER)};\n` +
58
+ `${importLines}\n` +
59
+ `registerHandlers({\n${mapBody}\n}, ${options});\n`);
60
+ }
61
+ /**
62
+ * Resolve a `defineAgent({ models })` value into a {@link ModelRef}. Models
63
+ * are declared as DDC `model.json` URLs (e.g.
64
+ * `https://<host>/<bucket>/models/<name>/<version>/model.json`); the bucket /
65
+ * name / version are parsed out here, once, at build time — the runtime never
66
+ * parses a URL. `name` / `version` are validated by `cef typegen` against the
67
+ * fetched `model.json`.
68
+ */
69
+ function parseModelRef(alias, declared) {
70
+ let pathname;
71
+ try {
72
+ pathname = new URL(declared).pathname;
73
+ }
74
+ catch {
75
+ throw new Error(`[@cef-ai/cli] model "${alias}": value must be a DDC model.json URL, got "${declared}"`);
76
+ }
77
+ // Expected path: /<bucket>/models/<name>/<version>/model.json
78
+ const parts = pathname.split("/").filter(Boolean);
79
+ const file = parts[parts.length - 1] ?? "";
80
+ if (parts.length < 5 || parts[1] !== "models" || !file.endsWith("model.json")) {
81
+ throw new Error(`[@cef-ai/cli] model "${alias}": expected a DDC model.json URL ` +
82
+ `(.../<bucket>/models/<name>/<version>/model.json), got "${declared}"`);
83
+ }
84
+ const bucket = Number(parts[0]);
85
+ if (!Number.isInteger(bucket)) {
86
+ throw new Error(`[@cef-ai/cli] model "${alias}": bucket segment "${parts[0]}" is not an integer in "${declared}"`);
87
+ }
88
+ return { bucket, name: parts[2], version: parts[3] };
89
+ }
90
+ /** Resolve all of an agent's declared models into the baked ref map. */
91
+ function resolveModelRefs(models) {
92
+ const out = {};
93
+ for (const [alias, declared] of Object.entries(models ?? {})) {
94
+ out[alias] = parseModelRef(alias, declared);
95
+ }
96
+ return out;
55
97
  }
56
98
  /**
57
99
  * Bundle one agent's engagement set into `<outDir>/<agentId>/bundle.js`.
58
100
  *
59
101
  * The flow is:
60
- * 1. Render a temp wrapper that pulls in every engagement's default
61
- * export and re-exports them under `engagements`.
62
- * 2. Run esbuild on the wrapper (IIFE + footer).
63
- * 3. Execute the bundle in a fresh `vm` context to read each engagement
64
- * class's decorator metadata (the `__cefAgent.engagements[id]`
65
- * instance's `constructor[ENGAGEMENT_METADATA]`).
102
+ * 1. Render a temp wrapper that imports every engagement class + the SDK
103
+ * runtime's `registerHandlers` and calls it.
104
+ * 2. Run esbuild on the wrapper (IIFE; the runtime shims are inlined).
105
+ * 3. Execute the bundle in a fresh `vm` context — `registerHandlers`
106
+ * installs `globalThis.__handlers` and records the per-engagement
107
+ * decorator metadata on its non-enumerable `__engagements` property,
108
+ * which we read back for the manifest. Handler-key collisions across
109
+ * engagements throw here, surfacing as a build error.
110
+ *
111
+ * Constructors are NOT run at build time (the runtime instantiates per
112
+ * invocation), so they may have side effects.
66
113
  *
67
114
  * Decorators are still TC39-stage-2 syntax in our SDK, so we feed esbuild
68
115
  * a `tsconfigRaw` that turns on `experimentalDecorators` regardless of
@@ -83,7 +130,8 @@ async function bundleAgent(args) {
83
130
  const cacheDir = path.join(nmParent, "node_modules", ".cef", "build-cache");
84
131
  await fs.mkdir(cacheDir, { recursive: true });
85
132
  const wrapperPath = path.join(cacheDir, `wrapper-${agent.id}-${process.pid}-${crypto.randomBytes(6).toString("hex")}.ts`);
86
- await fs.writeFile(wrapperPath, renderWrapperSource(engagements), "utf8");
133
+ const modelRefs = resolveModelRefs(agent.models);
134
+ await fs.writeFile(wrapperPath, renderWrapperSource(engagements, modelRefs), "utf8");
87
135
  try {
88
136
  await esbuild.build({
89
137
  entryPoints: [wrapperPath],
@@ -91,9 +139,7 @@ async function bundleAgent(args) {
91
139
  format: "iife",
92
140
  target: "es2022",
93
141
  platform: "neutral",
94
- globalName: ESBUILD_GLOBAL_NAME,
95
142
  outfile: bundlePath,
96
- footer: { js: IIFE_FOOTER },
97
143
  logLevel: "silent",
98
144
  // Inline everything; the runtime sandbox has no module loader.
99
145
  external: [],
@@ -111,9 +157,9 @@ async function bundleAgent(args) {
111
157
  await fs.unlink(wrapperPath).catch(() => { });
112
158
  }
113
159
  // Read the metadata back by executing the bundle in a fresh vm sandbox.
114
- // The IIFE constructs one instance per engagement and assigns the map to
115
- // globalThis.__cefAgent.engagements[id]; ENGAGEMENT_METADATA hangs off
116
- // each instance's class.
160
+ // registerHandlers installs globalThis.__handlers and records the
161
+ // per-engagement decorator metadata on its non-enumerable __engagements
162
+ // property. A handler-key collision across engagements throws here.
117
163
  const bundleSource = await fs.readFile(bundlePath, "utf8");
118
164
  const sandbox = { console };
119
165
  sandbox.globalThis = sandbox;
@@ -122,28 +168,26 @@ async function bundleAgent(args) {
122
168
  }
123
169
  catch (e) {
124
170
  const msg = e?.message ?? String(e);
125
- throw new Error(`[@cef-ai/cli] agent "${agent.id}" threw while initializing for metadata extraction. ` +
126
- `Constructors must be side-effect-free for cef build to read decorator metadata. ` +
171
+ throw new Error(`[@cef-ai/cli] agent "${agent.id}": bundle threw while registering handlers. ` +
127
172
  `Original error: ${msg}`);
128
173
  }
129
- const cefAgent = sandbox.__cefAgent;
130
- if (!cefAgent || !cefAgent.engagements) {
131
- throw new Error(`[@cef-ai/cli] agent "${agent.id}": bundle did not set globalThis.__cefAgent.engagements`);
174
+ const handlers = sandbox[HANDLERS_GLOBAL];
175
+ const buildMeta = handlers?.[ENGAGEMENTS_META_PROP];
176
+ if (!handlers || !buildMeta) {
177
+ throw new Error(`[@cef-ai/cli] agent "${agent.id}": bundle did not install globalThis.${HANDLERS_GLOBAL} ` +
178
+ `(is @cef-ai/agent-sdk/runtime resolvable and registerHandlers called?)`);
132
179
  }
180
+ const byId = new Map();
181
+ for (const m of buildMeta)
182
+ byId.set(m.id, m);
133
183
  const metas = new Map();
134
184
  for (const e of engagements) {
135
- const inst = cefAgent.engagements[e.id];
136
- if (!inst) {
137
- throw new Error(`[@cef-ai/cli] engagement "${e.id}" in agent "${agent.id}": not present in __cefAgent.engagements`);
138
- }
139
- const meta = inst.constructor[ENGAGEMENT_METADATA];
140
- if (!meta) {
141
- throw new Error(`[@cef-ai/cli] engagement "${e.id}" in agent "${agent.id}": class has no @OnEvent/@OnStart/@OnClose/@Engagement decorators`);
142
- }
143
- if (meta.id !== undefined && meta.id !== e.id) {
144
- throw new Error(`[@cef-ai/cli] engagement "${e.id}" in agent "${agent.id}": @Engagement decorator declares id "${meta.id}" but config declares "${e.id}"`);
185
+ const m = byId.get(e.id);
186
+ if (!m) {
187
+ throw new Error(`[@cef-ai/cli] engagement "${e.id}" in agent "${agent.id}": not registered by the bundle ` +
188
+ `(missing @OnEvent/@OnStart/@OnClose/@Engagement decorators?)`);
145
189
  }
146
- metas.set(e.id, meta);
190
+ metas.set(e.id, { id: m.id, goal: m.goal, events: m.events, lifecycle: m.lifecycle });
147
191
  }
148
192
  const stat = await fs.stat(bundlePath);
149
193
  return { bundlePath, bundleBytes: stat.size, metas };
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAKnC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAGL,aAAa,EACb,UAAU,EACV,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,YAAY,GAEb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAyB1D;;;;;;;GAOG;AACH,KAAK,UAAU,qBAAqB,CAAC,KAAa;IAChD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,OAAO,GAAG,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAChC,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAC1B,WAAmC,EACnC,SAAmC;IAEnC,MAAM,WAAW,GAAG,WAAW;SAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;SAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,OAAO,GAAG,WAAW;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SAClD,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,OAAO,GAAG,aAAa,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;IAC3D,OAAO,CACL,oCAAoC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,KAAK;QACjF,GAAG,WAAW,IAAI;QAClB,uBAAuB,OAAO,QAAQ,OAAO,MAAM,CACpD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,KAAa,EAAE,QAAgB;IACpD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,+CAA+C,QAAQ,GAAG,CACxF,CAAC;IACJ,CAAC;IACD,8DAA8D;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,mCAAmC;YAC9D,2DAA2D,QAAQ,GAAG,CACzE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,sBAAsB,KAAK,CAAC,CAAC,CAAC,2BAA2B,QAAQ,GAAG,CAClG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;AACzD,CAAC;AAED,wEAAwE;AACxE,SAAS,gBAAgB,CAAC,MAA0C;IAClE,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,KAAK,UAAU,WAAW,CAAC,IAK1B;IAKC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEjD,wEAAwE;IACxE,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,2DAA2D,SAAS,8BAA8B,CACnG,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5E,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAC3B,QAAQ,EACR,WAAW,KAAK,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CACjF,CAAC;IACF,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IAErF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC;YAClB,WAAW,EAAE,CAAC,WAAW,CAAC;YAC1B,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,QAAQ;YAClB,+DAA+D;YAC/D,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1B,eAAe,EAAE;oBACf,sBAAsB,EAAE,IAAI;oBAC5B,MAAM,EAAE,QAAQ;oBAChB,uBAAuB,EAAE,KAAK;iBAC/B;aACF,CAAC;YACF,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,wEAAwE;IACxE,kEAAkE;IAClE,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,OAAO,GAA4B,EAAE,OAAO,EAAE,CAAC;IACrD,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;IAC7B,IAAI,CAAC;QACH,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAI,CAAW,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,CAAC,EAAE,8CAA8C;YAC5E,mBAAmB,GAAG,EAAE,CAC3B,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAE3B,CAAC;IACd,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC,qBAAqB,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,CAAC,EAAE,wCAAwC,eAAe,GAAG;YACxF,wEAAwE,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAA+B,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,KAAK,CACb,6BAA6B,CAAC,CAAC,EAAE,eAAe,KAAK,CAAC,EAAE,kCAAkC;gBACxF,8DAA8D,CACjE,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB,EAAE;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;QAChC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAErC,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE3D,qEAAqE;QACrE,mEAAmE;QACnE,oEAAoE;QACpE,gDAAgD;QAChD,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAC1C,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3D,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,eAAe,CAAC;gBACjC,SAAS,EAAE,CAAC,CAAC,KAAK;gBAClB,oBAAoB;gBACpB,oBAAoB;aACrB,CAAC,CAAC;YACH,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QACzD,CAAC;QAED,wEAAwE;QACxE,qEAAqE;QACrE,+CAA+C;QAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC;YACtC,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QAEH,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC;YAC3D,KAAK;YACL,WAAW;YACX,SAAS;YACT,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAA8B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;YAC9B,MAAM,KAAK,GAA4B;gBACrC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;gBAC/B,SAAS,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;aAClD,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;QAClE,MAAM,YAAY,CAAC,YAAY,EAAE;YAC/B,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU;YACV,WAAW,EAAE,gBAAgB;YAC7B,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;aACjC;YACD,SAAS;YACT,SAAS;SACV,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,UAAU;YACV,YAAY;YACZ,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
@@ -14,9 +14,11 @@ export interface InspectEngagement {
14
14
  goal?: string;
15
15
  /** eventType → handlerName, copied from `manifest.engagements[i].handles`. */
16
16
  handles: Record<string, string>;
17
- /** Method names exposed on this engagement's instance, sorted alphabetically. */
17
+ /** Lifecycle hooks the engagement opts into (`"start"` / `"close"`). */
18
+ hooks: string[];
19
+ /** Handler names this engagement references that ARE present on `__handlers`. */
18
20
  exposedMethods: string[];
19
- /** Names referenced by manifest routing that aren't on the engagement instance. */
21
+ /** Handler names referenced by manifest routing that are missing from `__handlers`. */
20
22
  missingMethods: string[];
21
23
  }
22
24
  export interface CefInspectResult {
@@ -37,10 +39,11 @@ export interface CefInspectResult {
37
39
  *
38
40
  * Reads `<agentDir>/manifest.json` for the per-engagement routing tables
39
41
  * and executes `<agentDir>/bundle.js` in a fresh `node:vm` context to
40
- * enumerate the methods actually exposed on each
41
- * `globalThis.__cefAgent.engagements[id]` instance. The two views are
42
- * useful for confirming that each manifest engagement's `handlerName`
43
- * strings match real methods on the bundled instance.
42
+ * enumerate the handler functions actually exposed on
43
+ * `globalThis.__handlers` (the flat map AR dispatches against). Cross-checks
44
+ * that every handler name the manifest references — each engagement's
45
+ * `handles` values plus the lifecycle handlers (`onStart` / `onClose`)
46
+ * implied by its `hooks` — is present as a function in the bundle.
44
47
  *
45
48
  * Pure exploration: no files are written, no network. Safe to run on any
46
49
  * `dist/<agentId>/` directory.
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,iFAAiF;IACjF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mFAAmF;IACnF,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE;QACR,oCAAoC;QACpC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAkBD;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAsE3B"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,wEAAwE;IACxE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iFAAiF;IACjF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,uFAAuF;IACvF,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE;QACR,oCAAoC;QACpC,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAClC;AAsBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,gBAAgB,CAAC,CA+D3B"}
@@ -1,15 +1,18 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import vm from "node:vm";
4
+ /** Fixed lifecycle handler keys the runtime exposes (orchestrator constants). */
5
+ const LIFECYCLE_HANDLER = { start: "onStart", close: "onClose" };
4
6
  /**
5
7
  * Inspect a built agent directory.
6
8
  *
7
9
  * Reads `<agentDir>/manifest.json` for the per-engagement routing tables
8
10
  * and executes `<agentDir>/bundle.js` in a fresh `node:vm` context to
9
- * enumerate the methods actually exposed on each
10
- * `globalThis.__cefAgent.engagements[id]` instance. The two views are
11
- * useful for confirming that each manifest engagement's `handlerName`
12
- * strings match real methods on the bundled instance.
11
+ * enumerate the handler functions actually exposed on
12
+ * `globalThis.__handlers` (the flat map AR dispatches against). Cross-checks
13
+ * that every handler name the manifest references — each engagement's
14
+ * `handles` values plus the lifecycle handlers (`onStart` / `onClose`)
15
+ * implied by its `hooks` — is present as a function in the bundle.
13
16
  *
14
17
  * Pure exploration: no files are written, no network. Safe to run on any
15
18
  * `dist/<agentId>/` directory.
@@ -20,41 +23,32 @@ export async function cefInspect(opts) {
20
23
  const bundlePath = path.join(agentDir, "bundle.js");
21
24
  const manifest = JSON.parse(await fs.readFile(manifestPath, "utf8"));
22
25
  const bundle = await fs.readFile(bundlePath, "utf8");
23
- // Run the bundle in an isolated context. The IIFE assigns
24
- // { engagements: { id: instance } } to globalThis.__cefAgent.
26
+ // Run the bundle in an isolated context. Its top-level registerHandlers
27
+ // call installs the flat handler map at globalThis.__handlers.
25
28
  const sandbox = { console };
26
29
  sandbox.globalThis = sandbox;
27
30
  vm.runInNewContext(bundle, sandbox);
28
- const cefAgent = sandbox.__cefAgent;
29
- const instances = cefAgent?.engagements ?? {};
31
+ const handlers = sandbox.__handlers;
32
+ const exposedSet = new Set(handlers
33
+ ? Object.keys(handlers).filter((k) => typeof handlers[k] === "function")
34
+ : []);
30
35
  const engagements = (manifest.engagements ?? []).map((e) => {
31
- const inst = instances[e.id];
32
- const exposedMethods = [];
33
- if (inst) {
34
- const seen = new Set();
35
- let proto = Object.getPrototypeOf(inst);
36
- while (proto && Object.getPrototypeOf(proto) !== null) {
37
- for (const k of Object.getOwnPropertyNames(proto)) {
38
- if (k === "constructor")
39
- continue;
40
- if (typeof inst[k] === "function") {
41
- seen.add(k);
42
- }
43
- }
44
- proto = Object.getPrototypeOf(proto);
45
- }
46
- exposedMethods.push(...[...seen].sort());
47
- }
48
- const exposedSet = new Set(exposedMethods);
49
- const missingMethods = [];
50
36
  const handles = e.handles ?? {};
51
- for (const handlerName of Object.values(handles)) {
52
- if (!exposedSet.has(handlerName))
53
- missingMethods.push(handlerName);
37
+ const hooks = e.hooks ?? [];
38
+ // Handler names this engagement references: event handlers + the fixed
39
+ // lifecycle handler keys implied by its hooks.
40
+ const referenced = new Set(Object.values(handles));
41
+ for (const hook of hooks) {
42
+ const fixed = LIFECYCLE_HANDLER[hook];
43
+ if (fixed)
44
+ referenced.add(fixed);
54
45
  }
46
+ const exposedMethods = [...referenced].filter((n) => exposedSet.has(n)).sort();
47
+ const missingMethods = [...referenced].filter((n) => !exposedSet.has(n)).sort();
55
48
  const out = {
56
49
  id: e.id,
57
50
  handles,
51
+ hooks,
58
52
  exposedMethods,
59
53
  missingMethods,
60
54
  };
@@ -77,7 +71,7 @@ export async function cefInspect(opts) {
77
71
  engagements,
78
72
  };
79
73
  if (print)
80
- printInspectResult(result, cefAgent !== undefined);
74
+ printInspectResult(result, handlers !== undefined);
81
75
  return result;
82
76
  }
83
77
  function printInspectResult(r, hasInstance) {
@@ -98,6 +92,9 @@ function printInspectResult(r, hasInstance) {
98
92
  for (const [type, handlerName] of handleEntries) {
99
93
  console.log(` - ${type} -> ${handlerName}`);
100
94
  }
95
+ if (e.hooks.length > 0) {
96
+ console.log(` hooks: ${JSON.stringify(e.hooks)}`);
97
+ }
101
98
  }
102
99
  console.log("");
103
100
  console.log(`## handles: ${JSON.stringify(m.handles)}`);
@@ -113,7 +110,7 @@ function printInspectResult(r, hasInstance) {
113
110
  console.log("");
114
111
  console.log("## Bundle methods per engagement");
115
112
  if (!hasInstance) {
116
- console.log(" (no __cefAgent set - bundle did not initialise)");
113
+ console.log(" (no __handlers set - bundle did not initialise)");
117
114
  return;
118
115
  }
119
116
  for (const e of r.engagements) {
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"typegen.d.ts","sourceRoot":"","sources":["../../src/commands/typegen.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;CACtB;AAiDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAiJ3B"}
1
+ {"version":3,"file":"typegen.d.ts","sourceRoot":"","sources":["../../src/commands/typegen.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;CACtB;AAiDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAwJ3B"}
@@ -138,11 +138,14 @@ export async function cefTypegen(opts = {}) {
138
138
  }
139
139
  newLock.models[alias] = entry;
140
140
  if (parsed && typeof parsed === "object") {
141
+ // DDC `model.json` carries the I/O JSON Schemas under `schema.inputs`
142
+ // / `schema.outputs`. Fall back to top-level `input` / `output` for
143
+ // older/hand-written fixtures.
141
144
  const m = parsed;
142
145
  modelSpecs.push({
143
146
  alias,
144
- input: m.input ?? { type: "object" },
145
- output: m.output ?? { type: "object" },
147
+ input: m.schema?.inputs ?? m.input ?? { type: "object" },
148
+ output: m.schema?.outputs ?? m.output ?? { type: "object" },
146
149
  });
147
150
  }
148
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typegen.js","sourceRoot":"","sources":["../../src/commands/typegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typegen.js","sourceRoot":"","sources":["../../src/commands/typegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAEL,aAAa,EACb,UAAU,GACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iBAAiB,GAGlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAGL,YAAY,EACZ,aAAa,GACd,MAAM,wBAAwB,CAAC;AAmBhC;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,QAAgB,EAAE,YAAoB;IACxD,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,oEAAoE;QACpE,gEAAgE;QAChE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CACvB,GAAoB;IAEpB,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACnE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;IACD,sEAAsE;IACtE,gEAAgE;IAChE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAA0B,EAAE;IAE5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;QAChC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,OAAO,GAAgB;QAC3B,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,qEAAqE;IACrE,oEAAoE;IACpE,kCAAkC;IAClC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAe,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAe,CAAC;QACpB,IAAI,KAAgB,CAAC;QACrB,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrD,kEAAkE;YAClE,6DAA6D;YAC7D,mEAAmE;YACnE,mEAAmE;YACnE,gEAAgE;YAChE,gDAAgD;YAChD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gBACnD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBACxB,KAAK,GAAG;oBACN,GAAG;oBACH,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;oBACjD,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;wBAC/C,CAAC,CAAC,MAAM,CAAC,SAAS;wBAClB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAC7B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;gBAC5D,0DAA0D;gBAC1D,gEAAgE;gBAChE,wDAAwD;gBACxD,+DAA+D;gBAC/D,8DAA8D;gBAC9D,+CAA+C;gBAC/C,KAAK,GAAG,MAAM,CAAC;gBACf,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YACnD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxB,KAAK,GAAG;gBACN,GAAG;gBACH,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;gBACjD,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC9B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,sEAAsE;YACtE,oEAAoE;YACpE,+BAA+B;YAC/B,MAAM,CAAC,GAAG,MAIT,CAAC;YACF,UAAU,CAAC,IAAI,CAAC;gBACd,KAAK;gBACL,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAe,CAAC;QACpB,IAAI,KAAgB,CAAC;QACrB,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;gBACtD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBACxB,KAAK,GAAG;oBACN,GAAG;oBACH,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;oBACjD,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;wBAC/C,CAAC,CAAC,MAAM,CAAC,SAAS;wBAClB,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBAC7B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,GAAG,MAAM,CAAC;gBACf,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACtD,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACxB,KAAK,GAAG;gBACN,GAAG;gBACH,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC;gBACjD,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC5B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,MAET,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,8DAA8D;IAC9D,sDAAsD;IACtD,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,mEAAmE;QACnE,oEAAoE;QACpE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,SAAS,CAChB,aAAa,EACb,qDAAqD,EACrD,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE3C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AACzC,CAAC"}
package/dist/lib/jcs.d.ts CHANGED
@@ -1,3 +1,11 @@
1
- export declare function canonicalize(value: unknown): string;
2
- export declare function canonicalizeBytes(value: unknown): Uint8Array;
1
+ /**
2
+ * RFC 8785 JSON Canonicalization Scheme (JCS).
3
+ *
4
+ * Re-exported from `@cef-ai/transport`, which wraps the same `canonicalize` npm
5
+ * package the marketplace API uses and is byte-compatible with the wallet-api
6
+ * Go `canonjson` oracle. Keeping one canonicalizer across the suite is what
7
+ * keeps `cef publish` signatures verifiable server-side; this module stays so
8
+ * existing `cef publish` call sites import `lib/jcs.js` unchanged.
9
+ */
10
+ export { canonicalize, canonicalizeBytes } from "@cef-ai/transport";
3
11
  //# sourceMappingURL=jcs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jcs.d.ts","sourceRoot":"","sources":["../../src/lib/jcs.ts"],"names":[],"mappings":"AAeA,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOnD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAE5D"}
1
+ {"version":3,"file":"jcs.d.ts","sourceRoot":"","sources":["../../src/lib/jcs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/lib/jcs.js CHANGED
@@ -1,48 +1,11 @@
1
1
  /**
2
2
  * RFC 8785 JSON Canonicalization Scheme (JCS).
3
3
  *
4
- * Thin wrapper over the `canonicalize` npm package — the same library the
5
- * marketplace API uses. Re-exposed here as `canonicalize()` returning a
6
- * string (and `canonicalizeBytes()` returning the UTF-8 bytes that get
7
- * signed / hashed) so call sites in `cef publish` mirror the marketplace's
8
- * `lib/jcs.ts` one-to-one.
9
- *
10
- * RFC 8785 leaves the encoding of non-finite numbers / BigInt undefined; we
11
- * reject them up front rather than rely on the package's silent coercion,
12
- * matching the marketplace's behaviour.
4
+ * Re-exported from `@cef-ai/transport`, which wraps the same `canonicalize` npm
5
+ * package the marketplace API uses and is byte-compatible with the wallet-api
6
+ * Go `canonjson` oracle. Keeping one canonicalizer across the suite is what
7
+ * keeps `cef publish` signatures verifiable server-side; this module stays so
8
+ * existing `cef publish` call sites import `lib/jcs.js` unchanged.
13
9
  */
14
- import canonicalizePkg from "canonicalize";
15
- export function canonicalize(value) {
16
- assertJcsCompatible(value);
17
- const out = canonicalizePkg(value);
18
- if (out === undefined) {
19
- throw new TypeError("JCS: canonicalize() returned undefined");
20
- }
21
- return out;
22
- }
23
- export function canonicalizeBytes(value) {
24
- return new TextEncoder().encode(canonicalize(value));
25
- }
26
- function assertJcsCompatible(value) {
27
- if (typeof value === "number") {
28
- if (!Number.isFinite(value)) {
29
- throw new TypeError(`JCS: non-finite number ${String(value)}`);
30
- }
31
- return;
32
- }
33
- if (typeof value === "bigint") {
34
- throw new TypeError("JCS: bigint not supported by RFC 8785");
35
- }
36
- if (Array.isArray(value)) {
37
- for (const item of value)
38
- assertJcsCompatible(item);
39
- return;
40
- }
41
- if (value !== null && typeof value === "object") {
42
- for (const v of Object.values(value)) {
43
- if (v !== undefined)
44
- assertJcsCompatible(v);
45
- }
46
- }
47
- }
10
+ export { canonicalize, canonicalizeBytes } from "@cef-ai/transport";
48
11
  //# sourceMappingURL=jcs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jcs.js","sourceRoot":"","sources":["../../src/lib/jcs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,eAAe,MAAM,cAAc,CAAC;AAE3C,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,SAAS,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,KAAK,SAAS;gBAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"jcs.js","sourceRoot":"","sources":["../../src/lib/jcs.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -47,11 +47,9 @@ export declare function pascalCase(s: string): string;
47
47
  * 3. `export interface <PascalCasedEventType> { ... }` per peer-published
48
48
  * event that carries a JSON schema.
49
49
  * 4. `declare module "@cef-ai/agent-sdk"` block augmenting `KnownEventTypes`
50
- * with `"<event_type>": <PascalCasedEventType>` entries.
51
- *
52
- * Models augmentation (so `ctx.models[alias]` becomes typed) is intentionally
53
- * deferred to a follow-up — the agent-sdk surface for that needs a
54
- * `KnownModels` map analogous to `KnownEventTypes`, which doesn't exist yet.
50
+ * with `"<event_type>": <PascalCasedEventType>` entries, and `KnownModels`
51
+ * with `"<alias>": ModelHandle<<Alias>Input, <Alias>Output>` entries so
52
+ * `ctx.models.<alias>` is typed end-to-end.
55
53
  */
56
54
  export declare function buildGeneratedDts(models: ModelSpec[], peers: PeerSpec[]): Promise<string>;
57
55
  //# sourceMappingURL=augment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"augment.d.ts","sourceRoot":"","sources":["../../src/typegen/augment.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACtD;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO5C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EAAE,EACnB,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC,CAiDjB"}
1
+ {"version":3,"file":"augment.d.ts","sourceRoot":"","sources":["../../src/typegen/augment.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACtD;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO5C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,EAAE,EACnB,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,MAAM,CAAC,CAgEjB"}
@@ -33,15 +33,20 @@ export function pascalCase(s) {
33
33
  * 3. `export interface <PascalCasedEventType> { ... }` per peer-published
34
34
  * event that carries a JSON schema.
35
35
  * 4. `declare module "@cef-ai/agent-sdk"` block augmenting `KnownEventTypes`
36
- * with `"<event_type>": <PascalCasedEventType>` entries.
37
- *
38
- * Models augmentation (so `ctx.models[alias]` becomes typed) is intentionally
39
- * deferred to a follow-up — the agent-sdk surface for that needs a
40
- * `KnownModels` map analogous to `KnownEventTypes`, which doesn't exist yet.
36
+ * with `"<event_type>": <PascalCasedEventType>` entries, and `KnownModels`
37
+ * with `"<alias>": ModelHandle<<Alias>Input, <Alias>Output>` entries so
38
+ * `ctx.models.<alias>` is typed end-to-end.
41
39
  */
42
40
  export async function buildGeneratedDts(models, peers) {
43
41
  const sections = [HEADER];
44
- // 1. Per-model I/O interfaces.
42
+ // `KnownModels` entries reference `ModelHandle`; import it so the generated
43
+ // module-augmentation resolves regardless of scoping. (Importing from the
44
+ // module we then augment in the same file is the canonical pattern.)
45
+ if (models.length > 0) {
46
+ sections.push(`import type { ModelHandle } from "@cef-ai/agent-sdk";`);
47
+ }
48
+ // 1. Per-model I/O interfaces (+ collect KnownModels entries).
49
+ const knownModels = [];
45
50
  if (models.length > 0) {
46
51
  sections.push("// ---- Models ----");
47
52
  for (const m of models) {
@@ -50,6 +55,7 @@ export async function buildGeneratedDts(models, peers) {
50
55
  const outputTs = await schemaToTsInterface(`${base}Output`, m.output);
51
56
  sections.push(inputTs);
52
57
  sections.push(outputTs);
58
+ knownModels.push({ alias: m.alias, base });
53
59
  }
54
60
  }
55
61
  // 2. Per-peer-event payload interfaces + collect KnownEventTypes entries.
@@ -71,16 +77,22 @@ export async function buildGeneratedDts(models, peers) {
71
77
  }
72
78
  }
73
79
  }
74
- // 3. Module augmentation block.
80
+ // 3. Module augmentation blocks (KnownEventTypes + KnownModels).
81
+ const augmentations = [];
75
82
  if (knownEvents.length > 0) {
76
83
  const lines = knownEvents
77
84
  .map(({ eventType, tsName }) => ` ${JSON.stringify(eventType)}: ${tsName};`)
78
85
  .join("\n");
79
- sections.push(`declare module "@cef-ai/agent-sdk" {
80
- interface KnownEventTypes {
81
- ${lines}
82
- }
83
- }`);
86
+ augmentations.push(` interface KnownEventTypes {\n${lines}\n }`);
87
+ }
88
+ if (knownModels.length > 0) {
89
+ const lines = knownModels
90
+ .map(({ alias, base }) => ` ${JSON.stringify(alias)}: ModelHandle<${base}Input, ${base}Output>;`)
91
+ .join("\n");
92
+ augmentations.push(` interface KnownModels {\n${lines}\n }`);
93
+ }
94
+ if (augmentations.length > 0) {
95
+ sections.push(`declare module "@cef-ai/agent-sdk" {\n${augmentations.join("\n\n")}\n}`);
84
96
  }
85
97
  return sections.join("\n\n") + "\n";
86
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"augment.js","sourceRoot":"","sources":["../../src/typegen/augment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"augment.js","sourceRoot":"","sources":["../../src/typegen/augment.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,18 @@ export interface FetchResult {
15
15
  integrity: string;
16
16
  }
17
17
  /**
18
- * GET `<baseUrl>/<suffix>` and validate the response. Used by `cef typegen`
18
+ * GET a declared artefact URL and validate the response. Used by `cef typegen`
19
19
  * to fetch model and peer-agent manifests declared in `cef.config.ts`.
20
20
  *
21
+ * The declared value may be either the full artefact URL (e.g. a DDC
22
+ * `model.json` URL `.../<bucket>/models/<name>/<version>/model.json`, the
23
+ * contract `cef build`'s `parseModelRef` enforces) or a base URL that the
24
+ * artefact lives under (e.g. a peer-agent marketplace base). When the URL
25
+ * already ends with `<suffix>` it is fetched as-is; otherwise `<suffix>` is
26
+ * appended so a bare base still resolves. This keeps the model contract
27
+ * (full `model.json` URL) and the peer-agent base convention working
28
+ * through the same fetch path without double-appending `/model.json`.
29
+ *
21
30
  * - Redirects are followed transparently (Node's built-in `fetch` does this
22
31
  * by default with `redirect: "follow"`).
23
32
  * - Content-Type is required to include `json` — anything else (HTML
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/typegen/fetch.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,GAAG,eAAe,GACrC,OAAO,CAAC,WAAW,CAAC,CA+BtB"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/typegen/fetch.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,GAAG,eAAe,GACrC,OAAO,CAAC,WAAW,CAAC,CAkCtB"}
@@ -1,8 +1,17 @@
1
1
  import crypto from "node:crypto";
2
2
  /**
3
- * GET `<baseUrl>/<suffix>` and validate the response. Used by `cef typegen`
3
+ * GET a declared artefact URL and validate the response. Used by `cef typegen`
4
4
  * to fetch model and peer-agent manifests declared in `cef.config.ts`.
5
5
  *
6
+ * The declared value may be either the full artefact URL (e.g. a DDC
7
+ * `model.json` URL `.../<bucket>/models/<name>/<version>/model.json`, the
8
+ * contract `cef build`'s `parseModelRef` enforces) or a base URL that the
9
+ * artefact lives under (e.g. a peer-agent marketplace base). When the URL
10
+ * already ends with `<suffix>` it is fetched as-is; otherwise `<suffix>` is
11
+ * appended so a bare base still resolves. This keeps the model contract
12
+ * (full `model.json` URL) and the peer-agent base convention working
13
+ * through the same fetch path without double-appending `/model.json`.
14
+ *
6
15
  * - Redirects are followed transparently (Node's built-in `fetch` does this
7
16
  * by default with `redirect: "follow"`).
8
17
  * - Content-Type is required to include `json` — anything else (HTML
@@ -12,10 +21,13 @@ import crypto from "node:crypto";
12
21
  * message so the CLI surfaces the failing URL to the author.
13
22
  */
14
23
  export async function fetchJson(baseUrl, suffix) {
15
- // `new URL(rel, base)` requires the base to end with `/` for the path to
16
- // be appended rather than replacing the last segment.
17
- const baseWithSlash = baseUrl.endsWith("/") ? baseUrl : baseUrl + "/";
18
- const url = new URL(suffix, baseWithSlash).href;
24
+ // If the declared URL already points at the artefact, use it verbatim;
25
+ // otherwise treat it as a base and append `<suffix>`. `new URL(rel, base)`
26
+ // requires the base to end with `/` for the path to be appended rather
27
+ // than replacing the last segment.
28
+ const url = baseUrl.endsWith(`/${suffix}`)
29
+ ? baseUrl
30
+ : new URL(suffix, baseUrl.endsWith("/") ? baseUrl : baseUrl + "/").href;
19
31
  const res = await fetch(url, { redirect: "follow" });
20
32
  if (!res.ok) {
21
33
  throw new Error(`[cef typegen] fetch ${url} → ${res.status}`);
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/typegen/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAmBjC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAe,EACf,MAAsC;IAEtC,yEAAyE;IACzE,sDAAsD;IACtD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;IACtE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC;IAEhD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,6BAA6B,EAAE,GAAG,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,oBAAqB,GAAa,CAAC,OAAO,EAAE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GACb,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/typegen/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAmBjC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAe,EACf,MAAsC;IAEtC,uEAAuE;IACvE,2EAA2E;IAC3E,uEAAuE;IACvE,mCAAmC;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;QACxC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;IAE1E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,6BAA6B,EAAE,GAAG,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,uBAAuB,GAAG,oBAAqB,GAAa,CAAC,OAAO,EAAE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GACb,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cef-ai/cli",
3
- "version": "0.5.1",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -16,12 +16,12 @@
16
16
  "dependencies": {
17
17
  "@noble/ed25519": "^2.1.0",
18
18
  "@noble/hashes": "^2.2.0",
19
- "canonicalize": "^3.0.0",
20
19
  "commander": "^12.0.0",
21
20
  "esbuild": "^0.21.0",
22
21
  "json-schema-to-typescript": "^14.0.0",
23
22
  "typescript": "^5.4.0",
24
- "@cef-ai/agent-sdk": "0.1.0"
23
+ "@cef-ai/agent-sdk": "1.1.0",
24
+ "@cef-ai/transport": "1.0.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "^20.11.0",