@plurnk/plurnk-service 1.26.0 → 1.28.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 (293) hide show
  1. package/.env.defaults +16 -25
  2. package/SPEC.md +338 -263
  3. package/dist/build-info.json +1 -1
  4. package/dist/content/body-preview.d.ts +1 -0
  5. package/dist/content/body-preview.d.ts.map +1 -1
  6. package/dist/content/body-preview.js +7 -0
  7. package/dist/content/body-preview.js.map +1 -1
  8. package/dist/content/byte-view.d.ts +19 -2
  9. package/dist/content/byte-view.d.ts.map +1 -1
  10. package/dist/content/byte-view.js +67 -14
  11. package/dist/content/byte-view.js.map +1 -1
  12. package/dist/content/edit-receipt.js +1 -1
  13. package/dist/content/edit-receipt.js.map +1 -1
  14. package/dist/content/line-marker.d.ts +1 -0
  15. package/dist/content/line-marker.d.ts.map +1 -1
  16. package/dist/content/line-marker.js +6 -1
  17. package/dist/content/line-marker.js.map +1 -1
  18. package/dist/content/line-selection.d.ts +3 -1
  19. package/dist/content/line-selection.d.ts.map +1 -1
  20. package/dist/content/line-selection.js +27 -3
  21. package/dist/content/line-selection.js.map +1 -1
  22. package/dist/content/matcher.d.ts +9 -14
  23. package/dist/content/matcher.d.ts.map +1 -1
  24. package/dist/content/matcher.js +51 -45
  25. package/dist/content/matcher.js.map +1 -1
  26. package/dist/content/pattern-edits.d.ts +7 -26
  27. package/dist/content/pattern-edits.d.ts.map +1 -1
  28. package/dist/content/pattern-edits.js +54 -91
  29. package/dist/content/pattern-edits.js.map +1 -1
  30. package/dist/content/read-projector.d.ts +2 -1
  31. package/dist/content/read-projector.d.ts.map +1 -1
  32. package/dist/content/read-projector.js +42 -10
  33. package/dist/content/read-projector.js.map +1 -1
  34. package/dist/content/read-resolve.d.ts.map +1 -1
  35. package/dist/content/read-resolve.js +7 -4
  36. package/dist/content/read-resolve.js.map +1 -1
  37. package/dist/core/AdmittedTurnExecutor.d.ts +3 -1
  38. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  39. package/dist/core/AdmittedTurnExecutor.js +22 -7
  40. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  41. package/dist/core/BudgetReadout.d.ts +4 -4
  42. package/dist/core/BudgetReadout.d.ts.map +1 -1
  43. package/dist/core/BudgetReadout.js +26 -41
  44. package/dist/core/BudgetReadout.js.map +1 -1
  45. package/dist/core/ChannelWrite.d.ts +2 -3
  46. package/dist/core/ChannelWrite.d.ts.map +1 -1
  47. package/dist/core/ChannelWrite.js +21 -22
  48. package/dist/core/ChannelWrite.js.map +1 -1
  49. package/dist/core/ChannelWrite.sql +26 -0
  50. package/dist/core/ContextFit.d.ts +26 -0
  51. package/dist/core/ContextFit.d.ts.map +1 -0
  52. package/dist/core/ContextFit.js +56 -0
  53. package/dist/core/ContextFit.js.map +1 -0
  54. package/dist/core/DataStatementRunner.d.ts.map +1 -1
  55. package/dist/core/DataStatementRunner.js +1 -0
  56. package/dist/core/DataStatementRunner.js.map +1 -1
  57. package/dist/core/Dispatcher.d.ts +15 -2
  58. package/dist/core/Dispatcher.d.ts.map +1 -1
  59. package/dist/core/Dispatcher.js +148 -16
  60. package/dist/core/Dispatcher.js.map +1 -1
  61. package/dist/core/EditMutations.d.ts +5 -5
  62. package/dist/core/EditMutations.d.ts.map +1 -1
  63. package/dist/core/EditMutations.js +44 -50
  64. package/dist/core/EditMutations.js.map +1 -1
  65. package/dist/core/EditSequence.js +2 -2
  66. package/dist/core/EditSequence.js.map +1 -1
  67. package/dist/core/EmissionHead.d.ts +8 -0
  68. package/dist/core/EmissionHead.d.ts.map +1 -0
  69. package/dist/core/EmissionHead.js +29 -0
  70. package/dist/core/EmissionHead.js.map +1 -0
  71. package/dist/core/Engine.d.ts +1 -0
  72. package/dist/core/Engine.d.ts.map +1 -1
  73. package/dist/core/Engine.js +3 -0
  74. package/dist/core/Engine.js.map +1 -1
  75. package/dist/core/InferenceCall.js +2 -2
  76. package/dist/core/InferenceCall.js.map +1 -1
  77. package/dist/core/InferenceCall.sql +1 -0
  78. package/dist/core/LiveSubscription.d.ts +20 -0
  79. package/dist/core/LiveSubscription.d.ts.map +1 -0
  80. package/dist/core/LiveSubscription.js +68 -0
  81. package/dist/core/LiveSubscription.js.map +1 -0
  82. package/dist/core/LiveSubscriptions.d.ts +1 -0
  83. package/dist/core/LiveSubscriptions.d.ts.map +1 -1
  84. package/dist/core/LiveSubscriptions.js +8 -0
  85. package/dist/core/LiveSubscriptions.js.map +1 -1
  86. package/dist/core/LogBody.js +1 -1
  87. package/dist/core/LogBody.js.map +1 -1
  88. package/dist/core/LogEntryProjection.d.ts +1 -0
  89. package/dist/core/LogEntryProjection.d.ts.map +1 -1
  90. package/dist/core/LogEntryProjection.js +9 -0
  91. package/dist/core/LogEntryProjection.js.map +1 -1
  92. package/dist/core/LogWriter.d.ts +42 -0
  93. package/dist/core/LogWriter.d.ts.map +1 -1
  94. package/dist/core/LogWriter.js +11 -5
  95. package/dist/core/LogWriter.js.map +1 -1
  96. package/dist/core/LoopDriver.js +2 -1
  97. package/dist/core/LoopDriver.js.map +1 -1
  98. package/dist/core/LoopLifecycle.d.ts +2 -2
  99. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  100. package/dist/core/LoopLifecycle.js +2 -4
  101. package/dist/core/LoopLifecycle.js.map +1 -1
  102. package/dist/core/LoopLifecycle.sql +1 -6
  103. package/dist/core/MutationEffects.d.ts +1 -3
  104. package/dist/core/MutationEffects.d.ts.map +1 -1
  105. package/dist/core/MutationEffects.js +2 -1
  106. package/dist/core/MutationEffects.js.map +1 -1
  107. package/dist/core/PacketBuilder.d.ts +17 -4
  108. package/dist/core/PacketBuilder.d.ts.map +1 -1
  109. package/dist/core/PacketBuilder.js +80 -120
  110. package/dist/core/PacketBuilder.js.map +1 -1
  111. package/dist/core/PacketBuilder.sql +4 -12
  112. package/dist/core/PatternSelection.d.ts +5 -10
  113. package/dist/core/PatternSelection.d.ts.map +1 -1
  114. package/dist/core/PatternSelection.js +9 -16
  115. package/dist/core/PatternSelection.js.map +1 -1
  116. package/dist/core/ResourceMutations.d.ts +2 -4
  117. package/dist/core/ResourceMutations.d.ts.map +1 -1
  118. package/dist/core/ResourceMutations.js +2 -5
  119. package/dist/core/ResourceMutations.js.map +1 -1
  120. package/dist/core/ResourceSelector.d.ts +2 -2
  121. package/dist/core/ResourceSelector.d.ts.map +1 -1
  122. package/dist/core/ResourceSelector.js +64 -33
  123. package/dist/core/ResourceSelector.js.map +1 -1
  124. package/dist/core/ResourceTransfers.d.ts +2 -4
  125. package/dist/core/ResourceTransfers.d.ts.map +1 -1
  126. package/dist/core/ResourceTransfers.js +74 -50
  127. package/dist/core/ResourceTransfers.js.map +1 -1
  128. package/dist/core/SchemeRegistry.d.ts +1 -0
  129. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  130. package/dist/core/SchemeRegistry.js +11 -9
  131. package/dist/core/SchemeRegistry.js.map +1 -1
  132. package/dist/core/ServiceTeardown.d.ts +3 -2
  133. package/dist/core/ServiceTeardown.d.ts.map +1 -1
  134. package/dist/core/ServiceTeardown.js +17 -8
  135. package/dist/core/ServiceTeardown.js.map +1 -1
  136. package/dist/core/StopDeadline.d.ts +5 -0
  137. package/dist/core/StopDeadline.d.ts.map +1 -0
  138. package/dist/core/StopDeadline.js +20 -0
  139. package/dist/core/StopDeadline.js.map +1 -0
  140. package/dist/core/StrikeRail.d.ts.map +1 -1
  141. package/dist/core/StrikeRail.js +5 -1
  142. package/dist/core/StrikeRail.js.map +1 -1
  143. package/dist/core/ToolResources.d.ts.map +1 -1
  144. package/dist/core/ToolResources.js +11 -2
  145. package/dist/core/ToolResources.js.map +1 -1
  146. package/dist/core/TurnDispositionHandler.d.ts +4 -2
  147. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  148. package/dist/core/TurnDispositionHandler.js +24 -6
  149. package/dist/core/TurnDispositionHandler.js.map +1 -1
  150. package/dist/core/TurnMaterialization.d.ts +6 -2
  151. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  152. package/dist/core/TurnMaterialization.js +64 -16
  153. package/dist/core/TurnMaterialization.js.map +1 -1
  154. package/dist/core/TurnOps.js +7 -7
  155. package/dist/core/TurnOps.js.map +1 -1
  156. package/dist/core/TurnRunner.d.ts +1 -0
  157. package/dist/core/TurnRunner.d.ts.map +1 -1
  158. package/dist/core/TurnRunner.js +155 -160
  159. package/dist/core/TurnRunner.js.map +1 -1
  160. package/dist/core/TurnRunner.sql +2 -2
  161. package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
  162. package/dist/core/caps/DbSubscriptionCaps.js +13 -19
  163. package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
  164. package/dist/core/content-hash.d.ts +1 -1
  165. package/dist/core/content-hash.d.ts.map +1 -1
  166. package/dist/core/content-hash.js.map +1 -1
  167. package/dist/core/env-catalog.js +2 -2
  168. package/dist/core/env-catalog.js.map +1 -1
  169. package/dist/core/fork.sql +4 -10
  170. package/dist/core/git-env.d.ts +1 -1
  171. package/dist/core/git-env.d.ts.map +1 -1
  172. package/dist/core/git-env.js +19 -12
  173. package/dist/core/git-env.js.map +1 -1
  174. package/dist/core/git-membership.d.ts.map +1 -1
  175. package/dist/core/git-membership.js +11 -5
  176. package/dist/core/git-membership.js.map +1 -1
  177. package/dist/core/git-state.js +1 -1
  178. package/dist/core/git-state.js.map +1 -1
  179. package/dist/core/mutation-types.d.ts +6 -4
  180. package/dist/core/mutation-types.d.ts.map +1 -1
  181. package/dist/core/operation-target-groups.d.ts +1 -1
  182. package/dist/core/operation-target-groups.d.ts.map +1 -1
  183. package/dist/core/operation-target-groups.js +27 -5
  184. package/dist/core/operation-target-groups.js.map +1 -1
  185. package/dist/core/packet-wire.d.ts +80 -10
  186. package/dist/core/packet-wire.d.ts.map +1 -1
  187. package/dist/core/packet-wire.js +211 -227
  188. package/dist/core/packet-wire.js.map +1 -1
  189. package/dist/core/provider-accounting.d.ts +1 -1
  190. package/dist/core/provider-accounting.d.ts.map +1 -1
  191. package/dist/core/provider-accounting.js +2 -1
  192. package/dist/core/provider-accounting.js.map +1 -1
  193. package/dist/digest/Digest.d.ts.map +1 -1
  194. package/dist/digest/Digest.js +3 -2
  195. package/dist/digest/Digest.js.map +1 -1
  196. package/dist/digest/DigestEvidence.d.ts +1 -0
  197. package/dist/digest/DigestEvidence.d.ts.map +1 -1
  198. package/dist/digest/DigestEvidence.js +6 -0
  199. package/dist/digest/DigestEvidence.js.map +1 -1
  200. package/dist/digest/DigestRender.d.ts +1 -0
  201. package/dist/digest/DigestRender.d.ts.map +1 -1
  202. package/dist/digest/DigestRender.js +107 -48
  203. package/dist/digest/DigestRender.js.map +1 -1
  204. package/dist/digest/DigestRequiem.js +4 -4
  205. package/dist/digest/DigestRequiem.js.map +1 -1
  206. package/dist/digest/digest-rows.d.ts +8 -0
  207. package/dist/digest/digest-rows.d.ts.map +1 -1
  208. package/dist/digest/digest-rows.js.map +1 -1
  209. package/dist/digest/digest.sql +20 -2
  210. package/dist/schemes/Exec.d.ts.map +1 -1
  211. package/dist/schemes/Exec.js +28 -27
  212. package/dist/schemes/Exec.js.map +1 -1
  213. package/dist/schemes/File.d.ts.map +1 -1
  214. package/dist/schemes/File.js +1 -2
  215. package/dist/schemes/File.js.map +1 -1
  216. package/dist/schemes/Log.d.ts.map +1 -1
  217. package/dist/schemes/Log.js +4 -17
  218. package/dist/schemes/Log.js.map +1 -1
  219. package/dist/schemes/TurnSource.js +2 -2
  220. package/dist/schemes/TurnSource.js.map +1 -1
  221. package/dist/schemes/_derivation-use.d.ts +7 -0
  222. package/dist/schemes/_derivation-use.d.ts.map +1 -0
  223. package/dist/schemes/_derivation-use.js +40 -0
  224. package/dist/schemes/_derivation-use.js.map +1 -0
  225. package/dist/schemes/_entry-crud.d.ts +6 -1
  226. package/dist/schemes/_entry-crud.d.ts.map +1 -1
  227. package/dist/schemes/_entry-crud.js.map +1 -1
  228. package/dist/schemes/_entry-find.d.ts.map +1 -1
  229. package/dist/schemes/_entry-find.js +15 -49
  230. package/dist/schemes/_entry-find.js.map +1 -1
  231. package/dist/schemes/_entry-find.sql +0 -11
  232. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  233. package/dist/schemes/_entry-fts.js +9 -3
  234. package/dist/schemes/_entry-fts.js.map +1 -1
  235. package/dist/schemes/_entry-fts.sql +14 -8
  236. package/dist/schemes/_entry-graph.d.ts +5 -8
  237. package/dist/schemes/_entry-graph.d.ts.map +1 -1
  238. package/dist/schemes/_entry-graph.js +33 -72
  239. package/dist/schemes/_entry-graph.js.map +1 -1
  240. package/dist/schemes/_entry-graph.sql +30 -48
  241. package/dist/schemes/_entry-manifest.d.ts +5 -0
  242. package/dist/schemes/_entry-manifest.d.ts.map +1 -1
  243. package/dist/schemes/_entry-manifest.js +5 -0
  244. package/dist/schemes/_entry-manifest.js.map +1 -1
  245. package/dist/schemes/_entry-ops.d.ts +1 -1
  246. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  247. package/dist/schemes/_entry-ops.js +4 -11
  248. package/dist/schemes/_entry-ops.js.map +1 -1
  249. package/dist/schemes/_search-index.d.ts +10 -0
  250. package/dist/schemes/_search-index.d.ts.map +1 -1
  251. package/dist/schemes/_search-index.js +33 -1
  252. package/dist/schemes/_search-index.js.map +1 -1
  253. package/dist/schemes/exec-lifetime.d.ts.map +1 -1
  254. package/dist/schemes/exec-lifetime.js +1 -2
  255. package/dist/schemes/exec-lifetime.js.map +1 -1
  256. package/dist/server/Daemon.d.ts +2 -1
  257. package/dist/server/Daemon.d.ts.map +1 -1
  258. package/dist/server/Daemon.js +31 -35
  259. package/dist/server/Daemon.js.map +1 -1
  260. package/dist/server/DrainSupervisor.d.ts +2 -1
  261. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  262. package/dist/server/DrainSupervisor.js +37 -56
  263. package/dist/server/DrainSupervisor.js.map +1 -1
  264. package/dist/server/Functionality.d.ts +1 -1
  265. package/dist/server/Functionality.d.ts.map +1 -1
  266. package/dist/server/Functionality.js +24 -11
  267. package/dist/server/Functionality.js.map +1 -1
  268. package/dist/server/FunctionalityManager.js +2 -2
  269. package/dist/server/FunctionalityManager.js.map +1 -1
  270. package/dist/server/Retention.d.ts.map +1 -1
  271. package/dist/server/Retention.js +7 -3
  272. package/dist/server/Retention.js.map +1 -1
  273. package/dist/server/drain.sql +0 -6
  274. package/dist/server/seam-loop.sql +1 -1
  275. package/dist/service.js +1 -1
  276. package/dist/service.js.map +1 -1
  277. package/docs/env.md +4 -3
  278. package/migrations/013_graph_regions.sql +32 -0
  279. package/migrations/014_stream_timing.sql +4 -0
  280. package/migrations/015_request_evidence.sql +4 -0
  281. package/package.json +34 -34
  282. package/dist/core/KnownToxins.d.ts +0 -4
  283. package/dist/core/KnownToxins.d.ts.map +0 -1
  284. package/dist/core/KnownToxins.js +0 -22
  285. package/dist/core/KnownToxins.js.map +0 -1
  286. package/dist/core/ReasoningView.d.ts +0 -12
  287. package/dist/core/ReasoningView.d.ts.map +0 -1
  288. package/dist/core/ReasoningView.js +0 -40
  289. package/dist/core/ReasoningView.js.map +0 -1
  290. package/dist/server/exec-poll-backoff.d.ts +0 -2
  291. package/dist/server/exec-poll-backoff.d.ts.map +0 -1
  292. package/dist/server/exec-poll-backoff.js +0 -6
  293. package/dist/server/exec-poll-backoff.js.map +0 -1
@@ -1,4 +1,3 @@
1
- var _a;
2
1
  import WorkerName from "./WorkerName.js";
3
2
  import { generatedPathname, renderAddress } from "./plurnk-uri.js";
4
3
  import { contentWeight } from "./content-weight.js";
@@ -17,14 +16,10 @@ import { acceptedKinds } from "./attachments.js";
17
16
  // drift between wire and digest possible.
18
17
  import PacketWire from "./packet-wire.js";
19
18
  import LogEntryProjection from "./LogEntryProjection.js";
20
- import { scopeEnvToAlias } from "@plurnk/plurnk-providers";
21
- import ProviderInstantiate from "./ProviderInstantiate.js";
22
19
  import BudgetReadout from "./BudgetReadout.js";
23
20
  import TokenCalibration from "./TokenCalibration.js";
24
- import LineAnchors from "../content/line-anchors.js";
25
21
  import ToolResources from "./ToolResources.js";
26
- import LogVisibility from "./LogVisibility.js";
27
- import { ConfigurationError, Knob } from "@plurnk/plurnk-meta";
22
+ import { ConfigurationError } from "@plurnk/plurnk-meta";
28
23
  import Results, { OperationFailureError } from "./results.js";
29
24
  const trimHorizontal = (value) => value.replace(/^[\t ]+|[\t ]+$/gu, "");
30
25
  const tableCells = (line) => {
@@ -95,16 +90,19 @@ const compactDefinitionTables = (markdown) => {
95
90
  return `| ${cells.map(trimHorizontal).join(" | ")} |${carriageReturn}`;
96
91
  }).join("\n");
97
92
  };
98
- // Packet assembly ({§packet-assembly}) and model-facing budget admission
99
- // ({§context-output-admission}). Deliberate curation stays in scoped KILL.
100
- class PacketBuilder {
93
+ // Packet assembly ({§packet-assembly}) and the budget and wall measures ({§context-over-budget-row}, {§context-wall}). Deliberate
94
+ // curation stays in scoped KILL; what fits was decided where each row landed ({§context-fit}).
95
+ export default class PacketBuilder {
101
96
  #db;
102
97
  // {§tokenomics-calibrated-readout} — admission and client gauges consume
103
98
  // the allowance captured before this request can change model evidence.
104
99
  #curationBudgets = new WeakMap();
100
+ // {§context-budget} — each loop's high-water budget, for the input capacity it was derived from.
101
+ #loopBudgets = new Map();
105
102
  #emissions = new WeakMap();
103
+ // {§context-own-rows-fit} — the rows of each built packet the wall may still take, newest last.
104
+ #bodiedRows = new WeakMap();
106
105
  #streamObservations = new WeakMap();
107
- #unadmittedOutput = new WeakMap();
108
106
  #schemes;
109
107
  // Boot-discovered runtime executors, late-injected on Engine after daemon
110
108
  // start() — read through a thunk so the post-construction set is visible.
@@ -113,8 +111,6 @@ class PacketBuilder {
113
111
  // {§functionality-documents} — family-generated documents of a Worker's
114
112
  // published Functionality, reconciled with its other reference entries.
115
113
  #functionalityDocuments = () => [];
116
- // {§tokenomics-prompt-projection-share} — prompt projection is alias-scoped
117
- // through the same environment contract as provider configuration.
118
114
  constructor({ db, schemes, executors }) {
119
115
  this.#db = db;
120
116
  this.#schemes = schemes;
@@ -124,18 +120,23 @@ class PacketBuilder {
124
120
  setFunctionalityDocuments(documents) {
125
121
  this.#functionalityDocuments = documents;
126
122
  }
127
- // Prompt projection is Core policy, scoped through the same alias contract as providers.
128
- static #KNOBS = ["PLURNK_SERVICE_PROMPT_PROJECTION"];
129
123
  static #declaredKnobs;
130
- // {§configuration-repair-path} {§tokenomics-prompt-projection-share}
124
+ // {§configuration-repair-path} — retired knobs fail naming what replaced them: the context
125
+ // budget has one rule ({§context-fit}) and one gauge ({§context-gauge}).
131
126
  static validateConfiguration(env = process.env) {
132
- const declared = _a.#declaredKnobs ??= Object.keys(parseEnv(readFileSync(new URL("../../.env.defaults", import.meta.url), "utf8")));
127
+ const declared = PacketBuilder.#declaredKnobs ??= Object.keys(parseEnv(readFileSync(new URL("../../.env.defaults", import.meta.url), "utf8")));
128
+ const oneRule = "a result arrives whole when it fits the budget and as its size otherwise ({§context-fit}); nothing is previewed, projected or paged";
133
129
  const retired = {
134
130
  PLURNK_SERVICE_PROMPT_BUDGET: "provider input capacity is derived from context and output budgets",
135
131
  PLURNK_SERVICE_SAFETY: "provider request-shaped capacity admission owns physical headroom",
132
+ PLURNK_SERVICE_PROMPT_PROJECTION: oneRule,
133
+ PLURNK_SERVICE_BUDGET_PRESSURE: "the gauge carries no threshold and no mandate ({§context-gauge})",
134
+ PLURNK_REASONING_VIEW_LINES: "initialization authors no reasoning and reads none back ({§worker-initialization-entry})",
135
+ PLURNK_REASONING_EMPTY_TURN_LINES: "an empty turn reads nothing back; its 422 row is the whole receipt ({§empty-turn})",
136
136
  };
137
+ const retiredKey = new RegExp(`^(${Object.keys(retired).join("|")})(?:_.*)?$`, "u");
137
138
  for (const key of Object.keys(env)) {
138
- const match = /^(PLURNK_SERVICE_PROMPT_BUDGET|PLURNK_SERVICE_SAFETY)(?:_.*)?$/u.exec(key);
139
+ const match = retiredKey.exec(key);
139
140
  const reason = match === null ? undefined : retired[match[1]];
140
141
  if (reason !== undefined)
141
142
  throw new ConfigurationError(key, `${key} is retired: ${reason}.`);
@@ -154,12 +155,12 @@ class PacketBuilder {
154
155
  if (match !== null)
155
156
  throw new ConfigurationError(key, `${key} is retired: the provider-owned knob is ${moved[match[1]]}${match[2] ?? ""}.`);
156
157
  }
157
- return Knob.percent("PLURNK_SERVICE_PROMPT_PROJECTION", env);
158
158
  }
159
- #promptProjectionFor(alias) {
160
- const view = scopeEnvToAlias(process.env, alias, _a.#KNOBS);
159
+ // {§configuration-repair-path} — the same refusal as an operation failure: a 503 Problem naming the
160
+ // key, so a loop reports the failed demand instead of dying on an unshaped exception.
161
+ static assertConfiguration(env = process.env) {
161
162
  try {
162
- return _a.validateConfiguration(view);
163
+ PacketBuilder.validateConfiguration(env);
163
164
  }
164
165
  catch (cause) {
165
166
  if (!(cause instanceof ConfigurationError))
@@ -180,10 +181,18 @@ class PacketBuilder {
180
181
  throw new Error("curationBudgetFor: the packet was not built by this PacketBuilder");
181
182
  return budget;
182
183
  }
184
+ // {§context-own-rows-fit} — the packet's rows still carrying a body or a native part, in row order.
185
+ bodiedRowsOf(packet) {
186
+ const rows = this.#bodiedRows.get(packet.sections);
187
+ if (rows === undefined)
188
+ throw new Error("bodiedRowsOf: the packet was not built by this PacketBuilder");
189
+ return rows;
190
+ }
183
191
  // {§packet-stored-shape} — assemble the system/user request before the
184
192
  // provider call; complete the same record with the provider response.
185
- async buildRequestPacket({ initialMessages, recap = "", workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices = [], transientOpenLogEntryId = null, promptProjection = "automatic", turnId = null, }) {
186
- const projectionShare = this.#promptProjectionFor(ProviderInstantiate.configurationAliasOf(provider) ?? "");
193
+ async buildRequestPacket({ initialMessages, recap = "", workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices = [], transientOpenLogEntryId = null, turnId = null, bodiless, }) {
194
+ // {§configuration-repair-path} — a retired packet knob refuses packet construction, never startup.
195
+ PacketBuilder.assertConfiguration();
187
196
  // {§loop-policy-effective-read} Validate active-loop policy before any
188
197
  // packet assembly or provider spend, independently of its presentation.
189
198
  await LoopPolicyReader.read(this.#db, loopId);
@@ -214,17 +223,11 @@ class PacketBuilder {
214
223
  const log = await this.#buildLog(workerId, transientOpenLogEntryId, turnId);
215
224
  const failures = await this.buildFailurePointers(loopId, currentTurnSeq);
216
225
  const weighContent = contentWeight;
226
+ // {§context-budget} — one room: the provider's input capacity in curation weight, bounding the
227
+ // whole packet. Nothing here sizes a part of it.
217
228
  const inputCapacity = provider.inputCapacity;
218
229
  const calibration = inputCapacity === null ? 1 : await TokenCalibration.forModel(this.#db, provider.model);
219
- const curationBudget = TokenCalibration.capacity(inputCapacity, calibration);
220
- // {§tokenomics-prompt-projection-share} — the cold-start allocation
221
- // preserves prompt bytes as rolling calibration changes the overall ceiling.
222
- const projectionBudget = TokenCalibration.capacity(inputCapacity);
223
- const promptProjectionWeight = promptProjection === "withheld"
224
- ? 0
225
- : projectionBudget === null
226
- ? null
227
- : Math.floor(projectionBudget * projectionShare);
230
+ const curationBudget = this.#loopBudget(loopId, inputCapacity, TokenCalibration.capacity(inputCapacity, calibration));
228
231
  const budgetReadout = BudgetReadout.draft(curationBudget);
229
232
  // The canonical default order, trust boundary, and cache-locality bias are
230
233
  // specified at {§packet-cache-monotone}. Budget placeholders resolve only
@@ -240,11 +243,18 @@ class PacketBuilder {
240
243
  // sections always render, `[]` when empty: the model decides wait-or-complete on them, so
241
244
  // emptiness is stated rather than inferred from a missing heading ({§packet-empty-sections}).
242
245
  const openChannels = await this.#db.engine_child_streams_open.all({ worker_id: workerId });
243
- // {§exec-stream} — an active stream shows only its size and growth since the last packet.
246
+ // {§child-orientation}: one clock snapshot for the packet's live inventory.
247
+ const now = Date.now();
248
+ const secondsSince = (timestamp) => Math.max(0, Math.floor((now - Date.parse(timestamp)) / 1000));
244
249
  const childStreams = [...Map.groupBy(openChannels, (c) => renderAddress(c)).entries()].map(([path, channels]) => ({
245
250
  status: "active",
246
251
  path,
247
- detail: channels.map((c) => `${c.channel} ${c.lines} lines (+${Math.max(0, c.bytes - c.reported)} bytes)`).join("; "),
252
+ detail: [
253
+ `elapsed ${secondsSince(channels[0].opened_at)}s`,
254
+ channels[0].output_changed_at === null ? "output timing unknown"
255
+ : `output unchanged ${secondsSince(channels[0].output_changed_at)}s`,
256
+ ...channels.map((c) => `${c.channel} ${c.lines} lines (+${Math.max(0, c.bytes - c.reported)} bytes)`),
257
+ ].join("; "),
248
258
  }));
249
259
  const childWorkers = (await this.#db.engine_child_workers_live.all({ worker_id: workerId }))
250
260
  .map((r) => ({ status: r.status, path: `worker://${r.name}` }));
@@ -258,7 +268,7 @@ class PacketBuilder {
258
268
  const renderedLog = PacketWire.renderLogWithAccounting(log, weighContent, {
259
269
  projectRoot: workspaceRow?.project_root ?? null,
260
270
  acceptedAttachmentKinds: new Set(acceptedKinds(provider.inputModalities)),
261
- ...(promptProjectionWeight === null ? {} : { promptProjectionWeight }),
271
+ ...(bodiless === undefined ? {} : { bodiless }),
262
272
  });
263
273
  const attachmentsWeight = renderedLog.attachments.reduce((sum, { weight }) => sum + weight, 0);
264
274
  const defaults = [
@@ -287,9 +297,8 @@ class PacketBuilder {
287
297
  { name: "errors", slot: "user", header: "Errors", content: PacketWire.renderFailurePointers(failures) },
288
298
  { name: "notices", slot: "user", header: "Notices", content: PacketWire.renderNotices(notices) },
289
299
  { name: "git", slot: "user", header: "Git Status", content: PacketWire.renderGit(gitStatus) },
290
- // Familiar token language is a deliberate final model projection;
291
- // internally this is curation weight, never provider admission.
292
- { name: "budget", slot: "user", header: "Context Curation", content: budgetReadout },
300
+ // {§context-gauge} — the model's word for curation weight is tokens; this is never provider admission.
301
+ { name: "budget", slot: "user", header: "Context", content: budgetReadout },
293
302
  // The messages section closes the status clump as a pointer list of open
294
303
  // arrivals; bodies arrive through their inbound SEND rows ({§message-arrival}).
295
304
  { name: "messages", slot: "user", header: "Open Messages", content: prompt },
@@ -307,18 +316,18 @@ class PacketBuilder {
307
316
  .filter(({ coordinate }) => emissions.has(coordinate))
308
317
  .reduce((sum, { weight }) => sum + weight, 0);
309
318
  const budgetSection = drafts.find((section) => section.name === "budget");
310
- if (budgetSection !== undefined && curationBudget !== null) {
319
+ if (budgetSection !== undefined) {
311
320
  const transformedLog = drafts.find((section) => section.name === "log");
312
321
  const curationTargets = transformedLog?.content === renderedLog.content
313
322
  ? renderedLog.curationTargets
314
323
  : [];
315
- const content = BudgetReadout.resolve(budgetSection.content, curationBudget, (candidate) => {
324
+ const content = BudgetReadout.resolve(budgetSection.content, (candidate) => {
316
325
  const candidateDrafts = drafts.map((section) => section === budgetSection ? { ...section, content: candidate } : section);
317
326
  return weighContent(PacketWire.renderSlot(candidateDrafts, "system"))
318
327
  + weighContent(PacketWire.renderSlot(candidateDrafts, "user"))
319
328
  + attachmentsWeight
320
329
  + emissionsWeight;
321
- }, curationTargets, renderedLog.newOverflow);
330
+ }, curationTargets);
322
331
  drafts = drafts.map((section) => section === budgetSection ? { ...section, content } : section);
323
332
  }
324
333
  // Core alone turns validated drafts into measured durable sections. {§packet-items} — the
@@ -335,24 +344,11 @@ class PacketBuilder {
335
344
  const packet = { weight: renderWeight + attachmentsWeight + emissionsWeight, sections, attributions: [], attachments: [...renderedLog.attachments] };
336
345
  this.#curationBudgets.set(packet.sections, curationBudget);
337
346
  this.#emissions.set(packet.sections, emissions);
347
+ // {§context-own-rows-fit} — a transformed log is one item the wall cannot take row by row.
348
+ this.#bodiedRows.set(packet.sections, drafts.find((section) => section.name === "log")?.content === renderedLog.content ? renderedLog.bodied : []);
338
349
  this.#streamObservations.set(packet.sections, openChannels);
339
- this.#unadmittedOutput.set(packet.sections, renderedLog.unadmittedOutput);
340
350
  return packet;
341
351
  }
342
- // {§context-output-selection} — one statement commits the first-presentation
343
- // decision. Speculative packet builds never call this mutation boundary.
344
- async admitOutput(packet, turnId) {
345
- const ids = this.#unadmittedOutput.get(packet.sections);
346
- if (ids === undefined)
347
- throw new Error("Cannot admit output from an unbuilt request packet.");
348
- if (ids.length === 0)
349
- return false;
350
- const withheld = this.curationOverflow(packet) !== null;
351
- const result = await this.#db.engine_admit_log_outputs.run({ ids: JSON.stringify(ids), turn_id: turnId, withheld: withheld ? 1 : 0 });
352
- if (result.changes !== ids.length)
353
- throw new Error("Log output admission changed during packet assembly.");
354
- return withheld;
355
- }
356
352
  async recordObservations(packet) {
357
353
  const observations = this.#streamObservations.get(packet.sections);
358
354
  if (observations === undefined)
@@ -369,7 +365,7 @@ class PacketBuilder {
369
365
  const layers = await CapabilityPolicies.layers(this.#db, workspaceId);
370
366
  const policies = layers.map((layer) => layer.policy);
371
367
  const out = (await this.#schemes.docs(workspaceId))
372
- .filter(({ name }) => this.#capabilities.allowsSchemeAcross(name, workspaceId, policies))
368
+ .filter(({ scheme }) => scheme === null || this.#capabilities.allowsSchemeAcross(scheme, workspaceId, policies))
373
369
  .map(({ name, content }) => ({
374
370
  pathname: generatedPathname(`/plurnk/${name}.md`),
375
371
  content,
@@ -407,7 +403,19 @@ class PacketBuilder {
407
403
  .map(({ pathname, content }) => ({ pathname, content })));
408
404
  return out.toSorted((left, right) => left.pathname.localeCompare(right.pathname));
409
405
  }
410
- // {§context-output-admission} — measurement never mutates visibility.
406
+ // {§context-budget} — the room never shrinks within a loop: the budget is the greater of the
407
+ // calibrated capacity and the loop's high-water for the same input capacity, so a refined conversion
408
+ // can enlarge the room but never turns a packet the model already answered into an overflow.
409
+ #loopBudget(loopId, inputCapacity, calibrated) {
410
+ if (inputCapacity === null || calibrated === null)
411
+ return null;
412
+ const prior = this.#loopBudgets.get(loopId);
413
+ const budget = prior !== undefined && prior.inputCapacity === inputCapacity ? Math.max(prior.budget, calibrated) : calibrated;
414
+ this.#loopBudgets.set(loopId, { inputCapacity, budget });
415
+ return budget;
416
+ }
417
+ // {§context-over-budget-row} — measurement never mutates visibility; an over-budget packet is a row
418
+ // and a request, never a silent cut.
411
419
  curationOverflow(packet) {
412
420
  const budget = this.curationBudgetFor(packet);
413
421
  if (budget === null)
@@ -417,6 +425,19 @@ class PacketBuilder {
417
425
  return null;
418
426
  return { weight, budget, excess: weight - budget };
419
427
  }
428
+ // {§context-wall} — the packet's tokens through the loop's conversion (the budget is the capacity
429
+ // over the factor, so tokens are weight × capacity ÷ budget) against the provider's input wall;
430
+ // null without a wall or a budget: an unknown window has no wall.
431
+ windowOverflow(packet, provider) {
432
+ const budget = this.curationBudgetFor(packet);
433
+ if (budget === null || provider.inputCapacity === null || provider.inputWall === null)
434
+ return null;
435
+ const tokens = Math.ceil(packet.weight * provider.inputCapacity / budget);
436
+ if (tokens <= provider.inputWall)
437
+ return null;
438
+ const excessWeight = packet.weight - Math.floor(provider.inputWall * budget / provider.inputCapacity);
439
+ return { tokens, budget, wall: provider.inputWall, excess: tokens - provider.inputWall, excessWeight };
440
+ }
420
441
  // Every prior-turn operation failure is durable before packet assembly.
421
442
  // The model-facing Errors section is only a terse projection of those rows;
422
443
  // it never reconstructs failure truth from an in-memory event.
@@ -440,68 +461,7 @@ class PacketBuilder {
440
461
  // runTurn. They surface naturally in this query without synthetic
441
462
  // EDIT/READ delivery rows.
442
463
  const rows = await this.#db.engine_render_log.all({ worker_id: workerId, turn_id: turnId });
443
- return rows.map((r) => {
444
- const tx = r.mimetype_tx === "application/json" ? JSON.parse(r.tx) : r.tx;
445
- const rx = r.mimetype_rx === "application/json" ? JSON.parse(r.rx) : r.rx;
446
- const rawLineAnchors = LogEntryProjection.op(r) === "READ"
447
- && r.status_rx === 200
448
- && rx !== null
449
- && typeof rx === "object"
450
- && Object.hasOwn(rx, "lineAnchors")
451
- ? rx.lineAnchors
452
- : undefined;
453
- if (rawLineAnchors !== undefined && !Array.isArray(rawLineAnchors)) {
454
- throw new TypeError("A READ result's lineAnchors field must be an array.");
455
- }
456
- const lineAnchors = rawLineAnchors;
457
- const rawLineNumberWidth = LogEntryProjection.op(r) === "READ"
458
- && r.status_rx === 200
459
- && rx !== null
460
- && typeof rx === "object"
461
- && Object.hasOwn(rx, "lineNumberWidth")
462
- ? rx.lineNumberWidth
463
- : undefined;
464
- if (rawLineNumberWidth !== undefined
465
- && !LineAnchors.isLineNumberWidth(rawLineNumberWidth)) {
466
- throw new TypeError("A READ result's lineNumberWidth field must be a valid decimal line width.");
467
- }
468
- if ((rawLineAnchors === undefined) !== (rawLineNumberWidth === undefined)) {
469
- throw new TypeError("A READ result's lineAnchors and lineNumberWidth fields must appear together.");
470
- }
471
- const lineNumberWidth = rawLineNumberWidth;
472
- return {
473
- id: r.id,
474
- output_admission_turn_id: r.output_admission_turn_id,
475
- output_withheld: r.output_withheld === 1,
476
- newOverflow: turnId !== null && r.output_admission_turn_id === turnId,
477
- coordinate: `${r.loop_seq}/${r.turn_seq}/${r.sequence}`,
478
- origin: r.origin,
479
- op: r.op,
480
- signal: r.signal === null ? null : JSON.parse(r.signal),
481
- target: {
482
- scheme: r.scheme,
483
- username: r.username, password: r.password,
484
- hostname: r.hostname, port: r.port,
485
- pathname: r.pathname,
486
- query: r.query,
487
- fragment: r.fragment,
488
- },
489
- status: r.status_rx,
490
- rx,
491
- mimetype_rx: r.mimetype_rx,
492
- tx,
493
- mimetype_tx: r.mimetype_tx,
494
- initial_folded: r.id === transientOpenLogEntryId ? LogVisibility.OPEN : LogVisibility.parse(r.initial_folded),
495
- folded: LogVisibility.parse(r.folded),
496
- source: r.source,
497
- attrs: r.attrs === null ? null : JSON.parse(r.attrs),
498
- producer: r.producer,
499
- ...(lineAnchors === undefined ? {} : { lineAnchors }),
500
- ...(lineNumberWidth === undefined ? {} : { lineNumberWidth }),
501
- };
502
- });
464
+ return rows.map((r) => PacketWire.entryView(r, transientOpenLogEntryId));
503
465
  }
504
466
  }
505
- _a = PacketBuilder;
506
- export default PacketBuilder;
507
467
  //# sourceMappingURL=PacketBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PacketBuilder.js","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PacketBuilder.js","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"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"}
@@ -28,13 +28,12 @@ WHERE c.id = $worker_id;
28
28
 
29
29
  -- PREP: engine_child_streams_open
30
30
  -- The worker's OPEN streams (subscriptions not yet closed), one row per published channel with its
31
- -- size and the size last reported to the model (the publication cursor). Powers the Delegation streams
32
- -- orienting section ({§child-orientation}): `* active <runtime>:///<coord> — <channel> N lines (+D)`
33
- -- pointers the model READs/KILLs. Nothing else reaches the model while a stream is active
34
- -- ({§exec-stream}). Empty → section omitted.
31
+ -- size, publication cursor and durable activity clock. Powers the Delegation streams
32
+ -- inventory ({§child-orientation}); output bodies remain explicit READs while active ({§exec-stream}).
35
33
  SELECT s.scheme, e.authority, e.pathname, sp.id AS publication_id, ec.name AS channel,
36
34
  (length(ec.content) - length(replace(ec.content, char(10), ''))) AS lines,
37
- length(ec.content) AS bytes, sp.published_end AS reported
35
+ length(ec.content) AS bytes, sp.published_end AS reported,
36
+ s.opened_at, s.output_changed_at
38
37
  FROM subscriptions s
39
38
  JOIN entries e ON e.id = s.entry_id
40
39
  JOIN subscription_publications sp ON sp.subscription_id = s.id
@@ -111,7 +110,6 @@ SELECT
111
110
  le.tx, le.mimetype_tx,
112
111
  le.state, le.outcome, le.initial_folded, le.folded,
113
112
  le.source, le.weight, le.attrs,
114
- le.output_admission_turn_id, le.output_withheld,
115
113
  -- {§emission-row}: an emission row names its author, the producer of its turn.
116
114
  t.producer
117
115
  FROM active_log_entries le
@@ -150,12 +148,6 @@ WHERE le.worker_id = $worker_id
150
148
  )
151
149
  ORDER BY l.sequence, t.sequence, le.sequence;
152
150
 
153
- -- PREP: engine_admit_log_outputs
154
- UPDATE log_entry_projections
155
- SET output_admission_turn_id = $turn_id, output_withheld = $withheld
156
- WHERE log_entry_id IN (SELECT value FROM json_each($ids))
157
- AND active = 1 AND output_admission_turn_id IS NULL;
158
-
159
151
  -- PREP: engine_open_messages
160
152
  -- {§send-response-receipt}: only an executed reply to this exact published message answers it.
161
153
  -- {§message-short-identity}: the model sees the short address, and a sender only when it is
@@ -1,26 +1,21 @@
1
- import type { MatcherBody } from "@plurnk/plurnk-contracts";
2
- import { type MatchEvidence } from "@plurnk/plurnk-schemes";
1
+ import type { MatcherBody, ParsedPath, TextRegion } from "@plurnk/plurnk-contracts";
3
2
  import type { DispatchResult } from "./mutation-types.ts";
4
3
  import type { PlurnkSchemeContext } from "./scheme-types.ts";
5
4
  export type PatternOperation = "EDIT" | "KILL" | "COPY" | "MOVE" | "SEND";
6
- export type PatternBounds = {
7
- readonly from: number;
8
- readonly to: number;
9
- } | null;
10
5
  export default class PatternSelection {
11
6
  static refuse(code: string, status: number, detail: string, scheme: string, operation: PatternOperation): DispatchResult;
12
- static refuseDialect(matcher: MatcherBody, scheme: string, operation: PatternOperation, target: string): DispatchResult | null;
13
- static match({ matcher, content, mimetype, marks, ctx, scheme, operation }: {
7
+ static match({ matcher, content, mimetype, target, visibleLines, marks, ctx, scheme, operation }: {
14
8
  matcher: MatcherBody;
15
9
  content: string;
16
10
  mimetype: string;
11
+ target: ParsedPath;
12
+ visibleLines?: readonly number[];
17
13
  marks: ReadonlyArray<number | string> | undefined;
18
14
  ctx: PlurnkSchemeContext;
19
15
  scheme: string;
20
16
  operation: PatternOperation;
21
17
  }): Promise<{
22
- evidence: readonly MatchEvidence[];
23
- bounds: PatternBounds;
18
+ spans: readonly TextRegion[];
24
19
  } | {
25
20
  result: DispatchResult;
26
21
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"PatternSelection.d.ts","sourceRoot":"","sources":["../../src/core/PatternSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAMzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1E,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC;AAKlF,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,cAAc,CAEvH;IAGD,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAI7H;IAGD,OAAa,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;QAC9E,OAAO,EAAE,WAAW,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;QAClD,GAAG,EAAE,mBAAmB,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAiBtG;CACJ"}
1
+ {"version":3,"file":"PatternSelection.d.ts","sourceRoot":"","sources":["../../src/core/PatternSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAMpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAK1E,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,cAAc,CAEvH;IAGD,OAAa,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;QACpG,OAAO,EAAE,WAAW,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,UAAU,CAAC;QACnB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACjC,KAAK,EAAE,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;QAClD,GAAG,EAAE,mBAAmB,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAmBzE;CACJ"}
@@ -1,44 +1,37 @@
1
1
  import { InvalidOperationResultError } from "@plurnk/plurnk-schemes";
2
- import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
3
2
  import Matcher from "../content/matcher.js";
4
3
  import MutationEffects from "./MutationEffects.js";
5
4
  import PatternEdits from "../content/pattern-edits.js";
6
5
  import Results from "./results.js";
7
6
  // {§edit-pattern} {§kill-pattern} {§copy-move-pattern} — the half of a pattern operation that
8
- // every mutation shares once the resource's text is in hand: which dialects can name text, the
9
- // match itself, and the numeric scope that bounds the lines the evidence may touch.
7
+ // every mutation shares once the resource's text is in hand: the match itself and
8
+ // the source scope that admits complete match regions.
10
9
  export default class PatternSelection {
11
10
  static refuse(code, status, detail, scheme, operation) {
12
11
  return MutationEffects.failure(code, status, detail, {}, { scheme, operation, retryable: false });
13
12
  }
14
- // A resource-selecting dialect never names text inside one resource.
15
- static refuseDialect(matcher, scheme, operation, target) {
16
- if (matcher.dialect !== "fts" && matcher.dialect !== "graph")
17
- return null;
18
- const { detail, recovery } = PatternEdits.findOnly({ ...matcher, dialect: matcher.dialect }, operation, target);
19
- return MutationEffects.failure("pattern-dialect-unsupported", 400, detail, {}, { scheme, operation, recovery, retryable: false });
20
- }
21
13
  // Match the content the operation already holds; the numeric scope bounds the evidence.
22
- static async match({ matcher, content, mimetype, marks, ctx, scheme, operation }) {
14
+ static async match({ matcher, content, mimetype, target, visibleLines, marks, ctx, scheme, operation }) {
23
15
  if (ctx.mimetypes === undefined)
24
16
  throw new Error("a pattern operation requires the mimetypes capability");
25
- const match = await Matcher.matchAgainstContent(PatternEdits.lineLimited(matcher), content, mimetype, ctx.mimetypes);
17
+ const match = await Matcher.matchResource(matcher, { content, mimetype, target, ...(visibleLines === undefined ? {} : { visibleLines }) }, ctx);
26
18
  if (match.status >= 400 || match.status === 203) {
27
19
  return { result: match.problem === undefined
28
20
  ? PatternSelection.refuse("pattern-unapplicable", 422, match.reason ?? "The pattern could not be applied to the resource.", scheme, operation)
29
21
  : Results.assert({ status: match.status >= 400 ? match.status : 422, problem: match.problem }) };
30
22
  }
31
- // {§logical-line-count} — the scope's -1 clamps to the last logical line.
32
- const lineCount = TextCoordinates.lineCount(content);
33
23
  const numeric = marks?.map((mark) => {
34
24
  if (typeof mark !== "number")
35
25
  throw new InvalidOperationResultError("A pattern operation's scope must be numeric after anchor resolution.");
36
26
  return mark;
37
27
  });
38
- const bounds = PatternEdits.bounds(numeric, lineCount);
28
+ const bounds = PatternEdits.bounds(numeric, content);
39
29
  if (bounds !== null && "error" in bounds)
40
30
  return { result: PatternSelection.refuse("pattern-scope-invalid", 400, bounds.error, scheme, operation) };
41
- return { evidence: match.matches ?? [], bounds };
31
+ if (match.matches?.some(({ region }) => region === undefined)) {
32
+ return { result: PatternSelection.refuse("pattern-source-unlocated", 422, "The pattern selected a value without exact source coordinates.", scheme, operation) };
33
+ }
34
+ return { spans: PatternEdits.spans(match.matches ?? [], bounds) };
42
35
  }
43
36
  }
44
37
  //# sourceMappingURL=PatternSelection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PatternSelection.js","sourceRoot":"","sources":["../../src/core/PatternSelection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PatternSelection.js","sourceRoot":"","sources":["../../src/core/PatternSelection.ts"],"names":[],"mappings":"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"}