@field/cascade 0.11.0 → 0.13.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/AGENTS.md +8 -5
- package/ARCHITECTURE.md +5 -4
- package/CHANGELOG.md +245 -0
- package/README.md +1 -1
- package/dist/assets/AgentPanel-1JugFjE4.css +1 -0
- package/dist/assets/AgentPanel-BDL5MddA.js +5 -0
- package/dist/assets/{CodeEditor-4O7FQ__R.js → CodeEditor-C-xYG-Wn.js} +120 -120
- package/dist/assets/CodePanel-CtXd50m6.js +2 -0
- package/dist/assets/CookInfoPanel-B3NMhKJF.css +1 -0
- package/dist/assets/CookInfoPanel-DG4_TRsX.js +2 -0
- package/dist/assets/CustomNodeDialog-CHfZUs-r.js +1 -0
- package/dist/assets/DefinitionNode-CaRTXQ_b.js +1 -0
- package/dist/assets/DefinitionPanel-C3CxZY9r.js +1 -0
- package/dist/assets/DefinitionPanel-VNLnAiQD.css +1 -0
- package/dist/assets/OpenGraphDialog-BLdr6k_q.js +1 -0
- package/dist/assets/ProjectSettings-ZnvmIAir.js +2 -0
- package/dist/assets/{SettingsDialog-Bz8JxISH.js → SettingsDialog-CBX3Wa87.js} +1 -1
- package/dist/assets/TimelinePanel-CDeR0arY.css +1 -0
- package/dist/assets/TimelinePanel-CWgnFH1e.js +1 -0
- package/dist/assets/{VersionHistoryDialog-D5Z0nJ5-.js → VersionHistoryDialog-BOSoW1R-.js} +1 -1
- package/dist/assets/assert-BO2_erPD.js +1 -0
- package/dist/assets/assert-hvykGCnP.js +1 -0
- package/dist/assets/builder-BmBKcDix.js +1 -0
- package/dist/assets/camera-DFF7YA3F.js +1 -0
- package/dist/assets/checks-DAvyO9Gf.js +1 -0
- package/dist/assets/contactSheet-N1NcaWxw.js +2 -0
- package/dist/assets/{core-Yqi0Ni61.js → core-DB-MkGjj.js} +3 -4
- package/dist/assets/coreTypes-DtnDATZ7.js +1 -0
- package/dist/assets/{cssMode-CxUzc4vp.js → cssMode-DPVckSOc.js} +1 -1
- package/dist/assets/definitions-B227e7f_.js +1 -0
- package/dist/assets/definitions-D0WOUJd7.js +1 -0
- package/dist/assets/{editor.api-BNFb25CX.js → editor.api-Dkutg_Z1.js} +1 -1
- package/dist/assets/expressions-X-Z-GrgW.js +5 -0
- package/dist/assets/file-DAL6IfjV.js +1 -0
- package/dist/assets/filters-D3k1LRMa.js +1 -0
- package/dist/assets/{freemarker2-0ZDnWxeM.js → freemarker2-CLiLKk3B.js} +1 -1
- package/dist/assets/generators-BhDxRAFC.js +1 -0
- package/dist/assets/geo-BsMImJIJ.js +1 -0
- package/dist/assets/geo-C4YngDob.js +2 -0
- package/dist/assets/{handlebars-Cy18MoaD.js → handlebars-CcD3aMeL.js} +1 -1
- package/dist/assets/{html-B-2Dx7nq.js → html-DvZWGfqb.js} +1 -1
- package/dist/assets/{htmlMode-DUAc9B_d.js → htmlMode-DUD3VaoN.js} +1 -1
- package/dist/assets/image-0SfH-snh.js +1 -0
- package/dist/assets/image-Ck-RdGU4.js +2 -0
- package/dist/assets/index-BWnrmIB9.js +137 -0
- package/dist/assets/index-DIaxEONI.css +1 -0
- package/dist/assets/io-BGmt2g0D.js +1 -0
- package/dist/assets/{javascript-DeQsDqP5.js → javascript-Cap2ahgh.js} +1 -1
- package/dist/assets/{jsonMode-BiFwJVSk.js → jsonMode-B0uLjp9C.js} +1 -1
- package/dist/assets/{liquid-BLoHH68a.js → liquid-CnxwhfLn.js} +1 -1
- package/dist/assets/{lspLanguageFeatures-CNFgm1Kv.js → lspLanguageFeatures-Dn9hlKX6.js} +1 -1
- package/dist/assets/math-GeULS-sk.js +1 -0
- package/dist/assets/{mdx-CFXQVNfs.js → mdx-BV3jbrVa.js} +1 -1
- package/dist/assets/pop-KMF_qloi.js +1 -0
- package/dist/assets/preload-helper-Czpn1I53.js +1 -0
- package/dist/assets/{python-Cf7S7p2E.js → python-CGyFk4XK.js} +1 -1
- package/dist/assets/{razor-CMHBcG-g.js → razor-CQfzX3-N.js} +1 -1
- package/dist/assets/remap-5SjXQU-q.js +1 -0
- package/dist/assets/renderMarkdown-ork0Oir7.js +67 -0
- package/dist/assets/studioImages-CAyH-0Pl.js +1 -0
- package/dist/assets/text-ZpX7qNkx.js +2 -0
- package/dist/assets/time-P_OiBhcf.js +1 -0
- package/dist/assets/{tsMode-BEih0GDj.js → tsMode-BOeXzO9H.js} +1 -1
- package/dist/assets/{typescript-COEKYD_a.js → typescript-J1SnE_Tu.js} +1 -1
- package/dist/assets/{workers-BNhAhMNn.js → workers-CYwwTiVF.js} +1 -1
- package/dist/assets/{xml-CPiMpnPl.js → xml-DnPRNzK9.js} +1 -1
- package/dist/assets/{yaml-Bgp1ITLR.js → yaml-BmmYBNa9.js} +1 -1
- package/dist/cli/DefinitionNode-P7AA4TAU.js +15 -0
- package/dist/cli/{Graph-ZJJTRQTM.js → Graph-OB6EWSGL.js} +12 -12
- package/dist/cli/assert-GROGQNCQ.js +25 -0
- package/dist/cli/checks-3WB44XBL.js +189 -0
- package/dist/cli/{chunk-3JTJHF7V.js → chunk-2L34ERS2.js} +4 -4
- package/dist/cli/chunk-53LGFPWX.js +138 -0
- package/dist/cli/chunk-5ORUQ6ES.js +267 -0
- package/dist/cli/{chunk-YAT5Y25U.js → chunk-7QE2ZNSN.js} +3 -3
- package/dist/cli/{chunk-SGJAET2L.js → chunk-BPODRH52.js} +8 -4
- package/dist/cli/{chunk-XWDSKG7N.js → chunk-BZ63XQ3I.js} +2 -2
- package/dist/cli/{chunk-FCDXJ6EK.js → chunk-CTPLRSWF.js} +2 -13
- package/dist/cli/{chunk-WIH4TEIS.js → chunk-EZRWJ4G2.js} +1 -1
- package/dist/cli/{chunk-BIJO5OFS.js → chunk-FWMSGKEH.js} +1 -1
- package/dist/cli/{chunk-POMMNKZZ.js → chunk-G23A2BZZ.js} +38 -5
- package/dist/cli/{chunk-35D343DC.js → chunk-GRIN2DDP.js} +19 -1
- package/dist/cli/{chunk-WKURDVYP.js → chunk-JEW5MPGI.js} +28 -331
- package/dist/cli/chunk-JVOCK5W4.js +83 -0
- package/dist/cli/chunk-KBGUO27Q.js +15 -0
- package/dist/cli/{chunk-GFS6W3C5.js → chunk-L6B6FUQP.js} +54 -32
- package/dist/cli/chunk-LTXWBXOM.js +438 -0
- package/dist/cli/chunk-MI5JLQYA.js +220 -0
- package/dist/cli/{chunk-A4OAMOZH.js → chunk-NJFMDXHR.js} +13 -3
- package/dist/cli/{chunk-DUIUFVU2.js → chunk-OBZAP3GG.js} +49 -23
- package/dist/cli/chunk-QAGATJGE.js +336 -0
- package/dist/cli/{chunk-EUIAC3U3.js → chunk-QKL7CCRS.js} +966 -132
- package/dist/cli/{chunk-RLCAJBVR.js → chunk-TJW67QSI.js} +8 -7
- package/dist/cli/{chunk-RQZ4SX5R.js → chunk-W5PJ5RMP.js} +156 -84
- package/dist/cli/chunk-W7OUAT7J.js +122 -0
- package/dist/cli/chunk-WGKPJZDY.js +364 -0
- package/dist/cli/{chunk-D6BUOHUG.js → chunk-X4WKAOQP.js} +4 -4
- package/dist/cli/{chunk-VVGSLVSF.js → chunk-X566FWBV.js} +6 -1
- package/dist/cli/chunk-YH637PDL.js +317 -0
- package/dist/cli/chunk-ZSCUZE6I.js +112 -0
- package/dist/cli/{cliCommands-UQSFGEHF.js → cliCommands-XVFRD7CF.js} +23 -17
- package/dist/cli/{commands-Q23M26QM.js → commands-M2XLTPTZ.js} +129 -47
- package/dist/cli/contactSheet-2PQVRUFW.js +11 -0
- package/dist/cli/{definitions-HF2FTHYU.js → definitions-BPOPW52L.js} +7 -7
- package/dist/cli/{doctorCommand-B7BPQMN6.js → doctorCommand-RAEI7GVY.js} +36 -6
- package/dist/cli/{edit-JHCPTQFT.js → edit-S5KEQ5RA.js} +3 -3
- package/dist/cli/editorCommands-5BBG4S6V.js +41 -0
- package/dist/cli/{encode-HAUZTYPT.js → encode-ICPEPMH5.js} +2 -2
- package/dist/cli/file-3HTQHPYQ.js +41 -0
- package/dist/cli/filters-6ODFWYK4.js +379 -0
- package/dist/cli/generators-YU7GB4MD.js +210 -0
- package/dist/cli/{geo-4RNK3QVN.js → geo-6ZPGKZRU.js} +7 -7
- package/dist/cli/{graphCommands-6BMAKGQE.js → graphCommands-MULQ7VD2.js} +4 -4
- package/dist/cli/{graphFile-VPSQ6OF7.js → graphFile-CITF36ZM.js} +25 -19
- package/dist/cli/{headlessCanvas-5XLDZT7M.js → headlessCanvas-ENRHC7GS.js} +3 -2
- package/dist/cli/{helpCommand-3VRE3KVO.js → helpCommand-X2QDANM3.js} +9 -7
- package/dist/cli/image-TXELZZK5.js +55 -0
- package/dist/cli/index.js +14 -14
- package/dist/cli/{math-ZRMLKU2D.js → math-RSYRQ3C6.js} +5 -5
- package/dist/cli/{mcp-ZLEEMYGF.js → mcp-YRIGRLYQ.js} +4 -4
- package/dist/cli/{parity-KINARCP2.js → parity-3N3HTKWX.js} +42 -36
- package/dist/cli/{pop-USDFXB7H.js → pop-B7SIIYKN.js} +5 -5
- package/dist/cli/project-SJF5ZF3F.js +12 -0
- package/dist/cli/{projectDefinition-DMTZN2NE.js → projectDefinition-F3D7UIHJ.js} +8 -8
- package/dist/cli/{projectRuntime-Z5PJOH47.js → projectRuntime-NY4XMDFH.js} +19 -12
- package/dist/cli/registerStandardNodes-BXJCB6E4.js +744 -0
- package/dist/cli/{render-YURAPPUI.js → render-Y23W6MY6.js} +29 -22
- package/dist/cli/{runCommand-PI764LEG.js → runCommand-XOG7AVC5.js} +3 -3
- package/dist/cli/runner-DNJO5WO2.js +43 -0
- package/dist/cli/runtime/image.ts +27 -2
- package/dist/cli/runtime/io.ts +78 -0
- package/dist/cli/share-B7HTCOJX.js +166 -0
- package/dist/cli/stageCache-TY2BFZJR.js +15 -0
- package/dist/cli/{stageRunner-KUNIMQKJ.js → stageRunner-KY2EJP7X.js} +2 -2
- package/dist/cli/text-MB3EKR4H.js +126 -0
- package/dist/cli/{verbs-RCE3K4VQ.js → verbs-PI2JH5FI.js} +2 -2
- package/dist/cli/webBuild-2K4COCGY.js +44 -0
- package/dist/contracts/capabilities.d.ts +39 -1
- package/dist/contracts/color.d.ts +8 -0
- package/dist/contracts/color.js +23 -0
- package/dist/contracts/definition.d.ts +10 -0
- package/dist/contracts/schema.d.ts +1 -1
- package/dist/contracts/schema.js +1 -0
- package/dist/contracts/validate.js +11 -1
- package/dist/contracts/values.d.ts +24 -0
- package/dist/image.d.ts +15 -0
- package/dist/image.js +36 -2
- package/dist/index.html +8 -2
- package/dist/io.d.ts +29 -0
- package/dist/io.js +40 -0
- package/dist/player/app.js +11 -7
- package/dist/player/editor.js +3 -2
- package/dist/player/editorEngine.js +3 -2
- package/dist/player/embed.js +2 -0
- package/dist/player/types.d.ts +6 -0
- package/dist/runtime/builtins/assert/checks.d.ts +18 -0
- package/dist/runtime/builtins/assert/checks.js +207 -0
- package/dist/runtime/builtins/assert/definitions.d.ts +130 -0
- package/dist/runtime/builtins/assert/definitions.js +54 -0
- package/dist/runtime/builtins/assert/index.d.ts +152 -0
- package/dist/runtime/builtins/assert/index.js +36 -0
- package/dist/runtime/builtins/image/contactSheet.d.ts +3 -165
- package/dist/runtime/builtins/image/contactSheet.js +0 -49
- package/dist/runtime/builtins/image/definitions.d.ts +950 -0
- package/dist/runtime/builtins/image/definitions.js +343 -0
- package/dist/runtime/builtins/image/file.d.ts +8 -0
- package/dist/runtime/builtins/image/file.js +37 -0
- package/dist/runtime/builtins/image/filters.d.ts +8 -0
- package/dist/runtime/builtins/image/filters.js +394 -0
- package/dist/runtime/builtins/image/generators.d.ts +7 -0
- package/dist/runtime/builtins/image/generators.js +144 -0
- package/dist/runtime/builtins/image/index.d.ts +947 -4
- package/dist/runtime/builtins/image/index.js +41 -6
- package/dist/runtime/builtins/image/io.d.ts +100 -0
- package/dist/runtime/builtins/image/io.js +142 -0
- package/dist/runtime/builtins/image/planar.d.ts +55 -0
- package/dist/runtime/builtins/image/planar.js +274 -0
- package/dist/runtime/builtins/image/simplex.d.ts +22 -0
- package/dist/runtime/builtins/image/simplex.js +92 -0
- package/dist/runtime/builtins/image/text.d.ts +4 -0
- package/dist/runtime/builtins/image/text.js +141 -0
- package/dist/runtime/builtins/index.d.ts +3 -0
- package/dist/runtime/builtins/index.js +7 -0
- package/dist/runtime/definition/architecture.js +89 -0
- package/dist/runtime/gpu.d.ts +25 -0
- package/dist/runtime/gpu.js +40 -0
- package/dist/runtime/runtime.d.ts +2 -0
- package/dist/runtime/runtime.js +268 -44
- package/dist/runtime/types.d.ts +30 -0
- package/doc/CLI_REFERENCE.md +21 -3
- package/doc/EDITOR_EXPORT.md +26 -0
- package/doc/MCP.md +2 -1
- package/doc/NODE_REFERENCE.md +286 -14
- package/doc/PROJECT_AUTHORING.md +158 -4
- package/doc/WEB_PLAYER.md +9 -1
- package/package.json +4 -1
- package/dist/assets/CodePanel-BU-autmq.js +0 -2
- package/dist/assets/CustomNodeDialog-BRpDfOV5.js +0 -1
- package/dist/assets/OpenGraphDialog-BwbRlC0X.js +0 -1
- package/dist/assets/ProjectSettings-DLOXLxcA.js +0 -2
- package/dist/assets/definitions-GreEMXLV.js +0 -1
- package/dist/assets/geo-u0n_jOsD.js +0 -1
- package/dist/assets/image-cAa-Nu9O.js +0 -2062
- package/dist/assets/index-5ZtDAuy2.js +0 -220
- package/dist/assets/index-7vae6YFC.css +0 -1
- package/dist/assets/math-DioIQOPJ.js +0 -1
- package/dist/assets/pop-DC_TQG9t.js +0 -1
- package/dist/cli/chunk-36P5K3SD.js +0 -631
- package/dist/cli/chunk-4UDFYF5G.js +0 -132
- package/dist/cli/chunk-53NMBJAO.js +0 -35
- package/dist/cli/chunk-MIIEFUGG.js +0 -623
- package/dist/cli/chunk-QBBKRNGY.js +0 -90
- package/dist/cli/chunk-WPUDGEFY.js +0 -20
- package/dist/cli/editorCommands-UIF5YLUZ.js +0 -33
- package/dist/cli/project-K3QIPGBB.js +0 -12
- package/dist/cli/registerStandardNodes-S2VLMF6J.js +0 -3081
- package/dist/cli/runner-RA6UKEPD.js +0 -37
- package/dist/cli/webBuild-GT4PZT5D.js +0 -37
- package/dist/runtime/builtins/headless.d.ts +0 -19
- package/dist/runtime/builtins/headless.js +0 -25
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
// src/cli/runTrace.ts
|
|
2
|
-
import fs from "node:fs";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
var MAX_NODE_LOGS = 500;
|
|
5
|
-
var MAX_LOG_LINE = 2e3;
|
|
6
|
-
var RunTrace = class {
|
|
7
|
-
constructor(graphFile, cascade, seed) {
|
|
8
|
-
this.graphFile = graphFile;
|
|
9
|
-
this.cascade = cascade;
|
|
10
|
-
this.seed = seed;
|
|
11
|
-
this.runs = [];
|
|
12
|
-
this.current = null;
|
|
13
|
-
/** Stage calls made outside any node (a run with no graph events). */
|
|
14
|
-
this.loose = [];
|
|
15
|
-
this.startedAt = /* @__PURE__ */ new Date();
|
|
16
|
-
this.envNames = [];
|
|
17
|
-
}
|
|
18
|
-
/** Follow one loaded graph's events. Returns the unsubscribe. */
|
|
19
|
-
attach(graph) {
|
|
20
|
-
const modules = new Map(graph.inspect().nodes.map((node) => [node.id, node.moduleId]));
|
|
21
|
-
return graph.subscribe((event) => {
|
|
22
|
-
if (event.type === "run:start") {
|
|
23
|
-
this.runs.push({ runId: event.runId, frame: graph.getFrame(), nodes: [] });
|
|
24
|
-
} else if (event.type === "node:start") {
|
|
25
|
-
const run = this.runs[this.runs.length - 1];
|
|
26
|
-
if (!run) return;
|
|
27
|
-
const node = { id: event.nodeId, module: modules.get(event.nodeId) ?? "", ms: 0, stages: [] };
|
|
28
|
-
run.nodes.push(node);
|
|
29
|
-
this.current = { node, started: performance.now() };
|
|
30
|
-
} else if (event.type === "node:complete" && this.current?.node.id === event.nodeId) {
|
|
31
|
-
this.current.node.ms = Math.round(performance.now() - this.current.started);
|
|
32
|
-
this.current = null;
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
/** Record a stage call against the node cooking now. */
|
|
37
|
-
recordStage(trace) {
|
|
38
|
-
if (this.current) this.current.node.stages.push(trace);
|
|
39
|
-
else this.loose.push(trace);
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Record a line printed while a node cooks, against that node. Returns
|
|
43
|
-
* false when no node is cooking, so the caller leaves the line alone (the
|
|
44
|
-
* CLI's own messages are not node output).
|
|
45
|
-
*/
|
|
46
|
-
recordLog(level, text) {
|
|
47
|
-
const node = this.current?.node;
|
|
48
|
-
if (!node) return false;
|
|
49
|
-
for (const line of text.split("\n")) {
|
|
50
|
-
if (!line.trim()) continue;
|
|
51
|
-
node.logs ??= [];
|
|
52
|
-
if (node.logs.length >= MAX_NODE_LOGS) {
|
|
53
|
-
node.logsDropped = (node.logsDropped ?? 0) + 1;
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
node.logs.push({ level, text: line.length > MAX_LOG_LINE ? `${line.slice(0, MAX_LOG_LINE)}\u2026` : line });
|
|
57
|
-
}
|
|
58
|
-
return true;
|
|
59
|
-
}
|
|
60
|
-
/** Every logged line in order, with its node. */
|
|
61
|
-
logs() {
|
|
62
|
-
return this.runs.flatMap((run) => run.nodes.flatMap((node) => (node.logs ?? []).map((line) => ({ node: node.id, ...line }))));
|
|
63
|
-
}
|
|
64
|
-
/** The names (never the values) of variables `--env` set, for the trace. */
|
|
65
|
-
setEnvNames(names) {
|
|
66
|
-
this.envNames = [...names];
|
|
67
|
-
}
|
|
68
|
-
/** Every stage call in order, with its node. */
|
|
69
|
-
stages() {
|
|
70
|
-
const list = [];
|
|
71
|
-
for (const run of this.runs) {
|
|
72
|
-
for (const node of run.nodes) for (const stage of node.stages) list.push({ node: node.id, ...stage });
|
|
73
|
-
}
|
|
74
|
-
for (const stage of this.loose) list.push({ node: null, ...stage });
|
|
75
|
-
return list;
|
|
76
|
-
}
|
|
77
|
-
toJSON() {
|
|
78
|
-
return {
|
|
79
|
-
format: 1,
|
|
80
|
-
graph: this.graphFile,
|
|
81
|
-
startedAt: this.startedAt.toISOString(),
|
|
82
|
-
cascade: this.cascade,
|
|
83
|
-
seed: this.seed,
|
|
84
|
-
...this.envNames.length ? { env: this.envNames } : {},
|
|
85
|
-
runs: this.runs
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
/** Write the trace into the project and return its project-relative path. */
|
|
89
|
-
write(projectRoot) {
|
|
90
|
-
const stamp = this.startedAt.toISOString().replace(/[:.]/g, "-");
|
|
91
|
-
const name = `${stamp}-${path.basename(this.graphFile, ".cascade")}.json`;
|
|
92
|
-
const relative = path.posix.join(".cascade", "runs", name);
|
|
93
|
-
const full = path.join(projectRoot, relative);
|
|
94
|
-
fs.mkdirSync(path.dirname(full), { recursive: true });
|
|
95
|
-
fs.writeFileSync(full, JSON.stringify(this.toJSON(), null, 2) + "\n");
|
|
96
|
-
pruneTraces(path.dirname(full));
|
|
97
|
-
return relative;
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
var CONSOLE_LEVELS = ["log", "info", "warn", "error", "debug"];
|
|
101
|
-
function captureNodeConsole(trace) {
|
|
102
|
-
const original = Object.fromEntries(CONSOLE_LEVELS.map((level) => [level, console[level]]));
|
|
103
|
-
for (const level of CONSOLE_LEVELS) {
|
|
104
|
-
console[level] = (...args) => {
|
|
105
|
-
trace.recordLog(level, args.map((arg) => typeof arg === "string" ? arg : arg instanceof Error ? arg.stack ?? arg.message : safeJson(arg)).join(" "));
|
|
106
|
-
original[level](...args);
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
return () => {
|
|
110
|
-
for (const level of CONSOLE_LEVELS) console[level] = original[level];
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
function safeJson(value) {
|
|
114
|
-
try {
|
|
115
|
-
return JSON.stringify(value) ?? String(value);
|
|
116
|
-
} catch {
|
|
117
|
-
return String(value);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
var KEPT_TRACES = 200;
|
|
121
|
-
function pruneTraces(directory) {
|
|
122
|
-
const traces = fs.readdirSync(directory).filter((name) => name.endsWith(".json")).sort();
|
|
123
|
-
for (const name of traces.slice(0, Math.max(0, traces.length - KEPT_TRACES))) {
|
|
124
|
-
fs.rmSync(path.join(directory, name), { force: true });
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export {
|
|
129
|
-
RunTrace,
|
|
130
|
-
captureNodeConsole
|
|
131
|
-
};
|
|
132
|
-
//# sourceMappingURL=chunk-4UDFYF5G.js.map
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
// src/nodes/definition/browserCapabilities.ts
|
|
2
|
-
function assetUrl(path) {
|
|
3
|
-
const clean = path.replace(/^\.\//, "").replace(/^assets\//, "");
|
|
4
|
-
return `/api/assets/${clean.split("/").map(encodeURIComponent).join("/")}`;
|
|
5
|
-
}
|
|
6
|
-
var browserAssetCapability = {
|
|
7
|
-
async read(ref, { signal }) {
|
|
8
|
-
const response = await fetch(assetUrl(ref.path), { signal });
|
|
9
|
-
if (!response.ok) throw new Error(`Could not read asset ${ref.path} (${response.status})`);
|
|
10
|
-
return new Uint8Array(await response.arrayBuffer());
|
|
11
|
-
},
|
|
12
|
-
async write(data, metadata, { signal }) {
|
|
13
|
-
const name = metadata.suggestedName?.trim() || "asset.bin";
|
|
14
|
-
const form = new FormData();
|
|
15
|
-
form.append("file", new Blob([new Uint8Array(data)], { type: metadata.mediaType }), name);
|
|
16
|
-
const response = await fetch("/api/assets", {
|
|
17
|
-
method: "POST",
|
|
18
|
-
body: form,
|
|
19
|
-
signal
|
|
20
|
-
});
|
|
21
|
-
if (!response.ok) throw new Error(`Could not write asset ${name} (${response.status})`);
|
|
22
|
-
const result = await response.json();
|
|
23
|
-
if (!result.path) throw new Error(`Asset upload returned no path for ${name}`);
|
|
24
|
-
return { path: result.path, ...metadata.mediaType ? { mediaType: metadata.mediaType } : {} };
|
|
25
|
-
},
|
|
26
|
-
async resolveUrl(ref) {
|
|
27
|
-
return { value: assetUrl(ref.path), release: () => {
|
|
28
|
-
} };
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export {
|
|
33
|
-
browserAssetCapability
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=chunk-53NMBJAO.js.map
|