@plurnk/plurnk-service 3.0.0 → 3.2.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 +38 -21
  2. package/INSTALL.md +38 -1
  3. package/README.md +3 -0
  4. package/SPEC.md +681 -268
  5. package/dist/build-info.json +1 -1
  6. package/dist/completions/_plurnk-service +13 -0
  7. package/dist/completions/plurnk-service.bash +19 -0
  8. package/dist/completions/plurnk-service.fish +94 -0
  9. package/dist/content/path-mimetype.d.ts.map +1 -1
  10. package/dist/content/path-mimetype.js +2 -8
  11. package/dist/content/path-mimetype.js.map +1 -1
  12. package/dist/core/AdmittedTurnExecutor.d.ts +2 -2
  13. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  14. package/dist/core/AdmittedTurnExecutor.js +36 -32
  15. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  16. package/dist/core/BudgetReadout.d.ts +7 -2
  17. package/dist/core/BudgetReadout.d.ts.map +1 -1
  18. package/dist/core/BudgetReadout.js +36 -5
  19. package/dist/core/BudgetReadout.js.map +1 -1
  20. package/dist/{schemes/_derivation-use.d.ts → core/ContentUse.d.ts} +3 -3
  21. package/dist/core/ContentUse.d.ts.map +1 -0
  22. package/dist/{schemes/_derivation-use.js → core/ContentUse.js} +8 -7
  23. package/dist/core/ContentUse.js.map +1 -0
  24. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  25. package/dist/core/DataStatementRunner.js +8 -20
  26. package/dist/core/DataStatementRunner.js.map +1 -1
  27. package/dist/core/Dispatcher.d.ts +11 -3
  28. package/dist/core/Dispatcher.d.ts.map +1 -1
  29. package/dist/core/Dispatcher.js +186 -109
  30. package/dist/core/Dispatcher.js.map +1 -1
  31. package/dist/core/EditMutations.js +1 -1
  32. package/dist/core/EditMutations.js.map +1 -1
  33. package/dist/core/Engine.d.ts +1 -1
  34. package/dist/core/Engine.d.ts.map +1 -1
  35. package/dist/core/Engine.js +4 -7
  36. package/dist/core/Engine.js.map +1 -1
  37. package/dist/core/EnvFlags.js +1 -1
  38. package/dist/core/EnvFlags.js.map +1 -1
  39. package/dist/core/FabricatedLog.d.ts +1 -0
  40. package/dist/core/FabricatedLog.d.ts.map +1 -1
  41. package/dist/core/FabricatedLog.js +8 -0
  42. package/dist/core/FabricatedLog.js.map +1 -1
  43. package/dist/core/FileAddress.d.ts +12 -0
  44. package/dist/core/FileAddress.d.ts.map +1 -0
  45. package/dist/core/FileAddress.js +73 -0
  46. package/dist/core/FileAddress.js.map +1 -0
  47. package/dist/core/FilePublication.d.ts +15 -0
  48. package/dist/core/FilePublication.d.ts.map +1 -0
  49. package/dist/core/FilePublication.js +143 -0
  50. package/dist/core/FilePublication.js.map +1 -0
  51. package/dist/core/FileSnapshot.d.ts +26 -0
  52. package/dist/core/FileSnapshot.d.ts.map +1 -0
  53. package/dist/core/FileSnapshot.js +179 -0
  54. package/dist/core/FileSnapshot.js.map +1 -0
  55. package/dist/core/KillHandler.d.ts.map +1 -1
  56. package/dist/core/KillHandler.js +4 -1
  57. package/dist/core/KillHandler.js.map +1 -1
  58. package/dist/core/LiveSubscription.d.ts.map +1 -1
  59. package/dist/core/LiveSubscription.js +14 -2
  60. package/dist/core/LiveSubscription.js.map +1 -1
  61. package/dist/core/LiveSubscriptions.d.ts +3 -1
  62. package/dist/core/LiveSubscriptions.d.ts.map +1 -1
  63. package/dist/core/LiveSubscriptions.js +16 -1
  64. package/dist/core/LiveSubscriptions.js.map +1 -1
  65. package/dist/core/LogBody.d.ts.map +1 -1
  66. package/dist/core/LogBody.js +3 -1
  67. package/dist/core/LogBody.js.map +1 -1
  68. package/dist/core/LoopDriver.d.ts.map +1 -1
  69. package/dist/core/LoopDriver.js +3 -0
  70. package/dist/core/LoopDriver.js.map +1 -1
  71. package/dist/core/LoopLifecycle.sql +1 -0
  72. package/dist/core/MembershipMaterialization.d.ts.map +1 -1
  73. package/dist/core/MembershipMaterialization.js +87 -143
  74. package/dist/core/MembershipMaterialization.js.map +1 -1
  75. package/dist/core/MessageResources.sql +31 -0
  76. package/dist/core/MutationEffects.d.ts +2 -1
  77. package/dist/core/MutationEffects.d.ts.map +1 -1
  78. package/dist/core/MutationEffects.js +14 -1
  79. package/dist/core/MutationEffects.js.map +1 -1
  80. package/dist/core/PacketBuilder.d.ts +2 -2
  81. package/dist/core/PacketBuilder.d.ts.map +1 -1
  82. package/dist/core/PacketBuilder.js +123 -51
  83. package/dist/core/PacketBuilder.js.map +1 -1
  84. package/dist/core/PacketBuilder.sql +21 -14
  85. package/dist/core/PathGlob.d.ts +6 -0
  86. package/dist/core/PathGlob.d.ts.map +1 -0
  87. package/dist/core/PathGlob.js +24 -0
  88. package/dist/core/PathGlob.js.map +1 -0
  89. package/dist/core/ProposalLifecycle.d.ts +2 -1
  90. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  91. package/dist/core/ProposalLifecycle.js +45 -33
  92. package/dist/core/ProposalLifecycle.js.map +1 -1
  93. package/dist/core/ProposalLifecycle.sql +4 -0
  94. package/dist/core/ReplyMetadata.d.ts +10 -0
  95. package/dist/core/ReplyMetadata.d.ts.map +1 -0
  96. package/dist/core/ReplyMetadata.js +20 -0
  97. package/dist/core/ReplyMetadata.js.map +1 -0
  98. package/dist/core/ResourceBindings.d.ts.map +1 -1
  99. package/dist/core/ResourceBindings.js +4 -3
  100. package/dist/core/ResourceBindings.js.map +1 -1
  101. package/dist/core/ResourceSelector.d.ts +1 -2
  102. package/dist/core/ResourceSelector.d.ts.map +1 -1
  103. package/dist/core/ResourceSelector.js +30 -9
  104. package/dist/core/ResourceSelector.js.map +1 -1
  105. package/dist/core/ResourceTransfers.d.ts +1 -1
  106. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  107. package/dist/core/ResourceTransfers.js +26 -11
  108. package/dist/core/ResourceTransfers.js.map +1 -1
  109. package/dist/core/ServiceHelp.d.ts +6 -0
  110. package/dist/core/ServiceHelp.d.ts.map +1 -0
  111. package/dist/core/ServiceHelp.js +35 -0
  112. package/dist/core/ServiceHelp.js.map +1 -0
  113. package/dist/core/StoredPacket.d.ts +1 -0
  114. package/dist/core/StoredPacket.d.ts.map +1 -1
  115. package/dist/core/StoredPacket.js +4 -1
  116. package/dist/core/StoredPacket.js.map +1 -1
  117. package/dist/core/StrikeRail.d.ts.map +1 -1
  118. package/dist/core/StrikeRail.js +2 -2
  119. package/dist/core/StrikeRail.js.map +1 -1
  120. package/dist/core/TokenCalibration.d.ts +2 -2
  121. package/dist/core/TokenCalibration.d.ts.map +1 -1
  122. package/dist/core/TokenCalibration.js +12 -16
  123. package/dist/core/TokenCalibration.js.map +1 -1
  124. package/dist/core/TokenCalibration.sql +29 -6
  125. package/dist/core/TurnDispositionHandler.d.ts +1 -2
  126. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  127. package/dist/core/TurnDispositionHandler.js +30 -26
  128. package/dist/core/TurnDispositionHandler.js.map +1 -1
  129. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  130. package/dist/core/TurnMaterialization.js +11 -1
  131. package/dist/core/TurnMaterialization.js.map +1 -1
  132. package/dist/core/TurnOps.d.ts +5 -1
  133. package/dist/core/TurnOps.d.ts.map +1 -1
  134. package/dist/core/TurnOps.js +29 -2
  135. package/dist/core/TurnOps.js.map +1 -1
  136. package/dist/core/TurnRunner.d.ts.map +1 -1
  137. package/dist/core/TurnRunner.js +122 -56
  138. package/dist/core/TurnRunner.js.map +1 -1
  139. package/dist/core/TurnSources.sql +2 -2
  140. package/dist/core/caps/SchemeCtxImpl.d.ts +1 -0
  141. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  142. package/dist/core/caps/SchemeCtxImpl.js +5 -0
  143. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  144. package/dist/core/git-membership.d.ts +1 -0
  145. package/dist/core/git-membership.d.ts.map +1 -1
  146. package/dist/core/git-membership.js +9 -11
  147. package/dist/core/git-membership.js.map +1 -1
  148. package/dist/core/glob_match.js +3 -3
  149. package/dist/core/glob_match.js.map +1 -1
  150. package/dist/core/mutation-types.d.ts +3 -0
  151. package/dist/core/mutation-types.d.ts.map +1 -1
  152. package/dist/core/namespace.d.ts +4 -1
  153. package/dist/core/namespace.d.ts.map +1 -1
  154. package/dist/core/namespace.js +14 -3
  155. package/dist/core/namespace.js.map +1 -1
  156. package/dist/core/packet-wire.d.ts +7 -1
  157. package/dist/core/packet-wire.d.ts.map +1 -1
  158. package/dist/core/packet-wire.js +98 -36
  159. package/dist/core/packet-wire.js.map +1 -1
  160. package/dist/core/plurnk-uri.d.ts +3 -2
  161. package/dist/core/plurnk-uri.d.ts.map +1 -1
  162. package/dist/core/plurnk-uri.js +23 -11
  163. package/dist/core/plurnk-uri.js.map +1 -1
  164. package/dist/core/recap-lines.d.ts +4 -0
  165. package/dist/core/recap-lines.d.ts.map +1 -0
  166. package/dist/core/recap-lines.js +11 -0
  167. package/dist/core/recap-lines.js.map +1 -0
  168. package/dist/core/scheme-types.d.ts +1 -0
  169. package/dist/core/scheme-types.d.ts.map +1 -1
  170. package/dist/core/sql-functions.d.ts +2 -0
  171. package/dist/core/sql-functions.d.ts.map +1 -0
  172. package/dist/core/sql-functions.js +5 -0
  173. package/dist/core/sql-functions.js.map +1 -0
  174. package/dist/core/sqlite-synchronous.d.ts +2 -0
  175. package/dist/core/sqlite-synchronous.d.ts.map +1 -0
  176. package/dist/core/sqlite-synchronous.js +4 -0
  177. package/dist/core/sqlite-synchronous.js.map +1 -0
  178. package/dist/core/turn-scheduler.d.ts.map +1 -1
  179. package/dist/core/turn-scheduler.js +1 -1
  180. package/dist/core/turn-scheduler.js.map +1 -1
  181. package/dist/evidence/EvidenceReader.d.ts.map +1 -1
  182. package/dist/evidence/EvidenceReader.js +23 -3
  183. package/dist/evidence/EvidenceReader.js.map +1 -1
  184. package/dist/evidence/digest.sql +7 -1
  185. package/dist/man/plurnk-service.1 +499 -0
  186. package/dist/schemes/Env.d.ts +26 -0
  187. package/dist/schemes/Env.d.ts.map +1 -0
  188. package/dist/schemes/Env.js +133 -0
  189. package/dist/schemes/Env.js.map +1 -0
  190. package/dist/schemes/Exec.d.ts.map +1 -1
  191. package/dist/schemes/Exec.js +15 -15
  192. package/dist/schemes/Exec.js.map +1 -1
  193. package/dist/schemes/ExecOutputScheme.d.ts +3 -2
  194. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  195. package/dist/schemes/ExecOutputScheme.js +9 -0
  196. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  197. package/dist/schemes/File.d.ts +1 -0
  198. package/dist/schemes/File.d.ts.map +1 -1
  199. package/dist/schemes/File.js +233 -268
  200. package/dist/schemes/File.js.map +1 -1
  201. package/dist/schemes/Log.d.ts.map +1 -1
  202. package/dist/schemes/Log.js +97 -17
  203. package/dist/schemes/Log.js.map +1 -1
  204. package/dist/schemes/Log.sql +9 -0
  205. package/dist/schemes/Worker.js +1 -1
  206. package/dist/schemes/Worker.js.map +1 -1
  207. package/dist/schemes/_entry-crud.d.ts +2 -0
  208. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  209. package/dist/schemes/_entry-crud.js +8 -5
  210. package/dist/schemes/_entry-crud.js.map +1 -1
  211. package/dist/schemes/_entry-crud.sql +15 -15
  212. package/dist/schemes/_entry-find.d.ts +2 -1
  213. package/dist/schemes/_entry-find.d.ts.map +1 -1
  214. package/dist/schemes/_entry-find.js +31 -19
  215. package/dist/schemes/_entry-find.js.map +1 -1
  216. package/dist/schemes/_entry-manifest.d.ts +2 -2
  217. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  218. package/dist/schemes/_entry-manifest.js +10 -8
  219. package/dist/schemes/_entry-manifest.js.map +1 -1
  220. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  221. package/dist/schemes/_entry-ops.js +9 -7
  222. package/dist/schemes/_entry-ops.js.map +1 -1
  223. package/dist/schemes/_path-scope.d.ts.map +1 -1
  224. package/dist/schemes/_path-scope.js +12 -4
  225. package/dist/schemes/_path-scope.js.map +1 -1
  226. package/dist/schemes/_search-index.js +3 -3
  227. package/dist/schemes/_search-index.js.map +1 -1
  228. package/dist/schemes/exec-abort.js +2 -2
  229. package/dist/schemes/exec-abort.js.map +1 -1
  230. package/dist/schemes/exec-env.d.ts.map +1 -1
  231. package/dist/schemes/exec-env.js +7 -22
  232. package/dist/schemes/exec-env.js.map +1 -1
  233. package/dist/server/Daemon.d.ts +1 -0
  234. package/dist/server/Daemon.d.ts.map +1 -1
  235. package/dist/server/Daemon.js +45 -68
  236. package/dist/server/Daemon.js.map +1 -1
  237. package/dist/server/DrainSupervisor.d.ts +2 -3
  238. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  239. package/dist/server/DrainSupervisor.js +34 -6
  240. package/dist/server/DrainSupervisor.js.map +1 -1
  241. package/dist/server/EnvFunctionality.d.ts +4 -2
  242. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  243. package/dist/server/EnvFunctionality.js +23 -12
  244. package/dist/server/EnvFunctionality.js.map +1 -1
  245. package/dist/server/Functionality.d.ts.map +1 -1
  246. package/dist/server/Functionality.js +15 -8
  247. package/dist/server/Functionality.js.map +1 -1
  248. package/dist/server/FunctionalityManager.d.ts +1 -1
  249. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  250. package/dist/server/FunctionalityManager.js +5 -1
  251. package/dist/server/FunctionalityManager.js.map +1 -1
  252. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  253. package/dist/server/MembersFunctionality.js +12 -12
  254. package/dist/server/MembersFunctionality.js.map +1 -1
  255. package/dist/server/Retention.d.ts.map +1 -1
  256. package/dist/server/Retention.js +5 -5
  257. package/dist/server/Retention.js.map +1 -1
  258. package/dist/server/Retention.sql +49 -23
  259. package/dist/server/client-input.d.ts.map +1 -1
  260. package/dist/server/client-input.js +12 -3
  261. package/dist/server/client-input.js.map +1 -1
  262. package/dist/server/drain.sql +10 -9
  263. package/dist/server/lifecycle-recovery.sql +4 -1
  264. package/dist/service.d.ts.map +1 -1
  265. package/dist/service.js +9 -31
  266. package/dist/service.js.map +1 -1
  267. package/docs/copy-move.md +3 -0
  268. package/docs/env.md +32 -4
  269. package/docs/members.md +16 -1
  270. package/migrations/018_worker_owners.sql +1 -0
  271. package/migrations/019_interactive_owners.sql +1 -0
  272. package/migrations/020_log_projection.sql +1 -0
  273. package/migrations/021_packet_roles.sql +86 -0
  274. package/migrations/022_message_completion.sql +24 -0
  275. package/migrations/023_file_revisions.sql +54 -0
  276. package/migrations/024_proposal_decisions.sql +34 -0
  277. package/migrations/025_response_retention.sql +30 -0
  278. package/package.json +38 -34
  279. package/dist/schemes/_derivation-use.d.ts.map +0 -1
  280. package/dist/schemes/_derivation-use.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MembershipMaterialization.js","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MembershipMaterialization.js","sourceRoot":"","sources":["../../src/core/MembershipMaterialization.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ FROM message_responses e
14
14
  JOIN workers w ON w.id = e.worker_id
15
15
  WHERE w.workspace_id = $workspace_id AND w.id = $worker_id
16
16
  AND ($loop_id IS NULL OR e.loop_id = $loop_id)
17
+ AND (length(trim(e.content, char(9) || char(10) || char(13) || ' ')) > 0
18
+ OR json_array_length(e.rx, '$.attachments') > 0)
17
19
  ORDER BY loop_id, id;
18
20
  -- PREP: message_source_resources
19
21
  -- A message keeps the address its minter gave it (`a2a://…`, `agui://…`), and {§message-short-identity}
@@ -32,5 +34,34 @@ SELECT * FROM message_sources WHERE workspace_id = $workspace_id AND key_path =
32
34
  UNION ALL
33
35
  SELECT * FROM message_sources WHERE workspace_id = $workspace_id AND address = $path;
34
36
 
37
+ -- PREP: message_latest_published
38
+ -- {§message-completion}: with none open, a targetless SEND speaks to the loop's latest published message.
39
+ SELECT path FROM message_sources
40
+ WHERE loop_id = $loop_id AND log_entry_id IS NOT NULL
41
+ ORDER BY ordinal DESC LIMIT 1;
42
+
35
43
  -- PREP: message_unanswered_count
36
44
  SELECT count(*) AS count FROM unanswered_messages WHERE loop_id = $loop_id;
45
+
46
+ -- PREP: message_completion_outcome
47
+ -- {§message-completion}: any completed request wins; all-cancelled is cancellation.
48
+ SELECT CASE WHEN COUNT(*) > 0 AND MIN(c.status) = 499 THEN 499 ELSE 200 END AS status
49
+ FROM message_completions c JOIN loop_messages m ON m.id = c.message_id
50
+ WHERE m.loop_id = $loop_id;
51
+
52
+ -- INIT: message_complete_on_reply
53
+ DROP TRIGGER IF EXISTS message_complete_on_reply;
54
+ CREATE TRIGGER message_complete_on_reply
55
+ AFTER INSERT ON log_entries
56
+ WHEN NEW.op = 'SEND' AND NEW.state = 'resolved' AND NEW.status_rx BETWEEN 200 AND 299
57
+ AND NEW.source IS NULL AND NEW.inherited_history = 0 AND json_valid(NEW.rx)
58
+ AND json_extract(NEW.rx, '$.completion') IN (200, 499)
59
+ BEGIN
60
+ INSERT INTO message_completions (message_id, response_id, status)
61
+ SELECT m.id, NEW.id, json_extract(NEW.rx, '$.completion')
62
+ FROM message_sources m
63
+ JOIN workers w ON w.id = NEW.worker_id AND w.workspace_id = m.workspace_id
64
+ JOIN json_each(NEW.rx, '$.answers') a ON a.value = m.path
65
+ WHERE true
66
+ ON CONFLICT(message_id) DO UPDATE SET response_id = excluded.response_id, status = excluded.status;
67
+ END;
@@ -20,7 +20,8 @@ export default class MutationEffects {
20
20
  static projectEdit(result: DispatchResult): DispatchResult;
21
21
  static finalizeEffects(result: DispatchResult, selection: ResourceAddress, pending: readonly PendingResourceEffect[]): DispatchResult;
22
22
  static sameChannel(left: ResourceAddress, right: ResourceAddress): boolean;
23
+ static moveSourceProposal(result: DispatchResult, destination: string, destinationEffects: readonly ResourceEffect[]): DispatchResult;
23
24
  static moveFailureAfterDestination(result: DispatchResult, destination: string, destinationEffects: readonly ResourceEffect[]): DispatchResult;
24
- static deferredMoveSource(source: ResolvedResourceSelection & Pick<SelectedSource, "matchedScopes" | "bytePrecondition">, destination: ResourceAddress, lineAnchorPrecondition: LineAnchorPrecondition | null): DeferredMoveSource;
25
+ static deferredMoveSource(source: ResolvedResourceSelection & Pick<SelectedSource, "matchedScopes" | "bytePrecondition" | "fileRevision">, destination: ResourceAddress, lineAnchorPrecondition: LineAnchorPrecondition | null): DeferredMoveSource;
25
26
  }
26
27
  //# sourceMappingURL=MutationEffects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MutationEffects.d.ts","sourceRoot":"","sources":["../../src/core/MutationEffects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MutationEffects.d.ts","sourceRoot":"","sources":["../../src/core/MutationEffects.ts"],"names":[],"mappings":"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"}
@@ -181,7 +181,7 @@ export default class MutationEffects {
181
181
  ? renderTarget({
182
182
  scheme: null,
183
183
  pathname: selection.identityPathname.replace(/^\//, ""),
184
- })
184
+ }, selection.projectRoot)
185
185
  : renderAddress({
186
186
  scheme: selection.scheme,
187
187
  // {§worker-authority-carving} — storage keys the owner, so the
@@ -247,6 +247,18 @@ export default class MutationEffects {
247
247
  && left.identityPathname === right.identityPathname
248
248
  && left.channel === right.channel;
249
249
  }
250
+ static moveSourceProposal(result, destination, destinationEffects) {
251
+ if (result.status !== 202)
252
+ throw new InvalidOperationResultError("A MOVE source proposal requires status 202.");
253
+ return {
254
+ ...result,
255
+ attrs: {
256
+ ...result.attrs,
257
+ moveDestinationWritten: destination,
258
+ moveDestinationEffects: destinationEffects,
259
+ },
260
+ };
261
+ }
250
262
  static moveFailureAfterDestination(result, destination, destinationEffects) {
251
263
  const exact = Results.assert(result);
252
264
  if (exact.status < 400) {
@@ -273,6 +285,7 @@ export default class MutationEffects {
273
285
  lineMarker: source.lineMarker,
274
286
  ...(source.matchedScopes === undefined ? {} : { matchedScopes: source.matchedScopes }),
275
287
  ...(source.bytePrecondition === undefined ? {} : { bytePrecondition: source.bytePrecondition }),
288
+ ...(source.fileRevision === undefined ? {} : { fileRevision: source.fileRevision }),
276
289
  scheme: source.scheme,
277
290
  authority: source.authority,
278
291
  pathname: source.pathname,
@@ -1 +1 @@
1
- {"version":3,"file":"MutationEffects.js","sourceRoot":"","sources":["../../src/core/MutationEffects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MutationEffects.js","sourceRoot":"","sources":["../../src/core/MutationEffects.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export default class PacketBuilder {
33
33
  }>): void;
34
34
  curationBudgetFor(packet: RequestPacket): number | null;
35
35
  bodiedRowsOf(packet: RequestPacket): readonly BodiedLogRow[];
36
- buildRequestPacket({ initialMessages, recap, workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices, transientOpenLogEntryId, turnId, bodiless, omitPreviousEmission, }: {
36
+ buildRequestPacket({ initialMessages, recap, workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices, transientOpenLogEntryId, turnId, bodiless, omitEmissionHistory, }: {
37
37
  initialMessages: ChatMessage[];
38
38
  recap?: string;
39
39
  gitStatus: GitStatus | null;
@@ -46,7 +46,7 @@ export default class PacketBuilder {
46
46
  transientOpenLogEntryId?: number | null;
47
47
  turnId?: number | null;
48
48
  bodiless?: ReadonlySet<number>;
49
- omitPreviousEmission?: boolean;
49
+ omitEmissionHistory?: boolean;
50
50
  }): Promise<RequestPacket>;
51
51
  recordObservations(packet: RequestPacket): Promise<void>;
52
52
  referenceEntries(workspaceId: number): Promise<Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"PacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { Knob } from "@plurnk/plurnk-meta";
1
2
  import WorkerName from "./WorkerName.js";
2
3
  import { generatedPathname, renderAddress } from "./plurnk-uri.js";
3
4
  import { contentWeight } from "./content-weight.js";
@@ -7,6 +8,7 @@ import { readPacketInject, readSystemPolicy } from "./packet-inject.js";
7
8
  import { readFile } from "node:fs/promises";
8
9
  import Paths from "../Paths.js";
9
10
  import { readTeachingSource } from "./teaching-corpus.js";
11
+ import { recapLines } from "./recap-lines.js";
10
12
  import { acceptedKinds } from "./attachments.js";
11
13
  // Shared module imported by both Engine and the digest, so wire
12
14
  // projection and digest projection are structurally one function — no
@@ -16,6 +18,7 @@ import LogEntryProjection from "./LogEntryProjection.js";
16
18
  import BudgetReadout from "./BudgetReadout.js";
17
19
  import TokenCalibration from "./TokenCalibration.js";
18
20
  import ToolResources from "./ToolResources.js";
21
+ import TurnOps from "./TurnOps.js";
19
22
  const trimHorizontal = (value) => value.replace(/^[\t ]+|[\t ]+$/gu, "");
20
23
  const tableCells = (line) => {
21
24
  if (!line.startsWith("|") || !line.endsWith("|"))
@@ -130,7 +133,7 @@ export default class PacketBuilder {
130
133
  }
131
134
  // {§packet-stored-shape} — assemble the system/user request before the
132
135
  // provider call; complete the same record with the provider response.
133
- async buildRequestPacket({ initialMessages, recap = "", workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices = [], transientOpenLogEntryId = null, turnId = null, bodiless, omitPreviousEmission = false, }) {
136
+ async buildRequestPacket({ initialMessages, recap = "", workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices = [], transientOpenLogEntryId = null, turnId = null, bodiless, omitEmissionHistory = false, }) {
134
137
  await CapabilityPolicies.layers(this.#db, workspaceId);
135
138
  const byRole = (role) => initialMessages.filter((m) => m.role === role).map((m) => m.content).join("\n\n");
136
139
  // Resource references are discovered through Turn0, not injected. {§schemes-directory}
@@ -148,12 +151,14 @@ export default class PacketBuilder {
148
151
  ...(m.source === null ? { origin: "user" } : { source: m.source }),
149
152
  })).join(",\n")}]`
150
153
  : "[]";
151
- // {§recap}: a non-empty override wins; otherwise read the meta-owned source per packet.
152
- const recapContent = recap.length > 0
154
+ // {§recap}: a non-empty override wins; otherwise read the meta-owned source per packet. The operator's
155
+ // recap lines lead it ({§recap-lines}).
156
+ const recapSource = recap.length > 0
153
157
  ? recap
154
158
  : Paths.defaultRecapTeachingSource === null
155
159
  ? await readFile(Paths.defaultRecap, "utf8")
156
160
  : await readTeachingSource(Paths.defaultRecapTeachingSource);
161
+ const recapContent = PacketWire.renderRecap(recapLines(), recapSource);
157
162
  // {§emission-admission}: the definition remains the complete language authority.
158
163
  const log = await this.#buildLog(workerId, transientOpenLogEntryId, turnId);
159
164
  const failures = await this.buildFailurePointers(loopId, currentTurnSeq);
@@ -161,7 +166,7 @@ export default class PacketBuilder {
161
166
  // {§context-budget} — one room: the provider's input capacity in curation weight, bounding the
162
167
  // whole packet. Nothing here sizes a part of it.
163
168
  const inputCapacity = provider.inputCapacity;
164
- const factor = inputCapacity === null ? 1 : await TokenCalibration.forModel(this.#db, provider.model);
169
+ const factor = inputCapacity === null ? 1 : await TokenCalibration.forLoop(this.#db, provider.model, loopId);
165
170
  const curationBudget = TokenCalibration.capacity(inputCapacity, factor);
166
171
  const budgetReadout = BudgetReadout.draft(curationBudget);
167
172
  // The canonical default order, trust boundary, and cache-locality bias are
@@ -200,12 +205,84 @@ export default class PacketBuilder {
200
205
  const parentPath = parentRow === undefined ? null : `worker://${parentRow.name}`;
201
206
  // {§fs-namespace} Receipt directories are relative to the workspace project root.
202
207
  const workspaceRow = await this.#db.envelope_get_workspace.get({ id: workspaceId });
203
- const renderedLog = PacketWire.renderLogWithAccounting(log, weighContent, {
208
+ // {§emission-history}: the durable emission row, not its turn's first observation,
209
+ // anchors content replay without moving incoming observations or reasoning receipts.
210
+ const history = Knob.choice("PLURNK_SERVICE_EMISSION_HISTORY", ["none", "latest", "all"]);
211
+ const programs = omitEmissionHistory || history === "none" ? [] : await this.#db.engine_emission_history.all({
212
+ loop_id: loopId, current_turn_seq: currentTurnSeq, latest_only: history === "latest" ? 1 : 0,
213
+ });
214
+ const programsById = new Map(programs.map((program) => [program.id, program]));
215
+ // Trial (#1073): a replayed turn is the home of its NOTEs. Their rows render as the emission row's
216
+ // legend, path and weight each, so the model keeps a handle to retire one; a NOTE of a turn that is
217
+ // not replayed (an earlier loop, a shed history, a reasoning NOTE) renders as an ordinary row.
218
+ const turnKey = (entry) => String(entry.coordinate).split("/").slice(0, 2).join("/");
219
+ const ownNote = (entry) => entry.op === "NOTE" && entry.origin === "model";
220
+ const noteBody = (entry) => {
221
+ const tx = entry.tx;
222
+ return tx !== null && typeof tx === "object" && typeof tx.body === "string" ? tx.body : "";
223
+ };
224
+ // A NOTE row joins the legend only when the replayed program carries its body; a NOTE admitted from
225
+ // reasoning is not in the program and stays an ordinary row.
226
+ const programNotes = new Map();
227
+ for (const entry of log) {
228
+ const program = typeof entry.id === "number" ? programsById.get(entry.id) : undefined;
229
+ if (program !== undefined)
230
+ programNotes.set(turnKey(entry), TurnOps.noteBodies(program.content, JSON.parse(program.executors)));
231
+ }
232
+ const legendNotes = new Set();
233
+ for (const entry of log) {
234
+ if (!ownNote(entry))
235
+ continue;
236
+ const pool = programNotes.get(turnKey(entry));
237
+ const at = pool?.indexOf(noteBody(entry)) ?? -1;
238
+ if (pool === undefined || at === -1)
239
+ continue;
240
+ pool.splice(at, 1);
241
+ legendNotes.add(entry);
242
+ }
243
+ const legend = new Map();
244
+ for (const entry of legendNotes) {
245
+ const key = turnKey(entry);
246
+ if (!legend.has(key))
247
+ legend.set(key, []);
248
+ legend.get(key).push({ path: `log:///${entry.coordinate}/NOTE`, tokens: weighContent(TurnOps.noteFence(noteBody(entry))) });
249
+ }
250
+ const shown = log.filter((entry) => !legendNotes.has(entry));
251
+ const renderedLog = PacketWire.renderLogWithAccounting(shown, weighContent, {
204
252
  projectRoot: workspaceRow?.project_root ?? null,
205
253
  acceptedAttachmentKinds: new Set(acceptedKinds(provider.inputModalities)),
206
254
  ...(bodiless === undefined ? {} : { bodiless }),
255
+ legend,
207
256
  });
208
- const attachmentsWeight = renderedLog.attachments.reduce((sum, { weight }) => sum + weight, 0);
257
+ const nativeRows = new Map(renderedLog.attachments.map((attachment) => [attachment.coordinate, attachment]));
258
+ const nativeParts = [];
259
+ const logSections = [];
260
+ const sectionItems = new Map();
261
+ let items = [];
262
+ let name = "log";
263
+ const flush = () => {
264
+ if (items.length === 0 && logSections.length > 0)
265
+ return;
266
+ logSections.push({ name, slot: "user", header: name === "log" ? "Log" : null, content: items.join("\n\n") });
267
+ sectionItems.set(name, items);
268
+ items = [];
269
+ };
270
+ for (const [index, row] of shown.entries()) {
271
+ if (items.length === 0 && logSections.length > 0)
272
+ name = `log/${row.coordinate}`;
273
+ items.push(renderedLog.records[index]);
274
+ const native = nativeRows.get(String(row.coordinate));
275
+ const program = typeof row.id === "number" ? programsById.get(row.id) : undefined;
276
+ const emission = program === undefined ? undefined : TurnOps.renderHistory(program.content, JSON.parse(program.executors), [...legendNotes].filter((entry) => turnKey(entry) === turnKey(row)).map(noteBody));
277
+ if (native !== undefined || emission) {
278
+ flush();
279
+ if (native !== undefined)
280
+ nativeParts.push({ ...native, section: name });
281
+ if (emission)
282
+ logSections.push({ name: `emission-history/${row.coordinate}`, slot: "assistant", header: null, content: emission });
283
+ }
284
+ }
285
+ flush();
209
286
  const defaults = [
210
287
  { name: "definition", slot: "system", header: null, content: system_definition },
211
288
  // Stable privileged policy follows the definition for prefix-cache locality.
@@ -213,69 +290,64 @@ export default class PacketBuilder {
213
290
  ...(inject !== null ? [{ name: "inject", slot: "system", header: "Operator Notes", content: inject }] : []),
214
291
  // The append-mostly log leads the user slot; nothing volatile precedes it
215
292
  // ({§packet-cache-monotone}).
216
- {
217
- name: "log",
218
- slot: "user",
219
- header: "Log",
220
- content: renderedLog.content,
221
- },
222
- // {§packet-current-turn} — the Worker block opens the status clump below the log: who
223
- // the actor is, whose child it is, and the coordinate this packet's response becomes —
224
- // the one fact the sources cannot state about themselves (which `reasoning://<worker>/L/T` is
225
- // the model's own). It changes every turn, so it never precedes the log.
226
- { name: "worker", slot: "user", header: "Worker", content: JSON.stringify({ path: `worker://${workerName}`, parent: parentPath, loop: loopSeqRow?.sequence ?? loopId, turn: currentTurnSeq }) },
227
- // The per-turn status clump follows the log ({§packet-cache-monotone}).
228
- // child-orientation: what this worker holds live — its child workers and its open streams — under
229
- // the teaching's own word, just above errors. Terse pointers (the path is the actionable address
230
- // the model READs, SENDs to, or KILLs), never advice. {§child-orientation}
231
- { name: "delegation", slot: "user", header: "Delegation", content: PacketWire.renderDelegation(childWorkers, childStreams) },
232
- { name: "errors", slot: "user", header: "Errors", content: PacketWire.renderFailurePointers(failures) },
233
- { name: "notices", slot: "user", header: "Notices", content: PacketWire.renderNotices(notices) },
293
+ ...logSections,
294
+ // The per-turn status clump follows the log ({§packet-cache-monotone}) and runs from ambient
295
+ // state to what this turn owes to feedback on the last one, then the Recap: the nearer the end,
296
+ // the more a section asks of this turn.
234
297
  { name: "git", slot: "user", header: "Git Status", content: PacketWire.renderGit(gitStatus) },
235
298
  // {§context-gauge} — the model's word for curation weight is tokens; this is never provider admission.
236
299
  { name: "budget", slot: "user", header: "Context", content: budgetReadout },
237
- // The messages section closes the status clump as a pointer list of open
238
- // arrivals; bodies arrive through their inbound SEND rows ({§message-arrival}).
300
+ // {§packet-current-turn} — the Worker block names who the actor is, whose child it is, and the
301
+ // coordinate this packet's response becomes — the one fact the sources cannot state about
302
+ // themselves (which `reasoning://<worker>/L/T` is the model's own). It changes every turn, so it
303
+ // never precedes the log.
304
+ { name: "worker", slot: "user", header: "Worker", content: JSON.stringify({ path: `worker://${workerName}`, parent: parentPath, loop: loopSeqRow?.sequence ?? loopId, turn: currentTurnSeq }) },
305
+ // child-orientation: what this worker holds live — its child workers and its open streams — under
306
+ // the teaching's own word. Terse pointers (the path is the actionable address the model READs,
307
+ // SENDs to, or KILLs), never advice. {§child-orientation}
308
+ { name: "delegation", slot: "user", header: "Delegation", content: PacketWire.renderDelegation(childWorkers, childStreams) },
309
+ // The open arrivals this turn owes, as pointers; bodies arrive through their inbound SEND rows
310
+ // ({§message-arrival}).
239
311
  { name: "messages", slot: "user", header: "Open Messages", content: prompt },
312
+ { name: "notices", slot: "user", header: "Notices", content: PacketWire.renderNotices(notices) },
313
+ { name: "errors", slot: "user", header: "Errors", content: PacketWire.renderFailurePointers(failures) },
240
314
  { name: "recap", slot: "user", header: "Recap", content: recapContent },
241
315
  ];
242
316
  // Extension packet control ({§packet-assembly}): trusted schemes rewrite the
243
317
  // default list — add, remove, reorder — in-process, before measurement.
244
318
  let drafts = await this.#schemes.transformSections(defaults, workspaceId);
245
- // {§previous-emission}: core owns this section, so it is never a transformable draft; every
246
- // packet stores it last, empty when no previous program qualifies.
247
- if (drafts.some(({ name }) => name === "previous-emission"))
248
- throw new Error("previous-emission is a core-owned packet section");
249
- const previous = omitPreviousEmission ? undefined : await this.#db.engine_previous_emission.get({ loop_id: loopId, current_turn_seq: currentTurnSeq });
250
- drafts = [...drafts, { name: "previous-emission", slot: "user", header: "Previous Emission", content: previous?.content ?? "" }];
319
+ const unchangedLog = logSections.filter((section) => section.slot === "user").every((section) => drafts.some((candidate) => candidate.name === section.name && candidate.content === section.content && candidate.slot === section.slot));
320
+ const attachments = nativeParts.filter(({ section }) => drafts.some(({ name }) => name === section));
321
+ const attachmentsWeight = attachments.reduce((sum, { weight }) => sum + weight, 0);
251
322
  const budgetSection = drafts.find((section) => section.name === "budget");
252
323
  if (budgetSection !== undefined) {
253
- const transformedLog = drafts.find((section) => section.name === "log");
254
- const curationTargets = transformedLog?.content === renderedLog.content
255
- ? renderedLog.curationTargets
256
- : [];
257
- const content = BudgetReadout.resolve(budgetSection.content, (candidate) => {
258
- const candidateDrafts = drafts.map((section) => section === budgetSection ? { ...section, content: candidate } : section);
259
- return weighContent(PacketWire.renderSlot(candidateDrafts, "system"))
260
- + weighContent(PacketWire.renderSlot(candidateDrafts, "user"))
261
- + attachmentsWeight;
262
- }, curationTargets);
263
- drafts = drafts.map((section) => section === budgetSection ? { ...section, content } : section);
324
+ const curationTargets = unchangedLog ? renderedLog.curationTargets : [];
325
+ // {§context-pressure-notice} — the pressure notice follows whatever the notices section holds.
326
+ const noticesSection = drafts.find((section) => section.name === "notices");
327
+ const withReadout = (gauge, notice) => drafts.map((section) => {
328
+ if (section === budgetSection)
329
+ return { ...section, content: gauge };
330
+ if (section !== noticesSection || notice === null)
331
+ return section;
332
+ return { ...section, content: [section.content, PacketWire.renderNotices([notice])].filter((part) => part.length > 0).join("\n") };
333
+ });
334
+ const readout = BudgetReadout.resolve(budgetSection.content, (gauge, notice) => PacketWire.packetToWireMessages({ sections: withReadout(gauge, notice) })
335
+ .reduce((sum, { content }) => sum + weighContent(content), attachmentsWeight), curationTargets);
336
+ drafts = withReadout(readout.gauge, readout.notice);
264
337
  }
265
- // Core alone turns validated drafts into measured durable sections. {§packet-items} — the
266
- // log section's items are its records when no transformer touched it; any other section,
267
- // or a transformed log, is one item.
338
+ // {§packet-items}: unchanged log segments retain their content-addressed records.
268
339
  const sections = drafts.map((section) => ({
269
340
  ...section,
270
341
  weight: weighContent(PacketWire.renderSection(section)),
271
- items: section.name === "log" && section.content === renderedLog.content ? renderedLog.records : [section.content],
342
+ items: sectionItems.get(section.name)?.join("\n\n") === section.content ? sectionItems.get(section.name) : [section.content],
272
343
  }));
273
- const renderWeight = weighContent(PacketWire.renderSlot(sections, "system")) + weighContent(PacketWire.renderSlot(sections, "user"));
274
- // {§packet-attachment-parts}: text, including the previous program, is already in the slots.
275
- const packet = { weight: renderWeight + attachmentsWeight, sections, attributions: [], attachments: [...renderedLog.attachments] };
344
+ const renderWeight = PacketWire.packetToWireMessages({ sections })
345
+ .reduce((sum, { content }) => sum + weighContent(content), 0);
346
+ // {§packet-attachment-parts}: all text is already in the ordered messages.
347
+ const packet = { weight: renderWeight + attachmentsWeight, sections, attributions: [], attachments };
276
348
  this.#allowances.set(packet.sections, { budget: curationBudget, factor });
277
349
  // {§context-own-rows-fit} — a transformed log is one item the wall cannot take row by row.
278
- this.#bodiedRows.set(packet.sections, drafts.find((section) => section.name === "log")?.content === renderedLog.content ? renderedLog.bodied : []);
350
+ this.#bodiedRows.set(packet.sections, unchangedLog ? renderedLog.bodied : []);
279
351
  this.#streamObservations.set(packet.sections, openChannels);
280
352
  return packet;
281
353
  }