@plurnk/plurnk-service 0.60.0 → 0.62.0

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 (104) hide show
  1. package/.env.example +54 -16
  2. package/PLURNK_PERSONALITY.md +53 -0
  3. package/SPEC.md +22 -18
  4. package/dist/core/Dispatcher.d.ts +61 -0
  5. package/dist/core/Dispatcher.d.ts.map +1 -0
  6. package/dist/core/Dispatcher.js +811 -0
  7. package/dist/core/Dispatcher.js.map +1 -0
  8. package/dist/core/Engine.d.ts +9 -46
  9. package/dist/core/Engine.d.ts.map +1 -1
  10. package/dist/core/Engine.js +209 -1513
  11. package/dist/core/Engine.js.map +1 -1
  12. package/dist/core/Engine.sql +7 -2
  13. package/dist/core/ExecutorRegistry.d.ts +2 -1
  14. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  15. package/dist/core/ExecutorRegistry.js +16 -3
  16. package/dist/core/ExecutorRegistry.js.map +1 -1
  17. package/dist/core/PacketBuilder.d.ts +64 -0
  18. package/dist/core/PacketBuilder.d.ts.map +1 -0
  19. package/dist/core/PacketBuilder.js +380 -0
  20. package/dist/core/PacketBuilder.js.map +1 -0
  21. package/dist/core/ProposalLifecycle.d.ts +56 -0
  22. package/dist/core/ProposalLifecycle.d.ts.map +1 -0
  23. package/dist/core/ProposalLifecycle.js +197 -0
  24. package/dist/core/ProposalLifecycle.js.map +1 -0
  25. package/dist/core/SchemeRegistry.d.ts +2 -0
  26. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  27. package/dist/core/SchemeRegistry.js +20 -15
  28. package/dist/core/SchemeRegistry.js.map +1 -1
  29. package/dist/core/StrikeRail.d.ts +27 -0
  30. package/dist/core/StrikeRail.d.ts.map +1 -0
  31. package/dist/core/StrikeRail.js +147 -0
  32. package/dist/core/StrikeRail.js.map +1 -0
  33. package/dist/core/TelemetryChannel.d.ts +37 -0
  34. package/dist/core/TelemetryChannel.d.ts.map +1 -0
  35. package/dist/core/TelemetryChannel.js +77 -0
  36. package/dist/core/TelemetryChannel.js.map +1 -0
  37. package/dist/core/fork.d.ts +1 -0
  38. package/dist/core/fork.d.ts.map +1 -1
  39. package/dist/core/fork.js +17 -4
  40. package/dist/core/fork.js.map +1 -1
  41. package/dist/core/fork.sql +6 -0
  42. package/dist/core/packet-wire.js +1 -1
  43. package/dist/core/packet-wire.js.map +1 -1
  44. package/dist/core/plurnk-uri.d.ts +2 -0
  45. package/dist/core/plurnk-uri.d.ts.map +1 -1
  46. package/dist/core/plurnk-uri.js +11 -0
  47. package/dist/core/plurnk-uri.js.map +1 -1
  48. package/dist/core/run-cap.js +1 -1
  49. package/dist/core/run-cap.js.map +1 -1
  50. package/dist/digest/Digest.d.ts +14 -0
  51. package/dist/digest/Digest.d.ts.map +1 -0
  52. package/dist/digest/Digest.js +321 -0
  53. package/dist/digest/Digest.js.map +1 -0
  54. package/dist/digest/digest.sql +55 -0
  55. package/dist/schemes/Exec.d.ts.map +1 -1
  56. package/dist/schemes/Exec.js +22 -23
  57. package/dist/schemes/Exec.js.map +1 -1
  58. package/dist/schemes/File.d.ts.map +1 -1
  59. package/dist/schemes/File.js +7 -4
  60. package/dist/schemes/File.js.map +1 -1
  61. package/dist/schemes/Log.d.ts.map +1 -1
  62. package/dist/schemes/Log.js +5 -1
  63. package/dist/schemes/Log.js.map +1 -1
  64. package/dist/schemes/Run.js +3 -3
  65. package/dist/schemes/Run.js.map +1 -1
  66. package/dist/server/ClientConnection.d.ts.map +1 -1
  67. package/dist/server/ClientConnection.js +48 -2
  68. package/dist/server/ClientConnection.js.map +1 -1
  69. package/dist/server/Daemon.d.ts +1 -1
  70. package/dist/server/Daemon.d.ts.map +1 -1
  71. package/dist/server/Daemon.js +5 -1
  72. package/dist/server/Daemon.js.map +1 -1
  73. package/dist/server/methods/auth.d.ts +6 -0
  74. package/dist/server/methods/auth.d.ts.map +1 -0
  75. package/dist/server/methods/auth.js +45 -0
  76. package/dist/server/methods/auth.js.map +1 -0
  77. package/dist/server/methods/mcp_install.d.ts +6 -0
  78. package/dist/server/methods/mcp_install.d.ts.map +1 -0
  79. package/dist/server/methods/mcp_install.js +66 -0
  80. package/dist/server/methods/mcp_install.js.map +1 -0
  81. package/dist/server/methods/op_copy.d.ts.map +1 -1
  82. package/dist/server/methods/op_copy.js +1 -0
  83. package/dist/server/methods/op_copy.js.map +1 -1
  84. package/dist/server/methods/op_dispatch.d.ts.map +1 -1
  85. package/dist/server/methods/op_dispatch.js +1 -0
  86. package/dist/server/methods/op_dispatch.js.map +1 -1
  87. package/dist/server/methods/op_edit.d.ts.map +1 -1
  88. package/dist/server/methods/op_edit.js +1 -0
  89. package/dist/server/methods/op_edit.js.map +1 -1
  90. package/dist/server/methods/op_exec.d.ts.map +1 -1
  91. package/dist/server/methods/op_exec.js +1 -0
  92. package/dist/server/methods/op_exec.js.map +1 -1
  93. package/dist/server/methods/op_move.d.ts.map +1 -1
  94. package/dist/server/methods/op_move.js +1 -0
  95. package/dist/server/methods/op_move.js.map +1 -1
  96. package/dist/server/yolo.js +1 -1
  97. package/dist/server/yolo.js.map +1 -1
  98. package/dist/service.d.ts.map +1 -1
  99. package/dist/service.js +31 -2
  100. package/dist/service.js.map +1 -1
  101. package/docs/run.md +7 -3
  102. package/migrations/0000-00-00.01_schema.sql +3 -3
  103. package/package.json +22 -17
  104. package/requirements.md +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelemetryChannel.js","sourceRoot":"","sources":["../../src/core/TelemetryChannel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Db } from "./Db.ts";
2
2
  export default class Fork {
3
+ #private;
3
4
  static fork(db: Db, parentRunId: number, name?: string): Promise<number>;
4
5
  }
5
6
  //# sourceMappingURL=fork.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,IAAI;WACR,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA+DjF"}
1
+ {"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,SAAS,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,IAAI;;WAIR,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA0EjF"}
package/dist/core/fork.js CHANGED
@@ -9,23 +9,36 @@
9
9
  // "fork = everything-in-common-but-name, then diverges". The §env-delta reconciliation
10
10
  // snapshot is not copied; the branch first-sights its world like any fresh run.
11
11
  export default class Fork {
12
+ // Terminal loop statuses (§lifecycle-terms) — inherited loops outside this set are clamped to 200.
13
+ static #TERMINAL_LOOP = new Set([200, 413, 429, 499, 500, 504, 508]);
12
14
  static async fork(db, parentRunId, name) {
13
15
  const parent = await db.fork_get_run.get({ id: parentRunId });
14
16
  if (parent === undefined)
15
17
  throw new Error(`fork: run ${parentRunId} not found`);
16
- // #248 — name the branch at instantiation (immutable after); default `<parent>-fork`.
17
- const branchName = name ?? `${parent.name}-fork`;
18
+ // #248 — name the branch at instantiation (immutable after). An explicit name wins; the default
19
+ // is `<parent>-fork-<N>` (N = next free), so N self-forks of one parent are individually
20
+ // addressable instead of all colliding on a single `<parent>-fork` (§run-scheme-fork).
21
+ let branchName = name;
22
+ if (branchName === undefined) {
23
+ const existing = await db.fork_count_branches.get({ parent_run_id: parentRunId, name_prefix: `${parent.name}-fork%` });
24
+ branchName = `${parent.name}-fork-${(existing?.n ?? 0) + 1}`;
25
+ }
18
26
  const branch = await db.fork_insert_run.get({
19
27
  session_id: parent.session_id, name: branchName, parent_run_id: parentRunId, origin: parent.origin,
20
28
  });
21
29
  if (branch === undefined)
22
30
  throw new Error("fork: branch run insert returned no row");
23
31
  const branchRunId = branch.id;
24
- // loops → new loops, mapping old id → new id.
32
+ // loops → new loops, mapping old id → new id. A copied loop is INHERITED HISTORY, never the
33
+ // branch's live work (its own loop is enqueued fresh by injectRun) — so a non-terminal status
34
+ // is clamped to terminal (200). Otherwise a fork taken while the parent's loop is mid-flight (102)
35
+ // would carry a frozen-live loop no drain ever advances, falsely marking the branch forever-live
36
+ // to any liveness check (§run-scheme-fork, the premature-terminate gate §send-premature-terminate).
25
37
  const loops = await db.fork_get_loops.all({ run_id: parentRunId });
26
38
  const loopMap = new Map();
27
39
  for (const l of loops) {
28
- const nl = await db.fork_insert_loop.get({ run_id: branchRunId, sequence: l.sequence, status: l.status, prompt: l.prompt, flags: l.flags });
40
+ const status = Fork.#TERMINAL_LOOP.has(l.status) ? l.status : 200;
41
+ const nl = await db.fork_insert_loop.get({ run_id: branchRunId, sequence: l.sequence, status, prompt: l.prompt, flags: l.flags });
29
42
  if (nl === undefined)
30
43
  throw new Error("fork: loop insert returned no row");
31
44
  loopMap.set(l.id, nl.id);
@@ -1 +1 @@
1
- {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/core/fork.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,12 @@ INSERT INTO runs (session_id, name, parent_run_id, origin)
14
14
  VALUES ($session_id, $name, $parent_run_id, $origin)
15
15
  RETURNING id;
16
16
 
17
+ -- PREP: fork_count_branches
18
+ -- How many fork branches the parent already has — for a UNIQUE `<parent>-fork-<N>` default name, so N
19
+ -- self-forks of one parent are individually addressable (KILL/SEND/READ by name) instead of colliding
20
+ -- on a single `<parent>-fork` that run_resolve_by_name would resolve to the newest only (§run-scheme-fork).
21
+ SELECT COUNT(*) AS n FROM runs WHERE parent_run_id = $parent_run_id AND name LIKE $name_prefix;
22
+
17
23
  -- PREP: fork_get_loops
18
24
  SELECT id, sequence, status, prompt, flags
19
25
  FROM loops WHERE run_id = $run_id ORDER BY id;
@@ -217,7 +217,7 @@ export default class PacketWire {
217
217
  }
218
218
  // Render a (scheme, pathname) tuple as the URI the model should SEE.
219
219
  // Null scheme → bare pathname. The `file` scheme never reaches this
220
- // function because Engine.#extractTarget normalizes it to null at the
220
+ // function because Dispatcher.#extractTarget normalizes it to null at the
221
221
  // storage boundary; storage and wire output are uniform on this.
222
222
  static #renderModelUri(scheme, pathname) {
223
223
  const path = pathname ?? "";
@@ -1 +1 @@
1
- {"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,mEAAmE;AACnE,0EAA0E;AAC1E,4EAA4E;AAC5E,6CAA6C;AAC7C,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,qEAAqE;AACrE,8CAA8C;AAC9C,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,uEAAuE;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA6ChD,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,wDAAwD;IACxD,MAAM,CAAC,UAAU,CAAC,QAAuB,EAAE,IAAuB;QAC9D,OAAO,QAAQ;aACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3B,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,gDAAgD;IAChD,MAAM,CAAC,aAAa,CAAC,CAAc;QAC/B,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,uFAAuF;IACvF,+EAA+E;IAC/E,yFAAyF;IACzF,wFAAwF;IACxF,4FAA4F;IAC5F,2FAA2F;IAC3F,+FAA+F;IAC/F,gGAAgG;IAChG,6FAA6F;IAC7F,MAAM,CAAC,mBAAmB,CAAC,IAAkD,EAAE,GAAW;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG;gBAAE,OAAO,iDAAiD,IAAI,IAAI,CAAC;YACzG,OAAO,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,CAAC,YAAY,CAAC,MAAe;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,+FAA+F;IAC/F,oGAAoG;IACpG,oGAAoG;IACpG,oGAAoG;IACpG,MAAM,CAAC,mBAAmB,CAAC,IAAa;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAkD,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,SAAS,CAAC,GAAY;QACzB,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,GAAgB,CAAC,CAAC;IACjG,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,CAAC,SAAS,CAAC,OAAgB,EAAE,WAAwB;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,CAAC,cAAc,CAAC,MAAc,EAAE,IAAY;QAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,CAAC,oBAAoB,CAAC,MAAc;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,OAAO;YACH,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACtE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;SACrE,CAAC;IACN,CAAC;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,kFAAkF;IAClF,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,wDAAwD;IACxD,MAAM,CAAC,gBAAgB,CAAC,OAAgB,EAAE,WAAwB;QAK9D,MAAM,UAAU,GAAmB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,OAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,MAAM,cAAc,GAAG,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,MAAM,QAAQ,GAA4C,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,wDAAwD;YACxD,qEAAqE;YACrE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,IAAI,KAAK,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO;YACH,OAAO,EAAE,UAAU,CAAC,MAAM;YAC1B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;iBACxB,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;iBAC3C,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACf,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;YAC9B,CAAC,CAAC;YACN,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;SACrF,CAAC;IACN,CAAC;IAED,6DAA6D;IAC7D,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,KAAK,GAAG,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1F,OAAO,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACxD,CAAC;IAED,+FAA+F;IAC/F,gGAAgG;IAChG,4FAA4F;IAC5F,qGAAqG;IACrG,MAAM,CAAC,kBAAkB,CAAC,KAAa,EAAE,OAAe,EAAE,QAAgB,EAAE,YAA2B,CAAC;QACpG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,8FAA8F;QAC9F,8FAA8F;QAC9F,gGAAgG;QAChG,+FAA+F;QAC/F,MAAM,QAAQ,GAAG,cAAc,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,SAAS,KAAK,IAAI;YACnF,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;YAC7C,CAAC,CAAC,OAAO,CAAC;QACd,OAAO,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,iEAAiE;IACjE,qEAAqE;IACrE,uEAAuE;IACvE,MAAM,CAAC,UAAU,CAAC,CAAS;QACvB,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IACxD,CAAC;IAED,wEAAwE;IACxE,kEAAkE;IAClE,oCAAoC;IACpC,MAAM,CAAC,cAAc,CAAC,GAA4B;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,oEAAoE;IACpE,kEAAkE;IAClE,mEAAmE;IACnE,qEAAqE;IACrE,kEAAkE;IAClE,uEAAuE;IACvE,oEAAoE;IACpE,wDAAwD;IACxD,MAAM,CAAC,gBAAgB,CAAC,KAAa,EAAE,IAAY;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,OAAO,QAAQ,KAAK,KAAK,IAAI,GAAG,GAAG,MAAM,KAAK,EAAE,CAAC;IACrD,CAAC;IAED,qEAAqE;IACrE,oEAAoE;IACpE,uEAAuE;IACvE,0EAA0E;IAC1E,wDAAwD;IACxD,uEAAuE;IACvE,uEAAuE;IACvE,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,0EAA0E;IAC1E,kEAAkE;IAClE,kCAAkC;IAClC,MAAM,CAAC,cAAc,CAAC,GAAW,EAAE,OAAsB,EAAE,IAAY;QACnE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,OAAO,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,qEAAqE;IACrE,oEAAoE;IACpE,sEAAsE;IACtE,iEAAiE;IACjE,MAAM,CAAC,eAAe,CAAC,MAAiC,EAAE,QAAmC;QACzF,MAAM,IAAI,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC5B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzD,OAAO,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,mEAAmE;IACnE,oEAAoE;IACpE,kDAAkD;IAClD,EAAE;IACF,oEAAoE;IACpE,2EAA2E;IAC3E,kEAAkE;IAClE,mDAAmD;IACnD,EAAE;IACF,wEAAwE;IACxE,gDAAgD;IAChD,yEAAyE;IACzE,wEAAwE;IACxE,gDAAgD;IAChD,sEAAsE;IACtE,yEAAyE;IACzE,sEAAsE;IACtE,mEAAmE;IACnE,2EAA2E;IAC3E,yDAAyD;IACzD,MAAM,CAAC,UAAU,CAAC,UAAyB,EAAE,EAAiB;QAC1D,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,UAAU,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,OAAuB,EAAE,WAAwB;QACtE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,MAAM,IAAI,GAA4B,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1E,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,IAAI,KAAK,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACpC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACzD,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;YAC7E,IAAI,EAAE,KAAK,IAAI;gBAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACzD,MAAM,MAAM,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,MAAM,KAAK,IAAI;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAC1C,kFAAkF;YAClF,+EAA+E;YAC/E,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAQ,CAAC,CAAC,KAA8B,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnI,IAAI,CAAC,MAAM,GAAI,CAAC,CAAC,KAA4B,CAAC,MAAM,CAAC;YACzD,CAAC;YAED,wEAAwE;YACxE,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAkB,CAAC;YAE5F,0EAA0E;YAC1E,6EAA6E;YAC7E,2EAA2E;YAC3E,2EAA2E;YAC3E,kDAAkD;YAClD,IAAI,KAAK,GAAkB,IAAI,CAAC;YAChC,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChB,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC/G,IAAI,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ;wBAAE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;gBACpE,CAAC;gBACD,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC1E,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC;gBACvB,CAAC;qBAAM,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAClG,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;oBACjD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;wBAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;gBACrD,CAAC;gBACD,mFAAmF;gBACnF,wFAAwF;gBACxF,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;oBACnG,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,eAAe,CAAC;gBAC9C,CAAC;YACL,CAAC;YAED,sFAAsF;YACtF,uFAAuF;YACvF,sEAAsE;YACtE,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACnD,kFAAkF;gBAClF,kFAAkF;gBAClF,uCAAuC;gBACvC,IAAI,GAAG,EAAE,CAAC;YACd,CAAC;iBAAM,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;gBAC3D,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnG,8EAA8E;gBAC9E,gFAAgF;gBAChF,iFAAiF;gBACjF,qFAAqF;gBACrF,+EAA+E;gBAC/E,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC9E,wFAAwF;gBACxF,gEAAgE;gBAChE,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnG,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,IAAI,UAAU,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxG,CAAC;iBAAM,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAQ,EAAyB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvH,qFAAqF;gBACrF,iFAAiF;gBACjF,mFAAmF;gBACnF,iFAAiF;gBACjF,MAAM,IAAI,GAAI,EAAuB,CAAC,IAAI,CAAC;gBAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,IAAI,UAAU,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;YACpG,CAAC;iBAAM,IAAI,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,OAAQ,CAAC,CAAC,EAAyB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvH,uFAAuF;gBACvF,sFAAsF;gBACtF,+FAA+F;gBAC/F,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,IAAI,UAAU,UAAU,EAAE,EAAG,CAAC,CAAC,EAAuB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACxH,CAAC;iBAAM,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBACjF,2FAA2F;gBAC3F,sFAAsF;gBACtF,wFAAwF;gBACxF,0FAA0F;gBAC1F,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;gBACpB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,IAAI,UAAU,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;gBAClH,yFAAyF;gBACzF,4FAA4F;gBAC5F,wFAAwF;gBACxF,mEAAmE;qBAC9D,IAAI,EAAE,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3F,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,IAAI,UAAU,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;gBAC7F,CAAC;YACL,CAAC;iBAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;gBACxB,sFAAsF;gBACtF,sFAAsF;gBACtF,mFAAmF;gBACnF,yFAAyF;gBACzF,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAA0B,CAAC;gBAC1F,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClE,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,IAAI,UAAU,UAAU,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvF,CAAC;YACL,CAAC;iBAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;gBACxB,qFAAqF;gBACrF,uFAAuF;gBACvF,oFAAoF;gBACpF,iFAAiF;gBACjF,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnG,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC;oBACnF,IAAI,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,IAAI,UAAU,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC/F,CAAC;YACL,CAAC;YAED,uFAAuF;YACvF,oFAAoF;YACpF,IAAI,KAAK,KAAK,IAAI;gBAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACvC,mFAAmF;YACnF,sFAAsF;YACtF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtD,sEAAsE;YACtE,uFAAuF;YACvF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACvE,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,qFAAqF;YACrF,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,MAAuC;QAC9D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACzD,qFAAqF;QACrF,wFAAwF;QACxF,yFAAyF;QACzF,oFAAoF;QACpF,wFAAwF;QACxF,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC3F,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE;YAC7F,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,wFAAwF;QACxF,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChH,OAAO,QAAQ,GAAG,QAAQ,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,GAAc;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,OAAO,YAAY,GAAG,CAAC,MAAM,KAAK,IAAI,MAAM,GAAG,CAAC,MAAM,YAAY,GAAG,CAAC,QAAQ,cAAc,GAAG,CAAC,SAAS,YAAY,CAAC;IAC1H,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,MAAwB;QAClD,2FAA2F;QAC3F,4FAA4F;QAC5F,uFAAuF;QACvF,2FAA2F;QAC3F,+DAA+D;QAC/D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,EAAE,GAAG,CAA0H,CAAC;YACtI,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC;YACxB,IAAI,GAAG,EAAE,IAAI,KAAK,gBAAgB;gBAAE,OAAO,KAAK,EAAE,CAAC,MAAM,IAAI,EAAE,WAAW,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/G,IAAI,GAAG,EAAE,IAAI,KAAK,gBAAgB;gBAAE,OAAO,KAAK,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/F,OAAO,KAAK,EAAE,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACJ"}
1
+ {"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import type { ParsedPath } from "@plurnk/plurnk-grammar";
2
+ export declare function schemeNameOf(path: ParsedPath | null): string | null;
1
3
  export declare function foldAuthorityIntoPath(hostname: string | null, pathname: string): string;
2
4
  export declare function renderAddress(scheme: string, pathname: string): string;
3
5
  //# sourceMappingURL=plurnk-uri.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plurnk-uri.d.ts","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"AAcA,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKtE"}
1
+ {"version":3,"file":"plurnk-uri.d.ts","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAKnE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKtE"}
@@ -11,6 +11,17 @@
11
11
  // A web host (http://en.wikipedia.org/…) is NOT a namespace and never folds — callers that
12
12
  // see other schemes gate the fold on scheme === "plurnk"; the entry layer only ever sees
13
13
  // empty-authority schemes, so it folds unconditionally (a no-op there).
14
+ // Bare paths default to the file scheme per plurnk.md (grammar sysprompt):
15
+ // "Bare paths (no scheme) default to local relative project file paths."
16
+ // file:/// remains an optional explicit form for absolute paths.
17
+ export function schemeNameOf(path) {
18
+ if (path === null)
19
+ return null;
20
+ // http + https are one scheme — the http sibling owns both prefixes (#195).
21
+ if (path.kind === "url")
22
+ return path.scheme === "https" ? "http" : path.scheme;
23
+ return "file"; // local (bare) → file
24
+ }
14
25
  export function foldAuthorityIntoPath(hostname, pathname) {
15
26
  return hostname ? `/${hostname}${pathname}` : pathname;
16
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plurnk-uri.js","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,0FAA0F;AAC1F,wFAAwF;AACxF,gFAAgF;AAChF,EAAE;AACF,uFAAuF;AACvF,4FAA4F;AAC5F,6FAA6F;AAC7F,yFAAyF;AACzF,EAAE;AACF,2FAA2F;AAC3F,yFAAyF;AACzF,wEAAwE;AAExE,MAAM,UAAU,qBAAqB,CAAC,QAAuB,EAAE,QAAgB;IAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAgB;IAC1D,IAAI,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrF,OAAO,YAAY,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,MAAM,MAAM,QAAQ,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"plurnk-uri.js","sourceRoot":"","sources":["../../src/core/plurnk-uri.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,0FAA0F;AAC1F,wFAAwF;AACxF,gFAAgF;AAChF,EAAE;AACF,uFAAuF;AACvF,4FAA4F;AAC5F,6FAA6F;AAC7F,yFAAyF;AACzF,EAAE;AACF,2FAA2F;AAC3F,yFAAyF;AACzF,wEAAwE;AAIxE,2EAA2E;AAC3E,yEAAyE;AACzE,iEAAiE;AACjE,MAAM,UAAU,YAAY,CAAC,IAAuB;IAChD,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,4EAA4E;IAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAC/E,OAAO,MAAM,CAAC,CAAE,sBAAsB;AAC1C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAuB,EAAE,QAAgB;IAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAgB;IAC1D,IAAI,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACrF,OAAO,YAAY,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,MAAM,MAAM,QAAQ,EAAE,CAAC;AACrC,CAAC"}
@@ -3,7 +3,7 @@
3
3
  // knob; -1 / unset / invalid = no cap. Only concurrency is bounded, never lifetime:
4
4
  // sessions persist for months, so a total-created cap would punish longevity. A
5
5
  // spawn/fork past the ceiling fails hard (508) — no queue, no retry. Checked at the
6
- // single run-creation site (Engine.#handleRunCopy, which both spawns and forks); irc is
6
+ // single run-creation site (Dispatcher.#handleRunCopy, which both spawns and forks); irc is
7
7
  // exempt — it targets an existing run and creates nothing.
8
8
  export default class RunCap {
9
9
  static async deny(db, sessionId) {
@@ -1 +1 @@
1
- {"version":3,"file":"run-cap.js","sourceRoot":"","sources":["../../src/core/run-cap.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,mFAAmF;AACnF,oFAAoF;AACpF,gFAAgF;AAChF,oFAAoF;AACpF,wFAAwF;AACxF,2DAA2D;AAC3D,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,SAAiB;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QACvD,MAAM,GAAG,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,SAAS;QAC5D,MAAM,GAAG,GAAG,MAAO,EAAE,CAAC,gBAA+B,CAAC,GAAG,CAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACpG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,sEAAsE,GAAG,GAAG,EAAE,CAAC;QACtI,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
1
+ {"version":3,"file":"run-cap.js","sourceRoot":"","sources":["../../src/core/run-cap.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,mFAAmF;AACnF,oFAAoF;AACpF,gFAAgF;AAChF,oFAAoF;AACpF,4FAA4F;AAC5F,2DAA2D;AAC3D,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,SAAiB;QACvC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC;QACvD,MAAM,GAAG,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,SAAS;QAC5D,MAAM,GAAG,GAAG,MAAO,EAAE,CAAC,gBAA+B,CAAC,GAAG,CAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACpG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,sEAAsE,GAAG,GAAG,EAAE,CAAC;QACtI,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ interface DigestOptions {
3
+ dbPath: string;
4
+ digestDir?: string;
5
+ runId?: number;
6
+ sessionId?: number;
7
+ }
8
+ export default class Digest {
9
+ #private;
10
+ static defaultDbPath(): string;
11
+ static run(opts: DigestOptions): void;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=Digest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Digest.d.ts","sourceRoot":"","sources":["../../src/digest/Digest.ts"],"names":[],"mappings":";AAiFA,UAAU,aAAa;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,OAAO,MAAM;;IA2LvB,MAAM,CAAC,aAAa,IAAI,MAAM;IAS9B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;CA2ExC"}
@@ -0,0 +1,321 @@
1
+ #!/usr/bin/env node
2
+ //
3
+ // Run-digest tool for plurnk-service DBs. Reads a sqlite plurnk*.db and
4
+ // emits per-run forensic artifacts to test/digest/. First-order forensic
5
+ // surface; read-only; safe to re-run.
6
+ //
7
+ // test/digest/digest.md Run-shape header + waterfall (per-turn:
8
+ // status, model emission summary, indented
9
+ // op list with target + status + error)
10
+ // test/digest/digest.json Same data, machine-queryable
11
+ // test/digest/reasoning.md Per-turn reasoning text (full)
12
+ // test/digest/packetNNN.system.md BYTE-FOR-BYTE the system message the LLM
13
+ // received on TURN N (0-based). Turn 0 is the
14
+ // plurnk doc-materialization / setup turn (no model
15
+ // packet — a one-line note); the model's turns are
16
+ // Turn 1, 2, … (packet001, packet002, …).
17
+ // test/digest/packetNNN.user.md Same for the user message.
18
+ // test/digest/packetNNN.assistant.md Model emission (content string).
19
+ // test/digest/packetNNN.assistantRaw.json Opaque provider response.
20
+ //
21
+ // packet files are byte-identical to what Engine emits, because Engine and
22
+ // digest both project through PacketWire (one renderer, no drift).
23
+ //
24
+ // SQL lives in the co-located digest.sql; opened the sqlrite way (SqlRiteSync,
25
+ // the sync CLI/script facade). Each PREP block is read through its own accessor.
26
+ import { existsSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
27
+ import { dirname, join, resolve } from "node:path";
28
+ import { fileURLToPath } from "node:url";
29
+ import { homedir } from "node:os";
30
+ import SqlRiteSync from "@possumtech/sqlrite/sync";
31
+ import PacketWire from "../core/packet-wire.js";
32
+ export default class Digest {
33
+ static #summarize(text, n = 80) {
34
+ if (text === null || text === undefined)
35
+ return "";
36
+ const flat = String(text).replace(/\s+/g, " ").trim();
37
+ if (flat.length <= n)
38
+ return flat;
39
+ return `${flat.slice(0, n)}…`;
40
+ }
41
+ static #parseJson(s, fallback = null) {
42
+ if (s === null || s === undefined)
43
+ return fallback;
44
+ try {
45
+ return JSON.parse(String(s));
46
+ }
47
+ catch {
48
+ return fallback;
49
+ }
50
+ }
51
+ static #renderOpLine(le) {
52
+ const target = le.scheme !== null && le.pathname !== null
53
+ ? `${le.scheme}://${le.pathname}`
54
+ : le.pathname ?? "—";
55
+ const state = le.state !== "resolved" ? ` state=${le.state}` : "";
56
+ const outcome = le.outcome !== null ? ` outcome=${le.outcome}` : "";
57
+ const fail = le.status_rx >= 400 ? " ✗" : "";
58
+ // For non-2xx outcomes, surface the error string (or body) from rx so
59
+ // the waterfall explains WHY each failure happened without opening packets.
60
+ let errLine = "";
61
+ if (le.status_rx >= 400) {
62
+ const rx = Digest.#parseJson(le.rx, {});
63
+ const msg = rx.error ?? rx.body ?? null;
64
+ if (typeof msg === "string" && msg.length > 0) {
65
+ errLine = `\n → ${Digest.#summarize(msg, 140)}`;
66
+ }
67
+ }
68
+ return ` ← ${le.op}[${le.status_rx}] ${target}${state}${outcome}${fail}${errLine}`;
69
+ }
70
+ static #renderTurnLine(turn, m) {
71
+ const packet = Digest.#parseJson(turn.packet, {});
72
+ const assistant = packet.assistant ?? {};
73
+ const content = typeof assistant.content === "string" ? assistant.content : "";
74
+ const reasoning = typeof assistant.reasoning === "string" ? assistant.reasoning : null;
75
+ const tokens = `prompt=${turn.usage_prompt} completion=${turn.usage_completion} cached=${turn.usage_cached}`;
76
+ const cost = turn.usage_cost_pico > 0 ? ` cost=$${(turn.usage_cost_pico / 1e12).toFixed(6)}` : "";
77
+ const finishReason = turn.finish_reason ?? "—";
78
+ const model = turn.model ?? "—";
79
+ const head = `T${turn.sequence}: status=${turn.status} finish=${finishReason} model=${model} ${tokens}${cost}`;
80
+ const summary = content.length > 0 ? ` ↳ emission: ${Digest.#summarize(content, 100)}` : ` ↳ emission: (empty)`;
81
+ const reasoningLine = reasoning && reasoning.length > 0
82
+ ? ` ↳ reasoning: ${Digest.#summarize(reasoning, 100)}`
83
+ : null;
84
+ const opLines = (m.logEntriesByTurn.get(turn.id) ?? []).map((le) => Digest.#renderOpLine(le));
85
+ return [head, summary, ...(reasoningLine ? [reasoningLine] : []), ...opLines].join("\n");
86
+ }
87
+ static #renderRunShape(run, m) {
88
+ // every run has exactly one rollup row — digest_run_rollups is FROM runs
89
+ const roll = m.runRollups.get(run.id);
90
+ const opMix = (m.opMixByRun.get(run.id) ?? []).map((o) => `${o.op}=${o.n}`).join(" ");
91
+ const costStr = roll.total_cost_pico > 0 ? `$${(roll.total_cost_pico / 1e12).toFixed(6)}` : "$0";
92
+ return [
93
+ `Loops: ${roll.loops}`,
94
+ `Turns: ${roll.turns}`,
95
+ `Last turn: ${roll.last_status !== null ? `status=${roll.last_status}` : "(none)"}`,
96
+ `Tokens: prompt=${roll.total_prompt} completion=${roll.total_completion} cached=${roll.total_cached}`,
97
+ `Cost: ${costStr} (DB rollup runs.cost_pico=${run.cost_pico})`,
98
+ `Op mix: ${opMix.length > 0 ? opMix : "(no ops)"}`,
99
+ ].join("\n");
100
+ }
101
+ static #renderWaterfall(m) {
102
+ const lines = [];
103
+ lines.push(`# plurnk-service digest`);
104
+ lines.push("");
105
+ lines.push(`DB: ${m.dbPath}`);
106
+ lines.push(`Sessions: ${m.sessions.length} Runs: ${m.runs.length} Loops: ${m.loops.length} Turns: ${m.turns.length} Log entries: ${m.logEntries.length}`);
107
+ for (const session of m.sessions) {
108
+ lines.push("");
109
+ lines.push(`## Session #${session.id} — ${session.name}`);
110
+ const sessionRuns = m.runsBySession.get(session.id) ?? [];
111
+ for (const run of sessionRuns) {
112
+ lines.push("");
113
+ lines.push(`### Run #${run.id} — ${run.name}`);
114
+ lines.push("");
115
+ lines.push("```");
116
+ lines.push(Digest.#renderRunShape(run, m));
117
+ lines.push("```");
118
+ const runLoops = m.loopsByRun.get(run.id) ?? [];
119
+ for (const loop of runLoops) {
120
+ lines.push("");
121
+ lines.push(`#### Loop ${loop.sequence} (id=${loop.id}, status=${loop.status})`);
122
+ lines.push("");
123
+ lines.push(`Prompt: ${Digest.#summarize(loop.prompt, 160)}`);
124
+ const flags = Digest.#parseJson(loop.flags, {});
125
+ const flagSummary = Object.entries(flags).filter(([, v]) => v).map(([k, v]) => `${k}=${v}`).join(" ");
126
+ if (flagSummary.length > 0)
127
+ lines.push(`Flags: ${flagSummary}`);
128
+ lines.push("");
129
+ lines.push("```");
130
+ for (const t of m.turnsByLoop.get(loop.id) ?? [])
131
+ lines.push(Digest.#renderTurnLine(t, m));
132
+ lines.push("```");
133
+ }
134
+ }
135
+ }
136
+ return lines.join("\n");
137
+ }
138
+ static #renderReasoning(m) {
139
+ const lines = [];
140
+ lines.push(`# plurnk-service reasoning`);
141
+ lines.push("");
142
+ lines.push("Per-turn reasoning_content extracted from turns.packet.assistant.reasoning.");
143
+ for (const t of m.turns) {
144
+ const loop = m.loopsById.get(t.loop_id);
145
+ const run = loop ? m.runsById.get(loop.run_id) : undefined;
146
+ const packet = Digest.#parseJson(t.packet, {});
147
+ const reasoning = packet.assistant?.reasoning ?? null;
148
+ lines.push("");
149
+ lines.push(`## Run ${run?.id ?? "?"} / Loop ${loop?.sequence ?? "?"} / Turn ${t.sequence} (id=${t.id})`);
150
+ lines.push("");
151
+ if (typeof reasoning === "string" && reasoning.length > 0)
152
+ lines.push(reasoning);
153
+ else
154
+ lines.push("(no reasoning_content)");
155
+ }
156
+ return lines.join("\n");
157
+ }
158
+ // Per-turn packet files, byte-identical to the wire (Engine and digest both
159
+ // project through PacketWire). system/user are markdown; assistantRaw is JSON.
160
+ static #writePacketFiles(m) {
161
+ const written = [];
162
+ // 0-based TURN index, NOT the DB id: Turn 0 is the plurnk doc-materialization
163
+ // (setup) turn; the model's turns are Turn 1, 2, …, so the model's first packet is
164
+ // packet001 — not packet002-by-id. id-sorted so the index is chronological.
165
+ m.turns.toSorted((a, b) => a.id - b.id).forEach((t, index) => {
166
+ const packet = Digest.#parseJson(t.packet, {});
167
+ const sections = (Array.isArray(packet.sections) ? packet.sections : []);
168
+ const padded = String(index).padStart(3, "0");
169
+ if (sections.length === 0) {
170
+ // No assembled packet — the setup turn dispatches its doc EDITs without one.
171
+ // Write ONE labeled note rather than four blank files, so opening Turn 0 reads
172
+ // as "setup," not "the packet is empty, where is it?".
173
+ const note = `# Turn ${index} — setup, no model packet\n\nThe plurnk doc-materialization run dispatched its ops (the scheme/exec docs) without assembling a model packet. The model's first packet is Turn 1 — packet001. See digest.md for this turn's ops.\n`;
174
+ writeFileSync(join(m.digestDir, `packet${padded}.system.md`), note);
175
+ written.push(`packet${padded}.system.md`);
176
+ return;
177
+ }
178
+ const systemMd = PacketWire.renderSlot(sections, "system");
179
+ const userMd = PacketWire.renderSlot(sections, "user");
180
+ const assistantText = typeof packet.assistant?.content === "string" ? packet.assistant.content : "";
181
+ const assistantRawJson = JSON.stringify(packet.assistantRaw ?? null, null, 2);
182
+ const files = [
183
+ [`packet${padded}.system.md`, systemMd],
184
+ [`packet${padded}.user.md`, userMd],
185
+ [`packet${padded}.assistant.md`, assistantText],
186
+ [`packet${padded}.assistantRaw.json`, assistantRawJson],
187
+ ];
188
+ for (const [file, body] of files) {
189
+ writeFileSync(join(m.digestDir, file), body);
190
+ written.push(file);
191
+ }
192
+ });
193
+ return written;
194
+ }
195
+ static #renderJson(m) {
196
+ return JSON.stringify({
197
+ dbPath: m.dbPath,
198
+ sessions: m.sessions.map((s) => ({ id: s.id, name: s.name, cost_pico: s.cost_pico })),
199
+ runs: m.runs.map((r) => ({ id: r.id, session_id: r.session_id, name: r.name, cost_pico: r.cost_pico })),
200
+ loops: m.loops.map((l) => ({
201
+ id: l.id, run_id: l.run_id, sequence: l.sequence, status: l.status,
202
+ prompt: l.prompt, flags: Digest.#parseJson(l.flags, {}),
203
+ })),
204
+ turns: m.turns.map((t) => ({
205
+ id: t.id, loop_id: t.loop_id, sequence: t.sequence, status: t.status,
206
+ usage_prompt: t.usage_prompt, usage_completion: t.usage_completion,
207
+ usage_cached: t.usage_cached, usage_cost_pico: t.usage_cost_pico,
208
+ finish_reason: t.finish_reason, model: t.model,
209
+ })),
210
+ log_entries: m.logEntries.map((le) => ({
211
+ id: le.id, turn_id: le.turn_id, sequence: le.sequence,
212
+ op: le.op, target: `${le.scheme ?? ""}://${le.pathname ?? ""}`,
213
+ status_rx: le.status_rx, state: le.state, outcome: le.outcome,
214
+ })),
215
+ }, null, 2);
216
+ }
217
+ // Default DB path — mirrors the service (`Service.#expandHome(PLURNK_DB_PATH)`; the
218
+ // `.env.example` floor is `~/.plurnk/plurnk.db`). The old repo-local default broke when
219
+ // the DB moved to `~/.plurnk`; a no-arg digest now reads the service's actual DB.
220
+ static defaultDbPath() {
221
+ const env = process.env.PLURNK_DB_PATH;
222
+ if (env !== undefined && env.length > 0) {
223
+ if (env === "~")
224
+ return homedir();
225
+ return env.startsWith("~/") ? resolve(homedir(), env.slice(2)) : env;
226
+ }
227
+ return resolve(homedir(), ".plurnk", "plurnk.db");
228
+ }
229
+ static run(opts) {
230
+ // digest.sql is packaged beside this module (src/digest → dist/digest via copy-sql),
231
+ // so SqlRiteSync resolves it from node_modules in a published install too (#303).
232
+ const moduleDir = dirname(fileURLToPath(import.meta.url));
233
+ const dbPath = resolve(opts.dbPath);
234
+ if (!existsSync(dbPath))
235
+ throw new Error(`digest: no DB at ${dbPath}`);
236
+ // A consumer (plurnk-bench) passes an explicit per-trial digestDir; the CLI default is cwd/test/digest.
237
+ const digestDir = opts.digestDir ?? join(process.cwd(), "test", "digest");
238
+ // Opens without readOnly so WAL-mode DBs (the daemon's normal operating
239
+ // mode) inspect cleanly; this tool only reads. The DB is quiescent at
240
+ // digest time, so each PREP reads on its own — no cross-query snapshot.
241
+ const db = new SqlRiteSync({ path: dbPath, dir: [moduleDir] });
242
+ let sessions = db.digest_sessions.all();
243
+ let runs = db.digest_runs.all();
244
+ let loops = db.digest_loops.all();
245
+ let turns = db.digest_turns.all();
246
+ let logEntries = db.digest_log_entries.all();
247
+ let runRollupRows = db.digest_run_rollups.all();
248
+ let opMixRows = db.digest_run_op_mix.all();
249
+ db.close();
250
+ // Optional run/session selector — narrow to one run or session; everything
251
+ // cascades from the kept runs (loops→turns→log entries→rollups), so a consumer
252
+ // (plurnk-bench) digests just the scope it cares about, not the whole DB. #264.
253
+ if (opts.runId !== undefined)
254
+ runs = runs.filter((r) => r.id === opts.runId);
255
+ if (opts.sessionId !== undefined)
256
+ runs = runs.filter((r) => r.session_id === opts.sessionId);
257
+ if (opts.runId !== undefined || opts.sessionId !== undefined) {
258
+ const keptRunIds = new Set(runs.map((r) => r.id));
259
+ const keptSessionIds = new Set(runs.map((r) => r.session_id));
260
+ sessions = sessions.filter((s) => keptSessionIds.has(s.id));
261
+ loops = loops.filter((l) => keptRunIds.has(l.run_id));
262
+ const keptLoopIds = new Set(loops.map((l) => l.id));
263
+ turns = turns.filter((t) => keptLoopIds.has(t.loop_id));
264
+ const keptTurnIds = new Set(turns.map((t) => t.id));
265
+ logEntries = logEntries.filter((le) => keptTurnIds.has(le.turn_id));
266
+ runRollupRows = runRollupRows.filter((r) => keptRunIds.has(r.run_id));
267
+ opMixRows = opMixRows.filter((o) => keptRunIds.has(o.run_id));
268
+ }
269
+ // Wipe-then-recreate the digest dir so each run is a clean snapshot —
270
+ // orphaned packet*.* files from a prior run don't linger.
271
+ rmSync(digestDir, { recursive: true, force: true });
272
+ mkdirSync(digestDir, { recursive: true });
273
+ const runsBySession = new Map();
274
+ for (const r of runs) {
275
+ const arr = runsBySession.get(r.session_id) ?? [];
276
+ arr.push(r);
277
+ runsBySession.set(r.session_id, arr);
278
+ }
279
+ const loopsByRun = new Map();
280
+ for (const l of loops) {
281
+ const arr = loopsByRun.get(l.run_id) ?? [];
282
+ arr.push(l);
283
+ loopsByRun.set(l.run_id, arr);
284
+ }
285
+ const turnsByLoop = new Map();
286
+ for (const t of turns) {
287
+ const arr = turnsByLoop.get(t.loop_id) ?? [];
288
+ arr.push(t);
289
+ turnsByLoop.set(t.loop_id, arr);
290
+ }
291
+ const logEntriesByTurn = new Map();
292
+ for (const le of logEntries) {
293
+ const arr = logEntriesByTurn.get(le.turn_id) ?? [];
294
+ arr.push(le);
295
+ logEntriesByTurn.set(le.turn_id, arr);
296
+ }
297
+ const loopsById = new Map(loops.map((l) => [l.id, l]));
298
+ const runsById = new Map(runs.map((r) => [r.id, r]));
299
+ const runRollups = new Map(runRollupRows.map((r) => [r.run_id, r]));
300
+ const opMixByRun = new Map();
301
+ for (const o of opMixRows) {
302
+ const arr = opMixByRun.get(o.run_id) ?? [];
303
+ arr.push(o);
304
+ opMixByRun.set(o.run_id, arr);
305
+ }
306
+ const m = {
307
+ dbPath, digestDir, sessions, runs, loops, turns, logEntries,
308
+ runsBySession, loopsByRun, turnsByLoop, logEntriesByTurn, loopsById, runsById,
309
+ runRollups, opMixByRun,
310
+ };
311
+ writeFileSync(join(digestDir, "digest.md"), Digest.#renderWaterfall(m));
312
+ writeFileSync(join(digestDir, "digest.json"), Digest.#renderJson(m));
313
+ writeFileSync(join(digestDir, "reasoning.md"), Digest.#renderReasoning(m));
314
+ const packetFiles = Digest.#writePacketFiles(m);
315
+ const packetIds = [...new Set(packetFiles.map((f) => f.slice(0, f.indexOf("."))))];
316
+ console.log(`digest: wrote ${digestDir}/{digest.md,digest.json,reasoning.md} + ${packetFiles.length} packet section files (${packetIds.join(", ") || "none"})`);
317
+ console.log(` source: ${dbPath}`);
318
+ console.log(` sessions=${sessions.length} runs=${runs.length} loops=${loops.length} turns=${turns.length} log_entries=${logEntries.length}`);
319
+ }
320
+ }
321
+ //# sourceMappingURL=Digest.js.map