@cef-ai/cli 2.2.4 → 2.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.js CHANGED
@@ -21,6 +21,31 @@
21
21
  */
22
22
  /** CNS name for the agents directory DAG (analogous to model-cli's "models"). */
23
23
  export const CNS_AGENTS_NAME = "agents";
24
+ /**
25
+ * CNS name for the STANDALONE widgets directory DAG.
26
+ *
27
+ * A widget shipped inside an agent's bundle still lives under that agent's
28
+ * version node (`VERSION_WIDGETS_NAME`) and is unaffected by this. This root is
29
+ * for a widget published on its own — one that belongs to the agent SERVICE
30
+ * rather than to any single agent, and therefore has no agent version to hang
31
+ * off. The two coexist: the same bucket can carry both roots, and a reader
32
+ * finds a widget wherever it was published.
33
+ */
34
+ export const CNS_WIDGETS_NAME = "widgets";
35
+ /**
36
+ * CNS name for the cubby DECLARATIONS directory DAG.
37
+ *
38
+ * A third root beside `agents` and `widgets`, and for the same reason: the
39
+ * bucket IS the registry. An agent's cubbies travel inside its manifest, so a
40
+ * cubby the agent SERVICE owns — belonging to no single agent — sits here, and
41
+ * the orchestrator reads it the same way it reads a manifest:
42
+ * `{cdn}/{bucketId}/cubbies/{alias}/{version|latest}/cubby.json`.
43
+ */
44
+ export const CNS_CUBBIES_NAME = "cubbies";
45
+ /** Link name of the declaration leaf inside a cubby version node. */
46
+ export const CUBBY_DESCRIPTOR_NAME = "cubby.json";
47
+ /** Link name for the descriptor leaf inside a standalone widget version node. */
48
+ export const WIDGET_DESCRIPTOR_NAME = "widget.json";
24
49
  /** Link name for the manifest leaf inside a version node. */
25
50
  export const VERSION_MANIFEST_NAME = "manifest.json";
26
51
  /** Link name for the bundle leaf inside a version node. */
@@ -179,9 +204,9 @@ async function storeWidgetDir(client, ddc, bucketId, files, storeOpts) {
179
204
  * a just-written node through a CDN can lag, and treating that lag as "the
180
205
  * directory is empty" turns a successful push into a reported data loss.
181
206
  */
182
- async function resolvedDirectory(client, bucketId) {
207
+ async function resolvedDirectory(client, bucketId, cnsName) {
183
208
  try {
184
- const uri = await client.resolveName(bucketId, CNS_AGENTS_NAME);
209
+ const uri = await client.resolveName(bucketId, cnsName);
185
210
  const resp = await client.read(new DagNodeUriShim(bucketId, uri.toString()));
186
211
  return resp.links ?? [];
187
212
  }
@@ -244,6 +269,102 @@ export function resolveDdcCredential(opts) {
244
269
  }
245
270
  return phrase ? { secretPhrase: phrase } : { accessToken: token };
246
271
  }
272
+ /**
273
+ * Put one version under a bucket registry root, and make sure it stayed there.
274
+ *
275
+ * The shape is the same for every kind of thing the bucket registers:
276
+ *
277
+ * CNS "<root>" → directory DAG → per-entry record → per-version node
278
+ *
279
+ * with the record carrying `<version>` and `latest`. Agents use the `agents`
280
+ * root; a standalone widget uses `widgets`. The dance is identical, which is
281
+ * exactly why it is written once — the expensive bug here was a second copy
282
+ * that verified slightly differently.
283
+ *
284
+ * READ-MODIFY-WRITE OVER A POINTER WITH NO COMPARE-AND-SET. A directory read
285
+ * that came back stale silently DROPS every entry published since. Observed,
286
+ * not theorised: three agents registered back to back left the middle one
287
+ * absent from the registry — the manifest was stored, the record existed, and
288
+ * nothing pointed at it. So the write is verified against what the pointer
289
+ * RESOLVES TO afterwards (reading back our own stored node proves nothing: it
290
+ * is content-addressed and cannot disagree with itself) and retried once
291
+ * against a fresh read. One retry, because a second failure is not a stale
292
+ * read any more and a silent loop would hide it.
293
+ */
294
+ async function registerVersion(input) {
295
+ const { client, ddc, bucketId, cnsName, entryName, version, versionCid, versionSize, storeOpts } = input;
296
+ // A brand-new bucket has no root yet, so the resolve throws `Cannot resolve
297
+ // CNS name`; treat the bucket as empty and create the root below. Announce
298
+ // that case so the (now-silenced) ddc-client miss is not mistaken for a
299
+ // failure. Any other resolve error is likewise treated as "no directory
300
+ // here", matching prior behaviour.
301
+ let directoryCid = "";
302
+ try {
303
+ const resolved = await client.resolveName(bucketId, cnsName);
304
+ directoryCid = resolved.toString();
305
+ }
306
+ catch (e) {
307
+ const msg = e instanceof Error ? e.message : String(e);
308
+ if (msg.includes("Cannot resolve CNS name")) {
309
+ console.log(` first push to bucket ${bucketId}: creating the "${cnsName}" registry root`);
310
+ }
311
+ directoryCid = "";
312
+ }
313
+ // Per-entry record DAG — `<version>` + `latest` links. Read the existing
314
+ // record (via the directory) so we preserve other versions.
315
+ let existingRecordLinks = [];
316
+ let dirLinks = [];
317
+ if (directoryCid) {
318
+ dirLinks = await readLinks(client, bucketId, directoryCid);
319
+ const recordLink = dirLinks.find((l) => l.name === entryName);
320
+ if (recordLink) {
321
+ existingRecordLinks = await readLinks(client, bucketId, recordLink.cid);
322
+ }
323
+ }
324
+ let recordLinks = upsertLink(existingRecordLinks, ddc, version, versionCid, versionSize);
325
+ recordLinks = upsertLink(recordLinks, ddc, "latest", versionCid, versionSize);
326
+ const recordUri = await client.store(bucketId, new ddc.DagNode(null, recordLinks), storeOpts);
327
+ const recordCid = recordUri.cid;
328
+ // Everything the directory must still name afterwards: what we read going
329
+ // in, plus the entry we are adding. This is the list the CNS pointer is
330
+ // checked against — not the node we stored, which cannot disagree with itself.
331
+ const expected = [...new Set([...dirLinks.map((l) => l.name).filter(Boolean), entryName])];
332
+ let dirUri = await client.store(bucketId, new ddc.DagNode(null, upsertLink(dirLinks, ddc, entryName, recordCid, versionSize)), { name: cnsName, ...(storeOpts ?? {}) });
333
+ const after = await resolvedDirectory(client, bucketId, cnsName);
334
+ if (after === null) {
335
+ // Could not read it back. Unknown is not lost: the write returned a CID,
336
+ // and a CDN read of a just-written pointer lags routinely. Saying
337
+ // "dropping entries" here would fail a push that succeeded.
338
+ console.warn(`[cef] could not read the ${cnsName} directory back after writing ${entryName}; `
339
+ + `the write returned ${dirUri.cid} and was not verified`);
340
+ }
341
+ else if (missingFrom(after, expected).length > 0) {
342
+ // Someone else's registration landed between our read and our write, and
343
+ // repointing CNS cut it out. Merge over what is actually there now.
344
+ const lost = missingFrom(after, expected);
345
+ console.warn(`[cef] the ${cnsName} directory is missing ${lost.join(", ")} after writing ${entryName}; `
346
+ + `merging over a fresh read and retrying`);
347
+ const fresh = await resolvedDirectory(client, bucketId, cnsName);
348
+ if (fresh === null) {
349
+ throw new Error(`[cef] the ${cnsName} directory lost ${lost.join(", ")} and cannot be re-read to repair it`);
350
+ }
351
+ // Union, so a concurrent registration survives this write even though it
352
+ // was absent from the list we started with.
353
+ const merged = [...fresh];
354
+ for (const l of dirLinks) {
355
+ if (l.name && l.name !== entryName && !merged.some((m) => m.name === l.name))
356
+ merged.push(l);
357
+ }
358
+ dirUri = await client.store(bucketId, new ddc.DagNode(null, upsertLink(merged, ddc, entryName, recordCid, versionSize)), { name: cnsName, ...(storeOpts ?? {}) });
359
+ const settled = await resolvedDirectory(client, bucketId, cnsName);
360
+ const stillMissing = settled === null ? [] : missingFrom(settled, expected);
361
+ if (stillMissing.length > 0) {
362
+ throw new Error(`[cef] the ${cnsName} directory is dropping entries (${stillMissing.join(", ")}); `
363
+ + `the registry pointer is being overwritten concurrently — retry when other pushes have finished`);
364
+ }
365
+ }
366
+ return { recordCid, directoryCid: dirUri.cid };
367
+ }
247
368
  export async function pushAgentVersion(input) {
248
369
  const ddc = await loadDdc(input.ddcModuleImpl);
249
370
  const { bucketId, agentName, version, bundleBytes, widgets = [] } = input;
@@ -315,97 +436,28 @@ export async function pushAgentVersion(input) {
315
436
  const versionCid = versionUri.cid;
316
437
  // Advisory size recorded on the record/dir links (metadata only).
317
438
  const versionSize = bundle.size + manifest.size;
318
- // Resolve the existing agents directory (if any) for read-modify-write.
319
- // A brand-new bucket has no `agents` root yet, so the resolve throws
320
- // `Cannot resolve CNS name: "agents"`; we treat the bucket as empty and
321
- // Step 6 creates the root. Announce that case so the (now-silenced)
322
- // ddc-client miss is not mistaken for a failure. Any other resolve error is
323
- // likewise treated as "no directory here", matching prior behaviour.
324
- let directoryCid = "";
325
- try {
326
- const resolved = await client.resolveName(bucketId, CNS_AGENTS_NAME);
327
- directoryCid = resolved.toString();
328
- }
329
- catch (e) {
330
- const msg = e instanceof Error ? e.message : String(e);
331
- if (msg.includes("Cannot resolve CNS name")) {
332
- console.log(` first push to bucket ${bucketId}: creating the "${CNS_AGENTS_NAME}" registry root`);
333
- }
334
- directoryCid = "";
335
- }
336
- // Step 5: per-agent record DAG — `<version>` + `latest` links. Read the
337
- // existing record (via the directory) so we preserve other versions.
338
- let existingRecordLinks = [];
339
- let dirLinks = [];
340
- if (directoryCid) {
341
- dirLinks = await readLinks(client, bucketId, directoryCid);
342
- const recordLink = dirLinks.find((l) => l.name === agentName);
343
- if (recordLink) {
344
- existingRecordLinks = await readLinks(client, bucketId, recordLink.cid);
345
- }
346
- }
347
- let recordLinks = upsertLink(existingRecordLinks, ddc, version, versionCid, versionSize);
348
- recordLinks = upsertLink(recordLinks, ddc, "latest", versionCid, versionSize);
349
- const recordNode = new ddc.DagNode(null, recordLinks);
350
- const recordUri = await client.store(bucketId, recordNode, storeOpts);
351
- const recordCid = recordUri.cid;
352
- // Step 6: agents directory DAG — upsert the agent's record link, then store
353
- // WITH the CNS `name` option so the pointer is written atomically.
354
- //
355
- // This is a read-modify-write over a pointer with no compare-and-set, so a
356
- // directory read that came back stale silently DROPS every agent published
357
- // since. Observed, not theorised: three agents registered back to back left
358
- // the middle one absent from the registry — the manifest was stored, the
359
- // record existed, and nothing pointed at it. `manifest not found`, for an
360
- // agent whose push had printed a tick.
361
- //
362
- // So the write is verified and retried once against a fresh read. One retry,
363
- // because a second failure is not a stale read any more and a silent loop
364
- // would hide it.
365
- // Everything the directory must still name afterwards: what we read going in,
366
- // plus the agent we are adding. This is the list the CNS pointer is checked
367
- // against -- not the node we stored, which cannot disagree with itself.
368
- const expected = [...new Set([...dirLinks.map((l) => l.name).filter(Boolean), agentName])];
369
- let dirUri = await client.store(bucketId, new ddc.DagNode(null, upsertLink(dirLinks, ddc, agentName, recordCid, versionSize)), { name: CNS_AGENTS_NAME, ...(storeOpts ?? {}) });
370
- const after = await resolvedDirectory(client, bucketId);
371
- // Could not read it back. Unknown is not lost: the write returned a CID, and
372
- // a CDN read of a just-written pointer lags routinely. Saying "dropping
373
- // entries" here would fail a push that succeeded.
374
- if (after === null) {
375
- console.warn(`[cef] could not read the agents directory back after writing ${agentName}; `
376
- + `the write returned ${dirUri.cid} and was not verified`);
377
- }
378
- else if (missingFrom(after, expected).length > 0) {
379
- // Someone else's registration landed between our read and our write, and
380
- // repointing CNS cut it out. Merge over what is actually there now.
381
- const lost = missingFrom(after, expected);
382
- console.warn(`[cef] the agents directory is missing ${lost.join(", ")} after writing ${agentName}; `
383
- + `merging over a fresh read and retrying`);
384
- const fresh = await resolvedDirectory(client, bucketId);
385
- if (fresh === null) {
386
- throw new Error(`[cef] the agents directory lost ${lost.join(", ")} and cannot be re-read to repair it`);
387
- }
388
- // Union, so a concurrent registration survives this write even though it
389
- // was absent from the list we started with.
390
- const merged = [...fresh];
391
- for (const l of dirLinks) {
392
- if (l.name && l.name !== agentName && !merged.some((m) => m.name === l.name))
393
- merged.push(l);
394
- }
395
- dirUri = await client.store(bucketId, new ddc.DagNode(null, upsertLink(merged, ddc, agentName, recordCid, versionSize)), { name: CNS_AGENTS_NAME, ...(storeOpts ?? {}) });
396
- const settled = await resolvedDirectory(client, bucketId);
397
- const stillMissing = settled === null ? [] : missingFrom(settled, expected);
398
- if (stillMissing.length > 0) {
399
- throw new Error(`[cef] the agents directory is dropping entries (${stillMissing.join(", ")}); `
400
- + `the registry pointer is being overwritten concurrently — retry when other pushes have finished`);
401
- }
402
- }
439
+ // Register the version under the bucket's `agents` registry root. The
440
+ // read-modify-write, the verification and the one retry all live in
441
+ // `registerVersion` because a WIDGET push needs exactly the same dance
442
+ // against its own root, and the last bug in this area was copy-drift.
443
+ const registered = await registerVersion({
444
+ client,
445
+ ddc,
446
+ bucketId,
447
+ cnsName: CNS_AGENTS_NAME,
448
+ entryName: agentName,
449
+ version,
450
+ versionCid,
451
+ versionSize,
452
+ storeOpts,
453
+ });
454
+ const recordCid = registered.recordCid;
403
455
  return {
404
456
  leafCid: bundle.cid,
405
457
  manifestCid: manifest.cid,
406
458
  versionCid,
407
459
  recordCid,
408
- directoryCid: dirUri.cid,
460
+ directoryCid: registered.directoryCid,
409
461
  widgetsCid,
410
462
  widgets: widgetDirs.map((w) => ({ id: w.id, dirCid: w.dirCid, fileCount: w.fileCount })),
411
463
  };
@@ -414,4 +466,147 @@ export async function pushAgentVersion(input) {
414
466
  await client.disconnect?.().catch(() => { });
415
467
  }
416
468
  }
469
+ /**
470
+ * Publish one standalone widget version.
471
+ *
472
+ * THE VERSION NODE IS THE SERVABLE DIRECTORY. An agent-shipped widget gets a
473
+ * directory node of its own because the agent's version node is already full
474
+ * of the agent's things; a standalone widget has nothing else in its version,
475
+ * so its files are linked straight into it. That means the version CID is
476
+ * exactly what the content gateway serves the entry file from —
477
+ * `<gateway>/<bucketId>/<versionCid>/<entry>` — and it is the same
478
+ * `{bucketId, cid}` + `entry` pair every existing widget reader already
479
+ * resolves. No new reader had to learn anything.
480
+ *
481
+ * `widget.json` sits beside the assets in that same node, so a reader that
482
+ * walked the registry to `widgets/<name>/latest/` finds the description of
483
+ * what it is looking at without a second hop.
484
+ */
485
+ /**
486
+ * Store a file listing as a DAG, preserving its directory shape.
487
+ *
488
+ * Names may carry slashes (`assets/index-abc.js`); each path segment becomes a
489
+ * nested DagNode. This is not cosmetic: the content gateway resolves the part
490
+ * of a URL after the CID as a DAG PATH, walking one link per segment, so a
491
+ * single link literally named `assets/index-abc.js` is unreachable over HTTP —
492
+ * the entry HTML's own `<script src="assets/…">` would 404. A widget built by
493
+ * any bundler has that shape, so flattening was never an option.
494
+ */
495
+ async function storeTree(client, ddc, bucketId, files, storeOpts) {
496
+ const here = [];
497
+ const dirs = new Map();
498
+ for (const f of files) {
499
+ const slash = f.name.indexOf("/");
500
+ if (slash < 0) {
501
+ here.push(f);
502
+ continue;
503
+ }
504
+ const dir = f.name.slice(0, slash);
505
+ const rest = f.name.slice(slash + 1);
506
+ const bucket = dirs.get(dir) ?? [];
507
+ bucket.push({ name: rest, bytes: f.bytes });
508
+ dirs.set(dir, bucket);
509
+ }
510
+ const links = [];
511
+ let size = 0;
512
+ for (const f of here) {
513
+ const leaf = await storeLeaf(client, ddc, bucketId, f.bytes, storeOpts);
514
+ links.push(new ddc.Link(leaf.cid, leaf.size, f.name));
515
+ size += leaf.size;
516
+ }
517
+ for (const [dir, contents] of dirs) {
518
+ const sub = await storeTree(client, ddc, bucketId, contents, storeOpts);
519
+ const node = await client.store(bucketId, new ddc.DagNode(null, sub.links), storeOpts);
520
+ links.push(new ddc.Link(node.cid, sub.size, dir));
521
+ size += sub.size;
522
+ }
523
+ return { links, size };
524
+ }
525
+ export async function pushWidgetVersion(input) {
526
+ const ddc = await loadDdc(input.ddcModuleImpl);
527
+ const { bucketId, widgetName, version, files } = input;
528
+ if (files.length === 0) {
529
+ throw new Error(`[cef push] widget "${widgetName}" has no files to publish — build it first`);
530
+ }
531
+ // The descriptor and an asset cannot both be `widget.json`: one would
532
+ // silently shadow the other in the node, and which one a reader got would
533
+ // depend on link order. Refusing is the only answer that stays true.
534
+ if (files.some((f) => f.name === WIDGET_DESCRIPTOR_NAME)) {
535
+ throw new Error(`[cef push] widget "${widgetName}" ships a file called ${WIDGET_DESCRIPTOR_NAME}, `
536
+ + `which is the name of the descriptor published beside it — rename the file`);
537
+ }
538
+ const signer = new ddc.UriSigner(input.secretPhrase ?? ANON_SIGNER_URI);
539
+ const client = await ddc.DdcClient.create(signer, presetConfig(ddc, input));
540
+ const storeOpts = input.accessToken ? { accessToken: input.accessToken } : undefined;
541
+ try {
542
+ const { links, size } = await storeTree(client, ddc, bucketId, files, storeOpts);
543
+ const descriptor = await storeLeaf(client, ddc, bucketId, input.descriptorBytes, storeOpts);
544
+ links.push(new ddc.Link(descriptor.cid, descriptor.size, WIDGET_DESCRIPTOR_NAME));
545
+ const versionUri = await client.store(bucketId, new ddc.DagNode(null, links), storeOpts);
546
+ const registered = await registerVersion({
547
+ client,
548
+ ddc,
549
+ bucketId,
550
+ cnsName: CNS_WIDGETS_NAME,
551
+ entryName: widgetName,
552
+ version,
553
+ versionCid: versionUri.cid,
554
+ versionSize: size + descriptor.size,
555
+ storeOpts,
556
+ });
557
+ return {
558
+ versionCid: versionUri.cid,
559
+ descriptorCid: descriptor.cid,
560
+ recordCid: registered.recordCid,
561
+ directoryCid: registered.directoryCid,
562
+ size,
563
+ };
564
+ }
565
+ finally {
566
+ await client.disconnect?.().catch(() => { });
567
+ }
568
+ }
569
+ /**
570
+ * Publish one cubby declaration.
571
+ *
572
+ * The version node holds exactly one leaf, `cubby.json`, so the CID the registry
573
+ * resolves to serves the declaration directly — the same
574
+ * `{root}/{name}/{version}/{file}` walk an agent manifest is read by, which is
575
+ * why the orchestrator needed no new kind of reader.
576
+ */
577
+ export async function pushCubbyVersion(input) {
578
+ const ddc = await loadDdc(input.ddcModuleImpl);
579
+ const { bucketId, alias, version } = input;
580
+ const signer = new ddc.UriSigner(input.secretPhrase ?? ANON_SIGNER_URI);
581
+ const client = await ddc.DdcClient.create(signer, presetConfig(ddc, input));
582
+ const storeOpts = input.accessToken ? { accessToken: input.accessToken } : undefined;
583
+ try {
584
+ const descriptor = await storeLeaf(client, ddc, bucketId, input.descriptorBytes, storeOpts);
585
+ const versionNode = new ddc.DagNode(null, [
586
+ new ddc.Link(descriptor.cid, descriptor.size, CUBBY_DESCRIPTOR_NAME),
587
+ ]);
588
+ const versionUri = await client.store(bucketId, versionNode, storeOpts);
589
+ const registered = await registerVersion({
590
+ client,
591
+ ddc,
592
+ bucketId,
593
+ cnsName: CNS_CUBBIES_NAME,
594
+ entryName: alias,
595
+ version,
596
+ versionCid: versionUri.cid,
597
+ versionSize: descriptor.size,
598
+ storeOpts,
599
+ });
600
+ return {
601
+ versionCid: versionUri.cid,
602
+ descriptorCid: descriptor.cid,
603
+ recordCid: registered.recordCid,
604
+ directoryCid: registered.directoryCid,
605
+ size: descriptor.size,
606
+ };
607
+ }
608
+ finally {
609
+ await client.disconnect?.().catch(() => { });
610
+ }
611
+ }
417
612
  //# sourceMappingURL=ddc.js.map
@@ -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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"}
@@ -53,4 +53,24 @@ export interface BuildWidgetManifestOutput {
53
53
  * still query the cubby via `window.WidgetRuntime`.
54
54
  */
55
55
  export declare function buildWidgetManifestForDecl(args: BuildWidgetManifestArgs): BuildWidgetManifestOutput;
56
+ /**
57
+ * Rewrite the manifest baked into a built widget's entry HTML.
58
+ *
59
+ * `cef build` inlines a `window.WidgetSandbox = { manifest: {…} }` block into
60
+ * the entry file and is deliberately deploy-agnostic: it bakes the bare alias
61
+ * and default-environment endpoints. The facts that depend on WHERE the widget
62
+ * is going — its agent-service identity and the environment it calls — are
63
+ * known only at push, and are spliced in here so the uploaded bytes (and
64
+ * therefore the widget's content address) carry them.
65
+ *
66
+ * ONE COPY, used by both push paths. An agent-shipped widget and a
67
+ * service-owned one are stamped identically; while this lived inside the agent
68
+ * push, the second path could only have been a duplicate of a parser whose
69
+ * escaping rules are subtle enough to get quietly wrong.
70
+ *
71
+ * Returns `null` when the entry carries no such block — that is a widget built
72
+ * by something other than `cef build`, and the caller says so rather than
73
+ * silently shipping unstamped values.
74
+ */
75
+ export declare function patchBakedWidgetManifest(source: string, patch: (manifest: Record<string, unknown>) => void): string | null;
56
76
  //# sourceMappingURL=widget-manifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/widget-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAyB,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAe9D,MAAM,WAAW,uBAAuB;IACtC,mDAAmD;IACnD,MAAM,EAAE,YAAY,CAAC;IACrB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,uBAAuB,GAC5B,yBAAyB,CAuD3B"}
1
+ {"version":3,"file":"widget-manifest.d.ts","sourceRoot":"","sources":["../../src/lib/widget-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAyB,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAe9D,MAAM,WAAW,uBAAuB;IACtC,mDAAmD;IACnD,MAAM,EAAE,YAAY,CAAC;IACrB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,uBAAuB,GAC5B,yBAAyB,CAuD3B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GACjD,MAAM,GAAG,IAAI,CAiBf"}
@@ -83,4 +83,42 @@ export function buildWidgetManifestForDecl(args) {
83
83
  });
84
84
  return { manifest, env, warnings };
85
85
  }
86
+ /**
87
+ * Rewrite the manifest baked into a built widget's entry HTML.
88
+ *
89
+ * `cef build` inlines a `window.WidgetSandbox = { manifest: {…} }` block into
90
+ * the entry file and is deliberately deploy-agnostic: it bakes the bare alias
91
+ * and default-environment endpoints. The facts that depend on WHERE the widget
92
+ * is going — its agent-service identity and the environment it calls — are
93
+ * known only at push, and are spliced in here so the uploaded bytes (and
94
+ * therefore the widget's content address) carry them.
95
+ *
96
+ * ONE COPY, used by both push paths. An agent-shipped widget and a
97
+ * service-owned one are stamped identically; while this lived inside the agent
98
+ * push, the second path could only have been a duplicate of a parser whose
99
+ * escaping rules are subtle enough to get quietly wrong.
100
+ *
101
+ * Returns `null` when the entry carries no such block — that is a widget built
102
+ * by something other than `cef build`, and the caller says so rather than
103
+ * silently shipping unstamped values.
104
+ */
105
+ export function patchBakedWidgetManifest(source, patch) {
106
+ const re = /(window\.WidgetSandbox\s*=\s*\{\s*manifest:\s*)(\{[\s\S]*?\})(\s*\}\s*;)/;
107
+ const m = re.exec(source);
108
+ if (!m)
109
+ return null;
110
+ let manifest;
111
+ try {
112
+ // `injectWidgetBridge` escapes `</script` → `<\/script` before baking; JSON
113
+ // treats `\/` as `/`, so JSON.parse recovers the manifest cleanly.
114
+ manifest = JSON.parse(m[2]);
115
+ }
116
+ catch {
117
+ return null;
118
+ }
119
+ patch(manifest);
120
+ // Re-escape `</script` so the spliced JSON can't break out of the <script>.
121
+ const json = JSON.stringify(manifest, null, 2).replace(/<\/script/gi, "<\\/script");
122
+ return source.slice(0, m.index) + m[1] + json + m[3] + source.slice(m.index + m[0].length);
123
+ }
86
124
  //# sourceMappingURL=widget-manifest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget-manifest.js","sourceRoot":"","sources":["../../src/lib/widget-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widget-manifest.js","sourceRoot":"","sources":["../../src/lib/widget-manifest.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": "2.2.4",
3
+ "version": "2.4.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -20,9 +20,9 @@
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": "4.1.0",
24
23
  "@cef-ai/transport": "1.1.0",
25
- "@cef-ai/widget-runtime": "1.1.1"
24
+ "@cef-ai/agent-sdk": "5.0.0",
25
+ "@cef-ai/widget-runtime": "2.0.0"
26
26
  },
27
27
  "optionalDependencies": {
28
28
  "@cere-ddc-sdk/ddc-client": "^2.16.1"