@poe-platform/safe-bash 0.1.628 → 0.1.630

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.
Files changed (44) hide show
  1. package/README.md +1 -2
  2. package/dist/safe-bash/chunks/chunk-3BZ5NQ73.js +3952 -0
  3. package/dist/safe-bash/chunks/chunk-3BZ5NQ73.js.map +7 -0
  4. package/dist/safe-bash/chunks/{chunk-KYNRHYHP.js → chunk-6YSBXTTJ.js} +5 -5
  5. package/dist/safe-bash/chunks/{chunk-HHJSJWUD.js → chunk-K7W6Q6FN.js} +4 -4
  6. package/dist/safe-bash/chunks/{chunk-WPEMUXV4.js → chunk-KQ6J7JHQ.js} +4 -4
  7. package/dist/safe-bash/commands/archive/zip.d.ts.map +1 -1
  8. package/dist/safe-bash/commands/archive/zip.js +18 -17
  9. package/dist/safe-bash/commands/archive/zip.js.map +1 -1
  10. package/dist/safe-bash/commands/llm/index.browser.js +2 -2
  11. package/dist/safe-bash/commands/network/index.browser.js +2 -2
  12. package/dist/safe-bash/commands/node/browser.d.ts +2 -0
  13. package/dist/safe-bash/commands/node/browser.d.ts.map +1 -0
  14. package/dist/safe-bash/commands/node/browser.js +2 -0
  15. package/dist/safe-bash/commands/node/browser.js.map +1 -0
  16. package/dist/safe-bash/commands/node/index.browser.js +16 -0
  17. package/dist/safe-bash/commands/node/index.browser.js.map +7 -0
  18. package/dist/safe-bash/commands/node/safejs.d.ts +6 -0
  19. package/dist/safe-bash/commands/node/safejs.d.ts.map +1 -1
  20. package/dist/safe-bash/commands/node/safejs.js +25 -1
  21. package/dist/safe-bash/commands/node/safejs.js.map +1 -1
  22. package/dist/safe-bash/commands/safejs/index.d.ts +5 -17
  23. package/dist/safe-bash/commands/safejs/index.d.ts.map +1 -1
  24. package/dist/safe-bash/commands/safejs/index.js +3 -202
  25. package/dist/safe-bash/commands/safejs/index.js.map +1 -1
  26. package/dist/safe-bash/commands/safejs/runtime.d.ts +15 -0
  27. package/dist/safe-bash/commands/safejs/runtime.d.ts.map +1 -0
  28. package/dist/safe-bash/commands/safejs/runtime.js +190 -0
  29. package/dist/safe-bash/commands/safejs/runtime.js.map +1 -0
  30. package/dist/safe-bash/commands/yq/index.browser.js +2 -2
  31. package/dist/safe-bash/core.browser.js +515 -4364
  32. package/dist/safe-bash/core.browser.js.map +4 -4
  33. package/dist/safe-bash/core.d.ts +1 -0
  34. package/dist/safe-bash/core.d.ts.map +1 -1
  35. package/dist/safe-bash/core.js +1 -0
  36. package/dist/safe-bash/core.js.map +1 -1
  37. package/dist/safe-bash/index.d.ts +1 -0
  38. package/dist/safe-bash/index.d.ts.map +1 -1
  39. package/dist/safe-bash/index.js +1 -0
  40. package/dist/safe-bash/index.js.map +1 -1
  41. package/package.json +9 -3
  42. /package/dist/safe-bash/chunks/{chunk-KYNRHYHP.js.map → chunk-6YSBXTTJ.js.map} +0 -0
  43. /package/dist/safe-bash/chunks/{chunk-HHJSJWUD.js.map → chunk-K7W6Q6FN.js.map} +0 -0
  44. /package/dist/safe-bash/chunks/{chunk-WPEMUXV4.js.map → chunk-KQ6J7JHQ.js.map} +0 -0
@@ -1,203 +1,4 @@
1
- import { PublicDiagnostic, publicDiagnosticMessage } from "../../diagnostics.js";
2
- import { toByteSource, writeBytes } from "../../contracts/index.js";
3
- import { writeDiagnostic } from "../../escaping.js";
4
- import { makeSafeJsFsModule } from "../../integrations/safejs/index.js";
5
- import { record, withSignal } from "../../integrations/safejs/values.js";
6
- import { pathOf, UsageError } from "../internal.js";
7
- import { GuestInput, GuestOutput } from "./io.js";
8
- import { commandLimits, defaultSafeJsLimits, invocation } from "./options.js";
9
- import { SafeJsCommandLimitError } from "./types.js";
10
- export { defaultSafeJsLimits, SafeJsCommandLimitError };
11
- const help = "Usage: safejs [-p|--print] [-e SOURCE [--] ARG... | FILE ARG... | - ARG...]\nNo source operand reads SafeJS source from stdin. Inline/file source leaves stdin for guest data.\n-p prints the returned string or JSON value followed by LF; this is not Node.js.\nGuest modules: fs, stdio, command. A host-injected SafeJS runtime is required.\n";
12
- class GuestDiagnostic extends PublicDiagnostic {
13
- info;
14
- constructor(info) {
15
- super(info.message);
16
- this.info = info;
17
- }
18
- }
19
- function errorInfo(error) {
20
- if (typeof error === "string")
21
- return { name: "Error", code: "", message: error };
22
- if (typeof error !== "object" || error === null)
23
- return { name: "Error", code: "", message: "SafeJS execution failed" };
24
- const field = (name) => {
25
- const descriptor = Object.getOwnPropertyDescriptor(error, name);
26
- return descriptor && "value" in descriptor && typeof descriptor.value === "string" ? descriptor.value : "";
27
- };
28
- return { name: field("name"), code: field("code"), message: field("message") || "SafeJS execution failed" };
29
- }
30
- function statusField(error, name) {
31
- if (typeof error !== "object" || error === null)
32
- return "";
33
- const descriptor = Object.getOwnPropertyDescriptor(error, name);
34
- return descriptor && "value" in descriptor && typeof descriptor.value === "string" ? descriptor.value : "";
35
- }
36
- function validateRuntime(runtime) {
37
- if (runtime === undefined)
38
- return;
39
- for (const key of ["run", "createBudget", "makeFsModule", "declareHostOperation"]) {
40
- if (typeof runtime[key] !== "function")
41
- throw new TypeError(`SafeJS runtime.${key} must be injected`);
42
- }
43
- }
44
- export function createSafeJsCommands(options = {}, dialect = {
45
- name: "safejs", description: "Execute an injected SafeJS interpreter against the virtual filesystem", help, invocation,
46
- }) {
47
- const limits = commandLimits(options.limits);
48
- const runtime = options.runtime;
49
- validateRuntime(runtime);
50
- return [{ name: dialect.name, description: dialect.description, async execute(context) {
51
- const deadline = Date.now() + limits.timeoutMs;
52
- const diagnose = async (message) => {
53
- const diagnostic = new AbortController();
54
- const timer = setTimeout(() => diagnostic.abort(), Math.max(1, Math.min(limits.timeoutMs, deadline - Date.now())));
55
- try {
56
- await writeDiagnostic(context.stderr, `${dialect.name}: ${message.slice(0, 4096)}\n`, AbortSignal.any([context.signal, diagnostic.signal]));
57
- }
58
- catch (error) {
59
- context.signal.throwIfAborted();
60
- if (!diagnostic.signal.aborted)
61
- throw error;
62
- }
63
- finally {
64
- clearTimeout(timer);
65
- }
66
- };
67
- let parsed;
68
- try {
69
- parsed = dialect.invocation(context.args);
70
- }
71
- catch (error) {
72
- await diagnose(publicDiagnosticMessage(error, context.onInternalError));
73
- return { exitCode: 2 };
74
- }
75
- context.signal.throwIfAborted();
76
- if (parsed.help) {
77
- await writeBytes(context.stdout, Buffer.from(dialect.help), context.signal);
78
- return { exitCode: 0 };
79
- }
80
- if (!runtime) {
81
- await diagnose("runtime not installed; inject run, createBudget, makeFsModule and declareHostOperation");
82
- return { exitCode: 127 };
83
- }
84
- const controller = new AbortController();
85
- const signal = AbortSignal.any([context.signal, controller.signal]);
86
- let failure;
87
- let hasFailure = false;
88
- const fail = (error) => {
89
- if (!hasFailure && !controller.signal.aborted) {
90
- hasFailure = true;
91
- failure = error;
92
- queueMicrotask(() => controller.abort(error));
93
- }
94
- };
95
- const timeout = setTimeout(() => fail(new SafeJsCommandLimitError("timeoutMs")), limits.timeoutMs);
96
- let input;
97
- const output = new GuestOutput(context.stdout, context.stderr, limits.maxOutputBytes, signal, fail);
98
- let exitCode = 0;
99
- let thrown;
100
- let failed = false;
101
- try {
102
- const fromStdin = parsed.source === undefined && parsed.file === "-";
103
- let source = parsed.source;
104
- let filename = parsed.file;
105
- if (source === undefined) {
106
- if (!fromStdin)
107
- filename = pathOf(context, parsed.file);
108
- const capabilities = fromStdin ? undefined : await withSignal(signal, async () => await context.fs.capabilitiesFor?.(filename, { signal }) ?? context.fs.capabilities);
109
- const bytes = fromStdin ? context.stdin : context.fs.readStream && capabilities?.streamingRead !== false
110
- ? context.fs.readStream(filename, { signal, chunkSize: 65536 })
111
- : toByteSource(await withSignal(signal, () => context.fs.readFile(filename, { signal, maxBytes: limits.maxSourceBytes })));
112
- const reader = new GuestInput(bytes, limits.maxSourceBytes, signal, fail, "maxSourceBytes");
113
- try {
114
- source = await reader.readText();
115
- }
116
- finally {
117
- await reader.close();
118
- }
119
- }
120
- else if (Buffer.byteLength(source) > limits.maxSourceBytes)
121
- throw new SafeJsCommandLimitError("maxSourceBytes");
122
- if (source.startsWith("\uFEFF"))
123
- source = source.slice(1);
124
- input = new GuestInput(fromStdin ? toByteSource("") : context.stdin, limits.maxInputBytes, signal, fail);
125
- const guestInput = input;
126
- const declare = runtime.declareHostOperation;
127
- const stdio = {
128
- readBytes: declare(async (size) => guestInput.readBytes(size), "read-side-effect"),
129
- readText: declare(async () => guestInput.readText(), "read-side-effect"),
130
- write: declare(async (text) => output.text(text), "read-side-effect"),
131
- writeBytes: declare(async (bytes) => output.bytes(bytes), "read-side-effect"),
132
- error: declare(async (text) => output.text(text, true), "read-side-effect"),
133
- errorBytes: declare(async (bytes) => output.bytes(bytes, true), "read-side-effect"),
134
- };
135
- const env = Object.create(null);
136
- for (const [key, value] of Object.entries(context.env))
137
- env[key] = value;
138
- const command = {
139
- args: [...parsed.args], cwd: context.cwd, env,
140
- setExitCode: declare((value) => {
141
- signal.throwIfAborted();
142
- if (typeof value !== "number" || !Number.isInteger(value) || value < 0 || value > 255)
143
- throw new TypeError("exit code must be an integer from 0 through 255");
144
- exitCode = value;
145
- }, "read-side-effect"),
146
- };
147
- const budget = runtime.createBudget({ maxSteps: limits.maxSteps, deadline,
148
- maxCallDepth: limits.maxCallDepth, stringLength: limits.stringLength, arrayLength: limits.arrayLength, dataSize: limits.dataSize });
149
- const modules = { fs: makeSafeJsFsModule(runtime.makeFsModule, context.fs, { cwd: context.cwd, signal }), stdio, command };
150
- const prepared = dialect.prepare?.(source, { ...parsed, file: filename }, modules);
151
- const result = record(await withSignal(signal, () => runtime.run(prepared?.source ?? source, {
152
- budget, filename, modules, signal, ...(prepared ? { bindings: prepared.bindings } : {}),
153
- sink: { log: (...args) => output.console(args, false), error: (...args) => output.console(args, true) },
154
- })), "SafeJS run result");
155
- signal.throwIfAborted();
156
- if (result.ok !== true && result.ok !== false)
157
- throw new TypeError("Invalid SafeJS run result.ok");
158
- if (!result.ok) {
159
- const info = errorInfo(result.error);
160
- throw new GuestDiagnostic(info);
161
- }
162
- if (parsed.print && result.returnValue !== undefined)
163
- await output.result(result.returnValue);
164
- await output.drain();
165
- }
166
- catch (error) {
167
- thrown = hasFailure ? failure : error;
168
- failed = true;
169
- }
170
- finally {
171
- try {
172
- await output.drain();
173
- }
174
- catch (error) {
175
- thrown = hasFailure ? failure : error;
176
- failed = true;
177
- }
178
- controller.abort();
179
- clearTimeout(timeout);
180
- await input?.close().catch(() => { });
181
- }
182
- context.signal.throwIfAborted();
183
- if (failed) {
184
- const info = thrown instanceof GuestDiagnostic ? thrown.info : { name: statusField(thrown, "name"), code: statusField(thrown, "code") };
185
- const detail = thrown instanceof SafeJsCommandLimitError ? thrown.message : publicDiagnosticMessage(thrown, context.onInternalError);
186
- if (!output.stderrFailed)
187
- await diagnose(detail);
188
- return { exitCode: thrown instanceof SafeJsCommandLimitError || info.code === "budgetExceeded" ? 124
189
- : thrown instanceof UsageError || info.name === "ParseError" ? 2 : 1 };
190
- }
191
- return { exitCode };
192
- } }];
193
- }
194
- export function safeJsCommands(options = {}) {
195
- const definitions = createSafeJsCommands(options);
196
- return { name: "safejs-commands", setup(host) {
197
- if (!options.replace && host.commands.has("safejs"))
198
- throw new Error("Command already registered: safejs");
199
- for (const definition of definitions)
200
- host.commands.register(definition, { replace: options.replace ?? false });
201
- } };
202
- }
1
+ export { createNodeCommands as createSafeJsCommands, nodeCommands as safeJsCommands } from "../node/browser.js";
2
+ export { defaultSafeJsLimits } from "./options.js";
3
+ export { SafeJsCommandLimitError } from "./types.js";
203
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/safejs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAmD,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAqE,MAAM,YAAY,CAAC;AAExH,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,CAAC;AAGxD,MAAM,IAAI,GAAG,oVAAoV,CAAC;AAalW,MAAM,eAAgB,SAAQ,gBAAgB;IACvB;IAArB,YAAqB,IAAqD;QAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAA7E,SAAI,GAAJ,IAAI,CAAiD;IAAyB,CAAC;CACrG;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACxH,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;QACrC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,UAAU,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7G,CAAC,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,yBAAyB,EAAE,CAAC;AAC9G,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAqB;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChE,OAAO,UAAU,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,SAAS,eAAe,CAAS,OAA0C;IACzE,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO;IAClC,KAAK,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,sBAAsB,CAAU,EAAE,CAAC;QAC3F,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU;YAAE,MAAM,IAAI,SAAS,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAmB,UAAyC,EAAE,EAAE,UAAgC;IAClI,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uEAAuE,EAAE,IAAI,EAAE,UAAU;CACvH;IACC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC/C,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAe,EAAiB,EAAE;oBACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;oBACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnH,IAAI,CAAC;wBAAC,MAAM,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAAC,CAAC;oBACpJ,OAAO,KAAK,EAAE,CAAC;wBAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;wBAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;4BAAE,MAAM,KAAK,CAAC;oBAAC,CAAC;4BACvF,CAAC;wBAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAAC,CAAC;gBAClC,CAAC,CAAC;gBACF,IAAI,MAAM,CAAC;gBACX,IAAI,CAAC;oBAAC,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAClD,OAAO,KAAK,EAAE,CAAC;oBAAC,MAAM,QAAQ,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;oBAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAAC,CAAC;gBAClH,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAChC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAAC,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;gBAAC,CAAC;gBACzH,IAAI,CAAC,OAAO,EAAE,CAAC;oBAAC,MAAM,QAAQ,CAAC,wFAAwF,CAAC,CAAC;oBAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;gBAAC,CAAC;gBACrJ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpE,IAAI,OAAgB,CAAC;gBACrB,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,MAAM,IAAI,GAAG,CAAC,KAAc,EAAQ,EAAE;oBACpC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC9C,UAAU,GAAG,IAAI,CAAC;wBAClB,OAAO,GAAG,KAAK,CAAC;wBAChB,cAAc,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC,CAAC;gBACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnG,IAAI,KAA6B,CAAC;gBAClC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBACpG,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,MAAe,CAAC;gBACpB,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC;oBACrE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC3B,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;oBAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,IAAI,CAAC,SAAS;4BAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;wBACxD,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAC/E,MAAM,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;wBACvF,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,IAAI,YAAY,EAAE,aAAa,KAAK,KAAK;4BACtG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;4BAC/D,CAAC,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC7H,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;wBAC5F,IAAI,CAAC;4BAAC,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAAC,CAAC;gCAAS,CAAC;4BAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;wBAAC,CAAC;oBAC7E,CAAC;yBAAM,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,cAAc;wBAAE,MAAM,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;oBAClH,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;wBAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC1D,KAAK,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBACzG,MAAM,UAAU,GAAG,KAAK,CAAC;oBACzB,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;oBAC7C,MAAM,KAAK,GAAiB;wBAC1B,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,IAAc,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;wBAC5F,QAAQ,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,kBAAkB,CAAC;wBACxE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;wBAC9E,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC;wBACtF,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,kBAAkB,CAAC;wBACpF,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,KAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,kBAAkB,CAAC;qBAC7F,CAAC;oBACF,MAAM,GAAG,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;wBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACzE,MAAM,OAAO,GAAiB;wBAC5B,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG;wBAC7C,WAAW,EAAE,OAAO,CAAC,CAAC,KAAc,EAAE,EAAE;4BACtC,MAAM,CAAC,cAAc,EAAE,CAAC;4BACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;gCAAE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;4BAC9J,QAAQ,GAAG,KAAK,CAAC;wBACnB,CAAC,EAAE,kBAAkB,CAAC;qBACvB,CAAC;oBACF,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ;wBACvE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACtI,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;oBAC3H,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;oBACnF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,MAAM,EAAE;wBAC3F,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACvF,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;qBACxG,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;oBAC1B,MAAM,CAAC,cAAc,EAAE,CAAC;oBACxB,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK;wBAAE,MAAM,IAAI,SAAS,CAAC,8BAA8B,CAAC,CAAC;oBACnG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;wBACf,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACrC,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC;oBACD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;wBAAE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC9F,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;oBAAC,MAAM,GAAG,IAAI,CAAC;gBAAC,CAAC;wBACjE,CAAC;oBACP,IAAI,CAAC;wBAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;oBAAC,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;wBAAC,MAAM,GAAG,IAAI,CAAC;oBAAC,CAAC;oBACrG,UAAU,CAAC,KAAK,EAAE,CAAC;oBACnB,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,MAAM,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAChC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,MAAM,YAAY,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;oBACxI,MAAM,MAAM,GAAG,MAAM,YAAY,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;oBACrI,IAAI,CAAC,MAAM,CAAC,YAAY;wBAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,uBAAuB,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,GAAG;4BAClG,CAAC,CAAC,MAAM,YAAY,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,CAAC;gBACD,OAAO,EAAE,QAAQ,EAAE,CAAC;YACtB,CAAC,EAAE,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,cAAc,CAAmB,UAAyC,EAAE;IAC1F,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,IAAI;YAC1C,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC3G,KAAK,MAAM,UAAU,IAAI,WAAW;gBAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;QAClH,CAAC,EAAE,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/safejs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,IAAI,oBAAoB,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEhH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { type CommandDefinition } from "../../contracts/index.js";
2
+ import { type Invocation } from "./options.js";
3
+ import { type SafeJsCommandsOptions, type SafeJsModule } from "./types.js";
4
+ export interface SafeJsCommandDialect {
5
+ readonly name: string;
6
+ readonly description: string;
7
+ readonly help: string;
8
+ readonly invocation: (args: readonly string[]) => Invocation;
9
+ readonly prepare?: (source: string, selected: Invocation, modules: Record<string, SafeJsModule>) => {
10
+ readonly source: string;
11
+ readonly bindings: SafeJsModule;
12
+ };
13
+ }
14
+ export declare function createSafeJsCommands<Budget = unknown>(options: SafeJsCommandsOptions<Budget>, dialect: SafeJsCommandDialect): readonly CommandDefinition[];
15
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/commands/safejs/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAM5F,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAA2B,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAsB,MAAM,YAAY,CAAC;AAExH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,UAAU,CAAC;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK;QAClG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;KACjC,CAAC;CACH;AA6BD,wBAAgB,oBAAoB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,SAAS,iBAAiB,EAAE,CAyG1J"}
@@ -0,0 +1,190 @@
1
+ import { PublicDiagnostic, publicDiagnosticMessage } from "../../diagnostics.js";
2
+ import { toByteSource, writeBytes } from "../../contracts/index.js";
3
+ import { writeDiagnostic } from "../../escaping.js";
4
+ import { makeSafeJsFsModule } from "../../integrations/safejs/index.js";
5
+ import { record, withSignal } from "../../integrations/safejs/values.js";
6
+ import { pathOf, UsageError } from "../internal.js";
7
+ import { GuestInput, GuestOutput } from "./io.js";
8
+ import { commandLimits } from "./options.js";
9
+ import { SafeJsCommandLimitError } from "./types.js";
10
+ class GuestDiagnostic extends PublicDiagnostic {
11
+ info;
12
+ constructor(info) {
13
+ super(info.message);
14
+ this.info = info;
15
+ }
16
+ }
17
+ function errorInfo(error) {
18
+ if (typeof error === "string")
19
+ return { name: "Error", code: "", message: error };
20
+ if (typeof error !== "object" || error === null)
21
+ return { name: "Error", code: "", message: "SafeJS execution failed" };
22
+ const field = (name) => {
23
+ const descriptor = Object.getOwnPropertyDescriptor(error, name);
24
+ return descriptor && "value" in descriptor && typeof descriptor.value === "string" ? descriptor.value : "";
25
+ };
26
+ return { name: field("name"), code: field("code"), message: field("message") || "SafeJS execution failed" };
27
+ }
28
+ function statusField(error, name) {
29
+ if (typeof error !== "object" || error === null)
30
+ return "";
31
+ const descriptor = Object.getOwnPropertyDescriptor(error, name);
32
+ return descriptor && "value" in descriptor && typeof descriptor.value === "string" ? descriptor.value : "";
33
+ }
34
+ function validateRuntime(runtime) {
35
+ if (runtime === undefined)
36
+ return;
37
+ for (const key of ["run", "createBudget", "makeFsModule", "declareHostOperation"]) {
38
+ if (typeof runtime[key] !== "function")
39
+ throw new TypeError(`SafeJS runtime.${key} must be injected`);
40
+ }
41
+ }
42
+ export function createSafeJsCommands(options, dialect) {
43
+ const limits = commandLimits(options.limits);
44
+ const runtime = options.runtime;
45
+ validateRuntime(runtime);
46
+ return [{ name: dialect.name, description: dialect.description, async execute(context) {
47
+ const deadline = Date.now() + limits.timeoutMs;
48
+ const diagnose = async (message) => {
49
+ const diagnostic = new AbortController();
50
+ const timer = setTimeout(() => diagnostic.abort(), Math.max(1, Math.min(limits.timeoutMs, deadline - Date.now())));
51
+ try {
52
+ await writeDiagnostic(context.stderr, `${dialect.name}: ${message.slice(0, 4096)}\n`, AbortSignal.any([context.signal, diagnostic.signal]));
53
+ }
54
+ catch (error) {
55
+ context.signal.throwIfAborted();
56
+ if (!diagnostic.signal.aborted)
57
+ throw error;
58
+ }
59
+ finally {
60
+ clearTimeout(timer);
61
+ }
62
+ };
63
+ let parsed;
64
+ try {
65
+ parsed = dialect.invocation(context.args);
66
+ }
67
+ catch (error) {
68
+ await diagnose(publicDiagnosticMessage(error, context.onInternalError));
69
+ return { exitCode: 2 };
70
+ }
71
+ context.signal.throwIfAborted();
72
+ if (parsed.help) {
73
+ await writeBytes(context.stdout, Buffer.from(dialect.help), context.signal);
74
+ return { exitCode: 0 };
75
+ }
76
+ if (!runtime) {
77
+ await diagnose("runtime not installed; inject run, createBudget, makeFsModule and declareHostOperation");
78
+ return { exitCode: 127 };
79
+ }
80
+ const controller = new AbortController();
81
+ const signal = AbortSignal.any([context.signal, controller.signal]);
82
+ let failure;
83
+ let hasFailure = false;
84
+ const fail = (error) => {
85
+ if (!hasFailure && !controller.signal.aborted) {
86
+ hasFailure = true;
87
+ failure = error;
88
+ queueMicrotask(() => controller.abort(error));
89
+ }
90
+ };
91
+ const timeout = setTimeout(() => fail(new SafeJsCommandLimitError("timeoutMs")), limits.timeoutMs);
92
+ let input;
93
+ const output = new GuestOutput(context.stdout, context.stderr, limits.maxOutputBytes, signal, fail);
94
+ let exitCode = 0;
95
+ let thrown;
96
+ let failed = false;
97
+ try {
98
+ const fromStdin = parsed.source === undefined && parsed.file === "-";
99
+ let source = parsed.source;
100
+ let filename = parsed.file;
101
+ if (source === undefined) {
102
+ if (!fromStdin)
103
+ filename = pathOf(context, parsed.file);
104
+ const capabilities = fromStdin ? undefined : await withSignal(signal, async () => await context.fs.capabilitiesFor?.(filename, { signal }) ?? context.fs.capabilities);
105
+ const bytes = fromStdin ? context.stdin : context.fs.readStream && capabilities?.streamingRead !== false
106
+ ? context.fs.readStream(filename, { signal, chunkSize: 65536 })
107
+ : toByteSource(await withSignal(signal, () => context.fs.readFile(filename, { signal, maxBytes: limits.maxSourceBytes })));
108
+ const reader = new GuestInput(bytes, limits.maxSourceBytes, signal, fail, "maxSourceBytes");
109
+ try {
110
+ source = await reader.readText();
111
+ }
112
+ finally {
113
+ await reader.close();
114
+ }
115
+ }
116
+ else if (Buffer.byteLength(source) > limits.maxSourceBytes)
117
+ throw new SafeJsCommandLimitError("maxSourceBytes");
118
+ if (source.startsWith("\uFEFF"))
119
+ source = source.slice(1);
120
+ input = new GuestInput(fromStdin ? toByteSource("") : context.stdin, limits.maxInputBytes, signal, fail);
121
+ const guestInput = input;
122
+ const declare = runtime.declareHostOperation;
123
+ const stdio = {
124
+ readBytes: declare(async (size) => guestInput.readBytes(size), "read-side-effect"),
125
+ readText: declare(async () => guestInput.readText(), "read-side-effect"),
126
+ write: declare(async (text) => output.text(text), "read-side-effect"),
127
+ writeBytes: declare(async (bytes) => output.bytes(bytes), "read-side-effect"),
128
+ error: declare(async (text) => output.text(text, true), "read-side-effect"),
129
+ errorBytes: declare(async (bytes) => output.bytes(bytes, true), "read-side-effect"),
130
+ };
131
+ const env = Object.create(null);
132
+ for (const [key, value] of Object.entries(context.env))
133
+ env[key] = value;
134
+ const command = {
135
+ args: [...parsed.args], cwd: context.cwd, env,
136
+ setExitCode: declare((value) => {
137
+ signal.throwIfAborted();
138
+ if (typeof value !== "number" || !Number.isInteger(value) || value < 0 || value > 255)
139
+ throw new TypeError("exit code must be an integer from 0 through 255");
140
+ exitCode = value;
141
+ }, "read-side-effect"),
142
+ };
143
+ const budget = runtime.createBudget({ maxSteps: limits.maxSteps, deadline,
144
+ maxCallDepth: limits.maxCallDepth, stringLength: limits.stringLength, arrayLength: limits.arrayLength, dataSize: limits.dataSize });
145
+ const modules = { fs: makeSafeJsFsModule(runtime.makeFsModule, context.fs, { cwd: context.cwd, signal }), stdio, command };
146
+ const prepared = dialect.prepare?.(source, { ...parsed, file: filename }, modules);
147
+ const result = record(await withSignal(signal, () => runtime.run(prepared?.source ?? source, {
148
+ budget, filename, modules, signal, ...(prepared ? { bindings: prepared.bindings } : {}),
149
+ sink: { log: (...args) => output.console(args, false), error: (...args) => output.console(args, true) },
150
+ })), "SafeJS run result");
151
+ signal.throwIfAborted();
152
+ if (result.ok !== true && result.ok !== false)
153
+ throw new TypeError("Invalid SafeJS run result.ok");
154
+ if (!result.ok) {
155
+ const info = errorInfo(result.error);
156
+ throw new GuestDiagnostic(info);
157
+ }
158
+ if (parsed.print && result.returnValue !== undefined)
159
+ await output.result(result.returnValue);
160
+ await output.drain();
161
+ }
162
+ catch (error) {
163
+ thrown = hasFailure ? failure : error;
164
+ failed = true;
165
+ }
166
+ finally {
167
+ try {
168
+ await output.drain();
169
+ }
170
+ catch (error) {
171
+ thrown = hasFailure ? failure : error;
172
+ failed = true;
173
+ }
174
+ controller.abort();
175
+ clearTimeout(timeout);
176
+ await input?.close().catch(() => { });
177
+ }
178
+ context.signal.throwIfAborted();
179
+ if (failed) {
180
+ const info = thrown instanceof GuestDiagnostic ? thrown.info : { name: statusField(thrown, "name"), code: statusField(thrown, "code") };
181
+ const detail = thrown instanceof SafeJsCommandLimitError ? thrown.message : publicDiagnosticMessage(thrown, context.onInternalError);
182
+ if (!output.stderrFailed)
183
+ await diagnose(detail);
184
+ return { exitCode: thrown instanceof SafeJsCommandLimitError || info.code === "budgetExceeded" ? 124
185
+ : thrown instanceof UsageError || info.name === "ParseError" ? 2 : 1 };
186
+ }
187
+ return { exitCode };
188
+ } }];
189
+ }
190
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/commands/safejs/runtime.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@ import {
2
2
  createYqCommand,
3
3
  createYqCommands,
4
4
  yqCommands
5
- } from "../../chunks/chunk-HHJSJWUD.js";
5
+ } from "../../chunks/chunk-K7W6Q6FN.js";
6
6
  import "../../chunks/chunk-AFH57PPL.js";
7
- import "../../chunks/chunk-GFZKQIPL.js";
8
7
  import "../../chunks/chunk-RNKTWFEM.js";
8
+ import "../../chunks/chunk-GFZKQIPL.js";
9
9
  import "../../chunks/chunk-UYX72YHY.js";
10
10
  import "../../chunks/chunk-DPJWEGIX.js";
11
11
  import "../../chunks/chunk-CXMIIXJA.js";