@plurnk/plurnk-service 1.7.0 → 1.8.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 (280) hide show
  1. package/.env.defaults +29 -42
  2. package/INSTALL.md +49 -10
  3. package/README.md +11 -1
  4. package/SPEC.md +631 -279
  5. package/digest-sql/channel-dispositions/dispositions.sql +15 -0
  6. package/digest-sql/channel-state/state.sql +6 -0
  7. package/digest-sql/curation/curation.sql +5 -0
  8. package/digest-sql/derivations/derivations.sql +4 -0
  9. package/digest-sql/embeddings/embeddings.sql +4 -0
  10. package/digest-sql/entry-dispositions/dispositions.sql +15 -0
  11. package/digest-sql/entry-state/state.sql +6 -0
  12. package/digest-sql/token-counts/token-counts.sql +2 -0
  13. package/dist/Paths.d.ts +2 -5
  14. package/dist/Paths.d.ts.map +1 -1
  15. package/dist/Paths.js +9 -21
  16. package/dist/Paths.js.map +1 -1
  17. package/dist/build-info.json +1 -1
  18. package/dist/content/read-projector.d.ts.map +1 -1
  19. package/dist/content/read-projector.js +4 -3
  20. package/dist/content/read-projector.js.map +1 -1
  21. package/dist/core/BudgetReadout.d.ts.map +1 -1
  22. package/dist/core/BudgetReadout.js +12 -22
  23. package/dist/core/BudgetReadout.js.map +1 -1
  24. package/dist/core/ChannelWrite.d.ts.map +1 -1
  25. package/dist/core/ChannelWrite.js.map +1 -1
  26. package/dist/core/ChannelWrite.sql +2 -1
  27. package/dist/core/Dispatcher.d.ts +7 -6
  28. package/dist/core/Dispatcher.d.ts.map +1 -1
  29. package/dist/core/Dispatcher.js +34 -88
  30. package/dist/core/Dispatcher.js.map +1 -1
  31. package/dist/core/Engine.d.ts +11 -8
  32. package/dist/core/Engine.d.ts.map +1 -1
  33. package/dist/core/Engine.js +45 -27
  34. package/dist/core/Engine.js.map +1 -1
  35. package/dist/core/Engine.sql +112 -107
  36. package/dist/core/ExecutorRegistry.d.ts +8 -2
  37. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  38. package/dist/core/ExecutorRegistry.js +6 -3
  39. package/dist/core/ExecutorRegistry.js.map +1 -1
  40. package/dist/core/HostPaths.d.ts +29 -0
  41. package/dist/core/HostPaths.d.ts.map +1 -0
  42. package/dist/core/HostPaths.js +74 -0
  43. package/dist/core/HostPaths.js.map +1 -0
  44. package/dist/core/LegacyHome.d.ts +10 -0
  45. package/dist/core/LegacyHome.d.ts.map +1 -0
  46. package/dist/core/LegacyHome.js +170 -0
  47. package/dist/core/LegacyHome.js.map +1 -0
  48. package/dist/core/LogBody.d.ts +1 -1
  49. package/dist/core/LogBody.d.ts.map +1 -1
  50. package/dist/core/LogBody.js +2 -2
  51. package/dist/core/LogBody.js.map +1 -1
  52. package/dist/core/LogEntryProjection.js +1 -1
  53. package/dist/core/LogEntryProjection.js.map +1 -1
  54. package/dist/core/LogVisibility.d.ts +28 -0
  55. package/dist/core/LogVisibility.d.ts.map +1 -0
  56. package/dist/core/LogVisibility.js +215 -0
  57. package/dist/core/LogVisibility.js.map +1 -0
  58. package/dist/core/LoopLifecycle.d.ts +1 -0
  59. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  60. package/dist/core/LoopLifecycle.js +8 -0
  61. package/dist/core/LoopLifecycle.js.map +1 -1
  62. package/dist/core/LoopLifecycle.sql +10 -0
  63. package/dist/core/OperatorConfig.d.ts +6 -0
  64. package/dist/core/OperatorConfig.d.ts.map +1 -0
  65. package/dist/core/OperatorConfig.js +92 -0
  66. package/dist/core/OperatorConfig.js.map +1 -0
  67. package/dist/core/OverflowTurn.d.ts +11 -0
  68. package/dist/core/OverflowTurn.d.ts.map +1 -0
  69. package/dist/core/OverflowTurn.js +77 -0
  70. package/dist/core/OverflowTurn.js.map +1 -0
  71. package/dist/core/Owner.js +2 -2
  72. package/dist/core/Owner.js.map +1 -1
  73. package/dist/core/PacketBuilder.d.ts +3 -15
  74. package/dist/core/PacketBuilder.d.ts.map +1 -1
  75. package/dist/core/PacketBuilder.js +48 -121
  76. package/dist/core/PacketBuilder.js.map +1 -1
  77. package/dist/core/ProblemLog.js +1 -1
  78. package/dist/core/ProblemLog.js.map +1 -1
  79. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  80. package/dist/core/ProposalLifecycle.js +3 -23
  81. package/dist/core/ProposalLifecycle.js.map +1 -1
  82. package/dist/core/ProviderInstantiate.d.ts +9 -5
  83. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  84. package/dist/core/ProviderInstantiate.js +99 -104
  85. package/dist/core/ProviderInstantiate.js.map +1 -1
  86. package/dist/core/ResourceMutations.d.ts.map +1 -1
  87. package/dist/core/ResourceMutations.js +5 -3
  88. package/dist/core/ResourceMutations.js.map +1 -1
  89. package/dist/core/SchemeRegistry.d.ts +0 -1
  90. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  91. package/dist/core/SchemeRegistry.js +7 -11
  92. package/dist/core/SchemeRegistry.js.map +1 -1
  93. package/dist/core/ToolResources.d.ts +19 -0
  94. package/dist/core/ToolResources.d.ts.map +1 -0
  95. package/dist/core/ToolResources.js +122 -0
  96. package/dist/core/ToolResources.js.map +1 -0
  97. package/dist/core/Turn.d.ts +27 -0
  98. package/dist/core/Turn.d.ts.map +1 -0
  99. package/dist/core/Turn.js +43 -0
  100. package/dist/core/Turn.js.map +1 -0
  101. package/dist/core/Turn.sql +72 -0
  102. package/dist/core/TurnOps.d.ts +7 -0
  103. package/dist/core/TurnOps.d.ts.map +1 -0
  104. package/dist/core/TurnOps.js +63 -0
  105. package/dist/core/TurnOps.js.map +1 -0
  106. package/dist/core/TurnRunner.d.ts +12 -4
  107. package/dist/core/TurnRunner.d.ts.map +1 -1
  108. package/dist/core/TurnRunner.js +1045 -898
  109. package/dist/core/TurnRunner.js.map +1 -1
  110. package/dist/core/WorkerName.d.ts +1 -1
  111. package/dist/core/WorkerName.d.ts.map +1 -1
  112. package/dist/core/env-defaults.d.ts.map +1 -1
  113. package/dist/core/env-defaults.js +7 -5
  114. package/dist/core/env-defaults.js.map +1 -1
  115. package/dist/core/fork.d.ts.map +1 -1
  116. package/dist/core/fork.js +15 -4
  117. package/dist/core/fork.js.map +1 -1
  118. package/dist/core/fork.sql +57 -27
  119. package/dist/core/git-env.d.ts +0 -1
  120. package/dist/core/git-env.d.ts.map +1 -1
  121. package/dist/core/git-env.js +0 -3
  122. package/dist/core/git-env.js.map +1 -1
  123. package/dist/core/git-membership.d.ts.map +1 -1
  124. package/dist/core/git-membership.js +10 -26
  125. package/dist/core/git-membership.js.map +1 -1
  126. package/dist/core/git-state.d.ts.map +1 -1
  127. package/dist/core/git-state.js +13 -14
  128. package/dist/core/git-state.js.map +1 -1
  129. package/dist/core/operation-target-groups.d.ts +3 -0
  130. package/dist/core/operation-target-groups.d.ts.map +1 -0
  131. package/dist/core/operation-target-groups.js +53 -0
  132. package/dist/core/operation-target-groups.js.map +1 -0
  133. package/dist/core/packet-inject.d.ts +0 -1
  134. package/dist/core/packet-inject.d.ts.map +1 -1
  135. package/dist/core/packet-inject.js +6 -13
  136. package/dist/core/packet-inject.js.map +1 -1
  137. package/dist/core/packet-wire.d.ts +4 -0
  138. package/dist/core/packet-wire.d.ts.map +1 -1
  139. package/dist/core/packet-wire.js +208 -44
  140. package/dist/core/packet-wire.js.map +1 -1
  141. package/dist/core/plurnk-uri.d.ts +1 -1
  142. package/dist/core/plurnk-uri.d.ts.map +1 -1
  143. package/dist/core/plurnk-uri.js +3 -3
  144. package/dist/core/plurnk-uri.js.map +1 -1
  145. package/dist/core/teaching.d.ts.map +1 -1
  146. package/dist/core/teaching.js +4 -5
  147. package/dist/core/teaching.js.map +1 -1
  148. package/dist/core/worker-settings.d.ts +9 -0
  149. package/dist/core/worker-settings.d.ts.map +1 -0
  150. package/dist/core/worker-settings.js +25 -0
  151. package/dist/core/worker-settings.js.map +1 -0
  152. package/dist/core/workspace-settings.d.ts +0 -11
  153. package/dist/core/workspace-settings.d.ts.map +1 -1
  154. package/dist/core/workspace-settings.js +3 -47
  155. package/dist/core/workspace-settings.js.map +1 -1
  156. package/dist/digest/Digest.d.ts.map +1 -1
  157. package/dist/digest/Digest.js +164 -92
  158. package/dist/digest/Digest.js.map +1 -1
  159. package/dist/digest/digest.sql +8 -2
  160. package/dist/observe/genai.d.ts +9 -0
  161. package/dist/observe/genai.d.ts.map +1 -0
  162. package/dist/observe/genai.js +31 -0
  163. package/dist/observe/genai.js.map +1 -0
  164. package/dist/observe/spans.d.ts +3 -3
  165. package/dist/observe/spans.d.ts.map +1 -1
  166. package/dist/observe/spans.js +20 -5
  167. package/dist/observe/spans.js.map +1 -1
  168. package/dist/schemes/EffectPolicy.d.ts +3 -0
  169. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  170. package/dist/schemes/EffectPolicy.js +38 -6
  171. package/dist/schemes/EffectPolicy.js.map +1 -1
  172. package/dist/schemes/Exec.d.ts.map +1 -1
  173. package/dist/schemes/Exec.js +55 -13
  174. package/dist/schemes/Exec.js.map +1 -1
  175. package/dist/schemes/Log.d.ts +6 -2
  176. package/dist/schemes/Log.d.ts.map +1 -1
  177. package/dist/schemes/Log.js +73 -22
  178. package/dist/schemes/Log.js.map +1 -1
  179. package/dist/schemes/Log.sql +25 -7
  180. package/dist/schemes/Prompt.d.ts.map +1 -1
  181. package/dist/schemes/Prompt.js +1 -2
  182. package/dist/schemes/Prompt.js.map +1 -1
  183. package/dist/schemes/QuestionTool.d.ts +10 -0
  184. package/dist/schemes/QuestionTool.d.ts.map +1 -0
  185. package/dist/schemes/QuestionTool.js +81 -0
  186. package/dist/schemes/QuestionTool.js.map +1 -0
  187. package/dist/schemes/Skill.d.ts.map +1 -1
  188. package/dist/schemes/Skill.js +4 -1
  189. package/dist/schemes/Skill.js.map +1 -1
  190. package/dist/schemes/Worker.d.ts.map +1 -1
  191. package/dist/schemes/Worker.js +20 -3
  192. package/dist/schemes/Worker.js.map +1 -1
  193. package/dist/schemes/_entry-crud.sql +19 -1
  194. package/dist/schemes/_entry-find.d.ts +5 -3
  195. package/dist/schemes/_entry-find.d.ts.map +1 -1
  196. package/dist/schemes/_entry-find.js +102 -22
  197. package/dist/schemes/_entry-find.js.map +1 -1
  198. package/dist/schemes/_entry-find.sql +8 -6
  199. package/dist/schemes/_entry-graph.sql +2 -6
  200. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  201. package/dist/schemes/_entry-manifest.js +12 -1
  202. package/dist/schemes/_entry-manifest.js.map +1 -1
  203. package/dist/schemes/_search-index.d.ts.map +1 -1
  204. package/dist/schemes/_search-index.js +37 -25
  205. package/dist/schemes/_search-index.js.map +1 -1
  206. package/dist/server/Daemon.d.ts +58 -7
  207. package/dist/server/Daemon.d.ts.map +1 -1
  208. package/dist/server/Daemon.js +551 -113
  209. package/dist/server/Daemon.js.map +1 -1
  210. package/dist/server/DrainSupervisor.d.ts +12 -9
  211. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  212. package/dist/server/DrainSupervisor.js +59 -10
  213. package/dist/server/DrainSupervisor.js.map +1 -1
  214. package/dist/server/client-input.d.ts +5 -2
  215. package/dist/server/client-input.d.ts.map +1 -1
  216. package/dist/server/client-input.js +53 -34
  217. package/dist/server/client-input.js.map +1 -1
  218. package/dist/server/dispatch-as-plurnk.d.ts.map +1 -1
  219. package/dist/server/dispatch-as-plurnk.js +28 -6
  220. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  221. package/dist/server/drain.sql +26 -11
  222. package/dist/server/envelope.d.ts +1 -1
  223. package/dist/server/envelope.d.ts.map +1 -1
  224. package/dist/server/envelope.js +4 -4
  225. package/dist/server/envelope.js.map +1 -1
  226. package/dist/server/envelope.sql +25 -1
  227. package/dist/server/lifecycle-recovery.sql +11 -1
  228. package/dist/server/logEntry.d.ts +2 -1
  229. package/dist/server/logEntry.d.ts.map +1 -1
  230. package/dist/server/logEntry.js +3 -2
  231. package/dist/server/logEntry.js.map +1 -1
  232. package/dist/server/logEntry.sql +7 -0
  233. package/dist/server/loop-model.d.ts +2 -2
  234. package/dist/server/loop-model.d.ts.map +1 -1
  235. package/dist/server/loop-model.js +23 -33
  236. package/dist/server/loop-model.js.map +1 -1
  237. package/dist/server/loopDocs.d.ts.map +1 -1
  238. package/dist/server/loopDocs.js +61 -10
  239. package/dist/server/loopDocs.js.map +1 -1
  240. package/dist/server/loopDocs.sql +4 -2
  241. package/dist/server/model-catalog.d.ts +3 -0
  242. package/dist/server/model-catalog.d.ts.map +1 -0
  243. package/dist/server/model-catalog.js +83 -0
  244. package/dist/server/model-catalog.js.map +1 -0
  245. package/dist/server/model-route.d.ts +7 -0
  246. package/dist/server/model-route.d.ts.map +1 -0
  247. package/dist/server/model-route.js +47 -0
  248. package/dist/server/model-route.js.map +1 -0
  249. package/dist/server/module-discovery.d.ts +13 -0
  250. package/dist/server/module-discovery.d.ts.map +1 -0
  251. package/dist/server/module-discovery.js +78 -0
  252. package/dist/server/module-discovery.js.map +1 -0
  253. package/dist/server/skillDocs.d.ts +9 -0
  254. package/dist/server/skillDocs.d.ts.map +1 -0
  255. package/dist/server/skillDocs.js +212 -0
  256. package/dist/server/skillDocs.js.map +1 -0
  257. package/dist/server/skillDocs.sql +14 -0
  258. package/dist/service.d.ts.map +1 -1
  259. package/dist/service.js +182 -123
  260. package/dist/service.js.map +1 -1
  261. package/migrations/001_schema.sql +424 -65
  262. package/package.json +37 -37
  263. package/dist/core/ExecutableTools.d.ts +0 -11
  264. package/dist/core/ExecutableTools.d.ts.map +0 -1
  265. package/dist/core/ExecutableTools.js +0 -49
  266. package/dist/core/ExecutableTools.js.map +0 -1
  267. package/dist/core/JournalTurn.d.ts +0 -9
  268. package/dist/core/JournalTurn.d.ts.map +0 -1
  269. package/dist/core/JournalTurn.js +0 -14
  270. package/dist/core/JournalTurn.js.map +0 -1
  271. package/dist/core/JournalTurn.sql +0 -10
  272. package/dist/core/git-iso.d.ts +0 -13
  273. package/dist/core/git-iso.d.ts.map +0 -1
  274. package/dist/core/git-iso.js +0 -267
  275. package/dist/core/git-iso.js.map +0 -1
  276. package/dist/core/search-gate.d.ts +0 -17
  277. package/dist/core/search-gate.d.ts.map +0 -1
  278. package/dist/core/search-gate.js +0 -77
  279. package/dist/core/search-gate.js.map +0 -1
  280. package/dist/digest/Digest.sql +0 -1
@@ -11,15 +11,14 @@ import LoopFlagsReader from "./LoopFlagsReader.js";
11
11
  import ChannelWrite from "./ChannelWrite.js";
12
12
  import { ReadProjector } from "../content/index.js";
13
13
  import SchemeCtxImpl from "./caps/SchemeCtxImpl.js";
14
- import EntryCrud from "../schemes/_entry-crud.js";
15
14
  import EntryOps from "../schemes/_entry-ops.js";
16
15
  import EntryFind from "../schemes/_entry-find.js";
17
- import WorkspaceSettings from "./workspace-settings.js";
18
16
  import LoopLifecycle from "./LoopLifecycle.js";
19
17
  import TerminalResult from "./TerminalResult.js";
20
18
  import Results from "./results.js";
21
19
  import { OperationFailureError } from "./results.js";
22
20
  import EffectPolicy from "../schemes/EffectPolicy.js";
21
+ import WorkerSettingsReader from "./worker-settings.js";
23
22
  import { CoreSchemeAdapterBase, } from "./CoreSchemeServices.js";
24
23
  import { InvalidOperationResultError, NetworkAddress, } from "@plurnk/plurnk-schemes";
25
24
  import DurableStatement from "./DurableStatement.js";
@@ -70,13 +69,12 @@ class Dispatcher {
70
69
  // {§send-premature-terminate}/SEND signal 202 with scope — the engine-owned park-deadline registry (loopId → seconds;
71
70
  // -1 = indefinite). The dispatcher WRITES at park; the daemon's drain park-exit consumes.
72
71
  #parkDeadlines;
73
- #searchGate;
74
72
  // Per-turn running-worker READ obligations. {§join-blocking-collect}
75
73
  #joinTargets;
76
74
  #liveSubscriptions;
77
75
  #lifecycle;
78
76
  #resourceMutations;
79
- constructor({ db, schemes, mimetypes, weigh, notices, proposals, interactions, executors, loopSignal, streamEventNotify, wakeWorkerNotify, injectWorker, branchWorker, branchCompletionGate, cancelWorker, cancelDescendants, searchGate, parkDeadlines, joinTargets, liveSubscriptions }) {
77
+ constructor({ db, schemes, mimetypes, weigh, notices, proposals, interactions, executors, loopSignal, streamEventNotify, wakeWorkerNotify, injectWorker, branchWorker, branchCompletionGate, cancelWorker, cancelDescendants, parkDeadlines, joinTargets, liveSubscriptions }) {
80
78
  this.#db = db;
81
79
  this.#schemes = schemes;
82
80
  this.#mimetypes = mimetypes;
@@ -94,7 +92,6 @@ class Dispatcher {
94
92
  this.#cancelWorker = cancelWorker;
95
93
  this.#cancelDescendants = cancelDescendants;
96
94
  this.#parkDeadlines = parkDeadlines ?? new Map();
97
- this.#searchGate = searchGate;
98
95
  this.#joinTargets = joinTargets ?? new Set();
99
96
  this.#liveSubscriptions = liveSubscriptions;
100
97
  this.#lifecycle = new LoopLifecycle(db);
@@ -309,9 +306,22 @@ class Dispatcher {
309
306
  result = this.#handlePlan(statement);
310
307
  }
311
308
  else if (statement.op === "EXEC") {
312
- // EXEC routes unconditionally to its operation owner. The
313
- // resolved runtime declaration owns body/target semantics.
314
- result = await this.#gatedExec(statement, schemeCtx, loopId, turnId);
309
+ // {§worker-tool-admission} — the question runtime is admitted
310
+ // per worker: a worker whose own rules don't request user input
311
+ // gets the explicit not-available outcome, never a parked loop.
312
+ if (("signal" in statement && statement.signal === "question")
313
+ && !(await WorkerSettingsReader.requestUserInputEnabled(this.#db, schemeCtx.workerId))) {
314
+ result = _a.#failure("question-tool-unavailable", 404, "The question tool is not available to this worker.", {}, {
315
+ stage: "tool-admission",
316
+ recovery: "This worker does not request user input; continue from the available evidence.",
317
+ retryable: false,
318
+ });
319
+ }
320
+ else {
321
+ // EXEC routes unconditionally to its operation owner. The
322
+ // resolved runtime declaration owns body/target semantics.
323
+ result = await this.#run("exec", statement, schemeCtx);
324
+ }
315
325
  }
316
326
  else {
317
327
  result = await this.#run(schemeNameOf(statement.target), statement, schemeCtx); // {§op-methods-op-dispatch}
@@ -349,15 +359,6 @@ class Dispatcher {
349
359
  curationPlan,
350
360
  modelCallId: null,
351
361
  });
352
- // {§search-gate} — register successful searches AFTER #writeLog stamps the runtime
353
- // entry's coordinate onto result.attrs.pathname (the gate's dedup serves from it).
354
- if (statement.op === "EXEC" && result.status < 400) {
355
- const rt = ("signal" in statement && typeof statement.signal === "string" && statement.signal.length > 0) ? statement.signal : "sh";
356
- const body = ("body" in statement && typeof statement.body === "string") ? statement.body : "";
357
- const attrPath = result.attrs?.pathname;
358
- if (typeof attrPath === "string")
359
- this.#searchGate?.registerPending(loopId, turnId, rt, body, attrPath);
360
- }
361
362
  onDispatch?.(logEntryId);
362
363
  // Proposal lifecycle (SPEC.md {§engine-rails} + {§methods-proposal-resolve}; {§proposal-202-pauses}). When a
363
364
  // side-effecting op returns status 202 (a broadcast SEND signal 202 park is model
@@ -644,36 +645,6 @@ class Dispatcher {
644
645
  const target = schemeNameOf(statement.target);
645
646
  return this.#denyIfDisallowed(target, origin, workspaceId);
646
647
  }
647
- // {§search-gate} — gate only configured search runtimes; duplicates serve
648
- // the prior durable digest and the per-turn cap refuses without execution.
649
- async #gatedExec(statement, ctx, loopId, turnId) {
650
- const runtime = ("signal" in statement && typeof statement.signal === "string" && statement.signal.length > 0) ? statement.signal : "sh";
651
- const body = ("body" in statement && typeof statement.body === "string") ? statement.body : "";
652
- const verdict = this.#searchGate?.check(loopId, turnId, runtime, body) ?? { verdict: "pass" };
653
- if (verdict.verdict === "capped") {
654
- return _a.#failure("search-limit-reached", 429, `This turn already used its ${verdict.cap} permitted searches.`, {}, {
655
- searchLimit: verdict.cap,
656
- stage: "search-admission",
657
- recovery: "Continue without another search in this turn.",
658
- retryable: false,
659
- });
660
- }
661
- if (verdict.verdict === "duplicate") {
662
- // {§stream-owner-scoped} — the prior ranked digest is the CALLER's own stream entry.
663
- const prior = await EntryCrud.readEntry(verdict.priorPathname, ctx, runtime, ctx.workerId);
664
- const raw = prior.entry?.channels["#results"]?.content ?? "";
665
- let results = raw;
666
- try {
667
- results = JSON.parse(raw);
668
- }
669
- catch { /* non-JSON results serve verbatim */ }
670
- return _a.#failure("duplicate-search", 409, "This search already ran in the current loop; the prior results are attached.", { results }, {
671
- recovery: "Use the attached prior results.",
672
- retryable: false,
673
- });
674
- }
675
- return this.#run("exec", statement, ctx);
676
- }
677
648
  #denyIfDisallowed(schemeName, origin, workspaceId) {
678
649
  if (schemeName === null)
679
650
  return null;
@@ -733,7 +704,7 @@ class Dispatcher {
733
704
  }
734
705
  }
735
706
  const active = this.#schemes.resolveForLoop(flags, workspaceId);
736
- // {§tools-loop-affinity}: name the non-retryable restriction so the model changes course.
707
+ // {§mode-ask-read-only}: name the non-retryable restriction so the model changes course.
737
708
  const restriction = flags.mode === "ask"
738
709
  ? "this is an ask-mode (read-only) loop — you cannot run commands or take host actions here"
739
710
  : flags.noWeb && flags.noInteraction ? "web and interaction are disabled for this loop"
@@ -864,7 +835,7 @@ class Dispatcher {
864
835
  return _a.#failure("kill-target-scheme-required", 400, "KILL target requires a scheme.", {}, { retryable: false });
865
836
  }
866
837
  // Log targets use the same killable dispatch as streams; erasure is their
867
- // permanent curation operation. {§model-entry-log-curation}
838
+ // permanent curation operation. {§turn-ops-log-curation}
868
839
  // Process-KILL: any scheme whose handler exposes kill() aborts a live stream — the
869
840
  // exec handler, registered as "exec" + under every runtime tag (sh/node), so a tag-
870
841
  // addressed stream (sh:///l/t/s) routes here, not to deleteEntry. {§exec}
@@ -925,7 +896,7 @@ class Dispatcher {
925
896
  const row = await this.#db.engine_insert_log_entry.get({
926
897
  worker_id: workerId, loop_id: loopId, turn_id: turnId, sequence,
927
898
  origin, source: null, model_call_id: modelCallId,
928
- op: null, suffix: "", signal: null,
899
+ op: null, delimiter: "", signal: null,
929
900
  scheme: null, username: null, password: null, hostname: null, port: null,
930
901
  pathname: null, query: null, fragment: null, lineMarker: null,
931
902
  tx: "", mimetype_tx: "text/vnd.plurnk",
@@ -949,25 +920,24 @@ class Dispatcher {
949
920
  await this.#db.engine_fold_log_entry.run({ id: row.id });
950
921
  return row.id;
951
922
  }
952
- // {§worker-initialization-entry} — the kernel-authored, born-open worked
953
- // turn that initializes a worker's log without impersonating model output.
954
- async writeInitializationEntry({ verbatim, workerId, loopId, turnId, sequence }) {
923
+ // {§turn-ops-entry} — preserve exact admitted source beside, never instead
924
+ // of, the ordinary operation-result rows produced by dispatch.
925
+ async writeTurnOps({ verbatim, workerId, loopId, turnId, sequence, origin, folded, modelCallId = null, reasoningItems }) {
955
926
  return this.#writeActionlessEntry({
956
927
  verbatim, workerId, loopId, turnId, sequence,
957
- origin: "plurnk", kind: "initialization", folded: false,
928
+ origin, kind: "turnOps", folded, modelCallId,
929
+ attrs: {
930
+ ...(reasoningItems !== undefined && reasoningItems.length > 0 ? { reasoning: reasoningItems } : {}),
931
+ },
958
932
  });
959
933
  }
960
- // {§model-entry} — mirror a model emission back as an actionless log row, so
961
- // the model can inspect and curate its own prior behavior. Ordinary admitted
962
- // emissions are folded; the bounded invalid-emission lifeline is the one
963
- // born-open rejected item under {§invalid-emission-attempts} and labels
964
- // that admission fact structurally.
965
- async writeModelEntry({ verbatim, workerId, loopId, turnId, sequence, folded, modelCallId, admission = "accepted", reasoningItems }) {
934
+ // {§rejected-emission-entry} — provider bytes that fail admission are an
935
+ // attempt artifact, never a turn program.
936
+ async writeEmissionAttempt({ verbatim, workerId, loopId, turnId, sequence, modelCallId, reasoningItems }) {
966
937
  return this.#writeActionlessEntry({
967
938
  verbatim, workerId, loopId, turnId, sequence,
968
- origin: "model", kind: "model_emission", folded, modelCallId,
939
+ origin: "model", kind: "emissionAttempt", folded: true, modelCallId,
969
940
  attrs: {
970
- ...(admission === "rejected" ? { admission } : {}),
971
941
  ...(reasoningItems !== undefined && reasoningItems.length > 0 ? { reasoning: reasoningItems } : {}),
972
942
  },
973
943
  });
@@ -1135,26 +1105,6 @@ class Dispatcher {
1135
1105
  attrs: { joined: true, pending: 0 },
1136
1106
  };
1137
1107
  }
1138
- // {§send-300-choices} — ask the operator and park (the answer returns via loop.inject).
1139
- // The three-state cascade (owner design): PLURNK_QUESTIONS unset = ALLOWED (not enabled);
1140
- // =0 = DENIED servicewide (a ceiling the client cannot override); ENABLED requires the
1141
- // client to affirmatively pass it per workspace (settings.questions — the interactive client
1142
- // with a human enables its own workspaces; headless/bench never asks). Enabled workspaces ALSO
1143
- // get the questions.md teaching injected (docEntries) — capability and teaching gate as one.
1144
- // Disabled → refused with a self-decide steer, never a park into the void.
1145
- if (status === 300) {
1146
- if (!(await WorkspaceSettings.questionsEnabled(this.#db, ctx.workspaceId))) {
1147
- return _a.#failure("operator-questions-disabled", 409, "Operator questions are disabled in this workspace.", {}, {
1148
- recovery: "Decide from the available evidence and continue or conclude.",
1149
- retryable: false,
1150
- });
1151
- }
1152
- // {§send-300-choices} — return a proposal whose accepted body becomes
1153
- // the answer; zero choices denotes an open question.
1154
- const parts = raw.split(";").map((x) => x.trim()).filter((x) => x.length > 0);
1155
- const [question = "", ...choices] = parts;
1156
- return { status: 202, attrs: choices.length > 0 ? { question, choices } : { question } };
1157
- }
1158
1108
  // [200] — terminate, gated by the pending set (post-batch). The row records the refused
1159
1109
  // attempt faithfully (status_rx=409, never erased); the loop stays a continue; the strike
1160
1110
  // couples in runTurn. [499] abandons and cancels the descendant scope.
@@ -1416,11 +1366,8 @@ class Dispatcher {
1416
1366
  // {§proposal}/{§send} — status 202 is a proposal except for broadcast
1417
1367
  // SEND signal 202, which parks the loop. The operation disambiguates the status.
1418
1368
  static #isProposal(statement, result) {
1419
- // {§send-300-choices} — SEND signal 300 is the proposal exception.
1420
1369
  if (result.status !== 202)
1421
1370
  return false;
1422
- if (statement.op === "SEND" && statement.signal === 300)
1423
- return true;
1424
1371
  return !(statement.op === "SEND" && statement.target === null);
1425
1372
  }
1426
1373
  async #writeLog({ statement, result, workspaceId, workerId, loopId, turnId, sequence, origin, curationPlan, modelCallId, }) {
@@ -1444,8 +1391,7 @@ class Dispatcher {
1444
1391
  throw new Error("Dispatcher.#writeLog: result attrs collide with private log curation state");
1445
1392
  }
1446
1393
  attrsObj.__plurnk_curation = {
1447
- ids: curationPlan.targetLogEntryIds,
1448
- expanded: curationPlan.expanded,
1394
+ targets: curationPlan.targets,
1449
1395
  add: curationPlan.add,
1450
1396
  remove: curationPlan.remove,
1451
1397
  };
@@ -1502,7 +1448,7 @@ class Dispatcher {
1502
1448
  source: null, // dispatch entries are self-authored; {§env-delta} deltas set this
1503
1449
  model_call_id: modelCallId,
1504
1450
  op: durableStatement.op,
1505
- suffix: durableStatement.suffix,
1451
+ delimiter: durableStatement.delimiter,
1506
1452
  signal: this.#signalToJson(durableStatement.signal),
1507
1453
  scheme: target.scheme,
1508
1454
  username: target.username,
@@ -1 +1 @@
1
- {"version":3,"file":"Dispatcher.js","sourceRoot":"","sources":["../../src/core/Dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dispatcher.js","sourceRoot":"","sources":["../../src/core/Dispatcher.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ import type { WriterTier } from "./scheme-types.ts";
6
6
  import type ExecutorRegistry from "./ExecutorRegistry.ts";
7
7
  import type { RegistryEntry } from "./ExecutorRegistry.ts";
8
8
  import type { StreamEventNotify, NoticeNotify, WakeWorkerNotify, InjectWorkerNotify, BranchWorkerNotify, BranchCompletionGate, CancelWorkerNotify, CancelDescendantsNotify } from "./ChannelWrite.ts";
9
- import SearchGate from "./search-gate.ts";
10
9
  import { type SchemeResult } from "./results.ts";
11
10
  import { type ChatMessage } from "./PacketBuilder.ts";
12
11
  import type { ProposalResolution, ProposalPendingEvent } from "./ProposalLifecycle.ts";
@@ -24,6 +23,11 @@ export type WorkspaceDerivationStatus = {
24
23
  level: "info" | "error";
25
24
  };
26
25
  export type AcquireWorkspaceTurn = (workspaceId: number, workerId: number) => Promise<() => void>;
26
+ export type WorkspaceTurnStarting = (args: {
27
+ workspaceId: number;
28
+ workerId: number;
29
+ loopId: number;
30
+ }) => Promise<void>;
27
31
  export type WorkspaceTurnCompleted = (args: {
28
32
  workspaceId: number;
29
33
  workerId: number;
@@ -52,12 +56,11 @@ export default class Engine {
52
56
  };
53
57
  readonly parkDeadlines: Map<number, number>;
54
58
  readonly joinTargets: Set<number>;
55
- readonly searchGate: SearchGate;
56
59
  workspaceDerivationStatus(workspaceId: number): WorkspaceDerivationStatus | null;
57
60
  cancelDerivations(reason?: unknown): void;
58
61
  drainDerivations(ignoredReason?: unknown): Promise<void>;
59
62
  drainWorkspaceDerivations(workspaceId: number): Promise<void>;
60
- constructor({ db, schemes, mimetypes, streamEventNotify, wakeWorkerNotify, injectWorker, branchWorker, branchCompletionGate, cancelWorker, cancelDescendants, acquireWorkspaceTurn, workspaceTurnCompleted, noticeNotify, weigh }: {
63
+ constructor({ db, schemes, mimetypes, streamEventNotify, wakeWorkerNotify, injectWorker, branchWorker, branchCompletionGate, cancelWorker, cancelDescendants, acquireWorkspaceTurn, workspaceTurnStarting, workspaceTurnCompleted, noticeNotify, weigh }: {
61
64
  db: Db;
62
65
  schemes: SchemeRegistry;
63
66
  mimetypes?: Mimetypes;
@@ -69,6 +72,7 @@ export default class Engine {
69
72
  cancelWorker?: CancelWorkerNotify;
70
73
  cancelDescendants?: CancelDescendantsNotify;
71
74
  acquireWorkspaceTurn?: AcquireWorkspaceTurn;
75
+ workspaceTurnStarting?: WorkspaceTurnStarting;
72
76
  workspaceTurnCompleted?: WorkspaceTurnCompleted;
73
77
  noticeNotify?: NoticeNotify;
74
78
  weigh?: (text: string) => number;
@@ -93,7 +97,7 @@ export default class Engine {
93
97
  curationBudgetFor(provider: Provider): number | null;
94
98
  loopAttributions(loopId: number): Promise<string[]>;
95
99
  loopUsage(loopId: number): Promise<LoopUsage>;
96
- runLoop({ provider, childProvider, messages, requirements, workspaceId, workerId, loopId, maxTurns, maxStrikes, minCycles, maxCyclePeriod, origin, signal, onDispatch, }: {
100
+ runLoop({ provider, childProvider, messages, requirements, workspaceId, workerId, loopId, maxTurns, maxStrikes, minCycles, maxCyclePeriod, signal, onDispatch, }: {
97
101
  provider: Provider;
98
102
  childProvider?: Provider;
99
103
  messages: ChatMessage[];
@@ -105,18 +109,17 @@ export default class Engine {
105
109
  maxStrikes?: number;
106
110
  minCycles?: number;
107
111
  maxCyclePeriod?: number;
108
- origin?: WriterTier;
109
112
  signal?: AbortSignal;
110
113
  onDispatch?: (logEntryId: number) => void;
111
114
  }): Promise<{
112
115
  turnIds: number[];
113
116
  result: SchemeResult;
114
117
  hitMaxTurns: boolean;
115
- reason: "max_turns" | "strike_threshold" | "provider_capacity" | "invalid_emission" | "loop_timeout" | "external" | null;
118
+ reason: "max_turns" | "strike_threshold" | "token_budget" | "provider_capacity" | "invalid_emission" | "loop_timeout" | "external" | null;
116
119
  }>;
117
120
  runTurn(args: Parameters<TurnRunner["runTurn"]>[0]): ReturnType<TurnRunner["runTurn"]>;
118
- docEntries(workspaceId: number): Promise<Array<{
119
- name: string;
121
+ referenceEntries(workspaceId: number): Promise<Array<{
122
+ pathname: string;
120
123
  content: string;
121
124
  }>>;
122
125
  cancelSubscription(subscriptionId: number): Promise<boolean>;