poe-code 15.0.21 → 15.0.22

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 (114) hide show
  1. package/dist/metafile.json +1 -1
  2. package/package.json +1 -1
  3. package/packages/safe-bash/dist/chunks/{chunk-UO33SQJU.js → chunk-2PQ3XOCQ.js} +239 -2
  4. package/packages/safe-bash/dist/chunks/chunk-2PQ3XOCQ.js.map +7 -0
  5. package/packages/safe-bash/dist/chunks/{chunk-WISNTI7E.js → chunk-3Y5PKSHX.js} +7 -11
  6. package/packages/safe-bash/dist/chunks/{chunk-WISNTI7E.js.map → chunk-3Y5PKSHX.js.map} +1 -1
  7. package/packages/safe-bash/dist/chunks/{chunk-VY5N6O6I.js → chunk-BXVGCJXW.js} +108 -21
  8. package/packages/safe-bash/dist/chunks/chunk-BXVGCJXW.js.map +7 -0
  9. package/packages/safe-bash/dist/chunks/chunk-C7QNJ3D4.js +13 -0
  10. package/packages/safe-bash/dist/chunks/chunk-C7QNJ3D4.js.map +7 -0
  11. package/packages/safe-bash/dist/chunks/{chunk-AWP6Z3RR.js → chunk-E3NZKSTA.js} +8 -12
  12. package/packages/safe-bash/dist/chunks/{chunk-AWP6Z3RR.js.map → chunk-E3NZKSTA.js.map} +1 -1
  13. package/packages/safe-bash/dist/chunks/{chunk-WXUZXY35.js → chunk-FMTBJ7SG.js} +3 -3
  14. package/packages/safe-bash/dist/chunks/{chunk-QX2X5EC5.js → chunk-H6E6F5KJ.js} +7 -11
  15. package/packages/safe-bash/dist/chunks/{chunk-QX2X5EC5.js.map → chunk-H6E6F5KJ.js.map} +1 -1
  16. package/packages/safe-bash/dist/chunks/{chunk-IDJQT32M.js → chunk-HQCBEAFK.js} +7 -11
  17. package/packages/safe-bash/dist/chunks/{chunk-IDJQT32M.js.map → chunk-HQCBEAFK.js.map} +1 -1
  18. package/packages/safe-bash/dist/chunks/{chunk-4V3NGZAG.js → chunk-IYFB6VED.js} +6 -10
  19. package/packages/safe-bash/dist/chunks/{chunk-4V3NGZAG.js.map → chunk-IYFB6VED.js.map} +1 -1
  20. package/packages/safe-bash/dist/chunks/chunk-KJYVSFGF.js +284 -0
  21. package/packages/safe-bash/dist/chunks/chunk-KJYVSFGF.js.map +7 -0
  22. package/packages/safe-bash/dist/chunks/{chunk-O7BRWSKX.js → chunk-LHKAA57T.js} +60 -17
  23. package/packages/safe-bash/dist/chunks/chunk-LHKAA57T.js.map +7 -0
  24. package/packages/safe-bash/dist/chunks/chunk-LR32SJ3D.js +915 -0
  25. package/packages/safe-bash/dist/chunks/chunk-LR32SJ3D.js.map +7 -0
  26. package/packages/safe-bash/dist/chunks/{chunk-EUNOVYVT.js → chunk-OECKXHVJ.js} +2 -2
  27. package/packages/safe-bash/dist/chunks/{chunk-DKT746UJ.js → chunk-PE5NZIA2.js} +5 -9
  28. package/packages/safe-bash/dist/chunks/{chunk-DKT746UJ.js.map → chunk-PE5NZIA2.js.map} +1 -1
  29. package/packages/safe-bash/dist/chunks/{chunk-4JW32W4B.js → chunk-PMBBUNNN.js} +7 -11
  30. package/packages/safe-bash/dist/chunks/{chunk-4JW32W4B.js.map → chunk-PMBBUNNN.js.map} +1 -1
  31. package/packages/safe-bash/dist/chunks/{chunk-YFFFBLBC.js → chunk-TJVKGNKA.js} +6 -10
  32. package/packages/safe-bash/dist/chunks/{chunk-YFFFBLBC.js.map → chunk-TJVKGNKA.js.map} +1 -1
  33. package/packages/safe-bash/dist/chunks/{chunk-FIY2BMTU.js → chunk-W3TLNFDB.js} +8 -12
  34. package/packages/safe-bash/dist/chunks/{chunk-FIY2BMTU.js.map → chunk-W3TLNFDB.js.map} +1 -1
  35. package/packages/safe-bash/dist/chunks/{chunk-PPFWG34Y.js → chunk-XBLVOMEJ.js} +2 -2
  36. package/packages/safe-bash/dist/chunks/{chunk-WJWYJDQE.js → chunk-XYVCXUGM.js} +7 -11
  37. package/packages/safe-bash/dist/chunks/{chunk-WJWYJDQE.js.map → chunk-XYVCXUGM.js.map} +1 -1
  38. package/packages/safe-bash/dist/commands/csplit/index.browser.js +4 -6
  39. package/packages/safe-bash/dist/commands/factor/index.browser.js +3 -5
  40. package/packages/safe-bash/dist/commands/getopt/index.browser.js +3 -5
  41. package/packages/safe-bash/dist/commands/hexdump/index.browser.js +3 -5
  42. package/packages/safe-bash/dist/commands/iconv/index.browser.js +3 -5
  43. package/packages/safe-bash/dist/commands/line-endings/index.browser.js +4 -6
  44. package/packages/safe-bash/dist/commands/llm/command.d.ts +3 -2
  45. package/packages/safe-bash/dist/commands/llm/command.d.ts.map +1 -1
  46. package/packages/safe-bash/dist/commands/llm/command.js +260 -181
  47. package/packages/safe-bash/dist/commands/llm/command.js.map +1 -1
  48. package/packages/safe-bash/dist/commands/llm/elevenlabs-stream.d.ts +3 -0
  49. package/packages/safe-bash/dist/commands/llm/elevenlabs-stream.d.ts.map +1 -0
  50. package/packages/safe-bash/dist/commands/llm/elevenlabs-stream.js +118 -0
  51. package/packages/safe-bash/dist/commands/llm/elevenlabs-stream.js.map +1 -0
  52. package/packages/safe-bash/dist/commands/llm/elevenlabs.d.ts +16 -0
  53. package/packages/safe-bash/dist/commands/llm/elevenlabs.d.ts.map +1 -0
  54. package/packages/safe-bash/dist/commands/llm/elevenlabs.js +120 -0
  55. package/packages/safe-bash/dist/commands/llm/elevenlabs.js.map +1 -0
  56. package/packages/safe-bash/dist/commands/llm/index.browser.js +10 -4
  57. package/packages/safe-bash/dist/commands/llm/index.d.ts +5 -5
  58. package/packages/safe-bash/dist/commands/llm/index.d.ts.map +1 -1
  59. package/packages/safe-bash/dist/commands/llm/index.js +3 -11
  60. package/packages/safe-bash/dist/commands/llm/index.js.map +1 -1
  61. package/packages/safe-bash/dist/commands/llm/mime.d.ts +2 -1
  62. package/packages/safe-bash/dist/commands/llm/mime.d.ts.map +1 -1
  63. package/packages/safe-bash/dist/commands/llm/mime.js +125 -21
  64. package/packages/safe-bash/dist/commands/llm/mime.js.map +1 -1
  65. package/packages/safe-bash/dist/commands/llm/openai-http.d.ts +9 -0
  66. package/packages/safe-bash/dist/commands/llm/openai-http.d.ts.map +1 -0
  67. package/packages/safe-bash/dist/commands/llm/openai-http.js +144 -0
  68. package/packages/safe-bash/dist/commands/llm/openai-http.js.map +1 -0
  69. package/packages/safe-bash/dist/commands/llm/openai-sse.d.ts +3 -0
  70. package/packages/safe-bash/dist/commands/llm/openai-sse.d.ts.map +1 -0
  71. package/packages/safe-bash/dist/commands/llm/openai-sse.js +67 -0
  72. package/packages/safe-bash/dist/commands/llm/openai-sse.js.map +1 -0
  73. package/packages/safe-bash/dist/commands/llm/openai.d.ts +15 -0
  74. package/packages/safe-bash/dist/commands/llm/openai.d.ts.map +1 -0
  75. package/packages/safe-bash/dist/commands/llm/openai.js +203 -0
  76. package/packages/safe-bash/dist/commands/llm/openai.js.map +1 -0
  77. package/packages/safe-bash/dist/commands/llm/providers/elevenlabs.d.ts +1 -15
  78. package/packages/safe-bash/dist/commands/llm/providers/elevenlabs.d.ts.map +1 -1
  79. package/packages/safe-bash/dist/commands/llm/providers/elevenlabs.js +1 -50
  80. package/packages/safe-bash/dist/commands/llm/providers/elevenlabs.js.map +1 -1
  81. package/packages/safe-bash/dist/commands/llm/providers/index.browser.js +2 -4
  82. package/packages/safe-bash/dist/commands/llm/providers/openai.d.ts +1 -14
  83. package/packages/safe-bash/dist/commands/llm/providers/openai.d.ts.map +1 -1
  84. package/packages/safe-bash/dist/commands/llm/providers/openai.js +1 -77
  85. package/packages/safe-bash/dist/commands/llm/providers/openai.js.map +1 -1
  86. package/packages/safe-bash/dist/commands/llm/providers/shared.d.ts +4 -14
  87. package/packages/safe-bash/dist/commands/llm/providers/shared.d.ts.map +1 -1
  88. package/packages/safe-bash/dist/commands/llm/providers/shared.js +3 -156
  89. package/packages/safe-bash/dist/commands/llm/providers/shared.js.map +1 -1
  90. package/packages/safe-bash/dist/commands/network/index.browser.js +8 -13
  91. package/packages/safe-bash/dist/commands/pr/index.browser.js +3 -5
  92. package/packages/safe-bash/dist/commands/tsort/index.browser.js +3 -5
  93. package/packages/safe-bash/dist/commands/xml/index.browser.js +4 -7
  94. package/packages/safe-bash/dist/commands/yq/index.browser.js +5 -8
  95. package/packages/safe-bash/dist/core.browser.js +36 -43
  96. package/packages/safe-bash/dist/core.browser.js.map +1 -1
  97. package/packages/safe-bash/dist/chunks/chunk-BZUQJTOZ.js +0 -322
  98. package/packages/safe-bash/dist/chunks/chunk-BZUQJTOZ.js.map +0 -7
  99. package/packages/safe-bash/dist/chunks/chunk-EUTSYRNM.js +0 -111
  100. package/packages/safe-bash/dist/chunks/chunk-EUTSYRNM.js.map +0 -7
  101. package/packages/safe-bash/dist/chunks/chunk-F5AOPLRZ.js +0 -355
  102. package/packages/safe-bash/dist/chunks/chunk-F5AOPLRZ.js.map +0 -7
  103. package/packages/safe-bash/dist/chunks/chunk-FDGESHPB.js +0 -224
  104. package/packages/safe-bash/dist/chunks/chunk-FDGESHPB.js.map +0 -7
  105. package/packages/safe-bash/dist/chunks/chunk-KYU6MXVK.js +0 -58
  106. package/packages/safe-bash/dist/chunks/chunk-KYU6MXVK.js.map +0 -7
  107. package/packages/safe-bash/dist/chunks/chunk-O7BRWSKX.js.map +0 -7
  108. package/packages/safe-bash/dist/chunks/chunk-TTTOMUAY.js +0 -33
  109. package/packages/safe-bash/dist/chunks/chunk-TTTOMUAY.js.map +0 -7
  110. package/packages/safe-bash/dist/chunks/chunk-UO33SQJU.js.map +0 -7
  111. package/packages/safe-bash/dist/chunks/chunk-VY5N6O6I.js.map +0 -7
  112. /package/packages/safe-bash/dist/chunks/{chunk-WXUZXY35.js.map → chunk-FMTBJ7SG.js.map} +0 -0
  113. /package/packages/safe-bash/dist/chunks/{chunk-EUNOVYVT.js.map → chunk-OECKXHVJ.js.map} +0 -0
  114. /package/packages/safe-bash/dist/chunks/{chunk-PPFWG34Y.js.map → chunk-XBLVOMEJ.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,11 +1,11 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-EUNOVYVT.js";
3
+ } from "./chunk-OECKXHVJ.js";
4
4
  import {
5
5
  FsError,
6
6
  createBytePipe,
7
7
  outputFailure
8
- } from "./chunk-FDGESHPB.js";
8
+ } from "./chunk-2PQ3XOCQ.js";
9
9
  import {
10
10
  init_platform
11
11
  } from "./chunk-2KL6W6NB.js";
@@ -191,4 +191,4 @@ export {
191
191
  writeFileOutput,
192
192
  openFileOutput
193
193
  };
194
- //# sourceMappingURL=chunk-WXUZXY35.js.map
194
+ //# sourceMappingURL=chunk-FMTBJ7SG.js.map
@@ -1,22 +1,18 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-EUNOVYVT.js";
4
- import {
5
- PublicDiagnostic,
6
- publicDiagnosticMessage
7
- } from "./chunk-TTTOMUAY.js";
3
+ } from "./chunk-OECKXHVJ.js";
8
4
  import {
9
5
  resolvePath
10
6
  } from "./chunk-DPJWEGIX.js";
11
7
  import {
8
+ FsError,
9
+ PublicDiagnostic,
12
10
  getCommandArguments,
11
+ publicDiagnosticMessage,
13
12
  shellValueByteLength,
14
- shellValueBytes
15
- } from "./chunk-UO33SQJU.js";
16
- import {
17
- FsError,
13
+ shellValueBytes,
18
14
  yieldTurn
19
- } from "./chunk-FDGESHPB.js";
15
+ } from "./chunk-2PQ3XOCQ.js";
20
16
  import {
21
17
  init_platform
22
18
  } from "./chunk-2KL6W6NB.js";
@@ -1274,4 +1270,4 @@ export {
1274
1270
  createPrCommands,
1275
1271
  prCommands
1276
1272
  };
1277
- //# sourceMappingURL=chunk-QX2X5EC5.js.map
1273
+ //# sourceMappingURL=chunk-H6E6F5KJ.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/pr/index.ts", "../../src/commands/pr/command.ts", "../../src/commands/pr/internal.ts", "../../src/commands/pr/io.ts", "../../src/commands/pr/options.ts", "../../src/commands/pr/format.ts"],
4
4
  "sourcesContent": ["import type { CommandDefinition, VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { createPrCommand } from \"./command.js\";\nimport type { PrCommandsOptions } from \"./internal.js\";\n\nexport { createPrCommand } from \"./command.js\";\nexport type { PrCommandsOptions, PrLimits } from \"./internal.js\";\n\nexport function createPrCommands(options: PrCommandsOptions = {}): readonly CommandDefinition[] {\n return [createPrCommand(options)];\n}\n\nexport function prCommands(options: PrCommandsOptions = {}): VirtualShellPlugin {\n const commands = createPrCommands(options);\n return { name: \"pr-commands\", setup(host) {\n for (const command of commands) host.commands.register(command, { replace: options.replace ?? false });\n } };\n}\n", "import { FsError, type CommandDefinition } from \"../../contracts/index.js\";\nimport { createOutputOperation } from \"../../contracts/output.js\";\nimport { publicDiagnosticMessage } from \"../../diagnostics.js\";\nimport { Budget, PrError, fileQuote, quote, settings, type PrCommandsOptions } from \"./internal.js\";\nimport { Lifecycle, Reader, fsDetail } from \"./io.js\";\nimport { parseOptions } from \"./options.js\";\nimport { Formatter } from \"./format.js\";\n\nexport function createPrCommand(options: PrCommandsOptions = {}): CommandDefinition {\n const limits = settings(options);\n return { name: \"pr\", description: \"Paginate files and print balanced or merged columns\", 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 parsed = parseOptions(budget.arguments(), budget);\n if (parsed.information) {\n await lifecycle.write(parsed.information === \"version\" ? \"pr (virtual-bash)\\n\" : \"Usage: pr [OPTION]... [FILE]...\\nPaginate or columnate files for printing.\\nOptions: -COLUMNS -h HEADER -l LENGTH -w WIDTH -t -n[SEP[DIGITS]] -m -s[SEP]\\n\");\n } else {\n const ctype = context.env.LC_ALL || context.env.LC_CTYPE || context.env.LANG || \"C\";\n const timeLocale = context.env.LC_ALL || context.env.LC_TIME || context.env.LANG || \"C\";\n for (const locale of [ctype, timeLocale]) if (![\"C\", \"POSIX\", \"C.UTF-8\", \"C.utf8\"].includes(locale)) throw new PrError(`unsupported locale ${quote(locale)}`);\n let sampled: number | undefined;\n const date = (reader: Reader | undefined): string => {\n let milliseconds: number;\n if (reader?.stat) milliseconds = reader.stat.mtimeMs;\n else milliseconds = sampled ??= (options.clock ?? Date.now)();\n const value = new Date(milliseconds);\n if (!Number.isFinite(milliseconds) || Number.isNaN(value.getTime())) throw new PrError(\"invalid header timestamp\");\n const year = String(value.getUTCFullYear()).padStart(4, \"0\");\n const month = String(value.getUTCMonth() + 1).padStart(2, \"0\");\n const day = String(value.getUTCDate()).padStart(2, \"0\");\n const time = `${String(value.getUTCHours()).padStart(2, \"0\")}:${String(value.getUTCMinutes()).padStart(2, \"0\")}`;\n if (context.env.POSIXLY_CORRECT !== undefined && (timeLocale === \"C\" || timeLocale === \"POSIX\")) return `${[\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"][value.getUTCMonth()]} ${String(value.getUTCDate()).padStart(2, \" \")} ${time} ${year}`;\n return `${year}-${month}-${day} ${time}`;\n };\n let stdin: Reader | undefined;\n const open = async (name: string): Promise<Reader | undefined> => {\n if (name === \"-\" && stdin) return stdin;\n const reader = new Reader(name, lifecycle!);\n try { await reader.open(); }\n catch (error) {\n if (!(error instanceof FsError)) throw error;\n exitCode = 1;\n if (!parsed.quiet) {\n await lifecycle!.write(`pr: ${fileQuote(name)}: ${fsDetail(error)}\\n`, true);\n }\n return undefined;\n }\n if (name === \"-\") stdin = reader;\n return reader;\n };\n const names = parsed.files.length ? parsed.files : [\"-\"];\n if (!parsed.files.length) parsed.merge = false;\n const groups = parsed.merge ? [names] : names.map(name => [name]);\n for (const group of groups) {\n const formatter = new Formatter({ ...parsed }, lifecycle, group.length);\n const readers: Reader[] = [];\n for (const name of group) { const reader = await open(name); if (reader) readers.push(reader); }\n if (!readers.length) continue;\n const title = parsed.header ?? (parsed.merge || readers[0]!.name === \"-\" ? \"\" : readers[0]!.name);\n await formatter.run(readers, date(parsed.merge ? undefined : readers[0]), title);\n }\n }\n } catch (error) {\n primary = { reason: error };\n failure = { reason: error };\n if (!output.signal.aborted && lifecycle && error instanceof PrError) {\n exitCode = 1;\n try {\n await lifecycle.write(`pr: ${publicDiagnosticMessage(error, context.onInternalError)}\\n`, true);\n if (error.usage) await lifecycle.write(\"Try 'pr --help' for more information.\\n\", true);\n failure = undefined;\n } catch (reporting) { failure = { reason: new AggregateError([error, reporting], \"pr failure reporting failed\") }; }\n }\n }\n try { await output.close(); }\n catch (cleanup) {\n const previous = failure ?? primary;\n failure = { reason: previous ? new AggregateError([previous.reason, cleanup], \"pr 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 PrLimits {\n readonly maxArguments: number;\n readonly maxArgumentBytes: number;\n readonly maxFiles: number;\n readonly maxColumns: number;\n readonly maxPageLines: number;\n readonly maxPageWidth: number;\n readonly maxPages: number;\n readonly maxInputBytes: number;\n readonly maxBufferedBytes: number;\n readonly maxLineBytes: number;\n readonly maxLines: number;\n readonly maxOutputBytes: number;\n readonly maxDiagnosticBytes: number;\n readonly maxWork: number;\n readonly maxEmptyChunks: number;\n}\n\nexport interface PrCommandsOptions {\n readonly replace?: boolean;\n readonly clock?: () => number;\n readonly limits?: Partial<PrLimits>;\n}\n\nexport function settings(options: PrCommandsOptions): PrLimits {\n const limits: PrLimits = {\n maxArguments: 4096, maxArgumentBytes: 65_536, maxFiles: 128, maxColumns: 128,\n maxPageLines: 65_536, maxPageWidth: 65_536, maxPages: 65_536,\n maxInputBytes: 33_554_432, maxBufferedBytes: 16_777_216,\n maxLineBytes: 1_048_576, maxLines: 1_048_576, 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 pr limit: ${name}`);\n }\n if (options.clock !== undefined && typeof options.clock !== \"function\") throw new TypeError(\"pr clock must be a function\");\n return Object.freeze(limits);\n}\n\nexport class PrError extends PublicDiagnostic {\n constructor(message: string, readonly usage = false) { super(message); }\n}\n\nexport class PrReadError extends PrError {}\n\nexport function raw(value: Uint8Array): string {\n let text = \"\";\n for (const byte of value) text += String.fromCharCode(byte);\n return text;\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 PrError(\"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, 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 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 += quote(character).slice(1, -1);\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 lines = 0;\n private pages = 0;\n private output = 0;\n private diagnostics = 0;\n constructor(readonly context: CommandContext, readonly limits: PrLimits, readonly signal: AbortSignal) {}\n check(value: number, maximum: number, label: string): void {\n if (!Number.isSafeInteger(value) || value < 0 || value > maximum) throw new PrError(`${label} limit exceeded`);\n }\n charge(amount = 1): void {\n this.signal.throwIfAborted();\n this.work += amount;\n this.check(this.work, this.limits.maxWork, \"work\");\n }\n async checkpointWork(): Promise<void> {\n this.signal.throwIfAborted();\n if (this.work - this.checkpoint >= 4096) {\n this.checkpoint = this.work;\n await yieldTurn(this.signal);\n }\n }\n retain(amount: number): void {\n this.check(this.retained + amount, this.limits.maxBufferedBytes, \"buffered bytes\");\n this.retained += amount;\n }\n admitString(length: number): void {\n this.signal.throwIfAborted();\n this.check(length, this.limits.maxWork - this.work, \"work\");\n this.check(this.retained + length * 2, this.limits.maxBufferedBytes, \"buffered bytes\");\n }\n inputBytes(amount: number): void {\n this.input += amount;\n this.check(this.input, this.limits.maxInputBytes, \"input bytes\");\n }\n line(): void { this.check(++this.lines, this.limits.maxLines, \"input lines\"); }\n page(): void { this.check(++this.pages, this.limits.maxPages, \"pages\"); this.charge(); }\n emitted(amount: number, diagnostic: boolean): void {\n if (diagnostic) {\n this.diagnostics += amount;\n this.check(this.diagnostics, this.limits.maxDiagnosticBytes, \"diagnostic bytes\");\n } else {\n this.output += amount;\n this.check(this.output, this.limits.maxOutputBytes, \"output bytes\");\n }\n if (!diagnostic) this.charge(amount);\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 PrError(\"arguments must contain well-formed Unicode\");\n } else if (unit >= 0xdc00 && unit <= 0xdfff) throw new PrError(\"arguments must contain well-formed Unicode\");\n }\n }\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 const value = shellValueBytes(argument);\n this.charge(value.length);\n if (value.includes(0)) throw new PrError(\"NUL is not supported in arguments\");\n return raw(value);\n });\n }\n}\n", "import { FsError, resolvePath, type ByteSource, type FileStat } from \"../../contracts/index.js\";\nimport type { OutputOperation } from \"../../contracts/output.js\";\nimport { Budget, PrError, PrReadError, 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 PrError(\"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, \"pr cleanup failed\");\n });\n }\n async write(value: string, diagnostic = false): Promise<void> {\n const { budget } = this;\n budget.emitted(value.length, diagnostic);\n await this.operation(async () => {\n if (!diagnostic) budget.retain(value.length * 3);\n try {\n const sink = diagnostic ? budget.context.stderr : 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) 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 pushed = -1;\n private ended = false;\n private empties = 0;\n private length = 0;\n private snapshotBytes = 0;\n private path: string | undefined;\n stat: FileStat | undefined;\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 if (this.name === \"-\") return;\n const { budget } = this.lifecycle;\n this.path = resolvePath(budget.context.cwd, pathText(this.name));\n this.stat = await this.lifecycle.operation(() => {\n const fs = budget.context.fs;\n this.lifecycle.assertOpen();\n const stat = fs.stat;\n this.lifecycle.assertOpen();\n return Reflect.apply(stat, fs, [this.path!, { signal: budget.signal }]);\n });\n if (this.stat.type !== \"file\" && this.stat.type !== \"directory\" && this.stat.type !== \"character\") throw new FsError(\"ENOTSUP\", { path: this.path });\n }\n private async acquire(): Promise<void> {\n const { budget } = this.lifecycle;\n await this.lifecycle.operation(async () => {\n let source: ByteSource;\n let needsAcquisitionCleanup = false;\n if (this.path === undefined) source = budget.context.stdin;\n else {\n const fs = budget.context.fs;\n this.lifecycle.assertOpen();\n const capabilitiesFor = fs.capabilitiesFor;\n this.lifecycle.assertOpen();\n const selected = capabilitiesFor ? await Reflect.apply(capabilitiesFor, fs, [this.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, [this.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(this.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, [this.path, { signal: budget.signal, maxBytes: maximum }]);\n if (!(content instanceof Uint8Array)) throw new TypeError(\"pr 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 }\n unget(value: number): void { this.pushed = value; }\n async get(): Promise<number> {\n const { budget } = this.lifecycle;\n budget.charge();\n await budget.checkpointWork();\n if (this.stat?.type === \"directory\") throw new PrReadError(`${fileQuote(this.name)}: Is a directory`);\n if (this.pushed >= 0) { const value = this.pushed; this.pushed = -1; return value; }\n while (this.offset === this.chunk.length) {\n if (this.ended) return -1;\n let next: IteratorResult<Uint8Array>;\n try {\n if (!this.iterator) await this.acquire();\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 } catch (error) {\n if (error instanceof FsError) throw new PrReadError(`${fileQuote(this.name === \"-\" ? \"standard input\" : 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) {\n this.ended = true;\n this.iterator = undefined;\n if (this.length > 0) { this.length = 0; budget.line(); }\n return -1;\n }\n if (!(next.value instanceof Uint8Array)) throw new TypeError(\"pr input requires bytes\");\n budget.inputBytes(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 const value = this.chunk[this.offset++]!;\n if (value === 10 || value === 12) { this.length = 0; budget.line(); }\n else budget.check(++this.length, budget.limits.maxLineBytes, \"input line bytes\");\n return value;\n }\n}\n\nexport function 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 { Budget, PrError, quote } from \"./internal.js\";\n\nexport interface Options {\n files: string[];\n columns: number;\n explicitColumns: boolean;\n merge: boolean;\n across: boolean;\n length: number;\n width: number;\n header: string | undefined;\n extremities: boolean;\n keepFF: boolean;\n formFeed: boolean;\n numbered: boolean;\n digits: number;\n numberSeparator: string;\n startNumber: number;\n separator: string;\n useSeparator: boolean;\n truncate: boolean;\n join: boolean;\n doubleSpace: boolean;\n margin: number;\n expand: boolean;\n tabify: boolean;\n inputTab: string;\n inputTabWidth: number;\n outputTab: string;\n outputTabWidth: number;\n control: boolean;\n octal: boolean;\n quiet: boolean;\n information: \"help\" | \"version\" | undefined;\n}\n\nfunction digit(value: string): boolean { return value >= \"0\" && value <= \"9\"; }\n\nfunction integer(value: string, minimum: number, label: string): number {\n let offset = 0;\n while (\" \\t\\r\\n\\v\\f\".includes(value[offset] ?? \"!\") && offset < value.length) offset++;\n if (value[offset] === \"+\" || value[offset] === \"-\") offset++;\n const start = offset;\n while (offset < value.length && digit(value[offset]!)) offset++;\n if (offset !== value.length || offset === start) throw new PrError(`${label}: ${quote(value)}`);\n const result = Number(value);\n if (result < minimum || result > 2147483647 || !Number.isSafeInteger(result)) throw new PrError(`${label}: ${quote(value)}: Numerical result out of range`);\n return result;\n}\n\nexport function parseOptions(args: string[], budget: Budget): Options {\n const options: Options = {\n files: [], columns: 1, explicitColumns: false, merge: false, across: false,\n length: 66, width: 72, header: undefined, extremities: true, keepFF: false,\n formFeed: false, numbered: false, digits: 5, numberSeparator: \"\\t\", startNumber: 1,\n separator: \"\", useSeparator: false, truncate: false, join: false, doubleSpace: false,\n margin: 0, expand: false, tabify: false, inputTab: \"\\t\", inputTabWidth: 8,\n outputTab: \"\\t\", outputTabWidth: 8, control: false, octal: false, quiet: false, information: undefined,\n };\n const long: Record<string, string> = {\n columns: \"#\", across: \"a\", \"show-control-chars\": \"c\", \"double-space\": \"d\", \"expand-tabs\": \"e\",\n \"form-feed\": \"f\", header: \"h\", \"output-tabs\": \"i\", \"join-lines\": \"J\", length: \"l\", merge: \"m\",\n \"number-lines\": \"n\", \"first-line-number\": \"N\", indent: \"o\", \"no-file-warnings\": \"r\", separator: \"s\",\n \"sep-string\": \"S\", \"omit-header\": \"t\", \"omit-pagination\": \"T\", \"show-nonprinting\": \"v\", width: \"w\", \"page-width\": \"W\",\n };\n let oldWidth = false, oldSeparator = false, oldOptions = false, stop = false;\n let columnDigits: string | undefined;\n let accumulating = false;\n for (let index = 0; index < args.length; index++) {\n const argument = args[index]!;\n budget.charge(argument.length);\n if (stop) { options.files.push(argument); continue; }\n if (argument === \"--\") { stop = true; continue; }\n if (argument === \"--help\" || argument === \"--version\") {\n options.information = argument === \"--help\" ? \"help\" : \"version\";\n return options;\n }\n if (!argument.startsWith(\"-\") || argument === \"-\") { accumulating = false; options.files.push(argument); continue; }\n const isLong = argument.startsWith(\"--\");\n let switches = argument.slice(1), attached: string | undefined;\n if (isLong) {\n const equal = argument.indexOf(\"=\");\n const name = argument.slice(2, equal < 0 ? undefined : equal);\n const candidates = Object.keys(long).filter(candidate => candidate.startsWith(name));\n if (!Object.hasOwn(long, name) && candidates.length > 1) throw new PrError(`option ${quote(argument)} is ambiguous; possibilities:${candidates.map(candidate => ` '--${candidate}'`).join(\"\")}`, true);\n switches = long[name] ?? (candidates.length === 1 ? long[candidates[0]!] : undefined) ?? \"\";\n if (!switches) throw new PrError(`unrecognized option ${quote(argument)}`, true);\n if (equal >= 0) attached = argument.slice(equal + 1);\n }\n for (let offset = 0; offset < switches.length; offset++) {\n const option = switches[offset]!;\n if (digit(option)) {\n columnDigits = (accumulating ? columnDigits ?? \"\" : \"\") + option;\n accumulating = true;\n continue;\n }\n accumulating = false;\n const required = \"#hlwWNo\".includes(option);\n const optional = \"nseiS\".includes(option);\n let value = attached;\n if (required || optional) {\n if (!isLong && offset + 1 < switches.length) value = switches.slice(offset + 1);\n if (required && value === undefined) {\n value = args[++index];\n if (value === undefined) throw new PrError(isLong ? `option ${quote(argument)} requires an argument` : `option requires an argument -- '${option}'`, true);\n }\n offset = switches.length;\n } else if (attached !== undefined) throw new PrError(`option ${quote(argument.slice(0, argument.indexOf(\"=\")))} doesn't allow an argument`, true);\n switch (option) {\n case \"#\": options.columns = integer(value!, 1, \"invalid number of columns\"); options.explicitColumns = true; columnDigits = undefined; break;\n case \"h\": options.header = value; break;\n case \"l\": options.length = integer(value!, 1, \"'-l PAGE_LENGTH' invalid number of lines\"); break;\n case \"w\": oldWidth = true; oldOptions = true; {\n const width = integer(value!, 1, \"'-w PAGE_WIDTH' invalid number of characters\");\n if (!options.truncate) options.width = width;\n } break;\n case \"W\": oldWidth = false; options.truncate = true; options.width = integer(value!, 1, \"'-W PAGE_WIDTH' invalid number of characters\"); break;\n case \"m\": options.merge = true; break;\n case \"a\": options.across = true; break;\n case \"b\": break;\n case \"d\": options.doubleSpace = true; break;\n case \"f\": case \"F\": options.formFeed = true; break;\n case \"J\": options.join = true; break;\n case \"N\": options.startNumber = integer(value!, -2147483648, \"'-N NUMBER' invalid starting line number\"); break;\n case \"o\": options.margin = integer(value!, 0, \"'-o MARGIN' invalid line offset\"); break;\n case \"r\": options.quiet = true; break;\n case \"s\": oldOptions = true; oldSeparator = true; if (!options.useSeparator && value !== undefined) options.separator = value; break;\n case \"S\": oldSeparator = false; options.useSeparator = true; options.separator = value ?? \"\"; break;\n case \"t\": options.extremities = false; options.keepFF = true; break;\n case \"T\": options.extremities = false; options.keepFF = false; break;\n case \"c\": options.control = true; break;\n case \"v\": options.octal = true; break;\n case \"n\": case \"e\": case \"i\": {\n if (option === \"n\") options.numbered = true;\n if (option === \"e\") options.expand = true;\n if (option === \"i\") options.tabify = true;\n if (value === undefined || !value.length) break;\n let character: string | undefined;\n if (!digit(value[0]!)) { character = value[0]; value = value.slice(1); }\n let count: number | undefined;\n if (value.length) {\n try { count = integer(value, 1, \"invalid number\"); }\n catch { throw new PrError(`'-${option}' extra characters or invalid number in the argument: ${quote(value)}${Number(value) > 2147483647 ? \": Value too large for defined data type\" : \"\"}`, true); }\n }\n if (option === \"n\") { options.numberSeparator = character ?? options.numberSeparator; options.digits = count ?? options.digits; }\n if (option === \"e\") { options.inputTab = character ?? options.inputTab; options.inputTabWidth = count ?? options.inputTabWidth; }\n if (option === \"i\") { options.outputTab = character ?? options.outputTab; options.outputTabWidth = count ?? options.outputTabWidth; }\n break;\n }\n default: throw new PrError(`invalid option -- '${option}'`, true);\n }\n }\n }\n if (columnDigits !== undefined) { options.columns = integer(columnDigits, 1, \"invalid number of columns\"); options.explicitColumns = true; }\n if (options.merge && options.explicitColumns) throw new PrError(\"cannot specify number of columns when printing in parallel\");\n if (options.merge && options.across) throw new PrError(\"cannot specify both printing across and printing in parallel\");\n if (oldOptions) {\n if (oldWidth) {\n if (options.merge || options.explicitColumns) { options.truncate = true; if (oldSeparator) options.useSeparator = true; }\n else options.join = true;\n } else if (!options.useSeparator && oldSeparator && (options.merge || options.explicitColumns)) {\n if (!options.truncate) { options.join = true; if (options.separator.length) options.useSeparator = true; }\n else options.useSeparator = true;\n }\n }\n const { limits } = budget;\n budget.check(options.files.length, limits.maxFiles, \"input files\");\n budget.check(options.merge ? Math.max(1, options.files.length) : options.columns, limits.maxColumns, \"columns\");\n budget.check(options.length, limits.maxPageLines, \"page lines\");\n for (const width of [options.width, options.margin, options.digits, options.inputTabWidth, options.outputTabWidth]) budget.check(width, limits.maxPageWidth, \"page width\");\n return options;\n}\n", "import { Budget, PrError, PrReadError } from \"./internal.js\";\nimport { Lifecycle, Reader } from \"./io.js\";\nimport type { Options } from \"./options.js\";\n\ninterface StoredLine { text: string; end: number }\ninterface Column {\n reader: Reader;\n status: \"open\" | \"held\" | \"feed\" | \"closed\";\n full: boolean;\n numbered: boolean;\n start: number;\n lines: StoredLine[];\n current: number;\n remaining: number;\n}\n\nexport class Formatter {\n private readonly budget: Budget;\n private readonly body: number;\n private readonly columnWidth: number;\n private readonly numberWidth: number;\n private readonly store: boolean;\n private columns: Column[] = [];\n private lineNumber: number;\n private pageNumber = 1;\n private inputPosition = 0;\n private outputPosition = 0;\n private spaces = 0;\n private separators = 0;\n private padding = 0;\n private vertical = false;\n private empty = true;\n private alignEmpty = false;\n private feedOnly = false;\n private printFeed = false;\n private needHeader = false;\n private storing = false;\n private stored = \"\";\n private rendered = \"\";\n private pageRetained = 0;\n\n constructor(private readonly options: Options, private readonly lifecycle: Lifecycle, count: number) {\n this.budget = lifecycle.budget;\n if (options.length <= 10) { options.extremities = false; options.keepFF = true; }\n this.body = Math.floor((options.extremities ? options.length - 10 : options.length) / (options.doubleSpace ? 2 : 1));\n if (this.body < 1) throw new PrError(\"page has no text lines\");\n options.columns = options.merge ? count : options.columns;\n if (options.columns > 1) {\n if (!options.useSeparator) { options.useSeparator = true; options.separator = options.join ? \"\\t\" : \" \"; }\n else if (!options.join && options.separator === \"\\t\") options.separator = \" \";\n options.truncate = true;\n options.tabify = true;\n }\n if (options.join) options.truncate = false;\n this.numberWidth = options.numberSeparator === \"\\t\" ? options.digits + 8 - options.digits % 8 : options.digits + 1;\n this.columnWidth = Math.trunc((options.width - (options.merge && options.numbered ? this.numberWidth : 0) - (options.columns - 1) * options.separator.length) / options.columns);\n if (this.columnWidth < 1) throw new PrError(\"page width too narrow\");\n this.store = options.columns > 1 && !options.merge && !options.across;\n this.lineNumber = options.startNumber;\n lifecycle.cleanup(async () => {\n this.budget.retain(-this.pageRetained - this.rendered.length * 2);\n this.pageRetained = 0;\n this.rendered = \"\";\n this.columns = [];\n });\n }\n\n private append(value: string): void {\n this.budget.charge(value.length);\n this.budget.retain(value.length * 2);\n this.rendered += value;\n }\n private repeat(value: string, count: number, construction = false): string {\n this.budget.admitString(value.length * count);\n if (construction) this.budget.charge(value.length * count);\n return value.repeat(count);\n }\n private async flush(): Promise<void> {\n const text = this.rendered;\n this.rendered = \"\";\n this.budget.retain(-text.length * 2);\n if (text) await this.lifecycle.write(text);\n }\n private white(): void {\n let position = this.outputPosition;\n const goal = position + this.spaces;\n this.budget.check(Math.max(0, this.spaces), this.budget.limits.maxBufferedBytes, \"horizontal padding\");\n while (goal - position > 1) {\n const next = position + this.options.outputTabWidth - position % this.options.outputTabWidth;\n if (next > goal) break;\n this.append(this.options.outputTab);\n position = next;\n }\n if (goal > position) this.append(this.repeat(\" \", goal - position));\n this.outputPosition = goal;\n this.spaces = 0;\n }\n private pad(position: number): void {\n if (this.options.tabify) this.spaces = position - this.outputPosition;\n else {\n if (position > this.outputPosition) this.append(this.repeat(\" \", position - this.outputPosition));\n this.outputPosition = position;\n }\n }\n private separator(): void {\n if (this.separators <= 0) { if (this.spaces > 0) this.white(); return; }\n let offset = 0;\n for (; this.separators > 0; this.separators--) {\n while (offset < this.options.separator.length) {\n const character = this.options.separator[offset++]!;\n if (character === \" \") this.spaces++;\n else { if (this.spaces > 0) this.white(); this.append(character); this.outputPosition++; }\n }\n if (this.spaces > 0) this.white();\n }\n }\n private character(character: string): void {\n if (this.storing) {\n this.budget.charge(character.length);\n this.budget.retain(character.length * 2);\n this.pageRetained += character.length * 2;\n this.stored += character;\n return;\n }\n if (this.options.tabify) {\n if (character === \" \") { this.spaces++; return; }\n if (this.spaces > 0) this.white();\n if (character >= \" \" && character <= \"~\") this.outputPosition++;\n else if (character === \"\\b\") this.outputPosition--;\n }\n this.append(character);\n }\n private number(column: Column): void {\n this.budget.admitString(this.options.digits);\n const text = String(this.lineNumber++).padStart(this.options.digits, \" \").slice(-this.options.digits);\n for (const character of text) this.character(character);\n if (this.columns.length > 1 && this.options.numberSeparator === \"\\t\") {\n for (let count = this.numberWidth - this.options.digits; count > 0; count--) this.character(\" \");\n } else {\n this.character(this.options.numberSeparator);\n if (this.columns.length === 1 && this.options.numberSeparator === \"\\t\") this.outputPosition += this.options.outputTabWidth - this.outputPosition % this.options.outputTabWidth;\n }\n if (this.options.truncate && !this.options.merge) this.inputPosition += this.numberWidth;\n this.budget.charge(column.numbered ? 1 : 0);\n }\n private align(column: Column): void {\n this.padding = column.start;\n if (this.options.separator.length < this.padding) { this.pad(this.padding - this.options.separator.length); this.padding = 0; }\n if (this.options.useSeparator) this.separator();\n if (column.numbered) this.number(column);\n }\n private clump(byte: number): string {\n const character = String.fromCharCode(byte);\n let width: number;\n let text = character;\n if (character === this.options.inputTab || byte === 9) {\n const tab = character === this.options.inputTab ? this.options.inputTabWidth : 8;\n width = tab - this.inputPosition % tab;\n if (this.options.expand) text = this.repeat(\" \", width, true);\n } else if (byte < 32 || byte > 126) {\n if (this.options.octal || this.options.control && byte >= 128) { text = `\\\\${byte.toString(8).padStart(3, \"0\")}`; width = 4; }\n else if (this.options.control) { text = `^${String.fromCharCode(byte ^ 64)}`; width = 2; }\n else width = byte === 8 ? -1 : 0;\n } else width = 1;\n if (width < 0 && this.inputPosition === 0) return \"\";\n this.inputPosition = Math.max(0, this.inputPosition + width);\n return text;\n }\n private close(column: Column): void {\n for (const current of this.options.merge ? [column] : this.columns) {\n current.status = \"closed\";\n if (!current.lines.length) current.remaining = 0;\n }\n }\n private hold(column: Column): void {\n for (const current of this.options.merge ? [column] : this.columns) current.status = this.store ? \"feed\" : \"held\";\n column.remaining = 0;\n }\n private async feed(column: Column): Promise<void> {\n const next = await column.reader.get();\n if (next !== 10) column.reader.unget(next);\n this.hold(column);\n }\n private async rest(column: Column): Promise<void> {\n for (;;) {\n const byte = await column.reader.get();\n if (byte === 10) return;\n if (byte === 12) { await this.feed(column); if (this.options.keepFF) this.printFeed = true; return; }\n if (byte < 0) { this.close(column); return; }\n }\n }\n private header(date: string, name: string): void {\n const { env } = this.budget.context;\n if (![undefined, \"\", \"UTC\", \"UTC0\", \":UTC\", \"GMT\", \"GMT0\"].includes(env.TZ)) throw new PrError(\"only UTC timezones are supported for headers\");\n const ctype = env.LC_ALL || env.LC_CTYPE || env.LANG || \"C\";\n if (ctype === \"C.UTF-8\" || ctype === \"C.utf8\") {\n for (const character of name) if (character.charCodeAt(0) >= 128) throw new PrError(\"non-ASCII headers require the C locale\");\n }\n this.outputPosition = 0;\n this.pad(this.options.margin);\n this.white();\n const width = (text: string): number => {\n this.budget.charge(text.length);\n let result = 0;\n for (const character of text) if (character >= \" \" && character !== \"\\x7f\") result++;\n return result;\n };\n const page = `Page ${this.pageNumber}`;\n const available = Math.max(0, this.options.width - width(date) - width(name) - width(page));\n const left = Math.floor(available / 2);\n this.budget.admitString(5 + this.options.margin + date.length + name.length + page.length + Math.max(1, left) + Math.max(1, available - left));\n this.append(`\\n\\n${this.repeat(\" \", this.options.margin)}${date}${this.repeat(\" \", Math.max(1, left))}${name}${this.repeat(\" \", Math.max(1, available - left))}${page}\\n\\n\\n`);\n this.needHeader = false;\n this.outputPosition = 0;\n }\n private async read(column: Column, date: string, name: string): Promise<void> {\n let byte = await column.reader.get();\n if (byte === 12 && column.full) { byte = await column.reader.get(); if (byte === 10) byte = await column.reader.get(); }\n column.full = false;\n if (byte === 12) {\n await this.feed(column);\n this.feedOnly = true;\n if (this.needHeader && !this.store) { this.vertical = true; this.header(date, name); }\n else if (this.options.keepFF) this.printFeed = true;\n return;\n }\n if (byte < 0) { this.close(column); return; }\n let clump = byte === 10 ? \"\" : this.clump(byte);\n if (this.options.truncate && this.inputPosition > this.columnWidth) { this.inputPosition = 0; await this.rest(column); return; }\n if (!this.storing) {\n this.vertical = true;\n if (this.needHeader && !this.store) this.header(date, name);\n if (this.options.merge && this.alignEmpty) {\n const pending = this.separators;\n this.separators = 0;\n for (let index = 0; index < pending; index++) { this.align(this.columns[index]!); this.separators++; }\n this.padding = column.start;\n this.spaces = this.options.truncate ? this.columnWidth : 0;\n this.alignEmpty = false;\n }\n if (this.options.separator.length < this.padding) { this.pad(this.padding - this.options.separator.length); this.padding = 0; }\n if (this.options.useSeparator) this.separator();\n }\n if (column.numbered) this.number(column);\n this.empty = false;\n if (byte === 10) return;\n for (const character of clump) this.character(character);\n for (;;) {\n byte = await column.reader.get();\n if (byte === 10) return;\n if (byte === 12) { await this.feed(column); if (this.options.keepFF) this.printFeed = true; return; }\n if (byte < 0) { this.close(column); return; }\n const previous = this.inputPosition;\n clump = this.clump(byte);\n if (this.options.truncate && this.inputPosition > this.columnWidth) { this.inputPosition = previous; await this.rest(column); return; }\n for (const character of clump) this.character(character);\n }\n }\n private ready(): boolean {\n return this.columns.some(column => column.status === \"open\" || column.status === \"feed\" || this.store && column.remaining > 0 && column.lines.length > 0);\n }\n private async storePage(date: string, name: string): Promise<void> {\n this.budget.retain(-this.pageRetained);\n this.pageRetained = 0;\n const lines: StoredLine[] = [];\n this.storing = true;\n for (const column of this.columns) { column.lines = []; column.current = 0; }\n try {\n for (const column of this.columns) {\n for (let count = 0; count < this.body && column.status === \"open\"; count++) {\n this.stored = \"\";\n this.inputPosition = 0;\n await this.read(column, date, name);\n if (column.status === \"open\" || this.stored.length) {\n this.budget.retain(32);\n this.pageRetained += 32;\n lines.push({ text: this.stored, end: this.inputPosition });\n }\n }\n }\n } finally { this.storing = false; }\n let start = 0;\n for (let index = 0; index < this.columns.length; index++) {\n const column = this.columns[index]!;\n const count = Math.floor(lines.length / this.columns.length) + (index < lines.length % this.columns.length ? 1 : 0);\n column.lines = lines.slice(start, start + count);\n column.remaining = count;\n start += count;\n }\n }\n private storedLine(column: Column, date: string, name: string): void {\n this.vertical = true;\n if (this.needHeader) this.header(date, name);\n if (column.status === \"feed\") {\n for (const current of this.columns) current.status = \"held\";\n if (this.columns[0]!.remaining <= 0) { if (!this.options.extremities) this.vertical = false; return; }\n }\n const line = column.lines[column.current++];\n if (!line) return;\n if (this.options.separator.length < this.padding) { this.pad(this.padding - this.options.separator.length); this.padding = 0; }\n if (this.options.useSeparator) this.separator();\n for (const character of line.text) this.character(character);\n if (this.spaces === 0) {\n this.outputPosition = column.start + line.end;\n if (column.start - this.options.separator.length === this.options.margin) this.outputPosition -= this.options.separator.length;\n }\n }\n async run(readers: Reader[], date: string, name: string): Promise<void> {\n const count = this.options.merge ? readers.length : this.options.columns;\n for (let index = 0; index < count; index++) {\n const start = index === 0 ? this.options.margin + this.options.separator.length : this.options.truncate\n ? this.options.margin + index * (this.columnWidth + this.options.separator.length) + (this.options.merge && this.options.numbered ? this.numberWidth : 0) : 0;\n this.columns.push({ reader: readers[this.options.merge ? index : 0]!, status: \"open\", full: false,\n numbered: this.options.numbered && (!this.options.merge || index === 0), start,\n lines: [], current: 0, remaining: 0 });\n }\n try { await this.pages(date, name); }\n catch (error) { if (error instanceof PrReadError) await this.flush(); throw error; }\n }\n private async pages(date: string, name: string): Promise<void> {\n for (;;) {\n if (this.store) await this.storePage(date, name);\n else for (const column of this.columns) column.remaining = column.status === \"open\" ? this.body : 0;\n if (!this.ready()) return;\n this.budget.page();\n this.needHeader = this.options.extremities;\n let printed = false;\n let left = this.body * (this.options.doubleSpace ? 2 : 1);\n while (left > 0 && this.ready()) {\n this.outputPosition = 0; this.spaces = 0; this.separators = 0; this.vertical = false; this.alignEmpty = false; this.empty = true;\n for (const column of this.columns) {\n this.budget.charge();\n this.inputPosition = 0;\n if (column.remaining > 0 || column.status === \"feed\") {\n this.feedOnly = false;\n this.padding = column.start;\n if (this.store) this.storedLine(column, date, name);\n else await this.read(column, date, name);\n printed ||= this.vertical;\n column.remaining--;\n if (column.remaining <= 0 && !this.ready()) break;\n if (this.options.merge && column.status !== \"open\") {\n if (this.empty) this.alignEmpty = true;\n else if (column.status === \"closed\" || this.feedOnly) this.align(column);\n }\n } else if (this.options.merge) { if (this.empty) this.alignEmpty = true; else this.align(column); }\n if (this.options.useSeparator) this.separators++;\n }\n if (this.vertical) { this.append(\"\\n\"); left--; }\n if (!this.ready() && !this.options.extremities) { await this.flush(); break; }\n if (this.options.doubleSpace && printed) { this.append(\"\\n\"); left--; }\n await this.flush();\n }\n if (left === 0) for (const column of this.columns) if (column.status === \"open\") column.full = true;\n if (printed && this.options.extremities) this.append(this.options.formFeed ? \"\\f\" : this.repeat(\"\\n\", left + 5));\n else if (this.options.keepFF && this.printFeed) { this.append(\"\\f\"); this.printFeed = false; }\n await this.flush();\n this.pageNumber++;\n for (const column of this.columns) if (column.status === \"held\") column.status = \"open\";\n }\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["value"]
7
7
  }
@@ -1,22 +1,18 @@
1
1
  import {
2
2
  createOutputOperation
3
- } from "./chunk-EUNOVYVT.js";
4
- import {
5
- PublicDiagnostic
6
- } from "./chunk-TTTOMUAY.js";
3
+ } from "./chunk-OECKXHVJ.js";
7
4
  import {
8
5
  resolvePath
9
6
  } from "./chunk-DPJWEGIX.js";
10
- import {
11
- getCommandArguments,
12
- shellValueByteLength,
13
- shellValueBytes
14
- } from "./chunk-UO33SQJU.js";
15
7
  import {
16
8
  FsError,
9
+ PublicDiagnostic,
10
+ getCommandArguments,
17
11
  outputFailure,
12
+ shellValueByteLength,
13
+ shellValueBytes,
18
14
  yieldTurn
19
- } from "./chunk-FDGESHPB.js";
15
+ } from "./chunk-2PQ3XOCQ.js";
20
16
  import {
21
17
  init_platform
22
18
  } from "./chunk-2KL6W6NB.js";
@@ -699,4 +695,4 @@ export {
699
695
  createHexdumpCommands,
700
696
  hexdumpCommands
701
697
  };
702
- //# sourceMappingURL=chunk-IDJQT32M.js.map
698
+ //# sourceMappingURL=chunk-HQCBEAFK.js.map