@poe-platform/safe-bash 0.1.545 → 0.1.546

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 (43) hide show
  1. package/dist/safe-bash/chunks/{chunk-XWCSJDGK.js → chunk-4V3NGZAG.js} +2 -2
  2. package/dist/safe-bash/chunks/{chunk-ASCV3OWE.js → chunk-AWP6Z3RR.js} +3 -3
  3. package/dist/safe-bash/chunks/{chunk-2YHZYNLC.js → chunk-DKT746UJ.js} +2 -2
  4. package/dist/safe-bash/chunks/{chunk-C7Z2SSTY.js → chunk-EUNOVYVT.js} +16 -3
  5. package/dist/safe-bash/chunks/chunk-EUNOVYVT.js.map +7 -0
  6. package/dist/safe-bash/chunks/{chunk-6E3FCEJ5.js → chunk-F5AOPLRZ.js} +2 -2
  7. package/dist/safe-bash/chunks/{chunk-GA43CRT3.js → chunk-FIY2BMTU.js} +2 -2
  8. package/dist/safe-bash/chunks/{chunk-EGLBB57T.js → chunk-IDJQT32M.js} +2 -2
  9. package/dist/safe-bash/chunks/{chunk-25GUOTPE.js → chunk-QX2X5EC5.js} +2 -2
  10. package/dist/safe-bash/chunks/{chunk-CTE3HGYS.js → chunk-VY5N6O6I.js} +3 -3
  11. package/dist/safe-bash/chunks/{chunk-K4RQ7ASH.js → chunk-WJWYJDQE.js} +2 -2
  12. package/dist/safe-bash/chunks/{chunk-R4HP2LEO.js → chunk-WXUZXY35.js} +2 -2
  13. package/dist/safe-bash/chunks/{chunk-FAA2WXKH.js → chunk-X7C3PN2T.js} +2 -2
  14. package/dist/safe-bash/chunks/{chunk-IVJ5JGXZ.js → chunk-YFFFBLBC.js} +2 -2
  15. package/dist/safe-bash/commands/csplit/index.browser.js +3 -3
  16. package/dist/safe-bash/commands/factor/index.browser.js +2 -2
  17. package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
  18. package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
  19. package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
  20. package/dist/safe-bash/commands/line-endings/index.browser.js +3 -3
  21. package/dist/safe-bash/commands/llm/index.browser.js +2 -2
  22. package/dist/safe-bash/commands/network/index.browser.js +3 -3
  23. package/dist/safe-bash/commands/pr/index.browser.js +2 -2
  24. package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
  25. package/dist/safe-bash/commands/yq/index.browser.js +2 -2
  26. package/dist/safe-bash/contracts/output.d.ts.map +1 -1
  27. package/dist/safe-bash/contracts/output.js +12 -2
  28. package/dist/safe-bash/contracts/output.js.map +1 -1
  29. package/dist/safe-bash/core.browser.js +13 -13
  30. package/package.json +2 -2
  31. package/dist/safe-bash/chunks/chunk-C7Z2SSTY.js.map +0 -7
  32. /package/dist/safe-bash/chunks/{chunk-XWCSJDGK.js.map → chunk-4V3NGZAG.js.map} +0 -0
  33. /package/dist/safe-bash/chunks/{chunk-ASCV3OWE.js.map → chunk-AWP6Z3RR.js.map} +0 -0
  34. /package/dist/safe-bash/chunks/{chunk-2YHZYNLC.js.map → chunk-DKT746UJ.js.map} +0 -0
  35. /package/dist/safe-bash/chunks/{chunk-6E3FCEJ5.js.map → chunk-F5AOPLRZ.js.map} +0 -0
  36. /package/dist/safe-bash/chunks/{chunk-GA43CRT3.js.map → chunk-FIY2BMTU.js.map} +0 -0
  37. /package/dist/safe-bash/chunks/{chunk-EGLBB57T.js.map → chunk-IDJQT32M.js.map} +0 -0
  38. /package/dist/safe-bash/chunks/{chunk-25GUOTPE.js.map → chunk-QX2X5EC5.js.map} +0 -0
  39. /package/dist/safe-bash/chunks/{chunk-CTE3HGYS.js.map → chunk-VY5N6O6I.js.map} +0 -0
  40. /package/dist/safe-bash/chunks/{chunk-K4RQ7ASH.js.map → chunk-WJWYJDQE.js.map} +0 -0
  41. /package/dist/safe-bash/chunks/{chunk-R4HP2LEO.js.map → chunk-WXUZXY35.js.map} +0 -0
  42. /package/dist/safe-bash/chunks/{chunk-FAA2WXKH.js.map → chunk-X7C3PN2T.js.map} +0 -0
  43. /package/dist/safe-bash/chunks/{chunk-IVJ5JGXZ.js.map → chunk-YFFFBLBC.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-C7Z2SSTY.js";
3
+ } from "./chunk-EUNOVYVT.js";
4
4
  import {
5
5
  PublicDiagnostic
6
6
  } from "./chunk-TTTOMUAY.js";
@@ -530,4 +530,4 @@ export {
530
530
  createFactorCommands,
531
531
  factorCommands
532
532
  };
533
- //# sourceMappingURL=chunk-XWCSJDGK.js.map
533
+ //# sourceMappingURL=chunk-4V3NGZAG.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  writeFileOutput
3
- } from "./chunk-R4HP2LEO.js";
3
+ } from "./chunk-WXUZXY35.js";
4
4
  import {
5
5
  createOutputOperation
6
- } from "./chunk-C7Z2SSTY.js";
6
+ } from "./chunk-EUNOVYVT.js";
7
7
  import {
8
8
  PublicDiagnostic
9
9
  } from "./chunk-TTTOMUAY.js";
@@ -1073,4 +1073,4 @@ export {
1073
1073
  createLineEndingCommands,
1074
1074
  lineEndingCommands
1075
1075
  };
1076
- //# sourceMappingURL=chunk-ASCV3OWE.js.map
1076
+ //# sourceMappingURL=chunk-AWP6Z3RR.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-C7Z2SSTY.js";
3
+ } from "./chunk-EUNOVYVT.js";
4
4
  import {
5
5
  PublicDiagnostic
6
6
  } from "./chunk-TTTOMUAY.js";
@@ -624,4 +624,4 @@ export {
624
624
  createGetoptCommands,
625
625
  getoptCommands
626
626
  };
627
- //# sourceMappingURL=chunk-2YHZYNLC.js.map
627
+ //# sourceMappingURL=chunk-DKT746UJ.js.map
@@ -14,6 +14,7 @@ function createOutputOperation(context, destination) {
14
14
  const capability = destination.ownedOutput;
15
15
  const callbacks = [];
16
16
  const children = [];
17
+ const writes = /* @__PURE__ */ new Set();
17
18
  const closedReason = new Error("Output operation is closed");
18
19
  let accepting = true;
19
20
  let drain;
@@ -27,7 +28,7 @@ function createOutputOperation(context, destination) {
27
28
  accepting = false;
28
29
  drain = Promise.resolve().then(async () => {
29
30
  try {
30
- const results = await Promise.allSettled(callbacks.map(async (cleanup) => cleanup()));
31
+ const results = await Promise.allSettled([...writes, ...callbacks.map(async (cleanup) => cleanup())]);
31
32
  const failures = results.filter((result) => result.status === "rejected").map((result) => result.reason);
32
33
  if (failures.length === 1) throw failures[0];
33
34
  if (failures.length) throw new AggregateError(failures, "Output operation cleanup failed");
@@ -79,7 +80,19 @@ function createOutputOperation(context, destination) {
79
80
  ...destination[outputFailure] ? { [outputFailure]: destination[outputFailure] } : {},
80
81
  async write(chunk) {
81
82
  assertOpen();
82
- await writeBytes(capability ?? destination, chunk, signal);
83
+ if (!capability) return writeBytes(destination, chunk, signal);
84
+ let settled;
85
+ const admitted = new Promise((resolve) => {
86
+ settled = resolve;
87
+ });
88
+ writes.add(admitted);
89
+ const pending = writeBytes(capability, chunk);
90
+ const finish = () => {
91
+ writes.delete(admitted);
92
+ settled();
93
+ };
94
+ void pending.then(finish, finish);
95
+ await wait(pending);
83
96
  }
84
97
  },
85
98
  registerCleanup,
@@ -135,4 +148,4 @@ function createOutputOperation(context, destination) {
135
148
  export {
136
149
  createOutputOperation
137
150
  };
138
- //# sourceMappingURL=chunk-C7Z2SSTY.js.map
151
+ //# sourceMappingURL=chunk-EUNOVYVT.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/contracts/output.ts"],
4
+ "sourcesContent": ["import type { CommandContext, InvocationCleanup } from \"./command.js\";\nimport { outputFailure, writeBytes, type ByteSink } from \"./io.js\";\n\nexport interface OutputOperation {\n readonly signal: AbortSignal;\n readonly output: ByteSink;\n child(destination: ByteSink): OutputOperation;\n registerCleanup(cleanup: InvocationCleanup): void;\n acquire<Value>(start: (signal: AbortSignal) => Value | Promise<Value>, release: (resource: Value) => void | Promise<void>): Promise<Value>;\n close(): Promise<void>;\n abort(reason: unknown): Promise<void>;\n}\n\nexport function createOutputOperation(context: Pick<CommandContext, \"signal\" | \"registerCleanup\">, destination: ByteSink): OutputOperation {\n const controller = new AbortController();\n const signal = controller.signal;\n const capability = destination.ownedOutput;\n const callbacks: InvocationCleanup[] = [];\n const children: OutputOperation[] = [];\n const writes = new Set<Promise<void>>();\n const closedReason = new Error(\"Output operation is closed\");\n let accepting = true;\n let drain: Promise<void> | undefined;\n const assertOpen = (): void => {\n context.signal.throwIfAborted();\n signal.throwIfAborted();\n if (!accepting) throw closedReason;\n };\n const close = (): Promise<void> => {\n if (drain) return drain;\n accepting = false;\n drain = Promise.resolve().then(async () => {\n try {\n const results = await Promise.allSettled([...writes, ...callbacks.map(async cleanup => cleanup())]);\n const failures = results.filter(result => result.status === \"rejected\").map(result => result.reason);\n if (failures.length === 1) throw failures[0];\n if (failures.length) throw new AggregateError(failures, \"Output operation cleanup failed\");\n } finally {\n context.signal.removeEventListener(\"abort\", callerAbort);\n capability?.consumerClosed.removeEventListener(\"abort\", outputAbort);\n }\n });\n void drain.catch(() => {});\n for (const child of children) void child.close().catch(() => {});\n return drain;\n };\n const abort = (reason: unknown): void => {\n controller.abort(reason);\n void close().catch(() => {});\n };\n const callerAbort = (): void => abort(context.signal.reason);\n const outputAbort = (): void => abort(capability?.consumerClosed.reason);\n const registerCleanup = (cleanup: InvocationCleanup): void => {\n assertOpen();\n if (typeof cleanup !== \"function\") throw new TypeError(\"Cleanup must be callable\");\n callbacks.push(cleanup);\n };\n const wait = <Value>(pending: Promise<Value>): Promise<Value> => new Promise((resolve, reject) => {\n const aborted = (): void => reject(signal.reason);\n if (signal.aborted) aborted();\n else signal.addEventListener(\"abort\", aborted, { once: true });\n pending.then(value => {\n signal.removeEventListener(\"abort\", aborted);\n resolve(value);\n }, error => {\n signal.removeEventListener(\"abort\", aborted);\n reject(error);\n });\n });\n context.registerCleanup?.(close);\n if (context.signal.aborted) callerAbort();\n else if (capability?.consumerClosed.aborted) outputAbort();\n else {\n context.signal.addEventListener(\"abort\", callerAbort, { once: true });\n capability?.consumerClosed.addEventListener(\"abort\", outputAbort, { once: true });\n }\n return {\n signal,\n output: {\n ...(destination[outputFailure] ? { [outputFailure]: destination[outputFailure] } : {}),\n async write(chunk) {\n assertOpen();\n if (!capability) return writeBytes(destination, chunk, signal);\n let settled!: () => void;\n const admitted = new Promise<void>(resolve => { settled = resolve; });\n writes.add(admitted);\n // Cancellation can settle the caller while the owned destination is still writing.\n const pending = writeBytes(capability, chunk);\n const finish = (): void => { writes.delete(admitted); settled(); };\n void pending.then(finish, finish);\n await wait(pending);\n },\n },\n registerCleanup,\n child(destination) {\n assertOpen();\n const child = createOutputOperation({ signal, registerCleanup }, destination);\n children.push(child);\n return child;\n },\n async acquire<Value>(start: (signal: AbortSignal) => Value | Promise<Value>, release: (resource: Value) => void | Promise<void>) {\n assertOpen();\n let resource: { value: Value } | undefined;\n let settled!: () => void;\n const admitted = new Promise<void>(resolve => { settled = resolve; });\n let released: Promise<void> | undefined;\n const dispose = (): Promise<void> => {\n released ??= admitted.then(async () => { if (resource) await release(resource.value); });\n return released;\n };\n registerCleanup(dispose);\n let acquisition: Promise<Value>;\n try { acquisition = Promise.resolve(start(signal)); }\n catch (error) { acquisition = Promise.reject(error); }\n const pending = acquisition.then(async value => {\n resource = { value };\n settled();\n if (!accepting) {\n await dispose();\n throw signal.aborted ? signal.reason : closedReason;\n }\n return value;\n }, error => {\n settled();\n throw error;\n });\n return wait(pending);\n },\n close,\n abort(reason) {\n abort(reason);\n return close();\n },\n };\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["destination"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-C7Z2SSTY.js";
3
+ } from "./chunk-EUNOVYVT.js";
4
4
  import {
5
5
  resolvePath
6
6
  } from "./chunk-DPJWEGIX.js";
@@ -352,4 +352,4 @@ export {
352
352
  createLlmCommands,
353
353
  llmCommands
354
354
  };
355
- //# sourceMappingURL=chunk-6E3FCEJ5.js.map
355
+ //# sourceMappingURL=chunk-F5AOPLRZ.js.map
@@ -30,7 +30,7 @@ import {
30
30
  } from "./chunk-KYU6MXVK.js";
31
31
  import {
32
32
  createOutputOperation
33
- } from "./chunk-C7Z2SSTY.js";
33
+ } from "./chunk-EUNOVYVT.js";
34
34
  import {
35
35
  getCommandArguments,
36
36
  shellValueByteLength
@@ -5160,4 +5160,4 @@ export {
5160
5160
  createYqCommands,
5161
5161
  yqCommands
5162
5162
  };
5163
- //# sourceMappingURL=chunk-GA43CRT3.js.map
5163
+ //# sourceMappingURL=chunk-FIY2BMTU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-C7Z2SSTY.js";
3
+ } from "./chunk-EUNOVYVT.js";
4
4
  import {
5
5
  PublicDiagnostic
6
6
  } from "./chunk-TTTOMUAY.js";
@@ -699,4 +699,4 @@ export {
699
699
  createHexdumpCommands,
700
700
  hexdumpCommands
701
701
  };
702
- //# sourceMappingURL=chunk-EGLBB57T.js.map
702
+ //# sourceMappingURL=chunk-IDJQT32M.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-C7Z2SSTY.js";
3
+ } from "./chunk-EUNOVYVT.js";
4
4
  import {
5
5
  PublicDiagnostic,
6
6
  publicDiagnosticMessage
@@ -1274,4 +1274,4 @@ export {
1274
1274
  createPrCommands,
1275
1275
  prCommands
1276
1276
  };
1277
- //# sourceMappingURL=chunk-25GUOTPE.js.map
1277
+ //# sourceMappingURL=chunk-QX2X5EC5.js.map
@@ -13,10 +13,10 @@ import {
13
13
  } from "./chunk-O7BRWSKX.js";
14
14
  import {
15
15
  openFileOutput
16
- } from "./chunk-R4HP2LEO.js";
16
+ } from "./chunk-WXUZXY35.js";
17
17
  import {
18
18
  createOutputOperation
19
- } from "./chunk-C7Z2SSTY.js";
19
+ } from "./chunk-EUNOVYVT.js";
20
20
  import {
21
21
  normalizePath,
22
22
  posixPath
@@ -1341,4 +1341,4 @@ export {
1341
1341
  createCurlCommands,
1342
1342
  curlCommands
1343
1343
  };
1344
- //# sourceMappingURL=chunk-CTE3HGYS.js.map
1344
+ //# sourceMappingURL=chunk-VY5N6O6I.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-C7Z2SSTY.js";
3
+ } from "./chunk-EUNOVYVT.js";
4
4
  import {
5
5
  PublicDiagnostic
6
6
  } from "./chunk-TTTOMUAY.js";
@@ -2610,4 +2610,4 @@ export {
2610
2610
  createIconvCommands,
2611
2611
  iconvCommands
2612
2612
  };
2613
- //# sourceMappingURL=chunk-K4RQ7ASH.js.map
2613
+ //# sourceMappingURL=chunk-WJWYJDQE.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-C7Z2SSTY.js";
3
+ } from "./chunk-EUNOVYVT.js";
4
4
  import {
5
5
  FsError,
6
6
  createBytePipe,
@@ -191,4 +191,4 @@ export {
191
191
  writeFileOutput,
192
192
  openFileOutput
193
193
  };
194
- //# sourceMappingURL=chunk-R4HP2LEO.js.map
194
+ //# sourceMappingURL=chunk-WXUZXY35.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  writeFileOutput
3
- } from "./chunk-R4HP2LEO.js";
3
+ } from "./chunk-WXUZXY35.js";
4
4
  import {
5
5
  PublicDiagnostic,
6
6
  publicDiagnosticMessage
@@ -12100,4 +12100,4 @@ export {
12100
12100
  createCsplitCommands,
12101
12101
  csplitCommands
12102
12102
  };
12103
- //# sourceMappingURL=chunk-FAA2WXKH.js.map
12103
+ //# sourceMappingURL=chunk-X7C3PN2T.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-C7Z2SSTY.js";
3
+ } from "./chunk-EUNOVYVT.js";
4
4
  import {
5
5
  PublicDiagnostic
6
6
  } from "./chunk-TTTOMUAY.js";
@@ -651,4 +651,4 @@ export {
651
651
  createTsortCommands,
652
652
  tsortCommands
653
653
  };
654
- //# sourceMappingURL=chunk-IVJ5JGXZ.js.map
654
+ //# sourceMappingURL=chunk-YFFFBLBC.js.map
@@ -2,9 +2,9 @@ import {
2
2
  createCsplitCommand,
3
3
  createCsplitCommands,
4
4
  csplitCommands
5
- } from "../../chunks/chunk-FAA2WXKH.js";
6
- import "../../chunks/chunk-R4HP2LEO.js";
7
- import "../../chunks/chunk-C7Z2SSTY.js";
5
+ } from "../../chunks/chunk-X7C3PN2T.js";
6
+ import "../../chunks/chunk-WXUZXY35.js";
7
+ import "../../chunks/chunk-EUNOVYVT.js";
8
8
  import "../../chunks/chunk-TTTOMUAY.js";
9
9
  import "../../chunks/chunk-DPJWEGIX.js";
10
10
  import "../../chunks/chunk-UO33SQJU.js";
@@ -2,8 +2,8 @@ import {
2
2
  createFactorCommand,
3
3
  createFactorCommands,
4
4
  factorCommands
5
- } from "../../chunks/chunk-XWCSJDGK.js";
6
- import "../../chunks/chunk-C7Z2SSTY.js";
5
+ } from "../../chunks/chunk-4V3NGZAG.js";
6
+ import "../../chunks/chunk-EUNOVYVT.js";
7
7
  import "../../chunks/chunk-TTTOMUAY.js";
8
8
  import "../../chunks/chunk-UO33SQJU.js";
9
9
  import "../../chunks/chunk-FDGESHPB.js";
@@ -2,8 +2,8 @@ import {
2
2
  createGetoptCommand,
3
3
  createGetoptCommands,
4
4
  getoptCommands
5
- } from "../../chunks/chunk-2YHZYNLC.js";
6
- import "../../chunks/chunk-C7Z2SSTY.js";
5
+ } from "../../chunks/chunk-DKT746UJ.js";
6
+ import "../../chunks/chunk-EUNOVYVT.js";
7
7
  import "../../chunks/chunk-TTTOMUAY.js";
8
8
  import "../../chunks/chunk-UO33SQJU.js";
9
9
  import "../../chunks/chunk-FDGESHPB.js";
@@ -3,8 +3,8 @@ import {
3
3
  createHexdumpCommand,
4
4
  createHexdumpCommands,
5
5
  hexdumpCommands
6
- } from "../../chunks/chunk-EGLBB57T.js";
7
- import "../../chunks/chunk-C7Z2SSTY.js";
6
+ } from "../../chunks/chunk-IDJQT32M.js";
7
+ import "../../chunks/chunk-EUNOVYVT.js";
8
8
  import "../../chunks/chunk-TTTOMUAY.js";
9
9
  import "../../chunks/chunk-DPJWEGIX.js";
10
10
  import "../../chunks/chunk-UO33SQJU.js";
@@ -2,8 +2,8 @@ import {
2
2
  createIconvCommand,
3
3
  createIconvCommands,
4
4
  iconvCommands
5
- } from "../../chunks/chunk-K4RQ7ASH.js";
6
- import "../../chunks/chunk-C7Z2SSTY.js";
5
+ } from "../../chunks/chunk-WJWYJDQE.js";
6
+ import "../../chunks/chunk-EUNOVYVT.js";
7
7
  import "../../chunks/chunk-TTTOMUAY.js";
8
8
  import "../../chunks/chunk-DPJWEGIX.js";
9
9
  import "../../chunks/chunk-UO33SQJU.js";
@@ -3,9 +3,9 @@ import {
3
3
  createLineEndingCommands,
4
4
  createUnix2dosCommand,
5
5
  lineEndingCommands
6
- } from "../../chunks/chunk-ASCV3OWE.js";
7
- import "../../chunks/chunk-R4HP2LEO.js";
8
- import "../../chunks/chunk-C7Z2SSTY.js";
6
+ } from "../../chunks/chunk-AWP6Z3RR.js";
7
+ import "../../chunks/chunk-WXUZXY35.js";
8
+ import "../../chunks/chunk-EUNOVYVT.js";
9
9
  import "../../chunks/chunk-TTTOMUAY.js";
10
10
  import "../../chunks/chunk-DPJWEGIX.js";
11
11
  import "../../chunks/chunk-UO33SQJU.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createLlmCommands,
3
3
  llmCommands
4
- } from "../../chunks/chunk-6E3FCEJ5.js";
5
- import "../../chunks/chunk-C7Z2SSTY.js";
4
+ } from "../../chunks/chunk-F5AOPLRZ.js";
5
+ import "../../chunks/chunk-EUNOVYVT.js";
6
6
  import "../../chunks/chunk-DPJWEGIX.js";
7
7
  import "../../chunks/chunk-UO33SQJU.js";
8
8
  import "../../chunks/chunk-FDGESHPB.js";
@@ -7,7 +7,7 @@ import {
7
7
  createWgetCommand,
8
8
  curlCommands,
9
9
  networkCommands
10
- } from "../../chunks/chunk-CTE3HGYS.js";
10
+ } from "../../chunks/chunk-VY5N6O6I.js";
11
11
  import {
12
12
  CurlError,
13
13
  cloudflareWorkerNetworkLimits,
@@ -15,8 +15,8 @@ import {
15
15
  } from "../../chunks/chunk-EUTSYRNM.js";
16
16
  import "../../chunks/chunk-O7BRWSKX.js";
17
17
  import "../../chunks/chunk-KYU6MXVK.js";
18
- import "../../chunks/chunk-R4HP2LEO.js";
19
- import "../../chunks/chunk-C7Z2SSTY.js";
18
+ import "../../chunks/chunk-WXUZXY35.js";
19
+ import "../../chunks/chunk-EUNOVYVT.js";
20
20
  import "../../chunks/chunk-TTTOMUAY.js";
21
21
  import "../../chunks/chunk-DPJWEGIX.js";
22
22
  import "../../chunks/chunk-UO33SQJU.js";
@@ -2,8 +2,8 @@ import {
2
2
  createPrCommand,
3
3
  createPrCommands,
4
4
  prCommands
5
- } from "../../chunks/chunk-25GUOTPE.js";
6
- import "../../chunks/chunk-C7Z2SSTY.js";
5
+ } from "../../chunks/chunk-QX2X5EC5.js";
6
+ import "../../chunks/chunk-EUNOVYVT.js";
7
7
  import "../../chunks/chunk-TTTOMUAY.js";
8
8
  import "../../chunks/chunk-DPJWEGIX.js";
9
9
  import "../../chunks/chunk-UO33SQJU.js";
@@ -2,8 +2,8 @@ import {
2
2
  createTsortCommand,
3
3
  createTsortCommands,
4
4
  tsortCommands
5
- } from "../../chunks/chunk-IVJ5JGXZ.js";
6
- import "../../chunks/chunk-C7Z2SSTY.js";
5
+ } from "../../chunks/chunk-YFFFBLBC.js";
6
+ import "../../chunks/chunk-EUNOVYVT.js";
7
7
  import "../../chunks/chunk-TTTOMUAY.js";
8
8
  import "../../chunks/chunk-DPJWEGIX.js";
9
9
  import "../../chunks/chunk-UO33SQJU.js";
@@ -2,11 +2,11 @@ import {
2
2
  createYqCommand,
3
3
  createYqCommands,
4
4
  yqCommands
5
- } from "../../chunks/chunk-GA43CRT3.js";
5
+ } from "../../chunks/chunk-FIY2BMTU.js";
6
6
  import "../../chunks/chunk-PPFWG34Y.js";
7
7
  import "../../chunks/chunk-O7BRWSKX.js";
8
8
  import "../../chunks/chunk-KYU6MXVK.js";
9
- import "../../chunks/chunk-C7Z2SSTY.js";
9
+ import "../../chunks/chunk-EUNOVYVT.js";
10
10
  import "../../chunks/chunk-TTTOMUAY.js";
11
11
  import "../../chunks/chunk-DPJWEGIX.js";
12
12
  import "../../chunks/chunk-UO33SQJU.js";
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/contracts/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAA6B,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,KAAK,CAAC,WAAW,EAAE,QAAQ,GAAG,eAAe,CAAC;IAC9C,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3I,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,iBAAiB,CAAC,EAAE,WAAW,EAAE,QAAQ,GAAG,eAAe,CAgHzI"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/contracts/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAA6B,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,KAAK,CAAC,WAAW,EAAE,QAAQ,GAAG,eAAe,CAAC;IAC9C,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClD,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3I,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,iBAAiB,CAAC,EAAE,WAAW,EAAE,QAAQ,GAAG,eAAe,CAyHzI"}
@@ -5,6 +5,7 @@ export function createOutputOperation(context, destination) {
5
5
  const capability = destination.ownedOutput;
6
6
  const callbacks = [];
7
7
  const children = [];
8
+ const writes = new Set();
8
9
  const closedReason = new Error("Output operation is closed");
9
10
  let accepting = true;
10
11
  let drain;
@@ -20,7 +21,7 @@ export function createOutputOperation(context, destination) {
20
21
  accepting = false;
21
22
  drain = Promise.resolve().then(async () => {
22
23
  try {
23
- const results = await Promise.allSettled(callbacks.map(async (cleanup) => cleanup()));
24
+ const results = await Promise.allSettled([...writes, ...callbacks.map(async (cleanup) => cleanup())]);
24
25
  const failures = results.filter(result => result.status === "rejected").map(result => result.reason);
25
26
  if (failures.length === 1)
26
27
  throw failures[0];
@@ -78,7 +79,16 @@ export function createOutputOperation(context, destination) {
78
79
  ...(destination[outputFailure] ? { [outputFailure]: destination[outputFailure] } : {}),
79
80
  async write(chunk) {
80
81
  assertOpen();
81
- await writeBytes(capability ?? destination, chunk, signal);
82
+ if (!capability)
83
+ return writeBytes(destination, chunk, signal);
84
+ let settled;
85
+ const admitted = new Promise(resolve => { settled = resolve; });
86
+ writes.add(admitted);
87
+ // Cancellation can settle the caller while the owned destination is still writing.
88
+ const pending = writeBytes(capability, chunk);
89
+ const finish = () => { writes.delete(admitted); settled(); };
90
+ void pending.then(finish, finish);
91
+ await wait(pending);
82
92
  },
83
93
  },
84
94
  registerCleanup,
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/contracts/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/contracts/output.ts"],"names":[],"mappings":"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"}
@@ -2,39 +2,39 @@ import {
2
2
  createTsortCommand,
3
3
  createTsortCommands,
4
4
  tsortCommands
5
- } from "./chunks/chunk-IVJ5JGXZ.js";
5
+ } from "./chunks/chunk-YFFFBLBC.js";
6
6
  import {
7
7
  createFactorCommand,
8
8
  createFactorCommands,
9
9
  factorCommands
10
- } from "./chunks/chunk-XWCSJDGK.js";
10
+ } from "./chunks/chunk-4V3NGZAG.js";
11
11
  import {
12
12
  createGetoptCommand,
13
13
  createGetoptCommands,
14
14
  getoptCommands
15
- } from "./chunks/chunk-2YHZYNLC.js";
15
+ } from "./chunks/chunk-DKT746UJ.js";
16
16
  import {
17
17
  createHdCommand,
18
18
  createHexdumpCommand,
19
19
  createHexdumpCommands,
20
20
  hexdumpCommands
21
- } from "./chunks/chunk-EGLBB57T.js";
21
+ } from "./chunks/chunk-IDJQT32M.js";
22
22
  import {
23
23
  createIconvCommand,
24
24
  createIconvCommands,
25
25
  iconvCommands
26
- } from "./chunks/chunk-K4RQ7ASH.js";
26
+ } from "./chunks/chunk-WJWYJDQE.js";
27
27
  import {
28
28
  createDos2unixCommand,
29
29
  createLineEndingCommands,
30
30
  createUnix2dosCommand,
31
31
  lineEndingCommands
32
- } from "./chunks/chunk-ASCV3OWE.js";
32
+ } from "./chunks/chunk-AWP6Z3RR.js";
33
33
  import {
34
34
  classify,
35
35
  createLlmCommands,
36
36
  llmCommands
37
- } from "./chunks/chunk-6E3FCEJ5.js";
37
+ } from "./chunks/chunk-F5AOPLRZ.js";
38
38
  import {
39
39
  createElevenLabsProvider,
40
40
  createOpenAiProvider
@@ -54,7 +54,7 @@ import {
54
54
  rawValues,
55
55
  stringify,
56
56
  yqCommands
57
- } from "./chunks/chunk-GA43CRT3.js";
57
+ } from "./chunks/chunk-FIY2BMTU.js";
58
58
  import {
59
59
  Budget,
60
60
  JqError,
@@ -77,7 +77,7 @@ import {
77
77
  createWgetCommand,
78
78
  curlCommands,
79
79
  networkCommands
80
- } from "./chunks/chunk-CTE3HGYS.js";
80
+ } from "./chunks/chunk-VY5N6O6I.js";
81
81
  import {
82
82
  CurlError,
83
83
  cloudflareWorkerNetworkLimits,
@@ -136,20 +136,20 @@ import {
136
136
  exprMatchCeilings,
137
137
  matchEre,
138
138
  withRegexSession
139
- } from "./chunks/chunk-FAA2WXKH.js";
139
+ } from "./chunks/chunk-X7C3PN2T.js";
140
140
  import {
141
141
  bindFileOutputBudget,
142
142
  openFileOutput,
143
143
  writeFileOutput
144
- } from "./chunks/chunk-R4HP2LEO.js";
144
+ } from "./chunks/chunk-WXUZXY35.js";
145
145
  import {
146
146
  createPrCommand,
147
147
  createPrCommands,
148
148
  prCommands
149
- } from "./chunks/chunk-25GUOTPE.js";
149
+ } from "./chunks/chunk-QX2X5EC5.js";
150
150
  import {
151
151
  createOutputOperation
152
- } from "./chunks/chunk-C7Z2SSTY.js";
152
+ } from "./chunks/chunk-EUNOVYVT.js";
153
153
  import {
154
154
  PublicDiagnostic,
155
155
  publicDiagnosticMessage
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poe-platform/safe-bash",
3
- "version": "0.1.545",
3
+ "version": "0.1.546",
4
4
  "description": "Extensible virtual shell with pluggable filesystems and streaming commands",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -254,7 +254,7 @@
254
254
  "access": "public"
255
255
  },
256
256
  "dependencies": {
257
- "@poe-platform/safe-fs": "0.1.545",
257
+ "@poe-platform/safe-fs": "0.1.546",
258
258
  "pako": "3.0.1",
259
259
  "@noble/hashes": "2.4.0",
260
260
  "@types/node": "^25.2.2"
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/contracts/output.ts"],
4
- "sourcesContent": ["import type { CommandContext, InvocationCleanup } from \"./command.js\";\nimport { outputFailure, writeBytes, type ByteSink } from \"./io.js\";\n\nexport interface OutputOperation {\n readonly signal: AbortSignal;\n readonly output: ByteSink;\n child(destination: ByteSink): OutputOperation;\n registerCleanup(cleanup: InvocationCleanup): void;\n acquire<Value>(start: (signal: AbortSignal) => Value | Promise<Value>, release: (resource: Value) => void | Promise<void>): Promise<Value>;\n close(): Promise<void>;\n abort(reason: unknown): Promise<void>;\n}\n\nexport function createOutputOperation(context: Pick<CommandContext, \"signal\" | \"registerCleanup\">, destination: ByteSink): OutputOperation {\n const controller = new AbortController();\n const signal = controller.signal;\n const capability = destination.ownedOutput;\n const callbacks: InvocationCleanup[] = [];\n const children: OutputOperation[] = [];\n const closedReason = new Error(\"Output operation is closed\");\n let accepting = true;\n let drain: Promise<void> | undefined;\n const assertOpen = (): void => {\n context.signal.throwIfAborted();\n signal.throwIfAborted();\n if (!accepting) throw closedReason;\n };\n const close = (): Promise<void> => {\n if (drain) return drain;\n accepting = false;\n drain = Promise.resolve().then(async () => {\n try {\n const results = await Promise.allSettled(callbacks.map(async cleanup => cleanup()));\n const failures = results.filter(result => result.status === \"rejected\").map(result => result.reason);\n if (failures.length === 1) throw failures[0];\n if (failures.length) throw new AggregateError(failures, \"Output operation cleanup failed\");\n } finally {\n context.signal.removeEventListener(\"abort\", callerAbort);\n capability?.consumerClosed.removeEventListener(\"abort\", outputAbort);\n }\n });\n void drain.catch(() => {});\n for (const child of children) void child.close().catch(() => {});\n return drain;\n };\n const abort = (reason: unknown): void => {\n controller.abort(reason);\n void close().catch(() => {});\n };\n const callerAbort = (): void => abort(context.signal.reason);\n const outputAbort = (): void => abort(capability?.consumerClosed.reason);\n const registerCleanup = (cleanup: InvocationCleanup): void => {\n assertOpen();\n if (typeof cleanup !== \"function\") throw new TypeError(\"Cleanup must be callable\");\n callbacks.push(cleanup);\n };\n const wait = <Value>(pending: Promise<Value>): Promise<Value> => new Promise((resolve, reject) => {\n const aborted = (): void => reject(signal.reason);\n if (signal.aborted) aborted();\n else signal.addEventListener(\"abort\", aborted, { once: true });\n pending.then(value => {\n signal.removeEventListener(\"abort\", aborted);\n resolve(value);\n }, error => {\n signal.removeEventListener(\"abort\", aborted);\n reject(error);\n });\n });\n context.registerCleanup?.(close);\n if (context.signal.aborted) callerAbort();\n else if (capability?.consumerClosed.aborted) outputAbort();\n else {\n context.signal.addEventListener(\"abort\", callerAbort, { once: true });\n capability?.consumerClosed.addEventListener(\"abort\", outputAbort, { once: true });\n }\n return {\n signal,\n output: {\n ...(destination[outputFailure] ? { [outputFailure]: destination[outputFailure] } : {}),\n async write(chunk) {\n assertOpen();\n await writeBytes(capability ?? destination, chunk, signal);\n },\n },\n registerCleanup,\n child(destination) {\n assertOpen();\n const child = createOutputOperation({ signal, registerCleanup }, destination);\n children.push(child);\n return child;\n },\n async acquire<Value>(start: (signal: AbortSignal) => Value | Promise<Value>, release: (resource: Value) => void | Promise<void>) {\n assertOpen();\n let resource: { value: Value } | undefined;\n let settled!: () => void;\n const admitted = new Promise<void>(resolve => { settled = resolve; });\n let released: Promise<void> | undefined;\n const dispose = (): Promise<void> => {\n released ??= admitted.then(async () => { if (resource) await release(resource.value); });\n return released;\n };\n registerCleanup(dispose);\n let acquisition: Promise<Value>;\n try { acquisition = Promise.resolve(start(signal)); }\n catch (error) { acquisition = Promise.reject(error); }\n const pending = acquisition.then(async value => {\n resource = { value };\n settled();\n if (!accepting) {\n await dispose();\n throw signal.aborted ? signal.reason : closedReason;\n }\n return value;\n }, error => {\n settled();\n throw error;\n });\n return wait(pending);\n },\n close,\n abort(reason) {\n abort(reason);\n return close();\n },\n };\n}\n"],
5
- "mappings": "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",
6
- "names": ["destination"]
7
- }