@poe-platform/safe-js 0.1.728 → 0.1.730
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/README.md +1 -1
- package/dist/safe-js/chunks/{chunk-GZT57PW4.js → chunk-3LSNBW5N.js} +3 -3
- package/dist/safe-js/chunks/{chunk-EBNKJYZV.js → chunk-EA7AHM2X.js} +2 -2
- package/dist/safe-js/chunks/{chunk-EZEB4AIH.js → chunk-EN724VH3.js} +3 -3
- package/dist/safe-js/chunks/{chunk-4QDOJTAL.js → chunk-LRSWTDIV.js} +6 -5
- package/dist/safe-js/chunks/chunk-LRSWTDIV.js.map +7 -0
- package/dist/safe-js/chunks/{chunk-IZX26NC7.js → chunk-MRULOD5J.js} +2 -2
- package/dist/safe-js/chunks/{chunk-VW2VLHK2.js → chunk-MVLDRXWS.js} +2 -2
- package/dist/safe-js/chunks/{chunk-BRBOVGNC.js → chunk-MW2QLYVN.js} +5 -5
- package/dist/safe-js/chunks/chunk-MW2QLYVN.js.map +7 -0
- package/dist/safe-js/chunks/{chunk-ZSIY6K54.js → chunk-S5YDMMM3.js} +64 -58
- package/dist/safe-js/chunks/{chunk-ZSIY6K54.js.map → chunk-S5YDMMM3.js.map} +3 -3
- package/dist/safe-js/chunks/{chunk-ZTKMQHXB.js → chunk-VIMROAQA.js} +2 -2
- package/dist/safe-js/chunks/{chunk-TFLQJ5NE.js → chunk-W3IY6FKO.js} +2 -2
- package/dist/safe-js/chunks/{chunk-RXESEKV6.js → chunk-XX57YCGZ.js} +6 -7
- package/dist/safe-js/chunks/chunk-XX57YCGZ.js.map +7 -0
- package/dist/safe-js/chunks/{cli-runtime-OZPDDD6M.js → cli-runtime-WSVW5DNT.js} +11 -11
- package/dist/safe-js/chunks/{dump-3TMEMH6D.js → dump-UNYK24YS.js} +3 -3
- package/dist/safe-js/chunks/{fs-YSBEA2WW.js → fs-AOV77RQC.js} +3 -3
- package/dist/safe-js/chunks/{harness-YC3FLN5N.js → harness-ZIEO7NAV.js} +3 -3
- package/dist/safe-js/chunks/mcp-E2AJXEQM.js +11 -0
- package/dist/safe-js/chunks/{migration-file-IFKOIPNA.js → migration-file-3SWGNDS2.js} +4 -4
- package/dist/safe-js/chunks/{restore-ZOAQTM7X.js → restore-FCTWPLU3.js} +4 -4
- package/dist/safe-js/chunks/{run-XH62V323.js → run-ESJHEXCE.js} +6 -6
- package/dist/safe-js/chunks/{runtime-modules-BUR3QGOJ.js → runtime-modules-7V6BWCRK.js} +3 -3
- package/dist/safe-js/cli.js +2 -2
- package/dist/safe-js/core.js +5 -5
- package/dist/safe-js/index.js +12 -13
- package/dist/safe-js/index.js.map +2 -2
- package/package.json +3 -2
- package/dist/safe-js/chunks/chunk-4QDOJTAL.js.map +0 -7
- package/dist/safe-js/chunks/chunk-BRBOVGNC.js.map +0 -7
- package/dist/safe-js/chunks/chunk-RXESEKV6.js.map +0 -7
- package/dist/safe-js/chunks/mcp-3GOG43VR.js +0 -11
- /package/dist/safe-js/chunks/{chunk-GZT57PW4.js.map → chunk-3LSNBW5N.js.map} +0 -0
- /package/dist/safe-js/chunks/{chunk-EBNKJYZV.js.map → chunk-EA7AHM2X.js.map} +0 -0
- /package/dist/safe-js/chunks/{chunk-EZEB4AIH.js.map → chunk-EN724VH3.js.map} +0 -0
- /package/dist/safe-js/chunks/{chunk-IZX26NC7.js.map → chunk-MRULOD5J.js.map} +0 -0
- /package/dist/safe-js/chunks/{chunk-VW2VLHK2.js.map → chunk-MVLDRXWS.js.map} +0 -0
- /package/dist/safe-js/chunks/{chunk-ZTKMQHXB.js.map → chunk-VIMROAQA.js.map} +0 -0
- /package/dist/safe-js/chunks/{chunk-TFLQJ5NE.js.map → chunk-W3IY6FKO.js.map} +0 -0
- /package/dist/safe-js/chunks/{cli-runtime-OZPDDD6M.js.map → cli-runtime-WSVW5DNT.js.map} +0 -0
- /package/dist/safe-js/chunks/{dump-3TMEMH6D.js.map → dump-UNYK24YS.js.map} +0 -0
- /package/dist/safe-js/chunks/{fs-YSBEA2WW.js.map → fs-AOV77RQC.js.map} +0 -0
- /package/dist/safe-js/chunks/{harness-YC3FLN5N.js.map → harness-ZIEO7NAV.js.map} +0 -0
- /package/dist/safe-js/chunks/{mcp-3GOG43VR.js.map → mcp-E2AJXEQM.js.map} +0 -0
- /package/dist/safe-js/chunks/{migration-file-IFKOIPNA.js.map → migration-file-3SWGNDS2.js.map} +0 -0
- /package/dist/safe-js/chunks/{restore-ZOAQTM7X.js.map → restore-FCTWPLU3.js.map} +0 -0
- /package/dist/safe-js/chunks/{run-XH62V323.js.map → run-ESJHEXCE.js.map} +0 -0
- /package/dist/safe-js/chunks/{runtime-modules-BUR3QGOJ.js.map → runtime-modules-7V6BWCRK.js.map} +0 -0
package/README.md
CHANGED
|
@@ -565,7 +565,7 @@ functions can still be retained by custom Promise constructors.
|
|
|
565
565
|
- `dump(resultOrRunningPromise, { mode?, onFailure? })` returns checkpoint JSON. `mode` is `capture` or `replay`; `onFailure` is `throw` or `checkpoint`.
|
|
566
566
|
- `restore(snapshot, { source })` validates state for compatible source; pass it as `run`'s `snapshot` option. It does not run the program.
|
|
567
567
|
- `new FileSnapshotBackend(path, { writeMaxAttempts?, writeRetryDelayMs? })` defaults to 3 write attempts and a 100 ms retry delay.
|
|
568
|
-
- `createReplayableRandom({ seed?, snapshot? })` supplies `next`, `seed`, `snapshot`, and `restore` for reproducible random sequences.
|
|
568
|
+
- `createReplayableRandom({ seed?, snapshot? })` supplies `next`, `seed`, `snapshot`, and `restore` for reproducible random sequences. Unseeded generators use Web Crypto entropy; unseeded `makeTimeModule().uuid()` uses `globalThis.crypto.randomUUID()`.
|
|
569
569
|
- `declareHostOperation(fn, policy, { onReplay?, awaitResult? })` declares `re-issue` or `read-side-effect` recovery policy. `registerPendingHostCallPolicy({ moduleId, operation, policy })` registers it by name. Only mark operations re-issuable when repeating them is acceptable; a declaration does not implement deduplication or external recovery. With `awaitResult: true`, an asynchronous host operation completes before the guest call returns its copied value or throws its error, without exposing a guest Promise. This is an explicit host capability; the host event loop still runs, and cancellation, value budgets, and host-call recovery still apply.
|
|
570
570
|
- `inspectSnapshotMigration(snapshot, { source })` inspects outstanding work. `migrateSnapshot(snapshot, { source, targetSource, state, reconciliation })` creates a continuation checkpoint. Reconciliation supplies `checkpointDigest`, `quiescent`, and `calls`; each call has `callId` and disposition `not-performed`, `fulfilled` with `value`, or `rejected` with `reason`.
|
|
571
571
|
- `migrateSnapshotFile(options)` accepts `snapshotPath`, `sourcePath`, `targetSourcePath`, `planPath`, `outputPath`, `inspect`, `dryRun`, and `cwd`. Inspect mode needs the checkpoint and original source; migration also needs the target, plan, and new output path. See [continuation migration](MIGRATION.md) before changing a checkpointed program.
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
McpError,
|
|
3
3
|
connectMcpTransport,
|
|
4
4
|
normalizeMcpOptions
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-MW2QLYVN.js";
|
|
6
6
|
import {
|
|
7
7
|
declareHostOperation,
|
|
8
8
|
runResources
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-S5YDMMM3.js";
|
|
10
10
|
import {
|
|
11
11
|
hostErrorData
|
|
12
12
|
} from "./chunk-Y5EZYHU6.js";
|
|
@@ -402,4 +402,4 @@ function isPlainObjectRecord(value) {
|
|
|
402
402
|
export {
|
|
403
403
|
makeMcpModule
|
|
404
404
|
};
|
|
405
|
-
//# sourceMappingURL=chunk-
|
|
405
|
+
//# sourceMappingURL=chunk-3LSNBW5N.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
HostCallJournal,
|
|
3
3
|
decodeReplayData,
|
|
4
4
|
validateSnapshotData
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-S5YDMMM3.js";
|
|
6
6
|
import {
|
|
7
7
|
CompileScope,
|
|
8
8
|
SandboxError,
|
|
@@ -219,4 +219,4 @@ export {
|
|
|
219
219
|
validateMigrationReconciliation,
|
|
220
220
|
validateSnapshotMigration
|
|
221
221
|
};
|
|
222
|
-
//# sourceMappingURL=chunk-
|
|
222
|
+
//# sourceMappingURL=chunk-EA7AHM2X.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
hashParsedAst,
|
|
3
3
|
hashSource,
|
|
4
4
|
validateSnapshotMigration
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EA7AHM2X.js";
|
|
6
6
|
import {
|
|
7
7
|
SnapshotValidationError,
|
|
8
8
|
assertSnapshotInactive,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
validateGuestFunctionAst,
|
|
16
16
|
validateRuntimeSnapshotDescriptors,
|
|
17
17
|
validateTemplateObjects
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-S5YDMMM3.js";
|
|
19
19
|
import {
|
|
20
20
|
ParseError,
|
|
21
21
|
parseExecutableModule,
|
|
@@ -111,4 +111,4 @@ export {
|
|
|
111
111
|
SnapshotMismatchError,
|
|
112
112
|
restore
|
|
113
113
|
};
|
|
114
|
-
//# sourceMappingURL=chunk-
|
|
114
|
+
//# sourceMappingURL=chunk-EN724VH3.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
validateMigrationReconciliation,
|
|
8
8
|
validateMigrationSemantics,
|
|
9
9
|
validateSnapshotMigration
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-EA7AHM2X.js";
|
|
11
11
|
import {
|
|
12
12
|
DUMP_FORMAT_VERSION,
|
|
13
13
|
EXECUTION_SEMANTICS,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
serializeSafeJSSnapshot,
|
|
18
18
|
validateDumpEnvelope,
|
|
19
19
|
validateSnapshotData
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-S5YDMMM3.js";
|
|
21
21
|
import {
|
|
22
22
|
parseModule
|
|
23
23
|
} from "./chunk-Y5EZYHU6.js";
|
|
@@ -28,7 +28,8 @@ import { link, open, readFile, unlink } from "node:fs/promises";
|
|
|
28
28
|
import path from "node:path";
|
|
29
29
|
|
|
30
30
|
// packages/safe-js/src/migrate.ts
|
|
31
|
-
import {
|
|
31
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
32
|
+
import { bytesToHex } from "@noble/hashes/utils.js";
|
|
32
33
|
function inspectSnapshotMigration(snapshot, options) {
|
|
33
34
|
assertSnapshotInactive(snapshot);
|
|
34
35
|
validateSnapshotData(snapshot);
|
|
@@ -46,7 +47,7 @@ function inspectSnapshotMigration(snapshot, options) {
|
|
|
46
47
|
validateSnapshotMigration(snapshot.migration, sourceHash);
|
|
47
48
|
const replay = validateMigrationJournal(sourceHash, snapshot.replay, snapshot.hostCalls);
|
|
48
49
|
return {
|
|
49
|
-
checkpointDigest:
|
|
50
|
+
checkpointDigest: bytesToHex(sha256(new TextEncoder().encode(canonicalData(snapshot)))),
|
|
50
51
|
sourceHash,
|
|
51
52
|
executionSemantics: snapshot.executionSemantics,
|
|
52
53
|
calls: replay.calls,
|
|
@@ -179,4 +180,4 @@ export {
|
|
|
179
180
|
migrateSnapshot,
|
|
180
181
|
migrateSnapshotFile
|
|
181
182
|
};
|
|
182
|
-
//# sourceMappingURL=chunk-
|
|
183
|
+
//# sourceMappingURL=chunk-LRSWTDIV.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/migration-file.ts", "../../src/migrate.ts"],
|
|
4
|
+
"sourcesContent": ["import { randomUUID } from \"node:crypto\";\nimport { link, open, readFile, unlink } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { hasOwnErrorCode } from \"./error-codes.js\";\n\nimport {\n inspectSnapshotMigration,\n migrateSnapshot,\n type SnapshotMigrationOptions\n} from \"./migrate.js\";\nimport type { SafeJSSnapshot } from \"./restore.js\";\nimport { serializeSafeJSSnapshot } from \"./snapshot/dump-format.js\";\n\nexport type SnapshotMigrationFileOptions = {\n snapshotPath: string;\n sourcePath: string;\n targetSourcePath?: string;\n planPath?: string;\n outputPath?: string;\n inspect?: boolean;\n dryRun?: boolean;\n cwd?: string;\n};\n\nexport async function migrateSnapshotFile(options: SnapshotMigrationFileOptions) {\n const cwd = options.cwd ?? process.cwd();\n const resolvePath = (value: string | undefined, label: string) => {\n if (typeof value !== \"string\" || value.trim().length === 0)\n throw new TypeError(`Migration requires ${label}.`);\n return path.resolve(cwd, value);\n };\n const snapshotPath = resolvePath(options.snapshotPath, \"a snapshot path\");\n const sourcePath = resolvePath(options.sourcePath, \"--from <original.ajs>\");\n if (\n options.inspect &&\n [options.targetSourcePath, options.planPath, options.outputPath].some(\n (value) => value !== undefined\n )\n )\n throw new TypeError(\"Migration --inspect cannot be combined with --to, --plan, or --output.\");\n const outputPath = options.inspect\n ? undefined\n : resolvePath(options.outputPath, \"--output <new-checkpoint.json>\");\n const targetSourcePath = options.inspect\n ? undefined\n : resolvePath(options.targetSourcePath, \"--to <continuation.ajs>\");\n const planPath = options.inspect\n ? undefined\n : resolvePath(options.planPath, \"--plan <migration.json>\");\n for (const filepath of [sourcePath, targetSourcePath]) {\n if (filepath !== undefined && ![\".ajs\", \".safejs\"].includes(path.extname(filepath)))\n throw new TypeError(\n \"Migration source paths must name executable .ajs or .safejs files, not harness Markdown.\"\n );\n }\n const snapshot: SafeJSSnapshot = JSON.parse(await readFile(snapshotPath, \"utf8\"));\n const source = await readFile(sourcePath, \"utf8\");\n const inspection = inspectSnapshotMigration(snapshot, { source });\n if (options.inspect) return { inspection };\n const plan: unknown = JSON.parse(await readFile(planPath!, \"utf8\"));\n if (\n plan === null ||\n typeof plan !== \"object\" ||\n !Object.hasOwn(plan, \"state\") ||\n !Object.hasOwn(plan, \"reconciliation\")\n )\n throw new TypeError(\"Migration plan requires explicit state and reconciliation fields.\");\n const targetSource = await readFile(targetSourcePath!, \"utf8\");\n const migrated = migrateSnapshot(snapshot, {\n source,\n targetSource,\n state: (plan as SnapshotMigrationOptions).state,\n reconciliation: (plan as SnapshotMigrationOptions).reconciliation\n });\n const contents = serializeSafeJSSnapshot(migrated);\n if (!options.dryRun) {\n const temporaryPath = path.join(\n path.dirname(outputPath!),\n `.safejs-migration-${randomUUID()}.tmp`\n );\n let created = false;\n try {\n const handle = await open(temporaryPath, \"wx\", 0o600);\n created = true;\n try {\n await handle.writeFile(contents, \"utf8\");\n await handle.sync();\n } finally {\n await handle.close();\n }\n try {\n await link(temporaryPath, outputPath!);\n } catch (error) {\n if (hasOwnErrorCode(error, \"EEXIST\"))\n throw Object.assign(\n new Error(\n `Migration output already exists: ${JSON.stringify(outputPath)}. Choose a new output path; existing files are never overwritten.`,\n { cause: error }\n ),\n { code: \"EEXIST\" }\n );\n throw error;\n }\n } finally {\n if (created) await unlink(temporaryPath);\n }\n }\n return { inspection, outputPath, dryRun: options.dryRun === true };\n}\n", "import { sha256 } from \"@noble/hashes/sha2.js\";\nimport { bytesToHex } from \"@noble/hashes/utils.js\";\n\nimport { assertSnapshotInactive } from \"./interp/running-state.js\";\nimport { deepCopyToSandbox } from \"./interp/values.js\";\nimport { hashSource } from \"./parse/hash.js\";\nimport { parseModule } from \"./parse/parser.js\";\nimport type { SafeJSSnapshot } from \"./restore.js\";\nimport { DUMP_FORMAT_VERSION, EXECUTION_SEMANTICS } from \"./snapshot/dump-format.js\";\nimport {\n validateMigrationJournal,\n validateMigrationReconciliation,\n validateMigrationSemantics,\n validateSnapshotMigration,\n type SnapshotMigration,\n type SnapshotMigrationReconciliation\n} from \"./snapshot/migration.js\";\nimport { encodeReplayData } from \"./snapshot/replay-data.js\";\nimport { validateDumpEnvelope, validateSnapshotData } from \"./snapshot/validation.js\";\n\nexport type {\n SnapshotMigration,\n SnapshotMigrationReconciliation,\n SnapshotMigrationResolution\n} from \"./snapshot/migration.js\";\n\nexport type SnapshotMigrationOptions = {\n source: string;\n targetSource: string;\n state: unknown;\n reconciliation: SnapshotMigrationReconciliation;\n};\n\nexport function inspectSnapshotMigration(snapshot: SafeJSSnapshot, options: { source: string }) {\n assertSnapshotInactive(snapshot);\n validateSnapshotData(snapshot);\n validateDumpEnvelope(snapshot);\n validateMigrationSemantics(snapshot.executionSemantics);\n const sourceHash = hashSource(\n options.source,\n undefined,\n snapshot.executionSemantics === \"jobs-v8\" || snapshot.executionSemantics === EXECUTION_SEMANTICS\n );\n if (snapshot.sourceHash !== sourceHash)\n throw new TypeError(\n `Migration requires the original executable source (checkpoint hash ${snapshot.sourceHash}, supplied ${sourceHash}). Preserve the checkpoint; do not replace its hash.`\n );\n validateSnapshotMigration(snapshot.migration, sourceHash);\n const replay = validateMigrationJournal(sourceHash, snapshot.replay, snapshot.hostCalls);\n return {\n checkpointDigest: bytesToHex(sha256(new TextEncoder().encode(canonicalData(snapshot)))),\n sourceHash,\n executionSemantics: snapshot.executionSemantics,\n calls: replay.calls,\n unresolvedCalls: replay.calls.filter(\n (call) => ![\"settled\", \"consumed\"].includes(call.lifecycle)\n )\n };\n}\n\nexport function migrateSnapshot(\n snapshot: SafeJSSnapshot,\n options: SnapshotMigrationOptions\n): SafeJSSnapshot & { migration: SnapshotMigration } {\n if (!Object.hasOwn(options, \"state\"))\n throw new TypeError(\"Migration requires explicit application state.\");\n const inspection = inspectSnapshotMigration(snapshot, { source: options.source });\n parseModule(options.targetSource);\n const targetSourceHash = hashSource(options.targetSource);\n validateMigrationReconciliation(\n options.reconciliation,\n inspection.checkpointDigest,\n inspection.calls\n );\n const state = encodeReplayData(deepCopyToSandbox(options.state));\n const previous = snapshot.migration as SnapshotMigration | undefined;\n const migration: SnapshotMigration = {\n version: 1,\n state,\n history: [\n ...structuredClone(previous?.history ?? []),\n {\n sourceHash: inspection.sourceHash,\n targetSourceHash,\n executionSemantics: inspection.executionSemantics,\n replay: { version: 1, calls: inspection.calls },\n reconciliation: structuredClone(options.reconciliation)\n }\n ]\n };\n validateSnapshotMigration(migration, targetSourceHash);\n return {\n version: DUMP_FORMAT_VERSION,\n executionSemantics: EXECUTION_SEMANTICS,\n sourceHash: targetSourceHash,\n bindings: {},\n replay: { version: 1, calls: [] },\n migration\n };\n}\n\nfunction canonicalData(value: unknown): string {\n if (Array.isArray(value)) return `[${value.map(canonicalData).join(\",\")}]`;\n if (value !== null && typeof value === \"object\")\n return `{${Object.keys(value)\n .sort()\n .map(\n (key) => `${JSON.stringify(key)}:${canonicalData((value as Record<string, unknown>)[key])}`\n )\n .join(\",\")}}`;\n return JSON.stringify(value);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
accessDeniedSystemError,
|
|
6
6
|
declareBudgetedHostOperation,
|
|
7
7
|
declareHostOperation
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-S5YDMMM3.js";
|
|
9
9
|
|
|
10
10
|
// packages/safe-js/src/modules/fs.ts
|
|
11
11
|
import { constants as nodeFsConstants } from "node:fs";
|
|
@@ -721,4 +721,4 @@ export {
|
|
|
721
721
|
FS_OPTION_SURFACE,
|
|
722
722
|
makeFsModule
|
|
723
723
|
};
|
|
724
|
-
//# sourceMappingURL=chunk-
|
|
724
|
+
//# sourceMappingURL=chunk-MRULOD5J.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SnapshotNotReadyError,
|
|
3
3
|
serializeSafeJSSnapshot
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-S5YDMMM3.js";
|
|
5
5
|
import {
|
|
6
6
|
SandboxError
|
|
7
7
|
} from "./chunk-Y5EZYHU6.js";
|
|
@@ -195,4 +195,4 @@ export {
|
|
|
195
195
|
dumpCurrent,
|
|
196
196
|
serializeRunSnapshot
|
|
197
197
|
};
|
|
198
|
-
//# sourceMappingURL=chunk-
|
|
198
|
+
//# sourceMappingURL=chunk-MVLDRXWS.js.map
|
|
@@ -147,7 +147,7 @@ var HttpResponseMessages = class {
|
|
|
147
147
|
function isJsonValue(value, options = {}) {
|
|
148
148
|
const maxNodes = options.maxNodes ?? 1e4;
|
|
149
149
|
const maxDepth = options.maxDepth ?? 64;
|
|
150
|
-
if (!Number.isSafeInteger(maxNodes) || maxNodes < 1) throw new Error("maxNodes must be a positive safe integer");
|
|
150
|
+
if (maxNodes !== Infinity && (!Number.isSafeInteger(maxNodes) || maxNodes < 1)) throw new Error("maxNodes must be a positive safe integer");
|
|
151
151
|
if (!Number.isSafeInteger(maxDepth) || maxDepth < 0 || maxDepth > 256) throw new Error("maxDepth must be an integer between 0 and 256");
|
|
152
152
|
const ancestors = /* @__PURE__ */ new Set();
|
|
153
153
|
let nodes = 0;
|
|
@@ -5183,7 +5183,7 @@ function generateCodeChallenge(verifier) {
|
|
|
5183
5183
|
|
|
5184
5184
|
// packages/mcp-oauth/src/http-response.ts
|
|
5185
5185
|
async function readBoundedResponseText(response, maxBytes, readers, signal) {
|
|
5186
|
-
if (!Number.isSafeInteger(maxBytes) || maxBytes < 1)
|
|
5186
|
+
if (maxBytes !== Infinity && (!Number.isSafeInteger(maxBytes) || maxBytes < 1))
|
|
5187
5187
|
throw new Error("HTTP response byte limit must be a positive safe integer");
|
|
5188
5188
|
if (signal?.aborted) {
|
|
5189
5189
|
void response.body?.cancel().catch(() => void 0);
|
|
@@ -7777,7 +7777,7 @@ var HttpTransport = class {
|
|
|
7777
7777
|
onWarning,
|
|
7778
7778
|
maxResponseBytes = 16 * 1024 * 1024
|
|
7779
7779
|
}) {
|
|
7780
|
-
if (!Number.isSafeInteger(maxResponseBytes) || maxResponseBytes < 1)
|
|
7780
|
+
if (maxResponseBytes !== Infinity && (!Number.isSafeInteger(maxResponseBytes) || maxResponseBytes < 1))
|
|
7781
7781
|
throw new Error("HTTP response byte limit must be a positive safe integer");
|
|
7782
7782
|
try {
|
|
7783
7783
|
const target = new URL(url);
|
|
@@ -8520,7 +8520,7 @@ var SseParser = class {
|
|
|
8520
8520
|
constructor(maxEventBytes = 16 * 1024 * 1024, acceptEndpoint = false) {
|
|
8521
8521
|
this.maxEventBytes = maxEventBytes;
|
|
8522
8522
|
this.acceptEndpoint = acceptEndpoint;
|
|
8523
|
-
if (!Number.isSafeInteger(maxEventBytes) || maxEventBytes < 1)
|
|
8523
|
+
if (maxEventBytes !== Infinity && (!Number.isSafeInteger(maxEventBytes) || maxEventBytes < 1))
|
|
8524
8524
|
throw new Error("SSE event byte limit must be a positive safe integer");
|
|
8525
8525
|
}
|
|
8526
8526
|
maxEventBytes;
|
|
@@ -9818,4 +9818,4 @@ CC-BY-4.0. See https://creativecommons.org/licenses/by/4.0/legalcode for
|
|
|
9818
9818
|
the full license text.
|
|
9819
9819
|
|
|
9820
9820
|
*/
|
|
9821
|
-
//# sourceMappingURL=chunk-
|
|
9821
|
+
//# sourceMappingURL=chunk-MW2QLYVN.js.map
|