@plurnk/plurnk-service 0.59.0 → 0.61.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 (123) hide show
  1. package/.env.example +41 -3
  2. package/PLURNK_PERSONALITY.md +61 -0
  3. package/SPEC.md +54 -45
  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 +10 -45
  9. package/dist/core/Engine.d.ts.map +1 -1
  10. package/dist/core/Engine.js +269 -1489
  11. package/dist/core/Engine.js.map +1 -1
  12. package/dist/core/Engine.sql +55 -12
  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 +365 -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 +195 -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-inject.d.ts.map +1 -1
  43. package/dist/core/packet-inject.js +8 -3
  44. package/dist/core/packet-inject.js.map +1 -1
  45. package/dist/core/packet-wire.d.ts +5 -1
  46. package/dist/core/packet-wire.d.ts.map +1 -1
  47. package/dist/core/packet-wire.js +53 -19
  48. package/dist/core/packet-wire.js.map +1 -1
  49. package/dist/core/plurnk-uri.d.ts +2 -0
  50. package/dist/core/plurnk-uri.d.ts.map +1 -1
  51. package/dist/core/plurnk-uri.js +11 -0
  52. package/dist/core/plurnk-uri.js.map +1 -1
  53. package/dist/core/run-cap.js +2 -2
  54. package/dist/core/run-cap.js.map +1 -1
  55. package/dist/core/run-ops.sql +21 -0
  56. package/dist/digest/Digest.d.ts +14 -0
  57. package/dist/digest/Digest.d.ts.map +1 -0
  58. package/dist/digest/Digest.js +321 -0
  59. package/dist/digest/Digest.js.map +1 -0
  60. package/dist/digest/digest.sql +55 -0
  61. package/dist/schemes/Exec.d.ts.map +1 -1
  62. package/dist/schemes/Exec.js +23 -24
  63. package/dist/schemes/Exec.js.map +1 -1
  64. package/dist/schemes/File.js +2 -2
  65. package/dist/schemes/File.js.map +1 -1
  66. package/dist/schemes/Log.d.ts.map +1 -1
  67. package/dist/schemes/Log.js +5 -1
  68. package/dist/schemes/Log.js.map +1 -1
  69. package/dist/schemes/Run.d.ts.map +1 -1
  70. package/dist/schemes/Run.js +27 -27
  71. package/dist/schemes/Run.js.map +1 -1
  72. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  73. package/dist/schemes/_entry-manifest.js +5 -1
  74. package/dist/schemes/_entry-manifest.js.map +1 -1
  75. package/dist/schemes/_entry-semantic.d.ts.map +1 -1
  76. package/dist/schemes/_entry-semantic.js +6 -0
  77. package/dist/schemes/_entry-semantic.js.map +1 -1
  78. package/dist/server/ClientConnection.d.ts.map +1 -1
  79. package/dist/server/ClientConnection.js +48 -2
  80. package/dist/server/ClientConnection.js.map +1 -1
  81. package/dist/server/Daemon.d.ts +1 -1
  82. package/dist/server/Daemon.d.ts.map +1 -1
  83. package/dist/server/Daemon.js +29 -3
  84. package/dist/server/Daemon.js.map +1 -1
  85. package/dist/server/drain.sql +14 -0
  86. package/dist/server/methods/auth.d.ts +6 -0
  87. package/dist/server/methods/auth.d.ts.map +1 -0
  88. package/dist/server/methods/auth.js +45 -0
  89. package/dist/server/methods/auth.js.map +1 -0
  90. package/dist/server/methods/mcp_install.d.ts +6 -0
  91. package/dist/server/methods/mcp_install.d.ts.map +1 -0
  92. package/dist/server/methods/mcp_install.js +66 -0
  93. package/dist/server/methods/mcp_install.js.map +1 -0
  94. package/dist/server/methods/op_copy.d.ts.map +1 -1
  95. package/dist/server/methods/op_copy.js +1 -0
  96. package/dist/server/methods/op_copy.js.map +1 -1
  97. package/dist/server/methods/op_dispatch.d.ts.map +1 -1
  98. package/dist/server/methods/op_dispatch.js +1 -0
  99. package/dist/server/methods/op_dispatch.js.map +1 -1
  100. package/dist/server/methods/op_edit.d.ts.map +1 -1
  101. package/dist/server/methods/op_edit.js +1 -0
  102. package/dist/server/methods/op_edit.js.map +1 -1
  103. package/dist/server/methods/op_exec.d.ts.map +1 -1
  104. package/dist/server/methods/op_exec.js +1 -0
  105. package/dist/server/methods/op_exec.js.map +1 -1
  106. package/dist/server/methods/op_move.d.ts.map +1 -1
  107. package/dist/server/methods/op_move.js +1 -0
  108. package/dist/server/methods/op_move.js.map +1 -1
  109. package/dist/server/methods/session_attach.d.ts.map +1 -1
  110. package/dist/server/methods/session_attach.js +4 -0
  111. package/dist/server/methods/session_attach.js.map +1 -1
  112. package/dist/server/methods/session_create.d.ts.map +1 -1
  113. package/dist/server/methods/session_create.js +4 -0
  114. package/dist/server/methods/session_create.js.map +1 -1
  115. package/dist/server/yolo.js +1 -1
  116. package/dist/server/yolo.js.map +1 -1
  117. package/dist/service.d.ts.map +1 -1
  118. package/dist/service.js +6 -0
  119. package/dist/service.js.map +1 -1
  120. package/docs/run.md +7 -3
  121. package/migrations/0000-00-00.01_schema.sql +8 -4
  122. package/package.json +22 -17
  123. package/requirements.md +6 -9
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Digest.js","sourceRoot":"","sources":["../../src/digest/Digest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ -- Forensic read queries for bin/digest.ts. Opened via SqlRiteSync against an
2
+ -- existing plurnk*.db the daemon already migrated — NO `-- INIT:` blocks, these
3
+ -- compile against its schema and never alter it. The digest reads a quiescent
4
+ -- DB (a kept test .db or a post-session plurnk.db), so each PREP is its own read
5
+ -- — sqlrite 5 dropped the JS transaction composer and these never needed it.
6
+
7
+ -- PREP: digest_sessions
8
+ SELECT * FROM sessions ORDER BY id;
9
+
10
+ -- PREP: digest_runs
11
+ SELECT * FROM runs ORDER BY id;
12
+
13
+ -- PREP: digest_loops
14
+ SELECT id, run_id, sequence, status, prompt, flags
15
+ FROM loops ORDER BY run_id, sequence;
16
+
17
+ -- PREP: digest_turns
18
+ SELECT id, loop_id, sequence, status, packet,
19
+ usage_prompt, usage_completion, usage_cached, usage_cost_pico,
20
+ finish_reason, model, timestamp
21
+ FROM turns ORDER BY loop_id, sequence;
22
+
23
+ -- PREP: digest_log_entries
24
+ SELECT id, run_id, loop_id, turn_id, sequence, at, origin,
25
+ op, suffix, signal,
26
+ scheme, pathname,
27
+ tx, rx, status_rx, mimetype_rx,
28
+ state, outcome, attrs
29
+ FROM log_entries ORDER BY loop_id, turn_id, sequence;
30
+
31
+ -- PREP: digest_run_rollups
32
+ -- Per-run aggregates (token/cost SUMs, loop/turn COUNTs, last-turn status) —
33
+ -- the run-summary data-ops, computed in SQL rather than rolled up in JS.
34
+ SELECT
35
+ r.id AS run_id,
36
+ COUNT(DISTINCT l.id) AS loops,
37
+ COUNT(t.id) AS turns,
38
+ COALESCE(SUM(t.usage_prompt), 0) AS total_prompt,
39
+ COALESCE(SUM(t.usage_completion), 0) AS total_completion,
40
+ COALESCE(SUM(t.usage_cached), 0) AS total_cached,
41
+ COALESCE(SUM(t.usage_cost_pico), 0) AS total_cost_pico,
42
+ (SELECT t2.status FROM turns t2 JOIN loops l2 ON t2.loop_id = l2.id
43
+ WHERE l2.run_id = r.id ORDER BY l2.sequence DESC, t2.sequence DESC LIMIT 1) AS last_status
44
+ FROM runs r
45
+ LEFT JOIN loops l ON l.run_id = r.id
46
+ LEFT JOIN turns t ON t.loop_id = l.id
47
+ GROUP BY r.id
48
+ ORDER BY r.id;
49
+
50
+ -- PREP: digest_run_op_mix
51
+ -- Per-run op histogram (GROUP BY run, op), pre-sorted by frequency.
52
+ SELECT run_id, op, COUNT(*) AS n
53
+ FROM log_entries
54
+ GROUP BY run_id, op
55
+ ORDER BY run_id, n DESC, op;
@@ -1 +1 @@
1
- {"version":3,"file":"Exec.d.ts","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AAK1G,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,KAAK,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAqDpF,MAAM,CAAC,OAAO,OAAO,IAAI;;IACrB,MAAM,CAAC,QAAQ,EAAE,cAAc,CAc7B;IAKI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAYjC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoB1H,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAYzC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IA2D7E,eAAe,CACjB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,GAAG,EAAE,mBAAmB,GACzB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiMzD,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI7E,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI7E,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI/E,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG5F"}
1
+ {"version":3,"file":"Exec.d.ts","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAC;AAK1G,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD,KAAK,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAsDpF,MAAM,CAAC,OAAO,OAAO,IAAI;;IACrB,MAAM,CAAC,QAAQ,EAAE,cAAc,CAc7B;IAKI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAYjC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoB1H,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAYzC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAyD7E,eAAe,CACjB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACtC,GAAG,EAAE,mBAAmB,GACzB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkMzD,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI7E,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAI7E,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI/E,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAInG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG5F"}
@@ -35,7 +35,7 @@ const schemeTargetOf = (target) => {
35
35
  return { scheme: target.scheme, pathname: target.pathname, fragment: target.fragment };
36
36
  };
37
37
  // EXEC's pathname is <runtime>/<loop_seq>/<turn_seq>/<sequence> (stamped by
38
- // Engine.#writeLog). Exec owns this convention, so it — not the client — turns
38
+ // Dispatcher.#writeLog). Exec owns this convention, so it — not the client — turns
39
39
  // the pathname into the entry's coordinate, mirrored onto stream payloads so
40
40
  // waterfall clients read fields instead of parsing the URI (#224). The
41
41
  // coordinate is the trailing three segments (runtime-agnostic); a pathname that
@@ -60,7 +60,7 @@ export default class Exec {
60
60
  volatile: true,
61
61
  modelVisible: true,
62
62
  example: "<<EXEC[sqlite]:SELECT 22.0 / 7.0:EXEC",
63
- documentation: "Runs a command in a runtime — `<<EXEC[runtime](cwd):command:EXEC` — output streams into the run's `<runtime>:///<loop>/<turn>/<seq>` entry, channels stdout/stderr. A host-effecting command proposes for review before it runs; a read-only/pure one runs ungated. Either way you never fetch the output: the engine surfaces each turn's new stream bytes to you automatically — folded while the command runs, opened when it finishes.",
63
+ documentation: "Runs a command in a runtime — `<<EXEC[runtime](cwd):command:EXEC` — output streams into the run's `<runtime>:///<loop>/<turn>/<seq>` entry on the runtime's own channels (a subprocess → stdout/stderr; a computational runtime like sqlite/jq → a JSON `results` channel). A host-effecting command proposes for review before it runs; a read-only/pure one runs ungated. Either way you never fetch the output: the engine surfaces each turn's new stream bytes to you automatically — folded while the command runs, opened when it finishes.",
64
64
  flags: {
65
65
  excludedInAsk: true,
66
66
  },
@@ -139,21 +139,19 @@ export default class Exec {
139
139
  const why = resolved.detail === undefined ? "" : `: ${resolved.detail}`;
140
140
  return { status: 501, error: `\`${runtime}\` is unavailable${why}` };
141
141
  }
142
- const cwdFromOp = cwdFromTarget(statement.target);
143
- // Effect on the RAW target (pre-cwd-default) decides the lifecycle:
144
- // host propose, read/pure → auto-run inline (plurnk-service#182).
145
- const policy = EffectPolicy.decide(resolved.executor.effect(cwdFromOp, command)); // command-aware (#289): a per-tool readOnlyHint can auto-run a read-only call — pure/read ungated — §exec-readpure-ungated
146
- // Default cwd to the session's project_root so EXEC runs in the
147
- // same directory File scheme writes to. Without this default, the
148
- // model creates a file via EDIT (lands in project_root) and then
149
- // EXECs (runs in daemon cwd) and can't find what it just wrote.
150
- // Explicit (cwd) in the EXEC statement still wins.
151
- let cwd = cwdFromOp;
152
- if (cwd === null) {
153
- const sessionRow = await ctx.db.envelope_get_session.get({ id: ctx.sessionId });
154
- cwd = sessionRow?.project_root ?? null;
155
- }
156
- // Pathname is assigned by Engine.#writeLog as <runtime>/<loop_seq>/
142
+ // The parsed (target) slot — the executor's DATA SOURCE (jq input file / sqlite db / wasm
143
+ // module; ignored by subprocess). execs 0.4.26 (#15) carries it distinct from cwd.
144
+ const target = cwdFromTarget(statement.target);
145
+ // Effect classifies by the target only, never by parsing the command (§289): host propose,
146
+ // read/pure auto-run inline (plurnk-service#182).
147
+ const policy = EffectPolicy.decide(resolved.executor.effect(target, command));
148
+ // cwd is ALWAYS the session WORKSPACE (project_root) the process working directory a relative
149
+ // target resolves against (execs 0.4.26 §2). The old overload (target-as-cwd) is gone: EXEC runs
150
+ // in the same directory the File scheme writes to, and a data-source runtime resolves its target
151
+ // against it (so EXEC[jq](data/x.json) finds the workspace file, not one at the daemon's cwd).
152
+ const sessionRow = await ctx.db.envelope_get_session.get({ id: ctx.sessionId });
153
+ const cwd = sessionRow?.project_root ?? null;
154
+ // Pathname is assigned by Dispatcher.#writeLog as <runtime>/<loop_seq>/
157
155
  // <turn_seq>/<sequence> (executor-domain + coordinate, e.g. sh/1/1/2).
158
156
  // `pathname` is stamped into attrs at log-write time; applyResolution
159
157
  // reads it back here.
@@ -166,7 +164,7 @@ export default class Exec {
166
164
  const turnScoped = typeof marks?.[0] === "number" && marks[0] === 0;
167
165
  const pollSec = typeof marks?.[1] === "number" && marks[1] > 0 ? Math.floor(marks[1]) : undefined;
168
166
  const attrs = {
169
- runtime, cwd, command, pathname: "", inline: policy === "auto",
167
+ runtime, cwd, command, target, pathname: "", inline: policy === "auto",
170
168
  ...(schemeTarget !== null ? { schemeTarget } : {}),
171
169
  ...(timeoutSec !== undefined ? { timeoutSec } : {}),
172
170
  ...(turnScoped ? { turnScoped: true } : {}),
@@ -182,14 +180,15 @@ export default class Exec {
182
180
  let command = typeof attrs.command === "string" ? attrs.command : "";
183
181
  const pathname = attrs.pathname;
184
182
  const runtime = (typeof attrs.runtime === "string" && attrs.runtime !== "") ? attrs.runtime : "sh";
185
- let cwd = (typeof attrs.cwd === "string" && attrs.cwd.length > 0) ? attrs.cwd : null;
183
+ const cwd = (typeof attrs.cwd === "string" && attrs.cwd.length > 0) ? attrs.cwd : null;
184
+ let target = (typeof attrs.target === "string" && attrs.target.length > 0) ? attrs.target : null;
186
185
  if (typeof pathname !== "string" || pathname.length === 0) {
187
186
  return { status: 500, outcome: "missing_pathname" };
188
187
  }
189
188
  // #201 — resolve a scheme-URI target to content (executors stay scheme-blind).
190
189
  // Empty body → the resolved content IS the command (run a stored script).
191
190
  // Non-empty body → materialize the content to a temp file whose path becomes
192
- // the runtime-interpreted cwd (the data source for filters/sqlite/wasm).
191
+ // the runtime's data-source TARGET (the input for filters/sqlite/wasm).
193
192
  let tempPath = null;
194
193
  if (attrs.schemeTarget !== undefined) {
195
194
  const { scheme, pathname: tPath, fragment } = attrs.schemeTarget;
@@ -207,7 +206,7 @@ export default class Exec {
207
206
  else {
208
207
  tempPath = join(tmpdir(), `plurnk-exec-${ctx.sessionId}-${pathname.replace(/[^a-zA-Z0-9]/g, "-")}`);
209
208
  await writeFile(tempPath, content, "utf8");
210
- cwd = tempPath;
209
+ target = tempPath;
211
210
  }
212
211
  }
213
212
  if (command.length === 0) {
@@ -263,7 +262,7 @@ export default class Exec {
263
262
  this.#activeAborts.set(subscriptionId, { runId: ctx.runId, pathname, controller, unlink });
264
263
  const tail = this.#runExecutor({
265
264
  executor: resolved.executor,
266
- runtime, command, cwd, ctx, pathname,
265
+ runtime, command, cwd, target, ctx, pathname,
267
266
  entryId, subscriptionId, signal: controller.signal, controller, tempPath,
268
267
  timeoutSec: typeof attrs.timeoutSec === "number" ? attrs.timeoutSec : null,
269
268
  });
@@ -286,7 +285,7 @@ export default class Exec {
286
285
  // notify's reported state to "closed" before the chunk event fires
287
286
  // as "active." Chain through a single promise queue to serialize.
288
287
  async #runExecutor(opts) {
289
- const { executor, runtime, command, cwd, ctx, pathname, entryId, subscriptionId, signal, controller, timeoutSec, tempPath } = opts;
288
+ const { executor, runtime, command, cwd, target, ctx, pathname, entryId, subscriptionId, signal, controller, timeoutSec, tempPath } = opts;
290
289
  const db = ctx.db;
291
290
  const coordinate = coordinateFromPathname(pathname); // #224 — stamped on stream/event + stream/concluded
292
291
  // grammar 0.74.20 EXEC `<T>` — kill the spawn after T seconds. unref'd so a pending timer never
@@ -306,7 +305,7 @@ export default class Exec {
306
305
  let stderrLength = 0;
307
306
  try {
308
307
  const result = await executor.run({
309
- runtime, command, cwd, signal,
308
+ runtime, command, cwd, target, signal,
310
309
  env: ExecEnv.scoped(), // SPEC §exec {§exec-env-scoped} — never plurnk's own secrets
311
310
  write: (channel, chunk) => enqueue(() => ChannelWrite.appendToChannel(db, {
312
311
  entryId, channel, chunk, notify: ctx.streamEventNotify, coordinate,
@@ -1 +1 @@
1
- {"version":3,"file":"Exec.js","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Exec.js","sourceRoot":"","sources":["../../src/schemes/Exec.ts"],"names":[],"mappings":"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"}
@@ -210,8 +210,8 @@ export default class File {
210
210
  }
211
211
  // COPY/MOVE INTO file:/// — the dest write. Same §membership gate as edit, same 202
212
212
  // proposal + applyResolution path: a copy onto disk is a disk write and earns
213
- // the identical human review. Engine.#copyOrchestration propagates this 202;
214
- // Engine.#runApplyResolution routes the accept back here via the dest scheme;
213
+ // the identical human review. Dispatcher.#copyOrchestration propagates this 202;
214
+ // ProposalLifecycle.runApply routes the accept back here via the dest scheme;
215
215
  // applyResolution() writes the file + registers the entry. The copied content
216
216
  // is the source's body channel (full replacement — files are body-only).
217
217
  async writeEntry(pathname, entry, ctx) {