@plurnk/plurnk-service 1.26.0 → 1.27.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 +3 -6
- package/SPEC.md +260 -126
- 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.js +1 -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 +39 -7
- package/dist/content/read-projector.js.map +1 -1
- package/dist/content/read-resolve.js +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +3 -3
- package/dist/core/AdmittedTurnExecutor.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/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 +2 -2
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +6 -13
- 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/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/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.map +1 -1
- package/dist/core/PacketBuilder.js +10 -3
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +4 -5
- 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/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/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +14 -21
- package/dist/core/TurnRunner.js.map +1 -1
- 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/mutation-types.d.ts +6 -4
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +30 -1
- 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/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 +33 -11
- 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 +1 -0
- package/dist/digest/digest-rows.d.ts.map +1 -1
- package/dist/digest/digest.sql +5 -0
- 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 +13 -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 +20 -33
- 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 +31 -0
- package/migrations/014_stream_timing.sql +3 -0
- package/migrations/015_request_evidence.sql +3 -0
- package/package.json +34 -34
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/content/matcher.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/content/matcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MatcherBody } from "@plurnk/plurnk-contracts";
|
|
1
|
+
import type { MatcherBody, TextRegion } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import type { MatchEvidence } from "@plurnk/plurnk-schemes";
|
|
3
3
|
import type { DispatchResult } from "../core/mutation-types.ts";
|
|
4
4
|
export type PatternEdit = {
|
|
@@ -7,37 +7,18 @@ export type PatternEdit = {
|
|
|
7
7
|
};
|
|
8
8
|
readonly body: string;
|
|
9
9
|
};
|
|
10
|
-
export type PatternSpan = {
|
|
11
|
-
readonly line: number;
|
|
12
|
-
readonly startColumn: number;
|
|
13
|
-
readonly endLine: number;
|
|
14
|
-
readonly endColumn: number;
|
|
15
|
-
};
|
|
16
10
|
export default class PatternEdits {
|
|
17
|
-
static
|
|
18
|
-
static findOnly(matcher: MatcherBody & {
|
|
19
|
-
dialect: "fts" | "graph";
|
|
20
|
-
}, operation: string, target: string): {
|
|
21
|
-
detail: string;
|
|
22
|
-
recovery: string;
|
|
23
|
-
};
|
|
11
|
+
static lineAnchored(matcher: MatcherBody): MatcherBody;
|
|
24
12
|
static lines(evidence: ReadonlyArray<MatchEvidence>, bounds: {
|
|
25
13
|
from: number;
|
|
26
14
|
to: number;
|
|
27
15
|
} | null): number[];
|
|
28
|
-
static
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
readonly error: string;
|
|
33
|
-
};
|
|
34
|
-
static replacements(spans: readonly PatternSpan[], body: string): PatternEdit[];
|
|
16
|
+
static visible(evidence: readonly MatchEvidence[], lines: readonly number[], window?: TextRegion): MatchEvidence[];
|
|
17
|
+
static spans(evidence: readonly MatchEvidence[], bounds: TextRegion | null): TextRegion[];
|
|
18
|
+
static replacements(spans: readonly TextRegion[], body: string): PatternEdit[];
|
|
19
|
+
static text(content: string, spans: readonly TextRegion[]): string;
|
|
35
20
|
static touchedLines(edits: readonly PatternEdit[]): number[];
|
|
36
|
-
static
|
|
37
|
-
static bounds(marks: readonly number[] | undefined, lineCount: number): {
|
|
38
|
-
from: number;
|
|
39
|
-
to: number;
|
|
40
|
-
} | null | {
|
|
21
|
+
static bounds(marks: readonly number[] | undefined, content: string): TextRegion | null | {
|
|
41
22
|
readonly error: string;
|
|
42
23
|
};
|
|
43
24
|
static compactReceipt(result: DispatchResult, matched: number): DispatchResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern-edits.d.ts","sourceRoot":"","sources":["../../src/content/pattern-edits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"pattern-edits.d.ts","sourceRoot":"","sources":["../../src/content/pattern-edits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAMhE,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtI,MAAM,CAAC,OAAO,OAAO,YAAY;IAE7B,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAGrD;IAGD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GAAG,MAAM,EAAE,CAY1G;IAGD,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,aAAa,EAAE,CAejH;IAGD,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,UAAU,EAAE,CASxF;IAED,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAE7E;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CAMjE;IAGD,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,MAAM,EAAE,CAK3D;IAGD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,GAAG;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAQnH;IAID,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,CAS7E;CACJ"}
|
|
@@ -1,34 +1,22 @@
|
|
|
1
1
|
import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
|
|
2
2
|
import { assertEditBatchReceipt, projectEditReceipt } from "./edit-receipt.js";
|
|
3
|
+
import LineMarkerOps from "./line-marker.js";
|
|
3
4
|
export default class PatternEdits {
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
static lineLimited(matcher) {
|
|
5
|
+
// {§read-pattern} Anchors refer to source lines; matches may still span lines.
|
|
6
|
+
static lineAnchored(matcher) {
|
|
7
7
|
if (matcher.dialect !== "regex" || matcher.flags.includes("m"))
|
|
8
8
|
return matcher;
|
|
9
9
|
return { ...matcher, flags: `${matcher.flags}m` };
|
|
10
10
|
}
|
|
11
|
-
// {§pattern-dialect-find-only} — `~` and `&` locate across resources and only FIND takes them; the
|
|
12
|
-
// refusal says so and gives both working forms: the FIND with the model's own matcher, and the
|
|
13
|
-
// same operation with a text pattern for the words or symbol it named.
|
|
14
|
-
static findOnly(matcher, operation, target) {
|
|
15
|
-
const words = matcher.dialect === "graph"
|
|
16
|
-
? [matcher.raw.replace(/^&[<>]?/u, "").trim()]
|
|
17
|
-
: matcher.raw.slice(1).trim().split(/\s+/u).filter((word) => word !== "");
|
|
18
|
-
const text = `/${words.map((word) => word.replace(/[.*+?^${}()|[\]\\/]/gu, "\\$&")).join("|")}/`;
|
|
19
|
-
const kind = matcher.dialect === "graph" ? "&graph" : "~full-text";
|
|
20
|
-
return {
|
|
21
|
-
detail: `\`${matcher.raw}\` is a ${kind} matcher, and only FIND takes one: it locates across resources, not lines within one.`,
|
|
22
|
-
recovery: `Locate it with \`FIND (${target}) ${matcher.raw}\`, or select lines with a text pattern: \`${operation} (${target}) ${text}\`.`,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
11
|
// The whole lines a matcher's evidence touches, in source order, within an inclusive line bound.
|
|
26
12
|
static lines(evidence, bounds) {
|
|
27
13
|
const lines = new Set();
|
|
28
14
|
for (const item of evidence) {
|
|
29
|
-
|
|
15
|
+
const region = item.region ?? item.enclosingRegion;
|
|
16
|
+
if (region === undefined)
|
|
30
17
|
continue;
|
|
31
|
-
|
|
18
|
+
const last = region.endLine - (region.endLine > region.startLine && region.endColumn === 1 ? 1 : 0);
|
|
19
|
+
for (let line = region.startLine; line <= last; line += 1) {
|
|
32
20
|
if (bounds !== null && (line < bounds.from || line > bounds.to))
|
|
33
21
|
continue;
|
|
34
22
|
lines.add(line);
|
|
@@ -36,86 +24,61 @@ export default class PatternEdits {
|
|
|
36
24
|
}
|
|
37
25
|
return [...lines].sort((a, b) => a - b);
|
|
38
26
|
}
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
const needle = [...matcher.raw];
|
|
69
|
-
for (let at = 0; at + needle.length <= points.length; at += 1) {
|
|
70
|
-
if (needle.every((point, index) => points[at + index] === point)) {
|
|
71
|
-
spans.push({ line, startColumn: at + 1, endLine: line, endColumn: at + needle.length + 1 });
|
|
72
|
-
at += needle.length - 1;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
return { error: `EDIT replaces text spans; a ${matcher.dialect} pattern selects resources, not spans.` };
|
|
79
|
-
}
|
|
80
|
-
return spans.sort((a, b) => a.line - b.line || a.startColumn - b.startColumn);
|
|
27
|
+
// {§read-pattern-evidence} — presentation may clip a match, but cannot redefine it.
|
|
28
|
+
static visible(evidence, lines, window) {
|
|
29
|
+
const shown = new Set(lines);
|
|
30
|
+
const compare = (line, column, otherLine, otherColumn) => line - otherLine || column - otherColumn;
|
|
31
|
+
return evidence.filter((item) => {
|
|
32
|
+
const region = item.region ?? item.enclosingRegion;
|
|
33
|
+
if (region === undefined || !PatternEdits.lines([item], null).some((line) => shown.has(line)))
|
|
34
|
+
return false;
|
|
35
|
+
if (window === undefined)
|
|
36
|
+
return true;
|
|
37
|
+
const startsBeforeEnd = compare(region.startLine, region.startColumn, window.endLine, window.endColumn) < 0;
|
|
38
|
+
const endsAfterStart = compare(region.endLine, region.endColumn, window.startLine, window.startColumn) > 0;
|
|
39
|
+
const point = region.startLine === region.endLine && region.startColumn === region.endColumn;
|
|
40
|
+
return point
|
|
41
|
+
? compare(region.startLine, region.startColumn, window.startLine, window.startColumn) >= 0
|
|
42
|
+
&& compare(region.startLine, region.startColumn, window.endLine, window.endColumn) <= 0
|
|
43
|
+
: startsBeforeEnd && endsAfterStart;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// {§slice-semantics-compose-pattern} Selection consumes evidence; it never matches again.
|
|
47
|
+
static spans(evidence, bounds) {
|
|
48
|
+
const compare = (line, column, otherLine, otherColumn) => line - otherLine || column - otherColumn;
|
|
49
|
+
return evidence.flatMap(({ region }) => region === undefined ? [] : [region])
|
|
50
|
+
.filter((region) => bounds === null || (compare(region.startLine, region.startColumn, bounds.startLine, bounds.startColumn) >= 0
|
|
51
|
+
&& compare(region.endLine, region.endColumn, bounds.endLine, bounds.endColumn) <= 0))
|
|
52
|
+
.toSorted((left, right) => compare(left.startLine, left.startColumn, right.startLine, right.startColumn)
|
|
53
|
+
|| compare(left.endLine, left.endColumn, right.endLine, right.endColumn));
|
|
81
54
|
}
|
|
82
55
|
static replacements(spans, body) {
|
|
83
|
-
return spans.map(({
|
|
56
|
+
return spans.map(({ startLine, startColumn, endLine, endColumn }) => ({ marker: { marks: [startLine, startColumn, endLine, endColumn] }, body }));
|
|
57
|
+
}
|
|
58
|
+
static text(content, spans) {
|
|
59
|
+
const coordinates = new TextCoordinates(content);
|
|
60
|
+
return spans.map(({ startLine, startColumn, endLine, endColumn }) => content.slice(coordinates.offsetAtPosition(startLine, startColumn), coordinates.offsetAtPosition(endLine, endColumn))).join("");
|
|
84
61
|
}
|
|
85
62
|
// Every line an edit's marker covers: the one line of a line deletion, or a region's span.
|
|
86
63
|
static touchedLines(edits) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
lines.add(line);
|
|
92
|
-
}
|
|
93
|
-
return [...lines].sort((a, b) => a - b);
|
|
94
|
-
}
|
|
95
|
-
static deletions(lines) {
|
|
96
|
-
return lines.map((line) => ({ marker: { marks: [line] }, body: "" }));
|
|
64
|
+
return PatternEdits.lines(edits.map(({ marker: { marks } }) => ({ region: {
|
|
65
|
+
startLine: marks[0], startColumn: marks[1] ?? 1,
|
|
66
|
+
endLine: marks[2] ?? marks[0], endColumn: marks[3] ?? 1,
|
|
67
|
+
} })), null);
|
|
97
68
|
}
|
|
98
|
-
//
|
|
99
|
-
|
|
100
|
-
static bounds(marks, lineCount) {
|
|
69
|
+
// {§slice-semantics-compose-pattern} Resolve scopes through the existing text algebra.
|
|
70
|
+
static bounds(marks, content) {
|
|
101
71
|
if (marks === undefined || marks.length === 0)
|
|
102
72
|
return null;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return
|
|
108
|
-
|
|
109
|
-
if (
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if (from <= 0 || to < from)
|
|
113
|
-
return { error: "A pattern needs an inclusive line range; <0> and <-1> name a position, not a line." };
|
|
114
|
-
return { from, to };
|
|
115
|
-
}
|
|
116
|
-
if (marks.length === 4)
|
|
117
|
-
return { from: marks[0], to: marks[2] };
|
|
118
|
-
return { error: "A pattern scope is one line, an inclusive line range, or a four-coordinate region." };
|
|
73
|
+
if (marks.length === 1 && marks[0] <= 0)
|
|
74
|
+
return { error: "A pattern scope selects source text, not a prepend or append position." };
|
|
75
|
+
const selected = LineMarkerOps.textReplacement(content, { marks: [marks[0], ...marks.slice(1)] }, "");
|
|
76
|
+
if ("error" in selected)
|
|
77
|
+
return selected;
|
|
78
|
+
const region = TextCoordinates.regionFromOffsets(content, selected.start, selected.end);
|
|
79
|
+
if (region === null)
|
|
80
|
+
throw new Error("A resolved text scope has no source coordinates.");
|
|
81
|
+
return region;
|
|
119
82
|
}
|
|
120
83
|
// The landed batch as one operation result: `matched` spans, the first span's receipt, and
|
|
121
84
|
// the last span's effect as `last` when there is more than one.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pattern-edits.js","sourceRoot":"","sources":["../../src/content/pattern-edits.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"pattern-edits.js","sourceRoot":"","sources":["../../src/content/pattern-edits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReadStatement } from "@plurnk/plurnk-contracts";
|
|
2
2
|
import { type Mimetypes } from "@plurnk/plurnk-mimetypes";
|
|
3
3
|
import type { EntryReadResult, StoredEntryData } from "@plurnk/plurnk-schemes";
|
|
4
|
-
import type { SchemeManifest } from "../core/scheme-types.ts";
|
|
4
|
+
import type { SchemeManifest, PlurnkSchemeContext } from "../core/scheme-types.ts";
|
|
5
5
|
import { type ByteSource } from "./byte-view.ts";
|
|
6
6
|
export interface AnchoredReadResult extends EntryReadResult {
|
|
7
7
|
readonly sourceMimetype?: string;
|
|
@@ -19,6 +19,7 @@ interface ReadProjectionOptions {
|
|
|
19
19
|
readonly identity: string;
|
|
20
20
|
readonly representation: StoredEntryData;
|
|
21
21
|
readonly mimetypes: Mimetypes | undefined;
|
|
22
|
+
readonly context?: PlurnkSchemeContext;
|
|
22
23
|
readonly bytes?: ByteSource;
|
|
23
24
|
readonly visibleLines?: Readonly<Record<string, readonly number[]>>;
|
|
24
25
|
readonly retainNative?: (bytes: Uint8Array) => Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-projector.d.ts","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,KAAK,EACR,eAAe,
|
|
1
|
+
{"version":3,"file":"read-projector.d.ts","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,KAAK,EACR,eAAe,EAEf,eAAe,EAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAKnF,OAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA0C3D,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IAGvD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,UAAU,qBAAqB;IAC3B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAG/D,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7C;AAMD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAgG9B,OAAa,OAAO,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA2C7E;CA2SJ"}
|
|
@@ -84,6 +84,31 @@ export default class ReadProjector {
|
|
|
84
84
|
const total = await source.size();
|
|
85
85
|
if (total === null)
|
|
86
86
|
return failure("entry-not-found", 404, `No bytes exist at ${target}.`);
|
|
87
|
+
if (statement.matcher !== null) {
|
|
88
|
+
if (statement.lineMarker !== null) {
|
|
89
|
+
const bounds = LineMarkerOps.window(statement.lineMarker, total, "byte");
|
|
90
|
+
if (bounds.status !== 200)
|
|
91
|
+
return { ...bounds, content: null, mimetype: sourceMimetype, channel };
|
|
92
|
+
}
|
|
93
|
+
const loaded = await ByteView.load(source, target);
|
|
94
|
+
if (!("bytes" in loaded))
|
|
95
|
+
return { ...loaded, content: null, mimetype: sourceMimetype, channel };
|
|
96
|
+
const match = await ByteView.match(statement.matcher, loaded.bytes);
|
|
97
|
+
if (match.status >= 400)
|
|
98
|
+
return { status: match.status, problem: match.problem, content: null, mimetype: sourceMimetype, channel };
|
|
99
|
+
const matches = match.matches ?? [];
|
|
100
|
+
const visibleLines = PatternEdits.lines(matches, { from: 1, to: total });
|
|
101
|
+
const projected = await ReadResolve.resolve({
|
|
102
|
+
content: ByteView.hexLines(loaded.bytes), mimetype: "text/plain",
|
|
103
|
+
lineMarker: statement.lineMarker, visibleLines,
|
|
104
|
+
});
|
|
105
|
+
return {
|
|
106
|
+
...projected, mimetype: sourceMimetype, channel, projection: ByteView.PROJECTION,
|
|
107
|
+
...(projected.range === undefined ? {} : { range: { ...projected.range, unit: "byte" } }),
|
|
108
|
+
matched: statement.lineMarker === null ? visibleLines.length : (projected.lineOrdinals?.length ?? 0),
|
|
109
|
+
matches: PatternEdits.visible(matches, projected.lineOrdinals ?? []),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
87
112
|
const marker = statement.lineMarker ?? BodyPreview.firstPage();
|
|
88
113
|
const window = LineMarkerOps.window(marker, total, "byte");
|
|
89
114
|
if (window.status !== 200) {
|
|
@@ -257,14 +282,16 @@ export default class ReadProjector {
|
|
|
257
282
|
// touches, in source order, inside the scope, with its ordinary anchors. Zero matches is
|
|
258
283
|
// an empty read, never a failure; `matched` counts the selected lines inside the scope.
|
|
259
284
|
let visibleLines = opts.visibleLines?.[selected];
|
|
285
|
+
let matches;
|
|
260
286
|
if (statement.matcher !== null) {
|
|
261
|
-
if (statement.matcher.dialect === "fts" || statement.matcher.dialect === "graph") {
|
|
262
|
-
const { detail, recovery } = PatternEdits.findOnly({ ...statement.matcher, dialect: statement.matcher.dialect }, "READ", target);
|
|
263
|
-
return failure("pattern-dialect-unsupported", 400, detail, {}, { target, recovery, retryable: false });
|
|
264
|
-
}
|
|
265
287
|
if (mimetypes === undefined)
|
|
266
288
|
throw new Error("ReadProjector: a READ pattern requires the mimetypes capability");
|
|
267
|
-
const match =
|
|
289
|
+
const match = opts.context === undefined || statement.target === null
|
|
290
|
+
? await Matcher.matchAgainstContent(PatternEdits.lineAnchored(statement.matcher), selectedRepresentation.content, selectedRepresentation.mimetype, mimetypes)
|
|
291
|
+
: await Matcher.matchResource(statement.matcher, {
|
|
292
|
+
content: selectedRepresentation.content, mimetype: selectedRepresentation.mimetype,
|
|
293
|
+
target: statement.target, ...(visibleLines === undefined ? {} : { visibleLines }),
|
|
294
|
+
}, opts.context);
|
|
268
295
|
if (match.status >= 400 || match.status === 203) {
|
|
269
296
|
return Results.assertReadResult({
|
|
270
297
|
...(match.problem === undefined
|
|
@@ -275,7 +302,11 @@ export default class ReadProjector {
|
|
|
275
302
|
channel,
|
|
276
303
|
});
|
|
277
304
|
}
|
|
278
|
-
|
|
305
|
+
matches = match.matches ?? [];
|
|
306
|
+
if (matches.some(({ region, enclosingRegion }) => region === undefined && enclosingRegion === undefined)) {
|
|
307
|
+
return failure("pattern-source-unlocated", 422, "The pattern selected a value without source coordinates.");
|
|
308
|
+
}
|
|
309
|
+
const ordered = PatternEdits.lines(matches, null);
|
|
279
310
|
visibleLines = visibleLines === undefined ? ordered : ordered.filter((line) => visibleLines.includes(line));
|
|
280
311
|
}
|
|
281
312
|
let resolved = await ReadResolve.resolve({
|
|
@@ -343,9 +374,10 @@ export default class ReadProjector {
|
|
|
343
374
|
channel,
|
|
344
375
|
...(resolved.mimetype === selectedRepresentation.mimetype ? {} : { sourceMimetype: selectedRepresentation.mimetype }),
|
|
345
376
|
...(matched === undefined ? {} : { matched }),
|
|
377
|
+
...(matches === undefined ? {} : { matches: PatternEdits.visible(matches, resolved.lineOrdinals ?? [], resolved.region) }),
|
|
346
378
|
});
|
|
347
379
|
const result = ReadProjector.#producerResult(projected, selectedRepresentation, channel !== null && manifest.channels[channel] === "text/stream");
|
|
348
|
-
if (result.status !== 200
|
|
380
|
+
if ((result.status !== 200 && result.status !== 204)
|
|
349
381
|
|| typeof result.content !== "string") {
|
|
350
382
|
return result;
|
|
351
383
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-projector.js","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"read-projector.js","sourceRoot":"","sources":["../../src/content/read-projector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Shared exact-target READ projection for entry-bearing schemes, File, and Log.
|
|
2
|
-
//
|
|
2
|
+
// Matchers supply visible source lines; this layer applies READ scope and preview.
|
|
3
3
|
import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
|
|
4
4
|
import LineMarkerOps from "./line-marker.js";
|
|
5
5
|
import MimetypeBinary from "./mimetype-binary.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdmittedTurnExecutor.d.ts","sourceRoot":"","sources":["../../src/core/AdmittedTurnExecutor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"AdmittedTurnExecutor.d.ts","sourceRoot":"","sources":["../../src/core/AdmittedTurnExecutor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuC,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACrG,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAOzC,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAInD,OAAO,KAAK,EAAE,cAAc,EAAsC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAO/I,MAAM,CAAC,OAAO,OAAO,oBAAoB;;IAQrC,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;QACnE,EAAE,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,aAAa,CAAC;QACvB,QAAQ,EAAE,UAAU,CAAC;QACrB,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,eAAe,CAAC;KAC9B,EAOA;IAMK,mBAAmB,CAAC,EACtB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,iBAAwB,EACxB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAsC,EACtC,oBAA4B,EAC5B,sBAA2B,EAC3B,SAAiB,EACjB,aAA8D,EAC9D,IAAI,EACJ,MAAM,EACN,UAAU,EACV,SAAS,GACZ,EAAE;QACC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;QACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAGtB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;QAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,MAAM,EAAE,UAAU,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,sBAAsB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;QACnD,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1C,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5D,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoQ9B;CAGJ"}
|
|
@@ -71,7 +71,7 @@ export default class AdmittedTurnExecutor {
|
|
|
71
71
|
await Turn.complete(this.#db, turnId, TURN_STATUS_IMPLICIT_CONTINUE);
|
|
72
72
|
return { status: TURN_STATUS_IMPLICIT_CONTINUE, outcomes: [], progressed: false, fingerprint: StrikeRail.fingerprintEmptyTurn(source ?? ""), emptyTurn: true };
|
|
73
73
|
}
|
|
74
|
-
|
|
74
|
+
const waits = [];
|
|
75
75
|
const pendingEngineErrors = [];
|
|
76
76
|
let realCommands = 0;
|
|
77
77
|
const admitted = statements.filter((statement) => TurnDisposition.is(statement) || TurnDisposition.isCompletion(statement)
|
|
@@ -252,7 +252,7 @@ export default class AdmittedTurnExecutor {
|
|
|
252
252
|
});
|
|
253
253
|
}
|
|
254
254
|
if (TurnDisposition.is(scheduledStatement) && result.status < 400)
|
|
255
|
-
|
|
255
|
+
waits.push(scheduledStatement);
|
|
256
256
|
}
|
|
257
257
|
if (finalOp === undefined)
|
|
258
258
|
await settleTurn();
|
|
@@ -270,7 +270,7 @@ export default class AdmittedTurnExecutor {
|
|
|
270
270
|
};
|
|
271
271
|
await recordEngineProblem(kind, rowSequence++, extensions);
|
|
272
272
|
}
|
|
273
|
-
const turnStatus = await this.#dispatcher.settleProgram({ workerId, loopId, turnId, origin },
|
|
273
|
+
const turnStatus = await this.#dispatcher.settleProgram({ workerId, loopId, turnId, origin }, waits, completionEligible);
|
|
274
274
|
await Turn.complete(this.#db, turnId, turnStatus);
|
|
275
275
|
return {
|
|
276
276
|
status: turnStatus,
|