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.
- package/dist/metafile.json +1 -1
- package/package.json +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-UO33SQJU.js → chunk-2PQ3XOCQ.js} +239 -2
- package/packages/safe-bash/dist/chunks/chunk-2PQ3XOCQ.js.map +7 -0
- package/packages/safe-bash/dist/chunks/{chunk-WISNTI7E.js → chunk-3Y5PKSHX.js} +7 -11
- package/packages/safe-bash/dist/chunks/{chunk-WISNTI7E.js.map → chunk-3Y5PKSHX.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-VY5N6O6I.js → chunk-BXVGCJXW.js} +108 -21
- package/packages/safe-bash/dist/chunks/chunk-BXVGCJXW.js.map +7 -0
- package/packages/safe-bash/dist/chunks/chunk-C7QNJ3D4.js +13 -0
- package/packages/safe-bash/dist/chunks/chunk-C7QNJ3D4.js.map +7 -0
- package/packages/safe-bash/dist/chunks/{chunk-AWP6Z3RR.js → chunk-E3NZKSTA.js} +8 -12
- package/packages/safe-bash/dist/chunks/{chunk-AWP6Z3RR.js.map → chunk-E3NZKSTA.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-WXUZXY35.js → chunk-FMTBJ7SG.js} +3 -3
- package/packages/safe-bash/dist/chunks/{chunk-QX2X5EC5.js → chunk-H6E6F5KJ.js} +7 -11
- package/packages/safe-bash/dist/chunks/{chunk-QX2X5EC5.js.map → chunk-H6E6F5KJ.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-IDJQT32M.js → chunk-HQCBEAFK.js} +7 -11
- package/packages/safe-bash/dist/chunks/{chunk-IDJQT32M.js.map → chunk-HQCBEAFK.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-4V3NGZAG.js → chunk-IYFB6VED.js} +6 -10
- package/packages/safe-bash/dist/chunks/{chunk-4V3NGZAG.js.map → chunk-IYFB6VED.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/chunk-KJYVSFGF.js +284 -0
- package/packages/safe-bash/dist/chunks/chunk-KJYVSFGF.js.map +7 -0
- package/packages/safe-bash/dist/chunks/{chunk-O7BRWSKX.js → chunk-LHKAA57T.js} +60 -17
- package/packages/safe-bash/dist/chunks/chunk-LHKAA57T.js.map +7 -0
- package/packages/safe-bash/dist/chunks/chunk-LR32SJ3D.js +915 -0
- package/packages/safe-bash/dist/chunks/chunk-LR32SJ3D.js.map +7 -0
- package/packages/safe-bash/dist/chunks/{chunk-EUNOVYVT.js → chunk-OECKXHVJ.js} +2 -2
- package/packages/safe-bash/dist/chunks/{chunk-DKT746UJ.js → chunk-PE5NZIA2.js} +5 -9
- package/packages/safe-bash/dist/chunks/{chunk-DKT746UJ.js.map → chunk-PE5NZIA2.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-4JW32W4B.js → chunk-PMBBUNNN.js} +7 -11
- package/packages/safe-bash/dist/chunks/{chunk-4JW32W4B.js.map → chunk-PMBBUNNN.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-YFFFBLBC.js → chunk-TJVKGNKA.js} +6 -10
- package/packages/safe-bash/dist/chunks/{chunk-YFFFBLBC.js.map → chunk-TJVKGNKA.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-FIY2BMTU.js → chunk-W3TLNFDB.js} +8 -12
- package/packages/safe-bash/dist/chunks/{chunk-FIY2BMTU.js.map → chunk-W3TLNFDB.js.map} +1 -1
- package/packages/safe-bash/dist/chunks/{chunk-PPFWG34Y.js → chunk-XBLVOMEJ.js} +2 -2
- package/packages/safe-bash/dist/chunks/{chunk-WJWYJDQE.js → chunk-XYVCXUGM.js} +7 -11
- package/packages/safe-bash/dist/chunks/{chunk-WJWYJDQE.js.map → chunk-XYVCXUGM.js.map} +1 -1
- package/packages/safe-bash/dist/commands/csplit/index.browser.js +4 -6
- package/packages/safe-bash/dist/commands/factor/index.browser.js +3 -5
- package/packages/safe-bash/dist/commands/getopt/index.browser.js +3 -5
- package/packages/safe-bash/dist/commands/hexdump/index.browser.js +3 -5
- package/packages/safe-bash/dist/commands/iconv/index.browser.js +3 -5
- package/packages/safe-bash/dist/commands/line-endings/index.browser.js +4 -6
- package/packages/safe-bash/dist/commands/llm/command.d.ts +3 -2
- package/packages/safe-bash/dist/commands/llm/command.d.ts.map +1 -1
- package/packages/safe-bash/dist/commands/llm/command.js +260 -181
- package/packages/safe-bash/dist/commands/llm/command.js.map +1 -1
- package/packages/safe-bash/dist/commands/llm/elevenlabs-stream.d.ts +3 -0
- package/packages/safe-bash/dist/commands/llm/elevenlabs-stream.d.ts.map +1 -0
- package/packages/safe-bash/dist/commands/llm/elevenlabs-stream.js +118 -0
- package/packages/safe-bash/dist/commands/llm/elevenlabs-stream.js.map +1 -0
- package/packages/safe-bash/dist/commands/llm/elevenlabs.d.ts +16 -0
- package/packages/safe-bash/dist/commands/llm/elevenlabs.d.ts.map +1 -0
- package/packages/safe-bash/dist/commands/llm/elevenlabs.js +120 -0
- package/packages/safe-bash/dist/commands/llm/elevenlabs.js.map +1 -0
- package/packages/safe-bash/dist/commands/llm/index.browser.js +10 -4
- package/packages/safe-bash/dist/commands/llm/index.d.ts +5 -5
- package/packages/safe-bash/dist/commands/llm/index.d.ts.map +1 -1
- package/packages/safe-bash/dist/commands/llm/index.js +3 -11
- package/packages/safe-bash/dist/commands/llm/index.js.map +1 -1
- package/packages/safe-bash/dist/commands/llm/mime.d.ts +2 -1
- package/packages/safe-bash/dist/commands/llm/mime.d.ts.map +1 -1
- package/packages/safe-bash/dist/commands/llm/mime.js +125 -21
- package/packages/safe-bash/dist/commands/llm/mime.js.map +1 -1
- package/packages/safe-bash/dist/commands/llm/openai-http.d.ts +9 -0
- package/packages/safe-bash/dist/commands/llm/openai-http.d.ts.map +1 -0
- package/packages/safe-bash/dist/commands/llm/openai-http.js +144 -0
- package/packages/safe-bash/dist/commands/llm/openai-http.js.map +1 -0
- package/packages/safe-bash/dist/commands/llm/openai-sse.d.ts +3 -0
- package/packages/safe-bash/dist/commands/llm/openai-sse.d.ts.map +1 -0
- package/packages/safe-bash/dist/commands/llm/openai-sse.js +67 -0
- package/packages/safe-bash/dist/commands/llm/openai-sse.js.map +1 -0
- package/packages/safe-bash/dist/commands/llm/openai.d.ts +15 -0
- package/packages/safe-bash/dist/commands/llm/openai.d.ts.map +1 -0
- package/packages/safe-bash/dist/commands/llm/openai.js +203 -0
- package/packages/safe-bash/dist/commands/llm/openai.js.map +1 -0
- package/packages/safe-bash/dist/commands/llm/providers/elevenlabs.d.ts +1 -15
- package/packages/safe-bash/dist/commands/llm/providers/elevenlabs.d.ts.map +1 -1
- package/packages/safe-bash/dist/commands/llm/providers/elevenlabs.js +1 -50
- package/packages/safe-bash/dist/commands/llm/providers/elevenlabs.js.map +1 -1
- package/packages/safe-bash/dist/commands/llm/providers/index.browser.js +2 -4
- package/packages/safe-bash/dist/commands/llm/providers/openai.d.ts +1 -14
- package/packages/safe-bash/dist/commands/llm/providers/openai.d.ts.map +1 -1
- package/packages/safe-bash/dist/commands/llm/providers/openai.js +1 -77
- package/packages/safe-bash/dist/commands/llm/providers/openai.js.map +1 -1
- package/packages/safe-bash/dist/commands/llm/providers/shared.d.ts +4 -14
- package/packages/safe-bash/dist/commands/llm/providers/shared.d.ts.map +1 -1
- package/packages/safe-bash/dist/commands/llm/providers/shared.js +3 -156
- package/packages/safe-bash/dist/commands/llm/providers/shared.js.map +1 -1
- package/packages/safe-bash/dist/commands/network/index.browser.js +8 -13
- package/packages/safe-bash/dist/commands/pr/index.browser.js +3 -5
- package/packages/safe-bash/dist/commands/tsort/index.browser.js +3 -5
- package/packages/safe-bash/dist/commands/xml/index.browser.js +4 -7
- package/packages/safe-bash/dist/commands/yq/index.browser.js +5 -8
- package/packages/safe-bash/dist/core.browser.js +36 -43
- package/packages/safe-bash/dist/core.browser.js.map +1 -1
- package/packages/safe-bash/dist/chunks/chunk-BZUQJTOZ.js +0 -322
- package/packages/safe-bash/dist/chunks/chunk-BZUQJTOZ.js.map +0 -7
- package/packages/safe-bash/dist/chunks/chunk-EUTSYRNM.js +0 -111
- package/packages/safe-bash/dist/chunks/chunk-EUTSYRNM.js.map +0 -7
- package/packages/safe-bash/dist/chunks/chunk-F5AOPLRZ.js +0 -355
- package/packages/safe-bash/dist/chunks/chunk-F5AOPLRZ.js.map +0 -7
- package/packages/safe-bash/dist/chunks/chunk-FDGESHPB.js +0 -224
- package/packages/safe-bash/dist/chunks/chunk-FDGESHPB.js.map +0 -7
- package/packages/safe-bash/dist/chunks/chunk-KYU6MXVK.js +0 -58
- package/packages/safe-bash/dist/chunks/chunk-KYU6MXVK.js.map +0 -7
- package/packages/safe-bash/dist/chunks/chunk-O7BRWSKX.js.map +0 -7
- package/packages/safe-bash/dist/chunks/chunk-TTTOMUAY.js +0 -33
- package/packages/safe-bash/dist/chunks/chunk-TTTOMUAY.js.map +0 -7
- package/packages/safe-bash/dist/chunks/chunk-UO33SQJU.js.map +0 -7
- package/packages/safe-bash/dist/chunks/chunk-VY5N6O6I.js.map +0 -7
- /package/packages/safe-bash/dist/chunks/{chunk-WXUZXY35.js.map → chunk-FMTBJ7SG.js.map} +0 -0
- /package/packages/safe-bash/dist/chunks/{chunk-EUNOVYVT.js.map → chunk-OECKXHVJ.js.map} +0 -0
- /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/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
|
}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createOutputOperation
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import {
|
|
5
|
-
PublicDiagnostic
|
|
6
|
-
} from "./chunk-TTTOMUAY.js";
|
|
3
|
+
} from "./chunk-OECKXHVJ.js";
|
|
7
4
|
import {
|
|
5
|
+
FsError,
|
|
6
|
+
PublicDiagnostic,
|
|
8
7
|
getCommandArguments,
|
|
9
8
|
shellValueByteLength,
|
|
10
|
-
shellValueBytes
|
|
11
|
-
} from "./chunk-UO33SQJU.js";
|
|
12
|
-
import {
|
|
13
|
-
FsError,
|
|
9
|
+
shellValueBytes,
|
|
14
10
|
yieldTurn
|
|
15
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-2PQ3XOCQ.js";
|
|
16
12
|
import {
|
|
17
13
|
init_platform
|
|
18
14
|
} from "./chunk-2KL6W6NB.js";
|
|
@@ -530,4 +526,4 @@ export {
|
|
|
530
526
|
createFactorCommands,
|
|
531
527
|
factorCommands
|
|
532
528
|
};
|
|
533
|
-
//# sourceMappingURL=chunk-
|
|
529
|
+
//# sourceMappingURL=chunk-IYFB6VED.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/commands/factor/index.ts", "../../src/commands/factor/command.ts", "../../src/commands/factor/internal.ts", "../../src/commands/factor/io.ts", "../../src/commands/factor/factor.ts"],
|
|
4
4
|
"sourcesContent": ["import type { CommandDefinition, VirtualShellPlugin } from \"../../contracts/index.js\";\nimport { createFactorCommand } from \"./command.js\";\nimport type { FactorCommandsOptions } from \"./internal.js\";\n\nexport { createFactorCommand } from \"./command.js\";\nexport type { FactorCommandsOptions, FactorLimits } from \"./internal.js\";\n\nexport function createFactorCommands(options: FactorCommandsOptions = {}): readonly CommandDefinition[] {\n return [createFactorCommand(options)];\n}\n\nexport function factorCommands(options: FactorCommandsOptions = {}): VirtualShellPlugin {\n const commands = createFactorCommands(options);\n return { name: \"factor-commands\", setup(host) {\n for (const command of commands) host.commands.register(command, { replace: options.replace ?? false });\n } };\n}\n", "import type { CommandDefinition } from \"../../contracts/index.js\";\nimport { createOutputOperation } from \"../../contracts/output.js\";\nimport { Budget, FactorError, bytes, quote, settings, type FactorCommandsOptions } from \"./internal.js\";\nimport { Lifecycle, RecordWriter, TokenReader } from \"./io.js\";\nimport { factorRecord, parseNumber } from \"./factor.js\";\n\nexport function createFactorCommand(options: FactorCommandsOptions = {}): CommandDefinition {\n const limits = settings(options);\n return { name: \"factor\", description: \"Print prime factors of bounded nonnegative integers\", 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 operands: string[] = [];\n let optionsEnded = false, debug = false;\n let information: \"help\" | \"version\" | undefined;\n for (const argument of budget.arguments()) {\n if (!optionsEnded && argument === \"--\") { optionsEnded = true; continue; }\n if (!optionsEnded && argument.startsWith(\"--\")) {\n const equals = argument.indexOf(\"=\");\n const option = equals < 0 ? argument.slice(2) : argument.slice(2, equals);\n const matches = [\"-debug\", \"help\", \"version\"].filter(name => name.startsWith(option));\n if (matches.length > 1) throw new FactorError(`option '${argument}' is ambiguous; possibilities: ${matches.map(name => `'--${name}'`).join(\" \")}`, true);\n const matched = matches[0];\n if (!matched) throw new FactorError(`unrecognized option '${argument}'`, true);\n if (equals >= 0) throw new FactorError(`option '--${matched}' doesn't allow an argument`, true);\n if (matched === \"-debug\") debug = true;\n else { information = matched as \"help\" | \"version\"; break; }\n } else {\n if (!optionsEnded && argument.length > 1 && argument.startsWith(\"-\")) throw new FactorError(`invalid option -- '${argument[1]}'`, true);\n operands.push(argument);\n if (context.env.POSIXLY_CORRECT !== undefined) optionsEnded = true;\n }\n }\n if (information) {\n const message = information === \"version\" ? \"factor (virtual-bash)\\n\" : `Usage: factor [NUMBER]...\\nPrint prime factors; with no numbers, read standard input.\\nOptions: --help --version\\nMaximum supported value: ${limits.maxValue}\\n`;\n budget.outputRoom(message.length);\n await lifecycle.write(bytes(message));\n } else {\n const writer = new RecordWriter(lifecycle);\n const process = async (input: string): Promise<void> => {\n budget.number();\n budget.check(input.length, limits.maxTokenBytes, \"token bytes\");\n const value = await parseNumber(input, budget);\n if (typeof value === \"string\") {\n exitCode = 1;\n const suffix = value === \"invalid\" ? \" is not a valid positive integer\\n\" : ` exceeds supported maximum ${limits.maxValue}\\n`;\n await lifecycle!.diagnostic(`factor: ${quote(input, budget, 8 + suffix.length)}${suffix}`);\n } else {\n if (debug) await lifecycle!.diagnostic(\"[using single-precision arithmetic] \");\n await writer.append(await factorRecord(value, budget));\n }\n };\n if (operands.length) { for (const operand of operands) await process(operand); }\n else {\n const reader = new TokenReader(lifecycle);\n for (;;) {\n const token = await reader.next();\n if (token === undefined) break;\n try { await process(token); } finally { budget.retain(-token.length * 4); }\n }\n }\n await writer.finish();\n }\n } catch (error) {\n primary = { reason: error };\n if (error instanceof FactorError && !output.signal.aborted && lifecycle) {\n exitCode = 1;\n try { await lifecycle.diagnostic(`factor: ${error.message}\\n${error.usage ? \"Try 'factor --help' for more information.\\n\" : \"\"}`); }\n catch (reporting) { failure = { reason: new AggregateError([error, reporting], \"factor 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], \"factor 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 FactorLimits {\n readonly maxValue: number;\n readonly maxArguments: number;\n readonly maxArgumentBytes: number;\n readonly maxInputBytes: number;\n readonly maxTokenBytes: number;\n readonly maxNumbers: number;\n readonly maxBufferedBytes: number;\n readonly maxOutputBytes: number;\n readonly maxDiagnosticBytes: number;\n readonly maxWork: number;\n readonly maxEmptyChunks: number;\n}\n\nexport interface FactorCommandsOptions {\n readonly replace?: boolean;\n readonly limits?: Partial<FactorLimits>;\n}\n\nexport function settings(options: FactorCommandsOptions): FactorLimits {\n const limits: FactorLimits = {\n maxValue: 4_294_967_295, maxArguments: 4096, maxArgumentBytes: 65_536,\n maxInputBytes: 16_777_216, maxTokenBytes: 65_536, maxNumbers: 65_536,\n maxBufferedBytes: 4_194_304, maxOutputBytes: 16_777_216,\n maxDiagnosticBytes: 65_536, maxWork: 8_388_608, 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 factor limit: ${name}`);\n }\n if (limits.maxValue > 4_294_967_295) throw new RangeError(\"factor maxValue cannot exceed 4294967295\");\n return Object.freeze(limits);\n}\n\nexport class FactorError extends PublicDiagnostic {\n constructor(message: string, readonly usage = false) { super(message); }\n}\n\nexport function raw(value: Uint8Array): string {\n let result = \"\";\n for (let offset = 0; offset < value.length; offset += 4096) result += String.fromCharCode(...value.subarray(offset, offset + 4096));\n return result;\n}\n\nexport function bytes(value: string): Uint8Array {\n return Uint8Array.from(value, character => character.charCodeAt(0));\n}\n\nconst escapes: Readonly<Record<string, string>> = { \"\\x07\": \"\\\\a\", \"\\b\": \"\\\\b\", \"\\f\": \"\\\\f\", \"\\n\": \"\\\\n\", \"\\r\": \"\\\\r\", \"\\t\": \"\\\\t\", \"\\v\": \"\\\\v\", \"\\\\\": \"\\\\\\\\\", \"'\": \"\\\\'\" };\n\nexport function quote(value: string, budget: Budget, suffixLength: number): string {\n let length = 2;\n for (const character of value) {\n const code = character.charCodeAt(0);\n length += escapes[character]?.length ?? (code >= 32 && code < 127 ? 1 : 4);\n }\n budget.diagnosticRoom(length + suffixLength);\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 class Budget {\n private work = 0;\n private checkpoint = 0;\n private retained = 0;\n private input = 0;\n private numbers = 0;\n private output = 0;\n private diagnostics = 0;\n constructor(readonly context: CommandContext, readonly limits: FactorLimits, readonly signal: AbortSignal) {}\n check(value: number, maximum: number, label: string): void {\n if (!Number.isSafeInteger(value) || value < 0 || value > maximum) throw new FactorError(`${label} limit exceeded`);\n }\n charge(amount = 1): void {\n this.signal.throwIfAborted();\n this.check(this.work + amount, this.limits.maxWork, \"work\");\n this.work += amount;\n }\n async checkpointWork(): Promise<void> {\n this.signal.throwIfAborted();\n if (this.work - this.checkpoint >= 1024) { this.checkpoint = this.work; await yieldTurn(this.signal); }\n }\n retain(amount: number): void {\n this.check(this.retained + amount, this.limits.maxBufferedBytes, \"buffered bytes\");\n this.retained += amount;\n }\n number(): void { this.check(++this.numbers, this.limits.maxNumbers, \"numbers\"); this.charge(); }\n inputBytes(amount: number): void {\n this.check(this.input + amount, this.limits.maxInputBytes, \"input bytes\");\n this.input += amount;\n }\n outputRoom(amount: number): void { this.check(this.output + amount, this.limits.maxOutputBytes, \"output bytes\"); }\n diagnosticRoom(amount: number): void { this.check(this.diagnostics + amount, this.limits.maxDiagnosticBytes, \"diagnostic bytes\"); }\n emitted(amount: number, diagnostic: boolean): void {\n if (diagnostic) { this.diagnosticRoom(amount); this.diagnostics += amount; }\n else { this.outputRoom(amount); this.charge(amount); this.output += 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 FactorError(\"arguments must contain well-formed Unicode\");\n } else if (unit >= 0xdc00 && unit <= 0xdfff) throw new FactorError(\"arguments must contain well-formed Unicode\");\n }\n }\n total = 0;\n const values = this.context.argumentValues === undefined ? this.context.args : getCommandArguments(this.context).values;\n for (const argument of values) { total += shellValueByteLength(argument); this.check(total, this.limits.maxArgumentBytes, \"argument bytes\"); }\n this.charge(total);\n this.retain(total * 8 + this.context.args.length * 64 + 128);\n return getCommandArguments(this.context).values.map(argument => {\n const value = shellValueBytes(argument);\n if (value.includes(0)) throw new FactorError(\"NUL is not supported in arguments\");\n return raw(value);\n });\n }\n}\n", "import { FsError } from \"../../contracts/index.js\";\nimport type { OutputOperation } from \"../../contracts/output.js\";\nimport { Budget, FactorError, bytes, raw } 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 FactorError(\"command is closed\");\n }\n async operation<Value>(action: () => Value | Promise<Value>): Promise<Value> {\n this.assertOpen();\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) { try { await cleanup(); } catch (error) { failures.push(error); } }\n if (failures.length === 1) throw failures[0];\n if (failures.length > 1) throw new AggregateError(failures, \"factor cleanup failed\");\n });\n }\n async write(value: Uint8Array, diagnostic = false): Promise<void> {\n this.budget.emitted(value.length, diagnostic);\n await this.operation(async () => {\n const sink = diagnostic ? this.budget.context.stderr : this.budget.context.stdout;\n this.assertOpen();\n const destination = sink.ownedOutput ?? sink;\n this.assertOpen();\n const write = destination.write;\n this.assertOpen();\n await Reflect.apply(write, destination, [value]);\n });\n }\n async diagnostic(value: string): Promise<void> {\n this.budget.diagnosticRoom(value.length);\n await this.write(bytes(value), true);\n }\n}\n\nexport class TokenReader {\n private iterator: AsyncIterator<Uint8Array> | undefined;\n private chunk: Uint8Array = new Uint8Array();\n private token: Uint8Array = new Uint8Array();\n private offset = 0;\n private ended = false;\n private empties = 0;\n constructor(readonly lifecycle: Lifecycle) {\n lifecycle.cleanup(async () => {\n try { if (!this.ended) await this.iterator?.return?.(); }\n finally {\n this.iterator = undefined;\n lifecycle.budget.retain(-this.chunk.length - this.token.length);\n this.chunk = new Uint8Array();\n this.token = new Uint8Array();\n }\n });\n }\n private async get(): Promise<number> {\n const { budget } = this.lifecycle;\n budget.charge();\n await budget.checkpointWork();\n while (this.offset === this.chunk.length) {\n if (this.ended) return -1;\n let next: IteratorResult<Uint8Array>;\n try {\n if (!this.iterator) await this.lifecycle.operation(() => {\n const source = budget.context.stdin;\n this.lifecycle.assertOpen();\n const factory = source[Symbol.asyncIterator];\n this.lifecycle.assertOpen();\n this.iterator = Reflect.apply(factory, source, []);\n });\n budget.charge();\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 FactorError(`standard input: ${error.code === \"EIO\" ? \"Input/output error\" : error.message}`);\n throw error;\n }\n budget.retain(-this.chunk.length);\n this.chunk = new Uint8Array();\n this.offset = 0;\n if (next.done) { this.ended = true; this.iterator = undefined; return -1; }\n if (!(next.value instanceof Uint8Array)) throw new TypeError(\"factor input requires bytes\");\n budget.inputBytes(next.value.length);\n budget.charge(next.value.length);\n budget.retain(next.value.length);\n this.chunk = Uint8Array.from(next.value);\n if (!this.chunk.length) budget.check(++this.empties, budget.limits.maxEmptyChunks, \"empty input chunks\");\n }\n return this.chunk[this.offset++]!;\n }\n async next(): Promise<string | undefined> {\n const { budget } = this.lifecycle;\n let length = 0, kept = 0;\n let nul = false;\n for (;;) {\n const value = await this.get();\n if (value < 0 || value === 32 || value === 9 || value === 10) {\n if (length) { budget.charge(kept); budget.retain(kept * 4); return raw(this.token.subarray(0, kept)); }\n if (value < 0) return undefined;\n } else {\n budget.check(++length, budget.limits.maxTokenBytes, \"token bytes\");\n if (value === 0) nul = true;\n if (!nul) {\n if (kept === this.token.length) {\n const capacity = Math.min(budget.limits.maxTokenBytes, Math.max(64, this.token.length * 2));\n budget.retain(capacity);\n budget.charge(this.token.length);\n const grown = new Uint8Array(capacity);\n grown.set(this.token);\n budget.retain(-this.token.length);\n this.token = grown;\n }\n this.token[kept++] = value;\n }\n }\n }\n }\n}\n\nexport class RecordWriter {\n private buffer: Uint8Array;\n private used = 0;\n constructor(readonly lifecycle: Lifecycle) {\n lifecycle.budget.retain(1024);\n this.buffer = new Uint8Array(1024);\n lifecycle.cleanup(async () => { lifecycle.budget.retain(-this.buffer.length); this.buffer = new Uint8Array(); });\n }\n async append(record: string): Promise<void> {\n const { budget } = this.lifecycle;\n this.lifecycle.assertOpen();\n budget.outputRoom(this.used + record.length);\n budget.charge(record.length);\n for (let offset = 0; offset < record.length; offset++) this.buffer[this.used++] = record.charCodeAt(offset);\n if (this.used >= 512) {\n let end = 512;\n while (this.buffer[end - 1] !== 10) end--;\n await this.lifecycle.write(this.buffer.subarray(0, end));\n this.buffer.copyWithin(0, end, this.used);\n this.used -= end;\n }\n }\n async finish(): Promise<void> {\n if (this.used) { await this.lifecycle.write(this.buffer.subarray(0, this.used)); this.used = 0; }\n }\n}\n", "import { Budget } from \"./internal.js\";\n\nexport async function parseNumber(input: string, budget: Budget): Promise<number | \"invalid\" | \"large\"> {\n let start = 0;\n while (input[start] === \" \") { budget.charge(); start++; await budget.checkpointWork(); }\n if (input[start] === \"+\") start++;\n if (start === input.length) return \"invalid\";\n let result = 0, large = false;\n for (let offset = start; offset < input.length; offset++) {\n budget.charge();\n const digit = input.charCodeAt(offset) - 48;\n if (digit < 0 || digit > 9) return \"invalid\";\n if (!large) {\n if (result > Math.floor((budget.limits.maxValue - digit) / 10)) large = true;\n else result = result * 10 + digit;\n }\n await budget.checkpointWork();\n }\n return large ? \"large\" : result;\n}\n\nexport async function factorRecord(value: number, budget: Budget): Promise<string> {\n let remaining = value;\n const factors: number[] = [];\n budget.retain(512);\n try {\n for (let divisor = 2; divisor * divisor <= remaining; divisor = divisor === 2 ? 3 : divisor + 2) {\n for (;;) {\n budget.charge();\n await budget.checkpointWork();\n if (remaining % divisor !== 0) break;\n budget.charge(2);\n factors.push(divisor);\n remaining /= divisor;\n }\n }\n if (remaining > 1) factors.push(remaining);\n budget.charge(1 + factors.length * 11);\n return `${value}:${factors.map(factor => ` ${factor}`).join(\"\")}\\n`;\n } finally { budget.retain(-512); }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import {
|
|
2
|
+
acceptsMimeType,
|
|
3
|
+
sniffMimeType
|
|
4
|
+
} from "./chunk-LR32SJ3D.js";
|
|
5
|
+
import {
|
|
6
|
+
pathOf,
|
|
7
|
+
writeDiagnostic
|
|
8
|
+
} from "./chunk-LHKAA57T.js";
|
|
9
|
+
import {
|
|
10
|
+
createOutputOperation
|
|
11
|
+
} from "./chunk-OECKXHVJ.js";
|
|
12
|
+
import {
|
|
13
|
+
FsError,
|
|
14
|
+
getCommandArguments,
|
|
15
|
+
inheritYieldCheckpoint,
|
|
16
|
+
yieldTurn
|
|
17
|
+
} from "./chunk-2PQ3XOCQ.js";
|
|
18
|
+
import {
|
|
19
|
+
init_platform
|
|
20
|
+
} from "./chunk-2KL6W6NB.js";
|
|
21
|
+
|
|
22
|
+
// packages/safe-bash/src/commands/llm/index.ts
|
|
23
|
+
init_platform();
|
|
24
|
+
|
|
25
|
+
// packages/safe-bash/src/commands/llm/command.ts
|
|
26
|
+
init_platform();
|
|
27
|
+
var maxBytes = 64 * 1024 * 1024;
|
|
28
|
+
async function parse(length, text, step) {
|
|
29
|
+
const parsed = { prompt: "", options: /* @__PURE__ */ Object.create(null), attachments: [] };
|
|
30
|
+
const operands = [];
|
|
31
|
+
let ended = false;
|
|
32
|
+
for (let index = 0; index < length; index++) {
|
|
33
|
+
await step();
|
|
34
|
+
const argument = text(index);
|
|
35
|
+
if (ended || !argument.startsWith("-") || argument === "-") {
|
|
36
|
+
operands.push(argument);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (argument === "--") {
|
|
40
|
+
ended = true;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const equals = argument.indexOf("=");
|
|
44
|
+
const long = argument.startsWith("--");
|
|
45
|
+
const flag = long ? argument.slice(0, equals < 0 ? void 0 : equals) : argument.slice(0, 2);
|
|
46
|
+
const attached = long ? equals < 0 ? void 0 : argument.slice(equals + 1) : argument.length > 2 ? argument.slice(2) : void 0;
|
|
47
|
+
const take = () => {
|
|
48
|
+
if (++index >= length) throw new Error(`Option ${flag} requires an argument`);
|
|
49
|
+
return text(index);
|
|
50
|
+
};
|
|
51
|
+
if (!["-m", "--model", "-s", "--system", "-o", "--option", "-a", "--attachment", "--at"].includes(flag)) throw new Error(`Unknown option: ${flag}`);
|
|
52
|
+
const value = attached ?? take();
|
|
53
|
+
if (flag === "-m" || flag === "--model") parsed.model = value;
|
|
54
|
+
else if (flag === "-s" || flag === "--system") parsed.system = value;
|
|
55
|
+
else if (flag === "-o" || flag === "--option") parsed.options[value] = take();
|
|
56
|
+
else if (flag === "--at") parsed.attachments.push({ path: value, mimeType: take() });
|
|
57
|
+
else parsed.attachments.push({ path: value });
|
|
58
|
+
}
|
|
59
|
+
parsed.prompt = operands.join(" ");
|
|
60
|
+
return parsed;
|
|
61
|
+
}
|
|
62
|
+
function modelsFor(providers) {
|
|
63
|
+
const models = [], lookup = /* @__PURE__ */ new Map();
|
|
64
|
+
for (const provider of providers) {
|
|
65
|
+
if (!provider.name || typeof provider.complete !== "function") throw new TypeError("Providers require a name and complete function");
|
|
66
|
+
for (const declared of provider.models) {
|
|
67
|
+
if (!declared.id) throw new TypeError("Models require a nonempty id");
|
|
68
|
+
const model = Object.freeze({
|
|
69
|
+
...declared,
|
|
70
|
+
...declared.aliases ? { aliases: Object.freeze([...declared.aliases]) } : {},
|
|
71
|
+
...declared.attachmentTypes ? { attachmentTypes: Object.freeze([...declared.attachmentTypes]) } : {}
|
|
72
|
+
});
|
|
73
|
+
const entry = { provider, model };
|
|
74
|
+
for (const name of /* @__PURE__ */ new Set([model.id, `${provider.name}/${model.id}`, ...model.aliases ?? []])) {
|
|
75
|
+
if (!name) throw new TypeError("Model aliases must not be empty");
|
|
76
|
+
if (lookup.has(name)) throw new Error(`Duplicate model id or alias: ${name}`);
|
|
77
|
+
lookup.set(name, entry);
|
|
78
|
+
}
|
|
79
|
+
models.push(entry);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return { models, lookup };
|
|
83
|
+
}
|
|
84
|
+
async function interrupted(start, signal) {
|
|
85
|
+
signal.throwIfAborted();
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
87
|
+
const aborted = () => reject(signal.reason);
|
|
88
|
+
signal.addEventListener("abort", aborted, { once: true });
|
|
89
|
+
Promise.resolve().then(() => {
|
|
90
|
+
signal.throwIfAborted();
|
|
91
|
+
return start();
|
|
92
|
+
}).then(
|
|
93
|
+
(value) => {
|
|
94
|
+
signal.removeEventListener("abort", aborted);
|
|
95
|
+
resolve(value);
|
|
96
|
+
},
|
|
97
|
+
(error) => {
|
|
98
|
+
signal.removeEventListener("abort", aborted);
|
|
99
|
+
reject(error);
|
|
100
|
+
}
|
|
101
|
+
);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
async function execute(context, lookup, models, defaultModel) {
|
|
105
|
+
context.signal.throwIfAborted();
|
|
106
|
+
const controller = new AbortController();
|
|
107
|
+
const operation = createOutputOperation(context, context.stdout);
|
|
108
|
+
const signal = AbortSignal.any([operation.signal, controller.signal]);
|
|
109
|
+
inheritYieldCheckpoint(context.signal, signal);
|
|
110
|
+
let iterator;
|
|
111
|
+
let closed = false;
|
|
112
|
+
let ended = false;
|
|
113
|
+
operation.registerCleanup(() => {
|
|
114
|
+
if (closed) return;
|
|
115
|
+
closed = true;
|
|
116
|
+
controller.abort(new Error("llm request closed"));
|
|
117
|
+
if (!ended && iterator) {
|
|
118
|
+
const resource = iterator;
|
|
119
|
+
void Promise.resolve().then(() => resource.return?.()).catch(() => {
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
let work = 0;
|
|
124
|
+
const step = async () => {
|
|
125
|
+
signal.throwIfAborted();
|
|
126
|
+
if (closed) throw new Error("LLM invocation is closed");
|
|
127
|
+
if (++work > 1e6) throw new Error("LLM work limit exceeded");
|
|
128
|
+
if (work % 256 === 0) await yieldTurn(signal);
|
|
129
|
+
};
|
|
130
|
+
let writing = false;
|
|
131
|
+
const write = async (chunk) => {
|
|
132
|
+
writing = true;
|
|
133
|
+
await operation.output.write(chunk);
|
|
134
|
+
writing = false;
|
|
135
|
+
};
|
|
136
|
+
const emitText = async (text) => {
|
|
137
|
+
for (let offset = 0; offset < text.length; ) {
|
|
138
|
+
await step();
|
|
139
|
+
let end = Math.min(text.length, offset + 16384);
|
|
140
|
+
const last = text.charCodeAt(end - 1);
|
|
141
|
+
if (end < text.length && last >= 55296 && last <= 56319) end--;
|
|
142
|
+
await write(new TextEncoder().encode(text.slice(offset, end)));
|
|
143
|
+
offset = end;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
let inputBytes = 0;
|
|
147
|
+
let argumentBytes = 0;
|
|
148
|
+
const inputLimit = Math.min(maxBytes, context.inputBudget?.maxBytes ?? maxBytes);
|
|
149
|
+
const checkInput = (size) => {
|
|
150
|
+
context.inputBudget?.check(inputBytes + size);
|
|
151
|
+
if (size > inputLimit - inputBytes) throw new FsError("EFBIG", { message: "llm input byte limit exceeded" });
|
|
152
|
+
};
|
|
153
|
+
const admitInput = (size) => {
|
|
154
|
+
checkInput(size);
|
|
155
|
+
inputBytes += size;
|
|
156
|
+
};
|
|
157
|
+
try {
|
|
158
|
+
const argumentsValue = getCommandArguments(context);
|
|
159
|
+
const argumentText = (index) => {
|
|
160
|
+
const bytes = argumentsValue.bytes(index);
|
|
161
|
+
if (!bytes) throw new Error("Missing option argument");
|
|
162
|
+
if (bytes.byteLength > maxBytes - argumentBytes) throw new Error("LLM argument byte limit exceeded");
|
|
163
|
+
argumentBytes += bytes.byteLength;
|
|
164
|
+
return new TextDecoder("utf-8", { fatal: true }).decode(bytes);
|
|
165
|
+
};
|
|
166
|
+
if (argumentsValue.args.length === 1 && ["--help", "-h"].includes(argumentsValue.args[0])) {
|
|
167
|
+
argumentText(0);
|
|
168
|
+
await emitText("Usage: llm [prompt] [-m MODEL] [-s SYSTEM] [-o KEY VALUE] [-a PATH] [--at PATH MIMETYPE]\n llm models\nOptions: --model, --system, --option, --attachment; -- ends options\n");
|
|
169
|
+
return { exitCode: 0 };
|
|
170
|
+
}
|
|
171
|
+
const args = await parse(argumentsValue.args.length, argumentText, step);
|
|
172
|
+
if (argumentsValue.args[0] === "models" && args.prompt === "models" && !args.attachments.length) {
|
|
173
|
+
for (const { provider, model } of models) {
|
|
174
|
+
await step();
|
|
175
|
+
await emitText(`${provider.name}/${model.id} aliases: ${model.aliases?.join(", ") || "-"} attachments: ${model.attachmentTypes?.join(", ") || "-"} output: ${model.outputType ?? "text/plain"}
|
|
176
|
+
`);
|
|
177
|
+
}
|
|
178
|
+
return { exitCode: 0 };
|
|
179
|
+
}
|
|
180
|
+
const selected = args.model ?? defaultModel;
|
|
181
|
+
if (selected === void 0) throw new Error("No model selected; use --model or configure defaultModel");
|
|
182
|
+
const entry = lookup.get(selected);
|
|
183
|
+
if (!entry) throw new Error(`Unknown model: ${selected}`);
|
|
184
|
+
const fragments = [];
|
|
185
|
+
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
186
|
+
const input = await operation.acquire(() => context.stdinInput ? { next: () => context.stdinInput.read(Math.min(65536, inputLimit - inputBytes + 1), signal) } : context.stdin[Symbol.asyncIterator](), async (iterator2) => {
|
|
187
|
+
await iterator2.return?.();
|
|
188
|
+
});
|
|
189
|
+
while (true) {
|
|
190
|
+
await step();
|
|
191
|
+
const result = await interrupted(() => input.next(), signal);
|
|
192
|
+
signal.throwIfAborted();
|
|
193
|
+
if (result.done) break;
|
|
194
|
+
const chunk = result.value;
|
|
195
|
+
if (!(chunk instanceof Uint8Array)) throw new TypeError("Byte sources must yield Uint8Array chunks");
|
|
196
|
+
admitInput(chunk.byteLength);
|
|
197
|
+
fragments.push(decoder.decode(chunk, { stream: true }));
|
|
198
|
+
}
|
|
199
|
+
fragments.push(decoder.decode());
|
|
200
|
+
const content = fragments.join("");
|
|
201
|
+
const attachments = [];
|
|
202
|
+
for (const attachment of args.attachments) {
|
|
203
|
+
await step();
|
|
204
|
+
if (attachment.path.includes("://")) throw new Error("URL attachments are not supported");
|
|
205
|
+
const path = pathOf(context, attachment.path);
|
|
206
|
+
const stat = await interrupted(() => context.fs.stat(path, { signal }), signal);
|
|
207
|
+
checkInput(stat.size);
|
|
208
|
+
const bytes = await interrupted(() => context.fs.readFile(path, { signal, maxBytes: inputLimit - inputBytes }), signal);
|
|
209
|
+
signal.throwIfAborted();
|
|
210
|
+
if (!(bytes instanceof Uint8Array)) throw new TypeError("Attachment read must return Uint8Array");
|
|
211
|
+
admitInput(bytes.byteLength);
|
|
212
|
+
const mimeType = attachment.mimeType ?? sniffMimeType(path, bytes);
|
|
213
|
+
if (!acceptsMimeType(entry.model.attachmentTypes ?? [], mimeType)) throw new Error(`Model ${entry.model.id} does not accept ${mimeType}`);
|
|
214
|
+
attachments.push({ mimeType, bytes: new Uint8Array(bytes) });
|
|
215
|
+
}
|
|
216
|
+
const request = {
|
|
217
|
+
model: entry.model.id,
|
|
218
|
+
prompt: content && args.prompt ? `${content}
|
|
219
|
+
|
|
220
|
+
${args.prompt}` : content || args.prompt,
|
|
221
|
+
...args.system === void 0 ? {} : { system: args.system },
|
|
222
|
+
attachments,
|
|
223
|
+
options: args.options,
|
|
224
|
+
signal
|
|
225
|
+
};
|
|
226
|
+
signal.throwIfAborted();
|
|
227
|
+
iterator = entry.provider.complete(request)[Symbol.asyncIterator]();
|
|
228
|
+
const text = (entry.model.outputType ?? "text/plain").toLowerCase().startsWith("text/");
|
|
229
|
+
let pendingSurrogate = "";
|
|
230
|
+
while (true) {
|
|
231
|
+
await step();
|
|
232
|
+
const result = await interrupted(() => iterator.next(), signal);
|
|
233
|
+
signal.throwIfAborted();
|
|
234
|
+
if (result.done) {
|
|
235
|
+
ended = true;
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
if (text ? typeof result.value !== "string" : !(result.value instanceof Uint8Array)) throw new Error(`Provider ${entry.provider.name} returned a response chunk incompatible with ${entry.model.outputType ?? "text/plain"}`);
|
|
239
|
+
if (typeof result.value === "string") {
|
|
240
|
+
let chunk = pendingSurrogate + result.value;
|
|
241
|
+
const last = chunk.charCodeAt(chunk.length - 1);
|
|
242
|
+
pendingSurrogate = last >= 55296 && last <= 56319 ? chunk.slice(-1) : "";
|
|
243
|
+
if (pendingSurrogate) chunk = chunk.slice(0, -1);
|
|
244
|
+
if (chunk) await emitText(chunk);
|
|
245
|
+
} else await write(result.value);
|
|
246
|
+
}
|
|
247
|
+
if (text) {
|
|
248
|
+
if (pendingSurrogate) await emitText(pendingSurrogate);
|
|
249
|
+
await write(Uint8Array.of(10));
|
|
250
|
+
}
|
|
251
|
+
return { exitCode: 0 };
|
|
252
|
+
} catch (error) {
|
|
253
|
+
context.signal.throwIfAborted();
|
|
254
|
+
operation.signal.throwIfAborted();
|
|
255
|
+
controller.abort(error);
|
|
256
|
+
if (writing) throw error;
|
|
257
|
+
await operation.close();
|
|
258
|
+
await writeDiagnostic(context.stderr, `${error instanceof Error ? error.message.slice(0, 4096) : "llm provider failed"}
|
|
259
|
+
`, context.signal);
|
|
260
|
+
return { exitCode: 1 };
|
|
261
|
+
} finally {
|
|
262
|
+
controller.abort(new Error("llm request closed"));
|
|
263
|
+
await operation.close();
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
function createLlmCommands(options) {
|
|
267
|
+
const { models, lookup } = modelsFor(options.providers);
|
|
268
|
+
const defaultModel = options.defaultModel;
|
|
269
|
+
return [{ name: "llm", description: "Query injected language and media models", execute: (context) => execute(context, lookup, models, defaultModel) }];
|
|
270
|
+
}
|
|
271
|
+
function llmCommands(options) {
|
|
272
|
+
const definitions = createLlmCommands(options);
|
|
273
|
+
const replace = options.replace ?? false;
|
|
274
|
+
return { name: "llm-commands", setup(host) {
|
|
275
|
+
if (!replace && host.commands.has("llm")) throw new Error("Command already registered: llm");
|
|
276
|
+
for (const definition of definitions) host.commands.register(definition, { replace });
|
|
277
|
+
} };
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export {
|
|
281
|
+
createLlmCommands,
|
|
282
|
+
llmCommands
|
|
283
|
+
};
|
|
284
|
+
//# sourceMappingURL=chunk-KJYVSFGF.js.map
|