@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/build/load-config.d.ts +65 -4
- package/dist/build/load-config.d.ts.map +1 -1
- package/dist/build/load-config.js.map +1 -1
- package/dist/build/manifest.d.ts +103 -1
- package/dist/build/manifest.d.ts.map +1 -1
- package/dist/build/manifest.js +64 -2
- package/dist/build/manifest.js.map +1 -1
- package/dist/cli-program.d.ts.map +1 -1
- package/dist/cli-program.js +19 -3
- package/dist/cli-program.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +113 -3
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/publish.d.ts +1 -2
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +28 -23
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/push.d.ts +31 -3
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +94 -10
- package/dist/commands/push.js.map +1 -1
- package/dist/lib/ddc.d.ts +87 -15
- package/dist/lib/ddc.d.ts.map +1 -1
- package/dist/lib/ddc.js +110 -31
- package/dist/lib/ddc.js.map +1 -1
- package/package.json +2 -2
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
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
103
|
+
export interface PushAgentVersionResult {
|
|
48
104
|
/** LEAF `bundle.js` piece CID — what the manifest records. */
|
|
49
105
|
leafCid: string;
|
|
50
|
-
/**
|
|
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
|
|
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
|
|
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
|
-
*
|
|
97
|
-
*
|
|
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
|
|
171
|
+
export declare function pushAgentVersion(input: PushAgentVersionInput): Promise<PushAgentVersionResult>;
|
|
100
172
|
export {};
|
|
101
173
|
//# sourceMappingURL=ddc.d.ts.map
|
package/dist/lib/ddc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddc.d.ts","sourceRoot":"","sources":["../../src/lib/ddc.ts"],"names":[],"mappings":"AAAA
|
|
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
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
112
|
-
*
|
|
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
|
|
162
|
+
export async function pushAgentVersion(input) {
|
|
115
163
|
const ddc = await loadDdc(input.ddcModuleImpl);
|
|
116
|
-
const { bucketId, agentName, version, bundleBytes } = input;
|
|
117
|
-
|
|
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
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
const
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
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
|
|
140
|
-
//
|
|
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,
|
|
151
|
-
recordLinks = upsertLink(recordLinks, ddc, "latest", versionCid,
|
|
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
|
|
156
|
-
//
|
|
157
|
-
const newDirLinks = upsertLink(dirLinks, ddc, agentName, recordCid,
|
|
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:
|
|
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 {
|
package/dist/lib/ddc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddc.js","sourceRoot":"","sources":["../../src/lib/ddc.ts"],"names":[],"mappings":"AAAA
|
|
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
|
+
"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.
|
|
23
|
+
"@cef-ai/agent-sdk": "1.4.0",
|
|
24
24
|
"@cef-ai/transport": "1.0.0"
|
|
25
25
|
},
|
|
26
26
|
"optionalDependencies": {
|