@plurnk/plurnk-service 0.52.0 → 0.53.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 (38) hide show
  1. package/SPEC.md +14 -8
  2. package/dist/core/Engine.d.ts.map +1 -1
  3. package/dist/core/Engine.js +82 -32
  4. package/dist/core/Engine.js.map +1 -1
  5. package/dist/core/Engine.sql +39 -7
  6. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  7. package/dist/core/SchemeRegistry.js +1 -2
  8. package/dist/core/SchemeRegistry.js.map +1 -1
  9. package/dist/core/packet-wire.d.ts +1 -2
  10. package/dist/core/packet-wire.d.ts.map +1 -1
  11. package/dist/core/packet-wire.js +111 -138
  12. package/dist/core/packet-wire.js.map +1 -1
  13. package/dist/core/teaching.d.ts +1 -1
  14. package/dist/core/teaching.d.ts.map +1 -1
  15. package/dist/core/teaching.js +6 -4
  16. package/dist/core/teaching.js.map +1 -1
  17. package/dist/schemes/Exec.d.ts.map +1 -1
  18. package/dist/schemes/Exec.js +11 -24
  19. package/dist/schemes/Exec.js.map +1 -1
  20. package/dist/schemes/Log.d.ts.map +1 -1
  21. package/dist/schemes/Log.js +3 -2
  22. package/dist/schemes/Log.js.map +1 -1
  23. package/dist/schemes/Run.js +1 -1
  24. package/dist/schemes/Run.js.map +1 -1
  25. package/dist/schemes/_entry-find.d.ts +1 -0
  26. package/dist/schemes/_entry-find.d.ts.map +1 -1
  27. package/dist/schemes/_entry-find.js +8 -2
  28. package/dist/schemes/_entry-find.js.map +1 -1
  29. package/dist/server/Daemon.d.ts.map +1 -1
  30. package/dist/server/Daemon.js +5 -8
  31. package/dist/server/Daemon.js.map +1 -1
  32. package/docs/log.md +1 -1
  33. package/package.json +16 -15
  34. package/requirements.md +3 -9
  35. package/dist/schemes/exec-receipt.d.ts +0 -4
  36. package/dist/schemes/exec-receipt.d.ts.map +0 -1
  37. package/dist/schemes/exec-receipt.js +0 -25
  38. package/dist/schemes/exec-receipt.js.map +0 -1
@@ -9,7 +9,7 @@
9
9
  // fenced code blocks for entry bodies, lists for arrays. No invented
10
10
  // separators. Models parse markdown natively.
11
11
  //
12
- // Section headers follow the `# Plurnk System X` convention so the model
12
+ // Section headers follow the `## Plurnk System X` convention so the model
13
13
  // sees consistent framing across every section it might receive. Sections
14
14
  // with no content are omitted entirely (no empty headers in the wire).
15
15
  import { MimetypeBinary } from "../content/index.js";
@@ -17,7 +17,7 @@ import { renderAddress } from "./plurnk-uri.js";
17
17
  export default class PacketWire {
18
18
  // Render the sections in `slot` to one ChatMessage.content string. Sections
19
19
  // render in list order; empties are omitted (no empty headers on the wire);
20
- // each is `# {header}\n\n{content}` (or bare content when header is null),
20
+ // each is `## {header}\n\n{content}` (or bare content when header is null),
21
21
  // trailing newlines stripped, joined with a blank line.
22
22
  static renderSlot(sections, slot) {
23
23
  return sections
@@ -26,7 +26,7 @@ export default class PacketWire {
26
26
  .filter((p) => p.length > 0)
27
27
  .join("\n\n");
28
28
  }
29
- // One section → its markdown block (`# {header}\n\n{content}`, or bare
29
+ // One section → its markdown block (`## {header}\n\n{content}`, or bare
30
30
  // content when header is null/empty), trailing newlines stripped. Empty
31
31
  // content renders to "" so renderSlot drops it. This is the unit the
32
32
  // per-section `tokens` weight is measured over.
@@ -34,7 +34,7 @@ export default class PacketWire {
34
34
  if (typeof s.content !== "string" || s.content.length === 0)
35
35
  return "";
36
36
  const header = typeof s.header === "string" && s.header.length > 0 ? s.header : null;
37
- return (header ? `# ${header}\n\n${s.content}` : s.content).replace(/\n+$/, "");
37
+ return (header ? `## ${header}\n\n${s.content}` : s.content).replace(/\n+$/, "");
38
38
  }
39
39
  // PLURNK_PROMPT_PREVIEW_CHARS caps the prompt body rendered in the prompt
40
40
  // section — a fat prompt replays every turn, so show the first `cap` chars +
@@ -57,22 +57,11 @@ export default class PacketWire {
57
57
  static renderGit(git) {
58
58
  return git === null || git === undefined ? "" : PacketWire.#renderGitState(git);
59
59
  }
60
- // The catalog section content: a per-scheme tally (entry count + stored token weight) so
61
- // the model knows which schemes hold content without probing e.g. FIND(known://**). Null
62
- // scheme renders as `file` (bare workspace rows). "" when the session is empty (omitted).
63
- static renderCatalog(summary) {
64
- const rows = Array.isArray(summary) ? summary : [];
65
- if (rows.length === 0)
66
- return "";
67
- return rows
68
- .map((r) => `${r.scheme ?? "file"} — ${r.entries} ${r.entries === 1 ? "entry" : "entries"}, ${r.tokens} tokens`)
69
- .join("\n");
70
- }
71
60
  // The log section's content: the model's curated rows rendered to markdown
72
61
  // (the same #renderLogEntries the wire ships). Empty log → "" (omitted).
73
- static renderLog(entries) {
62
+ static renderLog(entries, countTokens) {
74
63
  const log = Array.isArray(entries) ? entries : [];
75
- return log.length > 0 ? PacketWire.#renderLogEntries(log) : "";
64
+ return log.length > 0 ? PacketWire.#renderLogEntries(log, countTokens) : "";
76
65
  }
77
66
  // Read one section's content by name off a packet (Engine's or re-parsed).
78
67
  // The legible accessor — consumers name the section they want instead of
@@ -100,12 +89,12 @@ export default class PacketWire {
100
89
  // the rendered result. §tokenomics-render-weight-budget
101
90
  static measureLogBudget(entries, countTokens) {
102
91
  const logEntries = Array.isArray(entries) ? entries : [];
103
- const logBody = logEntries.length > 0 ? PacketWire.#renderLogEntries(logEntries) : "";
92
+ const logBody = logEntries.length > 0 ? PacketWire.#renderLogEntries(logEntries, countTokens) : "";
104
93
  const HEAVIEST_COUNT = 10;
105
94
  const byTurn = new Map();
106
95
  const perEntry = [];
107
96
  for (const e of logEntries) {
108
- const weight = countTokens(PacketWire.#renderLogEntries([e]));
97
+ const weight = countTokens(PacketWire.#renderLogEntries([e], countTokens));
109
98
  const coordinate = typeof e.coordinate === "string" ? e.coordinate : null;
110
99
  const op = typeof e.op === "string" && e.op.length > 0 ? e.op : null;
111
100
  // Turn = the loop_seq/turn_seq prefix of the coordinate
@@ -120,7 +109,7 @@ export default class PacketWire {
120
109
  }
121
110
  return {
122
111
  entries: logEntries.length,
123
- tokens: logBody ? countTokens(`# Plurnk System Log\n\n${logBody}`) : 0,
112
+ tokens: logBody ? countTokens(`## Plurnk System Log\n\n${logBody}`) : 0,
124
113
  byTurn: [...byTurn.entries()]
125
114
  .map(([turn, tokens]) => ({ turn, tokens }))
126
115
  .toSorted((a, b) => {
@@ -144,6 +133,18 @@ export default class PacketWire {
144
133
  const numbered = source.split("\n").map((line, i) => `${start + i}:\t${line}`).join("\n");
145
134
  return trailingNewline ? `${numbered}\n` : numbered;
146
135
  }
136
+ // The single content-body renderer EVERY output-emitting op routes through, so the line-number
137
+ // convention the model orients on can't drift: line-navigable mimetypes (text/*) get the `N:\t`
138
+ // prefix from `startLine`; tree-navigable (JSON/XML/HTML) render verbatim so jsonpath/xpath
139
+ // isn't shifted. Empty content ⇒ "" (the meta line stands alone). §render-rule-line-navigable-prefix
140
+ static #renderContentBody(fence, content, mimetype, startLine = 1) {
141
+ if (content.length === 0)
142
+ return "";
143
+ const rendered = MimetypeBinary.isLineNavigableMimetype(mimetype)
144
+ ? PacketWire.#numberLines(content, startLine)
145
+ : content;
146
+ return PacketWire.#wrapHeredocBody(fence, rendered);
147
+ }
147
148
  // Tolerant JSON parser for log entries' rx/tx fields. The engine
148
149
  // pre-parses application/json mimetypes, but render may also receive
149
150
  // strings (legacy paths, manual tests). Returns null on parse failure.
@@ -194,66 +195,6 @@ export default class PacketWire {
194
195
  const fence = channel ? `${uri}#${channel}` : uri;
195
196
  return PacketWire.#wrapHeredocBody(fence, body);
196
197
  }
197
- // Re-render a plurnk statement (from log_entries.tx) as the heredoc form
198
- // the model would have emitted. Used by the log render so the model sees
199
- // its own ops in its own native syntax — what it wrote, mirrored back.
200
- //
201
- // Faithfulness over cleverness: render the parts as recorded. `target.raw`
202
- // preserves exactly what the model wrote (URL with fragment, bare path,
203
- // etc.) instead of round-tripping through scheme/pathname/fragment fields.
204
- // Returns null when tx isn't a parseable PlurnkStatement (callers fall
205
- // back to the meta line alone).
206
- //
207
- // Signal renders to `[…]`:
208
- // - array of strings (tags) → `[tag1,tag2]`
209
- // - number (status code, e.g. SEND[200]) → `[200]`
210
- // - string (runtime, e.g. EXEC[python]) → `[python]`
211
- // - null/missing → omitted
212
- // All plurnk statements share the same syntactic frame; signal type
213
- // varies by op but renders uniformly.
214
- static #renderStatementHeredoc(tx) {
215
- if (tx === null || typeof tx !== "object" || typeof tx.op !== "string" || tx.op.length === 0)
216
- return null;
217
- const op = tx.op;
218
- const suffix = typeof tx.suffix === "string" ? tx.suffix : "";
219
- let signalStr = "";
220
- const signal = tx.signal;
221
- if (Array.isArray(signal)) {
222
- const tags = signal.filter((t) => typeof t === "string");
223
- if (tags.length > 0)
224
- signalStr = `[${tags.join(",")}]`;
225
- }
226
- else if (typeof signal === "number") {
227
- signalStr = `[${signal}]`;
228
- }
229
- else if (typeof signal === "string" && signal.length > 0) {
230
- signalStr = `[${signal}]`;
231
- }
232
- let targetStr = "";
233
- const target = tx.target;
234
- if (target !== null && target !== undefined && typeof target === "object" && typeof target.raw === "string") {
235
- targetStr = `(${target.raw})`;
236
- }
237
- let markerStr = "";
238
- const lm = tx.lineMarker;
239
- if (lm !== null && lm !== undefined && typeof lm === "object" && Array.isArray(lm.marks) && lm.marks.length > 0) {
240
- markerStr = lm.marks.length > 1 ? `<${lm.marks[0]},${lm.marks[1]}>` : `<${lm.marks[0]}>`;
241
- }
242
- let body;
243
- if (typeof tx.body === "string")
244
- body = tx.body;
245
- else if (tx.body !== null && tx.body !== undefined && typeof tx.body === "object" && typeof tx.body.raw === "string")
246
- body = tx.body.raw;
247
- else
248
- body = "";
249
- // Character-perfect: no padding around body. The body string IS
250
- // whatever the model wrote between the colons, including any leading
251
- // or trailing whitespace it chose. Adding `\n` here would inflate
252
- // single-line emissions into multi-line and nudge the model toward
253
- // verbose forms — and it would violate the grammar's "body content
254
- // is character-perfect" guarantee on the way back.
255
- return `<<${op}${suffix}${signalStr}${targetStr}${markerStr}:${body}:${op}${suffix}`;
256
- }
257
198
  // Render a (scheme, pathname) tuple as the URI the model should SEE.
258
199
  // Null scheme → bare pathname. The `file` scheme never reaches this
259
200
  // function because Engine.#extractTarget normalizes it to null at the
@@ -292,7 +233,7 @@ export default class PacketWire {
292
233
  return null;
293
234
  return op !== null ? `log:///${coordinate}/${op}` : `log:///${coordinate}`;
294
235
  }
295
- static #renderLogEntries(entries) {
236
+ static #renderLogEntries(entries, countTokens) {
296
237
  return entries.map((e) => {
297
238
  const meta = {};
298
239
  const coordinate = typeof e.coordinate === "string" ? e.coordinate : null;
@@ -313,79 +254,111 @@ export default class PacketWire {
313
254
  const target = PacketWire.#renderActionTarget(e.target);
314
255
  if (target !== null)
315
256
  meta.target = target;
316
- // Op-specific meta enrichment for READ: surface the matcher body
317
- // and match count when a body matcher was used. Without these, the
318
- // model can't distinguish "0 matches" from "empty content" — both
319
- // would render as a status-204 line. The matcher comes from the
320
- // stored statement (tx); the count from the result (rx).
321
- if (op === "READ") {
257
+ // EXEC's output is a separate stream entry (§exec-stream); its address rides in a
258
+ // `stream` link, distinct from `target` (the cwd / executable path it ran in).
259
+ if (op === "EXEC" && e.attrs !== null && typeof e.attrs === "object" && typeof e.attrs.stream === "string") {
260
+ meta.stream = e.attrs.stream;
261
+ }
262
+ // Parse rx once — reused for the matcher/items enrichment and the body.
263
+ const rx = (typeof e.rx === "string" ? PacketWire.#safeParse(e.rx) : e.rx);
264
+ // READ + FIND enrichment: the matcher body (from tx) + `items`, the count
265
+ // of rows the op returned — a matcher's hits, or a bare catalog FIND's entry
266
+ // count. Without it the model can't tell "0 results" from "empty content",
267
+ // nor weigh a re-FIND. `matches` when the dispatch tallied it; else a FIND
268
+ // body is a JSON array whose length IS the count.
269
+ let items = null;
270
+ if (op === "READ" || op === "FIND") {
322
271
  const tx = e.tx;
323
272
  if (tx !== null && tx !== undefined && typeof tx === "object" && tx.body !== null && typeof tx.body === "object") {
324
273
  if (typeof tx.body.raw === "string")
325
274
  meta.matcher = tx.body.raw;
326
275
  }
327
- const rx = (typeof e.rx === "string" ? PacketWire.#safeParse(e.rx) : e.rx);
328
276
  if (rx !== null && typeof rx === "object" && typeof rx.matches === "number") {
329
- meta.matches = rx.matches;
277
+ items = rx.matches;
330
278
  }
331
- }
332
- const metaLine = `* ${PacketWire.#canonicalJson(meta)}`;
333
- // FOLD (expanded=0): the model collapsed this row to its one-line
334
- // summary (§open-fold) — render the meta line only, eliding the body.
335
- // Re-OPEN restores it. The row stays listed; only its weight drops.
336
- if (e.folded === true)
337
- return metaLine;
338
- // READ@200: expose the response body. READ@204 (successfully empty —
339
- // 0 matcher hits, sentinel slice, or empty source) has no body to
340
- // render; the meta line carries the signal via `matches` / status code.
341
- if (op === "READ" && e.status === 200) {
342
- const rx = (typeof e.rx === "string" ? PacketWire.#safeParse(e.rx) : e.rx);
343
- if (rx !== null && typeof rx === "object" && typeof rx.content === "string" && rx.content.length > 0) {
344
- const fence = target ?? `log:///${coordinate}`;
345
- // Line-navigable mimetypes (text/markdown, text/plain,
346
- // source code, etc.) get N:\t prefix per plurnk.md. Tree-
347
- // navigable (JSON, XML, HTML) render verbatim — line
348
- // numbers in the wrapper would collide with structural
349
- // navigation (jsonpath/xpath) used on these formats.
350
- // Classifier is consumer-side in this repo (SPEC.md §render-rule, §render-rule-line-navigable-prefix, §render-rule-tree-navigable-verbatim).
351
- const mimetype = typeof rx.mimetype === "string" ? rx.mimetype : "text/plain";
352
- if (MimetypeBinary.isLineNavigableMimetype(mimetype)) {
353
- const start = typeof rx.startLine === "number" ? rx.startLine : 1;
354
- return `${metaLine}\n${PacketWire.#wrapHeredocBody(fence, PacketWire.#numberLines(rx.content, start))}`;
355
- }
356
- return `${metaLine}\n${PacketWire.#wrapHeredocBody(fence, rx.content)}`;
279
+ else if (op === "FIND" && rx !== null && typeof rx === "object" && typeof rx.content === "string") {
280
+ const parsed = PacketWire.#safeParse(rx.content);
281
+ if (Array.isArray(parsed))
282
+ items = parsed.length;
357
283
  }
358
- }
359
- // EDIT (§edit-result-render): render the resulting span the edited area as it
360
- // looks now instead of the input statement. The meta line still
361
- // carries op + target, so "I EDITed X" stays legible; the body says
362
- // "and here's X now." Serves the model's own EDITs and the system
363
- // delta-EDITs (§env-delta) identically. Empty span (content emptied) →
364
- // meta line only.
365
- if (op === "EDIT") {
366
- const rx = (typeof e.rx === "string" ? PacketWire.#safeParse(e.rx) : e.rx);
367
- if (rx !== null && typeof rx === "object" && typeof rx.span === "string") {
368
- const fence = target ?? `log:///${coordinate}`;
369
- return rx.span.length > 0 ? `${metaLine}\n${PacketWire.#wrapHeredocBody(fence, rx.span)}` : metaLine;
284
+ // The matched set's content weight (sum of the entries' live channel tokens) — the
285
+ // FIND self-describes its hits' READ-cost; carries the per-scheme roll-up in the foist.
286
+ if (op === "FIND" && rx !== null && typeof rx === "object" && typeof rx.itemsTokenTotal === "number") {
287
+ meta.itemsTokenTotal = rx.itemsTokenTotal;
370
288
  }
371
289
  }
372
- // Every other op: re-emit the model's statement. EXEC, SEND, COPY,
373
- // MOVE, FIND, OPEN, FOLD each gets its native heredoc form back.
374
- // Without this the log row is a status code with no record of what
375
- // the model actually wrote, and the model has to back into its own
376
- // actions by inference (see reasoning.md trace from the pre-fix
377
- // count-files run).
378
- const heredoc = PacketWire.#renderStatementHeredoc(e.tx ?? null);
379
- if (heredoc !== null)
380
- return `${metaLine}\n${heredoc}`;
381
- return metaLine;
290
+ // The foldable body computed ALWAYS (folded too), because `tokens` measures it: for
291
+ // an open row that's what a FOLD would save, for a folded row what an OPEN would cost.
292
+ // "" genuinely no body (an empty FIND, an empty EDIT span, a @204).
293
+ let body = "";
294
+ if (op === "FIND" && e.status === 200 && items === 0) {
295
+ // Empty FIND result → no body. items:0 already says "empty"; rendering [] under a
296
+ // fence is redundant noise. (The always-foisted empty known:///** / unknown:///**
297
+ // workspace rows are the common case.)
298
+ body = "";
299
+ }
300
+ else if ((op === "READ" || op === "FIND") && e.status === 200 &&
301
+ rx !== null && typeof rx === "object" && typeof rx.content === "string" && rx.content.length > 0) {
302
+ // READ@200 / FIND@200: the content READ pulled, or the catalog rows / matched
303
+ // entries FIND returned (§render-rule-find-renders-result) — the turn-0 foisted
304
+ // FIND(scheme:///**) reaches the packet here, as does the exec-stream injector's
305
+ // foisted READ of the channel. #renderContentBody applies the line-number convention
306
+ // (§render-rule-line-navigable-prefix / §render-rule-tree-navigable-verbatim).
307
+ const mimetype = typeof rx.mimetype === "string" ? rx.mimetype : "text/plain";
308
+ const start = typeof rx.startLine === "number" ? rx.startLine : 1;
309
+ body = PacketWire.#renderContentBody(target ?? `log:///${coordinate}`, rx.content, mimetype, start);
310
+ }
311
+ else if (op === "EDIT" && rx !== null && typeof rx === "object" && typeof rx.span === "string") {
312
+ // EDIT (§edit-result-render): the resulting span as it looks now. editedSpan already
313
+ // line-numbered it with the changed region's REAL offsets (e.g. 50:\t…), so wrap
314
+ // verbatim — re-numbering here would double it (1:\t50:\t…) and lose the true line
315
+ // position. Empty span (content emptied) ⇒ no body — the meta line stands alone.
316
+ const span = rx.span;
317
+ if (span.length > 0)
318
+ body = PacketWire.#wrapHeredocBody(target ?? `log:///${coordinate}`, span);
319
+ }
320
+ else if (op === "EXEC" && e.tx !== null && e.tx !== undefined && typeof e.tx.body === "string") {
321
+ // EXEC: the literal command body, :::-fenced + line-numbered at the op's log address —
322
+ // the model sees what it ran and can reference lines of its own code. The OUTPUT is a
323
+ // SEPARATE stream (meta.stream), surfaced by the injector, never re-emitted here. §exec-stream
324
+ body = PacketWire.#renderContentBody(path ?? `log:///${coordinate}`, e.tx.body, "text/plain");
325
+ }
326
+ else if ((op === "PLAN" || op === "SEND") && e.tx !== null && e.tx !== undefined) {
327
+ // PLAN's plan / SEND's message ride into the log as N:\t content at the op's log address —
328
+ // the log mirrors the model's WORK, NEVER a repeated <<OP:…:OP tag (tags are emission
329
+ // syntax, not the log paradigm). Bodyless ops (COPY/MOVE/OPEN/FOLD, a non-200 READ/FIND
330
+ // whose matcher already rides in meta, a span-less EDIT) fall through to their meta line.
331
+ const b = e.tx.body;
332
+ const opBody = typeof b === "string" ? b
333
+ : b !== null && typeof b === "object" && typeof b.raw === "string" ? b.raw : "";
334
+ if (opBody.length > 0)
335
+ body = PacketWire.#renderContentBody(path ?? `log:///${coordinate}`, opBody, "text/plain");
336
+ }
337
+ // tokens on EVERY row (0 when there's genuinely no body) so the model can always weigh
338
+ // it; for a folded row this is the cost an OPEN would add. items present even at 0.
339
+ if (items !== null)
340
+ meta.items = items;
341
+ // 0 for a genuinely empty body — never call countTokens("") (some providers return
342
+ // undefined for it, which JSON.stringify would drop, leaving the row with no tokens).
343
+ meta.tokens = body.length > 0 ? countTokens(body) : 0;
344
+ // Body-state marker — body-aware so `-` never sits on a bodyless row:
345
+ // `*` no body (nothing to OPEN) · `+` open (body shown) · `-` folded (OPEN to expand).
346
+ const marker = body.length === 0 ? "*" : e.folded === true ? "-" : "+";
347
+ const metaLine = `${marker} ${PacketWire.#canonicalJson(meta)}`;
348
+ // Render the body only when OPEN; a folded row is its meta line alone (body hidden).
349
+ return (e.folded !== true && body.length > 0) ? `${metaLine}\n${body}` : metaLine;
382
350
  }).join("\n");
383
351
  }
384
352
  static #renderActionTarget(target) {
385
353
  if (target === null || target === undefined)
386
354
  return null;
387
355
  const rendered = PacketWire.#renderModelUri(target.scheme, target.pathname);
388
- return rendered.length > 0 ? rendered : null;
356
+ if (rendered.length === 0)
357
+ return null;
358
+ // The channel fragment (#stdout/#stderr) is part of the address — a stream delta has to
359
+ // say WHICH channel it is, not just the entry. §exec-stream
360
+ const fragment = typeof target.fragment === "string" && target.fragment.length > 0 ? `#${target.fragment}` : "";
361
+ return rendered + fragment;
389
362
  }
390
363
  // Render TelemetryEvent[] → meta line per event, optionally followed by
391
364
  // an N:\t-prefixed snippet block when the event carries `snippet` (the
@@ -1 +1 @@
1
- {"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packet-wire.js","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const teachingLine: (oneliner: string, docName: string, hasDoc: boolean) => string;
1
+ export declare const teachingLine: (oneliner: string) => string;
2
2
  export declare const docsExcludeSet: () => ReadonlySet<string>;
3
3
  //# sourceMappingURL=teaching.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"teaching.d.ts","sourceRoot":"","sources":["../../src/core/teaching.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,EAAE,QAAQ,OAAO,KAAG,MACR,CAAC;AAM3E,eAAO,MAAM,cAAc,QAAO,WAAW,CAAC,MAAM,CACgD,CAAC"}
1
+ {"version":3,"file":"teaching.d.ts","sourceRoot":"","sources":["../../src/core/teaching.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,GAAI,UAAU,MAAM,KAAG,MAAyB,CAAC;AAM1E,eAAO,MAAM,cAAc,QAAO,WAAW,CAAC,MAAM,CACgD,CAAC"}
@@ -1,8 +1,10 @@
1
1
  // #240 — the shared teaching-line shape for the System Tools (exec tags) + System Schemes
2
- // directories: a terse `* <oneliner>` plus an optional pull-doc link, rendered IDENTICALLY for
3
- // execs and schemes. The example self-documents its tag/scheme, so no service-added prefix.
4
- // `* ` bullets + bare op forms match the packet's list/op rendering (no `- `, no backticks).
5
- export const teachingLine = (oneliner, docName, hasDoc) => `* ${oneliner}${hasDoc ? ` (docs: plurnk://docs/${docName}.md)` : ""}`;
2
+ // directories: a terse `* <oneliner>`, rendered IDENTICALLY for execs and schemes. The example
3
+ // self-documents its tag/scheme, so no service-added prefix. Reference docs are NOT linked inline
4
+ // (#270): they're materialized at plurnk://docs/<name>.md and discovered via the turn-1
5
+ // FIND(plurnk://docs/**) foist, keeping the raw packet free of doc links. `* ` bullets + bare op
6
+ // forms match the packet's list/op rendering (no `- `, no backticks).
7
+ export const teachingLine = (oneliner) => `* ${oneliner}`;
6
8
  // #240 — PLURNK_DOCS_EXCLUDE: a comma list of scheme/exec names dropped from BOTH the teaching
7
9
  // oneliner AND the materialized pull-doc, on load — the self-evident/retired names the operator
8
10
  // wants no doc for (default `plurnk,file,exec`, set in .env.example). Read per-call so a process
@@ -1 +1 @@
1
- {"version":3,"file":"teaching.js","sourceRoot":"","sources":["../../src/core/teaching.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,+FAA+F;AAC/F,4FAA4F;AAC5F,6FAA6F;AAC7F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,MAAe,EAAU,EAAE,CACvF,KAAK,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAE3E,+FAA+F;AAC/F,gGAAgG;AAChG,iGAAiG;AACjG,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAwB,EAAE,CACpD,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"teaching.js","sourceRoot":"","sources":["../../src/core/teaching.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,+FAA+F;AAC/F,kGAAkG;AAClG,wFAAwF;AACxF,iGAAiG;AACjG,sEAAsE;AACtE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;AAE1E,+FAA+F;AAC/F,gGAAgG;AAChG,iGAAiG;AACjG,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,GAAwB,EAAE,CACpD,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC"}
@@ -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,EAAE,MAAM,wBAAwB,CAAC;AAK1F,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;AAUnD,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;AAkDpF,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;IA6C7E,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;IAyLzD,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,EAAE,MAAM,wBAAwB,CAAC;AAK1F,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;AAkDpF,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;IA6C7E,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;IA8KzD,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"}
@@ -5,8 +5,6 @@ import EntryFind from "./_entry-find.js";
5
5
  import ChannelWrite from "../core/ChannelWrite.js";
6
6
  import ExecEnv from "./exec-env.js";
7
7
  import ExecAbort from "./exec-abort.js";
8
- import ExecReceipt from "./exec-receipt.js";
9
- import { renderAddress } from "../core/plurnk-uri.js";
10
8
  import { writeFile, unlink } from "node:fs/promises";
11
9
  import { tmpdir } from "node:os";
12
10
  import { join } from "node:path";
@@ -62,7 +60,7 @@ export default class Exec {
62
60
  volatile: true,
63
61
  modelVisible: true,
64
62
  example: "<<EXEC[sqlite]:SELECT 22.0 / 7.0:EXEC",
65
- documentation: "Runs a command in a runtime — `<<EXEC[runtime](cwd):command:EXEC` — with output streaming into the `exec:///<runtime>/<loop>/<turn>/<seq>` entry's stdout/stderr. A host-effecting command proposes for review before it runs; a read-only/pure one runs inline and returns its output the same turn. READ the entry on a later turn to see how a backgrounded run finished.",
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.",
66
64
  flags: {
67
65
  excludedInAsk: true,
68
66
  },
@@ -144,7 +142,7 @@ export default class Exec {
144
142
  const cwdFromOp = cwdFromTarget(statement.target);
145
143
  // Effect on the RAW target (pre-cwd-default) decides the lifecycle:
146
144
  // host → propose, read/pure → auto-run inline (plurnk-service#182).
147
- const policy = EffectPolicy.decide(resolved.executor.effect(cwdFromOp)); // pure/read auto-run inline — §exec-readpure-inline
145
+ const policy = EffectPolicy.decide(resolved.executor.effect(cwdFromOp)); // pure/read auto-run ungated — §exec-readpure-ungated
148
146
  // Default cwd to the session's project_root so EXEC runs in the
149
147
  // same directory File scheme writes to. Without this default, the
150
148
  // model creates a file via EDIT (lands in project_root) and then
@@ -250,23 +248,12 @@ export default class Exec {
250
248
  const tail = this.#runExecutor({
251
249
  executor: resolved.executor,
252
250
  runtime, command, cwd, ctx, pathname,
253
- entryId, subscriptionId, signal: controller.signal,
254
- inline: attrs.inline === true, tempPath,
251
+ entryId, subscriptionId, signal: controller.signal, tempPath,
255
252
  });
256
- // read/pure (inline): await the run, then return a RECEIPT — the output's
257
- // address + a structural OrientIndex, never the body inline (#240 containment;
258
- // the model READs <tag>:///<coord> to pull content). Same reflex as host
259
- // streams, just resolved this turn instead of a turn later.
260
- if (attrs.inline === true) {
261
- const closeStatus = await tail;
262
- const read = await EntryCrud.readEntry(pathname, ctx, runtime);
263
- const address = renderAddress(runtime, pathname); // canonical 3-slash form (pathname has a leading /), matches the manifest handle
264
- const channel = read.entry?.channels[resolved.executor.defaultChannel];
265
- const body = channel === undefined
266
- ? `${address} — (no output)`
267
- : ExecReceipt.build(address, channel.content, channel.mimetype);
268
- return { status: closeStatus, body };
269
- }
253
+ // Every exec backgrounds + streams (§exec-stream): no same-turn receipt — the output
254
+ // surfaces as the environment-observation injector's delta on the next turn (folded while
255
+ // it runs, opened when it finishes). Pure/read commands still auto-accept (attrs.inline =
256
+ // no human gate); they just resolve a turn later, uniformly with host streams.
270
257
  this.#activeSpawns.set(subscriptionId, tail);
271
258
  return { status: 200, outcome: "started" };
272
259
  }
@@ -282,7 +269,7 @@ export default class Exec {
282
269
  // notify's reported state to "closed" before the chunk event fires
283
270
  // as "active." Chain through a single promise queue to serialize.
284
271
  async #runExecutor(opts) {
285
- const { executor, runtime, command, cwd, ctx, pathname, entryId, subscriptionId, signal, inline, tempPath } = opts;
272
+ const { executor, runtime, command, cwd, ctx, pathname, entryId, subscriptionId, signal, tempPath } = opts;
286
273
  const db = ctx.db;
287
274
  const coordinate = coordinateFromPathname(pathname); // #224 — stamped on stream/event + stream/concluded
288
275
  let queue = Promise.resolve();
@@ -329,9 +316,9 @@ export default class Exec {
329
316
  this.#activeAborts.get(subscriptionId)?.unlink();
330
317
  this.#activeAborts.delete(subscriptionId);
331
318
  this.#activeSpawns.delete(subscriptionId);
332
- // Inline runs are delivered synchronously in the EXEC result
333
- // there's nothing to wake a later turn for.
334
- if (!inline && ctx.wakeRunNotify !== undefined) {
319
+ // Every run backgrounds now (§exec-stream) wake a parked loop on completion so the
320
+ // run resumes to the turn where the stream's terminal delta surfaces.
321
+ if (ctx.wakeRunNotify !== undefined) {
335
322
  ctx.wakeRunNotify({
336
323
  sessionId: ctx.sessionId, runId: ctx.runId,
337
324
  entryId, target: `${runtime}://${pathname}`, subscriptionId, closeStatus,