@poe-platform/safe-js 0.1.728 → 0.1.729

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 (46) hide show
  1. package/README.md +1 -1
  2. package/dist/safe-js/chunks/{chunk-GZT57PW4.js → chunk-2S4YRXI6.js} +2 -2
  3. package/dist/safe-js/chunks/{chunk-EBNKJYZV.js → chunk-EA7AHM2X.js} +2 -2
  4. package/dist/safe-js/chunks/{chunk-EZEB4AIH.js → chunk-EN724VH3.js} +3 -3
  5. package/dist/safe-js/chunks/{chunk-4QDOJTAL.js → chunk-LRSWTDIV.js} +6 -5
  6. package/dist/safe-js/chunks/chunk-LRSWTDIV.js.map +7 -0
  7. package/dist/safe-js/chunks/{chunk-IZX26NC7.js → chunk-MRULOD5J.js} +2 -2
  8. package/dist/safe-js/chunks/{chunk-VW2VLHK2.js → chunk-MVLDRXWS.js} +2 -2
  9. package/dist/safe-js/chunks/{chunk-ZSIY6K54.js → chunk-S5YDMMM3.js} +64 -58
  10. package/dist/safe-js/chunks/{chunk-ZSIY6K54.js.map → chunk-S5YDMMM3.js.map} +3 -3
  11. package/dist/safe-js/chunks/{chunk-ZTKMQHXB.js → chunk-VIMROAQA.js} +2 -2
  12. package/dist/safe-js/chunks/{chunk-TFLQJ5NE.js → chunk-W3IY6FKO.js} +2 -2
  13. package/dist/safe-js/chunks/{chunk-RXESEKV6.js → chunk-XX57YCGZ.js} +6 -7
  14. package/dist/safe-js/chunks/chunk-XX57YCGZ.js.map +7 -0
  15. package/dist/safe-js/chunks/{cli-runtime-OZPDDD6M.js → cli-runtime-6VVBO2SS.js} +10 -10
  16. package/dist/safe-js/chunks/{dump-3TMEMH6D.js → dump-UNYK24YS.js} +3 -3
  17. package/dist/safe-js/chunks/{fs-YSBEA2WW.js → fs-AOV77RQC.js} +3 -3
  18. package/dist/safe-js/chunks/{harness-YC3FLN5N.js → harness-ZIEO7NAV.js} +3 -3
  19. package/dist/safe-js/chunks/{mcp-3GOG43VR.js → mcp-WBM7ZOAN.js} +3 -3
  20. package/dist/safe-js/chunks/{migration-file-IFKOIPNA.js → migration-file-3SWGNDS2.js} +4 -4
  21. package/dist/safe-js/chunks/{restore-ZOAQTM7X.js → restore-FCTWPLU3.js} +4 -4
  22. package/dist/safe-js/chunks/{run-XH62V323.js → run-ESJHEXCE.js} +6 -6
  23. package/dist/safe-js/chunks/{runtime-modules-BUR3QGOJ.js → runtime-modules-7V6BWCRK.js} +3 -3
  24. package/dist/safe-js/cli.js +2 -2
  25. package/dist/safe-js/core.js +5 -5
  26. package/dist/safe-js/index.js +11 -12
  27. package/dist/safe-js/index.js.map +2 -2
  28. package/package.json +3 -2
  29. package/dist/safe-js/chunks/chunk-4QDOJTAL.js.map +0 -7
  30. package/dist/safe-js/chunks/chunk-RXESEKV6.js.map +0 -7
  31. /package/dist/safe-js/chunks/{chunk-GZT57PW4.js.map → chunk-2S4YRXI6.js.map} +0 -0
  32. /package/dist/safe-js/chunks/{chunk-EBNKJYZV.js.map → chunk-EA7AHM2X.js.map} +0 -0
  33. /package/dist/safe-js/chunks/{chunk-EZEB4AIH.js.map → chunk-EN724VH3.js.map} +0 -0
  34. /package/dist/safe-js/chunks/{chunk-IZX26NC7.js.map → chunk-MRULOD5J.js.map} +0 -0
  35. /package/dist/safe-js/chunks/{chunk-VW2VLHK2.js.map → chunk-MVLDRXWS.js.map} +0 -0
  36. /package/dist/safe-js/chunks/{chunk-ZTKMQHXB.js.map → chunk-VIMROAQA.js.map} +0 -0
  37. /package/dist/safe-js/chunks/{chunk-TFLQJ5NE.js.map → chunk-W3IY6FKO.js.map} +0 -0
  38. /package/dist/safe-js/chunks/{cli-runtime-OZPDDD6M.js.map → cli-runtime-6VVBO2SS.js.map} +0 -0
  39. /package/dist/safe-js/chunks/{dump-3TMEMH6D.js.map → dump-UNYK24YS.js.map} +0 -0
  40. /package/dist/safe-js/chunks/{fs-YSBEA2WW.js.map → fs-AOV77RQC.js.map} +0 -0
  41. /package/dist/safe-js/chunks/{harness-YC3FLN5N.js.map → harness-ZIEO7NAV.js.map} +0 -0
  42. /package/dist/safe-js/chunks/{mcp-3GOG43VR.js.map → mcp-WBM7ZOAN.js.map} +0 -0
  43. /package/dist/safe-js/chunks/{migration-file-IFKOIPNA.js.map → migration-file-3SWGNDS2.js.map} +0 -0
  44. /package/dist/safe-js/chunks/{restore-ZOAQTM7X.js.map → restore-FCTWPLU3.js.map} +0 -0
  45. /package/dist/safe-js/chunks/{run-XH62V323.js.map → run-ESJHEXCE.js.map} +0 -0
  46. /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.
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  declareHostOperation,
8
8
  runResources
9
- } from "./chunk-ZSIY6K54.js";
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-GZT57PW4.js.map
405
+ //# sourceMappingURL=chunk-2S4YRXI6.js.map
@@ -2,7 +2,7 @@ import {
2
2
  HostCallJournal,
3
3
  decodeReplayData,
4
4
  validateSnapshotData
5
- } from "./chunk-ZSIY6K54.js";
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-EBNKJYZV.js.map
222
+ //# sourceMappingURL=chunk-EA7AHM2X.js.map
@@ -2,7 +2,7 @@ import {
2
2
  hashParsedAst,
3
3
  hashSource,
4
4
  validateSnapshotMigration
5
- } from "./chunk-EBNKJYZV.js";
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-ZSIY6K54.js";
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-EZEB4AIH.js.map
114
+ //# sourceMappingURL=chunk-EN724VH3.js.map
@@ -7,7 +7,7 @@ import {
7
7
  validateMigrationReconciliation,
8
8
  validateMigrationSemantics,
9
9
  validateSnapshotMigration
10
- } from "./chunk-EBNKJYZV.js";
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-ZSIY6K54.js";
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 { createHash } from "node:crypto";
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: createHash("sha256").update(canonicalData(snapshot)).digest("hex"),
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-4QDOJTAL.js.map
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-ZSIY6K54.js";
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-IZX26NC7.js.map
724
+ //# sourceMappingURL=chunk-MRULOD5J.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SnapshotNotReadyError,
3
3
  serializeSafeJSSnapshot
4
- } from "./chunk-ZSIY6K54.js";
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-VW2VLHK2.js.map
198
+ //# sourceMappingURL=chunk-MVLDRXWS.js.map