@plurnk/plurnk-service 1.6.0 → 1.7.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 (164) hide show
  1. package/.env.defaults +7 -21
  2. package/INSTALL.md +18 -17
  3. package/README.md +1 -1
  4. package/SPEC.md +209 -136
  5. package/dist/build-info.json +1 -1
  6. package/dist/core/ChannelWrite.sql +3 -3
  7. package/dist/core/ClientInteractions.d.ts +19 -0
  8. package/dist/core/ClientInteractions.d.ts.map +1 -0
  9. package/dist/core/ClientInteractions.js +124 -0
  10. package/dist/core/ClientInteractions.js.map +1 -0
  11. package/dist/core/ClientInteractions.sql +34 -0
  12. package/dist/core/CoreSchemeServices.d.ts +9 -3
  13. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  14. package/dist/core/CoreSchemeServices.js +8 -2
  15. package/dist/core/CoreSchemeServices.js.map +1 -1
  16. package/dist/core/Dispatcher.d.ts +4 -2
  17. package/dist/core/Dispatcher.d.ts.map +1 -1
  18. package/dist/core/Dispatcher.js +116 -1149
  19. package/dist/core/Dispatcher.js.map +1 -1
  20. package/dist/core/Engine.d.ts +24 -34
  21. package/dist/core/Engine.d.ts.map +1 -1
  22. package/dist/core/Engine.js +137 -1672
  23. package/dist/core/Engine.js.map +1 -1
  24. package/dist/core/Engine.sql +46 -32
  25. package/dist/core/ExecutableTools.d.ts +1 -0
  26. package/dist/core/ExecutableTools.d.ts.map +1 -1
  27. package/dist/core/ExecutableTools.js +17 -9
  28. package/dist/core/ExecutableTools.js.map +1 -1
  29. package/dist/core/ExecutorRegistry.d.ts +11 -3
  30. package/dist/core/ExecutorRegistry.d.ts.map +1 -1
  31. package/dist/core/ExecutorRegistry.js +139 -16
  32. package/dist/core/ExecutorRegistry.js.map +1 -1
  33. package/dist/core/LogBody.d.ts +1 -0
  34. package/dist/core/LogBody.d.ts.map +1 -1
  35. package/dist/core/LogBody.js +4 -0
  36. package/dist/core/LogBody.js.map +1 -1
  37. package/dist/core/ModelCall.d.ts +2 -2
  38. package/dist/core/ModelCall.d.ts.map +1 -1
  39. package/dist/core/ModelCall.js +4 -2
  40. package/dist/core/ModelCall.js.map +1 -1
  41. package/dist/core/PacketBuilder.d.ts +11 -22
  42. package/dist/core/PacketBuilder.d.ts.map +1 -1
  43. package/dist/core/PacketBuilder.js +90 -180
  44. package/dist/core/PacketBuilder.js.map +1 -1
  45. package/dist/core/ProblemLog.d.ts +1 -1
  46. package/dist/core/ProblemLog.d.ts.map +1 -1
  47. package/dist/core/ProblemLog.js +14 -3
  48. package/dist/core/ProblemLog.js.map +1 -1
  49. package/dist/core/ProposalLifecycle.d.ts +4 -2
  50. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  51. package/dist/core/ProposalLifecycle.js +19 -7
  52. package/dist/core/ProposalLifecycle.js.map +1 -1
  53. package/dist/core/ProviderInstantiate.js +2 -2
  54. package/dist/core/ProviderInstantiate.js.map +1 -1
  55. package/dist/core/ResourceMutations.d.ts +73 -0
  56. package/dist/core/ResourceMutations.d.ts.map +1 -0
  57. package/dist/core/ResourceMutations.js +1142 -0
  58. package/dist/core/ResourceMutations.js.map +1 -0
  59. package/dist/core/SchemeRegistry.d.ts +18 -10
  60. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  61. package/dist/core/SchemeRegistry.js +195 -43
  62. package/dist/core/SchemeRegistry.js.map +1 -1
  63. package/dist/core/StoredPacket.d.ts +2 -2
  64. package/dist/core/StoredPacket.js +7 -7
  65. package/dist/core/TurnRunner.d.ts +74 -0
  66. package/dist/core/TurnRunner.d.ts.map +1 -0
  67. package/dist/core/TurnRunner.js +1733 -0
  68. package/dist/core/TurnRunner.js.map +1 -0
  69. package/dist/core/WorkspaceGate.d.ts +1 -0
  70. package/dist/core/WorkspaceGate.d.ts.map +1 -1
  71. package/dist/core/WorkspaceGate.js +39 -0
  72. package/dist/core/WorkspaceGate.js.map +1 -1
  73. package/dist/core/caps/CoreInteractionCaps.d.ts +9 -0
  74. package/dist/core/caps/CoreInteractionCaps.d.ts.map +1 -0
  75. package/dist/core/caps/CoreInteractionCaps.js +14 -0
  76. package/dist/core/caps/CoreInteractionCaps.js.map +1 -0
  77. package/dist/core/caps/DbChannelCaps.js +4 -4
  78. package/dist/core/caps/DbChannelCaps.js.map +1 -1
  79. package/dist/core/caps/SchemeCtxImpl.d.ts +2 -1
  80. package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
  81. package/dist/core/caps/SchemeCtxImpl.js +3 -0
  82. package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
  83. package/dist/core/content-hash.js +2 -2
  84. package/dist/core/content-hash.js.map +1 -1
  85. package/dist/core/content-weight.d.ts +2 -0
  86. package/dist/core/content-weight.d.ts.map +1 -0
  87. package/dist/core/content-weight.js +4 -0
  88. package/dist/core/content-weight.js.map +1 -0
  89. package/dist/core/content_weight.d.ts +4 -0
  90. package/dist/core/content_weight.d.ts.map +1 -0
  91. package/dist/core/content_weight.js +6 -0
  92. package/dist/core/content_weight.js.map +1 -0
  93. package/dist/core/fork.sql +5 -5
  94. package/dist/core/packet-wire.d.ts +4 -4
  95. package/dist/core/packet-wire.d.ts.map +1 -1
  96. package/dist/core/packet-wire.js +21 -21
  97. package/dist/core/packet-wire.js.map +1 -1
  98. package/dist/core/scheme-types.d.ts +3 -2
  99. package/dist/core/scheme-types.d.ts.map +1 -1
  100. package/dist/core/scheme-types.js.map +1 -1
  101. package/dist/digest/Digest.js +1 -1
  102. package/dist/digest/Digest.js.map +1 -1
  103. package/dist/schemes/Exec.d.ts.map +1 -1
  104. package/dist/schemes/Exec.js +53 -15
  105. package/dist/schemes/Exec.js.map +1 -1
  106. package/dist/schemes/ExecOutputScheme.js +1 -1
  107. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  108. package/dist/schemes/File.d.ts.map +1 -1
  109. package/dist/schemes/File.js +1 -1
  110. package/dist/schemes/File.js.map +1 -1
  111. package/dist/schemes/Log.d.ts.map +1 -1
  112. package/dist/schemes/Log.js +2 -2
  113. package/dist/schemes/Log.sql +2 -2
  114. package/dist/schemes/Worker.js +2 -2
  115. package/dist/schemes/Worker.js.map +1 -1
  116. package/dist/schemes/_entry-crud.js +4 -4
  117. package/dist/schemes/_entry-crud.js.map +1 -1
  118. package/dist/schemes/_entry-crud.sql +2 -2
  119. package/dist/schemes/_entry-find.d.ts +5 -5
  120. package/dist/schemes/_entry-find.d.ts.map +1 -1
  121. package/dist/schemes/_entry-find.js +29 -28
  122. package/dist/schemes/_entry-find.js.map +1 -1
  123. package/dist/schemes/_entry-manifest.js +4 -4
  124. package/dist/schemes/_entry-manifest.js.map +1 -1
  125. package/dist/schemes/_entry-ops.d.ts.map +1 -1
  126. package/dist/schemes/_entry-ops.js +3 -3
  127. package/dist/schemes/_entry-ops.js.map +1 -1
  128. package/dist/schemes/_entry-ops.sql +3 -3
  129. package/dist/server/Daemon.d.ts +20 -49
  130. package/dist/server/Daemon.d.ts.map +1 -1
  131. package/dist/server/Daemon.js +311 -908
  132. package/dist/server/Daemon.js.map +1 -1
  133. package/dist/server/DaemonModule.d.ts +31 -3
  134. package/dist/server/DaemonModule.d.ts.map +1 -1
  135. package/dist/server/DrainSupervisor.d.ts +117 -0
  136. package/dist/server/DrainSupervisor.d.ts.map +1 -0
  137. package/dist/server/DrainSupervisor.js +802 -0
  138. package/dist/server/DrainSupervisor.js.map +1 -0
  139. package/dist/server/client-input.d.ts +2 -0
  140. package/dist/server/client-input.d.ts.map +1 -1
  141. package/dist/server/client-input.js +12 -0
  142. package/dist/server/client-input.js.map +1 -1
  143. package/dist/server/lifecycle-recovery.sql +9 -0
  144. package/dist/server/logEntry.d.ts +1 -1
  145. package/dist/server/logEntry.js +1 -1
  146. package/dist/server/loopDocs.d.ts +1 -0
  147. package/dist/server/loopDocs.d.ts.map +1 -1
  148. package/dist/server/loopDocs.js +37 -8
  149. package/dist/server/loopDocs.js.map +1 -1
  150. package/dist/server/loopDocs.sql +10 -0
  151. package/dist/server/seam-entry-read.sql +2 -2
  152. package/dist/server/workspace-capabilities.sql +19 -0
  153. package/dist/service.js +1 -1
  154. package/dist/service.js.map +1 -1
  155. package/migrations/001_schema.sql +51 -10
  156. package/package.json +34 -33
  157. package/dist/core/ruler_count.d.ts +0 -4
  158. package/dist/core/ruler_count.d.ts.map +0 -1
  159. package/dist/core/ruler_count.js +0 -7
  160. package/dist/core/ruler_count.js.map +0 -1
  161. package/dist/core/token-ruler.d.ts +0 -2
  162. package/dist/core/token-ruler.d.ts.map +0 -1
  163. package/dist/core/token-ruler.js +0 -5
  164. package/dist/core/token-ruler.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  var _a;
2
2
  import { renderAddress, promptLoopPrefix } from "./plurnk-uri.js";
3
- import { rulerCount } from "./token-ruler.js";
3
+ import { contentWeight } from "./content-weight.js";
4
4
  import { docsExcludeSet } from "./teaching.js";
5
5
  import { Policy } from "@plurnk/plurnk-execs";
6
6
  import WorkspaceSettings from "./workspace-settings.js";
@@ -14,7 +14,7 @@ import { readTeachingSource } from "./teaching-corpus.js";
14
14
  // drift between wire and digest possible.
15
15
  import PacketWire from "./packet-wire.js";
16
16
  import LogEntryProjection from "./LogEntryProjection.js";
17
- import { assertPromptTokenMeasurement, scopeEnvToAlias, resolveActiveAlias } from "@plurnk/plurnk-providers";
17
+ import { scopeEnvToAlias, resolveActiveAlias } from "@plurnk/plurnk-providers";
18
18
  import ProviderInstantiate from "./ProviderInstantiate.js";
19
19
  import BudgetReadout from "./BudgetReadout.js";
20
20
  import ExecutableTools from "./ExecutableTools.js";
@@ -88,25 +88,8 @@ const compactDefinitionTables = (markdown) => {
88
88
  return `| ${cells.map(trimHorizontal).join(" | ")} |${carriageReturn}`;
89
89
  }).join("\n");
90
90
  };
91
- // {§tokenomics-window-partition} — the four partition numbers. REQUIRED (fail-hard, the
92
- // providers-env convention): the ceiling is DERIVED from these, never set directly
93
- // (PLURNK_BUDGET_CEILING is retired — a second settable ceiling contradicted the owning envelopes).
94
- const readPartitionIntFrom = (env, name, min) => {
95
- const raw = env[name];
96
- const n = Number.parseInt(raw ?? "", 10);
97
- if (!Number.isFinite(n) || n < min)
98
- throw new Error(`${name} must be an integer >= ${min}; got ${raw}`);
99
- return n;
100
- };
101
- const readOptionalPositiveIntFrom = (env, name) => {
102
- const raw = env[name];
103
- if (raw === undefined || raw.length === 0)
104
- return null;
105
- const n = Number(raw);
106
- if (!Number.isInteger(n) || n <= 0)
107
- throw new Error(`${name} must be a positive integer; got ${raw}`);
108
- return n;
109
- };
91
+ // {§tokenomics-prompt-projection-share} — the required alias-scoped share of
92
+ // provider-derived input capacity used only for automatic prompt projection.
110
93
  const readRequiredPercentFrom = (env, name) => {
111
94
  const raw = env[name];
112
95
  const match = /^([0-9]+(?:\.[0-9]+)?)%$/.exec(raw ?? "");
@@ -124,101 +107,53 @@ class PacketBuilder {
124
107
  // Boot-discovered runtime executors, late-injected on Engine after daemon
125
108
  // start() — read through a thunk so the post-construction set is visible.
126
109
  #executors;
127
- // {§tokenomics-window-partition} — the partition is PER-ALIAS, resolved per provider in
128
- // #partitionFor and cached by alias; no boot-time global read.
110
+ // {§tokenomics-prompt-projection-share} — prompt projection is alias-scoped
111
+ // through the same environment contract as provider configuration.
129
112
  constructor({ db, schemes, executors }) {
130
113
  this.#db = db;
131
114
  this.#schemes = schemes;
132
115
  this.#executors = executors;
133
- // {§tokenomics-window-partition} — the envelope rides the provider; construction only runs the retired-knob shed
134
- // so a stale operator .env fails at BOOT, not first use.
116
+ // Retired capacity knobs fail at boot rather than silently becoming inert.
135
117
  const bootAlias = resolveActiveAlias(process.env)?.alias ?? "";
136
- this.#safetyFor(bootAlias);
137
- this.#promptBudgetCapFor(bootAlias);
118
+ this.#shedRetiredCapacityKnobs();
138
119
  this.#promptProjectionFor(bootAlias);
139
120
  }
140
- // {§tokenomics-window-partition} — provider generation settings and core packet policy both resolve per alias.
141
- // scopeEnvToAlias resolves PLURNK_SERVICE_*_<alias> over the bare fallback with providers' own
142
- // battle-tested suffix parser. Cached per alias; the boot-global case falls back to the active
143
- // alias when a provider carries no side-table entry (a test Mock).
144
- // Provider context and response reserves remain provider-owned. Core owns only its virtual
145
- // prompt budget and the ruler's packing-safety margin.
146
- static #KNOBS = ["PLURNK_SERVICE_PROMPT_BUDGET", "PLURNK_SERVICE_PROMPT_PROJECTION", "PLURNK_SERVICE_SAFETY"];
147
- #shedChecked = false;
148
- #safetyFor(alias) {
149
- // {§tokenomics-window-partition} hard shed: the three misprefixed partition knobs moved to the
150
- // provider tier; a stale operator .env must never silently lose its envelope to the move.
151
- if (!this.#shedChecked) {
152
- this.#shedChecked = true;
153
- const MOVED = {
154
- CTX: "PLURNK_PROVIDERS_CONTEXT_WINDOW", CONTEXT_WINDOW: "PLURNK_PROVIDERS_CONTEXT_WINDOW",
155
- REASONING: "PLURNK_PROVIDERS_REASONING_RESERVE",
156
- ASSISTANT: "PLURNK_PROVIDERS_COMPLETION_RESERVE", COMPLETION: "PLURNK_PROVIDERS_COMPLETION_RESERVE",
157
- };
158
- for (const k of Object.keys(process.env)) {
159
- const m = /^PLURNK_SERVICE_(CTX|CONTEXT_WINDOW|REASONING|ASSISTANT|COMPLETION)(_.*)?$/.exec(k);
160
- if (m !== null)
161
- throw new Error(`${k} is retired: the envelope is provider-owned — the knob is ${MOVED[m[1]]}${m[2] ?? ""}.`);
162
- }
121
+ // Prompt projection is Core policy, scoped through the same alias contract as providers.
122
+ static #KNOBS = ["PLURNK_SERVICE_PROMPT_PROJECTION"];
123
+ #shedRetiredCapacityKnobs() {
124
+ const retired = {
125
+ PLURNK_SERVICE_PROMPT_BUDGET: "provider input capacity is derived from context and output budgets",
126
+ PLURNK_SERVICE_SAFETY: "provider request-shaped capacity admission owns physical headroom",
127
+ };
128
+ for (const key of Object.keys(process.env)) {
129
+ const match = /^(PLURNK_SERVICE_PROMPT_BUDGET|PLURNK_SERVICE_SAFETY)(?:_.*)?$/u.exec(key);
130
+ const reason = match === null ? undefined : retired[match[1]];
131
+ if (reason !== undefined)
132
+ throw new Error(`${key} is retired: ${reason}.`);
133
+ }
134
+ const moved = {
135
+ CTX: "PLURNK_PROVIDERS_CONTEXT_WINDOW",
136
+ CONTEXT_WINDOW: "PLURNK_PROVIDERS_CONTEXT_WINDOW",
137
+ REASONING: "PLURNK_PROVIDERS_REASONING_BUDGET",
138
+ ASSISTANT: "PLURNK_PROVIDERS_OUTPUT_BUDGET",
139
+ COMPLETION: "PLURNK_PROVIDERS_OUTPUT_BUDGET",
140
+ };
141
+ for (const key of Object.keys(process.env)) {
142
+ const match = /^PLURNK_SERVICE_(CTX|CONTEXT_WINDOW|REASONING|ASSISTANT|COMPLETION)(_.*)?$/u.exec(key);
143
+ if (match !== null)
144
+ throw new Error(`${key} is retired: the provider-owned knob is ${moved[match[1]]}${match[2] ?? ""}.`);
163
145
  }
164
- const view = scopeEnvToAlias(process.env, alias, _a.#KNOBS);
165
- return readPartitionIntFrom(view, "PLURNK_SERVICE_SAFETY", 0);
166
- }
167
- #promptBudgetCapFor(alias) {
168
- const view = scopeEnvToAlias(process.env, alias, _a.#KNOBS);
169
- return readOptionalPositiveIntFrom(view, "PLURNK_SERVICE_PROMPT_BUDGET");
170
146
  }
171
147
  #promptProjectionFor(alias) {
172
148
  const view = scopeEnvToAlias(process.env, alias, _a.#KNOBS);
173
149
  return readRequiredPercentFrom(view, "PLURNK_SERVICE_PROMPT_PROJECTION");
174
150
  }
175
- #partitionFor(provider) {
176
- const alias = ProviderInstantiate.aliasOf(provider) ?? resolveActiveAlias(process.env)?.alias ?? "";
177
- return { reasoning: provider.reasoningReserve ?? null, completion: provider.completionReserve ?? null, safety: this.#safetyFor(alias) };
178
- }
179
- // The generation envelope — REASONING + COMPLETION, one undifferentiated pool, passed on
180
- // every generate({maxTokens}): no decode is unbounded ({§tokenomics-window-partition}). Per
181
- // alias: gemma's measured envelope; a cloud alias's generous default the backend clamps.
182
- maxTokensFor(provider) {
183
- const { reasoning, completion } = this.#partitionFor(provider);
184
- if (reasoning === null || completion === null)
185
- return null; // {§tokenomics-window-unpollable-deliberate}: unknown envelope, no cap; the backend clamps
186
- return reasoning + completion;
187
- }
188
- // {§tokenomics-window-partition} — the natural prompt ceiling is the provider's
189
- // effective context window minus its response reserves and the service's ruler
190
- // safety. An optional service prompt budget may only tighten that result. It is
191
- // model-facing grinder policy, never hard capacity or a generation setting.
192
- // The client-facing gauge, grinder ceiling, and persisted promptBudget use this one value.
193
- promptBudgetFor(provider) {
194
- return this.ceilingFor(provider); // ONE derivation — the gauge denominator IS the grinder ceiling
195
- }
196
- // {§tokenomics-agnostic-ruler} — the ceiling is the real window partition (window − reserves),
197
- // NO calibration ratio: the model-facing measure is the chars/2 ruler (an over-count for
198
- // typical text), so comparing ruler-weight to the real-token ceiling is itself the conservative
199
- // bias - the packet reports less room than the provider usually has; authoritative
200
- // provider request evidence guards the pathological tail at hard admission.
201
- ceilingFor(provider) {
202
- const alias = ProviderInstantiate.aliasOf(provider) ?? resolveActiveAlias(process.env)?.alias ?? "";
203
- const operatorCap = this.#promptBudgetCapFor(alias);
204
- // Unknown provider capacity stays unknown; an explicit virtual ceiling still gauges
205
- // PLURNK's packet without pretending to describe the backend.
206
- if (provider.contextWindow === null)
207
- return operatorCap;
208
- const { reasoning, completion, safety } = this.#partitionFor(provider);
209
- if (reasoning === null || completion === null)
210
- return operatorCap;
211
- const naturalBudget = provider.contextWindow - reasoning - completion - safety;
212
- if (naturalBudget <= 0) {
213
- // {§tokenomics-window-partition} — this contradiction has one cause: pinned absolute reserves
214
- // exceeding the window the provider detected (percent reserves derive and cannot contradict).
215
- throw new Error(`window partition contradiction for alias '${alias}': window ${provider.contextWindow} <= reserves ${reasoning}+${completion}+${safety}. Pinned PLURNK_PROVIDERS_{REASONING,COMPLETION}_RESERVE absolutes exceed the detected window — repin them under it, or use percent reserves, which derive from the window.`);
216
- }
217
- return operatorCap === null ? naturalBudget : Math.min(operatorCap, naturalBudget);
151
+ curationBudgetFor(provider) {
152
+ return provider.inputCapacity;
218
153
  }
219
154
  // {§packet-stored-shape} — assemble the system/user request before the
220
155
  // provider call; complete the same record with the provider response.
221
- async buildRequestPacket({ initialMessages, requirements = "", workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices = [], transientOpenLogEntryId = null, }) {
156
+ async buildRequestPacket({ initialMessages, requirements = "", workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices = [], transientOpenLogEntryId = null, promptProjection = "automatic", }) {
222
157
  const byRole = (role) => initialMessages.filter((m) => m.role === role).map((m) => m.content).join("\n\n");
223
158
  // plurnk.md (grammar/dialects) ONLY — the definition is the hot-path grammar.
224
159
  // The resource catalogue is its own `schemes` section below tools ({§schemes-directory}),
@@ -253,16 +188,18 @@ class PacketBuilder {
253
188
  // {§emission-admission}: the definition remains the complete language authority.
254
189
  const log = await this.#buildLog(workerId, transientOpenLogEntryId);
255
190
  const failures = await this.buildFailurePointers(loopId, currentTurnSeq);
256
- const countTokens = rulerCount; // {§tokenomics-agnostic-ruler} — the ONE model-facing ruler (chars/2), not the provider
191
+ const weighContent = contentWeight;
257
192
  // {§tools-loop-affinity}: teaching and dispatch resolve the same loop flags.
258
- const activeSchemes = this.#schemes.resolveForLoop(await LoopFlagsReader.read(this.#db, loopId));
259
- const tools = this.#collectTools(await this.#workspaceEnabled(workspaceId), await WorkspaceSettings.questionsEnabled(this.#db, workspaceId), activeSchemes);
260
- const ceiling = this.ceilingFor(provider);
193
+ const activeSchemes = this.#schemes.resolveForLoop(await LoopFlagsReader.read(this.#db, loopId), workspaceId);
194
+ const tools = this.#collectTools(workspaceId, await this.#workspaceEnabled(workspaceId), await WorkspaceSettings.questionsEnabled(this.#db, workspaceId), activeSchemes);
195
+ const curationBudget = this.curationBudgetFor(provider);
261
196
  const alias = ProviderInstantiate.aliasOf(provider) ?? resolveActiveAlias(process.env)?.alias ?? "";
262
- const promptProjectionBudget = ceiling === null
263
- ? null
264
- : Math.floor(ceiling * this.#promptProjectionFor(alias));
265
- const budgetReadout = BudgetReadout.draft(ceiling);
197
+ const promptProjectionWeight = promptProjection === "withheld"
198
+ ? 0
199
+ : curationBudget === null
200
+ ? null
201
+ : Math.floor(curationBudget * this.#promptProjectionFor(alias));
202
+ const budgetReadout = BudgetReadout.draft(curationBudget);
266
203
  // The canonical default order, trust boundary, and cache-locality bias are
267
204
  // specified at {§packet-cache-monotone}. Budget placeholders resolve only
268
205
  // after trusted whole-list transforms establish the packet being measured.
@@ -293,14 +230,14 @@ class PacketBuilder {
293
230
  ...(tools.optionalOperations.length > 0
294
231
  ? [{ name: "optional-operations", slot: "system", header: "Enabled Optional Operations", content: tools.optionalOperations }]
295
232
  : []),
296
- { name: "schemes", slot: "system", header: "Resources", content: this.#schemes.teach() },
233
+ { name: "schemes", slot: "system", header: "Resources", content: this.#schemes.teach(workspaceId) },
297
234
  ...(inject !== null ? [{ name: "inject", slot: "system", header: "Operator Notes", content: inject }] : []),
298
235
  // The append-mostly log leads volatile user status ({§packet-cache-monotone}).
299
236
  {
300
237
  name: "log",
301
238
  slot: "user",
302
239
  header: "Log",
303
- content: PacketWire.renderLog(log, countTokens, promptProjectionBudget === null ? {} : { promptProjectionBudget }),
240
+ content: PacketWire.renderLog(log, weighContent, promptProjectionWeight === null ? {} : { promptProjectionWeight }),
304
241
  },
305
242
  // The per-turn status clump follows the log ({§packet-cache-monotone}).
306
243
  // child-orientation: what this worker holds live — streams then child workers — just above errors. Terse
@@ -310,7 +247,8 @@ class PacketBuilder {
310
247
  { name: "errors", slot: "user", header: "Errors", content: PacketWire.renderFailurePointers(failures) },
311
248
  { name: "notices", slot: "user", header: "Notices", content: PacketWire.renderNotices(notices) },
312
249
  { name: "git", slot: "user", header: "Git Status", content: PacketWire.renderGit(gitStatus, branchAssignment?.branch ?? null) },
313
- // budget — LAW (a hard ceiling the model must obey).
250
+ // Familiar token language is a deliberate final model projection;
251
+ // internally this is curation weight, never provider admission.
314
252
  { name: "budget", slot: "user", header: "Budget", content: budgetReadout },
315
253
  // The prompts section closes the status clump as a paths-only list;
316
254
  // bodies arrive through first-class prompt rows.
@@ -319,23 +257,23 @@ class PacketBuilder {
319
257
  ];
320
258
  // Plugin packet control ({§packet-assembly}): trusted schemes rewrite the
321
259
  // default list — add, remove, reorder — in-process, before measurement.
322
- let drafts = await this.#schemes.transformSections(defaults);
260
+ let drafts = await this.#schemes.transformSections(defaults, workspaceId);
323
261
  const budgetSection = drafts.find((section) => section.name === "budget");
324
- if (budgetSection !== undefined && ceiling !== null) {
325
- const content = BudgetReadout.resolve(budgetSection.content, ceiling, (candidate) => {
262
+ if (budgetSection !== undefined && curationBudget !== null) {
263
+ const content = BudgetReadout.resolve(budgetSection.content, curationBudget, (candidate) => {
326
264
  const candidateDrafts = drafts.map((section) => section === budgetSection ? { ...section, content: candidate } : section);
327
- return countTokens(PacketWire.renderSlot(candidateDrafts, "system"))
328
- + countTokens(PacketWire.renderSlot(candidateDrafts, "user"));
265
+ return weighContent(PacketWire.renderSlot(candidateDrafts, "system"))
266
+ + weighContent(PacketWire.renderSlot(candidateDrafts, "user"));
329
267
  });
330
268
  drafts = drafts.map((section) => section === budgetSection ? { ...section, content } : section);
331
269
  }
332
270
  // Core alone turns validated drafts into measured durable sections.
333
271
  const sections = drafts.map((section) => ({
334
272
  ...section,
335
- tokens: countTokens(PacketWire.renderSection(section)),
273
+ weight: weighContent(PacketWire.renderSection(section)),
336
274
  }));
337
- const packetTokens = countTokens(PacketWire.renderSlot(sections, "system")) + countTokens(PacketWire.renderSlot(sections, "user"));
338
- return { tokens: packetTokens, sections, attributions: [] };
275
+ const renderWeight = weighContent(PacketWire.renderSlot(sections, "system")) + weighContent(PacketWire.renderSlot(sections, "user"));
276
+ return { weight: renderWeight, sections, attributions: [] };
339
277
  }
340
278
  // {§operator-config-workspace-execs} — the capability sheet and executor
341
279
  // documents share one workspace predicate with dispatch.
@@ -346,7 +284,7 @@ class PacketBuilder {
346
284
  return (tag) => Policy.isEnabled(tag, execs);
347
285
  }
348
286
  // The complete ## Registered Tools contract table. {§tools-capability-sheet}
349
- #collectTools(workspaceEnabled, questionsOn = false, activeSchemes) {
287
+ #collectTools(workspaceId, workspaceEnabled, questionsOn = false, activeSchemes) {
350
288
  // Registered executors and optional operations remain distinct sheets.
351
289
  // The former is a contract table; only the latter is an operation example fence.
352
290
  // {§tools-capability-sheet} {§packet-operation-fences}
@@ -360,7 +298,7 @@ class PacketBuilder {
360
298
  const executors = this.#executors();
361
299
  if (executors !== undefined) {
362
300
  const excluded = docsExcludeSet();
363
- const runtimes = executors.availableRuntimes();
301
+ const runtimes = executors.availableRuntimes(workspaceId);
364
302
  // {§tools-capability-sheet} The table is keyed on the exec scheme (the op face,
365
303
  // excludedInAsk). When inactive, say so positively: plurnk.md
366
304
  // still teaches EXEC as language, and silent absence measurably invites confabulated runtimes.
@@ -374,9 +312,20 @@ class PacketBuilder {
374
312
  continue; // {§tools-capability-sheet} — exclude drops the row and doc
375
313
  if (!workspaceEnabled(tag))
376
314
  continue; // {§operator-config-workspace-execs}
377
- const entry = executors.entry(tag);
378
- if (entry !== undefined)
379
- executorTools.push({ runtime: tag, invocation: entry.invocation });
315
+ const entry = executors.entry(tag, workspaceId);
316
+ if (entry !== undefined) {
317
+ const registry = executors.toolRegistry(tag, workspaceId);
318
+ if (registry === null) {
319
+ executorTools.push({ runtime: tag, invocation: entry.invocation });
320
+ }
321
+ else {
322
+ executorTools.push(...registry.tools.map((tool) => ({
323
+ runtime: tag,
324
+ invocation: tool.invocation,
325
+ exactTarget: tool.target,
326
+ })));
327
+ }
328
+ }
380
329
  }
381
330
  }
382
331
  }
@@ -388,9 +337,9 @@ class PacketBuilder {
388
337
  }
389
338
  // #note12 — the plugin-provided reference docs (schemes' + execs' `documentation`),
390
339
  // materialized at worker://plurnk/docs/<name>.md by LoopDocs (like operator
391
- // docs) so the catalog can expose each doc's token weight.
340
+ // docs) so the catalog can expose each doc's curation weight.
392
341
  async docEntries(workspaceId) {
393
- const out = await this.#schemes.docs(); // scheme docs already drop PLURNK_SERVICE_DOCS_EXCLUDE names
342
+ const out = await this.#schemes.docs(workspaceId); // scheme docs already drop PLURNK_SERVICE_DOCS_EXCLUDE names
394
343
  // {§send-300-choices} {§teaching-corpus} — the conditional teaching: questions.md
395
344
  // materializes ONLY for enabled workspaces — the same conditional-doc mechanism as the EXEC
396
345
  // plugin docs below. An un-enabled workspace is never taught the op it can't use.
@@ -403,12 +352,13 @@ class PacketBuilder {
403
352
  if (executors !== undefined) {
404
353
  const excluded = docsExcludeSet();
405
354
  const workspaceEnabled = await this.#workspaceEnabled(workspaceId); // {§operator-config-workspace-execs}
406
- for (const tag of executors.availableRuntimes()) {
355
+ for (const tag of executors.availableRuntimes(workspaceId)) {
407
356
  if (excluded.has(tag))
408
357
  continue; // {§tools-capability-sheet} — exec docs honor the same exclude
409
358
  if (!workspaceEnabled(tag))
410
359
  continue;
411
- const doc = executors.entry(tag)?.documentation;
360
+ const entry = executors.entry(tag, workspaceId);
361
+ const doc = executors.toolRegistry(tag, workspaceId)?.documentation ?? entry?.documentation;
412
362
  if (doc !== undefined && doc.length > 0)
413
363
  out.push({ name: tag, content: doc });
414
364
  }
@@ -416,69 +366,29 @@ class PacketBuilder {
416
366
  return out;
417
367
  }
418
368
  // SPEC {§grinder} — the budget grinder. Runs pre-LLM (in runTurn, after the packet
419
- // is built, before provider.generate); fires only on actual ruler overflow. One
369
+ // is built, before provider.generate); fires only when curation weight exceeds
370
+ // the provider-derived curation budget. One
420
371
  // reversible rule: roll back context introduced by the NEWEST turn boundary —
421
372
  // rows born there plus exact older rows it transitioned folded→open — then
422
373
  // rebuild and re-measure.
423
374
  // {§grinder-overflow-only} — fires only on actual overflow, never speculatively
424
375
  async enforceBudget({ packet, provider, loopId, turnId, recordOverflow, rebuild }) {
425
- const ceiling = this.ceilingFor(provider);
426
- const measure = (p) => p.tokens;
427
- // {§tokenomics-window-unpollable-deliberate} — a null policy ceiling never triggers grinding.
428
- if (ceiling === null || measure(packet) <= ceiling) {
429
- return { packet, fit: true };
376
+ const budget = this.curationBudgetFor(provider);
377
+ const measure = (p) => p.weight;
378
+ if (budget === null || measure(packet) <= budget) {
379
+ return { packet, fit: true, boundaryRolledBack: false };
430
380
  }
431
- const usage = measure(packet);
432
- await recordOverflow({ usage, ceiling, deficit: usage - ceiling });
381
+ const weight = measure(packet);
382
+ await recordOverflow({ weight, budget, excess: weight - budget });
433
383
  // ONE rule, every turn ({§grinder-layer1-rollback}): atomically fold/tag
434
384
  // context introduced by the newest boundary. Other older history remains
435
- // model-owned; remaining ruler debt is neither failure nor strike.
385
+ // model-owned; remaining curation debt is neither failure nor strike.
436
386
  await this.#db.engine_grinder_fold_newest_turn({ loop_id: loopId, turn_id: turnId });
437
387
  const current = await rebuild();
438
- return { packet: current, fit: measure(current) <= ceiling };
388
+ return { packet: current, fit: measure(current) <= budget, boundaryRolledBack: true };
439
389
  }
440
- // {§tokenomics-context-envelope-admission}: one request-shaped predicate against
441
- // the effective total context envelope. Provider.contextWindow already includes
442
- // any stricter operator cap; exact or proven-bounded request evidence is required.
443
- async contextEnvelopeAdmission(packet, provider, signal) {
444
- if (provider.contextWindow === null) {
445
- return {
446
- admitted: false,
447
- reason: "unknown_context_window",
448
- detail: `provider ${JSON.stringify(provider.model)} reports no effective context envelope`,
449
- capacity: null,
450
- };
451
- }
452
- const maxTokens = this.maxTokensFor(provider);
453
- if (maxTokens === null) {
454
- return {
455
- admitted: false,
456
- reason: "unknown_output_envelope",
457
- detail: `provider ${JSON.stringify(provider.model)} reports no resolved generation envelope`,
458
- capacity: null,
459
- };
460
- }
461
- const capacity = provider.contextWindow - maxTokens;
462
- const measurement = assertPromptTokenMeasurement(await provider.countPromptTokens(PacketWire.packetToWireMessages(packet), signal), `provider ${JSON.stringify(provider.model)}`);
463
- if (measurement.kind === "estimate") {
464
- return {
465
- admitted: false,
466
- reason: "estimate",
467
- detail: `${measurement.source} is an empirical estimate and cannot verify the effective context envelope: ${measurement.detail}`,
468
- capacity,
469
- measurement,
470
- };
471
- }
472
- if (measurement.tokens > capacity) {
473
- return {
474
- admitted: false,
475
- reason: "over_capacity",
476
- detail: `${measurement.kind} prompt measurement ${measurement.tokens} exceeds effective prompt capacity ${capacity}`,
477
- capacity,
478
- measurement,
479
- };
480
- }
481
- return { admitted: true, capacity, measurement };
390
+ async rollbackNewestBoundary(loopId, turnId) {
391
+ await this.#db.engine_grinder_fold_newest_turn({ loop_id: loopId, turn_id: turnId });
482
392
  }
483
393
  // Every prior-turn operation failure is durable before packet assembly.
484
394
  // The model-facing Errors section is only a terse projection of those rows;
@@ -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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"}
@@ -20,7 +20,7 @@ export interface MintedProblem {
20
20
  }
21
21
  export default class ProblemLog {
22
22
  #private;
23
- constructor(db: Db);
23
+ constructor(db: Db, weigh: (text: string) => number);
24
24
  record(input: RecordProblem): Promise<MintedProblem>;
25
25
  }
26
26
  //# sourceMappingURL=ProblemLog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProblemLog.d.ts","sourceRoot":"","sources":["../../src/core/ProblemLog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC;CACxE;AAID,MAAM,CAAC,OAAO,OAAO,UAAU;;IAG3B,YAAY,EAAE,EAAE,EAAE,EAEjB;IAEK,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAsDzD;CACJ"}
1
+ {"version":3,"file":"ProblemLog.d.ts","sourceRoot":"","sources":["../../src/core/ProblemLog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG;QAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC;CACxE;AAID,MAAM,CAAC,OAAO,OAAO,UAAU;;IAI3B,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAGlD;IAEK,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA8DzD;CACJ"}
@@ -1,10 +1,13 @@
1
1
  import Results from "./results.js";
2
+ import LogBody from "./LogBody.js";
2
3
  // Owns durable actionless failures. Instrumentation may observe the resulting row,
3
4
  // but it never creates, transforms, or substitutes for product failure truth.
4
5
  export default class ProblemLog {
5
6
  #db;
6
- constructor(db) {
7
+ #weighContent;
8
+ constructor(db, weigh) {
7
9
  this.#db = db;
10
+ this.#weighContent = weigh;
8
11
  }
9
12
  async record(input) {
10
13
  const coordinate = await this.#db.engine_loop_turn_seqs.get({
@@ -21,6 +24,7 @@ export default class ProblemLog {
21
24
  const failure = result;
22
25
  Results.attachInstance(failure, `log:///${coordinate.loop_seq}/${coordinate.turn_seq}/${input.sequence}/error`);
23
26
  const rx = JSON.stringify(failure);
27
+ const attrs = "{}";
24
28
  const row = await this.#db.engine_insert_log_entry.get({
25
29
  worker_id: input.workerId,
26
30
  loop_id: input.loopId,
@@ -46,10 +50,17 @@ export default class ProblemLog {
46
50
  rx,
47
51
  mimetype_rx: "application/json",
48
52
  status_rx: failure.status,
49
- tokens: 0,
53
+ weight: LogBody.weight({
54
+ op: "error",
55
+ attrs,
56
+ tx: "",
57
+ rx,
58
+ mimetypeTx: "text/plain",
59
+ mimetypeRx: "application/json",
60
+ }, this.#weighContent),
50
61
  state: "failed",
51
62
  outcome: input.outcome ?? failure.problem.type,
52
- attrs: "{}",
63
+ attrs,
53
64
  });
54
65
  if (row === undefined)
55
66
  throw new Error("ProblemLog.record: INSERT ... RETURNING produced no row");
@@ -1 +1 @@
1
- {"version":3,"file":"ProblemLog.js","sourceRoot":"","sources":["../../src/core/ProblemLog.ts"],"names":[],"mappings":"AAEA,OAAO,OAA8B,MAAM,cAAc,CAAC;AAmB1D,mFAAmF;AACnF,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,GAAG,CAAK;IAER,YAAY,EAAM;QACd,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAoB;QAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAGxD;YACC,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,OAAO,EAAE,KAAK,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,OAAO,GAAG,MAA6D,CAAC;QAC9E,OAAO,CAAC,cAAc,CAClB,OAAO,EACP,UAAU,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,QAAQ,CACjF,CAAC;QACF,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAiB;YACnE,SAAS,EAAE,KAAK,CAAC,QAAQ;YACzB,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,aAAa,EAAE,IAAI;YACnB,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,EAAE,EAAE,EAAE;YACN,WAAW,EAAE,YAAY;YACzB,EAAE;YACF,WAAW,EAAE,kBAAkB;YAC/B,SAAS,EAAE,OAAO,CAAC,MAAM;YACzB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI;YAC9C,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAClG,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;CACJ"}
1
+ {"version":3,"file":"ProblemLog.js","sourceRoot":"","sources":["../../src/core/ProblemLog.ts"],"names":[],"mappings":"AAEA,OAAO,OAA8B,MAAM,cAAc,CAAC;AAE1D,OAAO,OAAO,MAAM,cAAc,CAAC;AAkBnC,mFAAmF;AACnF,8EAA8E;AAC9E,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,GAAG,CAAK;IACR,aAAa,CAA2B;IAExC,YAAY,EAAM,EAAE,KAA+B;QAC/C,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAoB;QAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAGxD;YACC,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,OAAO,EAAE,KAAK,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,OAAO,GAAG,MAA6D,CAAC;QAC9E,OAAO,CAAC,cAAc,CAClB,OAAO,EACP,UAAU,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,QAAQ,CACjF,CAAC;QACF,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAiB;YACnE,SAAS,EAAE,KAAK,CAAC,QAAQ;YACzB,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,aAAa,EAAE,IAAI;YACnB,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,EAAE,EAAE,EAAE;YACN,WAAW,EAAE,YAAY;YACzB,EAAE;YACF,WAAW,EAAE,kBAAkB;YAC/B,SAAS,EAAE,OAAO,CAAC,MAAM;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;gBACnB,EAAE,EAAE,OAAO;gBACX,KAAK;gBACL,EAAE,EAAE,EAAE;gBACN,EAAE;gBACF,UAAU,EAAE,YAAY;gBACxB,UAAU,EAAE,kBAAkB;aACjC,EAAE,IAAI,CAAC,aAAa,CAAC;YACtB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI;YAC9C,KAAK;SACR,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAClG,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;CACJ"}