@poe-platform/safe-bash 0.1.726 → 0.1.727
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-6VZX7ESE.js → chunk-26N7BLXE.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-ZZ7JQBPX.js → chunk-4A2OLEML.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-LTREB3HX.js → chunk-54MC6XF5.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-Z3CCN6Y2.js → chunk-6J5FUESH.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-YR5RZBWS.js → chunk-6TBFZ5JE.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-6HJNJ625.js → chunk-7MMYQG3P.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-WTZZX4LV.js → chunk-A4MB2KXV.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-EM2JW7ZH.js → chunk-ATYJKRBZ.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-VV24PRPB.js → chunk-AZQOEGP3.js} +1050 -101
- package/dist/safe-bash/chunks/chunk-AZQOEGP3.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-EFMXWUYE.js → chunk-B6JEJ6AT.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-JFGGQUYP.js → chunk-BFXGHT3R.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-RP5IZOOR.js → chunk-BJYV5J65.js} +1050 -101
- package/dist/safe-bash/chunks/chunk-BJYV5J65.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-HNHOPD3P.js → chunk-DIEFWGXO.js} +46 -26
- package/dist/safe-bash/chunks/{chunk-HNHOPD3P.js.map → chunk-DIEFWGXO.js.map} +2 -2
- package/dist/safe-bash/chunks/{chunk-SME47P4B.js → chunk-DV6EZOKM.js} +46 -26
- package/dist/safe-bash/chunks/{chunk-SME47P4B.js.map → chunk-DV6EZOKM.js.map} +2 -2
- package/dist/safe-bash/chunks/{chunk-646RTREQ.js → chunk-EEDOYIPC.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-OFAAHWL5.js → chunk-GCQ5A2T2.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-MJW4KSKV.js → chunk-GLPJEDLY.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-FOOJWH7J.js → chunk-GO5OKPBO.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-5JANWFJ3.js → chunk-GWYXCCGO.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-DPHRNHPT.js → chunk-H6KJ4L22.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-FLX2BZBF.js → chunk-HGBYIDAK.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-VGJIDLZM.js → chunk-KS5VSJYM.js} +15 -8
- package/dist/safe-bash/chunks/chunk-KS5VSJYM.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-PO3Z7W3A.js → chunk-MUHYGUFD.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-5DLGYPGJ.js → chunk-PDSTXORC.js} +126 -58
- package/dist/safe-bash/chunks/chunk-PDSTXORC.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-TIHMU25L.js → chunk-PQ37GDJF.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-OTM5RCWZ.js → chunk-QNEDWYC2.js} +15 -8
- package/dist/safe-bash/chunks/chunk-QNEDWYC2.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-LZ7FUN6K.js → chunk-RHHDOA67.js} +5 -5
- package/dist/safe-bash/chunks/{chunk-DSCL3VA2.js → chunk-SJ3B26XV.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-6JBTVWHH.js → chunk-SWACYEIT.js} +5 -5
- package/dist/safe-bash/chunks/{chunk-7UJW7TYR.js → chunk-TD6NWAUK.js} +126 -58
- package/dist/safe-bash/chunks/chunk-TD6NWAUK.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-Q4I754TV.js → chunk-THOBFD5C.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-XELW5O3R.js → chunk-U2STHT7S.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-5X4SOSTT.js → chunk-UJHE5PTK.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-B6YFFKYG.js → chunk-X4I3RHTC.js} +5 -1
- package/dist/safe-bash/chunks/chunk-X4I3RHTC.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-YOK5UHA7.js → chunk-XKXFX3RH.js} +5 -1
- package/dist/safe-bash/chunks/chunk-XKXFX3RH.js.map +7 -0
- package/dist/safe-bash/chunks/{chunk-PLCYP2E5.js → chunk-XV4K3UUF.js} +2 -2
- package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
- 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/internal.d.ts.map +1 -1
- package/dist/safe-bash/commands/internal.js +4 -3
- package/dist/safe-bash/commands/internal.js.map +1 -1
- package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/index.browser.js +4 -4
- package/dist/safe-bash/commands/network/index.browser.js +4 -4
- package/dist/safe-bash/commands/node/index.browser.js +4 -4
- package/dist/safe-bash/commands/pandoc/index.js.map +1 -1
- package/dist/safe-bash/commands/pr/index.browser.js +3 -3
- package/dist/safe-bash/commands/python/index.browser.js +2 -2
- package/dist/safe-bash/commands/record-buffer.d.ts.map +1 -1
- package/dist/safe-bash/commands/record-buffer.js +12 -4
- package/dist/safe-bash/commands/record-buffer.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/bounded-provider.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/bounded-provider.js +75 -8
- package/dist/safe-bash/commands/regex-execution/bounded-provider.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/limits.d.ts +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/limits.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/ere/limits.js +6 -4
- package/dist/safe-bash/commands/regex-execution/ere/limits.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/portable.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/portable.js +7 -2
- package/dist/safe-bash/commands/regex-execution/portable.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/protocol.d.ts +2 -0
- package/dist/safe-bash/commands/regex-execution/protocol.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/protocol.js +26 -0
- package/dist/safe-bash/commands/regex-execution/protocol.js.map +1 -1
- package/dist/safe-bash/commands/regex-execution/utf8.d.ts +1 -1
- package/dist/safe-bash/commands/regex-execution/utf8.d.ts.map +1 -1
- package/dist/safe-bash/commands/regex-execution/utf8.js +26 -2
- package/dist/safe-bash/commands/regex-execution/utf8.js.map +1 -1
- package/dist/safe-bash/commands/search/grep.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/grep.js +109 -15
- package/dist/safe-bash/commands/search/grep.js.map +1 -1
- package/dist/safe-bash/commands/search/matcher.d.ts +1 -1
- package/dist/safe-bash/commands/search/matcher.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/matcher.js +2 -0
- package/dist/safe-bash/commands/search/matcher.js.map +1 -1
- package/dist/safe-bash/commands/search/shared.d.ts.map +1 -1
- package/dist/safe-bash/commands/search/shared.js +23 -12
- package/dist/safe-bash/commands/search/shared.js.map +1 -1
- package/dist/safe-bash/commands/standard.d.ts.map +1 -1
- package/dist/safe-bash/commands/standard.js +22 -0
- package/dist/safe-bash/commands/standard.js.map +1 -1
- package/dist/safe-bash/commands/streams.d.ts.map +1 -1
- package/dist/safe-bash/commands/streams.js +54 -10
- package/dist/safe-bash/commands/streams.js.map +1 -1
- package/dist/safe-bash/commands/structured/input.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/input.js +484 -55
- package/dist/safe-bash/commands/structured/input.js.map +1 -1
- package/dist/safe-bash/commands/structured/interpreter.d.ts +3 -0
- package/dist/safe-bash/commands/structured/interpreter.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/interpreter.js +157 -1
- package/dist/safe-bash/commands/structured/interpreter.js.map +1 -1
- package/dist/safe-bash/commands/structured/jq.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/jq.js +50 -24
- package/dist/safe-bash/commands/structured/jq.js.map +1 -1
- package/dist/safe-bash/commands/structured/limits.d.ts +5 -0
- package/dist/safe-bash/commands/structured/limits.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/limits.js +51 -36
- package/dist/safe-bash/commands/structured/limits.js.map +1 -1
- package/dist/safe-bash/commands/structured/numbers.d.ts +1 -0
- package/dist/safe-bash/commands/structured/numbers.d.ts.map +1 -1
- package/dist/safe-bash/commands/structured/numbers.js +32 -0
- package/dist/safe-bash/commands/structured/numbers.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-reader.d.ts +1 -0
- package/dist/safe-bash/commands/text-programs/awk-reader.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-reader.js +41 -5
- package/dist/safe-bash/commands/text-programs/awk-reader.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-retention.d.ts +1 -0
- package/dist/safe-bash/commands/text-programs/awk-retention.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-retention.js +9 -0
- package/dist/safe-bash/commands/text-programs/awk-retention.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts +13 -0
- package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-runtime.js +421 -83
- package/dist/safe-bash/commands/text-programs/awk-runtime.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-values.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/awk-values.js +21 -0
- package/dist/safe-bash/commands/text-programs/awk-values.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/regex.d.ts +15 -2
- package/dist/safe-bash/commands/text-programs/regex.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/regex.js +501 -13
- package/dist/safe-bash/commands/text-programs/regex.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/sed.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/sed.js +242 -102
- package/dist/safe-bash/commands/text-programs/sed.js.map +1 -1
- package/dist/safe-bash/commands/text-programs/shared.d.ts +2 -0
- package/dist/safe-bash/commands/text-programs/shared.d.ts.map +1 -1
- package/dist/safe-bash/commands/text-programs/shared.js +36 -0
- package/dist/safe-bash/commands/text-programs/shared.js.map +1 -1
- package/dist/safe-bash/commands/text.d.ts.map +1 -1
- package/dist/safe-bash/commands/text.js +136 -19
- package/dist/safe-bash/commands/text.js.map +1 -1
- package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
- package/dist/safe-bash/commands/xml/index.browser.js +5 -5
- package/dist/safe-bash/commands/yq/index.browser.js +5 -5
- package/dist/safe-bash/contracts/yield.d.ts +1 -0
- package/dist/safe-bash/contracts/yield.d.ts.map +1 -1
- package/dist/safe-bash/contracts/yield.js +3 -0
- package/dist/safe-bash/contracts/yield.js.map +1 -1
- package/dist/safe-bash/core.browser.js +1052 -256
- package/dist/safe-bash/core.browser.js.map +3 -3
- package/dist/safe-bash/plugins/composition.d.ts +1 -0
- package/dist/safe-bash/plugins/composition.d.ts.map +1 -1
- package/dist/safe-bash/plugins/composition.js +80 -2
- package/dist/safe-bash/plugins/composition.js.map +1 -1
- package/dist/safe-bash/plugins/index.d.ts.map +1 -1
- package/dist/safe-bash/plugins/index.js +2 -2
- package/dist/safe-bash/plugins/index.js.map +1 -1
- package/dist/safe-bash-command-fold/arguments.d.ts +1 -1
- package/dist/safe-bash-command-fold/contracts.d.ts +2 -1
- package/dist/safe-bash-command-fold/engine.d.ts +1 -1
- package/dist/safe-bash-command-fold/index.js +10 -8
- package/dist/safe-bash-command-fold/index.js.map +2 -2
- package/dist/safe-bash-command-sips/index.js +231 -67
- package/dist/safe-bash-command-sips/index.js.map +2 -2
- package/dist/safe-bash-command-unrtf/contracts.d.ts +5 -2
- package/dist/safe-bash-command-unrtf/index.js +6 -5
- package/dist/safe-bash-command-unrtf/index.js.map +2 -2
- package/dist/safe-playwright-cloudflare/browser-run-code.js +22 -6
- package/package.json +2 -2
- package/dist/safe-bash/chunks/chunk-5DLGYPGJ.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-7UJW7TYR.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-B6YFFKYG.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-OTM5RCWZ.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-RP5IZOOR.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-VGJIDLZM.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-VV24PRPB.js.map +0 -7
- package/dist/safe-bash/chunks/chunk-YOK5UHA7.js.map +0 -7
- /package/dist/safe-bash/chunks/{chunk-6VZX7ESE.js.map → chunk-26N7BLXE.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-ZZ7JQBPX.js.map → chunk-4A2OLEML.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-LTREB3HX.js.map → chunk-54MC6XF5.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-Z3CCN6Y2.js.map → chunk-6J5FUESH.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-YR5RZBWS.js.map → chunk-6TBFZ5JE.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-6HJNJ625.js.map → chunk-7MMYQG3P.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-WTZZX4LV.js.map → chunk-A4MB2KXV.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-EM2JW7ZH.js.map → chunk-ATYJKRBZ.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-EFMXWUYE.js.map → chunk-B6JEJ6AT.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-JFGGQUYP.js.map → chunk-BFXGHT3R.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-646RTREQ.js.map → chunk-EEDOYIPC.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-OFAAHWL5.js.map → chunk-GCQ5A2T2.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-MJW4KSKV.js.map → chunk-GLPJEDLY.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-FOOJWH7J.js.map → chunk-GO5OKPBO.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-5JANWFJ3.js.map → chunk-GWYXCCGO.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-DPHRNHPT.js.map → chunk-H6KJ4L22.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-FLX2BZBF.js.map → chunk-HGBYIDAK.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-PO3Z7W3A.js.map → chunk-MUHYGUFD.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-TIHMU25L.js.map → chunk-PQ37GDJF.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-LZ7FUN6K.js.map → chunk-RHHDOA67.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-DSCL3VA2.js.map → chunk-SJ3B26XV.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-6JBTVWHH.js.map → chunk-SWACYEIT.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-Q4I754TV.js.map → chunk-THOBFD5C.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-XELW5O3R.js.map → chunk-U2STHT7S.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-5X4SOSTT.js.map → chunk-UJHE5PTK.js.map} +0 -0
- /package/dist/safe-bash/chunks/{chunk-PLCYP2E5.js.map → chunk-XV4K3UUF.js.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/contracts/yield.ts"],
|
|
4
|
-
"sourcesContent": ["type ImmediateHost = typeof globalThis & {\n setImmediate?: (callback: () => void) => unknown;\n clearImmediate?: (handle: unknown) => void;\n};\n\nexport type TurnHandle =\n | { kind: \"immediate\"; value: unknown }\n | { kind: \"timeout\"; value: ReturnType<typeof setTimeout> };\nconst checkpoints = new WeakMap<AbortSignal, () => void>();\n\ninterface SignalYieldState {\n currentAbort: (() => void) | null;\n overflowAborts: Set<() => void> | null;\n}\n\nconst signalYieldStates = new WeakMap<AbortSignal, SignalYieldState>();\n\nfunction getSignalYieldState(signal: AbortSignal): SignalYieldState {\n let state = signalYieldStates.get(signal);\n if (!state) {\n state = { currentAbort: null, overflowAborts: null };\n signalYieldStates.set(signal, state);\n signal.addEventListener(\n \"abort\",\n () => {\n const current = state!.currentAbort;\n state!.currentAbort = null;\n if (current) current();\n const overflow = state!.overflowAborts;\n if (overflow) {\n state!.overflowAborts = null;\n for (const fn of overflow) fn();\n }\n },\n { once: true },\n );\n }\n return state;\n}\n\nexport function monotonicNow(): number {\n return globalThis.performance?.now() ?? Date.now();\n}\n\nexport function registerYieldCheckpoint(signal: AbortSignal, checkpoint: () => void): void {\n checkpoints.set(signal, checkpoint);\n}\n\nexport function inheritYieldCheckpoint(parent: AbortSignal, child: AbortSignal): void {\n const checkpoint = checkpoints.get(parent);\n if (checkpoint) checkpoints.set(child, checkpoint);\n}\n\nexport function scheduleTurn(callback: () => void): TurnHandle {\n const host = globalThis as ImmediateHost;\n return host.setImmediate\n ? { kind: \"immediate\", value: host.setImmediate(callback) }\n : { kind: \"timeout\", value: setTimeout(callback, 0) };\n}\n\nexport function cancelTurn(handle: TurnHandle | undefined): void {\n if (handle?.kind === \"immediate\") (globalThis as ImmediateHost).clearImmediate?.(handle.value);\n else if (handle) clearTimeout(handle.value);\n}\n\nexport function yieldTurn(signal?: AbortSignal): Promise<void> {\n signal?.throwIfAborted();\n if (signal) checkpoints.get(signal)?.();\n return new Promise<void>((resolve, reject) => {\n const host = globalThis as ImmediateHost;\n let immediateHandle: unknown;\n let timeoutHandle: ReturnType<typeof setTimeout> | undefined;\n let state: SignalYieldState | undefined;\n const finish = (): void => {\n if (state) {\n if (state.currentAbort === abort) state.currentAbort = null;\n else state.overflowAborts?.delete(abort);\n }\n resolve();\n };\n const abort = (): void => {\n if (immediateHandle !== undefined) host.clearImmediate?.(immediateHandle);\n else if (timeoutHandle !== undefined) clearTimeout(timeoutHandle);\n reject(signal!.reason);\n };\n if (signal) {\n if (signal.aborted) {\n abort();\n return;\n }\n state = getSignalYieldState(signal);\n if (state.currentAbort === null) state.currentAbort = abort;\n else {\n state.overflowAborts ??= new Set();\n state.overflowAborts.add(abort);\n }\n }\n if (host.setImmediate) immediateHandle = host.setImmediate(finish);\n else timeoutHandle = setTimeout(finish, 0);\n });\n}\n"],
|
|
5
|
-
"mappings": ";;;;;AAAA;AAQA,IAAM,cAAc,oBAAI,QAAiC;AAOzD,IAAM,oBAAoB,oBAAI,QAAuC;AAErE,SAAS,oBAAoB,QAAuC;AAClE,MAAI,QAAQ,kBAAkB,IAAI,MAAM;AACxC,MAAI,CAAC,OAAO;AACV,YAAQ,EAAE,cAAc,MAAM,gBAAgB,KAAK;AACnD,sBAAkB,IAAI,QAAQ,KAAK;AACnC,WAAO;AAAA,MACL;AAAA,MACA,MAAM;AACJ,cAAM,UAAU,MAAO;AACvB,cAAO,eAAe;AACtB,YAAI,QAAS,SAAQ;AACrB,cAAM,WAAW,MAAO;AACxB,YAAI,UAAU;AACZ,gBAAO,iBAAiB;AACxB,qBAAW,MAAM,SAAU,IAAG;AAAA,QAChC;AAAA,MACF;AAAA,MACA,EAAE,MAAM,KAAK;AAAA,IACf;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,eAAuB;AACrC,SAAO,WAAW,aAAa,IAAI,KAAK,KAAK,IAAI;AACnD;AAEO,SAAS,wBAAwB,QAAqB,YAA8B;AACzF,cAAY,IAAI,QAAQ,UAAU;AACpC;AAEO,SAAS,uBAAuB,QAAqB,OAA0B;AACpF,QAAM,aAAa,YAAY,IAAI,MAAM;AACzC,MAAI,WAAY,aAAY,IAAI,OAAO,UAAU;AACnD;AAEO,SAAS,aAAa,UAAkC;AAC7D,QAAM,OAAO;AACb,SAAO,KAAK,eACR,EAAE,MAAM,aAAa,OAAO,KAAK,aAAa,QAAQ,EAAE,IACxD,EAAE,MAAM,WAAW,OAAO,WAAW,UAAU,CAAC,EAAE;AACxD;AAEO,SAAS,WAAW,QAAsC;AAC/D,MAAI,QAAQ,SAAS,YAAa,CAAC,WAA6B,iBAAiB,OAAO,KAAK;AAAA,WACpF,OAAQ,cAAa,OAAO,KAAK;AAC5C;AAEO,SAAS,UAAU,QAAqC;AAC7D,UAAQ,eAAe;AACvB,MAAI,OAAQ,aAAY,IAAI,MAAM,IAAI;AACtC,SAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,UAAM,OAAO;AACb,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,UAAM,SAAS,MAAY;AACzB,UAAI,OAAO;AACT,YAAI,MAAM,iBAAiB,MAAO,OAAM,eAAe;AAAA,YAClD,OAAM,gBAAgB,OAAO,KAAK;AAAA,MACzC;AACA,cAAQ;AAAA,IACV;AACA,UAAM,QAAQ,MAAY;AACxB,UAAI,oBAAoB,OAAW,MAAK,iBAAiB,eAAe;AAAA,eAC/D,kBAAkB,OAAW,cAAa,aAAa;AAChE,aAAO,OAAQ,MAAM;AAAA,IACvB;AACA,QAAI,QAAQ;AACV,UAAI,OAAO,SAAS;AAClB,cAAM;AACN;AAAA,MACF;AACA,cAAQ,oBAAoB,MAAM;AAClC,UAAI,MAAM,iBAAiB,KAAM,OAAM,eAAe;AAAA,WACjD;AACH,cAAM,mBAAmB,oBAAI,IAAI;AACjC,cAAM,eAAe,IAAI,KAAK;AAAA,MAChC;AAAA,IACF;AACA,QAAI,KAAK,aAAc,mBAAkB,KAAK,aAAa,MAAM;AAAA,QAC5D,iBAAgB,WAAW,QAAQ,CAAC;AAAA,EAC3C,CAAC;AACH;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/commands/internal.ts", "../../src/commands/portable-requirements.ts", "../../src/commands/record-buffer.ts", "../../src/commands/gnu-information.ts"],
|
|
4
|
-
"sourcesContent": ["import { PublicDiagnostic, publicDiagnosticMessage } from \"../diagnostics.js\";\nimport { assertCommandRequirements } from \"../contracts/command-requirements.js\";\nimport { writeDiagnostic } from \"../escaping.js\";\nimport { inputRequirements } from \"./portable-requirements.js\";\nimport { RecordBuffer } from \"./record-buffer.js\";\nimport { gnuInformation } from \"./gnu-information.js\";\nimport {\n FsError, isAbsolutePath, readBytes, toByteSource, validatePath, writeBytes,\n type ByteSource, type CommandContext, type CommandDefinition, type CommandHandler,\n} from \"../contracts/index.js\";\n\nexport const encoder = new TextEncoder();\nexport const decoder = new TextDecoder();\nexport const bufferLimit = 32 * 1024 * 1024;\n\nexport class UsageError extends PublicDiagnostic {}\n\nexport interface ParsedOptions {\n readonly flags: Set<string>;\n readonly values: Map<string, string[]>;\n readonly operands: string[];\n}\n\nexport function options(\n args: readonly string[], short: string, long: Readonly<Record<string, string | false>> = {},\n stopAtOperand = false, onOperand?: (index: number) => void,\n onValue?: (key: string, index: number, offset: number) => void,\n onOption?: (key: string, value: string | undefined) => void,\n): ParsedOptions {\n const flags = new Set<string>();\n const values = new Map<string, string[]>();\n const operands: string[] = [];\n const specifications = new Map<string, boolean>();\n for (let index = 0; index < short.length; index++) {\n const key = short[index]!;\n specifications.set(key, short[index + 1] === \":\");\n if (short[index + 1] === \":\") index++;\n }\n let ended = false;\n for (let index = 0; index < args.length; index++) {\n const argument = args[index]!;\n if (ended || argument === \"-\" || !argument.startsWith(\"-\")) {\n operands.push(argument);\n onOperand?.(index);\n if (stopAtOperand) ended = true;\n continue;\n }\n if (argument === \"--\") { ended = true; continue; }\n if (argument.startsWith(\"--\")) {\n const equals = argument.indexOf(\"=\");\n const name = argument.slice(2, equals < 0 ? undefined : equals);\n const alias = long[name];\n const longValue = typeof alias === \"string\" && alias.endsWith(\":\");\n const key = alias === false ? name : longValue ? alias.slice(0, -1) : alias;\n if (!key || (alias !== false && !longValue && !specifications.has(key))) throw new UsageError(`unrecognized option '${argument}'`);\n if (longValue || specifications.get(key)) {\n const value = equals >= 0 ? argument.slice(equals + 1) : args[++index];\n if (value === undefined) throw new UsageError(`option '--${name}' requires an argument`);\n onValue?.(key, index, equals >= 0 ? equals + 1 : 0);\n values.set(key, [...values.get(key) ?? [], value]);\n } else if (equals >= 0) throw new UsageError(`option '--${name}' does not take an argument`);\n flags.add(key);\n onOption?.(key, values.get(key)?.at(-1));\n continue;\n }\n for (let offset = 1; offset < argument.length; offset++) {\n const key = argument[offset]!;\n if (!specifications.has(key)) throw new UsageError(`invalid option -- '${key}'`);\n if (specifications.get(key)) {\n const value = argument.slice(offset + 1) || args[++index];\n if (value === undefined) throw new UsageError(`option requires an argument -- '${key}'`);\n onValue?.(key, index, offset + 1 < argument.length ? offset + 1 : 0);\n values.set(key, [...values.get(key) ?? [], value]);\n offset = argument.length;\n }\n flags.add(key);\n onOption?.(key, values.get(key)?.at(-1));\n }\n }\n return { flags, values, operands };\n}\n\nexport function value(parsed: ParsedOptions, key: string): string | undefined {\n return parsed.values.get(key)?.at(-1);\n}\n\nexport function integer(text: string, minimum = 0): number {\n if (!/^[+]?[0-9]+$/u.test(text)) throw new UsageError(`invalid number '${text}'`);\n const number = Number(text);\n if (!Number.isSafeInteger(number) || number < minimum) throw new UsageError(`invalid number '${text}'`);\n return number;\n}\n\nexport function requireOperands(operands: readonly string[], minimum = 1, maximum = Infinity): void {\n if (operands.length < minimum) throw new UsageError(\"missing operand\");\n if (operands.length > maximum) throw new UsageError(`extra operand '${operands[maximum]}'`);\n}\n\nexport function pathOf(context: Pick<CommandContext, \"cwd\">, path: string): string {\n if (!path) throw new FsError(\"ENOENT\", { path });\n validatePath(path);\n validatePath(context.cwd);\n if (!isAbsolutePath(context.cwd)) throw new FsError(\"EINVAL\", { path: context.cwd, message: \"cwd must be absolute\" });\n return isAbsolutePath(path) ? path : `${context.cwd.replace(/\\/$/u, \"\")}/${path}`;\n}\n\nexport function codeOf(error: unknown): string | undefined {\n return error instanceof Error && \"code\" in error ? String(error.code) : undefined;\n}\n\nexport async function output(context: CommandContext, text: string | Uint8Array): Promise<void> {\n context.signal.throwIfAborted();\n await writeBytes(context.stdout, typeof text === \"string\" ? encoder.encode(text) : text, context.signal);\n}\n\nexport async function diagnostic(context: CommandContext, error: unknown): Promise<void> {\n context.signal.throwIfAborted();\n await writeDiagnostic(context.stderr, `${context.command}: ${publicDiagnosticMessage(error, context.onInternalError)}\\n`, context.signal);\n}\n\nexport function define(name: string, handler: CommandHandler, failureCode = 1): CommandDefinition {\n return {\n name,\n async execute(context) {\n context.signal.throwIfAborted();\n try { return await gnuInformation(name, context) ?? await handler(context); }\n catch (error) {\n context.signal.throwIfAborted();\n await diagnostic(context, error);\n return { exitCode: error instanceof UsageError ? 2 : failureCode };\n }\n },\n };\n}\n\nexport async function eachOperand(\n context: CommandContext, operands: readonly string[], operation: (operand: string) => Promise<void>,\n): Promise<{ exitCode: number }> {\n let exitCode = 0;\n for (const operand of operands) {\n context.signal.throwIfAborted();\n try { await operation(operand); }\n catch (error) { await diagnostic(context, error); exitCode = 1; }\n }\n return { exitCode };\n}\n\nexport async function* input(context: CommandContext, name = \"-\"): ByteSource {\n context.signal.throwIfAborted();\n if (name === \"-\") {\n yield* readBytes(context.stdin, context.signal);\n } else {\n await assertInputRequirements(context, [name]);\n const path = pathOf(context, name);\n const capabilities = await context.fs.capabilitiesFor?.(path, { signal: context.signal }) ?? context.fs.capabilities;\n if (context.fs.readStream && capabilities.streamingRead !== false) {\n let emitted = false;\n let reading = true;\n try {\n for await (const chunk of readBytes(context.fs.readStream(path, { signal: context.signal }), context.signal)) {\n reading = false;\n if (chunk.byteLength) emitted = true;\n yield chunk;\n reading = true;\n }\n return;\n } catch (error) {\n context.signal.throwIfAborted();\n if (!reading || emitted || !(error instanceof FsError) || error.code !== \"ENOTSUP\") throw error;\n }\n }\n if (capabilities.read === false) throw new FsError(\"ENOTSUP\", { syscall: \"readFile\", path });\n yield* readBytes({\n async *[Symbol.asyncIterator]() {\n const bytes = await context.fs.readFile(path, { signal: context.signal, maxBytes: bufferLimit });\n context.signal.throwIfAborted();\n if (bytes.byteLength > bufferLimit) throw new FsError(\"EFBIG\", { syscall: \"readFile\", path });\n yield bytes;\n },\n }, context.signal);\n }\n}\n\nexport async function assertInputRequirements(context: CommandContext, names: readonly string[]): Promise<void> {\n const files = names.filter(name => name !== \"-\");\n assertCommandRequirements(context, inputRequirements, [files.length ? \"file\" : \"stdin\"]);\n if (!context.fs.capabilitiesFor) return;\n for (const name of files) {\n try {\n const capabilities = await context.fs.capabilitiesFor(pathOf(context, name), { signal: context.signal });\n assertCommandRequirements(context, inputRequirements, [\"file\"], capabilities);\n } catch (error) {\n context.signal.throwIfAborted();\n if (codeOf(error) === \"ENOTSUP\" || codeOf(error) === \"EROFS\") throw error;\n }\n }\n}\n\nexport function concatenate(chunks: readonly Uint8Array[], size = chunks.reduce((sum, chunk) => sum + chunk.length, 0)): Uint8Array {\n const result = new Uint8Array(size);\n let offset = 0;\n for (const chunk of chunks) { result.set(chunk, offset); offset += chunk.length; }\n return result;\n}\n\nexport async function collect(source: ByteSource, signal: AbortSignal, limit = bufferLimit): Promise<Uint8Array> {\n const chunks: Uint8Array[] = [];\n let size = 0;\n for await (const chunk of source) {\n signal.throwIfAborted();\n size += chunk.length;\n if (size > limit) throw new FsError(\"EFBIG\", { message: `buffer limit exceeded (${limit} bytes)` });\n chunks.push(new Uint8Array(chunk));\n }\n return concatenate(chunks, size);\n}\n\nexport interface Line { readonly bytes: Uint8Array; readonly terminated: boolean }\n\nexport async function* lines(source: ByteSource, separator = 10, admit?: (size: number) => void): AsyncGenerator<Line> {\n const pending = new RecordBuffer(bufferLimit);\n try {\n for await (const chunk of source) {\n let start = 0;\n for (let offset = 0; offset < chunk.length; offset++) {\n if (chunk[offset] !== separator) continue;\n yield { bytes: pending.finish(admit, chunk, start, offset), terminated: true };\n start = offset + 1;\n }\n pending.append(chunk, start);\n }\n if (pending.size) yield { bytes: pending.finish(admit), terminated: false };\n } finally { pending.clear(); }\n}\n\nexport function emptyInput(): ByteSource { return toByteSource(\"\"); }\n\nexport function replaceArgument(source: string | Uint8Array, pattern: string, replacement: string): string | Uint8Array {\n if (typeof source === \"string\") return source.split(pattern).join(replacement);\n const needle = encoder.encode(pattern);\n if (!needle.length) throw new UsageError(\"replacement string cannot be empty\");\n const substituted = encoder.encode(replacement);\n const chunks: Uint8Array[] = [];\n let start = 0;\n for (let offset = 0; offset <= source.length - needle.length;) {\n if (needle.every((byte, index) => source[offset + index] === byte)) {\n chunks.push(source.subarray(start, offset), substituted);\n offset += needle.length;\n start = offset;\n } else offset++;\n }\n chunks.push(source.subarray(start));\n return concatenate(chunks);\n}\n\nexport function escapeBytes(text: string | Uint8Array, zeroOctal = false, bareOctal = false,\n unicode?: { utf8: boolean; missingDigit: (escape: string) => void }): { bytes: Uint8Array; stop: boolean } {\n if (unicode && typeof text === \"string\") text = encoder.encode(text);\n if (typeof text === \"string\") {\n const chunks: Uint8Array[] = [];\n const control: Record<string, number> = { a: 7, b: 8, e: 27, E: 27, f: 12, n: 10, r: 13, t: 9, v: 11, \"\\\\\": 92 };\n for (let index = 0; index < text.length;) {\n if (text[index] !== \"\\\\\" || index + 1 === text.length) {\n const character = String.fromCodePoint(text.codePointAt(index)!);\n chunks.push(encoder.encode(character)); index += character.length; continue;\n }\n const next = text[index + 1]!;\n if (next === \"c\") return { bytes: concatenate(chunks), stop: true };\n if (control[next] !== undefined) { chunks.push(Uint8Array.of(control[next])); index += 2; continue; }\n const rest = text.slice(index + 1);\n const octal = zeroOctal ? (bareOctal ? /^(?:0([0-7]{0,3})|([1-7][0-7]{0,2}))/u : /^0([0-7]{0,3})/u).exec(rest) : /^([0-7]{1,3})/u.exec(rest);\n if (octal) { chunks.push(Uint8Array.of(parseInt(octal[1] || octal[2] || \"0\", 8) & 255)); index += 1 + octal[0].length; continue; }\n const hexadecimal = /^x([0-9a-fA-F]{1,2})/u.exec(rest);\n if (hexadecimal) { chunks.push(Uint8Array.of(parseInt(hexadecimal[1]!, 16))); index += 1 + hexadecimal[0].length; continue; }\n chunks.push(encoder.encode(`\\\\${next}`)); index += 2;\n }\n return { bytes: concatenate(chunks), stop: false };\n }\n const source = text;\n // C-locale fallback normalizes short escapes to four/eight uppercase digits.\n const bytes = new Uint8Array(source.length * (unicode && !unicode.utf8 ? 3 : 1));\n const control: Record<number, number> = { 97: 7, 98: 8, 101: 27, 69: 27, 102: 12, 110: 10, 114: 13, 116: 9, 118: 11, 92: 92 };\n let size = 0;\n for (let index = 0; index < source.length;) {\n if (source[index] !== 92 || index + 1 === source.length) { bytes[size++] = source[index++]!; continue; }\n const next = source[index + 1]!;\n if (next === 99) return { bytes: bytes.subarray(0, size), stop: true };\n if (control[next] !== undefined) { bytes[size++] = control[next]; index += 2; continue; }\n if (zeroOctal ? next === 48 || bareOctal && next >= 49 && next <= 55 : next >= 48 && next <= 55) {\n let offset = index + (zeroOctal && next === 48 ? 2 : 1);\n const end = Math.min(source.length, offset + 3);\n let value = 0;\n while (offset < end && source[offset]! >= 48 && source[offset]! <= 55) value = value * 8 + source[offset++]! - 48;\n bytes[size++] = value & 255;\n index = offset;\n continue;\n }\n if (unicode && (next === 117 || next === 85)) {\n const digits = next === 117 ? 4 : 8;\n let offset = index + 2;\n const end = Math.min(source.length, offset + digits);\n let value = 0;\n while (offset < end) {\n const digit = source[offset]!;\n const number = digit >= 48 && digit <= 57 ? digit - 48 : digit >= 65 && digit <= 70 ? digit - 55 : digit >= 97 && digit <= 102 ? digit - 87 : -1;\n if (number < 0) break;\n value = value * 16 + number;\n offset++;\n }\n if (offset === index + 2) unicode.missingDigit(String.fromCharCode(next));\n else {\n // Bash discards values outside its signed 32-bit wide-character range.\n if (value < 0x80000000) {\n if (!unicode.utf8 && value > 127) {\n const literal = encoder.encode(`\\\\${value <= 0xffff ? \"u\" : \"U\"}${value.toString(16).toUpperCase().padStart(value <= 0xffff ? 4 : 8, \"0\")}`);\n bytes.set(literal, size);\n size += literal.length;\n } else if (value < 128) bytes[size++] = value;\n else {\n // Match Bash's byte encoding, including surrogate and extended values.\n const length = value < 0x800 ? 2 : value < 0x10000 ? 3 : value < 0x200000 ? 4 : value < 0x4000000 ? 5 : 6;\n for (let position = length - 1; position > 0; position--) {\n bytes[size + position] = 0x80 | value & 0x3f;\n value = Math.floor(value / 64);\n }\n bytes[size] = (0xff << (8 - length) & 0xff) | value;\n size += length;\n }\n }\n index = offset;\n continue;\n }\n }\n if (next === 120) {\n let offset = index + 2;\n const end = Math.min(source.length, offset + 2);\n let value = 0;\n while (offset < end) {\n const digit = source[offset]!;\n const number = digit >= 48 && digit <= 57 ? digit - 48 : digit >= 65 && digit <= 70 ? digit - 55 : digit >= 97 && digit <= 102 ? digit - 87 : -1;\n if (number < 0) break;\n value = value * 16 + number;\n offset++;\n }\n if (offset > index + 2) { bytes[size++] = value; index = offset; continue; }\n unicode?.missingDigit(\"x\");\n }\n bytes[size++] = 92;\n bytes[size++] = next;\n index += 2;\n }\n return { bytes: bytes.subarray(0, size), stop: false };\n}\n", "import type { CommandFileSystemRequirement } from \"../contracts/command-requirements.js\";\n\nexport const inputRequirements: readonly CommandFileSystemRequirement[] = [\n { id: \"stdin\", description: \"Read standard input\", capabilities: [] },\n { id: \"file\", description: \"Read file operands\", capabilities: [], anyOf: [[\"streamingRead\"], [\"read\"]] },\n];\n\nexport const textOutputRequirements: readonly CommandFileSystemRequirement[] = [\n ...inputRequirements,\n { id: \"output\", description: \"Write or truncate an output file\", capabilities: [], anyOf: [[\"streamingWrite\"], [\"write\"]], mutates: true },\n];\n\nexport const pwdRequirements: readonly CommandFileSystemRequirement[] = [\n { id: \"logical\", description: \"Print the logical working directory\", capabilities: [] },\n { id: \"physical\", description: \"Resolve the physical working directory (-P)\", capabilities: [\"realpath\"] },\n];\n\nexport const predicateRequirements: readonly CommandFileSystemRequirement[] = [\n { id: \"expression\", description: \"Evaluate strings and integers\", capabilities: [] },\n { id: \"metadata\", description: \"Inspect file metadata\", capabilities: [\"stat\"] },\n { id: \"access\", description: \"Inspect path access permissions\", capabilities: [\"access\"] },\n];\n", "import { FsError } from \"../contracts/index.js\";\n\nconst segmentSize = 4096;\n\nexport class RecordBuffer {\n #segments: Uint8Array[] = [];\n #size = 0;\n #allocated = 0;\n\n constructor(readonly capacity: number, readonly finalizationCapacity = capacity * 2) {}\n\n get size(): number { return this.#size; }\n\n #admit(length: number): void {\n if (length > this.capacity - this.#size) {\n throw new FsError(\"EFBIG\", { message: \"line buffer limit exceeded\" });\n }\n }\n\n append(bytes: Uint8Array, start = 0, end = bytes.length): void {\n this.#admit(end - start);\n let offset = start;\n while (offset < end) {\n let segment = this.#segments.at(-1);\n const used = this.#size % segmentSize;\n if (!segment || used === 0) {\n segment = new Uint8Array(Math.min(segmentSize, this.capacity - this.#allocated));\n this.#segments.push(segment);\n this.#allocated += segment.length;\n }\n const length = Math.min(end - offset, segment.length - used);\n segment.set(bytes.subarray(offset, offset + length), used);\n this.#size += length;\n offset += length;\n }\n }\n\n finish(admit?: (size: number) => void, bytes?: Uint8Array, start = 0, end = bytes?.length ?? 0): Uint8Array {\n this.#admit(end - start);\n const size = this.#size + end - start;\n admit?.(size);\n if (size > this.finalizationCapacity - this.#allocated) {\n throw new FsError(\"EFBIG\", { message: \"line finalization buffer limit exceeded\" });\n }\n const result = new Uint8Array(size);\n let offset = 0;\n for (const segment of this.#segments) {\n const length = Math.min(segment.length, this.#size - offset);\n result.set(segment.subarray(0, length), offset);\n offset += length;\n }\n if (bytes && end > start) result.set(bytes.subarray(start, end), offset);\n this.clear();\n return result;\n }\n\n clear(): void {\n this.#segments = [];\n this.#size = 0;\n this.#allocated = 0;\n }\n}\n", "import { writeBytes, type CommandContext, type CommandResult } from \"../contracts/index.js\";\n\ninterface Information {\n readonly usage: string;\n readonly description: string;\n readonly options: readonly string[];\n readonly stopAtOperand?: boolean;\n readonly versionOnly?: boolean;\n}\n\n// These describe the virtual implementations, not the complete GNU option set.\nconst information: Readonly<Record<string, Information>> = {\n cat: { usage: \"[OPTION]... [FILE]...\", description: \"Concatenate input files.\", options: [\"-n, --number\", \"-b, --number-nonblank\", \"-s, --squeeze-blank\", \"-E, --show-ends\", \"-T, --show-tabs\", \"-v, --show-nonprinting\", \"-A, --show-all\"], versionOnly: true },\n du: { usage: \"[OPTION]... [FILE]...\", description: \"Report virtual file allocation.\", options: [\"-a, --all\", \"-s, --summarize\", \"-c, --total\", \"-h, --human-readable\", \"-B, --block-size=SIZE\", \"-b, --bytes\", \"--apparent-size\", \"-d, --max-depth=NUM\", \"-X, --exclude-from=FILE\", \"--exclude=PATTERN\", \"-t, --threshold=SIZE\"], versionOnly: true },\n base32: { usage: \"[OPTION]... [FILE]\", description: \"Encode or decode Base32 data.\", options: [\"-d, --decode\", \"-i, --ignore-garbage\", \"-w, --wrap=COLS\"] },\n base64: { usage: \"[OPTION]... [FILE]\", description: \"Encode or decode Base64 data.\", options: [\"-d, --decode\", \"-i, --ignore-garbage\", \"-w, --wrap=COLS\"] },\n basename: { usage: \"[OPTION]... NAME... [SUFFIX]\", description: \"Remove directory components and an optional suffix from names.\", options: [\"-a, --multiple\", \"-s, --suffix=SUFFIX\", \"-z, --zero\"] },\n dirname: { usage: \"[OPTION]... NAME...\", description: \"Print the directory component of each name.\", options: [\"-z, --zero\"] },\n chmod: { usage: \"[OPTION]... MODE FILE...\", description: \"Change virtual file permissions, subject to filesystem capabilities.\", options: [\"-R, --recursive\", \"-v, --verbose\", \"-c, --changes\", \"-f, --silent, --quiet\", \"--reference=FILE\"] },\n cksum: { usage: \"[OPTION]... [FILE]...\", description: \"Compute checksums of files or standard input.\", options: [\"-a, --algorithm=TYPE\", \"-b, --binary\", \"-z, --zero\", \"--tag\", \"--untagged\", \"--raw\", \"--base64\"] },\n comm: { usage: \"[OPTION]... FILE1 FILE2\", description: \"Compare sorted files in the C/POSIX byte locale.\", options: [\"-1\", \"-2\", \"-3\", \"--output-delimiter=STR\", \"--check-order\", \"--nocheck-order\"] },\n cp: { usage: \"[OPTION]... SOURCE... DEST\", description: \"Copy virtual files, subject to filesystem capabilities.\", options: [\"-a, --archive\", \"-r, -R, --recursive\", \"-f, --force\", \"-i, --interactive\", \"-n, --no-clobber\", \"-v, --verbose\", \"-t, --target-directory=DIR\", \"-T, --no-target-directory\", \"-S, --suffix=SUFFIX\"] },\n cut: { usage: \"[OPTION]... [FILE]...\", description: \"Select bytes, characters or fields from each input line.\", options: [\"-b, --bytes=LIST\", \"-c, --characters=LIST\", \"-f, --fields=LIST\", \"-d, --delimiter=CHAR\", \"-s, --only-delimited\", \"-z, --zero-terminated\", \"--output-delimiter=STR\", \"--complement\"] },\n env: { usage: \"[OPTION]... [NAME=VALUE]... [COMMAND [ARG]...]\", description: \"Print the environment or run a registered command with a modified environment.\", options: [\"-i, --ignore-environment\", \"-u, --unset=NAME\", \"-C, --chdir=DIR\", \"-S, --split-string=STR\", \"-0, --null\"], stopAtOperand: true },\n expand: { usage: \"[OPTION]... [FILE]...\", description: \"Convert tabs to spaces.\", options: [\"-i, --initial\", \"-t, --tabs=LIST\"] },\n fold: { usage: \"[OPTION]... [FILE]...\", description: \"Wrap input lines to a selected width.\", options: [\"-b, --bytes\", \"-s, --spaces\", \"-w, --width=COLS\"] },\n head: { usage: \"[OPTION]... [FILE]...\", description: \"Print the first ten lines by default, or a selected line/byte count.\", options: [\"-n, --lines=NUM\", \"-c, --bytes=NUM\", \"-q, --quiet, --silent\", \"-v, --verbose\", \"-z, --zero-terminated\"] },\n tail: { usage: \"[OPTION]... [FILE]...\", description: \"Print the last ten lines by default, or a selected line/byte count.\", options: [\"-n, --lines=NUM\", \"-c, --bytes=NUM\", \"-q, --quiet, --silent\", \"-v, --verbose\", \"-z, --zero-terminated\"] },\n join: { usage: \"[OPTION]... FILE1 FILE2\", description: \"Join sorted files on a common field in the C/POSIX byte locale.\", options: [\"-1=FIELD\", \"-2=FIELD\", \"-j=FIELD\", \"-t=CHAR\", \"-a=FILENUM\", \"-v=FILENUM\", \"-e=STR\", \"-o=FORMAT\", \"-i\", \"--check-order\", \"--nocheck-order\"] },\n ln: { usage: \"[OPTION]... TARGET... LINK_NAME\", description: \"Create virtual hard or symbolic links when supported by the filesystem.\", options: [\"-s, --symbolic\", \"-r, --relative\", \"-f, --force\", \"-i, --interactive\", \"-n, --no-dereference\", \"-v, --verbose\", \"-t, --target-directory=DIR\", \"-T, --no-target-directory\", \"-S, --suffix=SUFFIX\"] },\n ls: { usage: \"[OPTION]... [FILE]...\", description: \"List virtual directory entries.\", options: [\"-a, --all\", \"-A, --almost-all\", \"-l\", \"-1\", \"-d, --directory\", \"-F, --classify\", \"-r, --reverse\", \"-R, --recursive\", \"-L, --dereference\", \"-h, --human-readable\"] },\n mkdir: { usage: \"[OPTION]... DIRECTORY...\", description: \"Create virtual directories.\", options: [\"-p, --parents\", \"-m, --mode=MODE\", \"-v, --verbose\"] },\n mktemp: { usage: \"[OPTION]... [TEMPLATE]\", description: \"Create a temporary virtual file or directory.\", options: [\"-d, --directory\", \"-q, --quiet\", \"-u, --dry-run\", \"-p=DIR\", \"--tmpdir[=DIR]\", \"--suffix=SUFFIX\"] },\n mv: { usage: \"[OPTION]... SOURCE... DEST\", description: \"Move virtual files, subject to filesystem capabilities.\", options: [\"-f, --force\", \"-i, --interactive\", \"-n, --no-clobber\", \"-u, --update\", \"-v, --verbose\", \"-t, --target-directory=DIR\", \"-T, --no-target-directory\", \"-S, --suffix=SUFFIX\"] },\n nl: { usage: \"[OPTION]... [FILE]...\", description: \"Number input lines by section and numbering style.\", options: [\"-b, --body-numbering=STYLE\", \"-h, --header-numbering=STYLE\", \"-f, --footer-numbering=STYLE\", \"-v, --starting-line-number=NUM\", \"-i, --line-increment=NUM\", \"-s, --number-separator=STR\", \"-w, --number-width=NUM\", \"-n, --number-format=FORMAT\", \"-d, --section-delimiter=STR\", \"-l, --join-blank-lines=NUM\", \"-p, --no-renumber\"] },\n od: { usage: \"[OPTION]... [FILE]...\", description: \"Print input bytes in selected numeric formats.\", options: [\"-A, --address-radix=RADIX\", \"-j, --skip-bytes=NUM\", \"-N, --read-bytes=NUM\", \"-t, --format=TYPE, --type=TYPE\", \"-w, --width=NUM\", \"--endian=ORDER\", \"-v, --output-duplicates\"] },\n paste: { usage: \"[OPTION]... [FILE]...\", description: \"Merge corresponding or serial input lines.\", options: [\"-s, --serial\", \"-d, --delimiters=LIST\", \"-z, --zero-terminated\"] },\n readlink: { usage: \"[OPTION]... FILE...\", description: \"Print symbolic link targets or canonical virtual paths.\", options: [\"-f, --canonicalize\", \"-e, --canonicalize-existing\", \"-m, --canonicalize-missing\", \"-n, --no-newline\", \"-z, --zero\"] },\n realpath: { usage: \"[OPTION]... FILE...\", description: \"Print canonical virtual paths.\", options: [\"-e, --canonicalize-existing\", \"-m, --canonicalize-missing\", \"-s, --strip, --no-symlinks\", \"-z, --zero\"] },\n rm: { usage: \"[OPTION]... FILE...\", description: \"Remove virtual files and directories.\", options: [\"-r, -R, --recursive\", \"-f, --force\", \"-d, --dir\", \"-v, --verbose\", \"-i\", \"-I\"] },\n rmdir: { usage: \"[OPTION]... DIRECTORY...\", description: \"Remove empty virtual directories.\", options: [\"-p, --parents\", \"-v, --verbose\", \"--ignore-fail-on-non-empty\"] },\n seq: { usage: \"[OPTION]... [FIRST [INCREMENT]] LAST\", description: \"Print a numeric sequence.\", options: [\"-s, --separator=STR\", \"-f, --format=FORMAT\", \"-w, --equal-width\"] },\n sort: { usage: \"[OPTION]... [FILE]...\", description: \"Sort input records using the supported byte-oriented ordering modes.\", options: [\"-n, --numeric-sort\", \"-g, --general-numeric-sort\", \"-h, --human-numeric-sort\", \"-V, --version-sort\", \"-r, --reverse\", \"-f, --ignore-case\", \"-u, --unique\", \"-s, --stable\", \"-m, --merge\", \"-k, --key=KEY\", \"-t, --field-separator=CHAR\", \"-o, --output=FILE\", \"--sort=MODE\", \"-z, --zero-terminated\"] },\n split: { usage: \"[OPTION]... [FILE [PREFIX]]\", description: \"Split input into virtual output files.\", options: [\"-l, --lines=NUM\", \"-b, --bytes=SIZE\", \"-C, --line-bytes=SIZE\", \"-a, --suffix-length=NUM\", \"--additional-suffix=SUFFIX\"] },\n stat: { usage: \"[OPTION]... FILE...\", description: \"Display virtual file metadata supplied by the filesystem.\", options: [\"-L, --dereference\", \"-c, --format=FORMAT\", \"--printf=FORMAT\", \"-t, --terse\"] },\n tac: { usage: \"[OPTION]... [FILE]...\", description: \"Print input records in reverse order.\", options: [\"-b, --before\", \"-r, --regex\", \"-s, --separator=STR\"] },\n tee: { usage: \"[OPTION]... [FILE]...\", description: \"Copy standard input to standard output and virtual files.\", options: [\"-a, --append\", \"-i, --ignore-interrupts\", \"--output-error=MODE\"] },\n touch: { usage: \"[OPTION]... FILE...\", description: \"Update virtual file timestamps, creating missing files by default.\", options: [\"-a\", \"-m\", \"-c, --no-create\", \"-h, --no-dereference\", \"-r, --reference=FILE\", \"-d, --date=STR\", \"-t=STAMP\"] },\n tr: { usage: \"[OPTION]... STRING1 [STRING2]\", description: \"Translate, delete or squeeze input bytes.\", options: [\"-d, --delete\", \"-s, --squeeze-repeats\", \"-c, -C, --complement\", \"-t, --truncate-set1\"] },\n unexpand: { usage: \"[OPTION]... [FILE]...\", description: \"Convert spaces to tabs.\", options: [\"-a, --all\", \"-t, --tabs=LIST\", \"--first-only\"] },\n uniq: { usage: \"[OPTION]... [INPUT [OUTPUT]]\", description: \"Filter adjacent repeated input records.\", options: [\"-c, --count\", \"-d, --repeated\", \"-u, --unique\", \"-i, --ignore-case\", \"-f, --skip-fields=NUM\", \"-s, --skip-chars=NUM\", \"-w, --check-chars=NUM\", \"-z, --zero-terminated\"] },\n wc: { usage: \"[OPTION]... [FILE]...\", description: \"Count input lines, words, bytes, characters or display width.\", options: [\"-l, --lines\", \"-w, --words\", \"-c, --bytes\", \"-m, --chars\", \"-L, --max-line-length\"] },\n};\n\nconst checksumInformation: Information = {\n usage: \"[OPTION]... [FILE]...\", description: \"Compute or verify file digests.\",\n options: [\"-b, --binary\", \"-c, --check\", \"-t, --text\", \"-z, --zero\", \"--tag\", \"--quiet\", \"--status\", \"--strict\", \"--warn\", \"--ignore-missing\"],\n};\n\nexport async function gnuInformation(name: string, context: CommandContext): Promise<CommandResult | undefined> {\n if (!context.args.includes(\"--help\") && !context.args.includes(\"--version\")) return undefined;\n const info = information[name] ?? ([\"md5sum\", \"sha1sum\", \"sha224sum\", \"sha256sum\", \"sha384sum\", \"sha512sum\"].includes(name) ? checksumInformation : undefined);\n if (!info) return undefined;\n const flags = new Map<string, \"none\" | \"required\" | \"optional\">();\n for (const option of info.options) {\n const takesValue = option.includes(\"[=\") ? \"optional\" : option.includes(\"=\") ? \"required\" : \"none\";\n for (const spelling of option.split(\", \")) flags.set(spelling.split(\"=\")[0]!.split(\"[\")[0]!, takesValue);\n }\n for (let index = 0; index < context.args.length; index++) {\n const arg = context.args[index]!;\n if (arg === \"--\") break;\n if (arg === \"--help\" || arg === \"--version\") {\n if (arg === \"--help\" && info.versionOnly) return undefined;\n const text = arg === \"--version\"\n ? `${name} (safe-bash virtual implementation)\\n`\n : `Usage: ${name} ${info.usage}\\n${info.description}\\n\\nCommon supported options (additional behavior is documented in the package):\\n${info.options.map(option => ` ${option.split(\", \").map(spelling => spelling.startsWith(\"--\") ? spelling : spelling.replace(\"=\", \" \")).join(\", \")}`).join(\"\\n\")}\\n --help display this help and exit\\n --version display implementation information and exit\\n\\nThis is the safe-bash virtual implementation; filesystem operations require backend capabilities.\\n`;\n await writeBytes(context.stdout, new TextEncoder().encode(text), context.signal);\n return { exitCode: 0 };\n }\n if (!arg.startsWith(\"-\") || arg === \"-\") {\n if (info.stopAtOperand) break;\n continue;\n }\n if (arg.startsWith(\"--\")) {\n const equal = arg.indexOf(\"=\");\n const spelling = equal < 0 ? arg : arg.slice(0, equal);\n if (!flags.has(spelling)) return undefined;\n if (flags.get(spelling) === \"required\" && equal < 0) index++;\n else if (flags.get(spelling) === \"none\" && equal >= 0) return undefined;\n } else {\n for (let offset = 1; offset < arg.length; offset++) {\n const spelling = `-${arg[offset]}`;\n if (!flags.has(spelling)) return undefined;\n if (flags.get(spelling) === \"required\") {\n if (offset + 1 === arg.length) index++;\n break;\n }\n }\n }\n }\n return undefined;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["value", "control", "value"]
|
|
7
|
-
}
|