@poe-platform/safe-bash 0.1.545 → 0.1.547
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/safe-bash/chunks/{chunk-FAA2WXKH.js → chunk-4JW32W4B.js} +163 -105
- package/dist/safe-bash/chunks/{chunk-FAA2WXKH.js.map → chunk-4JW32W4B.js.map} +3 -3
- package/dist/safe-bash/chunks/{chunk-XWCSJDGK.js → chunk-4V3NGZAG.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-ASCV3OWE.js → chunk-AWP6Z3RR.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-2YHZYNLC.js → chunk-DKT746UJ.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-C7Z2SSTY.js → chunk-EUNOVYVT.js} +16 -3
- package/dist/safe-bash/chunks/chunk-EUNOVYVT.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-6E3FCEJ5.js → chunk-F5AOPLRZ.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-GA43CRT3.js → chunk-FIY2BMTU.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-EGLBB57T.js → chunk-IDJQT32M.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-25GUOTPE.js → chunk-QX2X5EC5.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-CTE3HGYS.js → chunk-VY5N6O6I.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-K4RQ7ASH.js → chunk-WJWYJDQE.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-R4HP2LEO.js → chunk-WXUZXY35.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-IVJ5JGXZ.js → chunk-YFFFBLBC.js} +2 -2
- package/dist/safe-bash/commands/archive/unzip/safety.d.ts +3 -2
- package/dist/safe-bash/commands/archive/unzip/safety.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/unzip/safety.js +57 -62
- package/dist/safe-bash/commands/archive/unzip/safety.js.map +1 -1
- package/dist/safe-bash/commands/archive/unzip.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/unzip.js +12 -9
- package/dist/safe-bash/commands/archive/unzip.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip/safety.d.ts +1 -0
- package/dist/safe-bash/commands/archive/zip/safety.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip/safety.js +19 -87
- package/dist/safe-bash/commands/archive/zip/safety.js.map +1 -1
- package/dist/safe-bash/commands/archive/zip.d.ts.map +1 -1
- package/dist/safe-bash/commands/archive/zip.js +2 -1
- package/dist/safe-bash/commands/archive/zip.js.map +1 -1
- package/dist/safe-bash/commands/csplit/command.d.ts.map +1 -1
- package/dist/safe-bash/commands/csplit/command.js +3 -1
- package/dist/safe-bash/commands/csplit/command.js.map +1 -1
- package/dist/safe-bash/commands/csplit/index.browser.js +3 -3
- package/dist/safe-bash/commands/csplit/internal.d.ts +2 -0
- package/dist/safe-bash/commands/csplit/internal.d.ts.map +1 -1
- package/dist/safe-bash/commands/csplit/internal.js +12 -0
- package/dist/safe-bash/commands/csplit/internal.js.map +1 -1
- package/dist/safe-bash/commands/csplit/io.d.ts +4 -2
- package/dist/safe-bash/commands/csplit/io.d.ts.map +1 -1
- package/dist/safe-bash/commands/csplit/io.js +98 -58
- package/dist/safe-bash/commands/csplit/io.js.map +1 -1
- package/dist/safe-bash/commands/factor/index.browser.js +2 -2
- package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
- package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
- package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
- package/dist/safe-bash/commands/line-endings/index.browser.js +3 -3
- package/dist/safe-bash/commands/llm/index.browser.js +2 -2
- package/dist/safe-bash/commands/network/index.browser.js +3 -3
- package/dist/safe-bash/commands/pr/index.browser.js +2 -2
- package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
- package/dist/safe-bash/commands/yq/index.browser.js +2 -2
- package/dist/safe-bash/contracts/filesystem.d.ts +1 -1
- package/dist/safe-bash/contracts/filesystem.d.ts.map +1 -1
- package/dist/safe-bash/contracts/output.d.ts.map +1 -1
- package/dist/safe-bash/contracts/output.js +12 -2
- package/dist/safe-bash/contracts/output.js.map +1 -1
- package/dist/safe-bash/core.browser.js +255 -141
- package/dist/safe-bash/core.browser.js.map +3 -3
- package/package.json +2 -2
- package/dist/safe-bash/chunks/chunk-C7Z2SSTY.js.map +0 -7
- /package/dist/safe-bash/chunks/{chunk-XWCSJDGK.js.map → chunk-4V3NGZAG.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-ASCV3OWE.js.map → chunk-AWP6Z3RR.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-2YHZYNLC.js.map → chunk-DKT746UJ.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-6E3FCEJ5.js.map → chunk-F5AOPLRZ.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-GA43CRT3.js.map → chunk-FIY2BMTU.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-EGLBB57T.js.map → chunk-IDJQT32M.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-25GUOTPE.js.map → chunk-QX2X5EC5.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-CTE3HGYS.js.map → chunk-VY5N6O6I.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-K4RQ7ASH.js.map → chunk-WJWYJDQE.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-R4HP2LEO.js.map → chunk-WXUZXY35.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-IVJ5JGXZ.js.map → chunk-YFFFBLBC.js.map} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@poe-platform/safe-bash",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.547",
|
|
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.
|
|
257
|
+
"@poe-platform/safe-fs": "0.1.547",
|
|
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
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|