@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.
- package/.env.defaults +16 -25
- package/SPEC.md +338 -263
- package/dist/build-info.json +1 -1
- package/dist/content/body-preview.d.ts +1 -0
- package/dist/content/body-preview.d.ts.map +1 -1
- package/dist/content/body-preview.js +7 -0
- package/dist/content/body-preview.js.map +1 -1
- package/dist/content/byte-view.d.ts +19 -2
- package/dist/content/byte-view.d.ts.map +1 -1
- package/dist/content/byte-view.js +67 -14
- package/dist/content/byte-view.js.map +1 -1
- package/dist/content/edit-receipt.js +1 -1
- package/dist/content/edit-receipt.js.map +1 -1
- package/dist/content/line-marker.d.ts +1 -0
- package/dist/content/line-marker.d.ts.map +1 -1
- package/dist/content/line-marker.js +6 -1
- package/dist/content/line-marker.js.map +1 -1
- package/dist/content/line-selection.d.ts +3 -1
- package/dist/content/line-selection.d.ts.map +1 -1
- package/dist/content/line-selection.js +27 -3
- package/dist/content/line-selection.js.map +1 -1
- package/dist/content/matcher.d.ts +9 -14
- package/dist/content/matcher.d.ts.map +1 -1
- package/dist/content/matcher.js +51 -45
- package/dist/content/matcher.js.map +1 -1
- package/dist/content/pattern-edits.d.ts +7 -26
- package/dist/content/pattern-edits.d.ts.map +1 -1
- package/dist/content/pattern-edits.js +54 -91
- package/dist/content/pattern-edits.js.map +1 -1
- package/dist/content/read-projector.d.ts +2 -1
- package/dist/content/read-projector.d.ts.map +1 -1
- package/dist/content/read-projector.js +42 -10
- package/dist/content/read-projector.js.map +1 -1
- package/dist/content/read-resolve.d.ts.map +1 -1
- package/dist/content/read-resolve.js +7 -4
- package/dist/content/read-resolve.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts +3 -1
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +22 -7
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +4 -4
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +26 -41
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/core/ChannelWrite.d.ts +2 -3
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +21 -22
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +26 -0
- package/dist/core/ContextFit.d.ts +26 -0
- package/dist/core/ContextFit.d.ts.map +1 -0
- package/dist/core/ContextFit.js +56 -0
- package/dist/core/ContextFit.js.map +1 -0
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +1 -0
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +15 -2
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +148 -16
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/EditMutations.d.ts +5 -5
- package/dist/core/EditMutations.d.ts.map +1 -1
- package/dist/core/EditMutations.js +44 -50
- package/dist/core/EditMutations.js.map +1 -1
- package/dist/core/EditSequence.js +2 -2
- package/dist/core/EditSequence.js.map +1 -1
- package/dist/core/EmissionHead.d.ts +8 -0
- package/dist/core/EmissionHead.d.ts.map +1 -0
- package/dist/core/EmissionHead.js +29 -0
- package/dist/core/EmissionHead.js.map +1 -0
- package/dist/core/Engine.d.ts +1 -0
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +3 -0
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/InferenceCall.js +2 -2
- package/dist/core/InferenceCall.js.map +1 -1
- package/dist/core/InferenceCall.sql +1 -0
- package/dist/core/LiveSubscription.d.ts +20 -0
- package/dist/core/LiveSubscription.d.ts.map +1 -0
- package/dist/core/LiveSubscription.js +68 -0
- package/dist/core/LiveSubscription.js.map +1 -0
- package/dist/core/LiveSubscriptions.d.ts +1 -0
- package/dist/core/LiveSubscriptions.d.ts.map +1 -1
- package/dist/core/LiveSubscriptions.js +8 -0
- package/dist/core/LiveSubscriptions.js.map +1 -1
- package/dist/core/LogBody.js +1 -1
- package/dist/core/LogBody.js.map +1 -1
- package/dist/core/LogEntryProjection.d.ts +1 -0
- package/dist/core/LogEntryProjection.d.ts.map +1 -1
- package/dist/core/LogEntryProjection.js +9 -0
- package/dist/core/LogEntryProjection.js.map +1 -1
- package/dist/core/LogWriter.d.ts +42 -0
- package/dist/core/LogWriter.d.ts.map +1 -1
- package/dist/core/LogWriter.js +11 -5
- package/dist/core/LogWriter.js.map +1 -1
- package/dist/core/LoopDriver.js +2 -1
- package/dist/core/LoopDriver.js.map +1 -1
- package/dist/core/LoopLifecycle.d.ts +2 -2
- package/dist/core/LoopLifecycle.d.ts.map +1 -1
- package/dist/core/LoopLifecycle.js +2 -4
- package/dist/core/LoopLifecycle.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +1 -6
- package/dist/core/MutationEffects.d.ts +1 -3
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +2 -1
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts +17 -4
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +80 -120
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +4 -12
- package/dist/core/PatternSelection.d.ts +5 -10
- package/dist/core/PatternSelection.d.ts.map +1 -1
- package/dist/core/PatternSelection.js +9 -16
- package/dist/core/PatternSelection.js.map +1 -1
- package/dist/core/ResourceMutations.d.ts +2 -4
- package/dist/core/ResourceMutations.d.ts.map +1 -1
- package/dist/core/ResourceMutations.js +2 -5
- package/dist/core/ResourceMutations.js.map +1 -1
- package/dist/core/ResourceSelector.d.ts +2 -2
- package/dist/core/ResourceSelector.d.ts.map +1 -1
- package/dist/core/ResourceSelector.js +64 -33
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts +2 -4
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +74 -50
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/SchemeRegistry.d.ts +1 -0
- package/dist/core/SchemeRegistry.d.ts.map +1 -1
- package/dist/core/SchemeRegistry.js +11 -9
- package/dist/core/SchemeRegistry.js.map +1 -1
- package/dist/core/ServiceTeardown.d.ts +3 -2
- package/dist/core/ServiceTeardown.d.ts.map +1 -1
- package/dist/core/ServiceTeardown.js +17 -8
- package/dist/core/ServiceTeardown.js.map +1 -1
- package/dist/core/StopDeadline.d.ts +5 -0
- package/dist/core/StopDeadline.d.ts.map +1 -0
- package/dist/core/StopDeadline.js +20 -0
- package/dist/core/StopDeadline.js.map +1 -0
- package/dist/core/StrikeRail.d.ts.map +1 -1
- package/dist/core/StrikeRail.js +5 -1
- package/dist/core/StrikeRail.js.map +1 -1
- package/dist/core/ToolResources.d.ts.map +1 -1
- package/dist/core/ToolResources.js +11 -2
- package/dist/core/ToolResources.js.map +1 -1
- package/dist/core/TurnDispositionHandler.d.ts +4 -2
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
- package/dist/core/TurnDispositionHandler.js +24 -6
- package/dist/core/TurnDispositionHandler.js.map +1 -1
- package/dist/core/TurnMaterialization.d.ts +6 -2
- package/dist/core/TurnMaterialization.d.ts.map +1 -1
- package/dist/core/TurnMaterialization.js +64 -16
- package/dist/core/TurnMaterialization.js.map +1 -1
- package/dist/core/TurnOps.js +7 -7
- package/dist/core/TurnOps.js.map +1 -1
- package/dist/core/TurnRunner.d.ts +1 -0
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +155 -160
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnRunner.sql +2 -2
- package/dist/core/caps/DbSubscriptionCaps.d.ts.map +1 -1
- package/dist/core/caps/DbSubscriptionCaps.js +13 -19
- package/dist/core/caps/DbSubscriptionCaps.js.map +1 -1
- package/dist/core/content-hash.d.ts +1 -1
- package/dist/core/content-hash.d.ts.map +1 -1
- package/dist/core/content-hash.js.map +1 -1
- package/dist/core/env-catalog.js +2 -2
- package/dist/core/env-catalog.js.map +1 -1
- package/dist/core/fork.sql +4 -10
- package/dist/core/git-env.d.ts +1 -1
- package/dist/core/git-env.d.ts.map +1 -1
- package/dist/core/git-env.js +19 -12
- package/dist/core/git-env.js.map +1 -1
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +11 -5
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/git-state.js +1 -1
- package/dist/core/git-state.js.map +1 -1
- package/dist/core/mutation-types.d.ts +6 -4
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/operation-target-groups.d.ts +1 -1
- package/dist/core/operation-target-groups.d.ts.map +1 -1
- package/dist/core/operation-target-groups.js +27 -5
- package/dist/core/operation-target-groups.js.map +1 -1
- package/dist/core/packet-wire.d.ts +80 -10
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +211 -227
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/provider-accounting.d.ts +1 -1
- package/dist/core/provider-accounting.d.ts.map +1 -1
- package/dist/core/provider-accounting.js +2 -1
- package/dist/core/provider-accounting.js.map +1 -1
- package/dist/digest/Digest.d.ts.map +1 -1
- package/dist/digest/Digest.js +3 -2
- package/dist/digest/Digest.js.map +1 -1
- package/dist/digest/DigestEvidence.d.ts +1 -0
- package/dist/digest/DigestEvidence.d.ts.map +1 -1
- package/dist/digest/DigestEvidence.js +6 -0
- package/dist/digest/DigestEvidence.js.map +1 -1
- package/dist/digest/DigestRender.d.ts +1 -0
- package/dist/digest/DigestRender.d.ts.map +1 -1
- package/dist/digest/DigestRender.js +107 -48
- package/dist/digest/DigestRender.js.map +1 -1
- package/dist/digest/DigestRequiem.js +4 -4
- package/dist/digest/DigestRequiem.js.map +1 -1
- package/dist/digest/digest-rows.d.ts +8 -0
- package/dist/digest/digest-rows.d.ts.map +1 -1
- package/dist/digest/digest-rows.js.map +1 -1
- package/dist/digest/digest.sql +20 -2
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +28 -27
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +1 -2
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +4 -17
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/TurnSource.js +2 -2
- package/dist/schemes/TurnSource.js.map +1 -1
- package/dist/schemes/_derivation-use.d.ts +7 -0
- package/dist/schemes/_derivation-use.d.ts.map +1 -0
- package/dist/schemes/_derivation-use.js +40 -0
- package/dist/schemes/_derivation-use.js.map +1 -0
- package/dist/schemes/_entry-crud.d.ts +6 -1
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +15 -49
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-find.sql +0 -11
- package/dist/schemes/_entry-fts.d.ts.map +1 -1
- package/dist/schemes/_entry-fts.js +9 -3
- package/dist/schemes/_entry-fts.js.map +1 -1
- package/dist/schemes/_entry-fts.sql +14 -8
- package/dist/schemes/_entry-graph.d.ts +5 -8
- package/dist/schemes/_entry-graph.d.ts.map +1 -1
- package/dist/schemes/_entry-graph.js +33 -72
- package/dist/schemes/_entry-graph.js.map +1 -1
- package/dist/schemes/_entry-graph.sql +30 -48
- package/dist/schemes/_entry-manifest.d.ts +5 -0
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +5 -0
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts +1 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +4 -11
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_search-index.d.ts +10 -0
- package/dist/schemes/_search-index.d.ts.map +1 -1
- package/dist/schemes/_search-index.js +33 -1
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/exec-lifetime.d.ts.map +1 -1
- package/dist/schemes/exec-lifetime.js +1 -2
- package/dist/schemes/exec-lifetime.js.map +1 -1
- package/dist/server/Daemon.d.ts +2 -1
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +31 -35
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +2 -1
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +37 -56
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/Functionality.d.ts +1 -1
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +24 -11
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.js +2 -2
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/Retention.d.ts.map +1 -1
- package/dist/server/Retention.js +7 -3
- package/dist/server/Retention.js.map +1 -1
- package/dist/server/drain.sql +0 -6
- package/dist/server/seam-loop.sql +1 -1
- package/dist/service.js +1 -1
- package/dist/service.js.map +1 -1
- package/docs/env.md +4 -3
- package/migrations/013_graph_regions.sql +32 -0
- package/migrations/014_stream_timing.sql +4 -0
- package/migrations/015_request_evidence.sql +4 -0
- package/package.json +34 -34
- package/dist/core/KnownToxins.d.ts +0 -4
- package/dist/core/KnownToxins.d.ts.map +0 -1
- package/dist/core/KnownToxins.js +0 -22
- package/dist/core/KnownToxins.js.map +0 -1
- package/dist/core/ReasoningView.d.ts +0 -12
- package/dist/core/ReasoningView.d.ts.map +0 -1
- package/dist/core/ReasoningView.js +0 -40
- package/dist/core/ReasoningView.js.map +0 -1
- package/dist/server/exec-poll-backoff.d.ts +0 -2
- package/dist/server/exec-poll-backoff.d.ts.map +0 -1
- package/dist/server/exec-poll-backoff.js +0 -6
- 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
|
|
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
|
|
99
|
-
//
|
|
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}
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
160
|
-
|
|
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
|
-
|
|
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,
|
|
186
|
-
|
|
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
|
-
// {§
|
|
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:
|
|
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
|
-
...(
|
|
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
|
-
//
|
|
291
|
-
|
|
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
|
|
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,
|
|
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
|
|
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(({
|
|
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-
|
|
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
|
|
32
|
-
--
|
|
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
|
|
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
|
-
|
|
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,
|
|
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:
|
|
9
|
-
//
|
|
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.
|
|
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,
|
|
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
|
-
|
|
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":"AACA,OAAO,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"PatternSelection.js","sourceRoot":"","sources":["../../src/core/PatternSelection.ts"],"names":[],"mappings":"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"}
|