@koda-sl/baker-cli 0.122.1-dev.57a9836c5 → 0.123.0-dev.31b784126
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 +89 -16
- package/dist/{chunk-T6HBTZOO.js → chunk-Q3K5TXC6.js} +506 -356
- package/dist/chunk-Q3K5TXC6.js.map +1 -0
- package/dist/cli.js +2519 -1433
- package/dist/cli.js.map +1 -1
- package/dist/engine/index.d.ts +39 -0
- package/dist/engine/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-T6HBTZOO.js.map +0 -1
package/dist/engine/index.d.ts
CHANGED
|
@@ -15,6 +15,10 @@ type ExecRequest = {
|
|
|
15
15
|
/** Run-scoped dedupe key: the backend replays the stored response for a
|
|
16
16
|
* repeated key instead of re-dispatching to the provider (and re-charging). */
|
|
17
17
|
idempotency_key?: string;
|
|
18
|
+
/** Run + node identity, so a completed async job can be mapped back to its
|
|
19
|
+
* frozen run's node by the backend stale-run reconciliation sweep. */
|
|
20
|
+
canvas_run_id?: string;
|
|
21
|
+
node_id?: string;
|
|
18
22
|
};
|
|
19
23
|
type ExecResponse = {
|
|
20
24
|
outputs: Record<string, RawAssetOutput | RawAssetOutput[] | unknown>;
|
|
@@ -54,6 +58,12 @@ declare class BackendClient$1 {
|
|
|
54
58
|
}, signal?: AbortSignal): Promise<void>;
|
|
55
59
|
/** Durable run-history record — POST /api/canvas/runs (idempotent server-side on runId). */
|
|
56
60
|
recordRun(payload: unknown, signal?: AbortSignal): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Chat-scoped blueprint sync — POST /api/creatives/definition. Lets the
|
|
63
|
+
* dashboard draw a scaffolded creative's workflow graph BEFORE the first run.
|
|
64
|
+
* Additive on the backend (never archives siblings, never sets definitionPath).
|
|
65
|
+
*/
|
|
66
|
+
syncCreativeDefinition(payload: unknown, signal?: AbortSignal): Promise<void>;
|
|
57
67
|
getArtifact(kind: string, name: string, version?: string, signal?: AbortSignal): Promise<ArtifactResponse>;
|
|
58
68
|
}
|
|
59
69
|
|
|
@@ -127,6 +137,7 @@ declare const CanvasSchema: z.ZodObject<{
|
|
|
127
137
|
inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
128
138
|
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
129
139
|
when: z.ZodOptional<z.ZodUnknown>;
|
|
140
|
+
regenerate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
130
141
|
}, z.core.$strict>>;
|
|
131
142
|
output: z.ZodOptional<z.ZodObject<{
|
|
132
143
|
node: z.ZodString;
|
|
@@ -256,6 +267,14 @@ type ExecCtx = {
|
|
|
256
267
|
/** Content-addressed cache key for this node execution. Remote delegation
|
|
257
268
|
* derives its idempotency key from it so backend retries never double-charge. */
|
|
258
269
|
cacheKey?: string;
|
|
270
|
+
/**
|
|
271
|
+
* Whether this node's outputs must be downloaded to the local content store.
|
|
272
|
+
* False when NO downstream consumer is a local (ffmpeg/magick) node — the
|
|
273
|
+
* backend already persisted the bytes to R2 with a durable sha256 URL, so the
|
|
274
|
+
* redundant R2→sandbox transfer is skipped and the ref is kept URL-only.
|
|
275
|
+
* Absent/true means download (the safe default for older call sites).
|
|
276
|
+
*/
|
|
277
|
+
downloadOutputs?: boolean;
|
|
259
278
|
client: BackendClient$1;
|
|
260
279
|
assets: AssetStore;
|
|
261
280
|
log: LogFn;
|
|
@@ -318,6 +337,12 @@ type NodeDefinition<I = unknown, P = unknown, O = unknown> = {
|
|
|
318
337
|
outputs: z.ZodType<O>;
|
|
319
338
|
/** "local" runs in-process; "remote" delegates to Convex via ctx.client */
|
|
320
339
|
location: "local" | "remote";
|
|
340
|
+
/**
|
|
341
|
+
* Local node that only forwards asset refs and never reads their bytes
|
|
342
|
+
* (e.g. `collect`). Exempts its upstream producers from the forced R2→disk
|
|
343
|
+
* download local consumers otherwise trigger.
|
|
344
|
+
*/
|
|
345
|
+
passthroughRefs?: true;
|
|
321
346
|
cost?: CostFn<P>;
|
|
322
347
|
validateExtra?: ValidateExtraFn;
|
|
323
348
|
cacheKeyExtras?: CacheKeyExtrasFn;
|
|
@@ -386,6 +411,13 @@ type RunOptions = {
|
|
|
386
411
|
cache_policy?: "read_write" | "bypass" | "read_only";
|
|
387
412
|
/** Max nodes of one layer in flight at once; invalid or missing → 5. */
|
|
388
413
|
concurrency?: number;
|
|
414
|
+
/**
|
|
415
|
+
* Node ids to force fresh for THIS run only (the `--regenerate` flag). Folds
|
|
416
|
+
* the run id into each named node's cache key so it re-renders regardless of
|
|
417
|
+
* the content cache, without editing the canvas. Persistent regeneration uses
|
|
418
|
+
* the per-node `regenerate` field instead.
|
|
419
|
+
*/
|
|
420
|
+
regenerate?: ReadonlySet<string>;
|
|
389
421
|
onProgress?: (event: RunProgressEvent) => void;
|
|
390
422
|
};
|
|
391
423
|
type EngineOptions = {
|
|
@@ -451,6 +483,13 @@ declare class Engine$1 {
|
|
|
451
483
|
private writeFinal;
|
|
452
484
|
private executeOne;
|
|
453
485
|
private materializeNodeOutputs;
|
|
486
|
+
/**
|
|
487
|
+
* Download any URL-only asset ref reachable in a local node's inputs so the
|
|
488
|
+
* bytes are on disk before the local runner stages them. Returns a copy —
|
|
489
|
+
* refs are replaced, never mutated in place, so the producer's cached output
|
|
490
|
+
* (shared object) keeps its URL-only shape.
|
|
491
|
+
*/
|
|
492
|
+
private materializeLocalInputs;
|
|
454
493
|
}
|
|
455
494
|
|
|
456
495
|
type ValidationResult = {
|
package/dist/engine/index.js
CHANGED
package/package.json
CHANGED