@cef-ai/cli 1.3.0 → 1.4.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/dist/lib/ddc.d.ts CHANGED
@@ -7,18 +7,55 @@
7
7
  * Copies the lazy-import + optional-dep pattern from
8
8
  * `packages/vault-sdk/src/internal/delegation-token.ts`.
9
9
  *
10
- * The upload mirrors the model-cli uploader (`ddc-node/tools/compute/
11
- * model-cli/uploader.go`): store the leaf `bundle.js` piece, then build a
12
- * DAG hierarchy `agents` directory → per-agent record → per-version → leaf,
13
- * with a CNS pointer for the `agents` directory and a `latest` link. The
14
- * MANIFEST records only the LEAF piece CID; the DAG exists for listing /
15
- * versioning / browsability.
10
+ * The bucket IS the agent registry. `cef push` builds a DAG hierarchy
11
+ *
12
+ * CNS "agents" → agents directory → per-agent record → per-version node
13
+ *
14
+ * and each per-version node is SELF-DESCRIBING — it links the version's
15
+ * `bundle.js`, its `manifest.json`, and a `widgets/` sub-directory. Readers
16
+ * (ROC, the orchestrator, the marketplace) walk this DAG via the content
17
+ * gateway: `<gateway>/<bucketId>/<cid>/manifest.json`, `.../bundle.js`,
18
+ * `.../widgets/<id>/<entry>`. The manifest still records the bundle's leaf
19
+ * `{bucketId, cid}` (agent runtime fetches it directly), but the version node
20
+ * makes the whole release browsable and content-addressed as one unit.
16
21
  */
17
22
  /** Network preset name, mapped to a DDC SDK `ConfigPreset`. */
18
23
  export type DdcPreset = "MAINNET" | "TESTNET" | "DEVNET";
19
24
  /** CNS name for the agents directory DAG (analogous to model-cli's "models"). */
20
25
  export declare const CNS_AGENTS_NAME = "agents";
21
- export interface PushBundleInput {
26
+ /** Link name for the manifest leaf inside a version node. */
27
+ export declare const VERSION_MANIFEST_NAME = "manifest.json";
28
+ /** Link name for the bundle leaf inside a version node. */
29
+ export declare const VERSION_BUNDLE_NAME = "bundle.js";
30
+ /** Link name for the widgets sub-directory inside a version node. */
31
+ export declare const VERSION_WIDGETS_NAME = "widgets";
32
+ /** One widget's built directory, ready to upload as a directory DAG. */
33
+ export interface WidgetUpload {
34
+ /** Widget id — the link name under the version node's `widgets/` sub-dir. */
35
+ id: string;
36
+ /** Flat file listing (entry HTML + sibling assets). */
37
+ files: {
38
+ name: string;
39
+ bytes: Uint8Array;
40
+ }[];
41
+ }
42
+ /**
43
+ * Content-addressed refs produced while uploading a version, handed to the
44
+ * caller's {@link PushAgentVersionInput.buildManifestBytes} so it can stamp
45
+ * them into the manifest BEFORE the manifest leaf is stored (the version node
46
+ * must contain the final, stamped manifest).
47
+ */
48
+ export interface ManifestRefs {
49
+ /** Leaf CID of `bundle.js`. */
50
+ bundleCid: string;
51
+ /** One entry per uploaded widget, in input order. */
52
+ widgets: Array<{
53
+ id: string;
54
+ dirCid: string;
55
+ fileCount: number;
56
+ }>;
57
+ }
58
+ export interface PushAgentVersionInput {
22
59
  /** DDC bucket id (the substrate signer must own it). */
23
60
  bucketId: bigint;
24
61
  /** Marketplace alias / agent name — the per-agent record name in the DAG. */
@@ -27,11 +64,30 @@ export interface PushBundleInput {
27
64
  version: string;
28
65
  /** Raw `bundle.js` bytes. */
29
66
  bundleBytes: Uint8Array;
67
+ /** Widgets to upload as directory DAGs under the version node's `widgets/`. */
68
+ widgets?: WidgetUpload[];
69
+ /**
70
+ * Produce the final `manifest.json` bytes given the content-addressed refs.
71
+ * Called after the bundle + widgets are stored (so their CIDs can be stamped)
72
+ * and before the manifest leaf + version node are stored. Kept as a callback
73
+ * so this module stays manifest-shape-agnostic.
74
+ */
75
+ buildManifestBytes: (refs: ManifestRefs) => Uint8Array | Promise<Uint8Array>;
30
76
  /**
31
77
  * Substrate secret phrase (Sr25519) — the DDC bucket owner. Distinct from
32
78
  * the AS Ed25519 keypair `cef publish` uses for the marketplace envelope.
79
+ * Exactly one of `secretPhrase` or `accessToken` must be provided.
80
+ */
81
+ secretPhrase?: string;
82
+ /**
83
+ * DDC access token (base58) authorizing writes to the bucket, granted by the
84
+ * bucket owner. Lets a developer who does NOT hold the bucket's secret phrase
85
+ * still push — e.g. a token minted in ROC by the wallet that owns the AS's
86
+ * bucket. When set, the DDC client is constructed with a throwaway signer and
87
+ * the token carries the authority. Exactly one of `secretPhrase` or
88
+ * `accessToken` must be provided.
33
89
  */
34
- secretPhrase: string;
90
+ accessToken?: string;
35
91
  /** Network preset. Defaults to MAINNET. Ignored when `endpoint` is set. */
36
92
  preset?: DdcPreset;
37
93
  /** Explicit blockchain endpoint (overrides `preset`). */
@@ -44,15 +100,25 @@ export interface PushBundleInput {
44
100
  */
45
101
  ddcModuleImpl?: DdcModule;
46
102
  }
47
- export interface PushBundleResult {
103
+ export interface PushAgentVersionResult {
48
104
  /** LEAF `bundle.js` piece CID — what the manifest records. */
49
105
  leafCid: string;
50
- /** Per-version DAG CID. */
106
+ /** LEAF `manifest.json` piece CID stored inside the version node. */
107
+ manifestCid: string;
108
+ /** Per-version DAG CID (links bundle.js + manifest.json + widgets/). */
51
109
  versionCid: string;
52
110
  /** Per-agent record DAG CID. */
53
111
  recordCid: string;
54
- /** `agents` directory DAG CID (the new CNS target). */
112
+ /** `agents` directory DAG CID (the CNS target). */
55
113
  directoryCid: string;
114
+ /** `widgets/` sub-directory DAG CID, or "" when the version has no widgets. */
115
+ widgetsCid: string;
116
+ /** One entry per widget uploaded (empty when none). */
117
+ widgets: Array<{
118
+ id: string;
119
+ dirCid: string;
120
+ fileCount: number;
121
+ }>;
56
122
  }
57
123
  /**
58
124
  * Minimal structural type of the bits of `@cere-ddc-sdk/ddc-client` we use.
@@ -91,11 +157,17 @@ interface DdcClientLike {
91
157
  disconnect?(): Promise<unknown>;
92
158
  }
93
159
  /**
94
- * Upload `bundle.js` to DDC and (re)build the full DAG hierarchy.
160
+ * Upload one agent version to DDC as a self-describing version node and
161
+ * (re)build the DAG hierarchy + CNS pointer around it.
162
+ *
163
+ * Order matters: the bundle and widgets are stored first so their CIDs can be
164
+ * stamped into the manifest (via `buildManifestBytes`); only then is the
165
+ * manifest leaf stored and the version node assembled — so the version node
166
+ * always contains the final, stamped manifest.
95
167
  *
96
- * Returns the leaf piece CID (recorded in the manifest) plus the DAG CIDs
97
- * for diagnostics.
168
+ * Version node links: `bundle.js` (leaf), `manifest.json` (leaf), and — when
169
+ * the version has widgets — `widgets` (a directory DAG of per-widget dirs).
98
170
  */
99
- export declare function pushBundle(input: PushBundleInput): Promise<PushBundleResult>;
171
+ export declare function pushAgentVersion(input: PushAgentVersionInput): Promise<PushAgentVersionResult>;
100
172
  export {};
101
173
  //# sourceMappingURL=ddc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ddc.d.ts","sourceRoot":"","sources":["../../src/lib/ddc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,+DAA+D;AAC/D,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD,iFAAiF;AACjF,eAAO,MAAM,eAAe,WAAW,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,WAAW,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE;QACT,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;KACxE,CAAC;IACF,IAAI,EAAE,KAAK,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;IACrE,OAAO,EAAE,KACP,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,EAChC,KAAK,CAAC,EAAE,QAAQ,EAAE,KACf,OAAO,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,QAAQ,CAAC;IACjE,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,aAAa;IACrB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtF,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC,CAAC;IACtE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,IAAI,MAAM,CAAA;KAAE,CAAC,CAAC;IAChF,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AAoGD;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAiF3B"}
1
+ {"version":3,"file":"ddc.d.ts","sourceRoot":"","sources":["../../src/lib/ddc.ts"],"names":[],"mappings":"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"}
package/dist/lib/ddc.js CHANGED
@@ -7,15 +7,26 @@
7
7
  * Copies the lazy-import + optional-dep pattern from
8
8
  * `packages/vault-sdk/src/internal/delegation-token.ts`.
9
9
  *
10
- * The upload mirrors the model-cli uploader (`ddc-node/tools/compute/
11
- * model-cli/uploader.go`): store the leaf `bundle.js` piece, then build a
12
- * DAG hierarchy `agents` directory → per-agent record → per-version → leaf,
13
- * with a CNS pointer for the `agents` directory and a `latest` link. The
14
- * MANIFEST records only the LEAF piece CID; the DAG exists for listing /
15
- * versioning / browsability.
10
+ * The bucket IS the agent registry. `cef push` builds a DAG hierarchy
11
+ *
12
+ * CNS "agents" → agents directory → per-agent record → per-version node
13
+ *
14
+ * and each per-version node is SELF-DESCRIBING — it links the version's
15
+ * `bundle.js`, its `manifest.json`, and a `widgets/` sub-directory. Readers
16
+ * (ROC, the orchestrator, the marketplace) walk this DAG via the content
17
+ * gateway: `<gateway>/<bucketId>/<cid>/manifest.json`, `.../bundle.js`,
18
+ * `.../widgets/<id>/<entry>`. The manifest still records the bundle's leaf
19
+ * `{bucketId, cid}` (agent runtime fetches it directly), but the version node
20
+ * makes the whole release browsable and content-addressed as one unit.
16
21
  */
17
22
  /** CNS name for the agents directory DAG (analogous to model-cli's "models"). */
18
23
  export const CNS_AGENTS_NAME = "agents";
24
+ /** Link name for the manifest leaf inside a version node. */
25
+ export const VERSION_MANIFEST_NAME = "manifest.json";
26
+ /** Link name for the bundle leaf inside a version node. */
27
+ export const VERSION_BUNDLE_NAME = "bundle.js";
28
+ /** Link name for the widgets sub-directory inside a version node. */
29
+ export const VERSION_WIDGETS_NAME = "widgets";
19
30
  /**
20
31
  * Lazy-load the DDC SDK. Throws an actionable error when the optional
21
32
  * dependency is not installed.
@@ -106,27 +117,92 @@ function presetConfig(ddc, input) {
106
117
  return base;
107
118
  }
108
119
  /**
109
- * Upload `bundle.js` to DDC and (re)build the full DAG hierarchy.
120
+ * Throwaway substrate URI used to construct the DDC client in access-token
121
+ * mode. This key signs nothing that matters — the access token (minted by the
122
+ * bucket owner) is what authorizes every write; the storage node validates the
123
+ * token, not this identity. See {@link pushAgentVersion}.
124
+ */
125
+ const ANON_SIGNER_URI = "//cef-push-anon";
126
+ /** Store raw bytes as a leaf `File` piece → `{cid, size}`. */
127
+ async function storeLeaf(client, ddc, bucketId, bytes, storeOpts) {
128
+ const file = new ddc.File(bytes, { size: bytes.length });
129
+ const uri = await client.store(bucketId, file, storeOpts);
130
+ return { cid: uri.cid, size: bytes.length };
131
+ }
132
+ /**
133
+ * Store one widget's flat file list as a directory DAG: each file → leaf piece,
134
+ * wrapped in a single `DagNode` whose links are the files' basenames. The
135
+ * content gateway then serves `<gateway>/<bucketId>/<dirCid>/<entry>` and the
136
+ * entry HTML's relative `./sibling.js` refs resolve by name under the dir CID.
137
+ */
138
+ async function storeWidgetDir(client, ddc, bucketId, files, storeOpts) {
139
+ const links = [];
140
+ let total = 0;
141
+ for (const f of files) {
142
+ const { cid, size } = await storeLeaf(client, ddc, bucketId, f.bytes, storeOpts);
143
+ links.push(new ddc.Link(cid, size, f.name));
144
+ total += size;
145
+ }
146
+ const dirNode = new ddc.DagNode(null, links);
147
+ const dirUri = await client.store(bucketId, dirNode, storeOpts);
148
+ return { dirCid: dirUri.cid, size: total };
149
+ }
150
+ /**
151
+ * Upload one agent version to DDC as a self-describing version node and
152
+ * (re)build the DAG hierarchy + CNS pointer around it.
153
+ *
154
+ * Order matters: the bundle and widgets are stored first so their CIDs can be
155
+ * stamped into the manifest (via `buildManifestBytes`); only then is the
156
+ * manifest leaf stored and the version node assembled — so the version node
157
+ * always contains the final, stamped manifest.
110
158
  *
111
- * Returns the leaf piece CID (recorded in the manifest) plus the DAG CIDs
112
- * for diagnostics.
159
+ * Version node links: `bundle.js` (leaf), `manifest.json` (leaf), and — when
160
+ * the version has widgets — `widgets` (a directory DAG of per-widget dirs).
113
161
  */
114
- export async function pushBundle(input) {
162
+ export async function pushAgentVersion(input) {
115
163
  const ddc = await loadDdc(input.ddcModuleImpl);
116
- const { bucketId, agentName, version, bundleBytes } = input;
117
- const signer = new ddc.UriSigner(input.secretPhrase);
164
+ const { bucketId, agentName, version, bundleBytes, widgets = [] } = input;
165
+ // Authority for the writes comes from either the bucket owner's secret
166
+ // phrase or an access token minted by that owner. In token mode the client
167
+ // still needs *a* signer to construct, so we use a throwaway URI — the token
168
+ // (validated by the storage node) is what grants the writes, not this key.
169
+ const signer = new ddc.UriSigner(input.secretPhrase ?? ANON_SIGNER_URI);
118
170
  const client = await ddc.DdcClient.create(signer, presetConfig(ddc, input));
171
+ const storeOpts = input.accessToken ? { accessToken: input.accessToken } : undefined;
119
172
  try {
120
- // Step 1: store the leaf bundle.js file piece → LEAF CID.
121
- const file = new ddc.File(bundleBytes, { size: bundleBytes.length });
122
- const fileUri = await client.store(bucketId, file);
123
- const leafCid = fileUri.cid;
124
- const bundleSize = bundleBytes.length;
125
- // Step 2: per-version DAG — links the leaf as "bundle.js".
126
- const versionLinks = [new ddc.Link(leafCid, bundleSize, "bundle.js")];
173
+ // Step 1: store the bundle.js leaf.
174
+ const bundle = await storeLeaf(client, ddc, bucketId, bundleBytes, storeOpts);
175
+ // Step 2: store each widget directory DAG (leaf pieces + one DagNode).
176
+ const widgetDirs = [];
177
+ for (const w of widgets) {
178
+ const { dirCid, size } = await storeWidgetDir(client, ddc, bucketId, w.files, storeOpts);
179
+ widgetDirs.push({ id: w.id, dirCid, size, fileCount: w.files.length });
180
+ }
181
+ // Step 3: build the final manifest (bundle + widget CIDs stamped) and store it.
182
+ const manifestBytes = await input.buildManifestBytes({
183
+ bundleCid: bundle.cid,
184
+ widgets: widgetDirs.map((w) => ({ id: w.id, dirCid: w.dirCid, fileCount: w.fileCount })),
185
+ });
186
+ const manifest = await storeLeaf(client, ddc, bucketId, manifestBytes, storeOpts);
187
+ // Step 4: assemble the version node — bundle.js + manifest.json (+ widgets/).
188
+ const versionLinks = [
189
+ new ddc.Link(bundle.cid, bundle.size, VERSION_BUNDLE_NAME),
190
+ new ddc.Link(manifest.cid, manifest.size, VERSION_MANIFEST_NAME),
191
+ ];
192
+ let widgetsCid = "";
193
+ if (widgetDirs.length > 0) {
194
+ const widgetLinks = widgetDirs.map((w) => new ddc.Link(w.dirCid, w.size, w.id));
195
+ const widgetsNode = new ddc.DagNode(null, widgetLinks);
196
+ const widgetsUri = await client.store(bucketId, widgetsNode, storeOpts);
197
+ widgetsCid = widgetsUri.cid;
198
+ const widgetsTotal = widgetDirs.reduce((n, w) => n + w.size, 0);
199
+ versionLinks.push(new ddc.Link(widgetsCid, widgetsTotal, VERSION_WIDGETS_NAME));
200
+ }
127
201
  const versionNode = new ddc.DagNode(null, versionLinks);
128
- const versionUri = await client.store(bucketId, versionNode);
202
+ const versionUri = await client.store(bucketId, versionNode, storeOpts);
129
203
  const versionCid = versionUri.cid;
204
+ // Advisory size recorded on the record/dir links (metadata only).
205
+ const versionSize = bundle.size + manifest.size;
130
206
  // Resolve the existing agents directory (if any) for read-modify-write.
131
207
  let directoryCid = "";
132
208
  try {
@@ -136,8 +212,8 @@ export async function pushBundle(input) {
136
212
  catch {
137
213
  directoryCid = "";
138
214
  }
139
- // Step 3: per-agent record DAG — `<version>` + `latest` links. Read
140
- // the existing record (via the directory) so we preserve other versions.
215
+ // Step 5: per-agent record DAG — `<version>` + `latest` links. Read the
216
+ // existing record (via the directory) so we preserve other versions.
141
217
  let existingRecordLinks = [];
142
218
  let dirLinks = [];
143
219
  if (directoryCid) {
@@ -147,24 +223,27 @@ export async function pushBundle(input) {
147
223
  existingRecordLinks = await readLinks(client, bucketId, recordLink.cid);
148
224
  }
149
225
  }
150
- let recordLinks = upsertLink(existingRecordLinks, ddc, version, versionCid, bundleSize);
151
- recordLinks = upsertLink(recordLinks, ddc, "latest", versionCid, bundleSize);
226
+ let recordLinks = upsertLink(existingRecordLinks, ddc, version, versionCid, versionSize);
227
+ recordLinks = upsertLink(recordLinks, ddc, "latest", versionCid, versionSize);
152
228
  const recordNode = new ddc.DagNode(null, recordLinks);
153
- const recordUri = await client.store(bucketId, recordNode);
229
+ const recordUri = await client.store(bucketId, recordNode, storeOpts);
154
230
  const recordCid = recordUri.cid;
155
- // Step 4: agents directory DAG — upsert the agent's record link, then
156
- // store WITH the CNS `name` option so the pointer is written atomically.
157
- const newDirLinks = upsertLink(dirLinks, ddc, agentName, recordCid, bundleSize);
231
+ // Step 6: agents directory DAG — upsert the agent's record link, then store
232
+ // WITH the CNS `name` option so the pointer is written atomically.
233
+ const newDirLinks = upsertLink(dirLinks, ddc, agentName, recordCid, versionSize);
158
234
  const dirNode = new ddc.DagNode(null, newDirLinks);
159
235
  const dirUri = await client.store(bucketId, dirNode, {
160
236
  name: CNS_AGENTS_NAME,
237
+ ...(storeOpts ?? {}),
161
238
  });
162
- const newDirectoryCid = dirUri.cid;
163
239
  return {
164
- leafCid,
240
+ leafCid: bundle.cid,
241
+ manifestCid: manifest.cid,
165
242
  versionCid,
166
243
  recordCid,
167
- directoryCid: newDirectoryCid,
244
+ directoryCid: dirUri.cid,
245
+ widgetsCid,
246
+ widgets: widgetDirs.map((w) => ({ id: w.id, dirCid: w.dirCid, fileCount: w.fileCount })),
168
247
  };
169
248
  }
170
249
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"ddc.js","sourceRoot":"","sources":["../../src/lib/ddc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddc.js","sourceRoot":"","sources":["../../src/lib/ddc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cef-ai/cli",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "esbuild": "^0.21.0",
21
21
  "json-schema-to-typescript": "^14.0.0",
22
22
  "typescript": "^5.4.0",
23
- "@cef-ai/agent-sdk": "1.2.0",
23
+ "@cef-ai/agent-sdk": "1.4.0",
24
24
  "@cef-ai/transport": "1.0.0"
25
25
  },
26
26
  "optionalDependencies": {