@poe-platform/safe-bash 0.1.601 → 0.1.603

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 (100) hide show
  1. package/dist/safe-bash/chunks/{chunk-IYFB6VED.js → chunk-4BYUV5PA.js} +6 -4
  2. package/dist/safe-bash/chunks/{chunk-IYFB6VED.js.map → chunk-4BYUV5PA.js.map} +1 -1
  3. package/dist/safe-bash/chunks/{chunk-PE5NZIA2.js → chunk-6LSSEOG7.js} +3 -3
  4. package/dist/safe-bash/chunks/{chunk-3Y5PKSHX.js → chunk-AD7UAP5B.js} +10 -8
  5. package/dist/safe-bash/chunks/{chunk-3Y5PKSHX.js.map → chunk-AD7UAP5B.js.map} +1 -1
  6. package/dist/safe-bash/chunks/{chunk-XBLVOMEJ.js → chunk-AFH57PPL.js} +2 -2
  7. package/dist/safe-bash/chunks/{chunk-FMTBJ7SG.js → chunk-CEPNDODE.js} +3 -3
  8. package/dist/safe-bash/chunks/chunk-CXMIIXJA.js +178 -0
  9. package/dist/safe-bash/chunks/chunk-CXMIIXJA.js.map +7 -0
  10. package/dist/safe-bash/chunks/{chunk-E3NZKSTA.js → chunk-F5TCC4UG.js} +12 -10
  11. package/dist/safe-bash/chunks/{chunk-E3NZKSTA.js.map → chunk-F5TCC4UG.js.map} +1 -1
  12. package/dist/safe-bash/chunks/{chunk-TJVKGNKA.js → chunk-FWDMJTQO.js} +9 -7
  13. package/dist/safe-bash/chunks/{chunk-TJVKGNKA.js.map → chunk-FWDMJTQO.js.map} +1 -1
  14. package/dist/safe-bash/chunks/{chunk-LHKAA57T.js → chunk-GFZKQIPL.js} +8 -6
  15. package/dist/safe-bash/chunks/{chunk-LHKAA57T.js.map → chunk-GFZKQIPL.js.map} +1 -1
  16. package/dist/safe-bash/chunks/{chunk-W3TLNFDB.js → chunk-HHJSJWUD.js} +9 -7
  17. package/dist/safe-bash/chunks/{chunk-W3TLNFDB.js.map → chunk-HHJSJWUD.js.map} +1 -1
  18. package/dist/safe-bash/chunks/{chunk-XYVCXUGM.js → chunk-KZ7QCYNT.js} +10 -8
  19. package/dist/safe-bash/chunks/{chunk-XYVCXUGM.js.map → chunk-KZ7QCYNT.js.map} +1 -1
  20. package/dist/safe-bash/chunks/{chunk-HQCBEAFK.js → chunk-N5CYTGBN.js} +10 -8
  21. package/dist/safe-bash/chunks/{chunk-HQCBEAFK.js.map → chunk-N5CYTGBN.js.map} +1 -1
  22. package/dist/safe-bash/chunks/{chunk-H6E6F5KJ.js → chunk-PCLOK32J.js} +9 -7
  23. package/dist/safe-bash/chunks/{chunk-H6E6F5KJ.js.map → chunk-PCLOK32J.js.map} +1 -1
  24. package/dist/safe-bash/chunks/{chunk-BXVGCJXW.js → chunk-PFMSKAFQ.js} +12 -10
  25. package/dist/safe-bash/chunks/{chunk-BXVGCJXW.js.map → chunk-PFMSKAFQ.js.map} +1 -1
  26. package/dist/safe-bash/chunks/{chunk-PMBBUNNN.js → chunk-PW4WQSCS.js} +11 -9
  27. package/dist/safe-bash/chunks/{chunk-PMBBUNNN.js.map → chunk-PW4WQSCS.js.map} +1 -1
  28. package/dist/safe-bash/chunks/{chunk-OECKXHVJ.js → chunk-RNKTWFEM.js} +2 -2
  29. package/dist/safe-bash/chunks/{chunk-2PQ3XOCQ.js → chunk-UYX72YHY.js} +4 -172
  30. package/dist/safe-bash/chunks/chunk-UYX72YHY.js.map +7 -0
  31. package/dist/safe-bash/chunks/{chunk-QAZN7SAN.js → chunk-WPEMUXV4.js} +7 -5
  32. package/dist/safe-bash/chunks/{chunk-QAZN7SAN.js.map → chunk-WPEMUXV4.js.map} +1 -1
  33. package/dist/safe-bash/commands/csplit/index.browser.js +5 -4
  34. package/dist/safe-bash/commands/factor/index.browser.js +4 -3
  35. package/dist/safe-bash/commands/getopt/index.browser.js +4 -3
  36. package/dist/safe-bash/commands/hexdump/index.browser.js +4 -3
  37. package/dist/safe-bash/commands/iconv/index.browser.js +4 -3
  38. package/dist/safe-bash/commands/line-endings/index.browser.js +5 -4
  39. package/dist/safe-bash/commands/llm/index.browser.js +5 -4
  40. package/dist/safe-bash/commands/network/index.browser.js +6 -5
  41. package/dist/safe-bash/commands/op/index.browser.js +5664 -0
  42. package/dist/safe-bash/commands/op/index.browser.js.map +7 -0
  43. package/dist/safe-bash/commands/op/index.d.ts +14 -0
  44. package/dist/safe-bash/commands/op/index.d.ts.map +1 -0
  45. package/dist/safe-bash/commands/op/index.js +4684 -0
  46. package/dist/safe-bash/commands/op/index.js.map +7 -0
  47. package/dist/safe-bash/commands/op/op.test.d.ts +2 -0
  48. package/dist/safe-bash/commands/op/op.test.d.ts.map +1 -0
  49. package/dist/safe-bash/commands/op/op.test.js +159 -0
  50. package/dist/safe-bash/commands/op/op.test.js.map +1 -0
  51. package/dist/safe-bash/commands/pr/index.browser.js +4 -3
  52. package/dist/safe-bash/commands/tsort/index.browser.js +4 -3
  53. package/dist/safe-bash/commands/xml/index.browser.js +5 -4
  54. package/dist/safe-bash/commands/yq/index.browser.js +6 -5
  55. package/dist/safe-bash/core.browser.js +455 -101
  56. package/dist/safe-bash/core.browser.js.map +4 -4
  57. package/dist/safe-bash/index.d.ts +1 -0
  58. package/dist/safe-bash/index.d.ts.map +1 -1
  59. package/dist/safe-bash/index.js +1 -0
  60. package/dist/safe-bash/index.js.map +1 -1
  61. package/dist/safe-bash/internal/op/admin.d.ts +31 -0
  62. package/dist/safe-bash/internal/op/backend.d.ts +8 -0
  63. package/dist/safe-bash/internal/op/cli.d.ts +80 -0
  64. package/dist/safe-bash/internal/op/documents.d.ts +6 -0
  65. package/dist/safe-bash/internal/op/encoding.d.ts +15 -0
  66. package/dist/safe-bash/internal/op/environment-commands.d.ts +11 -0
  67. package/dist/safe-bash/internal/op/environment.d.ts +9 -0
  68. package/dist/safe-bash/internal/op/file-mode.d.ts +1 -0
  69. package/dist/safe-bash/internal/op/host-contracts.d.ts +12 -0
  70. package/dist/safe-bash/internal/op/index.d.ts +19 -0
  71. package/dist/safe-bash/internal/op/items.d.ts +3 -0
  72. package/dist/safe-bash/internal/op/references.d.ts +4 -0
  73. package/dist/safe-bash/internal/op/secrets.d.ts +13 -0
  74. package/dist/safe-bash/internal/op/templates.d.ts +10 -0
  75. package/dist/safe-bash/internal/op/types.d.ts +202 -0
  76. package/dist/safe-bash/shell/arrays/state.js +1 -1
  77. package/dist/safe-bash/shell/arrays/state.js.map +1 -1
  78. package/dist/safe-bash/shell/background-jobs.d.ts +39 -0
  79. package/dist/safe-bash/shell/background-jobs.d.ts.map +1 -0
  80. package/dist/safe-bash/shell/background-jobs.js +85 -0
  81. package/dist/safe-bash/shell/background-jobs.js.map +1 -0
  82. package/dist/safe-bash/shell/display.js +7 -7
  83. package/dist/safe-bash/shell/display.js.map +1 -1
  84. package/dist/safe-bash/shell/parser.d.ts +1 -0
  85. package/dist/safe-bash/shell/parser.d.ts.map +1 -1
  86. package/dist/safe-bash/shell/parser.js +8 -8
  87. package/dist/safe-bash/shell/parser.js.map +1 -1
  88. package/dist/safe-bash/shell/runtime.d.ts +7 -1
  89. package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
  90. package/dist/safe-bash/shell/runtime.js +295 -46
  91. package/dist/safe-bash/shell/runtime.js.map +1 -1
  92. package/dist/safe-bash/shell/shell.d.ts.map +1 -1
  93. package/dist/safe-bash/shell/shell.js +11 -2
  94. package/dist/safe-bash/shell/shell.js.map +1 -1
  95. package/package.json +9 -2
  96. package/dist/safe-bash/chunks/chunk-2PQ3XOCQ.js.map +0 -7
  97. /package/dist/safe-bash/chunks/{chunk-PE5NZIA2.js.map → chunk-6LSSEOG7.js.map} +0 -0
  98. /package/dist/safe-bash/chunks/{chunk-XBLVOMEJ.js.map → chunk-AFH57PPL.js.map} +0 -0
  99. /package/dist/safe-bash/chunks/{chunk-FMTBJ7SG.js.map → chunk-CEPNDODE.js.map} +0 -0
  100. /package/dist/safe-bash/chunks/{chunk-OECKXHVJ.js.map → chunk-RNKTWFEM.js.map} +0 -0
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/line-endings/index.ts", "../../src/commands/line-endings/command.ts", "../../src/commands/line-endings/internal.ts", "../../src/commands/line-endings/io.ts", "../../src/commands/line-endings/stage.ts", "../../src/commands/line-endings/convert.ts"],
4
4
  "sourcesContent": ["import type { CommandDefinition, VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { createDos2unixCommand, createUnix2dosCommand } from \"./command.js\";\nimport type { LineEndingCommandsOptions } from \"./internal.js\";\nexport { createDos2unixCommand, createUnix2dosCommand } from \"./command.js\";\nexport type { LineEndingCommandsOptions, LineEndingLimits } from \"./internal.js\";\nexport function createLineEndingCommands(options: LineEndingCommandsOptions = {}): readonly CommandDefinition[] { return [createDos2unixCommand(options), createUnix2dosCommand(options)]; }\nexport function lineEndingCommands(options: LineEndingCommandsOptions = {}): VirtualShellPlugin {\n const commands = createLineEndingCommands(options);\n return { name: \"line-ending-commands\", setup(host) { for (const command of commands) host.commands.register(command, { replace: options.replace ?? false }); } };\n}\n", "import { FsError, outputFailure, type ByteSink, type CommandDefinition } from \"../../contracts/index.js\";\nimport { createOutputOperation } from \"../../contracts/output.js\";\nimport { Budget, LineEndingError, sameIdentity, settings, type ConversionOptions, type Direction, type LineEndingCommandsOptions } from \"./internal.js\";\nimport { Lifecycle, Reader, Writer } from \"./io.js\";\nimport { Files, Stage } from \"./stage.js\";\nimport { convert } from \"./convert.js\";\n\nfunction definition(direction: Direction, options: LineEndingCommandsOptions): CommandDefinition {\n const limits = settings(options);\n return { name: direction, description: \"Convert DOS and Unix line endings in bounded VFS files or streams\", async execute(context) {\n let life: Lifecycle | undefined;\n const caller = context.signal;\n caller.throwIfAborted();\n const stdout = context.stdout;\n caller.throwIfAborted();\n const capability = stdout.ownedOutput;\n caller.throwIfAborted();\n const consumer = capability?.consumerClosed;\n caller.throwIfAborted();\n consumer?.throwIfAborted();\n const failureHandler = stdout[outputFailure];\n caller.throwIfAborted();\n consumer?.throwIfAborted();\n const registerCleanup = context.registerCleanup;\n caller.throwIfAborted();\n consumer?.throwIfAborted();\n const admission = { closed: false };\n const destination = capability ?? stdout;\n const write = async (bytes: Uint8Array): Promise<void> => {\n life!.assertOpen();\n const method = destination.write;\n life!.assertOpen();\n await Reflect.apply(method, destination, [bytes]);\n };\n const captured: ByteSink = {\n write,\n ...(capability ? { ownedOutput: { consumerClosed: consumer!, write } } : {}),\n ...(failureHandler ? { [outputFailure]: failureHandler } : {}),\n };\n const output = createOutputOperation({ signal: caller, ...(registerCleanup ? { registerCleanup(cleanup) {\n caller.throwIfAborted();\n Reflect.apply(registerCleanup, context, [() => { admission.closed = true; return cleanup(); }]);\n } } : {}) }, captured);\n const budget = new Budget(context, limits, output.signal, caller, admission);\n let failure: { reason: unknown } | undefined;\n let primary: { reason: unknown } | undefined;\n let status = 0;\n try {\n life = new Lifecycle(budget, output, captured, caller, admission);\n const active = life;\n const files = new Files(active);\n const args = await budget.arguments();\n const flags: ConversionOptions = { keepBom: direction === \"unix2dos\", addBom: false, keepUtf16: false, assume: \"bytes\", force: false, quiet: false, newline: false, sevenBit: false, keepDate: false, newFile: false };\n const state = { high: 1 };\n const diagnostic = async (text: string) => { await active.diagnostic(`${direction}: ${text}\\n`); };\n const file = async (name: string, destination: string) => {\n budget.file();\n const inputPath = files.path(name);\n const outputPath = files.path(destination);\n const expected = await files.stat(outputPath);\n if (expected?.type === \"symlink\") {\n if (!flags.quiet) await diagnostic(flags.newFile ? `Skipping ${name}, output file ${destination} is a symbolic link.` : `Skipping symbolic link ${name}.`);\n return;\n }\n let input = await files.stat(inputPath);\n if (!input || input.type !== \"file\" && input.type !== \"symlink\") {\n if (!flags.quiet) {\n if (!input) { status = 2; await diagnostic(`${name}: No such file or directory`); }\n await diagnostic(`Skipping ${name}, not a regular file.`);\n }\n return;\n }\n let path = inputPath;\n if (input.type === \"symlink\") {\n path = await files.call(fs => fs.realpath, [path, { signal: budget.signal }]);\n path = files.path(path);\n input = await files.stat(path);\n if (!input || input.type !== \"file\") {\n if (!flags.quiet) await diagnostic(`Skipping symbolic link ${name}, target is not a regular file.`);\n return;\n }\n }\n if (!sameIdentity(input, input) || expected && (expected.type !== \"file\" || !sameIdentity(expected, expected))) throw new LineEndingError(\"file conversion requires stable regular-file identities\");\n const reader = new Reader(active);\n const stage = new Stage(files, outputPath, expected);\n const writer = new Writer(active, bytes => stage.append(bytes));\n let result: Awaited<ReturnType<typeof convert>> | undefined;\n let failed: { reason: unknown } | undefined;\n try {\n await reader.open(path, input);\n let opened = false;\n try { await stage.open(); opened = true; }\n catch (error) {\n if (error instanceof FsError && error.code === \"ENOENT\") {\n if (!flags.quiet) { status = 2; await diagnostic(\"Failed to open temporary output file: No such file or directory\"); await diagnostic(`problems converting file ${name}${flags.newFile ? ` to file ${destination}` : \"\"}`); }\n } else throw error;\n }\n if (opened && await files.stat(outputPath) !== undefined && expected === undefined) throw new LineEndingError(\"destination appeared during acquisition\");\n if (opened) result = await convert(direction, reader, writer, active, flags, state, name, false);\n await reader.close();\n if (result?.kind === \"ok\") {\n await stage.publish(input, flags);\n if (!flags.quiet) {\n const locale = context.env.LC_ALL || context.env.LC_CTYPE || context.env.LANG || \"C\";\n const outFormat = flags.keepUtf16 ? result.encoding : locale === \"C\" || locale === \"POSIX\" ? \"ANSI_X3.4-1968\" : \"UTF-8\";\n const encoding = result.encoding ? `${result.encoding} ` : \"\";\n const target = result.encoding ? `${outFormat} ` : \"\";\n await diagnostic(`converting ${encoding}file ${name} to ${flags.newFile ? `${target}file ${destination} in ` : target}${direction === \"dos2unix\" ? \"Unix\" : \"DOS\"} format...`);\n }\n } else if (result?.kind === \"unicode\") status ||= 1;\n else if (result?.kind === \"bom-error\" && !flags.quiet) await diagnostic(`problems converting file ${name}${flags.newFile ? ` to file ${destination}` : \"\"}`);\n } catch (error) { failed = { reason: error }; }\n try { await reader.close(); await stage.cleanup(); }\n catch (error) { throw failed ? new AggregateError([failed.reason, error], \"line-ending conversion and cleanup failed\") : error; }\n finally { writer.release(); }\n if (failed) throw failed.reason;\n };\n let paired = true, processOptions = true, sawFile = false, stop = false;\n let index = 0;\n for (; index < args.length && !stop; index++) {\n const argument = args[index]!;\n if (processOptions && argument.startsWith(\"-\")) {\n switch (argument) {\n case \"--\": processOptions = false; break;\n case \"-b\": case \"--keep-bom\": flags.keepBom = true; break;\n case \"-r\": case \"--remove-bom\": flags.keepBom = false; flags.addBom = false; break;\n case \"-m\": case \"--add-bom\": flags.addBom = true; break;\n case \"-f\": case \"--force\": flags.force = true; break;\n case \"-s\": case \"--safe\": flags.force = false; break;\n case \"-q\": case \"--quiet\": flags.quiet = true; break;\n case \"-l\": case \"--newline\": flags.newline = true; break;\n case \"-k\": case \"--keepdate\": flags.keepDate = true; break;\n case \"-u\": case \"--keep-utf16\": flags.keepUtf16 = true; break;\n case \"-ul\": case \"--assume-utf16le\": flags.assume = \"le\"; break;\n case \"-ub\": case \"--assume-utf16be\": flags.assume = \"be\"; break;\n case \"-7\": flags.sevenBit = true; flags.assume = \"bytes\"; break;\n case \"-ascii\": flags.assume = \"bytes\"; flags.sevenBit = false; flags.keepUtf16 = false; break;\n case \"-S\": case \"--skip-symlink\": break;\n case \"-o\": case \"--oldfile\": case \"-n\": case \"--newfile\":\n if (!paired) { await diagnostic(`target of file ${args[index - 1]} not specified in new-file mode`); status = 1; sawFile = true; stop = true; }\n flags.newFile = argument === \"-n\" || argument === \"--newfile\";\n break;\n case \"-c\": case \"--convmode\": {\n const mode = args[++index];\n if (mode === undefined) { await diagnostic(`option '${argument}' requires an argument`); status = 1; sawFile = true; stop = true; }\n else if (mode.toLowerCase() === \"ascii\") { flags.sevenBit = false; flags.assume = \"bytes\"; flags.keepUtf16 = false; }\n else if (mode.toLowerCase() === \"7bit\") { flags.sevenBit = true; flags.assume = \"bytes\"; }\n else { await diagnostic(`invalid ${mode} conversion mode specified`); status = 1; sawFile = true; stop = true; }\n break;\n }\n case \"-h\": case \"--help\": {\n const bytes = new TextEncoder().encode(`Usage: ${direction} [options] [file ...] [-n infile outfile ...]\\nVirtual byte/UTF-16 profile: -o -n -b -r -m -f -s -q -k -l -u -ul -ub -7 -ascii --\\n`);\n budget.emitted(bytes.length); await active.stdout(bytes); stop = true; sawFile = true; break;\n }\n default: throw new LineEndingError(`unsupported option in virtual profile: ${argument}`);\n }\n } else {\n sawFile = true;\n if (!flags.newFile) await file(argument, argument);\n else if (paired) paired = false;\n else { await file(args[index - 1]!, argument); paired = true; }\n }\n }\n if (!sawFile) {\n const reader = new Reader(active);\n const writer = new Writer(active, bytes => active.stdout(bytes));\n await reader.open();\n const result = await convert(direction, reader, writer, active, flags, state, \"stdin\", true);\n if (result.kind === \"binary\" && !flags.quiet) status ||= 1;\n }\n if (!paired) { await diagnostic(`target of file ${args[Math.min(index - 1, args.length - 1)]} not specified in new-file mode`); status = 1; }\n } catch (error) {\n primary = { reason: error };\n if (error instanceof LineEndingError && life && !output.signal.aborted) {\n status = error.status;\n try { await life.diagnostic(`${direction}: ${error.message}\\n`); }\n catch (reporting) { failure = { reason: new AggregateError([error, reporting], \"line-ending failure reporting failed\") }; }\n } else failure = { reason: error };\n }\n try { await output.close(); }\n catch (cleanup) { const previous = failure ?? primary; failure = { reason: previous ? new AggregateError([previous.reason, cleanup], \"line-ending execution and cleanup failed\") : cleanup }; }\n caller.throwIfAborted(); output.signal.throwIfAborted();\n if (life?.diagnosticCancellation) throw life.diagnosticCancellation.reason;\n if (failure) throw failure.reason;\n return { exitCode: status };\n } };\n}\nexport function createDos2unixCommand(options: LineEndingCommandsOptions = {}): CommandDefinition { return definition(\"dos2unix\", options); }\nexport function createUnix2dosCommand(options: LineEndingCommandsOptions = {}): CommandDefinition { return definition(\"unix2dos\", options); }\n", "import { getCommandArguments, type CommandContext, type FileStat } from \"../../contracts/index.js\";\nimport { shellValueByteLength, shellValueBytes } from \"../../contracts/value.js\";\nimport { yieldTurn } from \"../../contracts/yield.js\";\nimport { PublicDiagnostic } from \"../../diagnostics.js\";\n\nexport interface LineEndingLimits {\n readonly maxArguments: number;\n readonly maxArgumentBytes: number;\n readonly maxInputBytes: number;\n readonly maxOutputBytes: number;\n readonly maxBufferedBytes: number;\n readonly maxDiagnosticBytes: number;\n readonly maxFiles: number;\n readonly maxWork: number;\n readonly maxEmptyChunks: number;\n readonly maxPathBytes: number;\n readonly maxDepth: number;\n readonly maxTempAttempts: number;\n readonly chunkSize: number;\n}\nexport interface LineEndingCommandsOptions { readonly replace?: boolean; readonly limits?: Partial<LineEndingLimits> }\nexport type Direction = \"dos2unix\" | \"unix2dos\";\nexport interface ConversionOptions {\n keepBom: boolean;\n addBom: boolean;\n keepUtf16: boolean;\n assume: \"bytes\" | \"le\" | \"be\";\n force: boolean;\n quiet: boolean;\n newline: boolean;\n sevenBit: boolean;\n keepDate: boolean;\n newFile: boolean;\n}\nexport function settings(options: LineEndingCommandsOptions): LineEndingLimits {\n const limits: LineEndingLimits = {\n maxArguments: 1024, maxArgumentBytes: 262_144, maxInputBytes: 16_777_216, maxOutputBytes: 33_554_432,\n maxBufferedBytes: 2_097_152, maxDiagnosticBytes: 65_536, maxFiles: 128, maxWork: 134_217_728,\n maxEmptyChunks: 1024, maxPathBytes: 4096, maxDepth: 64, maxTempAttempts: 128, chunkSize: 16_384,\n ...options.limits,\n };\n for (const [name, value] of Object.entries(limits)) if (!Number.isSafeInteger(value) || value < 1) throw new RangeError(`Invalid line-ending limit: ${name}`);\n return Object.freeze(limits);\n}\nexport class LineEndingError extends PublicDiagnostic {\n constructor(message: string, readonly status = 1) { super(message); }\n}\nexport class Budget {\n private work = 0;\n private quantum = 0;\n private memory = 0;\n private input = 0;\n private output = 0;\n private diagnostics = 0;\n private files = 0;\n constructor(readonly context: CommandContext, readonly limits: LineEndingLimits, readonly signal: AbortSignal, private readonly caller: AbortSignal, private readonly admission: { closed: boolean }) {}\n private assertOpen(): void {\n this.signal.throwIfAborted();\n if (this.admission.closed) throw new LineEndingError(\"command is closed\");\n }\n check(value: number, maximum: number, label: string): void {\n if (!Number.isSafeInteger(value) || value < 0 || value > maximum) throw new LineEndingError(`${label} limit exceeded`);\n }\n retain(amount: number): void { this.check(this.memory + amount, this.limits.maxBufferedBytes, \"buffered bytes\"); this.memory += amount; }\n incoming(amount: number): void { this.check(this.input + amount, this.limits.maxInputBytes, \"input bytes\"); this.input += amount; }\n emitted(amount: number, diagnostic = false): void {\n if (diagnostic) { this.check(this.diagnostics + amount, this.limits.maxDiagnosticBytes, \"diagnostic bytes\"); this.diagnostics += amount; }\n else { this.check(this.output + amount, this.limits.maxOutputBytes, \"output bytes\"); this.output += amount; }\n }\n file(): void { this.check(++this.files, this.limits.maxFiles, \"file count\"); }\n async step(amount = 1): Promise<void> {\n this.assertOpen();\n this.check(this.work + amount, this.limits.maxWork, \"work\"); this.work += amount;\n this.quantum += amount;\n if (this.quantum >= 1024) { this.quantum = 0; await yieldTurn(this.caller); this.assertOpen(); }\n }\n async arguments(): Promise<string[]> {\n const args = this.context.args;\n this.assertOpen();\n const count = args.length;\n this.assertOpen();\n this.check(count, this.limits.maxArguments, \"argument count\");\n const argumentValues = this.context.argumentValues;\n this.assertOpen();\n const carrier = argumentValues === undefined ? undefined : getCommandArguments({ args, argumentValues });\n const snapshot: string[] = [];\n this.retain(count * 64);\n let total = 0;\n for (let index = 0; index < count; index++) {\n const argument = args[index]!;\n this.assertOpen();\n if (typeof argument !== \"string\") throw new LineEndingError(\"arguments must be strings\");\n this.check(argument.length, this.limits.maxPathBytes, \"argument bytes\");\n total += argument.length;\n this.check(total, this.limits.maxArgumentBytes, \"argument bytes\");\n this.retain(argument.length * 12);\n snapshot.push(argument);\n }\n for (const argument of snapshot) {\n for (let index = 0; index < argument.length; index++) {\n await this.step();\n const unit = argument.charCodeAt(index);\n if (unit >= 0xd800 && unit <= 0xdbff) {\n const next = argument.charCodeAt(++index);\n if (!(next >= 0xdc00 && next <= 0xdfff)) throw new LineEndingError(\"arguments must be valid UTF-8 paths\");\n } else if (unit >= 0xdc00 && unit <= 0xdfff) throw new LineEndingError(\"arguments must be valid UTF-8 paths\");\n }\n }\n const values = (carrier ?? getCommandArguments({ args: snapshot })).values;\n total = 0;\n for (const value of values) {\n const length = shellValueByteLength(value);\n this.check(length, this.limits.maxPathBytes, \"argument bytes\");\n total += length; this.check(total, this.limits.maxArgumentBytes, \"argument bytes\");\n }\n const result: string[] = [];\n for (const value of values) {\n await this.step(shellValueByteLength(value));\n let text: string;\n try { text = new TextDecoder(\"utf-8\", { fatal: true, ignoreBOM: true }).decode(shellValueBytes(value)); }\n catch { throw new LineEndingError(\"arguments must be valid UTF-8 paths\"); }\n if (text.includes(\"\\0\")) throw new LineEndingError(\"NUL is not supported in paths\");\n result.push(text);\n }\n return result;\n }\n}\nexport function sameIdentity(first: FileStat, second: FileStat): boolean {\n return ((typeof first.identityScope === \"object\" && first.identityScope !== null) || typeof first.identityScope === \"symbol\")\n && first.identityScope === second.identityScope && Number.isSafeInteger(first.dev) && Number.isSafeInteger(first.ino)\n && first.dev! >= 0 && first.ino! >= 0 && first.dev === second.dev && first.ino === second.ino;\n}\nexport function missing(error: unknown): boolean { return typeof error === \"object\" && error !== null && \"code\" in error && error.code === \"ENOENT\"; }\n", "import type { ByteSink, ByteSource, FileStat } from \"../../contracts/index.js\";\nimport type { OutputOperation } from \"../../contracts/output.js\";\nimport { Budget, LineEndingError } from \"./internal.js\";\n\nconst typedArrayPrototype = Object.getPrototypeOf(Uint8Array.prototype) as object;\nconst viewBuffer = Object.getOwnPropertyDescriptor(typedArrayPrototype, \"buffer\")!.get!;\nconst viewOffset = Object.getOwnPropertyDescriptor(typedArrayPrototype, \"byteOffset\")!.get!;\nconst viewLength = Object.getOwnPropertyDescriptor(typedArrayPrototype, \"byteLength\")!.get!;\n\nexport class Lifecycle {\n private readonly pending = new Set<Promise<unknown>>();\n private readonly cleanups: (() => Promise<void>)[] = [];\n private closing: Promise<void> | undefined;\n private diagnosticDestination: { destination: ByteSink; consumer: AbortSignal | undefined } | undefined;\n diagnosticCancellation: { reason: unknown } | undefined;\n constructor(readonly budget: Budget, output: OutputOperation, private readonly captured: ByteSink, private readonly caller: AbortSignal, readonly admission: { closed: boolean }) { output.registerCleanup(() => this.close()); }\n assertOpen(): void { this.budget.signal.throwIfAborted(); if (this.closing || this.admission.closed) throw new LineEndingError(\"command is closed\"); }\n private assertDiagnosticOpen(): void {\n this.caller.throwIfAborted();\n const consumer = this.diagnosticDestination?.consumer;\n if (consumer?.aborted) {\n this.diagnosticCancellation = { reason: consumer.reason };\n consumer.throwIfAborted();\n }\n }\n cleanup(action: () => Promise<void>): void { this.assertOpen(); this.cleanups.push(action); }\n async operation<Value>(action: () => Value | Promise<Value>): Promise<Value> {\n this.assertOpen();\n const pending = Promise.resolve().then(async () => { await this.budget.step(); this.assertOpen(); return action(); });\n this.pending.add(pending);\n try { const value = await pending; this.assertOpen(); return value; }\n finally { this.pending.delete(pending); }\n }\n close(): Promise<void> {\n return this.closing ??= Promise.resolve().then(async () => {\n while (this.pending.size) await Promise.allSettled([...this.pending]);\n const failures: unknown[] = [];\n for (const close of this.cleanups) { try { await close(); } catch (error) { failures.push(error); } }\n if (failures.length === 1) throw failures[0];\n if (failures.length > 1) throw new AggregateError(failures, \"line-ending cleanup failed\");\n });\n }\n async stdout(bytes: Uint8Array): Promise<void> {\n await this.operation(async () => {\n const write = this.captured.write;\n this.assertOpen();\n await Reflect.apply(write, this.captured, [bytes]);\n });\n }\n async diagnostic(text: string): Promise<void> {\n this.assertDiagnosticOpen();\n if (this.closing || this.admission.closed) throw new LineEndingError(\"command is closed\");\n this.budget.check(text.length * 3, this.budget.limits.maxDiagnosticBytes, \"diagnostic buffer bytes\");\n const bytes = new TextEncoder().encode(text);\n this.budget.emitted(bytes.length, true);\n const pending = Promise.resolve().then(async () => {\n this.assertDiagnosticOpen();\n if (!this.diagnosticDestination) {\n const sink = this.budget.context.stderr;\n this.assertDiagnosticOpen();\n const capability = sink.ownedOutput;\n this.assertDiagnosticOpen();\n const consumer = capability?.consumerClosed;\n this.diagnosticDestination = { destination: capability ?? sink, consumer };\n }\n this.assertDiagnosticOpen();\n const destination = this.diagnosticDestination.destination;\n const write = destination.write;\n this.assertDiagnosticOpen();\n await Reflect.apply(write, destination, [bytes]);\n });\n this.pending.add(pending);\n try { await pending; this.assertDiagnosticOpen(); } finally { this.pending.delete(pending); }\n }\n}\n\nexport class Reader {\n private iterator: AsyncIterator<Uint8Array> | undefined;\n private chunk: Uint8Array = new Uint8Array();\n private offset = 0;\n private ended = false;\n private empties = 0;\n private snapshotBytes = 0;\n private closing: Promise<void> | undefined;\n constructor(readonly life: Lifecycle) { life.cleanup(() => this.close()); }\n close(): Promise<void> {\n return this.closing ??= (async () => {\n try {\n if (!this.ended && this.iterator) {\n const iterator = this.iterator;\n const close = iterator.return;\n if (close) await Reflect.apply(close, iterator, []);\n }\n } finally {\n this.iterator = undefined;\n this.life.budget.retain(-this.chunk.length - this.snapshotBytes);\n this.chunk = new Uint8Array(); this.snapshotBytes = 0;\n }\n })();\n }\n async open(path?: string, stat?: FileStat): Promise<void> {\n const { context, signal, limits } = this.life.budget;\n await this.life.operation(async () => {\n let source: ByteSource;\n let acquisitionAborted = false;\n if (path === undefined) source = context.stdin;\n else {\n const fs = context.fs;\n const capabilitiesFor = fs.capabilitiesFor;\n this.life.assertOpen();\n const selected = capabilitiesFor ? await Reflect.apply(capabilitiesFor, fs, [path, { signal }]) : undefined;\n this.life.assertOpen();\n const capabilities = selected ?? fs.capabilities;\n this.life.assertOpen();\n const readStream = fs.readStream;\n this.life.assertOpen();\n const streaming = capabilities.streamingRead !== false;\n this.life.assertOpen();\n if (readStream && streaming) {\n source = Reflect.apply(readStream, fs, [path, { signal, chunkSize: limits.chunkSize }]);\n acquisitionAborted = signal.aborted || this.life.admission.closed;\n } else {\n const maximum = Math.min(limits.maxInputBytes, Math.floor(limits.maxBufferedBytes / 3));\n const size = stat!.size;\n this.life.assertOpen();\n this.life.budget.check(size, maximum, \"buffered input bytes\");\n this.life.budget.retain(maximum);\n this.snapshotBytes = maximum;\n const readFile = fs.readFile;\n this.life.assertOpen();\n const bytes = await Reflect.apply(readFile, fs, [path, { signal, maxBytes: maximum }]);\n this.life.assertOpen();\n if (!(bytes instanceof Uint8Array)) throw new TypeError(\"line-ending input requires bytes\");\n this.life.budget.check(viewLength.call(bytes) as number, maximum, \"buffered input bytes\");\n source = { [Symbol.asyncIterator]: (async function* (this: Reader) { try { yield bytes; } finally { this.life.budget.retain(-this.snapshotBytes); this.snapshotBytes = 0; } }).bind(this) };\n }\n }\n if (!acquisitionAborted) this.life.assertOpen();\n const factory = source[Symbol.asyncIterator];\n if (!acquisitionAborted) this.life.assertOpen();\n this.iterator = Reflect.apply(factory, source, []);\n });\n }\n async get(): Promise<number> {\n await this.life.budget.step();\n this.life.assertOpen();\n while (this.offset === this.chunk.length) {\n if (this.ended) return -1;\n const next = await this.life.operation(() => {\n const iterator = this.iterator!;\n const advance = iterator.next;\n this.life.assertOpen();\n return Reflect.apply(advance, iterator, []);\n });\n this.life.budget.retain(-this.chunk.length); this.chunk = new Uint8Array(); this.offset = 0;\n const done = next.done;\n this.life.assertOpen();\n if (done) { this.ended = true; this.iterator = undefined; return -1; }\n const value = next.value;\n this.life.assertOpen();\n if (!(value instanceof Uint8Array)) throw new TypeError(\"line-ending input requires bytes\");\n const buffer = viewBuffer.call(value) as ArrayBuffer;\n const offset = viewOffset.call(value) as number;\n const length = viewLength.call(value) as number;\n this.life.budget.incoming(length);\n this.life.budget.retain(length);\n try {\n if (viewOffset.call(value) !== offset || viewLength.call(value) < length) throw new TypeError(\"line-ending input extent changed during admission\");\n this.chunk = new Uint8Array(new Uint8Array(buffer, offset, length));\n } catch (error) { this.life.budget.retain(-length); throw error; }\n if (!this.chunk.length) this.life.budget.check(++this.empties, this.life.budget.limits.maxEmptyChunks, \"empty input chunks\");\n }\n return this.chunk[this.offset++]!;\n }\n}\n\nexport class Writer {\n private buffer: Uint8Array;\n private used = 0;\n constructor(readonly life: Lifecycle, readonly publish: (bytes: Uint8Array) => Promise<void>) {\n const size = Math.min(life.budget.limits.chunkSize, life.budget.limits.maxBufferedBytes);\n life.budget.retain(size);\n this.buffer = new Uint8Array(size);\n life.cleanup(async () => { this.release(); });\n }\n release(): void { this.life.budget.retain(-this.buffer.length); this.buffer = new Uint8Array(); this.used = 0; }\n async put(byte: number): Promise<void> {\n await this.life.budget.step();\n this.life.assertOpen();\n this.life.budget.emitted(1);\n this.buffer[this.used++] = byte;\n if (this.used === this.buffer.length) await this.flush();\n }\n async flush(): Promise<void> {\n this.life.assertOpen();\n if (this.used) { await this.publish(this.buffer.subarray(0, this.used)); this.used = 0; }\n }\n}\n", "import { FsError, dirname, resolvePath, type FileStat, type FileSystem } from \"../../contracts/index.js\";\nimport { writeFileOutput } from \"../../contracts/filesystem-output.js\";\nimport { retainFileSystemCleanup } from \"poe-code/safe-fs/core\";\nimport { LineEndingError, missing, sameIdentity, type ConversionOptions } from \"./internal.js\";\nimport { Lifecycle } from \"./io.js\";\n\nexport class Files {\n constructor(readonly life: Lifecycle) {}\n async call<Arguments extends unknown[], Value>(select: (fs: FileSystem) => (...args: Arguments) => Value, args: Arguments): Promise<Awaited<Value>> {\n return await this.life.operation(async () => {\n const fs = this.life.budget.context.fs;\n this.life.assertOpen();\n const method = select(fs);\n this.life.assertOpen();\n return await (Reflect.apply(method, fs, args) as Value);\n });\n }\n async stat(path: string): Promise<FileStat | undefined> {\n try { return await this.call(fs => fs.lstat, [path, { signal: this.life.budget.signal }]); }\n catch (error) { this.life.assertOpen(); if (missing(error)) return undefined; throw error; }\n }\n path(name: string): string {\n const path = resolvePath(this.life.budget.context.cwd, name);\n this.life.budget.check(path.length * 3, this.life.budget.limits.maxPathBytes, \"path bytes\");\n this.life.budget.check(path.split(\"/\").length - 1, this.life.budget.limits.maxDepth, \"path depth\");\n return path;\n }\n async parents(path: string): Promise<{ path: string; stat: FileStat }[]> {\n const parents: { path: string; stat: FileStat }[] = [];\n let current = \"/\";\n for (const component of [\"\", ...dirname(path).split(\"/\").filter(Boolean)]) {\n if (component) current = resolvePath(current, component);\n const stat = await this.stat(current);\n if (!stat) throw new FsError(\"ENOENT\", { path: current });\n if (stat.type !== \"directory\" || !sameIdentity(stat, stat)) throw new LineEndingError(\"output requires stable non-symlink directory identities\");\n parents.push({ path: current, stat });\n }\n return parents;\n }\n}\n\nexport class Stage {\n private temporary = \"\";\n private identity: FileStat | undefined;\n private created = false;\n private parents: { path: string; stat: FileStat }[] = [];\n readonly cleanup: () => Promise<void>;\n constructor(readonly files: Files, readonly path: string, readonly expected: FileStat | undefined) {\n const { life } = files;\n life.assertOpen();\n this.cleanup = retainFileSystemCleanup(life.budget.context.fs, async view => {\n if (!this.created || !this.identity) return;\n try {\n for (const parent of this.parents) {\n const stat = await view.lstat(parent.path);\n if (stat.type !== \"directory\" || !sameIdentity(stat, parent.stat)) return;\n }\n const stat = await view.lstat(this.temporary);\n if (stat.type === \"file\" && sameIdentity(stat, this.identity)) await view.rm(this.temporary);\n } catch (error) { if (!missing(error)) throw error; }\n }, { maxOperations: Math.min(4096, life.budget.limits.maxDepth + 4) });\n life.cleanup(this.cleanup);\n }\n async open(): Promise<void> {\n const { life } = this.files;\n const { signal, limits } = life.budget;\n const capabilities = await life.operation(async () => {\n const fs = life.budget.context.fs;\n const query = fs.capabilitiesFor;\n life.assertOpen();\n const result = query ? await Reflect.apply(query, fs, [this.path, { signal, create: true }]) : fs.capabilities;\n life.assertOpen();\n return result;\n });\n if (capabilities.atomicRename !== true || capabilities.exclusiveCreate !== true || capabilities.permissions !== true || capabilities.append === false || capabilities.remove === false) {\n throw new LineEndingError(\"file conversion requires atomic rename, exclusive create, permissions, append and cleanup capabilities\");\n }\n if (this.expected === undefined && capabilities.atomicRenameNoReplace !== true) {\n throw new LineEndingError(\"new destination requires atomic no-replace rename capability\");\n }\n this.parents = await this.files.parents(this.path);\n for (let attempt = 0; attempt < limits.maxTempAttempts; attempt++) {\n this.temporary = resolvePath(dirname(this.path), `.line-ending-${attempt + 1}`);\n this.files.path(this.temporary);\n if (this.temporary === this.path || await this.files.stat(this.temporary)) continue;\n try {\n await this.files.call(fs => fs.writeFile, [this.temporary, new Uint8Array(), { signal, flag: \"wx\", mode: 0o600 }]);\n } catch (error) {\n life.assertOpen();\n if (typeof error === \"object\" && error !== null && \"code\" in error && error.code === \"EEXIST\") continue;\n throw error;\n }\n this.created = true;\n this.identity = await this.files.stat(this.temporary);\n if (!this.identity || this.identity.type !== \"file\" || !sameIdentity(this.identity, this.identity)) throw new LineEndingError(\"temporary file identity unavailable; unowned path is not removed\");\n return;\n }\n throw new LineEndingError(\"temporary file attempts limit exceeded\");\n }\n private async checked(): Promise<void> {\n for (const parent of this.parents) {\n const stat = await this.files.stat(parent.path);\n if (!stat || stat.type !== \"directory\" || !sameIdentity(stat, parent.stat)) throw new LineEndingError(\"output parent changed before mutation\");\n }\n const stat = await this.files.stat(this.temporary);\n if (!this.identity || !stat || stat.type !== \"file\" || !sameIdentity(stat, this.identity)) throw new LineEndingError(\"temporary file changed before mutation\");\n }\n async append(bytes: Uint8Array): Promise<void> {\n await this.checked();\n const { context, signal } = this.files.life.budget;\n await this.files.life.operation(() => writeFileOutput({ signal, ...(context.registerCleanup ? { registerCleanup: context.registerCleanup } : {}) }, bytes,\n async chunk => { await this.files.call(fs => fs.appendFile, [this.temporary, chunk, { signal }]); }));\n }\n async publish(input: FileStat, options: ConversionOptions): Promise<void> {\n const { signal } = this.files.life.budget;\n await this.checked();\n if (!options.newFile && ((input.uid !== undefined && input.uid !== this.identity!.uid) || (input.gid !== undefined && input.gid !== this.identity!.gid))) {\n throw new LineEndingError(\"filesystem cannot preserve input user/group ownership\");\n }\n await this.files.call(fs => fs.chmod!, [this.temporary, (input.mode & 0o777) & (options.newFile ? ~0o022 : 0o777), { signal }]);\n if (options.keepDate) {\n await this.checked();\n await this.files.call(fs => fs.utimes!, [this.temporary, Math.floor(input.atimeMs / 1000) * 1000, Math.floor(input.mtimeMs / 1000) * 1000, { signal }]);\n }\n await this.checked();\n const current = await this.files.stat(this.path);\n if (current ? !this.expected || current.type !== \"file\" || !sameIdentity(current, this.expected) : this.expected !== undefined) throw new LineEndingError(\"destination changed before publication\");\n await this.files.call(fs => fs.rename, [this.temporary, this.path, { signal, noReplace: this.expected === undefined }]);\n this.created = false;\n }\n}\n", "import type { ConversionOptions, Direction } from \"./internal.js\";\nimport { LineEndingError } from \"./internal.js\";\nimport { Lifecycle, Reader, Writer } from \"./io.js\";\n\nexport interface UnicodeState { high: number }\nexport interface ConversionResult { readonly kind: \"ok\" | \"binary\" | \"unicode\" | \"bom-error\"; readonly encoding: string }\n\nexport async function convert(direction: Direction, reader: Reader, writer: Writer, life: Lifecycle, options: ConversionOptions, state: UnicodeState, name: string, stdio: boolean): Promise<ConversionResult> {\n const prefix: number[] = [];\n let bom: \"bytes\" | \"le\" | \"be\" | \"utf8\" | \"gb\" = \"bytes\";\n const diagnostic = async (message: string) => { await life.diagnostic(`${direction}: ${message}\\n`); };\n const first = await reader.get();\n let bomError = false;\n if (first !== -1) {\n if (first !== 0xff && first !== 0xfe && first !== 0xef && first !== 0x84) prefix.push(first);\n else {\n const second = await reader.get();\n if (second === -1) bomError = true;\n else if (first === 0xff && second === 0xfe) bom = \"le\";\n else if (first === 0xfe && second === 0xff) bom = \"be\";\n else {\n const third = await reader.get();\n if (third === -1) bomError = true;\n else if (first === 0xef && second === 0xbb && third === 0xbf) bom = \"utf8\";\n else {\n prefix.push(first, second, third);\n if (first === 0x84 && second === 0x31 && third === 0x95) {\n const fourth = await reader.get();\n if (fourth === -1) bomError = true;\n else if (fourth === 0x33) { bom = \"gb\"; prefix.length = 0; }\n else prefix.push(fourth);\n }\n }\n }\n }\n }\n if (bomError) {\n if (!options.quiet) await diagnostic(\"can not read from input file: Success\");\n return { kind: \"bom-error\", encoding: \"\" };\n }\n if (bom === \"bytes\") bom = options.assume;\n const wide = bom === \"le\" || bom === \"be\";\n const encoding = wide ? bom === \"le\" ? \"UTF-16LE\" : \"UTF-16BE\" : \"\";\n const env = life.budget.context.env;\n const locale = env.LC_ALL || env.LC_CTYPE || env.LANG || \"C\";\n const utf8 = locale === \"C.UTF-8\" || locale === \"C.utf8\";\n if (wide && !options.keepUtf16 && !utf8 && locale !== \"C\" && locale !== \"POSIX\") throw new LineEndingError(\"UTF-16 conversion supports only C/POSIX and C.UTF-8 locales\");\n if (options.addBom || options.keepBom && bom !== \"bytes\") {\n const bytes = options.keepUtf16 && wide ? bom === \"le\" ? [0xff, 0xfe] : [0xfe, 0xff] : bom === \"gb\" ? [0x84, 0x31, 0x95, 0x33] : [0xef, 0xbb, 0xbf];\n for (const byte of bytes) await writer.put(byte);\n }\n let prefixOffset = 0;\n const byte = async () => prefixOffset < prefix.length ? prefix[prefixOffset++]! : await reader.get();\n let pushed = -1;\n const unit = async (): Promise<number> => {\n if (pushed !== -1) { const value = pushed; pushed = -1; return value; }\n const lead = await byte();\n if (lead === -1 || !wide) return lead;\n const trail = await byte();\n return trail === -1 ? -1 : bom === \"le\" ? lead + trail * 256 : lead * 256 + trail;\n };\n let line = 1;\n const result: { kind: ConversionResult[\"kind\"] } = { kind: \"ok\" };\n const put = async (value: number): Promise<boolean> => {\n if (!wide) { await writer.put(options.sevenBit && bom === \"bytes\" && value >= 128 ? 32 : value); return true; }\n if (options.keepUtf16) {\n await writer.put(bom === \"le\" ? value & 255 : value >> 8);\n await writer.put(bom === \"le\" ? value >> 8 : value & 255);\n return true;\n }\n if (state.high >= 0xd800 && state.high < 0xdc00 && (value < 0xdc00 || value >= 0xe000)) {\n await diagnostic(\"error: Invalid surrogate pair. Missing low surrogate.\"); result.kind = \"unicode\"; return false;\n }\n if (value >= 0xd800 && value < 0xdc00) { state.high = value; return true; }\n if (value >= 0xdc00 && value < 0xe000) {\n if (!(state.high >= 0xd800 && state.high < 0xdc00)) {\n await diagnostic(\"error: Invalid surrogate pair. Missing high surrogate.\"); result.kind = \"unicode\"; return false;\n }\n value = 0x10000 + (state.high & 1023) * 1024 + (value & 1023); state.high = 1;\n }\n if (!utf8 && value > 127) {\n if (!options.quiet) await diagnostic(\"Invalid or incomplete multibyte or wide character\");\n result.kind = \"unicode\"; return false;\n }\n if (value < 128) await writer.put(value);\n else if (value < 2048) { await writer.put(0xc0 | value >> 6); await writer.put(0x80 | value & 63); }\n else if (value < 65536) { await writer.put(0xe0 | value >> 12); await writer.put(0x80 | value >> 6 & 63); await writer.put(0x80 | value & 63); }\n else { await writer.put(0xf0 | value >> 18); await writer.put(0x80 | value >> 12 & 63); await writer.put(0x80 | value >> 6 & 63); await writer.put(0x80 | value & 63); }\n return true;\n };\n let previous = 0;\n for (;;) {\n let current = await unit();\n if (current === -1) break;\n if (!options.force && current < 32 && current !== 9 && current !== 10 && current !== 12 && current !== 13) {\n result.kind = \"binary\";\n if (!options.quiet) await diagnostic(`Binary symbol 0x${current.toString(16).toUpperCase().padStart(wide ? 4 : 2, \"0\")} found at line ${line}`);\n break;\n }\n if (direction === \"dos2unix\") {\n if (current === 13) {\n pushed = await unit();\n if (pushed !== 10) { if (!await put(13)) break; }\n else if (options.newline && !await put(10)) break;\n } else {\n if (current === 10) line++;\n if (!await put(current)) break;\n }\n } else {\n if (current === 10) { if (!await put(13)) break; }\n else if (current === 13) {\n current = await unit();\n if (current === -1) current = 13;\n else { if (!await put(13)) break; previous = 13; }\n }\n if (current === 10) line++;\n if (!await put(current)) break;\n if (options.newline && current === 10 && previous !== 13) {\n if (!await put(13) || !await put(10)) break;\n }\n previous = current;\n }\n }\n if (stdio || result.kind === \"ok\") await writer.flush();\n if (!options.quiet) {\n if (result.kind === \"binary\") await diagnostic(`Skipping binary file ${name}`);\n if (result.kind === \"unicode\") await diagnostic(`Skipping UTF-16 file ${name}, an UTF-16 conversion error occurred on line ${line}.`);\n }\n return { kind: result.kind, encoding };\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["stat", "byte", "destination"]
7
7
  }
@@ -1,17 +1,19 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-OECKXHVJ.js";
3
+ } from "./chunk-RNKTWFEM.js";
4
4
  import {
5
- resolvePath
6
- } from "./chunk-DPJWEGIX.js";
7
- import {
8
- FsError,
9
5
  PublicDiagnostic,
10
6
  getCommandArguments,
11
7
  shellValueByteLength,
12
8
  shellValueBytes,
13
9
  yieldTurn
14
- } from "./chunk-2PQ3XOCQ.js";
10
+ } from "./chunk-UYX72YHY.js";
11
+ import {
12
+ resolvePath
13
+ } from "./chunk-DPJWEGIX.js";
14
+ import {
15
+ FsError
16
+ } from "./chunk-CXMIIXJA.js";
15
17
  import {
16
18
  init_platform
17
19
  } from "./chunk-2KL6W6NB.js";
@@ -647,4 +649,4 @@ export {
647
649
  createTsortCommands,
648
650
  tsortCommands
649
651
  };
650
- //# sourceMappingURL=chunk-TJVKGNKA.js.map
652
+ //# sourceMappingURL=chunk-FWDMJTQO.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/tsort/index.ts", "../../src/commands/tsort/command.ts", "../../src/commands/tsort/internal.ts", "../../src/commands/tsort/io.ts", "../../src/commands/tsort/graph.ts"],
4
4
  "sourcesContent": ["import type { CommandDefinition, VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { createTsortCommand } from \"./command.js\";\nimport type { TsortCommandsOptions } from \"./internal.js\";\n\nexport { createTsortCommand } from \"./command.js\";\nexport type { TsortCommandsOptions, TsortLimits } from \"./internal.js\";\n\nexport function createTsortCommands(options: TsortCommandsOptions = {}): readonly CommandDefinition[] {\n return [createTsortCommand(options)];\n}\n\nexport function tsortCommands(options: TsortCommandsOptions = {}): VirtualShellPlugin {\n const commands = createTsortCommands(options);\n return { name: \"tsort-commands\", setup(host) {\n for (const command of commands) host.commands.register(command, { replace: options.replace ?? false });\n } };\n}\n", "import type { CommandDefinition } from \"../../contracts/index.js\";\nimport { createOutputOperation } from \"../../contracts/output.js\";\nimport { Budget, TsortError, quote, settings, type TsortCommandsOptions } from \"./internal.js\";\nimport { Lifecycle, Reader } from \"./io.js\";\nimport { sort } from \"./graph.js\";\n\nexport function createTsortCommand(options: TsortCommandsOptions = {}): CommandDefinition {\n const limits = settings(options);\n return { name: \"tsort\", description: \"Topologically sort pairs of byte-valued node names\", async execute(context) {\n const output = createOutputOperation(context, context.stdout);\n const budget = new Budget(context, limits, output.signal);\n let lifecycle: Lifecycle | undefined;\n let failure: { reason: unknown } | undefined;\n let primary: { reason: unknown } | undefined;\n let exitCode = 0;\n try {\n lifecycle = new Lifecycle(budget, output);\n const args = budget.arguments();\n const lone = args.length === 1 ? args[0]! : \"\";\n if (lone.length > 2 && (\"--help\".startsWith(lone) || \"--version\".startsWith(lone))) {\n await lifecycle.write(\"--help\".startsWith(lone) ? \"Usage: tsort [OPTION] [FILE]\\nWrite a topological ordering of whitespace-separated node pairs.\\nWith no FILE, or FILE -, read standard input.\\nOptions: --help --version\\n\" : \"tsort (virtual-bash)\\n\");\n } else {\n let optionsEnded = false;\n const files: string[] = [];\n for (const argument of args) {\n if (!optionsEnded && argument === \"--\") { optionsEnded = true; continue; }\n if (!optionsEnded && argument.startsWith(\"--\")) throw new TsortError(`unrecognized option '${argument}'`, true);\n if (!optionsEnded && argument.length > 1 && argument.startsWith(\"-\")) throw new TsortError(`invalid option -- '${argument[1]}'`, true);\n files.push(argument);\n if (context.env.POSIXLY_CORRECT !== undefined) optionsEnded = true;\n }\n if (files.length > 1) throw new TsortError(`extra operand ${quote(files[1]!)}`, true);\n const reader = new Reader(files[0] ?? \"-\", lifecycle);\n await reader.open();\n exitCode = await sort(reader, lifecycle);\n }\n } catch (error) {\n primary = { reason: error };\n if (error instanceof TsortError && !output.signal.aborted && lifecycle) {\n exitCode = 1;\n try { await lifecycle.write(`tsort: ${error.message}\\n${error.usage ? \"Try 'tsort --help' for more information.\\n\" : \"\"}`, true); }\n catch (reporting) { failure = { reason: new AggregateError([error, reporting], \"tsort failure reporting failed\") }; }\n } else failure = { reason: error };\n }\n try { await output.close(); }\n catch (cleanup) {\n const previous = failure ?? primary;\n failure = { reason: previous ? new AggregateError([previous.reason, cleanup], \"tsort execution and cleanup failed\") : cleanup };\n }\n context.signal.throwIfAborted();\n output.signal.throwIfAborted();\n if (failure) throw failure.reason;\n return { exitCode };\n } };\n}\n", "import { getCommandArguments, type CommandContext } from \"../../contracts/index.js\";\nimport { shellValueByteLength, shellValueBytes } from \"../../contracts/value.js\";\nimport { yieldTurn } from \"../../contracts/yield.js\";\nimport { PublicDiagnostic } from \"../../diagnostics.js\";\n\nexport interface TsortLimits {\n readonly maxArguments: number;\n readonly maxArgumentBytes: number;\n readonly maxInputBytes: number;\n readonly maxTokenBytes: number;\n readonly maxTokens: number;\n readonly maxNodes: number;\n readonly maxEdges: number;\n readonly maxBufferedBytes: number;\n readonly maxOutputBytes: number;\n readonly maxDiagnosticBytes: number;\n readonly maxWork: number;\n readonly maxEmptyChunks: number;\n}\n\nexport interface TsortCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<TsortLimits>;\n}\n\nexport function settings(options: TsortCommandsOptions): TsortLimits {\n const limits: TsortLimits = {\n maxArguments: 4096, maxArgumentBytes: 65_536, maxInputBytes: 33_554_432,\n maxTokenBytes: 1_048_576, maxTokens: 2_097_152, maxNodes: 131_072,\n maxEdges: 1_048_576, maxBufferedBytes: 33_554_432, maxOutputBytes: 67_108_864,\n maxDiagnosticBytes: 65_536, maxWork: 134_217_728, maxEmptyChunks: 4096, ...options.limits,\n };\n for (const [name, value] of Object.entries(limits)) {\n if (!Number.isSafeInteger(value) || value < 1) throw new RangeError(`Invalid tsort limit: ${name}`);\n }\n return Object.freeze(limits);\n}\n\nexport class TsortError extends PublicDiagnostic {\n constructor(message: string, readonly usage = false) { super(message); }\n}\n\nexport function raw(value: Uint8Array): string {\n let result = \"\";\n for (let offset = 0; offset < value.length; offset += 4096) result += String.fromCharCode(...value.subarray(offset, offset + 4096));\n return result;\n}\n\nexport function bytes(value: string): Uint8Array {\n return Uint8Array.from(value, character => character.charCodeAt(0));\n}\n\nexport function pathText(value: string): string {\n try { return new TextDecoder(\"utf-8\", { fatal: true, ignoreBOM: true }).decode(bytes(value)); }\n catch { throw new TsortError(\"filesystem paths must be valid UTF-8\"); }\n}\n\nexport function quote(value: string): string {\n const escapes: Readonly<Record<string, string>> = { \"\\x07\": \"\\\\a\", \"\\b\": \"\\\\b\", \"\\f\": \"\\\\f\", \"\\n\": \"\\\\n\", \"\\r\": \"\\\\r\", \"\\t\": \"\\\\t\", \"\\v\": \"\\\\v\", \"\\\\\": \"\\\\\\\\\", \"'\": \"\\\\'\" };\n let result = \"'\";\n for (const character of value) {\n const code = character.charCodeAt(0);\n result += escapes[character] ?? (code >= 32 && code < 127 ? character : `\\\\${code.toString(8).padStart(3, \"0\")}`);\n }\n return `${result}'`;\n}\n\nexport function fileQuote(value: string): string {\n let safe = value.length > 0;\n let escaped = false;\n for (const character of value) {\n const code = character.charCodeAt(0);\n if (!(character >= \"a\" && character <= \"z\" || character >= \"A\" && character <= \"Z\" || character >= \"0\" && character <= \"9\" || \"_./-\".includes(character))) safe = false;\n if (code < 32 || code >= 127) escaped = true;\n }\n if (safe) return value;\n if (!escaped) {\n if (value.includes(\"'\") && ![\"$\", \"`\", \"\\\\\", '\"'].some(character => value.includes(character))) return `\"${value}\"`;\n return `'${value.split(\"'\").join(\"'\\\\''\")}'`;\n }\n const escapes: Readonly<Record<string, string>> = { \"\\x07\": \"\\\\a\", \"\\b\": \"\\\\b\", \"\\f\": \"\\\\f\", \"\\n\": \"\\\\n\", \"\\r\": \"\\\\r\", \"\\t\": \"\\\\t\", \"\\v\": \"\\\\v\" };\n let result = \"'\", inEscape = false;\n for (const character of value) {\n const code = character.charCodeAt(0);\n if (code < 32 || code >= 127) {\n if (!inEscape) { result += \"'$'\"; inEscape = true; }\n result += escapes[character] ?? `\\\\${code.toString(8).padStart(3, \"0\")}`;\n } else {\n if (inEscape) { result += \"''\"; inEscape = false; }\n result += character === \"'\" ? \"'\\\\''\" : character;\n }\n }\n return `${result}'`;\n}\n\nexport class Budget {\n private work = 0;\n private checkpoint = 0;\n private retained = 0;\n private input = 0;\n private output = 0;\n private diagnostics = 0;\n constructor(readonly context: CommandContext, readonly limits: TsortLimits, readonly signal: AbortSignal) {}\n check(value: number, maximum: number, label: string): void {\n if (!Number.isSafeInteger(value) || value < 0 || value > maximum) throw new TsortError(`${label} limit exceeded`);\n }\n charge(amount = 1): void {\n this.signal.throwIfAborted();\n this.check(this.work + amount, this.limits.maxWork, \"work\");\n this.work += amount;\n }\n async checkpointWork(): Promise<void> {\n this.signal.throwIfAborted();\n if (this.work - this.checkpoint >= 4096) { this.checkpoint = this.work; await yieldTurn(this.signal); }\n }\n retain(amount: number): void {\n this.check(this.retained + amount, this.limits.maxBufferedBytes, \"buffered bytes\");\n this.retained += amount;\n }\n inputBytes(amount: number): void {\n this.check(this.input + amount, this.limits.maxInputBytes, \"input bytes\");\n this.input += amount;\n }\n emitted(amount: number, diagnostic: boolean): void {\n if (diagnostic) {\n this.check(this.diagnostics + amount, this.limits.maxDiagnosticBytes, \"diagnostic bytes\");\n this.diagnostics += amount;\n } else {\n this.check(this.output + amount, this.limits.maxOutputBytes, \"output bytes\");\n this.output += amount;\n this.charge(amount);\n }\n }\n arguments(): string[] {\n this.check(this.context.args.length, this.limits.maxArguments, \"argument count\");\n let total = 0;\n for (const argument of this.context.args) {\n total += argument.length;\n this.check(total, this.limits.maxArgumentBytes, \"argument bytes\");\n for (let offset = 0; offset < argument.length; offset++) {\n const unit = argument.charCodeAt(offset);\n if (unit >= 0xd800 && unit <= 0xdbff) {\n const next = argument.charCodeAt(++offset);\n if (!(next >= 0xdc00 && next <= 0xdfff)) throw new TsortError(\"arguments must contain well-formed Unicode\");\n } else if (unit >= 0xdc00 && unit <= 0xdfff) throw new TsortError(\"arguments must contain well-formed Unicode\");\n }\n }\n total = 0;\n const values = this.context.argumentValues === undefined ? this.context.args : getCommandArguments(this.context).values;\n for (const argument of values) {\n total += shellValueByteLength(argument);\n this.check(total, this.limits.maxArgumentBytes, \"argument bytes\");\n }\n this.charge(total);\n this.retain(total * 8 + this.context.args.length * 64 + 128);\n total = 0;\n return getCommandArguments(this.context).values.map(argument => {\n total += shellValueByteLength(argument);\n this.check(total, this.limits.maxArgumentBytes, \"argument bytes\");\n this.charge(shellValueByteLength(argument));\n const value = shellValueBytes(argument);\n if (value.includes(0)) throw new TsortError(\"NUL is not supported in arguments\");\n return raw(value);\n });\n }\n}\n", "import { FsError, resolvePath, type ByteSource } from \"../../contracts/index.js\";\nimport type { OutputOperation } from \"../../contracts/output.js\";\nimport { Budget, TsortError, bytes, fileQuote, pathText } from \"./internal.js\";\n\nexport class Lifecycle {\n private readonly pending = new Set<Promise<unknown>>();\n private readonly cleanups: (() => Promise<void>)[] = [];\n private closing: Promise<void> | undefined;\n constructor(readonly budget: Budget, output: OutputOperation) { output.registerCleanup(() => this.close()); }\n cleanup(action: () => Promise<void>): void { this.assertOpen(); this.cleanups.push(action); }\n assertOpen(): void {\n this.budget.signal.throwIfAborted();\n if (this.closing) throw new TsortError(\"command is closed\");\n }\n async operation<Value>(action: () => Value | Promise<Value>, diagnostic = false): Promise<Value> {\n this.assertOpen();\n if (!diagnostic) this.budget.charge();\n const pending = Promise.resolve().then(() => { this.assertOpen(); return action(); });\n this.pending.add(pending);\n try { const value = await pending; this.assertOpen(); return value; }\n finally { this.pending.delete(pending); }\n }\n close(): Promise<void> {\n return this.closing ??= Promise.resolve().then(async () => {\n while (this.pending.size) await Promise.allSettled([...this.pending]);\n const failures: unknown[] = [];\n for (const cleanup of this.cleanups) {\n try { await cleanup(); } catch (error) { failures.push(error); }\n }\n if (failures.length === 1) throw failures[0];\n if (failures.length > 1) throw new AggregateError(failures, \"tsort cleanup failed\");\n });\n }\n async write(value: string, diagnostic = false): Promise<void> {\n this.budget.emitted(value.length, diagnostic);\n await this.operation(async () => {\n if (!diagnostic) this.budget.retain(value.length * 3);\n try {\n const sink = diagnostic ? this.budget.context.stderr : this.budget.context.stdout;\n this.assertOpen();\n const destination = sink.ownedOutput ?? sink;\n this.assertOpen();\n const write = destination.write;\n this.assertOpen();\n await Reflect.apply(write, destination, [bytes(value)]);\n } finally { if (!diagnostic) this.budget.retain(-value.length * 3); }\n }, diagnostic);\n }\n}\n\nexport class Reader {\n private iterator: AsyncIterator<Uint8Array> | undefined;\n private chunk: Uint8Array = new Uint8Array();\n private offset = 0;\n private ended = false;\n private empties = 0;\n private snapshotBytes = 0;\n constructor(readonly name: string, readonly lifecycle: Lifecycle) {\n lifecycle.cleanup(async () => {\n try { if (!this.ended) await this.iterator?.return?.(); }\n finally {\n this.iterator = undefined;\n this.releaseSnapshot();\n lifecycle.budget.retain(-this.chunk.length);\n this.chunk = new Uint8Array();\n }\n });\n }\n private readonly releaseSnapshot = (): void => {\n this.lifecycle.budget.retain(-this.snapshotBytes);\n this.snapshotBytes = 0;\n };\n async open(): Promise<void> {\n const { budget } = this.lifecycle;\n try {\n await this.lifecycle.operation(async () => {\n let source: ByteSource;\n let needsAcquisitionCleanup = false;\n if (this.name === \"-\") source = budget.context.stdin;\n else {\n const path = resolvePath(budget.context.cwd, pathText(this.name));\n const fs = budget.context.fs;\n this.lifecycle.assertOpen();\n const statMethod = fs.stat;\n this.lifecycle.assertOpen();\n const stat = await Reflect.apply(statMethod, fs, [path, { signal: budget.signal }]);\n this.lifecycle.assertOpen();\n if (stat.type === \"directory\") { this.ended = true; return; }\n if (stat.type !== \"file\" && stat.type !== \"character\") throw new FsError(\"ENOTSUP\", { path });\n const capabilitiesFor = fs.capabilitiesFor;\n this.lifecycle.assertOpen();\n const selected = capabilitiesFor ? await Reflect.apply(capabilitiesFor, fs, [path, { signal: budget.signal }]) : undefined;\n this.lifecycle.assertOpen();\n const capabilities = selected ?? fs.capabilities;\n this.lifecycle.assertOpen();\n const readStream = fs.readStream;\n this.lifecycle.assertOpen();\n const streamingRead = readStream && capabilities.streamingRead !== false;\n this.lifecycle.assertOpen();\n if (readStream && streamingRead) {\n source = Reflect.apply(readStream, fs, [path, { signal: budget.signal, chunkSize: 16_384 }]);\n needsAcquisitionCleanup = budget.signal.aborted;\n }\n else {\n const maximum = Math.min(budget.limits.maxInputBytes, Math.floor(budget.limits.maxBufferedBytes / 2));\n budget.check(stat.size, maximum, \"buffered input bytes\");\n budget.retain(maximum);\n this.snapshotBytes = maximum;\n const readFile = fs.readFile;\n this.lifecycle.assertOpen();\n const content = await Reflect.apply(readFile, fs, [path, { signal: budget.signal, maxBytes: maximum }]);\n if (!(content instanceof Uint8Array)) throw new TypeError(\"tsort input requires bytes\");\n budget.check(content.length, maximum, \"buffered input bytes\");\n budget.retain(content.length - maximum);\n this.snapshotBytes = content.length;\n const { releaseSnapshot } = this;\n source = { async *[Symbol.asyncIterator]() { try { yield content; } finally { releaseSnapshot(); } } };\n }\n }\n if (!needsAcquisitionCleanup) this.lifecycle.assertOpen();\n const factory = source[Symbol.asyncIterator];\n if (!needsAcquisitionCleanup) this.lifecycle.assertOpen();\n this.iterator = Reflect.apply(factory, source, []);\n });\n } catch (error) {\n if (error instanceof FsError) throw new TsortError(`${fileQuote(this.name)}: ${fsDetail(error)}`);\n throw error;\n }\n }\n async get(): Promise<number> {\n const { budget } = this.lifecycle;\n budget.charge();\n await budget.checkpointWork();\n while (this.offset === this.chunk.length) {\n if (this.ended) return -1;\n let next: IteratorResult<Uint8Array>;\n try {\n next = await this.lifecycle.operation(() => {\n const iterator = this.iterator!;\n const advance = iterator.next;\n this.lifecycle.assertOpen();\n return Reflect.apply(advance, iterator, []);\n });\n }\n catch (error) {\n if (error instanceof FsError) throw new TsortError(`${fileQuote(this.name)}: ${fsDetail(error)}`);\n throw error;\n }\n budget.retain(-this.chunk.length);\n this.chunk = new Uint8Array();\n this.offset = 0;\n if (next.done) { this.ended = true; this.iterator = undefined; return -1; }\n if (!(next.value instanceof Uint8Array)) throw new TypeError(\"tsort input requires bytes\");\n budget.inputBytes(next.value.length);\n budget.charge(next.value.length);\n budget.retain(next.value.length);\n this.chunk = Uint8Array.from(next.value);\n if (!this.chunk.length) budget.check(++this.empties, budget.limits.maxEmptyChunks, \"empty input chunks\");\n }\n return this.chunk[this.offset++]!;\n }\n}\n\nfunction fsDetail(error: FsError): string {\n const details: Partial<Record<FsError[\"code\"], string>> = {\n EACCES: \"Permission denied\", EPERM: \"Operation not permitted\", ENOENT: \"No such file or directory\",\n EISDIR: \"Is a directory\", ENOTDIR: \"Not a directory\", EIO: \"Input/output error\", ELOOP: \"Too many levels of symbolic links\",\n ENAMETOOLONG: \"File name too long\", ENOTSUP: \"Operation not supported\",\n };\n return details[error.code] ?? error.message;\n}\n", "import { TsortError, fileQuote, raw } from \"./internal.js\";\nimport { Lifecycle, Reader } from \"./io.js\";\n\ninterface Edge { target: Node; next: Edge | undefined }\ninterface Node { name: string; count: number; printed: boolean; top: Edge | undefined; link: Node | undefined }\n\nexport async function sort(reader: Reader, lifecycle: Lifecycle): Promise<number> {\n const { budget } = lifecycle;\n const nodes = new Map<string, Node>();\n let tokens = 0, edges = 0, length = 0, nameLength = 0;\n let nul = false;\n let token: Uint8Array = new Uint8Array();\n let predecessor: Node | undefined;\n const admitToken = (): void => {\n budget.check(++tokens, budget.limits.maxTokens, \"tokens\");\n budget.charge(nameLength + 1);\n budget.retain(nameLength * 4);\n const name = raw(token.subarray(0, nameLength));\n let node = nodes.get(name);\n if (!node) {\n budget.check(nodes.size + 1, budget.limits.maxNodes, \"nodes\");\n budget.retain(160);\n node = { name, count: 0, printed: false, top: undefined, link: undefined };\n nodes.set(name, node);\n } else budget.retain(-nameLength * 4);\n if (!predecessor) predecessor = node;\n else {\n if (predecessor !== node) {\n budget.check(++edges, budget.limits.maxEdges, \"edges\");\n budget.retain(48);\n predecessor.top = { target: node, next: predecessor.top };\n node.count++;\n }\n predecessor = undefined;\n }\n length = 0;\n nameLength = 0;\n nul = false;\n };\n for (;;) {\n const value = await reader.get();\n if (value < 0 || value === 32 || value === 9 || value === 10) {\n if (length) admitToken();\n if (value < 0) break;\n } else {\n budget.check(++length, budget.limits.maxTokenBytes, \"token bytes\");\n if (value === 0) nul = true;\n if (!nul) {\n if (nameLength === token.length) {\n const capacity = Math.min(budget.limits.maxTokenBytes, Math.max(64, token.length * 2));\n budget.retain(capacity);\n budget.charge(token.length);\n const grown = new Uint8Array(capacity);\n grown.set(token);\n budget.retain(-token.length);\n token = grown;\n }\n token[nameLength++] = value;\n }\n }\n }\n budget.retain(-token.length);\n token = new Uint8Array();\n if (predecessor) throw new TsortError(`${fileQuote(reader.name)}: input contains an odd number of tokens`);\n budget.retain(nodes.size * 16);\n let ordered = [...nodes.values()];\n let scratch = new Array<Node>(ordered.length);\n for (let width = 1; width < ordered.length; width *= 2) {\n for (let start = 0; start < ordered.length; start += width * 2) {\n const middle = Math.min(start + width, ordered.length), end = Math.min(start + width * 2, ordered.length);\n let left = start, right = middle;\n for (let offset = start; offset < end; offset++) {\n budget.charge();\n let useLeft = right === end;\n if (left < middle && right < end) {\n budget.charge(Math.min(ordered[left]!.name.length, ordered[right]!.name.length) + 1);\n useLeft = ordered[left]!.name < ordered[right]!.name;\n }\n scratch[offset] = left < middle && useLeft ? ordered[left++]! : ordered[right++]!;\n await budget.checkpointWork();\n }\n }\n [ordered, scratch] = [scratch, ordered];\n }\n let remaining = ordered.length, status = 0;\n while (remaining) {\n let head: Node | undefined, tail: Node | undefined;\n for (const node of ordered) {\n budget.charge();\n if (!node.printed && !node.count) {\n if (tail) tail.link = node; else head = node;\n tail = node;\n node.link = undefined;\n }\n await budget.checkpointWork();\n }\n while (head) {\n const node: Node = head;\n budget.check(node.name.length + 1, budget.limits.maxOutputBytes, \"output bytes\");\n await lifecycle.write(`${node.name}\\n`);\n node.printed = true;\n remaining--;\n for (let edge = node.top; edge; edge = edge.next) {\n budget.charge();\n if (!--edge.target.count) {\n tail!.link = edge.target;\n tail = edge.target;\n tail.link = undefined;\n }\n await budget.checkpointWork();\n }\n head = node.link;\n node.link = undefined;\n }\n if (!remaining) break;\n status = 1;\n await lifecycle.write(`tsort: ${fileQuote(reader.name)}: input contains a loop:\\n`, true);\n let loop: Node | undefined;\n do {\n let found = false;\n for (const node of ordered) {\n budget.charge();\n await budget.checkpointWork();\n if (!node.count) continue;\n if (!loop) { loop = node; continue; }\n let previous: Edge | undefined;\n for (let edge = node.top; edge; edge = edge.next) {\n budget.charge();\n await budget.checkpointWork();\n if (edge.target === loop) {\n if (node.link) {\n while (loop) {\n budget.charge();\n const next: Node | undefined = loop.link;\n await lifecycle.write(`tsort: ${loop.name}\\n`, true);\n if (loop === node) {\n edge.target.count--;\n if (previous) previous.next = edge.next; else node.top = edge.next;\n break;\n }\n loop.link = undefined;\n loop = next;\n }\n while (loop) {\n budget.charge();\n const next: Node | undefined = loop.link;\n loop.link = undefined;\n loop = next;\n await budget.checkpointWork();\n }\n found = true;\n } else { node.link = loop; loop = node; }\n break;\n }\n previous = edge;\n }\n if (found) break;\n }\n } while (loop);\n }\n return status;\n}\n"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;;;ACAA;AAyBO,SAAS,SAAS,SAA4C;AACnE,QAAM,SAAsB;AAAA,IAC1B,cAAc;AAAA,IAAM,kBAAkB;AAAA,IAAQ,eAAe;AAAA,IAC7D,eAAe;AAAA,IAAW,WAAW;AAAA,IAAW,UAAU;AAAA,IAC1D,UAAU;AAAA,IAAW,kBAAkB;AAAA,IAAY,gBAAgB;AAAA,IACnE,oBAAoB;AAAA,IAAQ,SAAS;AAAA,IAAa,gBAAgB;AAAA,IAAM,GAAG,QAAQ;AAAA,EACrF;AACA,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,QAAI,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,EAAG,OAAM,IAAI,WAAW,wBAAwB,IAAI,EAAE;AAAA,EACpG;AACA,SAAO,OAAO,OAAO,MAAM;AAC7B;AAEO,IAAM,aAAN,cAAyB,iBAAiB;AAAA,EAC/C,YAAY,SAA0B,QAAQ,OAAO;AAAE,UAAM,OAAO;AAA9B;AAAA,EAAiC;AAAA,EAAjC;AACxC;AAEO,SAAS,IAAI,OAA2B;AAC7C,MAAI,SAAS;AACb,WAAS,SAAS,GAAG,SAAS,MAAM,QAAQ,UAAU,KAAM,WAAU,OAAO,aAAa,GAAG,MAAM,SAAS,QAAQ,SAAS,IAAI,CAAC;AAClI,SAAO;AACT;AAEO,SAAS,MAAM,OAA2B;AAC/C,SAAO,WAAW,KAAK,OAAO,eAAa,UAAU,WAAW,CAAC,CAAC;AACpE;AAEO,SAAS,SAAS,OAAuB;AAC9C,MAAI;AAAE,WAAO,IAAI,YAAY,SAAS,EAAE,OAAO,MAAM,WAAW,KAAK,CAAC,EAAE,OAAO,MAAM,KAAK,CAAC;AAAA,EAAG,QACxF;AAAE,UAAM,IAAI,WAAW,sCAAsC;AAAA,EAAG;AACxE;AAEO,SAAS,MAAM,OAAuB;AAC3C,QAAM,UAA4C,EAAE,QAAQ,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,KAAM,OAAO,MAAM,OAAO,MAAM,QAAQ,KAAK,MAAM;AAC1K,MAAI,SAAS;AACb,aAAW,aAAa,OAAO;AAC7B,UAAM,OAAO,UAAU,WAAW,CAAC;AACnC,cAAU,QAAQ,SAAS,MAAM,QAAQ,MAAM,OAAO,MAAM,YAAY,KAAK,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA,EAChH;AACA,SAAO,GAAG,MAAM;AAClB;AAEO,SAAS,UAAU,OAAuB;AAC/C,MAAI,OAAO,MAAM,SAAS;AAC1B,MAAI,UAAU;AACd,aAAW,aAAa,OAAO;AAC7B,UAAM,OAAO,UAAU,WAAW,CAAC;AACnC,QAAI,EAAE,aAAa,OAAO,aAAa,OAAO,aAAa,OAAO,aAAa,OAAO,aAAa,OAAO,aAAa,OAAO,OAAO,SAAS,SAAS,GAAI,QAAO;AAClK,QAAI,OAAO,MAAM,QAAQ,IAAK,WAAU;AAAA,EAC1C;AACA,MAAI,KAAM,QAAO;AACjB,MAAI,CAAC,SAAS;AACZ,QAAI,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,EAAE,KAAK,eAAa,MAAM,SAAS,SAAS,CAAC,EAAG,QAAO,IAAI,KAAK;AAChH,WAAO,IAAI,MAAM,MAAM,GAAG,EAAE,KAAK,OAAO,CAAC;AAAA,EAC3C;AACA,QAAM,UAA4C,EAAE,QAAQ,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,KAAM,OAAO,MAAM,MAAM;AAChJ,MAAI,SAAS,KAAK,WAAW;AAC7B,aAAW,aAAa,OAAO;AAC7B,UAAM,OAAO,UAAU,WAAW,CAAC;AACnC,QAAI,OAAO,MAAM,QAAQ,KAAK;AAC5B,UAAI,CAAC,UAAU;AAAE,kBAAU;AAAO,mBAAW;AAAA,MAAM;AACnD,gBAAU,QAAQ,SAAS,KAAK,KAAK,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA,IACxE,OAAO;AACL,UAAI,UAAU;AAAE,kBAAU;AAAM,mBAAW;AAAA,MAAO;AAClD,gBAAU,cAAc,MAAM,UAAU;AAAA,IAC1C;AAAA,EACF;AACA,SAAO,GAAG,MAAM;AAClB;AAEO,IAAM,SAAN,MAAa;AAAA,EAOlB,YAAqB,SAAkC,QAA8B,QAAqB;AAArF;AAAkC;AAA8B;AAAA,EAAsB;AAAA,EAAtF;AAAA,EAAkC;AAAA,EAA8B;AAAA,EAN7E,OAAO;AAAA,EACP,aAAa;AAAA,EACb,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,cAAc;AAAA,EAEtB,MAAM,OAAe,SAAiB,OAAqB;AACzD,QAAI,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,KAAK,QAAQ,QAAS,OAAM,IAAI,WAAW,GAAG,KAAK,iBAAiB;AAAA,EAClH;AAAA,EACA,OAAO,SAAS,GAAS;AACvB,SAAK,OAAO,eAAe;AAC3B,SAAK,MAAM,KAAK,OAAO,QAAQ,KAAK,OAAO,SAAS,MAAM;AAC1D,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,MAAM,iBAAgC;AACpC,SAAK,OAAO,eAAe;AAC3B,QAAI,KAAK,OAAO,KAAK,cAAc,MAAM;AAAE,WAAK,aAAa,KAAK;AAAM,YAAM,UAAU,KAAK,MAAM;AAAA,IAAG;AAAA,EACxG;AAAA,EACA,OAAO,QAAsB;AAC3B,SAAK,MAAM,KAAK,WAAW,QAAQ,KAAK,OAAO,kBAAkB,gBAAgB;AACjF,SAAK,YAAY;AAAA,EACnB;AAAA,EACA,WAAW,QAAsB;AAC/B,SAAK,MAAM,KAAK,QAAQ,QAAQ,KAAK,OAAO,eAAe,aAAa;AACxE,SAAK,SAAS;AAAA,EAChB;AAAA,EACA,QAAQ,QAAgB,YAA2B;AACjD,QAAI,YAAY;AACd,WAAK,MAAM,KAAK,cAAc,QAAQ,KAAK,OAAO,oBAAoB,kBAAkB;AACxF,WAAK,eAAe;AAAA,IACtB,OAAO;AACL,WAAK,MAAM,KAAK,SAAS,QAAQ,KAAK,OAAO,gBAAgB,cAAc;AAC3E,WAAK,UAAU;AACf,WAAK,OAAO,MAAM;AAAA,IACpB;AAAA,EACF;AAAA,EACA,YAAsB;AACpB,SAAK,MAAM,KAAK,QAAQ,KAAK,QAAQ,KAAK,OAAO,cAAc,gBAAgB;AAC/E,QAAI,QAAQ;AACZ,eAAW,YAAY,KAAK,QAAQ,MAAM;AACxC,eAAS,SAAS;AAClB,WAAK,MAAM,OAAO,KAAK,OAAO,kBAAkB,gBAAgB;AAChE,eAAS,SAAS,GAAG,SAAS,SAAS,QAAQ,UAAU;AACvD,cAAM,OAAO,SAAS,WAAW,MAAM;AACvC,YAAI,QAAQ,SAAU,QAAQ,OAAQ;AACpC,gBAAM,OAAO,SAAS,WAAW,EAAE,MAAM;AACzC,cAAI,EAAE,QAAQ,SAAU,QAAQ,OAAS,OAAM,IAAI,WAAW,4CAA4C;AAAA,QAC5G,WAAW,QAAQ,SAAU,QAAQ,MAAQ,OAAM,IAAI,WAAW,4CAA4C;AAAA,MAChH;AAAA,IACF;AACA,YAAQ;AACR,UAAM,SAAS,KAAK,QAAQ,mBAAmB,SAAY,KAAK,QAAQ,OAAO,oBAAoB,KAAK,OAAO,EAAE;AACjH,eAAW,YAAY,QAAQ;AAC7B,eAAS,qBAAqB,QAAQ;AACtC,WAAK,MAAM,OAAO,KAAK,OAAO,kBAAkB,gBAAgB;AAAA,IAClE;AACA,SAAK,OAAO,KAAK;AACjB,SAAK,OAAO,QAAQ,IAAI,KAAK,QAAQ,KAAK,SAAS,KAAK,GAAG;AAC3D,YAAQ;AACR,WAAO,oBAAoB,KAAK,OAAO,EAAE,OAAO,IAAI,cAAY;AAC9D,eAAS,qBAAqB,QAAQ;AACtC,WAAK,MAAM,OAAO,KAAK,OAAO,kBAAkB,gBAAgB;AAChE,WAAK,OAAO,qBAAqB,QAAQ,CAAC;AAC1C,YAAM,QAAQ,gBAAgB,QAAQ;AACtC,UAAI,MAAM,SAAS,CAAC,EAAG,OAAM,IAAI,WAAW,mCAAmC;AAC/E,aAAO,IAAI,KAAK;AAAA,IAClB,CAAC;AAAA,EACH;AACF;;;ACrKA;AAIO,IAAM,YAAN,MAAgB;AAAA,EAIrB,YAAqB,QAAgB,QAAyB;AAAzC;AAA2C,WAAO,gBAAgB,MAAM,KAAK,MAAM,CAAC;AAAA,EAAG;AAAA,EAAvF;AAAA,EAHJ,UAAU,oBAAI,IAAsB;AAAA,EACpC,WAAoC,CAAC;AAAA,EAC9C;AAAA,EAER,QAAQ,QAAmC;AAAE,SAAK,WAAW;AAAG,SAAK,SAAS,KAAK,MAAM;AAAA,EAAG;AAAA,EAC5F,aAAmB;AACjB,SAAK,OAAO,OAAO,eAAe;AAClC,QAAI,KAAK,QAAS,OAAM,IAAI,WAAW,mBAAmB;AAAA,EAC5D;AAAA,EACA,MAAM,UAAiB,QAAsC,aAAa,OAAuB;AAC/F,SAAK,WAAW;AAChB,QAAI,CAAC,WAAY,MAAK,OAAO,OAAO;AACpC,UAAM,UAAU,QAAQ,QAAQ,EAAE,KAAK,MAAM;AAAE,WAAK,WAAW;AAAG,aAAO,OAAO;AAAA,IAAG,CAAC;AACpF,SAAK,QAAQ,IAAI,OAAO;AACxB,QAAI;AAAE,YAAM,QAAQ,MAAM;AAAS,WAAK,WAAW;AAAG,aAAO;AAAA,IAAO,UACpE;AAAU,WAAK,QAAQ,OAAO,OAAO;AAAA,IAAG;AAAA,EAC1C;AAAA,EACA,QAAuB;AACrB,WAAO,KAAK,YAAY,QAAQ,QAAQ,EAAE,KAAK,YAAY;AACzD,aAAO,KAAK,QAAQ,KAAM,OAAM,QAAQ,WAAW,CAAC,GAAG,KAAK,OAAO,CAAC;AACpE,YAAM,WAAsB,CAAC;AAC7B,iBAAW,WAAW,KAAK,UAAU;AACnC,YAAI;AAAE,gBAAM,QAAQ;AAAA,QAAG,SAAS,OAAO;AAAE,mBAAS,KAAK,KAAK;AAAA,QAAG;AAAA,MACjE;AACA,UAAI,SAAS,WAAW,EAAG,OAAM,SAAS,CAAC;AAC3C,UAAI,SAAS,SAAS,EAAG,OAAM,IAAI,eAAe,UAAU,sBAAsB;AAAA,IACpF,CAAC;AAAA,EACH;AAAA,EACA,MAAM,MAAM,OAAe,aAAa,OAAsB;AAC5D,SAAK,OAAO,QAAQ,MAAM,QAAQ,UAAU;AAC5C,UAAM,KAAK,UAAU,YAAY;AAC/B,UAAI,CAAC,WAAY,MAAK,OAAO,OAAO,MAAM,SAAS,CAAC;AACpD,UAAI;AACF,cAAM,OAAO,aAAa,KAAK,OAAO,QAAQ,SAAS,KAAK,OAAO,QAAQ;AAC3E,aAAK,WAAW;AAChB,cAAM,cAAc,KAAK,eAAe;AACxC,aAAK,WAAW;AAChB,cAAM,QAAQ,YAAY;AAC1B,aAAK,WAAW;AAChB,cAAM,QAAQ,MAAM,OAAO,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;AAAA,MACxD,UAAE;AAAU,YAAI,CAAC,WAAY,MAAK,OAAO,OAAO,CAAC,MAAM,SAAS,CAAC;AAAA,MAAG;AAAA,IACtE,GAAG,UAAU;AAAA,EACf;AACF;AAEO,IAAM,SAAN,MAAa;AAAA,EAOlB,YAAqB,MAAuB,WAAsB;AAA7C;AAAuB;AAC1C,cAAU,QAAQ,YAAY;AAC5B,UAAI;AAAE,YAAI,CAAC,KAAK,MAAO,OAAM,KAAK,UAAU,SAAS;AAAA,MAAG,UACxD;AACE,aAAK,WAAW;AAChB,aAAK,gBAAgB;AACrB,kBAAU,OAAO,OAAO,CAAC,KAAK,MAAM,MAAM;AAC1C,aAAK,QAAQ,IAAI,WAAW;AAAA,MAC9B;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAVqB;AAAA,EAAuB;AAAA,EANpC;AAAA,EACA,QAAoB,IAAI,WAAW;AAAA,EACnC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,gBAAgB;AAAA,EAYP,kBAAkB,MAAY;AAC7C,SAAK,UAAU,OAAO,OAAO,CAAC,KAAK,aAAa;AAChD,SAAK,gBAAgB;AAAA,EACvB;AAAA,EACA,MAAM,OAAsB;AAC1B,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,QAAI;AACF,YAAM,KAAK,UAAU,UAAU,YAAY;AACzC,YAAI;AACJ,YAAI,0BAA0B;AAC9B,YAAI,KAAK,SAAS,IAAK,UAAS,OAAO,QAAQ;AAAA,aAC1C;AACH,gBAAM,OAAO,YAAY,OAAO,QAAQ,KAAK,SAAS,KAAK,IAAI,CAAC;AAChE,gBAAM,KAAK,OAAO,QAAQ;AAC1B,eAAK,UAAU,WAAW;AAC1B,gBAAM,aAAa,GAAG;AACtB,eAAK,UAAU,WAAW;AAC1B,gBAAM,OAAO,MAAM,QAAQ,MAAM,YAAY,IAAI,CAAC,MAAM,EAAE,QAAQ,OAAO,OAAO,CAAC,CAAC;AAClF,eAAK,UAAU,WAAW;AAC1B,cAAI,KAAK,SAAS,aAAa;AAAE,iBAAK,QAAQ;AAAM;AAAA,UAAQ;AAC5D,cAAI,KAAK,SAAS,UAAU,KAAK,SAAS,YAAa,OAAM,IAAI,QAAQ,WAAW,EAAE,KAAK,CAAC;AAC5F,gBAAM,kBAAkB,GAAG;AAC3B,eAAK,UAAU,WAAW;AAC1B,gBAAM,WAAW,kBAAkB,MAAM,QAAQ,MAAM,iBAAiB,IAAI,CAAC,MAAM,EAAE,QAAQ,OAAO,OAAO,CAAC,CAAC,IAAI;AACjH,eAAK,UAAU,WAAW;AAC1B,gBAAM,eAAe,YAAY,GAAG;AACpC,eAAK,UAAU,WAAW;AAC1B,gBAAM,aAAa,GAAG;AACtB,eAAK,UAAU,WAAW;AAC1B,gBAAM,gBAAgB,cAAc,aAAa,kBAAkB;AACnE,eAAK,UAAU,WAAW;AAC1B,cAAI,cAAc,eAAe;AAC/B,qBAAS,QAAQ,MAAM,YAAY,IAAI,CAAC,MAAM,EAAE,QAAQ,OAAO,QAAQ,WAAW,MAAO,CAAC,CAAC;AAC3F,sCAA0B,OAAO,OAAO;AAAA,UAC1C,OACK;AACH,kBAAM,UAAU,KAAK,IAAI,OAAO,OAAO,eAAe,KAAK,MAAM,OAAO,OAAO,mBAAmB,CAAC,CAAC;AACpG,mBAAO,MAAM,KAAK,MAAM,SAAS,sBAAsB;AACvD,mBAAO,OAAO,OAAO;AACrB,iBAAK,gBAAgB;AACrB,kBAAM,WAAW,GAAG;AACpB,iBAAK,UAAU,WAAW;AAC1B,kBAAM,UAAU,MAAM,QAAQ,MAAM,UAAU,IAAI,CAAC,MAAM,EAAE,QAAQ,OAAO,QAAQ,UAAU,QAAQ,CAAC,CAAC;AACtG,gBAAI,EAAE,mBAAmB,YAAa,OAAM,IAAI,UAAU,4BAA4B;AACtF,mBAAO,MAAM,QAAQ,QAAQ,SAAS,sBAAsB;AAC5D,mBAAO,OAAO,QAAQ,SAAS,OAAO;AACtC,iBAAK,gBAAgB,QAAQ;AAC7B,kBAAM,EAAE,gBAAgB,IAAI;AAC5B,qBAAS,EAAE,QAAQ,OAAO,aAAa,IAAI;AAAE,kBAAI;AAAE,sBAAM;AAAA,cAAS,UAAE;AAAU,gCAAgB;AAAA,cAAG;AAAA,YAAE,EAAE;AAAA,UACvG;AAAA,QACF;AACA,YAAI,CAAC,wBAAyB,MAAK,UAAU,WAAW;AACxD,cAAM,UAAU,OAAO,OAAO,aAAa;AAC3C,YAAI,CAAC,wBAAyB,MAAK,UAAU,WAAW;AACxD,aAAK,WAAW,QAAQ,MAAM,SAAS,QAAQ,CAAC,CAAC;AAAA,MACnD,CAAC;AAAA,IACH,SAAS,OAAO;AACd,UAAI,iBAAiB,QAAS,OAAM,IAAI,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC,KAAK,SAAS,KAAK,CAAC,EAAE;AAChG,YAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,MAAM,MAAuB;AAC3B,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,WAAO,OAAO;AACd,UAAM,OAAO,eAAe;AAC5B,WAAO,KAAK,WAAW,KAAK,MAAM,QAAQ;AACxC,UAAI,KAAK,MAAO,QAAO;AACvB,UAAI;AACJ,UAAI;AACF,eAAO,MAAM,KAAK,UAAU,UAAU,MAAM;AAC1C,gBAAM,WAAW,KAAK;AACtB,gBAAM,UAAU,SAAS;AACzB,eAAK,UAAU,WAAW;AAC1B,iBAAO,QAAQ,MAAM,SAAS,UAAU,CAAC,CAAC;AAAA,QAC5C,CAAC;AAAA,MACH,SACO,OAAO;AACZ,YAAI,iBAAiB,QAAS,OAAM,IAAI,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC,KAAK,SAAS,KAAK,CAAC,EAAE;AAChG,cAAM;AAAA,MACR;AACA,aAAO,OAAO,CAAC,KAAK,MAAM,MAAM;AAChC,WAAK,QAAQ,IAAI,WAAW;AAC5B,WAAK,SAAS;AACd,UAAI,KAAK,MAAM;AAAE,aAAK,QAAQ;AAAM,aAAK,WAAW;AAAW,eAAO;AAAA,MAAI;AAC1E,UAAI,EAAE,KAAK,iBAAiB,YAAa,OAAM,IAAI,UAAU,4BAA4B;AACzF,aAAO,WAAW,KAAK,MAAM,MAAM;AACnC,aAAO,OAAO,KAAK,MAAM,MAAM;AAC/B,aAAO,OAAO,KAAK,MAAM,MAAM;AAC/B,WAAK,QAAQ,WAAW,KAAK,KAAK,KAAK;AACvC,UAAI,CAAC,KAAK,MAAM,OAAQ,QAAO,MAAM,EAAE,KAAK,SAAS,OAAO,OAAO,gBAAgB,oBAAoB;AAAA,IACzG;AACA,WAAO,KAAK,MAAM,KAAK,QAAQ;AAAA,EACjC;AACF;AAEA,SAAS,SAAS,OAAwB;AACxC,QAAM,UAAoD;AAAA,IACxD,QAAQ;AAAA,IAAqB,OAAO;AAAA,IAA2B,QAAQ;AAAA,IACvE,QAAQ;AAAA,IAAkB,SAAS;AAAA,IAAmB,KAAK;AAAA,IAAsB,OAAO;AAAA,IACxF,cAAc;AAAA,IAAsB,SAAS;AAAA,EAC/C;AACA,SAAO,QAAQ,MAAM,IAAI,KAAK,MAAM;AACtC;;;AC1KA;AAMA,eAAsB,KAAK,QAAgB,WAAuC;AAChF,QAAM,EAAE,OAAO,IAAI;AACnB,QAAM,QAAQ,oBAAI,IAAkB;AACpC,MAAI,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa;AACpD,MAAI,MAAM;AACV,MAAI,QAAoB,IAAI,WAAW;AACvC,MAAI;AACJ,QAAM,aAAa,MAAY;AAC7B,WAAO,MAAM,EAAE,QAAQ,OAAO,OAAO,WAAW,QAAQ;AACxD,WAAO,OAAO,aAAa,CAAC;AAC5B,WAAO,OAAO,aAAa,CAAC;AAC5B,UAAM,OAAO,IAAI,MAAM,SAAS,GAAG,UAAU,CAAC;AAC9C,QAAI,OAAO,MAAM,IAAI,IAAI;AACzB,QAAI,CAAC,MAAM;AACT,aAAO,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,UAAU,OAAO;AAC5D,aAAO,OAAO,GAAG;AACjB,aAAO,EAAE,MAAM,OAAO,GAAG,SAAS,OAAO,KAAK,QAAW,MAAM,OAAU;AACzE,YAAM,IAAI,MAAM,IAAI;AAAA,IACtB,MAAO,QAAO,OAAO,CAAC,aAAa,CAAC;AACpC,QAAI,CAAC,YAAa,eAAc;AAAA,SAC3B;AACH,UAAI,gBAAgB,MAAM;AACxB,eAAO,MAAM,EAAE,OAAO,OAAO,OAAO,UAAU,OAAO;AACrD,eAAO,OAAO,EAAE;AAChB,oBAAY,MAAM,EAAE,QAAQ,MAAM,MAAM,YAAY,IAAI;AACxD,aAAK;AAAA,MACP;AACA,oBAAc;AAAA,IAChB;AACA,aAAS;AACT,iBAAa;AACb,UAAM;AAAA,EACR;AACA,aAAS;AACP,UAAM,QAAQ,MAAM,OAAO,IAAI;AAC/B,QAAI,QAAQ,KAAK,UAAU,MAAM,UAAU,KAAK,UAAU,IAAI;AAC5D,UAAI,OAAQ,YAAW;AACvB,UAAI,QAAQ,EAAG;AAAA,IACjB,OAAO;AACL,aAAO,MAAM,EAAE,QAAQ,OAAO,OAAO,eAAe,aAAa;AACjE,UAAI,UAAU,EAAG,OAAM;AACvB,UAAI,CAAC,KAAK;AACR,YAAI,eAAe,MAAM,QAAQ;AAC/B,gBAAM,WAAW,KAAK,IAAI,OAAO,OAAO,eAAe,KAAK,IAAI,IAAI,MAAM,SAAS,CAAC,CAAC;AACrF,iBAAO,OAAO,QAAQ;AACtB,iBAAO,OAAO,MAAM,MAAM;AAC1B,gBAAM,QAAQ,IAAI,WAAW,QAAQ;AACrC,gBAAM,IAAI,KAAK;AACf,iBAAO,OAAO,CAAC,MAAM,MAAM;AAC3B,kBAAQ;AAAA,QACV;AACA,cAAM,YAAY,IAAI;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AACA,SAAO,OAAO,CAAC,MAAM,MAAM;AAC3B,UAAQ,IAAI,WAAW;AACvB,MAAI,YAAa,OAAM,IAAI,WAAW,GAAG,UAAU,OAAO,IAAI,CAAC,0CAA0C;AACzG,SAAO,OAAO,MAAM,OAAO,EAAE;AAC7B,MAAI,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC;AAChC,MAAI,UAAU,IAAI,MAAY,QAAQ,MAAM;AAC5C,WAAS,QAAQ,GAAG,QAAQ,QAAQ,QAAQ,SAAS,GAAG;AACtD,aAAS,QAAQ,GAAG,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,GAAG;AAC9D,YAAM,SAAS,KAAK,IAAI,QAAQ,OAAO,QAAQ,MAAM,GAAG,MAAM,KAAK,IAAI,QAAQ,QAAQ,GAAG,QAAQ,MAAM;AACxG,UAAI,OAAO,OAAO,QAAQ;AAC1B,eAAS,SAAS,OAAO,SAAS,KAAK,UAAU;AAC/C,eAAO,OAAO;AACd,YAAI,UAAU,UAAU;AACxB,YAAI,OAAO,UAAU,QAAQ,KAAK;AAChC,iBAAO,OAAO,KAAK,IAAI,QAAQ,IAAI,EAAG,KAAK,QAAQ,QAAQ,KAAK,EAAG,KAAK,MAAM,IAAI,CAAC;AACnF,oBAAU,QAAQ,IAAI,EAAG,OAAO,QAAQ,KAAK,EAAG;AAAA,QAClD;AACA,gBAAQ,MAAM,IAAI,OAAO,UAAU,UAAU,QAAQ,MAAM,IAAK,QAAQ,OAAO;AAC/E,cAAM,OAAO,eAAe;AAAA,MAC9B;AAAA,IACF;AACA,KAAC,SAAS,OAAO,IAAI,CAAC,SAAS,OAAO;AAAA,EACxC;AACA,MAAI,YAAY,QAAQ,QAAQ,SAAS;AACzC,SAAO,WAAW;AAChB,QAAI,MAAwB;AAC5B,eAAW,QAAQ,SAAS;AAC1B,aAAO,OAAO;AACd,UAAI,CAAC,KAAK,WAAW,CAAC,KAAK,OAAO;AAChC,YAAI,KAAM,MAAK,OAAO;AAAA,YAAW,QAAO;AACxC,eAAO;AACP,aAAK,OAAO;AAAA,MACd;AACA,YAAM,OAAO,eAAe;AAAA,IAC9B;AACA,WAAO,MAAM;AACX,YAAM,OAAa;AACnB,aAAO,MAAM,KAAK,KAAK,SAAS,GAAG,OAAO,OAAO,gBAAgB,cAAc;AAC/E,YAAM,UAAU,MAAM,GAAG,KAAK,IAAI;AAAA,CAAI;AACtC,WAAK,UAAU;AACf;AACA,eAAS,OAAO,KAAK,KAAK,MAAM,OAAO,KAAK,MAAM;AAChD,eAAO,OAAO;AACd,YAAI,CAAC,EAAE,KAAK,OAAO,OAAO;AACxB,eAAM,OAAO,KAAK;AAClB,iBAAO,KAAK;AACZ,eAAK,OAAO;AAAA,QACd;AACA,cAAM,OAAO,eAAe;AAAA,MAC9B;AACA,aAAO,KAAK;AACZ,WAAK,OAAO;AAAA,IACd;AACA,QAAI,CAAC,UAAW;AAChB,aAAS;AACT,UAAM,UAAU,MAAM,UAAU,UAAU,OAAO,IAAI,CAAC;AAAA,GAA8B,IAAI;AACxF,QAAI;AACJ,OAAG;AACD,UAAI,QAAQ;AACZ,iBAAW,QAAQ,SAAS;AAC1B,eAAO,OAAO;AACd,cAAM,OAAO,eAAe;AAC5B,YAAI,CAAC,KAAK,MAAO;AACjB,YAAI,CAAC,MAAM;AAAE,iBAAO;AAAM;AAAA,QAAU;AACpC,YAAI;AACJ,iBAAS,OAAO,KAAK,KAAK,MAAM,OAAO,KAAK,MAAM;AAChD,iBAAO,OAAO;AACd,gBAAM,OAAO,eAAe;AAC5B,cAAI,KAAK,WAAW,MAAM;AACxB,gBAAI,KAAK,MAAM;AACb,qBAAO,MAAM;AACX,uBAAO,OAAO;AACd,sBAAM,OAAyB,KAAK;AACpC,sBAAM,UAAU,MAAM,UAAU,KAAK,IAAI;AAAA,GAAM,IAAI;AACnD,oBAAI,SAAS,MAAM;AACjB,uBAAK,OAAO;AACZ,sBAAI,SAAU,UAAS,OAAO,KAAK;AAAA,sBAAW,MAAK,MAAM,KAAK;AAC9D;AAAA,gBACF;AACA,qBAAK,OAAO;AACZ,uBAAO;AAAA,cACT;AACA,qBAAO,MAAM;AACX,uBAAO,OAAO;AACd,sBAAM,OAAyB,KAAK;AACpC,qBAAK,OAAO;AACZ,uBAAO;AACP,sBAAM,OAAO,eAAe;AAAA,cAC9B;AACA,sBAAQ;AAAA,YACV,OAAO;AAAE,mBAAK,OAAO;AAAM,qBAAO;AAAA,YAAM;AACxC;AAAA,UACF;AACA,qBAAW;AAAA,QACb;AACA,YAAI,MAAO;AAAA,MACb;AAAA,IACF,SAAS;AAAA,EACX;AACA,SAAO;AACT;;;AH3JO,SAAS,mBAAmB,UAAgC,CAAC,GAAsB;AACxF,QAAM,SAAS,SAAS,OAAO;AAC/B,SAAO,EAAE,MAAM,SAAS,aAAa,sDAAsD,MAAM,QAAQ,SAAS;AAChH,UAAM,SAAS,sBAAsB,SAAS,QAAQ,MAAM;AAC5D,UAAM,SAAS,IAAI,OAAO,SAAS,QAAQ,OAAO,MAAM;AACxD,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,QAAI,WAAW;AACf,QAAI;AACF,kBAAY,IAAI,UAAU,QAAQ,MAAM;AACxC,YAAM,OAAO,OAAO,UAAU;AAC9B,YAAM,OAAO,KAAK,WAAW,IAAI,KAAK,CAAC,IAAK;AAC5C,UAAI,KAAK,SAAS,MAAM,SAAS,WAAW,IAAI,KAAK,YAAY,WAAW,IAAI,IAAI;AAClF,cAAM,UAAU,MAAM,SAAS,WAAW,IAAI,IAAI,+KAA+K,wBAAwB;AAAA,MAC3P,OAAO;AACL,YAAI,eAAe;AACnB,cAAM,QAAkB,CAAC;AACzB,mBAAW,YAAY,MAAM;AAC3B,cAAI,CAAC,gBAAgB,aAAa,MAAM;AAAE,2BAAe;AAAM;AAAA,UAAU;AACzE,cAAI,CAAC,gBAAgB,SAAS,WAAW,IAAI,EAAG,OAAM,IAAI,WAAW,wBAAwB,QAAQ,KAAK,IAAI;AAC9G,cAAI,CAAC,gBAAgB,SAAS,SAAS,KAAK,SAAS,WAAW,GAAG,EAAG,OAAM,IAAI,WAAW,sBAAsB,SAAS,CAAC,CAAC,KAAK,IAAI;AACrI,gBAAM,KAAK,QAAQ;AACnB,cAAI,QAAQ,IAAI,oBAAoB,OAAW,gBAAe;AAAA,QAChE;AACA,YAAI,MAAM,SAAS,EAAG,OAAM,IAAI,WAAW,iBAAiB,MAAM,MAAM,CAAC,CAAE,CAAC,IAAI,IAAI;AACpF,cAAM,SAAS,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS;AACpD,cAAM,OAAO,KAAK;AAClB,mBAAW,MAAM,KAAK,QAAQ,SAAS;AAAA,MACzC;AAAA,IACF,SAAS,OAAO;AACd,gBAAU,EAAE,QAAQ,MAAM;AAC1B,UAAI,iBAAiB,cAAc,CAAC,OAAO,OAAO,WAAW,WAAW;AACtE,mBAAW;AACX,YAAI;AAAE,gBAAM,UAAU,MAAM,UAAU,MAAM,OAAO;AAAA,EAAK,MAAM,QAAQ,+CAA+C,EAAE,IAAI,IAAI;AAAA,QAAG,SAC3H,WAAW;AAAE,oBAAU,EAAE,QAAQ,IAAI,eAAe,CAAC,OAAO,SAAS,GAAG,gCAAgC,EAAE;AAAA,QAAG;AAAA,MACtH,MAAO,WAAU,EAAE,QAAQ,MAAM;AAAA,IACnC;AACA,QAAI;AAAE,YAAM,OAAO,MAAM;AAAA,IAAG,SACrB,SAAS;AACd,YAAM,WAAW,WAAW;AAC5B,gBAAU,EAAE,QAAQ,WAAW,IAAI,eAAe,CAAC,SAAS,QAAQ,OAAO,GAAG,oCAAoC,IAAI,QAAQ;AAAA,IAChI;AACA,YAAQ,OAAO,eAAe;AAC9B,WAAO,OAAO,eAAe;AAC7B,QAAI,QAAS,OAAM,QAAQ;AAC3B,WAAO,EAAE,SAAS;AAAA,EACpB,EAAE;AACJ;;;AD/CO,SAAS,oBAAoB,UAAgC,CAAC,GAAiC;AACpG,SAAO,CAAC,mBAAmB,OAAO,CAAC;AACrC;AAEO,SAAS,cAAc,UAAgC,CAAC,GAAuB;AACpF,QAAM,WAAW,oBAAoB,OAAO;AAC5C,SAAO,EAAE,MAAM,kBAAkB,MAAM,MAAM;AAC3C,eAAW,WAAW,SAAU,MAAK,SAAS,SAAS,SAAS,EAAE,SAAS,QAAQ,WAAW,MAAM,CAAC;AAAA,EACvG,EAAE;AACJ;",
6
6
  "names": []
7
7
  }
@@ -1,16 +1,18 @@
1
+ import {
2
+ PublicDiagnostic,
3
+ publicDiagnosticMessage,
4
+ yieldTurn
5
+ } from "./chunk-UYX72YHY.js";
1
6
  import {
2
7
  isAbsolutePath,
3
8
  validatePath
4
9
  } from "./chunk-DPJWEGIX.js";
5
10
  import {
6
11
  FsError,
7
- PublicDiagnostic,
8
- publicDiagnosticMessage,
9
12
  readBytes,
10
13
  toByteSource,
11
- writeBytes,
12
- yieldTurn
13
- } from "./chunk-2PQ3XOCQ.js";
14
+ writeBytes
15
+ } from "./chunk-CXMIIXJA.js";
14
16
  import {
15
17
  import_buffer,
16
18
  init_platform
@@ -520,4 +522,4 @@ export {
520
522
  replaceArgument,
521
523
  escapeBytes
522
524
  };
523
- //# sourceMappingURL=chunk-LHKAA57T.js.map
525
+ //# sourceMappingURL=chunk-GFZKQIPL.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/contracts/command-requirements.ts", "../../src/escaping.ts", "../../src/commands/internal.ts", "../../src/commands/portable-requirements.ts", "../../src/commands/record-buffer.ts"],
4
4
  "sourcesContent": ["import type { CommandContext, CommandDefinition } from \"./command.js\";\nimport type { FileSystemCapabilities } from \"./filesystem.js\";\nimport { FsError } from \"./errors.js\";\n\nexport interface CommandFileSystemRequirement {\n readonly id: string;\n readonly description: string;\n readonly capabilities: readonly string[];\n readonly anyOf?: readonly (readonly string[])[];\n readonly mutates?: boolean;\n}\n\nexport interface CommandModeSupport extends CommandFileSystemRequirement {\n readonly status: \"supported\" | \"unsupported\" | \"unknown\";\n readonly missing: readonly string[];\n readonly unknown: readonly string[];\n}\n\nexport interface CommandSupport {\n readonly status: \"supported\" | \"partial\" | \"unsupported\";\n readonly declared: boolean;\n readonly modes: readonly CommandModeSupport[];\n}\n\nfunction evaluateMode(requirement: CommandFileSystemRequirement, capabilities: FileSystemCapabilities): CommandModeSupport {\n const missing = requirement.capabilities.filter(name => capabilities[name] === false);\n const unknown = requirement.capabilities.filter(name => capabilities[name] === undefined);\n if (requirement.mutates && capabilities.readOnly === true) missing.push(\"readOnly\");\n const alternatives = requirement.anyOf;\n if (alternatives && !alternatives.some(group => group.every(name => capabilities[name] === true))) {\n if (alternatives.every(group => group.some(name => capabilities[name] === false))) {\n missing.push(...alternatives.flatMap(group => group.filter(name => capabilities[name] === false)));\n } else {\n unknown.push(...alternatives.filter(group => !group.some(name => capabilities[name] === false))\n .flatMap(group => group.filter(name => capabilities[name] === undefined)));\n }\n }\n return {\n ...requirement,\n status: missing.length ? \"unsupported\" : unknown.length ? \"unknown\" : \"supported\",\n missing: [...new Set(missing)], unknown: [...new Set(unknown)],\n };\n}\n\nexport function evaluateCommandSupport(\n command: Pick<CommandDefinition, \"filesystemRequirements\"> | CommandDefinition,\n capabilities: FileSystemCapabilities,\n): CommandSupport {\n const modes = (command.filesystemRequirements ?? []).map(requirement => evaluateMode(requirement, capabilities));\n return {\n declared: command.filesystemRequirements !== undefined,\n status: command.filesystemRequirements !== undefined && modes.every(mode => mode.status === \"supported\") ? \"supported\"\n : modes.length && modes.every(mode => mode.status === \"unsupported\") ? \"unsupported\" : \"partial\",\n modes,\n };\n}\n\nexport function assertCommandRequirements(\n context: Pick<CommandContext, \"fs\" | \"command\" | \"signal\">,\n requirements: readonly CommandFileSystemRequirement[],\n selected: readonly string[],\n capabilities: FileSystemCapabilities = context.fs.capabilities,\n): void {\n context.signal.throwIfAborted();\n for (const id of new Set(selected)) {\n const requirement = requirements.find(mode => mode.id === id);\n if (!requirement) throw new TypeError(`Unknown filesystem requirement mode: ${id}`);\n const support = evaluateMode(requirement, capabilities);\n if (support.status === \"unsupported\") {\n throw new FsError(support.missing.includes(\"readOnly\") ? \"EROFS\" : \"ENOTSUP\", {\n syscall: context.command,\n message: `${requirement.description} requires unavailable filesystem capabilities: ${support.missing.join(\", \")}`,\n });\n }\n }\n}\n", "import { writeBytes, type ByteSink } from \"./contracts/index.js\";\nimport { yieldTurn } from \"./contracts/yield.js\";\n\nconst controls: Readonly<Record<number, string>> = { 8: \"\\\\b\", 9: \"\\\\t\", 10: \"\\\\n\", 11: \"\\\\v\", 12: \"\\\\f\", 13: \"\\\\r\", 92: \"\\\\\\\\\" };\nconst encoder = new TextEncoder();\n\nfunction* parts(value: string, mode: \"display\" | \"diagnostic\"): Generator<string> {\n for (const character of value) {\n const point = character.codePointAt(0)!;\n if (mode === \"diagnostic\" && (point === 9 || point === 10 || point >= 32 && (point < 127 || point > 159))) {\n yield character;\n } else {\n for (const byte of encoder.encode(character)) {\n yield controls[byte] ?? (byte >= 32 && byte < 127 ? String.fromCharCode(byte) : `\\\\${byte.toString(8).padStart(3, \"0\")}`);\n }\n }\n }\n}\n\nexport function escapeText(value: string, mode: \"display\" | \"diagnostic\", checkOutput?: (bytes: number) => void): string {\n let result = \"\", bytes = 0;\n for (const part of parts(value, mode)) {\n bytes += Buffer.byteLength(part);\n checkOutput?.(bytes);\n result += part;\n }\n return result;\n}\n\nexport async function writeDiagnostic(sink: ByteSink, value: string, signal?: AbortSignal): Promise<void> {\n signal?.throwIfAborted();\n let chunk = \"\", bytes = 0, work = 0;\n for (const part of parts(value, \"diagnostic\")) {\n signal?.throwIfAborted();\n const size = Buffer.byteLength(part);\n if (bytes + size > 16_384) {\n await writeBytes(sink, encoder.encode(chunk), signal);\n chunk = \"\"; bytes = 0;\n }\n chunk += part; bytes += size;\n if (++work % 1024 === 0) await yieldTurn(signal);\n }\n if (bytes) await writeBytes(sink, encoder.encode(chunk), signal);\n signal?.throwIfAborted();\n}\n", "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 {\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>> = {},\n stopAtOperand = false, onOperand?: (index: number) => void,\n onValue?: (key: string, index: number, offset: number) => 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 key = long[name];\n if (!key || !specifications.has(key)) throw new UsageError(`unrecognized option '${argument}'`);\n if (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 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 }\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 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): { bytes: Uint8Array; stop: boolean } {\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 const bytes = new Uint8Array(source.length);\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 (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 }\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"],
5
- "mappings": "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",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAwBA,SAAS,aAAa,aAA2C,cAA0D;AACzH,QAAM,UAAU,YAAY,aAAa,OAAO,UAAQ,aAAa,IAAI,MAAM,KAAK;AACpF,QAAM,UAAU,YAAY,aAAa,OAAO,UAAQ,aAAa,IAAI,MAAM,MAAS;AACxF,MAAI,YAAY,WAAW,aAAa,aAAa,KAAM,SAAQ,KAAK,UAAU;AAClF,QAAM,eAAe,YAAY;AACjC,MAAI,gBAAgB,CAAC,aAAa,KAAK,WAAS,MAAM,MAAM,UAAQ,aAAa,IAAI,MAAM,IAAI,CAAC,GAAG;AACjG,QAAI,aAAa,MAAM,WAAS,MAAM,KAAK,UAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,GAAG;AACjF,cAAQ,KAAK,GAAG,aAAa,QAAQ,WAAS,MAAM,OAAO,UAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,CAAC;AAAA,IACnG,OAAO;AACL,cAAQ,KAAK,GAAG,aAAa,OAAO,WAAS,CAAC,MAAM,KAAK,UAAQ,aAAa,IAAI,MAAM,KAAK,CAAC,EAC3F,QAAQ,WAAS,MAAM,OAAO,UAAQ,aAAa,IAAI,MAAM,MAAS,CAAC,CAAC;AAAA,IAC7E;AAAA,EACF;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,QAAQ,QAAQ,SAAS,gBAAgB,QAAQ,SAAS,YAAY;AAAA,IACtE,SAAS,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC;AAAA,IAAG,SAAS,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC;AAAA,EAC/D;AACF;AAEO,SAAS,uBACd,SACA,cACgB;AAChB,QAAM,SAAS,QAAQ,0BAA0B,CAAC,GAAG,IAAI,iBAAe,aAAa,aAAa,YAAY,CAAC;AAC/G,SAAO;AAAA,IACL,UAAU,QAAQ,2BAA2B;AAAA,IAC7C,QAAQ,QAAQ,2BAA2B,UAAa,MAAM,MAAM,UAAQ,KAAK,WAAW,WAAW,IAAI,cACvG,MAAM,UAAU,MAAM,MAAM,UAAQ,KAAK,WAAW,aAAa,IAAI,gBAAgB;AAAA,IACzF;AAAA,EACF;AACF;AAEO,SAAS,0BACd,SACA,cACA,UACA,eAAuC,QAAQ,GAAG,cAC5C;AACN,UAAQ,OAAO,eAAe;AAC9B,aAAW,MAAM,IAAI,IAAI,QAAQ,GAAG;AAClC,UAAM,cAAc,aAAa,KAAK,UAAQ,KAAK,OAAO,EAAE;AAC5D,QAAI,CAAC,YAAa,OAAM,IAAI,UAAU,wCAAwC,EAAE,EAAE;AAClF,UAAM,UAAU,aAAa,aAAa,YAAY;AACtD,QAAI,QAAQ,WAAW,eAAe;AACpC,YAAM,IAAI,QAAQ,QAAQ,QAAQ,SAAS,UAAU,IAAI,UAAU,WAAW;AAAA,QAC5E,SAAS,QAAQ;AAAA,QACjB,SAAS,GAAG,YAAY,WAAW,kDAAkD,QAAQ,QAAQ,KAAK,IAAI,CAAC;AAAA,MACjH,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;AC3EA;AAGA,IAAM,WAA6C,EAAE,GAAG,OAAO,GAAG,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO;AAChI,IAAM,UAAU,IAAI,YAAY;AAEhC,UAAU,MAAMA,QAAe,MAAmD;AAChF,aAAW,aAAaA,QAAO;AAC7B,UAAM,QAAQ,UAAU,YAAY,CAAC;AACrC,QAAI,SAAS,iBAAiB,UAAU,KAAK,UAAU,MAAM,SAAS,OAAO,QAAQ,OAAO,QAAQ,OAAO;AACzG,YAAM;AAAA,IACR,OAAO;AACL,iBAAW,QAAQ,QAAQ,OAAO,SAAS,GAAG;AAC5C,cAAM,SAAS,IAAI,MAAM,QAAQ,MAAM,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA,MACxH;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,WAAWA,QAAe,MAAgC,aAA+C;AACvH,MAAI,SAAS,IAAI,QAAQ;AACzB,aAAW,QAAQ,MAAMA,QAAO,IAAI,GAAG;AACrC,aAAS,qBAAO,WAAW,IAAI;AAC/B,kBAAc,KAAK;AACnB,cAAU;AAAA,EACZ;AACA,SAAO;AACT;AAEA,eAAsB,gBAAgB,MAAgBA,QAAe,QAAqC;AACxG,UAAQ,eAAe;AACvB,MAAI,QAAQ,IAAI,QAAQ,GAAG,OAAO;AAClC,aAAW,QAAQ,MAAMA,QAAO,YAAY,GAAG;AAC7C,YAAQ,eAAe;AACvB,UAAM,OAAO,qBAAO,WAAW,IAAI;AACnC,QAAI,QAAQ,OAAO,OAAQ;AACzB,YAAM,WAAW,MAAM,QAAQ,OAAO,KAAK,GAAG,MAAM;AACpD,cAAQ;AAAI,cAAQ;AAAA,IACtB;AACA,aAAS;AAAM,aAAS;AACxB,QAAI,EAAE,OAAO,SAAS,EAAG,OAAM,UAAU,MAAM;AAAA,EACjD;AACA,MAAI,MAAO,OAAM,WAAW,MAAM,QAAQ,OAAO,KAAK,GAAG,MAAM;AAC/D,UAAQ,eAAe;AACzB;;;AC5CA;;;ACAA;AAEO,IAAM,oBAA6D;AAAA,EACxE,EAAE,IAAI,SAAS,aAAa,uBAAuB,cAAc,CAAC,EAAE;AAAA,EACpE,EAAE,IAAI,QAAQ,aAAa,sBAAsB,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,eAAe,GAAG,CAAC,MAAM,CAAC,EAAE;AAC1G;AAEO,IAAM,yBAAkE;AAAA,EAC7E,GAAG;AAAA,EACH,EAAE,IAAI,UAAU,aAAa,oCAAoC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,gBAAgB,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,KAAK;AAC3I;AAEO,IAAM,kBAA2D;AAAA,EACtE,EAAE,IAAI,WAAW,aAAa,uCAAuC,cAAc,CAAC,EAAE;AAAA,EACtF,EAAE,IAAI,YAAY,aAAa,+CAA+C,cAAc,CAAC,UAAU,EAAE;AAC3G;AAEO,IAAM,wBAAiE;AAAA,EAC5E,EAAE,IAAI,cAAc,aAAa,iCAAiC,cAAc,CAAC,EAAE;AAAA,EACnF,EAAE,IAAI,YAAY,aAAa,yBAAyB,cAAc,CAAC,MAAM,EAAE;AAAA,EAC/E,EAAE,IAAI,UAAU,aAAa,mCAAmC,cAAc,CAAC,QAAQ,EAAE;AAC3F;;;ACrBA;AAEA,IAAM,cAAc;AAEb,IAAM,eAAN,MAAmB;AAAA,EAKxB,YAAqB,UAA2B,uBAAuB,WAAW,GAAG;AAAhE;AAA2B;AAAA,EAAsC;AAAA,EAAjE;AAAA,EAA2B;AAAA,EAJhD,YAA0B,CAAC;AAAA,EAC3B,QAAQ;AAAA,EACR,aAAa;AAAA,EAIb,IAAI,OAAe;AAAE,WAAO,KAAK;AAAA,EAAO;AAAA,EAExC,OAAO,QAAsB;AAC3B,QAAI,SAAS,KAAK,WAAW,KAAK,OAAO;AACvC,YAAM,IAAI,QAAQ,SAAS,EAAE,SAAS,6BAA6B,CAAC;AAAA,IACtE;AAAA,EACF;AAAA,EAEA,OAAO,OAAmB,QAAQ,GAAG,MAAM,MAAM,QAAc;AAC7D,SAAK,OAAO,MAAM,KAAK;AACvB,QAAI,SAAS;AACb,WAAO,SAAS,KAAK;AACnB,UAAI,UAAU,KAAK,UAAU,GAAG,EAAE;AAClC,YAAM,OAAO,KAAK,QAAQ;AAC1B,UAAI,CAAC,WAAW,SAAS,GAAG;AAC1B,kBAAU,IAAI,WAAW,KAAK,IAAI,aAAa,KAAK,WAAW,KAAK,UAAU,CAAC;AAC/E,aAAK,UAAU,KAAK,OAAO;AAC3B,aAAK,cAAc,QAAQ;AAAA,MAC7B;AACA,YAAM,SAAS,KAAK,IAAI,MAAM,QAAQ,QAAQ,SAAS,IAAI;AAC3D,cAAQ,IAAI,MAAM,SAAS,QAAQ,SAAS,MAAM,GAAG,IAAI;AACzD,WAAK,SAAS;AACd,gBAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,OAAO,OAAgC,OAAoB,QAAQ,GAAG,MAAM,OAAO,UAAU,GAAe;AAC1G,SAAK,OAAO,MAAM,KAAK;AACvB,UAAM,OAAO,KAAK,QAAQ,MAAM;AAChC,YAAQ,IAAI;AACZ,QAAI,OAAO,KAAK,uBAAuB,KAAK,YAAY;AACtD,YAAM,IAAI,QAAQ,SAAS,EAAE,SAAS,0CAA0C,CAAC;AAAA,IACnF;AACA,UAAM,SAAS,IAAI,WAAW,IAAI;AAClC,QAAI,SAAS;AACb,eAAW,WAAW,KAAK,WAAW;AACpC,YAAM,SAAS,KAAK,IAAI,QAAQ,QAAQ,KAAK,QAAQ,MAAM;AAC3D,aAAO,IAAI,QAAQ,SAAS,GAAG,MAAM,GAAG,MAAM;AAC9C,gBAAU;AAAA,IACZ;AACA,QAAI,SAAS,MAAM,MAAO,QAAO,IAAI,MAAM,SAAS,OAAO,GAAG,GAAG,MAAM;AACvE,SAAK,MAAM;AACX,WAAO;AAAA,EACT;AAAA,EAEA,QAAc;AACZ,SAAK,YAAY,CAAC;AAClB,SAAK,QAAQ;AACb,SAAK,aAAa;AAAA,EACpB;AACF;;;AFnDO,IAAMC,WAAU,IAAI,YAAY;AAChC,IAAM,UAAU,IAAI,YAAY;AAChC,IAAM,cAAc,KAAK,OAAO;AAEhC,IAAM,aAAN,cAAyB,iBAAiB;AAAC;AAQ3C,SAAS,QACd,MAAyB,OAAe,OAAyC,CAAC,GAClF,gBAAgB,OAAO,WACvB,SACe;AACf,QAAM,QAAQ,oBAAI,IAAY;AAC9B,QAAM,SAAS,oBAAI,IAAsB;AACzC,QAAM,WAAqB,CAAC;AAC5B,QAAM,iBAAiB,oBAAI,IAAqB;AAChD,WAAS,QAAQ,GAAG,QAAQ,MAAM,QAAQ,SAAS;AACjD,UAAM,MAAM,MAAM,KAAK;AACvB,mBAAe,IAAI,KAAK,MAAM,QAAQ,CAAC,MAAM,GAAG;AAChD,QAAI,MAAM,QAAQ,CAAC,MAAM,IAAK;AAAA,EAChC;AACA,MAAI,QAAQ;AACZ,WAAS,QAAQ,GAAG,QAAQ,KAAK,QAAQ,SAAS;AAChD,UAAM,WAAW,KAAK,KAAK;AAC3B,QAAI,SAAS,aAAa,OAAO,CAAC,SAAS,WAAW,GAAG,GAAG;AAC1D,eAAS,KAAK,QAAQ;AACtB,kBAAY,KAAK;AACjB,UAAI,cAAe,SAAQ;AAC3B;AAAA,IACF;AACA,QAAI,aAAa,MAAM;AAAE,cAAQ;AAAM;AAAA,IAAU;AACjD,QAAI,SAAS,WAAW,IAAI,GAAG;AAC7B,YAAM,SAAS,SAAS,QAAQ,GAAG;AACnC,YAAM,OAAO,SAAS,MAAM,GAAG,SAAS,IAAI,SAAY,MAAM;AAC9D,YAAM,MAAM,KAAK,IAAI;AACrB,UAAI,CAAC,OAAO,CAAC,eAAe,IAAI,GAAG,EAAG,OAAM,IAAI,WAAW,wBAAwB,QAAQ,GAAG;AAC9F,UAAI,eAAe,IAAI,GAAG,GAAG;AAC3B,cAAMC,SAAQ,UAAU,IAAI,SAAS,MAAM,SAAS,CAAC,IAAI,KAAK,EAAE,KAAK;AACrE,YAAIA,WAAU,OAAW,OAAM,IAAI,WAAW,aAAa,IAAI,wBAAwB;AACvF,kBAAU,KAAK,OAAO,UAAU,IAAI,SAAS,IAAI,CAAC;AAClD,eAAO,IAAI,KAAK,CAAC,GAAG,OAAO,IAAI,GAAG,KAAK,CAAC,GAAGA,MAAK,CAAC;AAAA,MACnD,WAAW,UAAU,EAAG,OAAM,IAAI,WAAW,aAAa,IAAI,6BAA6B;AAC3F,YAAM,IAAI,GAAG;AACb;AAAA,IACF;AACA,aAAS,SAAS,GAAG,SAAS,SAAS,QAAQ,UAAU;AACvD,YAAM,MAAM,SAAS,MAAM;AAC3B,UAAI,CAAC,eAAe,IAAI,GAAG,EAAG,OAAM,IAAI,WAAW,sBAAsB,GAAG,GAAG;AAC/E,UAAI,eAAe,IAAI,GAAG,GAAG;AAC3B,cAAMA,SAAQ,SAAS,MAAM,SAAS,CAAC,KAAK,KAAK,EAAE,KAAK;AACxD,YAAIA,WAAU,OAAW,OAAM,IAAI,WAAW,mCAAmC,GAAG,GAAG;AACvF,kBAAU,KAAK,OAAO,SAAS,IAAI,SAAS,SAAS,SAAS,IAAI,CAAC;AACnE,eAAO,IAAI,KAAK,CAAC,GAAG,OAAO,IAAI,GAAG,KAAK,CAAC,GAAGA,MAAK,CAAC;AACjD,iBAAS,SAAS;AAAA,MACpB;AACA,YAAM,IAAI,GAAG;AAAA,IACf;AAAA,EACF;AACA,SAAO,EAAE,OAAO,QAAQ,SAAS;AACnC;AAEO,SAAS,MAAM,QAAuB,KAAiC;AAC5E,SAAO,OAAO,OAAO,IAAI,GAAG,GAAG,GAAG,EAAE;AACtC;AAEO,SAAS,QAAQ,MAAc,UAAU,GAAW;AACzD,MAAI,CAAC,gBAAgB,KAAK,IAAI,EAAG,OAAM,IAAI,WAAW,mBAAmB,IAAI,GAAG;AAChF,QAAM,SAAS,OAAO,IAAI;AAC1B,MAAI,CAAC,OAAO,cAAc,MAAM,KAAK,SAAS,QAAS,OAAM,IAAI,WAAW,mBAAmB,IAAI,GAAG;AACtG,SAAO;AACT;AAEO,SAAS,gBAAgB,UAA6B,UAAU,GAAG,UAAU,UAAgB;AAClG,MAAI,SAAS,SAAS,QAAS,OAAM,IAAI,WAAW,iBAAiB;AACrE,MAAI,SAAS,SAAS,QAAS,OAAM,IAAI,WAAW,kBAAkB,SAAS,OAAO,CAAC,GAAG;AAC5F;AAEO,SAAS,OAAO,SAAsC,MAAsB;AACjF,MAAI,CAAC,KAAM,OAAM,IAAI,QAAQ,UAAU,EAAE,KAAK,CAAC;AAC/C,eAAa,IAAI;AACjB,eAAa,QAAQ,GAAG;AACxB,MAAI,CAAC,eAAe,QAAQ,GAAG,EAAG,OAAM,IAAI,QAAQ,UAAU,EAAE,MAAM,QAAQ,KAAK,SAAS,uBAAuB,CAAC;AACpH,SAAO,eAAe,IAAI,IAAI,OAAO,GAAG,QAAQ,IAAI,QAAQ,QAAQ,EAAE,CAAC,IAAI,IAAI;AACjF;AAEO,SAAS,OAAO,OAAoC;AACzD,SAAO,iBAAiB,SAAS,UAAU,QAAQ,OAAO,MAAM,IAAI,IAAI;AAC1E;AAEA,eAAsB,OAAO,SAAyB,MAA0C;AAC9F,UAAQ,OAAO,eAAe;AAC9B,QAAM,WAAW,QAAQ,QAAQ,OAAO,SAAS,WAAWD,SAAQ,OAAO,IAAI,IAAI,MAAM,QAAQ,MAAM;AACzG;AAEA,eAAsB,WAAW,SAAyB,OAA+B;AACvF,UAAQ,OAAO,eAAe;AAC9B,QAAM,gBAAgB,QAAQ,QAAQ,GAAG,QAAQ,OAAO,KAAK,wBAAwB,OAAO,QAAQ,eAAe,CAAC;AAAA,GAAM,QAAQ,MAAM;AAC1I;AAEO,SAAS,OAAO,MAAc,SAAyB,cAAc,GAAsB;AAChG,SAAO;AAAA,IACL;AAAA,IACA,MAAM,QAAQ,SAAS;AACrB,cAAQ,OAAO,eAAe;AAC9B,UAAI;AAAE,eAAO,MAAM,QAAQ,OAAO;AAAA,MAAG,SAC9B,OAAO;AACZ,gBAAQ,OAAO,eAAe;AAC9B,cAAM,WAAW,SAAS,KAAK;AAC/B,eAAO,EAAE,UAAU,iBAAiB,aAAa,IAAI,YAAY;AAAA,MACnE;AAAA,IACF;AAAA,EACF;AACF;AAEA,eAAsB,YACpB,SAAyB,UAA6B,WACvB;AAC/B,MAAI,WAAW;AACf,aAAW,WAAW,UAAU;AAC9B,YAAQ,OAAO,eAAe;AAC9B,QAAI;AAAE,YAAM,UAAU,OAAO;AAAA,IAAG,SACzB,OAAO;AAAE,YAAM,WAAW,SAAS,KAAK;AAAG,iBAAW;AAAA,IAAG;AAAA,EAClE;AACA,SAAO,EAAE,SAAS;AACpB;AAEA,gBAAuB,MAAM,SAAyB,OAAO,KAAiB;AAC5E,UAAQ,OAAO,eAAe;AAC9B,MAAI,SAAS,KAAK;AAChB,WAAO,UAAU,QAAQ,OAAO,QAAQ,MAAM;AAAA,EAChD,OAAO;AACL,UAAM,wBAAwB,SAAS,CAAC,IAAI,CAAC;AAC7C,UAAM,OAAO,OAAO,SAAS,IAAI;AACjC,UAAM,eAAe,MAAM,QAAQ,GAAG,kBAAkB,MAAM,EAAE,QAAQ,QAAQ,OAAO,CAAC,KAAK,QAAQ,GAAG;AACxG,QAAI,QAAQ,GAAG,cAAc,aAAa,kBAAkB,OAAO;AACjE,UAAI,UAAU;AACd,UAAI,UAAU;AACd,UAAI;AACF,yBAAiB,SAAS,UAAU,QAAQ,GAAG,WAAW,MAAM,EAAE,QAAQ,QAAQ,OAAO,CAAC,GAAG,QAAQ,MAAM,GAAG;AAC5G,oBAAU;AACV,cAAI,MAAM,WAAY,WAAU;AAChC,gBAAM;AACN,oBAAU;AAAA,QACZ;AACA;AAAA,MACF,SAAS,OAAO;AACd,gBAAQ,OAAO,eAAe;AAC9B,YAAI,CAAC,WAAW,WAAW,EAAE,iBAAiB,YAAY,MAAM,SAAS,UAAW,OAAM;AAAA,MAC5F;AAAA,IACF;AACA,QAAI,aAAa,SAAS,MAAO,OAAM,IAAI,QAAQ,WAAW,EAAE,SAAS,YAAY,KAAK,CAAC;AAC3F,WAAO,UAAU;AAAA,MACf,QAAQ,OAAO,aAAa,IAAI;AAC9B,cAAM,QAAQ,MAAM,QAAQ,GAAG,SAAS,MAAM,EAAE,QAAQ,QAAQ,QAAQ,UAAU,YAAY,CAAC;AAC/F,gBAAQ,OAAO,eAAe;AAC9B,YAAI,MAAM,aAAa,YAAa,OAAM,IAAI,QAAQ,SAAS,EAAE,SAAS,YAAY,KAAK,CAAC;AAC5F,cAAM;AAAA,MACR;AAAA,IACF,GAAG,QAAQ,MAAM;AAAA,EACnB;AACF;AAEA,eAAsB,wBAAwB,SAAyB,OAAyC;AAC9G,QAAM,QAAQ,MAAM,OAAO,UAAQ,SAAS,GAAG;AAC/C,4BAA0B,SAAS,mBAAmB,CAAC,MAAM,SAAS,SAAS,OAAO,CAAC;AACvF,MAAI,CAAC,QAAQ,GAAG,gBAAiB;AACjC,aAAW,QAAQ,OAAO;AACxB,QAAI;AACF,YAAM,eAAe,MAAM,QAAQ,GAAG,gBAAgB,OAAO,SAAS,IAAI,GAAG,EAAE,QAAQ,QAAQ,OAAO,CAAC;AACvG,gCAA0B,SAAS,mBAAmB,CAAC,MAAM,GAAG,YAAY;AAAA,IAC9E,SAAS,OAAO;AACd,cAAQ,OAAO,eAAe;AAC9B,UAAI,OAAO,KAAK,MAAM,aAAa,OAAO,KAAK,MAAM,QAAS,OAAM;AAAA,IACtE;AAAA,EACF;AACF;AAEO,SAAS,YAAY,QAA+B,OAAO,OAAO,OAAO,CAAC,KAAK,UAAU,MAAM,MAAM,QAAQ,CAAC,GAAe;AAClI,QAAM,SAAS,IAAI,WAAW,IAAI;AAClC,MAAI,SAAS;AACb,aAAW,SAAS,QAAQ;AAAE,WAAO,IAAI,OAAO,MAAM;AAAG,cAAU,MAAM;AAAA,EAAQ;AACjF,SAAO;AACT;AAgBA,gBAAuB,MAAM,QAAoB,YAAY,IAAI,OAAsD;AACrH,QAAM,UAAU,IAAI,aAAa,WAAW;AAC5C,MAAI;AACF,qBAAiB,SAAS,QAAQ;AAChC,UAAI,QAAQ;AACZ,eAAS,SAAS,GAAG,SAAS,MAAM,QAAQ,UAAU;AACpD,YAAI,MAAM,MAAM,MAAM,UAAW;AACjC,cAAM,EAAE,OAAO,QAAQ,OAAO,OAAO,OAAO,OAAO,MAAM,GAAG,YAAY,KAAK;AAC7E,gBAAQ,SAAS;AAAA,MACnB;AACA,cAAQ,OAAO,OAAO,KAAK;AAAA,IAC7B;AACA,QAAI,QAAQ,KAAM,OAAM,EAAE,OAAO,QAAQ,OAAO,KAAK,GAAG,YAAY,MAAM;AAAA,EAC5E,UAAE;AAAU,YAAQ,MAAM;AAAA,EAAG;AAC/B;AAEO,SAAS,aAAyB;AAAE,SAAO,aAAa,EAAE;AAAG;AAE7D,SAAS,gBAAgB,QAA6B,SAAiB,aAA0C;AACtH,MAAI,OAAO,WAAW,SAAU,QAAO,OAAO,MAAM,OAAO,EAAE,KAAK,WAAW;AAC7E,QAAM,SAASE,SAAQ,OAAO,OAAO;AACrC,MAAI,CAAC,OAAO,OAAQ,OAAM,IAAI,WAAW,oCAAoC;AAC7E,QAAM,cAAcA,SAAQ,OAAO,WAAW;AAC9C,QAAM,SAAuB,CAAC;AAC9B,MAAI,QAAQ;AACZ,WAAS,SAAS,GAAG,UAAU,OAAO,SAAS,OAAO,UAAS;AAC7D,QAAI,OAAO,MAAM,CAAC,MAAM,UAAU,OAAO,SAAS,KAAK,MAAM,IAAI,GAAG;AAClE,aAAO,KAAK,OAAO,SAAS,OAAO,MAAM,GAAG,WAAW;AACvD,gBAAU,OAAO;AACjB,cAAQ;AAAA,IACV,MAAO;AAAA,EACT;AACA,SAAO,KAAK,OAAO,SAAS,KAAK,CAAC;AAClC,SAAO,YAAY,MAAM;AAC3B;AAEO,SAAS,YAAY,MAA2B,YAAY,OAAO,YAAY,OAA6C;AACjI,MAAI,OAAO,SAAS,UAAU;AAC5B,UAAM,SAAuB,CAAC;AAC9B,UAAMC,WAAkC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,MAAM,GAAG;AAC/G,aAAS,QAAQ,GAAG,QAAQ,KAAK,UAAS;AACxC,UAAI,KAAK,KAAK,MAAM,QAAQ,QAAQ,MAAM,KAAK,QAAQ;AACrD,cAAM,YAAY,OAAO,cAAc,KAAK,YAAY,KAAK,CAAE;AAC/D,eAAO,KAAKD,SAAQ,OAAO,SAAS,CAAC;AAAG,iBAAS,UAAU;AAAQ;AAAA,MACrE;AACA,YAAM,OAAO,KAAK,QAAQ,CAAC;AAC3B,UAAI,SAAS,IAAK,QAAO,EAAE,OAAO,YAAY,MAAM,GAAG,MAAM,KAAK;AAClE,UAAIC,SAAQ,IAAI,MAAM,QAAW;AAAE,eAAO,KAAK,WAAW,GAAGA,SAAQ,IAAI,CAAC,CAAC;AAAG,iBAAS;AAAG;AAAA,MAAU;AACpG,YAAM,OAAO,KAAK,MAAM,QAAQ,CAAC;AACjC,YAAM,QAAQ,aAAa,YAAY,0CAA0C,mBAAmB,KAAK,IAAI,IAAI,iBAAiB,KAAK,IAAI;AAC3I,UAAI,OAAO;AAAE,eAAO,KAAK,WAAW,GAAG,SAAS,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;AAAG,iBAAS,IAAI,MAAM,CAAC,EAAE;AAAQ;AAAA,MAAU;AACjI,YAAM,cAAc,wBAAwB,KAAK,IAAI;AACrD,UAAI,aAAa;AAAE,eAAO,KAAK,WAAW,GAAG,SAAS,YAAY,CAAC,GAAI,EAAE,CAAC,CAAC;AAAG,iBAAS,IAAI,YAAY,CAAC,EAAE;AAAQ;AAAA,MAAU;AAC5H,aAAO,KAAKD,SAAQ,OAAO,KAAK,IAAI,EAAE,CAAC;AAAG,eAAS;AAAA,IACrD;AACA,WAAO,EAAE,OAAO,YAAY,MAAM,GAAG,MAAM,MAAM;AAAA,EACnD;AACA,QAAM,SAAS;AACf,QAAM,QAAQ,IAAI,WAAW,OAAO,MAAM;AAC1C,QAAM,UAAkC,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,IAAI,GAAG;AAC5H,MAAI,OAAO;AACX,WAAS,QAAQ,GAAG,QAAQ,OAAO,UAAS;AAC1C,QAAI,OAAO,KAAK,MAAM,MAAM,QAAQ,MAAM,OAAO,QAAQ;AAAE,YAAM,MAAM,IAAI,OAAO,OAAO;AAAI;AAAA,IAAU;AACvG,UAAM,OAAO,OAAO,QAAQ,CAAC;AAC7B,QAAI,SAAS,GAAI,QAAO,EAAE,OAAO,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,KAAK;AACrE,QAAI,QAAQ,IAAI,MAAM,QAAW;AAAE,YAAM,MAAM,IAAI,QAAQ,IAAI;AAAG,eAAS;AAAG;AAAA,IAAU;AACxF,QAAI,YAAY,SAAS,MAAM,aAAa,QAAQ,MAAM,QAAQ,KAAK,QAAQ,MAAM,QAAQ,IAAI;AAC/F,UAAI,SAAS,SAAS,aAAa,SAAS,KAAK,IAAI;AACrD,YAAM,MAAM,KAAK,IAAI,OAAO,QAAQ,SAAS,CAAC;AAC9C,UAAIE,SAAQ;AACZ,aAAO,SAAS,OAAO,OAAO,MAAM,KAAM,MAAM,OAAO,MAAM,KAAM,GAAI,CAAAA,SAAQA,SAAQ,IAAI,OAAO,QAAQ,IAAK;AAC/G,YAAM,MAAM,IAAIA,SAAQ;AACxB,cAAQ;AACR;AAAA,IACF;AACA,QAAI,SAAS,KAAK;AAChB,UAAI,SAAS,QAAQ;AACrB,YAAM,MAAM,KAAK,IAAI,OAAO,QAAQ,SAAS,CAAC;AAC9C,UAAIA,SAAQ;AACZ,aAAO,SAAS,KAAK;AACnB,cAAM,QAAQ,OAAO,MAAM;AAC3B,cAAM,SAAS,SAAS,MAAM,SAAS,KAAK,QAAQ,KAAK,SAAS,MAAM,SAAS,KAAK,QAAQ,KAAK,SAAS,MAAM,SAAS,MAAM,QAAQ,KAAK;AAC9I,YAAI,SAAS,EAAG;AAChB,QAAAA,SAAQA,SAAQ,KAAK;AACrB;AAAA,MACF;AACA,UAAI,SAAS,QAAQ,GAAG;AAAE,cAAM,MAAM,IAAIA;AAAO,gBAAQ;AAAQ;AAAA,MAAU;AAAA,IAC7E;AACA,UAAM,MAAM,IAAI;AAChB,UAAM,MAAM,IAAI;AAChB,aAAS;AAAA,EACX;AACA,SAAO,EAAE,OAAO,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,MAAM;AACvD;",
6
6
  "names": ["value", "encoder", "value", "encoder", "control", "value"]
7
7
  }
@@ -21,21 +21,23 @@ import {
21
21
  scalarJson,
22
22
  truth,
23
23
  wellFormed
24
- } from "./chunk-XBLVOMEJ.js";
24
+ } from "./chunk-AFH57PPL.js";
25
25
  import {
26
26
  escapeText,
27
27
  pathOf
28
- } from "./chunk-LHKAA57T.js";
28
+ } from "./chunk-GFZKQIPL.js";
29
29
  import {
30
30
  createOutputOperation
31
- } from "./chunk-OECKXHVJ.js";
31
+ } from "./chunk-RNKTWFEM.js";
32
32
  import {
33
- FsError,
34
33
  getCommandArguments,
35
- readBytes,
36
34
  shellValueByteLength,
37
35
  yieldTurn
38
- } from "./chunk-2PQ3XOCQ.js";
36
+ } from "./chunk-UYX72YHY.js";
37
+ import {
38
+ FsError,
39
+ readBytes
40
+ } from "./chunk-CXMIIXJA.js";
39
41
  import {
40
42
  import_buffer,
41
43
  init_platform
@@ -5156,4 +5158,4 @@ export {
5156
5158
  createYqCommands,
5157
5159
  yqCommands
5158
5160
  };
5159
- //# sourceMappingURL=chunk-W3TLNFDB.js.map
5161
+ //# sourceMappingURL=chunk-HHJSJWUD.js.map