@poe-platform/safe-bash 0.1.544 → 0.1.546

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/README.md +1 -0
  2. package/dist/safe-bash/chunks/{chunk-66VSWIUC.js → chunk-4V3NGZAG.js} +10 -6
  3. package/dist/safe-bash/chunks/{chunk-66VSWIUC.js.map → chunk-4V3NGZAG.js.map} +1 -1
  4. package/dist/safe-bash/chunks/{chunk-ZYS7YCMY.js → chunk-AWP6Z3RR.js} +13 -9
  5. package/dist/safe-bash/chunks/{chunk-ZYS7YCMY.js.map → chunk-AWP6Z3RR.js.map} +1 -1
  6. package/dist/safe-bash/chunks/chunk-BZUQJTOZ.js +322 -0
  7. package/dist/safe-bash/chunks/chunk-BZUQJTOZ.js.map +7 -0
  8. package/dist/safe-bash/chunks/{chunk-EZLQA6ON.js → chunk-DKT746UJ.js} +9 -5
  9. package/dist/safe-bash/chunks/{chunk-EZLQA6ON.js.map → chunk-DKT746UJ.js.map} +1 -1
  10. package/dist/safe-bash/chunks/{chunk-PZMJ4EC3.js → chunk-EUNOVYVT.js} +17 -4
  11. package/dist/safe-bash/chunks/chunk-EUNOVYVT.js.map +7 -0
  12. package/dist/safe-bash/chunks/chunk-EUTSYRNM.js +111 -0
  13. package/dist/safe-bash/chunks/chunk-EUTSYRNM.js.map +7 -0
  14. package/dist/safe-bash/chunks/chunk-F5AOPLRZ.js +355 -0
  15. package/dist/safe-bash/chunks/chunk-F5AOPLRZ.js.map +7 -0
  16. package/dist/safe-bash/chunks/chunk-FDGESHPB.js +224 -0
  17. package/dist/safe-bash/chunks/chunk-FDGESHPB.js.map +7 -0
  18. package/dist/safe-bash/chunks/{chunk-YEJBZLE5.js → chunk-FIY2BMTU.js} +12 -8
  19. package/dist/safe-bash/chunks/{chunk-YEJBZLE5.js.map → chunk-FIY2BMTU.js.map} +1 -1
  20. package/dist/safe-bash/chunks/{chunk-R3QJL5HH.js → chunk-IDJQT32M.js} +12 -8
  21. package/dist/safe-bash/chunks/{chunk-R3QJL5HH.js.map → chunk-IDJQT32M.js.map} +1 -1
  22. package/dist/safe-bash/chunks/chunk-KYU6MXVK.js +58 -0
  23. package/dist/safe-bash/chunks/chunk-KYU6MXVK.js.map +7 -0
  24. package/dist/safe-bash/chunks/{chunk-T5BV7HPD.js → chunk-O7BRWSKX.js} +17 -60
  25. package/dist/safe-bash/chunks/chunk-O7BRWSKX.js.map +7 -0
  26. package/dist/safe-bash/chunks/{chunk-6PSMEBVP.js → chunk-PPFWG34Y.js} +2 -2
  27. package/dist/safe-bash/chunks/{chunk-VNDFKT6F.js → chunk-QX2X5EC5.js} +13 -9
  28. package/dist/safe-bash/chunks/{chunk-VNDFKT6F.js.map → chunk-QX2X5EC5.js.map} +1 -1
  29. package/dist/safe-bash/chunks/chunk-TTTOMUAY.js +33 -0
  30. package/dist/safe-bash/chunks/chunk-TTTOMUAY.js.map +7 -0
  31. package/dist/safe-bash/chunks/{chunk-5VBLSPNM.js → chunk-UO33SQJU.js} +2 -239
  32. package/dist/safe-bash/chunks/chunk-UO33SQJU.js.map +7 -0
  33. package/dist/safe-bash/chunks/{chunk-TPD45VUZ.js → chunk-VY5N6O6I.js} +22 -109
  34. package/dist/safe-bash/chunks/chunk-VY5N6O6I.js.map +7 -0
  35. package/dist/safe-bash/chunks/{chunk-HFEU5SBQ.js → chunk-WISNTI7E.js} +11 -7
  36. package/dist/safe-bash/chunks/{chunk-HFEU5SBQ.js.map → chunk-WISNTI7E.js.map} +1 -1
  37. package/dist/safe-bash/chunks/{chunk-A4UXQKWZ.js → chunk-WJWYJDQE.js} +12 -8
  38. package/dist/safe-bash/chunks/{chunk-A4UXQKWZ.js.map → chunk-WJWYJDQE.js.map} +1 -1
  39. package/dist/safe-bash/chunks/{chunk-AZNI263O.js → chunk-WXUZXY35.js} +3 -3
  40. package/dist/safe-bash/chunks/{chunk-WODV2DVM.js → chunk-X7C3PN2T.js} +11 -7
  41. package/dist/safe-bash/chunks/{chunk-WODV2DVM.js.map → chunk-X7C3PN2T.js.map} +1 -1
  42. package/dist/safe-bash/chunks/{chunk-WF4P7XKI.js → chunk-YFFFBLBC.js} +12 -8
  43. package/dist/safe-bash/chunks/{chunk-WF4P7XKI.js.map → chunk-YFFFBLBC.js.map} +1 -1
  44. package/dist/safe-bash/commands/csplit/index.browser.js +6 -4
  45. package/dist/safe-bash/commands/factor/index.browser.js +5 -3
  46. package/dist/safe-bash/commands/getopt/index.browser.js +5 -3
  47. package/dist/safe-bash/commands/hexdump/index.browser.js +5 -3
  48. package/dist/safe-bash/commands/iconv/index.browser.js +5 -3
  49. package/dist/safe-bash/commands/line-endings/index.browser.js +6 -4
  50. package/dist/safe-bash/commands/llm/command.d.ts +4 -0
  51. package/dist/safe-bash/commands/llm/command.d.ts.map +1 -0
  52. package/dist/safe-bash/commands/llm/command.js +194 -0
  53. package/dist/safe-bash/commands/llm/command.js.map +1 -0
  54. package/dist/safe-bash/commands/llm/index.browser.js +14 -0
  55. package/dist/safe-bash/commands/llm/index.browser.js.map +7 -0
  56. package/dist/safe-bash/commands/llm/index.d.ts +6 -0
  57. package/dist/safe-bash/commands/llm/index.d.ts.map +1 -0
  58. package/dist/safe-bash/commands/llm/index.js +12 -0
  59. package/dist/safe-bash/commands/llm/index.js.map +1 -0
  60. package/dist/safe-bash/commands/llm/mime.d.ts +2 -0
  61. package/dist/safe-bash/commands/llm/mime.d.ts.map +1 -0
  62. package/dist/safe-bash/commands/llm/mime.js +33 -0
  63. package/dist/safe-bash/commands/llm/mime.js.map +1 -0
  64. package/dist/safe-bash/commands/llm/providers/elevenlabs.d.ts +16 -0
  65. package/dist/safe-bash/commands/llm/providers/elevenlabs.d.ts.map +1 -0
  66. package/dist/safe-bash/commands/llm/providers/elevenlabs.js +51 -0
  67. package/dist/safe-bash/commands/llm/providers/elevenlabs.js.map +1 -0
  68. package/dist/safe-bash/commands/llm/providers/index.browser.js +13 -0
  69. package/dist/safe-bash/commands/llm/providers/index.browser.js.map +7 -0
  70. package/dist/safe-bash/commands/llm/providers/index.d.ts +4 -0
  71. package/dist/safe-bash/commands/llm/providers/index.d.ts.map +1 -0
  72. package/dist/safe-bash/commands/llm/providers/index.js +3 -0
  73. package/dist/safe-bash/commands/llm/providers/index.js.map +1 -0
  74. package/dist/safe-bash/commands/llm/providers/openai.d.ts +15 -0
  75. package/dist/safe-bash/commands/llm/providers/openai.d.ts.map +1 -0
  76. package/dist/safe-bash/commands/llm/providers/openai.js +78 -0
  77. package/dist/safe-bash/commands/llm/providers/openai.js.map +1 -0
  78. package/dist/safe-bash/commands/llm/providers/shared.d.ts +34 -0
  79. package/dist/safe-bash/commands/llm/providers/shared.d.ts.map +1 -0
  80. package/dist/safe-bash/commands/llm/providers/shared.js +220 -0
  81. package/dist/safe-bash/commands/llm/providers/shared.js.map +1 -0
  82. package/dist/safe-bash/commands/llm/types.d.ts +28 -0
  83. package/dist/safe-bash/commands/llm/types.d.ts.map +1 -0
  84. package/dist/safe-bash/commands/llm/types.js +2 -0
  85. package/dist/safe-bash/commands/llm/types.js.map +1 -0
  86. package/dist/safe-bash/commands/network/index.browser.js +13 -8
  87. package/dist/safe-bash/commands/pr/index.browser.js +5 -3
  88. package/dist/safe-bash/commands/tsort/index.browser.js +5 -3
  89. package/dist/safe-bash/commands/xml/index.browser.js +7 -4
  90. package/dist/safe-bash/commands/yq/index.browser.js +8 -5
  91. package/dist/safe-bash/contracts/command.d.ts +4 -0
  92. package/dist/safe-bash/contracts/command.d.ts.map +1 -1
  93. package/dist/safe-bash/contracts/command.js.map +1 -1
  94. package/dist/safe-bash/contracts/output.d.ts.map +1 -1
  95. package/dist/safe-bash/contracts/output.js +12 -2
  96. package/dist/safe-bash/contracts/output.js.map +1 -1
  97. package/dist/safe-bash/core.browser.js +1093 -1160
  98. package/dist/safe-bash/core.browser.js.map +4 -4
  99. package/dist/safe-bash/core.d.ts +2 -0
  100. package/dist/safe-bash/core.d.ts.map +1 -1
  101. package/dist/safe-bash/core.js +2 -0
  102. package/dist/safe-bash/core.js.map +1 -1
  103. package/dist/safe-bash/shell/runtime.d.ts.map +1 -1
  104. package/dist/safe-bash/shell/runtime.js +10 -0
  105. package/dist/safe-bash/shell/runtime.js.map +1 -1
  106. package/package.json +14 -2
  107. package/dist/safe-bash/chunks/chunk-5VBLSPNM.js.map +0 -7
  108. package/dist/safe-bash/chunks/chunk-PZMJ4EC3.js.map +0 -7
  109. package/dist/safe-bash/chunks/chunk-T5BV7HPD.js.map +0 -7
  110. package/dist/safe-bash/chunks/chunk-TPD45VUZ.js.map +0 -7
  111. /package/dist/safe-bash/chunks/{chunk-6PSMEBVP.js.map → chunk-PPFWG34Y.js.map} +0 -0
  112. /package/dist/safe-bash/chunks/{chunk-AZNI263O.js.map → chunk-WXUZXY35.js.map} +0 -0
@@ -1,18 +1,22 @@
1
+ import {
2
+ createOutputOperation
3
+ } from "./chunk-EUNOVYVT.js";
4
+ import {
5
+ PublicDiagnostic
6
+ } from "./chunk-TTTOMUAY.js";
1
7
  import {
2
8
  resolvePath
3
9
  } from "./chunk-DPJWEGIX.js";
4
10
  import {
5
- createOutputOperation
6
- } from "./chunk-PZMJ4EC3.js";
11
+ getCommandArguments,
12
+ shellValueByteLength,
13
+ shellValueBytes
14
+ } from "./chunk-UO33SQJU.js";
7
15
  import {
8
16
  FsError,
9
- PublicDiagnostic,
10
- getCommandArguments,
11
17
  outputFailure,
12
- shellValueByteLength,
13
- shellValueBytes,
14
18
  yieldTurn
15
- } from "./chunk-5VBLSPNM.js";
19
+ } from "./chunk-FDGESHPB.js";
16
20
  import {
17
21
  init_platform
18
22
  } from "./chunk-2KL6W6NB.js";
@@ -695,4 +699,4 @@ export {
695
699
  createHexdumpCommands,
696
700
  hexdumpCommands
697
701
  };
698
- //# sourceMappingURL=chunk-R3QJL5HH.js.map
702
+ //# sourceMappingURL=chunk-IDJQT32M.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/commands/hexdump/index.ts", "../../src/commands/hexdump/command.ts", "../../src/commands/hexdump/internal.ts", "../../src/commands/hexdump/io.ts", "../../src/commands/hexdump/options.ts", "../../src/commands/hexdump/format.ts"],
4
4
  "sourcesContent": ["import type { CommandDefinition, VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { createHexdumpCommand, createHdCommand } from \"./command.js\";\nimport type { HexdumpCommandsOptions } from \"./internal.js\";\n\nexport { createHexdumpCommand, createHdCommand } from \"./command.js\";\nexport type { HexdumpCommandsOptions, HexdumpLimits } from \"./internal.js\";\n\nexport function createHexdumpCommands(options: HexdumpCommandsOptions = {}): readonly CommandDefinition[] {\n return [createHexdumpCommand(options), createHdCommand(options)];\n}\n\nexport function hexdumpCommands(options: HexdumpCommandsOptions = {}): VirtualShellPlugin {\n const commands = createHexdumpCommands(options);\n return { name: \"hexdump-commands\", setup(host) {\n if (!options.replace) for (const command of commands) if (host.commands.has(command.name)) throw new Error(`Command already registered: ${command.name}`);\n for (const command of commands) host.commands.register(command, { replace: options.replace ?? false });\n } };\n}\n", "import { FsError, type CommandContext, type CommandDefinition } from \"../../contracts/index.js\";\nimport { createOutputOperation } from \"../../contracts/output.js\";\nimport { outputFailure, type ByteSink } from \"../../contracts/io.js\";\nimport { Budget, HexdumpError, settings, type HexdumpCommandsOptions, type HexdumpLimits } from \"./internal.js\";\nimport { Lifecycle, Reader, fsDetail } from \"./io.js\";\nimport { parse, type Parsed } from \"./options.js\";\nimport { formatBlock } from \"./format.js\";\n\nasync function dump(options: Parsed, lifecycle: Lifecycle, name: string): Promise<number> {\n if (options.count === 0) return 0;\n const { budget } = lifecycle;\n budget.retain(32);\n const block = new Uint8Array(16), previous = new Uint8Array(16);\n let address = 0, used = 0, skip = options.skip, count = options.count;\n let hasPrevious = false, squeezed = false, exitCode = 0;\n const emit = async (): Promise<void> => {\n let same = hasPrevious;\n for (let index = 0; same && index < used; index++) if (block[index] !== previous[index]) same = false;\n budget.charge(used);\n if (!options.verbose && same) {\n if (!squeezed) await lifecycle.write(\"*\\n\");\n squeezed = true;\n } else {\n for (let index = 0; index < Math.max(1, options.canonical); index++) {\n budget.charge(16);\n await budget.checkpointWork();\n await lifecycle.write(formatBlock(block, used, address, options.canonical > 0));\n }\n previous.set(block);\n hasPrevious = true;\n squeezed = false;\n }\n address += used;\n used = 0;\n };\n for (const file of options.files.length ? options.files : [undefined]) {\n if (count === 0) break;\n const reader = new Reader(file, lifecycle);\n let opened = true;\n try {\n await reader.open();\n } catch (error) {\n budget.signal.throwIfAborted();\n if (!(error instanceof FsError)) throw error;\n opened = false;\n if (error.code !== \"EISDIR\") exitCode = 1;\n await lifecycle.write(`${name}: ${file ?? \"stdin\"}: ${fsDetail(error)}\\n`, true);\n }\n if (opened) {\n while (count > 0) {\n let byte: number;\n try { byte = await reader.get(); }\n catch (error) {\n budget.signal.throwIfAborted();\n if (!(error instanceof FsError)) throw error;\n await lifecycle.write(`${name}: ${file ?? \"stdin\"}: ${fsDetail(error)}\\n`, true);\n break;\n }\n if (byte < 0) break;\n if (skip > 0) { skip--; address++; continue; }\n block[used++] = byte;\n count--;\n if (used === 16) await emit();\n }\n }\n await lifecycle.operation(() => reader.close());\n }\n if (used) await emit();\n if (address > 0) await lifecycle.write(address.toString(16).padStart(options.canonical ? 8 : 7, \"0\") + \"\\n\");\n return exitCode;\n}\n\nasync function execute(context: CommandContext, name: string, limits: HexdumpLimits): Promise<{ exitCode: number }> {\n let lifecycle: 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 destination = capability ?? stdout;\n const write = async (value: Uint8Array): Promise<void> => {\n lifecycle!.assertOpen();\n const method = destination.write;\n lifecycle!.assertOpen();\n await Reflect.apply(method, destination, [value]);\n };\n const captured: ByteSink = {\n write,\n ...(capability ? { ownedOutput: { consumerClosed: consumer!, write } } : {}),\n ...(failureHandler ? { [outputFailure]: failureHandler } : {}),\n };\n const admission = { closed: false };\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 exitCode = 0;\n try {\n lifecycle = new Lifecycle(budget, output, captured, caller);\n exitCode = await dump(parse(budget, name), lifecycle, name);\n } catch (error) {\n primary = { reason: error };\n if (error instanceof HexdumpError && !output.signal.aborted && lifecycle) {\n exitCode = 1;\n try { await lifecycle.write(`${error.bare ? \"\" : name + \": \"}${error.message}\\n`, true); }\n catch (reporting) { failure = { reason: new AggregateError([error, reporting], \"hexdump failure reporting failed\") }; }\n } else failure = { reason: error };\n }\n try { await output.close(); }\n catch (cleanup) {\n const previous = failure ?? primary;\n failure = { reason: previous ? new AggregateError([previous.reason, cleanup], \"hexdump execution and cleanup failed\") : cleanup };\n }\n caller.throwIfAborted();\n output.signal.throwIfAborted();\n if (lifecycle?.diagnosticCancellation) throw lifecycle.diagnosticCancellation.reason;\n if (failure) throw failure.reason;\n return { exitCode };\n}\n\nexport function createHexdumpCommand(options: HexdumpCommandsOptions = {}): CommandDefinition {\n const limits = settings(options);\n return { name: \"hexdump\", description: \"Display bytes as hexadecimal words or canonical hex and ASCII\",\n execute: context => execute(context, \"hexdump\", limits),\n };\n}\n\nexport function createHdCommand(options: HexdumpCommandsOptions = {}): CommandDefinition {\n const limits = settings(options);\n return { name: \"hd\", description: \"Display canonical hexadecimal and ASCII bytes\",\n execute: context => execute(context, \"hd\", limits),\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 HexdumpLimits {\n readonly maxArguments: number;\n readonly maxArgumentBytes: number;\n readonly maxInputBytes: number;\n readonly maxBufferedBytes: number;\n readonly maxOutputBytes: number;\n readonly maxDiagnosticBytes: number;\n readonly maxFormats: number;\n readonly maxWork: number;\n readonly maxEmptyChunks: number;\n}\n\nexport interface HexdumpCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<HexdumpLimits>;\n}\n\nexport function settings(options: HexdumpCommandsOptions): HexdumpLimits {\n const limits: HexdumpLimits = {\n maxArguments: 4096, maxArgumentBytes: 65_536, maxInputBytes: 33_554_432,\n maxBufferedBytes: 8_388_608, maxOutputBytes: 134_217_728,\n maxDiagnosticBytes: 65_536, maxFormats: 64, maxWork: 536_870_912,\n 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 hexdump limit: ${name}`);\n }\n return Object.freeze(limits);\n}\n\nexport class HexdumpError extends PublicDiagnostic {\n constructor(message: string, readonly bare = false) { super(message); }\n}\n\nexport function raw(value: Uint8Array): string {\n let result = \"\";\n for (let offset = 0; offset < value.length; offset += 4096) result += String.fromCharCode(...value.subarray(offset, offset + 4096));\n return result;\n}\n\nexport function bytes(value: string): Uint8Array {\n return Uint8Array.from(value, character => character.charCodeAt(0));\n}\n\nexport function pathText(value: string): string {\n try { return new TextDecoder(\"utf-8\", { fatal: true, ignoreBOM: true }).decode(bytes(value)); }\n catch { throw new HexdumpError(\"filesystem paths must be valid UTF-8\"); }\n}\n\nexport class Budget {\n private work = 0;\n private checkpoint = 0;\n private retained = 0;\n private input = 0;\n private output = 0;\n private diagnostics = 0;\n constructor(readonly context: CommandContext, readonly limits: HexdumpLimits, readonly signal: AbortSignal, private readonly callerSignal: AbortSignal, readonly admission: { readonly closed: boolean }) {}\n assertOpen(): void {\n this.signal.throwIfAborted();\n if (this.admission.closed) throw new HexdumpError(\"command is closed\");\n }\n check(value: number, maximum: number, label: string): void {\n if (!Number.isSafeInteger(value) || value < 0 || value > maximum) throw new HexdumpError(`${label} limit exceeded`);\n }\n charge(amount = 1): void {\n this.assertOpen();\n this.check(this.work + amount, this.limits.maxWork, \"work\");\n this.work += amount;\n }\n async checkpointWork(): Promise<void> {\n this.assertOpen();\n if (this.work - this.checkpoint >= 4096) {\n this.checkpoint = this.work;\n await yieldTurn(this.callerSignal);\n this.assertOpen();\n }\n }\n retain(amount: number): void {\n this.check(this.retained + amount, this.limits.maxBufferedBytes, \"buffered bytes\");\n this.retained += amount;\n }\n inputBytes(amount: number): void {\n this.check(this.input + amount, this.limits.maxInputBytes, \"input bytes\");\n this.input += amount;\n }\n emitted(amount: number, diagnostic: boolean): void {\n if (diagnostic) {\n this.check(this.diagnostics + amount, this.limits.maxDiagnosticBytes, \"diagnostic bytes\");\n this.diagnostics += amount;\n } else {\n this.check(this.output + amount, this.limits.maxOutputBytes, \"output bytes\");\n this.charge(amount);\n this.output += amount;\n }\n }\n arguments(): string[] {\n this.assertOpen();\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 this.assertOpen();\n this.retain(count * 64 + 128);\n const snapshot: string[] = [];\n let units = 0, 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 HexdumpError(\"arguments must be strings\");\n units += argument.length;\n this.check(units, this.limits.maxArgumentBytes, \"argument bytes\");\n this.charge(argument.length + 1);\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 HexdumpError(\"arguments must contain well-formed Unicode\");\n } else if (unit >= 0xdc00 && unit <= 0xdfff) throw new HexdumpError(\"arguments must contain well-formed Unicode\");\n }\n const size = shellValueByteLength(carrier ? carrier.values[index]! : argument);\n total += size;\n this.check(total, this.limits.maxArgumentBytes, \"argument bytes\");\n this.charge(size);\n this.retain(size * 8);\n snapshot.push(argument);\n }\n return (carrier ?? getCommandArguments({ args: snapshot })).values.map(argument => {\n this.charge(shellValueByteLength(argument));\n const value = shellValueBytes(argument);\n if (value.includes(0)) throw new HexdumpError(\"NUL is not supported in arguments\");\n return raw(value);\n });\n }\n}\n", "import { FsError, resolvePath, type ByteSink, type ByteSource } from \"../../contracts/index.js\";\nimport type { OutputOperation } from \"../../contracts/output.js\";\nimport { Budget, HexdumpError, bytes, pathText } 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 = new Set<() => Promise<void>>();\n private closing: Promise<void> | undefined;\n private diagnostic: { destination: ByteSink; consumer: AbortSignal | undefined } | undefined;\n diagnosticCancellation: { reason: unknown } | undefined;\n constructor(readonly budget: Budget, output: OutputOperation, private readonly stdout: ByteSink, private readonly caller: AbortSignal) { output.registerCleanup(() => this.close()); }\n cleanup(action: () => Promise<void>): void { this.assertOpen(); this.cleanups.add(action); }\n forget(action: () => Promise<void>): void { this.cleanups.delete(action); }\n assertOpen(): void {\n this.budget.assertOpen();\n if (this.closing) throw new HexdumpError(\"command is closed\");\n }\n private assertDiagnosticOpen(): void {\n this.caller.throwIfAborted();\n const consumer = this.diagnostic?.consumer;\n if (consumer?.aborted) {\n this.diagnosticCancellation = { reason: consumer.reason };\n consumer.throwIfAborted();\n }\n }\n async operation<Value>(action: () => Value | Promise<Value>, diagnostic = false): Promise<Value> {\n if (diagnostic) this.assertDiagnosticOpen();\n else this.assertOpen();\n if (this.closing || this.budget.admission.closed) throw new HexdumpError(\"command is closed\");\n if (!diagnostic) this.budget.charge();\n const pending = Promise.resolve().then(() => {\n if (diagnostic) this.assertDiagnosticOpen();\n else this.assertOpen();\n return action();\n });\n this.pending.add(pending);\n try {\n const value = await pending;\n if (diagnostic) this.assertDiagnosticOpen();\n else this.assertOpen();\n return value;\n }\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, \"hexdump cleanup failed\");\n });\n }\n async write(value: string, diagnostic = false): Promise<void> {\n this.budget.emitted(value.length, diagnostic);\n await this.operation(async () => {\n if (!diagnostic) this.budget.retain(value.length * 3);\n try {\n let destination: ByteSink;\n if (diagnostic) {\n if (!this.diagnostic) {\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.diagnostic = { destination: capability ?? sink, consumer };\n }\n this.assertDiagnosticOpen();\n destination = this.diagnostic.destination;\n } else {\n destination = this.stdout;\n this.assertOpen();\n }\n const write = destination.write;\n if (diagnostic) this.assertDiagnosticOpen();\n else this.assertOpen();\n await Reflect.apply(write, destination, [bytes(value)]);\n } finally { if (!diagnostic) this.budget.retain(-value.length * 3); }\n }, diagnostic);\n }\n}\n\nexport class Reader {\n private iterator: AsyncIterator<Uint8Array> | undefined;\n private chunk: Uint8Array = new Uint8Array();\n private offset = 0;\n private ended = false;\n private empties = 0;\n private snapshotBytes = 0;\n private closed: Promise<void> | undefined;\n constructor(readonly name: string | undefined, readonly lifecycle: Lifecycle) {\n lifecycle.budget.retain(256);\n lifecycle.cleanup(this.close);\n }\n readonly close = (): Promise<void> => this.closed ??= Promise.resolve().then(async () => {\n try { if (!this.ended) await this.iterator?.return?.(); }\n finally {\n this.iterator = undefined;\n this.releaseSnapshot();\n this.lifecycle.budget.retain(-this.chunk.length - 256);\n this.chunk = new Uint8Array();\n this.lifecycle.forget(this.close);\n }\n });\n private readonly releaseSnapshot = (): void => {\n this.lifecycle.budget.retain(-this.snapshotBytes);\n this.snapshotBytes = 0;\n };\n async open(): Promise<void> {\n const { budget } = this.lifecycle;\n await this.lifecycle.operation(async () => {\n let source: ByteSource;\n let needsAcquisitionCleanup = false;\n if (this.name === undefined) source = budget.context.stdin;\n else {\n if (this.name === \"\") throw new FsError(\"ENOENT\", { path: this.name });\n const cwd = budget.context.cwd;\n this.lifecycle.assertOpen();\n const path = resolvePath(cwd, pathText(this.name));\n const fs = budget.context.fs;\n this.lifecycle.assertOpen();\n const statMethod = fs.stat;\n this.lifecycle.assertOpen();\n const stat = await Reflect.apply(statMethod, fs, [path, { signal: budget.signal }]);\n this.lifecycle.assertOpen();\n const type = stat.type;\n this.lifecycle.assertOpen();\n if (this.name.endsWith(\"/\") && type !== \"directory\") throw new FsError(\"ENOTDIR\", { path });\n if (type === \"directory\") throw new FsError(\"EISDIR\", { path });\n if (type !== \"file\" && type !== \"character\") throw new FsError(\"ENOTSUP\", { path });\n const capabilitiesFor = fs.capabilitiesFor;\n this.lifecycle.assertOpen();\n const selected = capabilitiesFor ? await Reflect.apply(capabilitiesFor, fs, [path, { signal: budget.signal }]) : undefined;\n this.lifecycle.assertOpen();\n const capabilities = selected ?? fs.capabilities;\n this.lifecycle.assertOpen();\n const readStream = fs.readStream;\n this.lifecycle.assertOpen();\n const streamingRead = readStream && capabilities.streamingRead !== false;\n this.lifecycle.assertOpen();\n if (readStream && streamingRead) {\n source = Reflect.apply(readStream, fs, [path, { signal: budget.signal, chunkSize: 16_384 }]);\n needsAcquisitionCleanup = budget.signal.aborted || budget.admission.closed;\n } else {\n const maximum = Math.min(budget.limits.maxInputBytes, Math.floor(budget.limits.maxBufferedBytes / 2));\n const size = stat.size;\n this.lifecycle.assertOpen();\n budget.check(size, maximum, \"buffered input bytes\");\n budget.retain(maximum);\n this.snapshotBytes = maximum;\n const readFile = fs.readFile;\n this.lifecycle.assertOpen();\n const content = await Reflect.apply(readFile, fs, [path, { signal: budget.signal, maxBytes: maximum }]);\n this.lifecycle.assertOpen();\n if (!(content instanceof Uint8Array)) throw new TypeError(\"hexdump input requires bytes\");\n const length = viewLength.call(content) as number;\n budget.check(length, maximum, \"buffered input bytes\");\n budget.retain(length - maximum);\n this.snapshotBytes = 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 async get(): Promise<number> {\n const { budget } = this.lifecycle;\n budget.charge();\n await budget.checkpointWork();\n while (this.offset === this.chunk.length) {\n if (this.ended) return -1;\n await budget.checkpointWork();\n const 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 budget.retain(-this.chunk.length);\n this.chunk = new Uint8Array();\n this.offset = 0;\n const done = next.done;\n this.lifecycle.assertOpen();\n if (done) { this.ended = true; this.iterator = undefined; return -1; }\n const value = next.value;\n this.lifecycle.assertOpen();\n if (!(value instanceof Uint8Array)) throw new TypeError(\"hexdump 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.lifecycle.assertOpen();\n budget.inputBytes(length);\n budget.charge(length);\n budget.retain(length);\n try {\n if (viewOffset.call(value) !== offset || viewLength.call(value) < length) throw new TypeError(\"hexdump input extent changed during admission\");\n this.chunk = new Uint8Array(new Uint8Array(buffer, offset, length));\n } catch (error) { budget.retain(-length); throw error; }\n if (!this.chunk.length) budget.check(++this.empties, budget.limits.maxEmptyChunks, \"empty input chunks\");\n }\n return this.chunk[this.offset++]!;\n }\n}\n\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, HexdumpError } from \"./internal.js\";\n\nconst usage = \"usage: hexdump [-bcCdovx] [-e fmt] [-f fmt_file] [-n length]\\n [-s skip] [file ...]\\n hd [-bcdovx] [-e fmt] [-f fmt_file] [-n length]\\n [-s skip] [file ...]\";\n\nexport interface Parsed {\n readonly files: readonly string[];\n readonly canonical: number;\n readonly verbose: boolean;\n readonly skip: number;\n readonly count: number;\n}\n\nfunction number(text: string, skip: boolean): number {\n let offset = 0;\n while (offset < text.length && \" \\t\\n\\r\\v\\f\".includes(text[offset]!)) offset++;\n const negative = text[offset] === \"-\";\n if (negative || text[offset] === \"+\") offset++;\n let base = 10;\n if (skip && text[offset] === \"0\") {\n base = 8;\n if ((text[offset + 1] === \"x\" || text[offset + 1] === \"X\") && \"0123456789abcdef\".includes((text[offset + 2] ?? \"!\").toLowerCase())) { base = 16; offset += 2; }\n }\n let value = 0;\n for (; offset < text.length; offset++) {\n const digit = \"0123456789abcdef\".indexOf(text[offset]!.toLowerCase());\n if (digit < 0 || digit >= base) break;\n value = value * base + digit;\n if (!Number.isSafeInteger(value)) throw new HexdumpError(`${text}: numeric value exceeds safe integer range`);\n }\n if (negative && value !== 0) throw new HexdumpError(`${text}: bad ${skip ? \"skip\" : \"length\"} value`);\n if (skip) value *= ({ b: 512, k: 1024, m: 1_048_576 } as Record<string, number>)[text[offset] ?? \"\"] ?? 1;\n if (!Number.isSafeInteger(value)) throw new HexdumpError(`${text}: numeric value exceeds safe integer range`);\n return value;\n}\n\nexport function parse(budget: Budget, name: string): Parsed {\n const args = budget.arguments();\n const files: string[] = [];\n let canonical = name === \"hd\" ? 1 : 0;\n let verbose = false, ended = false, skip = 0, count = Infinity;\n for (let index = 0; index < args.length; index++) {\n const argument = args[index]!;\n if (!ended && argument === \"--\") { ended = true; continue; }\n if (ended || argument === \"-\" || !argument.startsWith(\"-\")) {\n files.push(argument);\n if (budget.context.env.POSIXLY_CORRECT !== undefined) ended = true;\n continue;\n }\n for (let offset = 1; offset < argument.length; offset++) {\n budget.charge();\n const flag = argument[offset]!;\n if (flag === \"v\") verbose = true;\n else if (flag === \"C\") {\n if (name === \"hd\") throw new HexdumpError(usage, true);\n budget.check(++canonical, budget.limits.maxFormats, \"format count\");\n } else if (flag === \"n\" || flag === \"s\") {\n const parameter = argument.slice(offset + 1) || args[++index];\n if (parameter === undefined) throw new HexdumpError(`${name}: option requires an argument -- '${flag}'\\n${usage}`, true);\n if (flag === \"n\") count = number(parameter, false);\n else skip = number(parameter, true);\n break;\n } else if (flag === \"e\" || flag === \"f\") throw new HexdumpError(`-${flag}: custom formats are not supported`);\n else throw new HexdumpError(`unsupported option -- '${flag}'`);\n }\n }\n return { files, canonical, verbose, skip, count };\n}\n", "export function formatBlock(block: Uint8Array, used: number, address: number, canonical: boolean): string {\n let result = address.toString(16).padStart(canonical ? 8 : 7, \"0\") + (canonical ? \" \" : \" \");\n if (canonical) {\n for (let index = 0; index < 16; index++) {\n if (index === 8) result += \" \";\n result += index < used ? block[index]!.toString(16).padStart(2, \"0\") : \" \";\n if (index !== 15) result += \" \";\n }\n result += \" |\";\n for (let index = 0; index < used; index++) {\n const byte = block[index]!;\n result += byte >= 32 && byte <= 126 ? String.fromCharCode(byte) : \".\";\n }\n return result + \"|\\n\";\n }\n for (let index = 0; index < 16; index += 2) {\n result += index < used ? (block[index]! + (index + 1 < used ? block[index + 1]! * 256 : 0)).toString(16).padStart(4, \"0\") : \" \";\n if (index !== 14) result += \" \";\n }\n return result + \"\\n\";\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,58 @@
1
+ import {
2
+ writeBytes,
3
+ yieldTurn
4
+ } from "./chunk-FDGESHPB.js";
5
+ import {
6
+ import_buffer,
7
+ init_platform
8
+ } from "./chunk-2KL6W6NB.js";
9
+
10
+ // packages/safe-bash/src/escaping.ts
11
+ init_platform();
12
+ var controls = { 8: "\\b", 9: "\\t", 10: "\\n", 11: "\\v", 12: "\\f", 13: "\\r", 92: "\\\\" };
13
+ var encoder = new TextEncoder();
14
+ function* parts(value, mode) {
15
+ for (const character of value) {
16
+ const point = character.codePointAt(0);
17
+ if (mode === "diagnostic" && (point === 9 || point === 10 || point >= 32 && (point < 127 || point > 159))) {
18
+ yield character;
19
+ } else {
20
+ for (const byte of encoder.encode(character)) {
21
+ yield controls[byte] ?? (byte >= 32 && byte < 127 ? String.fromCharCode(byte) : `\\${byte.toString(8).padStart(3, "0")}`);
22
+ }
23
+ }
24
+ }
25
+ }
26
+ function escapeText(value, mode, checkOutput) {
27
+ let result = "", bytes = 0;
28
+ for (const part of parts(value, mode)) {
29
+ bytes += import_buffer.Buffer.byteLength(part);
30
+ checkOutput?.(bytes);
31
+ result += part;
32
+ }
33
+ return result;
34
+ }
35
+ async function writeDiagnostic(sink, value, signal) {
36
+ signal?.throwIfAborted();
37
+ let chunk = "", bytes = 0, work = 0;
38
+ for (const part of parts(value, "diagnostic")) {
39
+ signal?.throwIfAborted();
40
+ const size = import_buffer.Buffer.byteLength(part);
41
+ if (bytes + size > 16384) {
42
+ await writeBytes(sink, encoder.encode(chunk), signal);
43
+ chunk = "";
44
+ bytes = 0;
45
+ }
46
+ chunk += part;
47
+ bytes += size;
48
+ if (++work % 1024 === 0) await yieldTurn(signal);
49
+ }
50
+ if (bytes) await writeBytes(sink, encoder.encode(chunk), signal);
51
+ signal?.throwIfAborted();
52
+ }
53
+
54
+ export {
55
+ escapeText,
56
+ writeDiagnostic
57
+ };
58
+ //# sourceMappingURL=chunk-KYU6MXVK.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/escaping.ts"],
4
+ "sourcesContent": ["import { writeBytes, type ByteSink } from \"./contracts/index.js\";\nimport { yieldTurn } from \"./contracts/yield.js\";\n\nconst controls: Readonly<Record<number, string>> = { 8: \"\\\\b\", 9: \"\\\\t\", 10: \"\\\\n\", 11: \"\\\\v\", 12: \"\\\\f\", 13: \"\\\\r\", 92: \"\\\\\\\\\" };\nconst encoder = new TextEncoder();\n\nfunction* parts(value: string, mode: \"display\" | \"diagnostic\"): Generator<string> {\n for (const character of value) {\n const point = character.codePointAt(0)!;\n if (mode === \"diagnostic\" && (point === 9 || point === 10 || point >= 32 && (point < 127 || point > 159))) {\n yield character;\n } else {\n for (const byte of encoder.encode(character)) {\n yield controls[byte] ?? (byte >= 32 && byte < 127 ? String.fromCharCode(byte) : `\\\\${byte.toString(8).padStart(3, \"0\")}`);\n }\n }\n }\n}\n\nexport function escapeText(value: string, mode: \"display\" | \"diagnostic\", checkOutput?: (bytes: number) => void): string {\n let result = \"\", bytes = 0;\n for (const part of parts(value, mode)) {\n bytes += Buffer.byteLength(part);\n checkOutput?.(bytes);\n result += part;\n }\n return result;\n}\n\nexport async function writeDiagnostic(sink: ByteSink, value: string, signal?: AbortSignal): Promise<void> {\n signal?.throwIfAborted();\n let chunk = \"\", bytes = 0, work = 0;\n for (const part of parts(value, \"diagnostic\")) {\n signal?.throwIfAborted();\n const size = Buffer.byteLength(part);\n if (bytes + size > 16_384) {\n await writeBytes(sink, encoder.encode(chunk), signal);\n chunk = \"\"; bytes = 0;\n }\n chunk += part; bytes += size;\n if (++work % 1024 === 0) await yieldTurn(signal);\n }\n if (bytes) await writeBytes(sink, encoder.encode(chunk), signal);\n signal?.throwIfAborted();\n}\n"],
5
+ "mappings": ";;;;;;;;;;AAAA;AAGA,IAAM,WAA6C,EAAE,GAAG,OAAO,GAAG,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO;AAChI,IAAM,UAAU,IAAI,YAAY;AAEhC,UAAU,MAAM,OAAe,MAAmD;AAChF,aAAW,aAAa,OAAO;AAC7B,UAAM,QAAQ,UAAU,YAAY,CAAC;AACrC,QAAI,SAAS,iBAAiB,UAAU,KAAK,UAAU,MAAM,SAAS,OAAO,QAAQ,OAAO,QAAQ,OAAO;AACzG,YAAM;AAAA,IACR,OAAO;AACL,iBAAW,QAAQ,QAAQ,OAAO,SAAS,GAAG;AAC5C,cAAM,SAAS,IAAI,MAAM,QAAQ,MAAM,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC;AAAA,MACxH;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,WAAW,OAAe,MAAgC,aAA+C;AACvH,MAAI,SAAS,IAAI,QAAQ;AACzB,aAAW,QAAQ,MAAM,OAAO,IAAI,GAAG;AACrC,aAAS,qBAAO,WAAW,IAAI;AAC/B,kBAAc,KAAK;AACnB,cAAU;AAAA,EACZ;AACA,SAAO;AACT;AAEA,eAAsB,gBAAgB,MAAgB,OAAe,QAAqC;AACxG,UAAQ,eAAe;AACvB,MAAI,QAAQ,IAAI,QAAQ,GAAG,OAAO;AAClC,aAAW,QAAQ,MAAM,OAAO,YAAY,GAAG;AAC7C,YAAQ,eAAe;AACvB,UAAM,OAAO,qBAAO,WAAW,IAAI;AACnC,QAAI,QAAQ,OAAO,OAAQ;AACzB,YAAM,WAAW,MAAM,QAAQ,OAAO,KAAK,GAAG,MAAM;AACpD,cAAQ;AAAI,cAAQ;AAAA,IACtB;AACA,aAAS;AAAM,aAAS;AACxB,QAAI,EAAE,OAAO,SAAS,EAAG,OAAM,UAAU,MAAM;AAAA,EACjD;AACA,MAAI,MAAO,OAAM,WAAW,MAAM,QAAQ,OAAO,KAAK,GAAG,MAAM;AAC/D,UAAQ,eAAe;AACzB;",
6
+ "names": []
7
+ }
@@ -1,18 +1,21 @@
1
+ import {
2
+ writeDiagnostic
3
+ } from "./chunk-KYU6MXVK.js";
4
+ import {
5
+ PublicDiagnostic,
6
+ publicDiagnosticMessage
7
+ } from "./chunk-TTTOMUAY.js";
1
8
  import {
2
9
  isAbsolutePath,
3
10
  validatePath
4
11
  } from "./chunk-DPJWEGIX.js";
5
12
  import {
6
13
  FsError,
7
- PublicDiagnostic,
8
- publicDiagnosticMessage,
9
14
  readBytes,
10
15
  toByteSource,
11
- writeBytes,
12
- yieldTurn
13
- } from "./chunk-5VBLSPNM.js";
16
+ writeBytes
17
+ } from "./chunk-FDGESHPB.js";
14
18
  import {
15
- import_buffer,
16
19
  init_platform
17
20
  } from "./chunk-2KL6W6NB.js";
18
21
 
@@ -60,50 +63,6 @@ function assertCommandRequirements(context, requirements, selected, capabilities
60
63
  }
61
64
  }
62
65
 
63
- // packages/safe-bash/src/escaping.ts
64
- init_platform();
65
- var controls = { 8: "\\b", 9: "\\t", 10: "\\n", 11: "\\v", 12: "\\f", 13: "\\r", 92: "\\\\" };
66
- var encoder = new TextEncoder();
67
- function* parts(value2, mode) {
68
- for (const character of value2) {
69
- const point = character.codePointAt(0);
70
- if (mode === "diagnostic" && (point === 9 || point === 10 || point >= 32 && (point < 127 || point > 159))) {
71
- yield character;
72
- } else {
73
- for (const byte of encoder.encode(character)) {
74
- yield controls[byte] ?? (byte >= 32 && byte < 127 ? String.fromCharCode(byte) : `\\${byte.toString(8).padStart(3, "0")}`);
75
- }
76
- }
77
- }
78
- }
79
- function escapeText(value2, mode, checkOutput) {
80
- let result = "", bytes = 0;
81
- for (const part of parts(value2, mode)) {
82
- bytes += import_buffer.Buffer.byteLength(part);
83
- checkOutput?.(bytes);
84
- result += part;
85
- }
86
- return result;
87
- }
88
- async function writeDiagnostic(sink, value2, signal) {
89
- signal?.throwIfAborted();
90
- let chunk = "", bytes = 0, work = 0;
91
- for (const part of parts(value2, "diagnostic")) {
92
- signal?.throwIfAborted();
93
- const size = import_buffer.Buffer.byteLength(part);
94
- if (bytes + size > 16384) {
95
- await writeBytes(sink, encoder.encode(chunk), signal);
96
- chunk = "";
97
- bytes = 0;
98
- }
99
- chunk += part;
100
- bytes += size;
101
- if (++work % 1024 === 0) await yieldTurn(signal);
102
- }
103
- if (bytes) await writeBytes(sink, encoder.encode(chunk), signal);
104
- signal?.throwIfAborted();
105
- }
106
-
107
66
  // packages/safe-bash/src/commands/internal.ts
108
67
  init_platform();
109
68
 
@@ -191,7 +150,7 @@ var RecordBuffer = class {
191
150
  };
192
151
 
193
152
  // packages/safe-bash/src/commands/internal.ts
194
- var encoder2 = new TextEncoder();
153
+ var encoder = new TextEncoder();
195
154
  var decoder = new TextDecoder();
196
155
  var bufferLimit = 32 * 1024 * 1024;
197
156
  var UsageError = class extends PublicDiagnostic {
@@ -273,7 +232,7 @@ function codeOf(error) {
273
232
  }
274
233
  async function output(context, text) {
275
234
  context.signal.throwIfAborted();
276
- await writeBytes(context.stdout, typeof text === "string" ? encoder2.encode(text) : text, context.signal);
235
+ await writeBytes(context.stdout, typeof text === "string" ? encoder.encode(text) : text, context.signal);
277
236
  }
278
237
  async function diagnostic(context, error) {
279
238
  context.signal.throwIfAborted();
@@ -388,9 +347,9 @@ function emptyInput() {
388
347
  }
389
348
  function replaceArgument(source, pattern, replacement) {
390
349
  if (typeof source === "string") return source.split(pattern).join(replacement);
391
- const needle = encoder2.encode(pattern);
350
+ const needle = encoder.encode(pattern);
392
351
  if (!needle.length) throw new UsageError("replacement string cannot be empty");
393
- const substituted = encoder2.encode(replacement);
352
+ const substituted = encoder.encode(replacement);
394
353
  const chunks = [];
395
354
  let start = 0;
396
355
  for (let offset = 0; offset <= source.length - needle.length; ) {
@@ -410,7 +369,7 @@ function escapeBytes(text, zeroOctal = false, bareOctal = false) {
410
369
  for (let index = 0; index < text.length; ) {
411
370
  if (text[index] !== "\\" || index + 1 === text.length) {
412
371
  const character = String.fromCodePoint(text.codePointAt(index));
413
- chunks.push(encoder2.encode(character));
372
+ chunks.push(encoder.encode(character));
414
373
  index += character.length;
415
374
  continue;
416
375
  }
@@ -434,7 +393,7 @@ function escapeBytes(text, zeroOctal = false, bareOctal = false) {
434
393
  index += 1 + hexadecimal[0].length;
435
394
  continue;
436
395
  }
437
- chunks.push(encoder2.encode(`\\${next}`));
396
+ chunks.push(encoder.encode(`\\${next}`));
438
397
  index += 2;
439
398
  }
440
399
  return { bytes: concatenate(chunks), stop: false };
@@ -491,14 +450,12 @@ function escapeBytes(text, zeroOctal = false, bareOctal = false) {
491
450
  export {
492
451
  evaluateCommandSupport,
493
452
  assertCommandRequirements,
494
- escapeText,
495
- writeDiagnostic,
496
453
  inputRequirements,
497
454
  textOutputRequirements,
498
455
  pwdRequirements,
499
456
  predicateRequirements,
500
457
  RecordBuffer,
501
- encoder2 as encoder,
458
+ encoder,
502
459
  decoder,
503
460
  bufferLimit,
504
461
  UsageError,
@@ -520,4 +477,4 @@ export {
520
477
  replaceArgument,
521
478
  escapeBytes
522
479
  };
523
- //# sourceMappingURL=chunk-T5BV7HPD.js.map
480
+ //# sourceMappingURL=chunk-O7BRWSKX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/contracts/command-requirements.ts", "../../src/commands/internal.ts", "../../src/commands/portable-requirements.ts", "../../src/commands/record-buffer.ts"],
4
+ "sourcesContent": ["import type { CommandContext, CommandDefinition } from \"./command.js\";\nimport type { FileSystemCapabilities } from \"./filesystem.js\";\nimport { FsError } from \"./errors.js\";\n\nexport interface CommandFileSystemRequirement {\n readonly id: string;\n readonly description: string;\n readonly capabilities: readonly string[];\n readonly anyOf?: readonly (readonly string[])[];\n readonly mutates?: boolean;\n}\n\nexport interface CommandModeSupport extends CommandFileSystemRequirement {\n readonly status: \"supported\" | \"unsupported\" | \"unknown\";\n readonly missing: readonly string[];\n readonly unknown: readonly string[];\n}\n\nexport interface CommandSupport {\n readonly status: \"supported\" | \"partial\" | \"unsupported\";\n readonly declared: boolean;\n readonly modes: readonly CommandModeSupport[];\n}\n\nfunction evaluateMode(requirement: CommandFileSystemRequirement, capabilities: FileSystemCapabilities): CommandModeSupport {\n const missing = requirement.capabilities.filter(name => capabilities[name] === false);\n const unknown = requirement.capabilities.filter(name => capabilities[name] === undefined);\n if (requirement.mutates && capabilities.readOnly === true) missing.push(\"readOnly\");\n const alternatives = requirement.anyOf;\n if (alternatives && !alternatives.some(group => group.every(name => capabilities[name] === true))) {\n if (alternatives.every(group => group.some(name => capabilities[name] === false))) {\n missing.push(...alternatives.flatMap(group => group.filter(name => capabilities[name] === false)));\n } else {\n unknown.push(...alternatives.filter(group => !group.some(name => capabilities[name] === false))\n .flatMap(group => group.filter(name => capabilities[name] === undefined)));\n }\n }\n return {\n ...requirement,\n status: missing.length ? \"unsupported\" : unknown.length ? \"unknown\" : \"supported\",\n missing: [...new Set(missing)], unknown: [...new Set(unknown)],\n };\n}\n\nexport function evaluateCommandSupport(\n command: Pick<CommandDefinition, \"filesystemRequirements\"> | CommandDefinition,\n capabilities: FileSystemCapabilities,\n): CommandSupport {\n const modes = (command.filesystemRequirements ?? []).map(requirement => evaluateMode(requirement, capabilities));\n return {\n declared: command.filesystemRequirements !== undefined,\n status: command.filesystemRequirements !== undefined && modes.every(mode => mode.status === \"supported\") ? \"supported\"\n : modes.length && modes.every(mode => mode.status === \"unsupported\") ? \"unsupported\" : \"partial\",\n modes,\n };\n}\n\nexport function assertCommandRequirements(\n context: Pick<CommandContext, \"fs\" | \"command\" | \"signal\">,\n requirements: readonly CommandFileSystemRequirement[],\n selected: readonly string[],\n capabilities: FileSystemCapabilities = context.fs.capabilities,\n): void {\n context.signal.throwIfAborted();\n for (const id of new Set(selected)) {\n const requirement = requirements.find(mode => mode.id === id);\n if (!requirement) throw new TypeError(`Unknown filesystem requirement mode: ${id}`);\n const support = evaluateMode(requirement, capabilities);\n if (support.status === \"unsupported\") {\n throw new FsError(support.missing.includes(\"readOnly\") ? \"EROFS\" : \"ENOTSUP\", {\n syscall: context.command,\n message: `${requirement.description} requires unavailable filesystem capabilities: ${support.missing.join(\", \")}`,\n });\n }\n }\n}\n", "import { PublicDiagnostic, publicDiagnosticMessage } from \"../diagnostics.js\";\nimport { assertCommandRequirements } from \"../contracts/command-requirements.js\";\nimport { writeDiagnostic } from \"../escaping.js\";\nimport { inputRequirements } from \"./portable-requirements.js\";\nimport { RecordBuffer } from \"./record-buffer.js\";\nimport {\n FsError, isAbsolutePath, readBytes, toByteSource, validatePath, writeBytes,\n type ByteSource, type CommandContext, type CommandDefinition, type CommandHandler,\n} from \"../contracts/index.js\";\n\nexport const encoder = new TextEncoder();\nexport const decoder = new TextDecoder();\nexport const bufferLimit = 32 * 1024 * 1024;\n\nexport class UsageError extends PublicDiagnostic {}\n\nexport interface ParsedOptions {\n readonly flags: Set<string>;\n readonly values: Map<string, string[]>;\n readonly operands: string[];\n}\n\nexport function options(\n args: readonly string[], short: string, long: Readonly<Record<string, string>> = {},\n stopAtOperand = false, onOperand?: (index: number) => void,\n onValue?: (key: string, index: number, offset: number) => void,\n): ParsedOptions {\n const flags = new Set<string>();\n const values = new Map<string, string[]>();\n const operands: string[] = [];\n const specifications = new Map<string, boolean>();\n for (let index = 0; index < short.length; index++) {\n const key = short[index]!;\n specifications.set(key, short[index + 1] === \":\");\n if (short[index + 1] === \":\") index++;\n }\n let ended = false;\n for (let index = 0; index < args.length; index++) {\n const argument = args[index]!;\n if (ended || argument === \"-\" || !argument.startsWith(\"-\")) {\n operands.push(argument);\n onOperand?.(index);\n if (stopAtOperand) ended = true;\n continue;\n }\n if (argument === \"--\") { ended = true; continue; }\n if (argument.startsWith(\"--\")) {\n const equals = argument.indexOf(\"=\");\n const name = argument.slice(2, equals < 0 ? undefined : equals);\n const key = long[name];\n if (!key || !specifications.has(key)) throw new UsageError(`unrecognized option '${argument}'`);\n if (specifications.get(key)) {\n const value = equals >= 0 ? argument.slice(equals + 1) : args[++index];\n if (value === undefined) throw new UsageError(`option '--${name}' requires an argument`);\n onValue?.(key, index, equals >= 0 ? equals + 1 : 0);\n values.set(key, [...values.get(key) ?? [], value]);\n } else if (equals >= 0) throw new UsageError(`option '--${name}' does not take an argument`);\n flags.add(key);\n continue;\n }\n for (let offset = 1; offset < argument.length; offset++) {\n const key = argument[offset]!;\n if (!specifications.has(key)) throw new UsageError(`invalid option -- '${key}'`);\n if (specifications.get(key)) {\n const value = argument.slice(offset + 1) || args[++index];\n if (value === undefined) throw new UsageError(`option requires an argument -- '${key}'`);\n onValue?.(key, index, offset + 1 < argument.length ? offset + 1 : 0);\n values.set(key, [...values.get(key) ?? [], value]);\n offset = argument.length;\n }\n flags.add(key);\n }\n }\n return { flags, values, operands };\n}\n\nexport function value(parsed: ParsedOptions, key: string): string | undefined {\n return parsed.values.get(key)?.at(-1);\n}\n\nexport function integer(text: string, minimum = 0): number {\n if (!/^[+]?[0-9]+$/u.test(text)) throw new UsageError(`invalid number '${text}'`);\n const number = Number(text);\n if (!Number.isSafeInteger(number) || number < minimum) throw new UsageError(`invalid number '${text}'`);\n return number;\n}\n\nexport function requireOperands(operands: readonly string[], minimum = 1, maximum = Infinity): void {\n if (operands.length < minimum) throw new UsageError(\"missing operand\");\n if (operands.length > maximum) throw new UsageError(`extra operand '${operands[maximum]}'`);\n}\n\nexport function pathOf(context: Pick<CommandContext, \"cwd\">, path: string): string {\n if (!path) throw new FsError(\"ENOENT\", { path });\n validatePath(path);\n validatePath(context.cwd);\n if (!isAbsolutePath(context.cwd)) throw new FsError(\"EINVAL\", { path: context.cwd, message: \"cwd must be absolute\" });\n return isAbsolutePath(path) ? path : `${context.cwd.replace(/\\/$/u, \"\")}/${path}`;\n}\n\nexport function codeOf(error: unknown): string | undefined {\n return error instanceof Error && \"code\" in error ? String(error.code) : undefined;\n}\n\nexport async function output(context: CommandContext, text: string | Uint8Array): Promise<void> {\n context.signal.throwIfAborted();\n await writeBytes(context.stdout, typeof text === \"string\" ? encoder.encode(text) : text, context.signal);\n}\n\nexport async function diagnostic(context: CommandContext, error: unknown): Promise<void> {\n context.signal.throwIfAborted();\n await writeDiagnostic(context.stderr, `${context.command}: ${publicDiagnosticMessage(error, context.onInternalError)}\\n`, context.signal);\n}\n\nexport function define(name: string, handler: CommandHandler, failureCode = 1): CommandDefinition {\n return {\n name,\n async execute(context) {\n context.signal.throwIfAborted();\n try { return await handler(context); }\n catch (error) {\n context.signal.throwIfAborted();\n await diagnostic(context, error);\n return { exitCode: error instanceof UsageError ? 2 : failureCode };\n }\n },\n };\n}\n\nexport async function eachOperand(\n context: CommandContext, operands: readonly string[], operation: (operand: string) => Promise<void>,\n): Promise<{ exitCode: number }> {\n let exitCode = 0;\n for (const operand of operands) {\n context.signal.throwIfAborted();\n try { await operation(operand); }\n catch (error) { await diagnostic(context, error); exitCode = 1; }\n }\n return { exitCode };\n}\n\nexport async function* input(context: CommandContext, name = \"-\"): ByteSource {\n context.signal.throwIfAborted();\n if (name === \"-\") {\n yield* readBytes(context.stdin, context.signal);\n } else {\n await assertInputRequirements(context, [name]);\n const path = pathOf(context, name);\n const capabilities = await context.fs.capabilitiesFor?.(path, { signal: context.signal }) ?? context.fs.capabilities;\n if (context.fs.readStream && capabilities.streamingRead !== false) {\n let emitted = false;\n let reading = true;\n try {\n for await (const chunk of readBytes(context.fs.readStream(path, { signal: context.signal }), context.signal)) {\n reading = false;\n if (chunk.byteLength) emitted = true;\n yield chunk;\n reading = true;\n }\n return;\n } catch (error) {\n context.signal.throwIfAborted();\n if (!reading || emitted || !(error instanceof FsError) || error.code !== \"ENOTSUP\") throw error;\n }\n }\n if (capabilities.read === false) throw new FsError(\"ENOTSUP\", { syscall: \"readFile\", path });\n yield* readBytes({\n async *[Symbol.asyncIterator]() {\n const bytes = await context.fs.readFile(path, { signal: context.signal, maxBytes: bufferLimit });\n context.signal.throwIfAborted();\n if (bytes.byteLength > bufferLimit) throw new FsError(\"EFBIG\", { syscall: \"readFile\", path });\n yield bytes;\n },\n }, context.signal);\n }\n}\n\nexport async function assertInputRequirements(context: CommandContext, names: readonly string[]): Promise<void> {\n const files = names.filter(name => name !== \"-\");\n assertCommandRequirements(context, inputRequirements, [files.length ? \"file\" : \"stdin\"]);\n if (!context.fs.capabilitiesFor) return;\n for (const name of files) {\n try {\n const capabilities = await context.fs.capabilitiesFor(pathOf(context, name), { signal: context.signal });\n assertCommandRequirements(context, inputRequirements, [\"file\"], capabilities);\n } catch (error) {\n context.signal.throwIfAborted();\n if (codeOf(error) === \"ENOTSUP\" || codeOf(error) === \"EROFS\") throw error;\n }\n }\n}\n\nexport function concatenate(chunks: readonly Uint8Array[], size = chunks.reduce((sum, chunk) => sum + chunk.length, 0)): Uint8Array {\n const result = new Uint8Array(size);\n let offset = 0;\n for (const chunk of chunks) { result.set(chunk, offset); offset += chunk.length; }\n return result;\n}\n\nexport async function collect(source: ByteSource, signal: AbortSignal, limit = bufferLimit): Promise<Uint8Array> {\n const chunks: Uint8Array[] = [];\n let size = 0;\n for await (const chunk of source) {\n signal.throwIfAborted();\n size += chunk.length;\n if (size > limit) throw new FsError(\"EFBIG\", { message: `buffer limit exceeded (${limit} bytes)` });\n chunks.push(new Uint8Array(chunk));\n }\n return concatenate(chunks, size);\n}\n\nexport interface Line { readonly bytes: Uint8Array; readonly terminated: boolean }\n\nexport async function* lines(source: ByteSource, separator = 10, admit?: (size: number) => void): AsyncGenerator<Line> {\n const pending = new RecordBuffer(bufferLimit);\n try {\n for await (const chunk of source) {\n let start = 0;\n for (let offset = 0; offset < chunk.length; offset++) {\n if (chunk[offset] !== separator) continue;\n yield { bytes: pending.finish(admit, chunk, start, offset), terminated: true };\n start = offset + 1;\n }\n pending.append(chunk, start);\n }\n if (pending.size) yield { bytes: pending.finish(admit), terminated: false };\n } finally { pending.clear(); }\n}\n\nexport function emptyInput(): ByteSource { return toByteSource(\"\"); }\n\nexport function replaceArgument(source: string | Uint8Array, pattern: string, replacement: string): string | Uint8Array {\n if (typeof source === \"string\") return source.split(pattern).join(replacement);\n const needle = encoder.encode(pattern);\n if (!needle.length) throw new UsageError(\"replacement string cannot be empty\");\n const substituted = encoder.encode(replacement);\n const chunks: Uint8Array[] = [];\n let start = 0;\n for (let offset = 0; offset <= source.length - needle.length;) {\n if (needle.every((byte, index) => source[offset + index] === byte)) {\n chunks.push(source.subarray(start, offset), substituted);\n offset += needle.length;\n start = offset;\n } else offset++;\n }\n chunks.push(source.subarray(start));\n return concatenate(chunks);\n}\n\nexport function escapeBytes(text: string | Uint8Array, zeroOctal = false, bareOctal = false): { bytes: Uint8Array; stop: boolean } {\n if (typeof text === \"string\") {\n const chunks: Uint8Array[] = [];\n const control: Record<string, number> = { a: 7, b: 8, e: 27, E: 27, f: 12, n: 10, r: 13, t: 9, v: 11, \"\\\\\": 92 };\n for (let index = 0; index < text.length;) {\n if (text[index] !== \"\\\\\" || index + 1 === text.length) {\n const character = String.fromCodePoint(text.codePointAt(index)!);\n chunks.push(encoder.encode(character)); index += character.length; continue;\n }\n const next = text[index + 1]!;\n if (next === \"c\") return { bytes: concatenate(chunks), stop: true };\n if (control[next] !== undefined) { chunks.push(Uint8Array.of(control[next])); index += 2; continue; }\n const rest = text.slice(index + 1);\n const octal = zeroOctal ? (bareOctal ? /^(?:0([0-7]{0,3})|([1-7][0-7]{0,2}))/u : /^0([0-7]{0,3})/u).exec(rest) : /^([0-7]{1,3})/u.exec(rest);\n if (octal) { chunks.push(Uint8Array.of(parseInt(octal[1] || octal[2] || \"0\", 8) & 255)); index += 1 + octal[0].length; continue; }\n const hexadecimal = /^x([0-9a-fA-F]{1,2})/u.exec(rest);\n if (hexadecimal) { chunks.push(Uint8Array.of(parseInt(hexadecimal[1]!, 16))); index += 1 + hexadecimal[0].length; continue; }\n chunks.push(encoder.encode(`\\\\${next}`)); index += 2;\n }\n return { bytes: concatenate(chunks), stop: false };\n }\n const source = text;\n const bytes = new Uint8Array(source.length);\n const control: Record<number, number> = { 97: 7, 98: 8, 101: 27, 69: 27, 102: 12, 110: 10, 114: 13, 116: 9, 118: 11, 92: 92 };\n let size = 0;\n for (let index = 0; index < source.length;) {\n if (source[index] !== 92 || index + 1 === source.length) { bytes[size++] = source[index++]!; continue; }\n const next = source[index + 1]!;\n if (next === 99) return { bytes: bytes.subarray(0, size), stop: true };\n if (control[next] !== undefined) { bytes[size++] = control[next]; index += 2; continue; }\n if (zeroOctal ? next === 48 || bareOctal && next >= 49 && next <= 55 : next >= 48 && next <= 55) {\n let offset = index + (zeroOctal && next === 48 ? 2 : 1);\n const end = Math.min(source.length, offset + 3);\n let value = 0;\n while (offset < end && source[offset]! >= 48 && source[offset]! <= 55) value = value * 8 + source[offset++]! - 48;\n bytes[size++] = value & 255;\n index = offset;\n continue;\n }\n if (next === 120) {\n let offset = index + 2;\n const end = Math.min(source.length, offset + 2);\n let value = 0;\n while (offset < end) {\n const digit = source[offset]!;\n const number = digit >= 48 && digit <= 57 ? digit - 48 : digit >= 65 && digit <= 70 ? digit - 55 : digit >= 97 && digit <= 102 ? digit - 87 : -1;\n if (number < 0) break;\n value = value * 16 + number;\n offset++;\n }\n if (offset > index + 2) { bytes[size++] = value; index = offset; continue; }\n }\n bytes[size++] = 92;\n bytes[size++] = next;\n index += 2;\n }\n return { bytes: bytes.subarray(0, size), stop: false };\n}\n", "import type { CommandFileSystemRequirement } from \"../contracts/command-requirements.js\";\n\nexport const inputRequirements: readonly CommandFileSystemRequirement[] = [\n { id: \"stdin\", description: \"Read standard input\", capabilities: [] },\n { id: \"file\", description: \"Read file operands\", capabilities: [], anyOf: [[\"streamingRead\"], [\"read\"]] },\n];\n\nexport const textOutputRequirements: readonly CommandFileSystemRequirement[] = [\n ...inputRequirements,\n { id: \"output\", description: \"Write or truncate an output file\", capabilities: [], anyOf: [[\"streamingWrite\"], [\"write\"]], mutates: true },\n];\n\nexport const pwdRequirements: readonly CommandFileSystemRequirement[] = [\n { id: \"logical\", description: \"Print the logical working directory\", capabilities: [] },\n { id: \"physical\", description: \"Resolve the physical working directory (-P)\", capabilities: [\"realpath\"] },\n];\n\nexport const predicateRequirements: readonly CommandFileSystemRequirement[] = [\n { id: \"expression\", description: \"Evaluate strings and integers\", capabilities: [] },\n { id: \"metadata\", description: \"Inspect file metadata\", capabilities: [\"stat\"] },\n { id: \"access\", description: \"Inspect path access permissions\", capabilities: [\"access\"] },\n];\n", "import { FsError } from \"../contracts/index.js\";\n\nconst segmentSize = 4096;\n\nexport class RecordBuffer {\n #segments: Uint8Array[] = [];\n #size = 0;\n #allocated = 0;\n\n constructor(readonly capacity: number, readonly finalizationCapacity = capacity * 2) {}\n\n get size(): number { return this.#size; }\n\n #admit(length: number): void {\n if (length > this.capacity - this.#size) {\n throw new FsError(\"EFBIG\", { message: \"line buffer limit exceeded\" });\n }\n }\n\n append(bytes: Uint8Array, start = 0, end = bytes.length): void {\n this.#admit(end - start);\n let offset = start;\n while (offset < end) {\n let segment = this.#segments.at(-1);\n const used = this.#size % segmentSize;\n if (!segment || used === 0) {\n segment = new Uint8Array(Math.min(segmentSize, this.capacity - this.#allocated));\n this.#segments.push(segment);\n this.#allocated += segment.length;\n }\n const length = Math.min(end - offset, segment.length - used);\n segment.set(bytes.subarray(offset, offset + length), used);\n this.#size += length;\n offset += length;\n }\n }\n\n finish(admit?: (size: number) => void, bytes?: Uint8Array, start = 0, end = bytes?.length ?? 0): Uint8Array {\n this.#admit(end - start);\n const size = this.#size + end - start;\n admit?.(size);\n if (size > this.finalizationCapacity - this.#allocated) {\n throw new FsError(\"EFBIG\", { message: \"line finalization buffer limit exceeded\" });\n }\n const result = new Uint8Array(size);\n let offset = 0;\n for (const segment of this.#segments) {\n const length = Math.min(segment.length, this.#size - offset);\n result.set(segment.subarray(0, length), offset);\n offset += length;\n }\n if (bytes && end > start) result.set(bytes.subarray(start, end), offset);\n this.clear();\n return result;\n }\n\n clear(): void {\n this.#segments = [];\n this.#size = 0;\n this.#allocated = 0;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["value", "control", "value"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  monotonicNow,
3
3
  yieldTurn
4
- } from "./chunk-5VBLSPNM.js";
4
+ } from "./chunk-FDGESHPB.js";
5
5
  import {
6
6
  import_buffer,
7
7
  init_platform
@@ -339,4 +339,4 @@ export {
339
339
  scalarJson,
340
340
  interruptible
341
341
  };
342
- //# sourceMappingURL=chunk-6PSMEBVP.js.map
342
+ //# sourceMappingURL=chunk-PPFWG34Y.js.map
@@ -1,18 +1,22 @@
1
- import {
2
- resolvePath
3
- } from "./chunk-DPJWEGIX.js";
4
1
  import {
5
2
  createOutputOperation
6
- } from "./chunk-PZMJ4EC3.js";
3
+ } from "./chunk-EUNOVYVT.js";
7
4
  import {
8
- FsError,
9
5
  PublicDiagnostic,
6
+ publicDiagnosticMessage
7
+ } from "./chunk-TTTOMUAY.js";
8
+ import {
9
+ resolvePath
10
+ } from "./chunk-DPJWEGIX.js";
11
+ import {
10
12
  getCommandArguments,
11
- publicDiagnosticMessage,
12
13
  shellValueByteLength,
13
- shellValueBytes,
14
+ shellValueBytes
15
+ } from "./chunk-UO33SQJU.js";
16
+ import {
17
+ FsError,
14
18
  yieldTurn
15
- } from "./chunk-5VBLSPNM.js";
19
+ } from "./chunk-FDGESHPB.js";
16
20
  import {
17
21
  init_platform
18
22
  } from "./chunk-2KL6W6NB.js";
@@ -1270,4 +1274,4 @@ export {
1270
1274
  createPrCommands,
1271
1275
  prCommands
1272
1276
  };
1273
- //# sourceMappingURL=chunk-VNDFKT6F.js.map
1277
+ //# sourceMappingURL=chunk-QX2X5EC5.js.map