@plurnk/plurnk-service 2.0.0 → 3.0.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 (251) hide show
  1. package/.env.defaults +11 -15
  2. package/INSTALL.md +3 -2
  3. package/README.md +1 -2
  4. package/SPEC.md +329 -320
  5. package/dist/build-info.json +1 -1
  6. package/dist/content/edit-receipt.d.ts +1 -1
  7. package/dist/content/edit-receipt.d.ts.map +1 -1
  8. package/dist/content/edit-receipt.js +1 -1
  9. package/dist/content/edit-receipt.js.map +1 -1
  10. package/dist/content/read-projector.d.ts.map +1 -1
  11. package/dist/content/read-projector.js +3 -12
  12. package/dist/content/read-projector.js.map +1 -1
  13. package/dist/core/AdministrativeLoop.d.ts +1 -1
  14. package/dist/core/AdministrativeLoop.d.ts.map +1 -1
  15. package/dist/core/AdministrativeLoop.js +2 -6
  16. package/dist/core/AdministrativeLoop.js.map +1 -1
  17. package/dist/core/BudgetReadout.d.ts +1 -0
  18. package/dist/core/BudgetReadout.d.ts.map +1 -1
  19. package/dist/core/BudgetReadout.js +12 -0
  20. package/dist/core/BudgetReadout.js.map +1 -1
  21. package/dist/core/CapabilityPolicies.d.ts +2 -4
  22. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  23. package/dist/core/CapabilityPolicies.js +3 -23
  24. package/dist/core/CapabilityPolicies.js.map +1 -1
  25. package/dist/core/CapabilityResolver.d.ts +9 -2
  26. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  27. package/dist/core/CapabilityResolver.js +34 -5
  28. package/dist/core/CapabilityResolver.js.map +1 -1
  29. package/dist/core/ChannelWrite.d.ts +0 -2
  30. package/dist/core/ChannelWrite.d.ts.map +1 -1
  31. package/dist/core/ChannelWrite.js.map +1 -1
  32. package/dist/core/ClientInteractions.d.ts +3 -2
  33. package/dist/core/ClientInteractions.d.ts.map +1 -1
  34. package/dist/core/ClientInteractions.js +21 -12
  35. package/dist/core/ClientInteractions.js.map +1 -1
  36. package/dist/core/ClientInteractions.sql +8 -2
  37. package/dist/core/CoreSchemeServices.d.ts +1 -0
  38. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  39. package/dist/core/CoreSchemeServices.js +1 -0
  40. package/dist/core/CoreSchemeServices.js.map +1 -1
  41. package/dist/core/DataStatementRunner.js +1 -1
  42. package/dist/core/DataStatementRunner.js.map +1 -1
  43. package/dist/core/Dispatcher.d.ts +1 -0
  44. package/dist/core/Dispatcher.d.ts.map +1 -1
  45. package/dist/core/Dispatcher.js +12 -13
  46. package/dist/core/Dispatcher.js.map +1 -1
  47. package/dist/core/Engine.d.ts +1 -1
  48. package/dist/core/Engine.d.ts.map +1 -1
  49. package/dist/core/Engine.js +3 -2
  50. package/dist/core/Engine.js.map +1 -1
  51. package/dist/core/EnvFlags.d.ts.map +1 -1
  52. package/dist/core/EnvFlags.js +4 -3
  53. package/dist/core/EnvFlags.js.map +1 -1
  54. package/dist/core/FabricatedLog.js +1 -1
  55. package/dist/core/FabricatedLog.js.map +1 -1
  56. package/dist/core/HostPaths.d.ts +0 -1
  57. package/dist/core/HostPaths.d.ts.map +1 -1
  58. package/dist/core/HostPaths.js +0 -2
  59. package/dist/core/HostPaths.js.map +1 -1
  60. package/dist/core/KillHandler.js +1 -1
  61. package/dist/core/KillHandler.js.map +1 -1
  62. package/dist/core/LogVisibility.d.ts.map +1 -1
  63. package/dist/core/LogVisibility.js +8 -17
  64. package/dist/core/LogVisibility.js.map +1 -1
  65. package/dist/core/LoopDriver.d.ts.map +1 -1
  66. package/dist/core/LoopDriver.js +4 -6
  67. package/dist/core/LoopDriver.js.map +1 -1
  68. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  69. package/dist/core/LoopLifecycle.js +4 -9
  70. package/dist/core/LoopLifecycle.js.map +1 -1
  71. package/dist/core/LoopLifecycle.sql +6 -6
  72. package/dist/core/OperatorConfig.d.ts +1 -0
  73. package/dist/core/OperatorConfig.d.ts.map +1 -1
  74. package/dist/core/OperatorConfig.js +10 -2
  75. package/dist/core/OperatorConfig.js.map +1 -1
  76. package/dist/core/PacketBuilder.d.ts +5 -7
  77. package/dist/core/PacketBuilder.d.ts.map +1 -1
  78. package/dist/core/PacketBuilder.js +48 -118
  79. package/dist/core/PacketBuilder.js.map +1 -1
  80. package/dist/core/PacketBuilder.sql +15 -0
  81. package/dist/core/ProposalLifecycle.d.ts +1 -1
  82. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  83. package/dist/core/ProposalLifecycle.js +18 -20
  84. package/dist/core/ProposalLifecycle.js.map +1 -1
  85. package/dist/core/ProposalPolicies.d.ts +6 -0
  86. package/dist/core/ProposalPolicies.d.ts.map +1 -0
  87. package/dist/core/ProposalPolicies.js +28 -0
  88. package/dist/core/ProposalPolicies.js.map +1 -0
  89. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  90. package/dist/core/ProviderInstantiate.js +3 -4
  91. package/dist/core/ProviderInstantiate.js.map +1 -1
  92. package/dist/core/ResourceSelector.js +2 -2
  93. package/dist/core/ResourceSelector.js.map +1 -1
  94. package/dist/core/ResourceTransfers.js +3 -3
  95. package/dist/core/ResourceTransfers.js.map +1 -1
  96. package/dist/core/RuntimeWorker.sql +1 -2
  97. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  98. package/dist/core/SchemeRegistry.js +4 -5
  99. package/dist/core/SchemeRegistry.js.map +1 -1
  100. package/dist/core/ToolInputSchema.d.ts +1 -0
  101. package/dist/core/ToolInputSchema.d.ts.map +1 -1
  102. package/dist/core/ToolInputSchema.js +8 -2
  103. package/dist/core/ToolInputSchema.js.map +1 -1
  104. package/dist/core/ToolResources.d.ts +1 -0
  105. package/dist/core/ToolResources.d.ts.map +1 -1
  106. package/dist/core/ToolResources.js +7 -1
  107. package/dist/core/ToolResources.js.map +1 -1
  108. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  109. package/dist/core/TurnDispositionHandler.js +1 -7
  110. package/dist/core/TurnDispositionHandler.js.map +1 -1
  111. package/dist/core/TurnMaterialization.js +1 -1
  112. package/dist/core/TurnMaterialization.js.map +1 -1
  113. package/dist/core/TurnRunner.d.ts.map +1 -1
  114. package/dist/core/TurnRunner.js +74 -57
  115. package/dist/core/TurnRunner.js.map +1 -1
  116. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  117. package/dist/core/WorkerControlHandler.js +1 -8
  118. package/dist/core/WorkerControlHandler.js.map +1 -1
  119. package/dist/core/WorkerName.d.ts +1 -0
  120. package/dist/core/WorkerName.d.ts.map +1 -1
  121. package/dist/core/WorkerName.js +2 -0
  122. package/dist/core/WorkerName.js.map +1 -1
  123. package/dist/core/WorkerName.sql +2 -2
  124. package/dist/core/WorkerOwners.d.ts +13 -0
  125. package/dist/core/WorkerOwners.d.ts.map +1 -0
  126. package/dist/core/WorkerOwners.js +44 -0
  127. package/dist/core/WorkerOwners.js.map +1 -0
  128. package/dist/core/WorkerOwners.sql +55 -0
  129. package/dist/core/env-catalog.d.ts +3 -0
  130. package/dist/core/env-catalog.d.ts.map +1 -1
  131. package/dist/core/env-catalog.js +44 -9
  132. package/dist/core/env-catalog.js.map +1 -1
  133. package/dist/core/fork.sql +3 -4
  134. package/dist/core/packet-inject.js +0 -2
  135. package/dist/core/packet-inject.js.map +1 -1
  136. package/dist/core/packet-wire.d.ts +2 -10
  137. package/dist/core/packet-wire.d.ts.map +1 -1
  138. package/dist/core/packet-wire.js +31 -114
  139. package/dist/core/packet-wire.js.map +1 -1
  140. package/dist/core/plurnk-uri.d.ts +1 -1
  141. package/dist/core/plurnk-uri.d.ts.map +1 -1
  142. package/dist/core/plurnk-uri.js +4 -4
  143. package/dist/core/plurnk-uri.js.map +1 -1
  144. package/dist/core/scheme-types.d.ts +2 -1
  145. package/dist/core/scheme-types.d.ts.map +1 -1
  146. package/dist/core/types.d.ts +0 -1
  147. package/dist/core/types.d.ts.map +1 -1
  148. package/dist/core/unregistered-scheme.d.ts +1 -3
  149. package/dist/core/unregistered-scheme.d.ts.map +1 -1
  150. package/dist/core/unregistered-scheme.js +3 -11
  151. package/dist/core/unregistered-scheme.js.map +1 -1
  152. package/dist/evidence/EvidenceReader.d.ts.map +1 -1
  153. package/dist/evidence/EvidenceReader.js +4 -1
  154. package/dist/evidence/EvidenceReader.js.map +1 -1
  155. package/dist/evidence/digest.sql +1 -2
  156. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  157. package/dist/schemes/EffectPolicy.js +1 -10
  158. package/dist/schemes/EffectPolicy.js.map +1 -1
  159. package/dist/schemes/Exec.d.ts.map +1 -1
  160. package/dist/schemes/Exec.js +16 -23
  161. package/dist/schemes/Exec.js.map +1 -1
  162. package/dist/schemes/File.d.ts.map +1 -1
  163. package/dist/schemes/File.js +10 -16
  164. package/dist/schemes/File.js.map +1 -1
  165. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  166. package/dist/schemes/QuestionTool.js +1 -3
  167. package/dist/schemes/QuestionTool.js.map +1 -1
  168. package/dist/schemes/Worker.d.ts.map +1 -1
  169. package/dist/schemes/Worker.js +6 -8
  170. package/dist/schemes/Worker.js.map +1 -1
  171. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  172. package/dist/schemes/_entry-fts.js +3 -9
  173. package/dist/schemes/_entry-fts.js.map +1 -1
  174. package/dist/schemes/_entry-ops.js +1 -1
  175. package/dist/schemes/_entry-ops.js.map +1 -1
  176. package/dist/server/ConfigurationDiagnostics.d.ts +1 -0
  177. package/dist/server/ConfigurationDiagnostics.d.ts.map +1 -1
  178. package/dist/server/ConfigurationDiagnostics.js +9 -0
  179. package/dist/server/ConfigurationDiagnostics.js.map +1 -1
  180. package/dist/server/Daemon.d.ts +12 -8
  181. package/dist/server/Daemon.d.ts.map +1 -1
  182. package/dist/server/Daemon.js +51 -52
  183. package/dist/server/Daemon.js.map +1 -1
  184. package/dist/server/DrainSupervisor.d.ts +1 -4
  185. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  186. package/dist/server/DrainSupervisor.js +1 -11
  187. package/dist/server/DrainSupervisor.js.map +1 -1
  188. package/dist/server/EnvFunctionality.d.ts +2 -4
  189. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  190. package/dist/server/EnvFunctionality.js +3 -5
  191. package/dist/server/EnvFunctionality.js.map +1 -1
  192. package/dist/server/Functionality.d.ts.map +1 -1
  193. package/dist/server/Functionality.js +42 -13
  194. package/dist/server/Functionality.js.map +1 -1
  195. package/dist/server/FunctionalityManager.d.ts +3 -4
  196. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  197. package/dist/server/FunctionalityManager.js +17 -9
  198. package/dist/server/FunctionalityManager.js.map +1 -1
  199. package/dist/server/HttpListener.d.ts.map +1 -1
  200. package/dist/server/HttpListener.js +9 -3
  201. package/dist/server/HttpListener.js.map +1 -1
  202. package/dist/server/MembersFunctionality.d.ts +2 -5
  203. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  204. package/dist/server/MembersFunctionality.js +5 -3
  205. package/dist/server/MembersFunctionality.js.map +1 -1
  206. package/dist/server/WorkspaceStorage.d.ts +0 -1
  207. package/dist/server/WorkspaceStorage.d.ts.map +1 -1
  208. package/dist/server/WorkspaceStorage.js +1 -24
  209. package/dist/server/WorkspaceStorage.js.map +1 -1
  210. package/dist/server/client-input.d.ts +1 -2
  211. package/dist/server/client-input.d.ts.map +1 -1
  212. package/dist/server/client-input.js +2 -13
  213. package/dist/server/client-input.js.map +1 -1
  214. package/dist/server/dispatch-as-plurnk.js +1 -1
  215. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  216. package/dist/server/drain.sql +6 -6
  217. package/dist/server/envelope.d.ts +2 -1
  218. package/dist/server/envelope.d.ts.map +1 -1
  219. package/dist/server/envelope.js +7 -17
  220. package/dist/server/envelope.js.map +1 -1
  221. package/dist/server/envelope.sql +5 -5
  222. package/dist/server/seam-proposal-list.sql +6 -4
  223. package/dist/server/workspace-storage.sql +0 -5
  224. package/dist/service.d.ts.map +1 -1
  225. package/dist/service.js +23 -33
  226. package/dist/service.js.map +1 -1
  227. package/migrations/003_loops.sql +2 -2
  228. package/migrations/006_log.sql +1 -1
  229. package/migrations/016_selection_statements.sql +1 -0
  230. package/migrations/017_skills_module.sql +1 -0
  231. package/migrations/018_worker_owners.sql +102 -0
  232. package/migrations/019_interactive_owners.sql +6 -0
  233. package/migrations/020_log_projection.sql +143 -0
  234. package/package.json +37 -41
  235. package/dist/core/LegacyHome.d.ts +0 -10
  236. package/dist/core/LegacyHome.d.ts.map +0 -1
  237. package/dist/core/LegacyHome.js +0 -170
  238. package/dist/core/LegacyHome.js.map +0 -1
  239. package/dist/core/LoopPolicies.d.ts +0 -7
  240. package/dist/core/LoopPolicies.d.ts.map +0 -1
  241. package/dist/core/LoopPolicies.js +0 -42
  242. package/dist/core/LoopPolicies.js.map +0 -1
  243. package/dist/core/LoopPolicyReader.d.ts +0 -7
  244. package/dist/core/LoopPolicyReader.d.ts.map +0 -1
  245. package/dist/core/LoopPolicyReader.js +0 -33
  246. package/dist/core/LoopPolicyReader.js.map +0 -1
  247. package/dist/core/LoopPolicyReader.sql +0 -6
  248. package/dist/index.d.ts +0 -14
  249. package/dist/index.d.ts.map +0 -1
  250. package/dist/index.js +0 -21
  251. package/dist/index.js.map +0 -1
@@ -10,6 +10,12 @@
10
10
  // including names nothing declares. The catalog answers a different question — which keys have a
11
11
  // CONSUMER. `FOO=bar` is valid and nothing reads it; `PAGER=less` is valid and something does.
12
12
  import EnvDefaults from "./env-defaults.js";
13
+ // A declaration line: `KEY=value` is live, `# KEY=value` optional. A `<placeholder>` segment in the
14
+ // name declares a family of keys ({§operator-config-undeclared-key}), only ever written commented.
15
+ const DECLARATION = /^#?\s*([A-Za-z_][A-Za-z0-9_]*(?:<[^<>\s=]+>[A-Za-z0-9_]*)*)=/u;
16
+ const PLACEHOLDER = /<[^<>\s=]+>/gu;
17
+ // What a placeholder, or the scope after a declared name's `_`, stands for: an alias, a name, a tag.
18
+ const SEGMENT = "[\\p{L}\\p{N}_.-]+";
13
19
  export default class EnvCatalog {
14
20
  // Declarations in file order, each carrying the comment lines that introduce it. A commented
15
21
  // declaration (`# PLURNK_EXECS_ONLY=sh,jq`) is an optional knob, not prose, so it is a
@@ -18,22 +24,48 @@ export default class EnvCatalog {
18
24
  const out = [];
19
25
  let pending = [];
20
26
  for (const line of text.split("\n")) {
21
- const bare = line.trim();
22
- if (bare.length === 0) {
27
+ const name = EnvCatalog.declaredName(line);
28
+ // A blank line, or a comment that is not an assignment, introduces whatever comes next.
29
+ if (name === null) {
23
30
  pending.push(line);
24
31
  continue;
25
32
  }
26
- const assignment = /^#?\s*([A-Za-z_][A-Za-z0-9_]*)=/u.exec(bare);
27
- // A comment that is not an assignment introduces whatever comes next.
28
- if (assignment === null) {
29
- pending.push(line);
30
- continue;
31
- }
32
- out.push({ name: assignment[1], text: [...pending, line].join("\n") });
33
+ out.push({ name, text: [...pending, line].join("\n") });
33
34
  pending = [];
34
35
  }
35
36
  return out;
36
37
  }
38
+ // The name one panel line declares, or null for prose. Every reader of a panel shares it.
39
+ static declaredName(line) {
40
+ return DECLARATION.exec(line.trim())?.[1] ?? null;
41
+ }
42
+ // The declaration grammar admits `<` only to open a placeholder.
43
+ static isFamily(name) {
44
+ return name.includes("<");
45
+ }
46
+ // {§operator-config-undeclared-key} Whether an installed package declares a key: by name, as a
47
+ // declared name's `_` scope (a per-alias knob, `PLURNK_MODEL_<alias>`), or as a family member.
48
+ static declares(files) {
49
+ const names = new Set();
50
+ const families = [];
51
+ for (const { text } of files) {
52
+ for (const { name } of EnvCatalog.declarations(text)) {
53
+ if (EnvCatalog.isFamily(name))
54
+ families.push(new RegExp(`^${name.replaceAll(PLACEHOLDER, SEGMENT)}$`, "u"));
55
+ else
56
+ names.add(name);
57
+ }
58
+ }
59
+ const scope = new RegExp(`^${SEGMENT}$`, "u");
60
+ const scoped = (key) => {
61
+ for (let at = key.indexOf("_"); at !== -1; at = key.indexOf("_", at + 1)) {
62
+ if (names.has(key.slice(0, at)) && scope.test(key.slice(at + 1)))
63
+ return true;
64
+ }
65
+ return false;
66
+ };
67
+ return (key) => names.has(key) || scoped(key) || families.some((family) => family.test(key));
68
+ }
37
69
  // The name, or the comment that documents it — a Worker looks for a variable by what it is
38
70
  // for ("search") before it knows what it is called. Never the value: a value match would
39
71
  // surface a value the model did not ask to see — the catalog carries shipped defaults rather
@@ -49,6 +81,9 @@ export default class EnvCatalog {
49
81
  const out = [];
50
82
  for (const file of selected) {
51
83
  for (const declaration of EnvCatalog.declarations(file.text)) {
84
+ // A family is no name a Worker can set; only its members are.
85
+ if (EnvCatalog.isFamily(declaration.name))
86
+ continue;
52
87
  if (term !== undefined && !EnvCatalog.#matches(declaration, term))
53
88
  continue;
54
89
  const lines = declaration.text.split("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"env-catalog.js","sourceRoot":"","sources":["../../src/core/env-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-catalog.js","sourceRoot":"","sources":["../../src/core/env-catalog.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,12 @@ BEGIN
14
14
  -- Loops: inherited history, never live work — a non-terminal status is clamped to 200 and
15
15
  -- given a plain success result ({§machine-processes-fork-copies-the-log}).
16
16
  INSERT INTO loops (
17
- worker_id, sequence, status, prompt, policy, model_route_id,
17
+ worker_id, sequence, status, prompt, model_route_id,
18
18
  spawn_model_route_id, effort, max_turns, terminal_result
19
19
  )
20
20
  SELECT NEW.id, l.sequence,
21
21
  CASE WHEN l.status IN (200, 413, 429, 499, 500, 504, 508) THEN l.status ELSE 200 END,
22
- l.prompt, l.policy, l.model_route_id, l.spawn_model_route_id, l.effort, l.max_turns,
22
+ l.prompt, l.model_route_id, l.spawn_model_route_id, l.effort, l.max_turns,
23
23
  CASE WHEN l.status IN (200, 413, 429, 499, 500, 504, 508) THEN l.terminal_result ELSE '{"status":200}' END
24
24
  FROM loops l
25
25
  WHERE l.worker_id = NEW.parent_worker_id
@@ -93,8 +93,7 @@ BEGIN
93
93
  WHERE e.worker_id = NEW.parent_worker_id
94
94
  ORDER BY e.id;
95
95
 
96
- -- Current projection: membership and folded intervals. The retired admission columns
97
- -- ({§context-output-selection}) stay at their defaults on the fork.
96
+ -- Current projection: membership and folded intervals.
98
97
  UPDATE log_entry_projections
99
98
  SET active = source.active,
100
99
  folded = source.folded
@@ -30,6 +30,4 @@ export const readSystemPolicy = async () => {
30
30
  const env = raw?.trim();
31
31
  return readPolicy(env ? resolveInjectPath(env) : new HostPaths().policyFile, !!env);
32
32
  };
33
- // Project policy is retired from the system slot: the project AGENTS.md now
34
- // rides turn 0 as the foisted AGENTS.md entry ({§turn0-agents-stunt}).
35
33
  //# sourceMappingURL=packet-inject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packet-inject.js","sourceRoot":"","sources":["../../src/core/packet-inject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,2FAA2F;AAC3F,uDAAuD;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAU,EAAE,CACrD,IAAI,SAAS,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAA4B,EAAE;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,iFAAiF;AACjF,mFAAmF;AACnF,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,QAAiB,EAA0B,EAAE;IACjF,IAAI,CAAC;QAAC,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IAAC,CAAC;IAC7D,OAAO,GAAG,EAAE,CAAC;QAAC,IAAI,QAAQ;YAAE,MAAM,GAAG,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACzD,CAAC,CAAC;AAEF,sGAAsG;AACtG,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAA4B,EAAE;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACjG,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC;IACxB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF,4EAA4E;AAC5E,uEAAuE"}
1
+ {"version":3,"file":"packet-inject.js","sourceRoot":"","sources":["../../src/core/packet-inject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAEvC,2FAA2F;AAC3F,uDAAuD;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAU,EAAE,CACrD,IAAI,SAAS,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAA4B,EAAE;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,IAAI,EAAE,CAAC;IAC7D,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,iFAAiF;AACjF,mFAAmF;AACnF,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,QAAiB,EAA0B,EAAE;IACjF,IAAI,CAAC;QAAC,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;IAAC,CAAC;IAC7D,OAAO,GAAG,EAAE,CAAC;QAAC,IAAI,QAAQ;YAAE,MAAM,GAAG,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACzD,CAAC,CAAC;AAEF,sGAAsG;AACtG,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAA4B,EAAE;IAC/D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC,CAAC,wCAAwC;IACjG,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC;IACxB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACxF,CAAC,CAAC"}
@@ -100,14 +100,8 @@ export interface RenderedLog {
100
100
  readonly records: readonly string[];
101
101
  readonly curationTargets: readonly ReclaimableLogItem[];
102
102
  readonly attachments: readonly PacketAttachment[];
103
- readonly emissions: readonly RenderedEmission[];
104
103
  readonly bodied: readonly BodiedLogRow[];
105
104
  }
106
- export interface RenderedEmission {
107
- readonly coordinate: string;
108
- readonly content: string;
109
- readonly weight: number;
110
- }
111
105
  export default class PacketWire {
112
106
  #private;
113
107
  static renderSlot(sections: SectionView[], slot: "system" | "user"): string;
@@ -119,11 +113,9 @@ export default class PacketWire {
119
113
  static renderLog(entries: unknown, weighContent: WeighContent, options?: RenderLogOptions): string;
120
114
  static renderLogWithAccounting(entries: unknown, weighContent: WeighContent, options?: RenderLogOptions): RenderedLog;
121
115
  static sectionContent(packet: Packet, name: string): string;
122
- static packetToWireMessages(packet: Packet, emissions: ReadonlyMap<string, string>): Array<ChatMessage & {
116
+ static packetToWireMessages(packet: Packet): Array<ChatMessage & {
123
117
  content: string;
124
118
  }>;
125
- static deliveredEmission(frozen: string): string;
126
- static placedEmissions(sections: readonly SectionView[], emissions: ReadonlyMap<string, string>): string[];
127
119
  static isArrival(e: {
128
120
  readonly op?: unknown;
129
121
  readonly origin?: unknown;
@@ -131,7 +123,7 @@ export default class PacketWire {
131
123
  }): boolean;
132
124
  static entryView(r: StoredLogRow, transientOpenLogEntryId?: number | null): LogEntryView;
133
125
  static rowTokens(view: LogEntryView, weighContent: WeighContent, options?: RenderLogOptions): number;
134
- static wireMessages(packet: RequestPacket, emissions: ReadonlyMap<string, string>, bytesOf: (attachment: PacketAttachment) => Promise<Uint8Array>, accepts?: (kind: PacketAttachment["kind"]) => boolean): Promise<ChatMessage[]>;
126
+ static wireMessages(packet: RequestPacket, bytesOf: (attachment: PacketAttachment) => Promise<Uint8Array>, accepts?: (kind: PacketAttachment["kind"]) => boolean): Promise<ChatMessage[]>;
135
127
  static attachmentCaption(attachment: PacketAttachment): string;
136
128
  }
137
129
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"packet-wire.d.ts","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packet-wire.d.ts","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,7 @@ export default class PacketWire {
95
95
  static renderLogWithAccounting(entries, weighContent, options = {}) {
96
96
  const log = Array.isArray(entries) ? entries : [];
97
97
  if (log.length === 0)
98
- return { content: "", records: [], curationTargets: [], attachments: [], emissions: [], bodied: [] };
98
+ return { content: "", records: [], curationTargets: [], attachments: [], bodied: [] };
99
99
  const rows = PacketWire.#renderLogEntries(log, weighContent, options);
100
100
  const records = rows.map(({ content }) => content);
101
101
  return {
@@ -103,7 +103,6 @@ export default class PacketWire {
103
103
  records,
104
104
  curationTargets: rows.flatMap(({ curationTarget }) => curationTarget === null ? [] : [curationTarget]),
105
105
  attachments: rows.flatMap(({ attachment }) => attachment === null ? [] : [attachment]),
106
- emissions: rows.flatMap(({ emission }) => emission === null ? [] : [emission]),
107
106
  bodied: rows.flatMap(({ bodied }) => bodied === null ? [] : [bodied]),
108
107
  };
109
108
  }
@@ -114,97 +113,17 @@ export default class PacketWire {
114
113
  const s = packet.sections?.find((x) => x.name === name);
115
114
  return typeof s?.content === "string" ? s.content : "";
116
115
  }
117
- // {§packet-wire-envelope} — the packet as a transcript: the system slot, then the user sections in
118
- // order, split after each placed emission row so that row's emission follows as the worker's own
119
- // assistant message. The user contents joined by one blank line equal renderSlot(user) byte for
120
- // byte; the request always closes on a user message.
121
- static packetToWireMessages(packet, emissions) {
122
- const sections = packet.sections ?? [];
123
- const messages = [{ role: "system", content: PacketWire.renderSlot(sections, "system") }];
124
- let pending = [];
125
- for (const section of sections) {
126
- if (section.slot !== "user")
127
- continue;
128
- const rendered = PacketWire.renderSection(section);
129
- if (rendered.length === 0)
130
- continue;
131
- if (section.name !== "log") {
132
- pending.push(rendered);
133
- continue;
134
- }
135
- for (const { content, coordinate } of PacketWire.#logRecords(rendered)) {
136
- pending.push(content);
137
- const frozen = coordinate === null ? undefined : emissions.get(coordinate);
138
- const emission = frozen === undefined ? "" : PacketWire.deliveredEmission(frozen);
139
- // {§emission-row}: an emission of only NOTE and WAIT delivers nothing; its row stands.
140
- if (emission.length === 0)
141
- continue;
142
- messages.push({ role: "user", content: pending.join("\n\n") });
143
- messages.push({ role: "assistant", content: emission });
144
- pending = [];
145
- }
146
- }
147
- const closing = pending.join("\n\n");
148
- if (closing.length === 0 && messages.at(-1)?.role === "assistant")
149
- throw new Error("a request never ends on an emission: nothing follows the last one");
150
- messages.push({ role: "user", content: closing });
151
- return messages;
152
- }
153
- // {§emission-row} — bodies are logged, never replayed: a statement with a body is its heading and an
154
- // empty closer, and one without a body is one line, so the shape says whether anything was left out. A
155
- // NOTE or WAIT, and a parameterless KILL or SEND, is not replayed at all: its own row shows it whole.
156
- // Deliberately a text filter: the frozen projection is TurnOps' own rendering, whose fences are longer
157
- // than any backtick run inside them, so a block is read back by its fences alone, whatever era froze it.
158
- static deliveredEmission(frozen) {
159
- const lines = frozen.split("\n");
160
- const kept = [];
161
- for (let index = 0; index < lines.length;) {
162
- const fence = /^`{3,}/u.exec(lines[index])?.[0];
163
- if (fence === undefined)
164
- throw new Error(`an emission block opens with a fence, not ${JSON.stringify(lines[index])}`);
165
- const end = lines.findIndex((line, at) => at > index && (line === fence || line.startsWith(`${fence} <!-- `)));
166
- if (end === -1)
167
- throw new Error("an emission block closes with its own fence");
168
- const heading = lines[index];
169
- if (!new RegExp(`^${fence}(?:(?:NOTE|WAIT)\\b|(?:KILL|SEND)(?:\\s+<!--.*-->)?\\s*$)`, "u").test(heading)) {
170
- kept.push(end > index + 1 ? `${heading}\n${fence}` : `${heading}${fence}`);
171
- }
172
- index = end + 2;
173
- }
174
- return kept.join("\n\n");
175
- }
176
- // {§emission-row} — the coordinates of the emission rows present in the final log section, in order.
177
- // Every emission row must be announced by the render pass that built the map.
178
- static placedEmissions(sections, emissions) {
179
- const log = sections.find((section) => section.slot === "user" && section.name === "log");
180
- if (log === undefined)
181
- return [];
182
- const placed = [];
183
- for (const { coordinate, leaf } of PacketWire.#logRecords(PacketWire.renderSection(log))) {
184
- if (coordinate === null)
185
- continue;
186
- if (emissions.has(coordinate)) {
187
- if (placed.includes(coordinate))
188
- throw new Error(`log:///${coordinate}/emission appears twice in one log section`);
189
- placed.push(coordinate);
190
- }
191
- else if (leaf === "emission") {
192
- throw new Error(`log:///${coordinate}/emission reached the log section without its emission`);
193
- }
194
- }
195
- return placed;
196
- }
197
- static #logRecords(rendered) {
198
- return rendered.split(/\n\n(?=### log:\/\/\/)/u).map((content) => {
199
- const match = /^### log:\/\/\/(\d+\/\d+\/\d+)(?:\/(\S*))?(?=\s|$)/mu.exec(content);
200
- return { content, coordinate: match?.[1] ?? null, leaf: match?.[2] ?? null };
201
- });
116
+ // {§packet-wire-envelope}: the stored slots are the text envelope, without assistant replay.
117
+ static packetToWireMessages(packet) {
118
+ return [
119
+ { role: "system", content: PacketWire.renderSlot(packet.sections ?? [], "system") },
120
+ { role: "user", content: PacketWire.renderSlot(packet.sections ?? [], "user") },
121
+ ];
202
122
  }
203
123
  // Number a non-READ body line as `<N>:<line>` — `N:` followed by NO separator whitespace
204
124
  // ({§render-rule-line-navigable-prefix}): the leading digit prevents column-zero fence collisions and gives
205
125
  // the model line refs for free (`READ (...) <42-46>`), while the absence of any separator means a
206
- // reproduced line has nothing between `N:` and the content to copy — the hard-tab separator used
207
- // to leak into edit bodies and corrupt indentation. The content's OWN leading whitespace is
126
+ // reproduced line has nothing between `N:` and the content to copy. The content's OWN leading whitespace is
208
127
  // content, preserved verbatim. `N` is left-padded to the body's line-range width so every body
209
128
  // keeps one stable content column; FIND rows pass the complete result-set width so their pages
210
129
  // share a column with the whole set.
@@ -458,7 +377,7 @@ export default class PacketWire {
458
377
  const rx = (typeof e.rx === "string" ? PacketWire.#safeParse(e.rx) : e.rx);
459
378
  const facts = PacketWire.#rowResultFacts(identity, e, rx, bodies[index]);
460
379
  const projected = PacketWire.#rowBody(identity, e, bodies[index], visibility[index], facts);
461
- return PacketWire.#rowAccounting(identity, e, bodies[index], visibility[index], projected, weighContent, options);
380
+ return PacketWire.#rowAccounting(identity, e, visibility[index], projected, weighContent, options);
462
381
  });
463
382
  }
464
383
  static #attrsOf(e) {
@@ -604,11 +523,10 @@ export default class PacketWire {
604
523
  // {§worker-wait-timing} — the accepted bound, not elapsed time or the current configuration.
605
524
  if (op === "WAIT" && e.attrs !== null && typeof e.attrs === "object" && "waiting" in e.attrs) {
606
525
  const seconds = e.attrs.waiting;
607
- if (typeof seconds !== "number" || !Number.isFinite(seconds) || (seconds < 0 && seconds !== -1)) {
526
+ if (typeof seconds !== "number" || !Number.isFinite(seconds) || seconds < 0) {
608
527
  throw new TypeError("A WAIT receipt carries a malformed waiting bound.");
609
528
  }
610
- if (seconds >= 0)
611
- meta.waitSeconds = seconds;
529
+ meta.waitSeconds = seconds;
612
530
  }
613
531
  // An execution's output is a separate stream entry ({§exec-stream}); its address rides in a
614
532
  // `stream` link, distinct from the runtime-owned invocation target.
@@ -777,8 +695,7 @@ export default class PacketWire {
777
695
  };
778
696
  }
779
697
  // The body the row shows: the canonical full body, shared with log READ, log FIND and search
780
- // derivation, whole. Whether a result fit was decided where it landed ({§context-fit}); the packet
781
- // cuts nothing but the emission head ({§emission-row}).
698
+ // derivation, whole. Whether a result fit was decided where it landed ({§context-fit}).
782
699
  static #rowBody(identity, e, fullBody, bodyVisibility, facts) {
783
700
  const { meta, op } = identity;
784
701
  const projectedBody = {
@@ -855,7 +772,7 @@ export default class PacketWire {
855
772
  // The row's native attachment, a landed-unfit arrival's size, and the accounting field that
856
773
  // participates in the row it measures: iterate until its decimal width and therefore the
857
774
  // rendered row's curation weight are stable. {§packet-token-accounting}
858
- static #rowAccounting(identity, e, fullBody, bodyVisibility, projected, weighContent, options) {
775
+ static #rowAccounting(identity, e, bodyVisibility, projected, weighContent, options) {
859
776
  const { meta, op, coordinate, path, target } = identity;
860
777
  const { body, display } = projected;
861
778
  const nativeCandidate = op === "READ" && typeof e.status === "number" && e.status >= 200 && e.status < 300
@@ -871,11 +788,6 @@ export default class PacketWire {
871
788
  const attachment = !(bodyVisibility.totalLines > 0 && bodyVisibility.fullyFolded)
872
789
  ? native
873
790
  : null;
874
- // {§emission-row}: an emission row carries its frozen emission outside its record, and charges what
875
- // the wire delivers of it, as the worker's own message, exactly as a native part is charged.
876
- const emission = LogEntryProjection.isEmission(e) && coordinate !== null
877
- ? { coordinate, content: fullBody.content, weight: weighContent(PacketWire.deliveredEmission(fullBody.content)) }
878
- : null;
879
791
  // {§log-wire-format}: one descriptive heading, the facts, the body.
880
792
  const render = (open, tokens) => {
881
793
  const lines = [`### ${path}${identity.description === null ? "" : ` ${identity.description}`} · ${tokens}`];
@@ -892,18 +804,18 @@ export default class PacketWire {
892
804
  delete meta.tokensAttachment;
893
805
  let tokens = 0;
894
806
  for (let pass = 0; pass < 8; pass += 1) {
895
- const next = weighContent(render(open, tokens)) + (part?.weight ?? 0) + (emission?.weight ?? 0);
807
+ const next = weighContent(render(open, tokens)) + (part?.weight ?? 0);
896
808
  if (next === tokens)
897
809
  return { content: render(open, tokens), tokens };
898
810
  tokens = next;
899
811
  }
900
812
  throw new Error("packet log row accounting did not converge");
901
813
  };
902
- const row = (rendered, part, bodied) => ({ content: rendered.content, curationTarget: { path, tokens: rendered.tokens }, attachment: part, emission, bodied });
814
+ const row = (rendered, part, bodied) => ({ content: rendered.content, curationTarget: { path, tokens: rendered.tokens }, attachment: part, bodied });
903
815
  const whole = converge(display === "open", attachment);
904
816
  // {§context-own-rows-fit} — a row the wall may take carries a body or a native part and is not an
905
- // emission row, whose head-cut program keeps the turn legible.
906
- if (typeof e.id !== "number" || emission !== null || (display !== "open" && attachment === null))
817
+ // emission row, whose folded record carries no body.
818
+ if (typeof e.id !== "number" || LogEntryProjection.isEmission(e) || (display !== "open" && attachment === null))
907
819
  return row(whole, attachment, null);
908
820
  if (!(options.bodiless?.has(e.id) ?? false))
909
821
  return row(whole, attachment, { id: e.id, tokens: whole.tokens });
@@ -956,19 +868,24 @@ export default class PacketWire {
956
868
  }
957
869
  // {§packet-attachment-parts} — the wire form with native parts: user text first, then each accepted
958
870
  // retained native part in observation order.
959
- static async wireMessages(packet, emissions, bytesOf, accepts = () => true) {
960
- const messages = PacketWire.packetToWireMessages(packet, emissions);
961
- // {§packet-attachment-parts} — native parts ride the closing user message.
962
- const closing = messages.at(-1);
963
- const parts = [{ type: "text", text: closing.content }];
964
- for (const attachment of packet.attachments ?? []) {
965
- if (!accepts(attachment.kind))
966
- continue;
871
+ static async wireMessages(packet, bytesOf, accepts = () => true) {
872
+ const messages = PacketWire.packetToWireMessages(packet);
873
+ const attachments = (packet.attachments ?? []).filter(({ kind }) => accepts(kind));
874
+ if (attachments.length === 0)
875
+ return messages;
876
+ // {§previous-emission}: native inputs precede the final section, never follow it.
877
+ const preceding = packet.sections.filter(({ name }) => name !== "previous-emission");
878
+ const previous = packet.sections.find(({ name }) => name === "previous-emission");
879
+ const parts = [{ type: "text", text: PacketWire.renderSlot(preceding, "user") }];
880
+ for (const attachment of attachments) {
967
881
  const bytes = await bytesOf(attachment);
968
882
  parts.push({ type: "text", text: PacketWire.attachmentCaption(attachment) });
969
883
  parts.push({ type: "file", data: bytes, mediaType: attachment.mimetype });
970
884
  }
971
- return parts.length === 1 ? messages : [...messages.slice(0, -1), { role: "user", content: parts }];
885
+ const tail = previous === undefined ? "" : PacketWire.renderSection(previous);
886
+ if (tail.length > 0)
887
+ parts.push({ type: "text", text: `\n\n${tail}` });
888
+ return [messages[0], { role: "user", content: parts }];
972
889
  }
973
890
  // {§packet-attachment-parts} — the part's identity: a native part on the user turn otherwise reads as
974
891
  // an arrival, and the model cannot tell that the READ row is what keeps it in the packet.