@plurnk/plurnk-service 1.27.0 → 1.29.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 +17 -19
- package/SPEC.md +105 -149
- package/dist/build-info.json +1 -1
- package/dist/content/body-preview.d.ts +5 -0
- package/dist/content/body-preview.d.ts.map +1 -1
- package/dist/content/body-preview.js +16 -0
- package/dist/content/body-preview.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 +5 -0
- package/dist/content/line-marker.js.map +1 -1
- package/dist/content/read-projector.js +3 -3
- 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 +19 -4
- 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 +5 -0
- package/dist/core/ChannelWrite.d.ts.map +1 -1
- package/dist/core/ChannelWrite.js +5 -0
- package/dist/core/ChannelWrite.js.map +1 -1
- package/dist/core/ChannelWrite.sql +10 -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 +8 -3
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +13 -0
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +155 -5
- package/dist/core/Dispatcher.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/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +9 -3
- package/dist/core/KillHandler.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/PacketBuilder.d.ts +17 -4
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +76 -117
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +0 -7
- package/dist/core/ResourceSelector.d.ts.map +1 -1
- package/dist/core/ResourceSelector.js +4 -2
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +2 -2
- package/dist/core/ResourceTransfers.js.map +1 -1
- 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/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.d.ts.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 +141 -139
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/TurnRunner.sql +2 -2
- package/dist/core/WorkerControlHandler.d.ts.map +1 -1
- package/dist/core/WorkerControlHandler.js +5 -1
- package/dist/core/WorkerControlHandler.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/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 +181 -226
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +7 -0
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +21 -0
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/unregistered-scheme.d.ts +4 -0
- package/dist/core/unregistered-scheme.d.ts.map +1 -0
- package/dist/core/unregistered-scheme.js +14 -0
- package/dist/core/unregistered-scheme.js.map +1 -0
- 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/DigestRender.d.ts.map +1 -1
- package/dist/digest/DigestRender.js +88 -42
- package/dist/digest/DigestRender.js.map +1 -1
- package/dist/digest/digest-rows.d.ts +7 -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 +15 -2
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +14 -3
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +10 -5
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +46 -5
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/_entry-crud.js +9 -9
- 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 +5 -3
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-fts.d.ts.map +1 -1
- package/dist/schemes/_entry-fts.js +7 -3
- package/dist/schemes/_entry-fts.js.map +1 -1
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +2 -4
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.js +4 -4
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +11 -2
- package/dist/server/Daemon.js.map +1 -1
- package/migrations/013_graph_regions.sql +1 -0
- package/migrations/014_stream_timing.sql +1 -0
- package/migrations/015_request_evidence.sql +1 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KillHandler.js","sourceRoot":"","sources":["../../src/core/KillHandler.ts"],"names":[],"mappings":"AAGA,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"KillHandler.js","sourceRoot":"","sources":["../../src/core/KillHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export default class LogEntryProjection {
|
|
|
8
8
|
#private;
|
|
9
9
|
static op(row: LogEntryProjectionRow): string | null;
|
|
10
10
|
static isEmission(row: LogEntryProjectionRow): boolean;
|
|
11
|
+
static isReasoning(row: LogEntryProjectionRow): boolean;
|
|
11
12
|
static leaf(row: LogEntryProjectionRow): string;
|
|
12
13
|
static base(coordinate: string): string;
|
|
13
14
|
static coordinate(coordinate: string, row: LogEntryProjectionRow): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogEntryProjection.d.ts","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"AAGA,UAAU,qBAAqB;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IAUnC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAOnD;IAID,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAIrD;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"LogEntryProjection.d.ts","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"AAGA,UAAU,qBAAqB;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,MAAM,CAAC,OAAO,OAAO,kBAAkB;;IAUnC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAOnD;IAID,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAIrD;IAGD,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAItD;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAS9C;IAED,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtC;IAED,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAGxE;IAED,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAIzE;CAEJ"}
|
|
@@ -29,9 +29,18 @@ export default class LogEntryProjection {
|
|
|
29
29
|
const attrs = LogEntryProjection.#decode(row.attrs, "attrs");
|
|
30
30
|
return attrs !== null && typeof attrs === "object" && attrs.kind === "emission";
|
|
31
31
|
}
|
|
32
|
+
// {§reasoning-row}: the harness's READ of the turn's reasoning source, addressed by its own leaf.
|
|
33
|
+
static isReasoning(row) {
|
|
34
|
+
if (row.op !== "READ")
|
|
35
|
+
return false;
|
|
36
|
+
const attrs = LogEntryProjection.#decode(row.attrs, "attrs");
|
|
37
|
+
return attrs !== null && typeof attrs === "object" && attrs.kind === "reasoning";
|
|
38
|
+
}
|
|
32
39
|
static leaf(row) {
|
|
33
40
|
if (LogEntryProjection.isEmission(row))
|
|
34
41
|
return "emission";
|
|
42
|
+
if (LogEntryProjection.isReasoning(row))
|
|
43
|
+
return "reasoning";
|
|
35
44
|
const op = LogEntryProjection.op(row);
|
|
36
45
|
// An execution row's leaf is its runtime: the op as written.
|
|
37
46
|
if (isExecutionOp(op))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogEntryProjection.js","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LogEntryProjection.js","sourceRoot":"","sources":["../../src/core/LogEntryProjection.ts"],"names":[],"mappings":"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"}
|
package/dist/core/LogWriter.d.ts
CHANGED
|
@@ -3,6 +3,36 @@ import type { Db } from "./Db.ts";
|
|
|
3
3
|
import type { WriterTier } from "./scheme-types.ts";
|
|
4
4
|
import type { LogCurationPlan } from "../schemes/Log.ts";
|
|
5
5
|
import type { DispatchResult } from "./Dispatcher.ts";
|
|
6
|
+
export interface LogRecord extends Record<string, unknown> {
|
|
7
|
+
worker_id: number;
|
|
8
|
+
loop_id: number;
|
|
9
|
+
turn_id: number;
|
|
10
|
+
sequence: number;
|
|
11
|
+
origin: WriterTier;
|
|
12
|
+
source: string | null;
|
|
13
|
+
model_call_id: number | null;
|
|
14
|
+
op: string;
|
|
15
|
+
signal: string | null;
|
|
16
|
+
scheme: string | null;
|
|
17
|
+
username: string | null;
|
|
18
|
+
password: string | null;
|
|
19
|
+
hostname: string | null;
|
|
20
|
+
port: number | null;
|
|
21
|
+
pathname: string | null;
|
|
22
|
+
query: string | null;
|
|
23
|
+
fragment: string | null;
|
|
24
|
+
lineMarker: string | null;
|
|
25
|
+
tx: string;
|
|
26
|
+
mimetype_tx: string;
|
|
27
|
+
rx: string;
|
|
28
|
+
mimetype_rx: string;
|
|
29
|
+
status_rx: number;
|
|
30
|
+
weight: number;
|
|
31
|
+
state: string;
|
|
32
|
+
outcome: null;
|
|
33
|
+
attrs: string;
|
|
34
|
+
initial_folded: string;
|
|
35
|
+
}
|
|
6
36
|
export default class LogWriter {
|
|
7
37
|
#private;
|
|
8
38
|
constructor({ db, weighContent, extractTarget, canonColumns, signalToJson, isProposal }: {
|
|
@@ -37,5 +67,17 @@ export default class LogWriter {
|
|
|
37
67
|
curationPlan: LogCurationPlan | null;
|
|
38
68
|
modelCallId: number | null;
|
|
39
69
|
}): Promise<number>;
|
|
70
|
+
record({ statement, result, workspaceId, workerId, loopId, turnId, sequence, origin, curationPlan, modelCallId, }: {
|
|
71
|
+
statement: PlurnkStatement;
|
|
72
|
+
result: DispatchResult;
|
|
73
|
+
workspaceId: number;
|
|
74
|
+
workerId: number;
|
|
75
|
+
loopId: number;
|
|
76
|
+
turnId: number;
|
|
77
|
+
sequence: number;
|
|
78
|
+
origin: WriterTier;
|
|
79
|
+
curationPlan: LogCurationPlan | null;
|
|
80
|
+
modelCallId: number | null;
|
|
81
|
+
}): Promise<LogRecord>;
|
|
40
82
|
}
|
|
41
83
|
//# sourceMappingURL=LogWriter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogWriter.d.ts","sourceRoot":"","sources":["../../src/core/LogWriter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG5E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"LogWriter.d.ts","sourceRoot":"","sources":["../../src/core/LogWriter.ts"],"names":[],"mappings":"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"}
|
package/dist/core/LogWriter.js
CHANGED
|
@@ -31,6 +31,16 @@ export default class LogWriter {
|
|
|
31
31
|
throw new Error("Prepared execution must have an unclaimed output address.");
|
|
32
32
|
attrs.pathname = await ExecutionOutputs.claim(this.#db, workspaceId, execRouteOf(statement).runtime);
|
|
33
33
|
}
|
|
34
|
+
const record = await this.record({ statement, result, workspaceId, workerId, loopId, turnId, sequence, origin, curationPlan, modelCallId });
|
|
35
|
+
await this.#canonColumns(record, workspaceId);
|
|
36
|
+
const row = await this.#db.engine_insert_log_entry.get(record);
|
|
37
|
+
if (row === undefined)
|
|
38
|
+
throw new Error("Dispatcher.#writeLog: INSERT ... RETURNING produced no row");
|
|
39
|
+
return row.id;
|
|
40
|
+
}
|
|
41
|
+
// The row a dispatch would write, before it is written: the fit test renders it to weigh it
|
|
42
|
+
// ({§context-fit}) and writeLog inserts it. A failed result gets its instance here.
|
|
43
|
+
async record({ statement, result, workspaceId, workerId, loopId, turnId, sequence, origin, curationPlan, modelCallId, }) {
|
|
34
44
|
const durableStatement = DurableStatement.project(statement);
|
|
35
45
|
const target = this.#extractTarget(primaryTargetOf(durableStatement), workspaceId);
|
|
36
46
|
const lineMarker = primaryLineMarkerOf(durableStatement);
|
|
@@ -121,11 +131,7 @@ export default class LogWriter {
|
|
|
121
131
|
attrs,
|
|
122
132
|
initial_folded: LogVisibility.serialize(LogVisibility.OPEN),
|
|
123
133
|
};
|
|
124
|
-
|
|
125
|
-
const row = await this.#db.engine_insert_log_entry.get(record);
|
|
126
|
-
if (row === undefined)
|
|
127
|
-
throw new Error("Dispatcher.#writeLog: INSERT ... RETURNING produced no row");
|
|
128
|
-
return row.id;
|
|
134
|
+
return record;
|
|
129
135
|
}
|
|
130
136
|
}
|
|
131
137
|
//# sourceMappingURL=LogWriter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogWriter.js","sourceRoot":"","sources":["../../src/core/LogWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"LogWriter.js","sourceRoot":"","sources":["../../src/core/LogWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,17 @@ import type { Db } from "./Db.ts";
|
|
|
3
3
|
import type SchemeRegistry from "./SchemeRegistry.ts";
|
|
4
4
|
import type ExecutorRegistry from "./ExecutorRegistry.ts";
|
|
5
5
|
import type { GitStatus } from "./git-state.ts";
|
|
6
|
+
import { type BodiedLogRow } from "./packet-wire.ts";
|
|
6
7
|
import type { RequestPacket } from "./StoredPacket.ts";
|
|
7
8
|
import type { ChatMessage, Provider } from "@plurnk/plurnk-providers";
|
|
8
9
|
export type { ChatMessage } from "@plurnk/plurnk-providers";
|
|
10
|
+
export interface WindowOverflow {
|
|
11
|
+
readonly tokens: number;
|
|
12
|
+
readonly budget: number;
|
|
13
|
+
readonly wall: number;
|
|
14
|
+
readonly excess: number;
|
|
15
|
+
readonly excessWeight: number;
|
|
16
|
+
}
|
|
9
17
|
export interface CurationOverflow {
|
|
10
18
|
readonly weight: number;
|
|
11
19
|
readonly budget: number;
|
|
@@ -23,10 +31,12 @@ export default class PacketBuilder {
|
|
|
23
31
|
pathname: string;
|
|
24
32
|
content: string;
|
|
25
33
|
}>): void;
|
|
26
|
-
static validateConfiguration(env?: NodeJS.ProcessEnv):
|
|
34
|
+
static validateConfiguration(env?: NodeJS.ProcessEnv): void;
|
|
35
|
+
static assertConfiguration(env?: NodeJS.ProcessEnv): void;
|
|
27
36
|
emissionsFor(packet: RequestPacket): ReadonlyMap<string, string>;
|
|
28
37
|
curationBudgetFor(packet: RequestPacket): number | null;
|
|
29
|
-
|
|
38
|
+
bodiedRowsOf(packet: RequestPacket): readonly BodiedLogRow[];
|
|
39
|
+
buildRequestPacket({ initialMessages, recap, workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices, transientOpenLogEntryId, turnId, bodiless, }: {
|
|
30
40
|
initialMessages: ChatMessage[];
|
|
31
41
|
recap?: string;
|
|
32
42
|
gitStatus: GitStatus | null;
|
|
@@ -37,16 +47,19 @@ export default class PacketBuilder {
|
|
|
37
47
|
provider: Provider;
|
|
38
48
|
notices?: readonly Notice[];
|
|
39
49
|
transientOpenLogEntryId?: number | null;
|
|
40
|
-
promptProjection?: "automatic" | "withheld";
|
|
41
50
|
turnId?: number | null;
|
|
51
|
+
bodiless?: ReadonlySet<number>;
|
|
42
52
|
}): Promise<RequestPacket>;
|
|
43
|
-
admitOutput(packet: RequestPacket, turnId: number): Promise<boolean>;
|
|
44
53
|
recordObservations(packet: RequestPacket): Promise<void>;
|
|
45
54
|
referenceEntries(workspaceId: number): Promise<Array<{
|
|
46
55
|
pathname: string;
|
|
47
56
|
content: string;
|
|
48
57
|
}>>;
|
|
49
58
|
curationOverflow(packet: RequestPacket): CurationOverflow | null;
|
|
59
|
+
windowOverflow(packet: RequestPacket, provider: {
|
|
60
|
+
readonly inputCapacity: number | null;
|
|
61
|
+
readonly inputWall: number | null;
|
|
62
|
+
}): WindowOverflow | null;
|
|
50
63
|
buildFailurePointers(loopId: number, currentTurnSeq: number): Promise<Array<{
|
|
51
64
|
status: number;
|
|
52
65
|
coordinate: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"PacketBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PacketBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAkBhD,OAAmB,EAAE,KAAK,YAAY,EAAqB,MAAM,kBAAkB,CAAC;AAEpF,OAAO,KAAK,EAAE,aAAa,EAAuB,MAAM,mBAAmB,CAAC;AAG5E,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AA6EtE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAID,MAAM,CAAC,OAAO,OAAO,aAAa;;IAoB9B,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;QACpC,EAAE,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,cAAc,CAAC;QACxB,SAAS,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC;KACjD,EAKA;IAED,yBAAyB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAEhI;IAMD,MAAM,CAAC,qBAAqB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAmCvE;IAID,MAAM,CAAC,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAOrE;IAGD,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAI/D;IAED,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAItD;IAGD,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,YAAY,EAAE,CAI3D;IAIK,kBAAkB,CAAC,EACrB,eAAe,EAAE,KAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAY,EAC7G,uBAA8B,EAC9B,MAAa,EACb,QAAQ,GACX,EAAE;QACC,eAAe,EAAE,WAAW,EAAE,CAAC;QAE/B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAEtD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC;QAInB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAG5B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEvB,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KAClC,GAAG,OAAO,CAAC,aAAa,CAAC,CA0KzB;IAEK,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7D;IAIK,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAsCjG;IAeD,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,GAAG,IAAI,CAM/D;IAKD,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,cAAc,GAAG,IAAI,CAOnJ;IAKK,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9E,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC,CASF;CAiBJ"}
|
|
@@ -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,29 @@ 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
|
-
|
|
127
|
+
// A commented declaration (`# PLURNK_X=`) is an optional knob, declared like any other
|
|
128
|
+
// ({§operator-config-env-defaults}; the catalog reads it the same way) — only its value is absent.
|
|
129
|
+
const declared = PacketBuilder.#declaredKnobs ??= (() => {
|
|
130
|
+
const text = readFileSync(new URL("../../.env.defaults", import.meta.url), "utf8");
|
|
131
|
+
const optional = [...text.matchAll(/^#\s*([A-Za-z_][A-Za-z0-9_]*)=/gmu)].map((m) => m[1]);
|
|
132
|
+
return [...Object.keys(parseEnv(text)), ...optional];
|
|
133
|
+
})();
|
|
134
|
+
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
135
|
const retired = {
|
|
134
136
|
PLURNK_SERVICE_PROMPT_BUDGET: "provider input capacity is derived from context and output budgets",
|
|
135
137
|
PLURNK_SERVICE_SAFETY: "provider request-shaped capacity admission owns physical headroom",
|
|
138
|
+
PLURNK_SERVICE_PROMPT_PROJECTION: oneRule,
|
|
139
|
+
PLURNK_SERVICE_BUDGET_PRESSURE: "the gauge carries no threshold and no mandate ({§context-gauge})",
|
|
140
|
+
PLURNK_REASONING_VIEW_LINES: "initialization authors no reasoning and reads none back ({§worker-initialization-entry})",
|
|
141
|
+
PLURNK_REASONING_EMPTY_TURN_LINES: "an empty turn reads nothing back; its 422 row is the whole receipt ({§empty-turn})",
|
|
136
142
|
};
|
|
143
|
+
const retiredKey = new RegExp(`^(${Object.keys(retired).join("|")})(?:_.*)?$`, "u");
|
|
137
144
|
for (const key of Object.keys(env)) {
|
|
138
|
-
const match =
|
|
145
|
+
const match = retiredKey.exec(key);
|
|
139
146
|
const reason = match === null ? undefined : retired[match[1]];
|
|
140
147
|
if (reason !== undefined)
|
|
141
148
|
throw new ConfigurationError(key, `${key} is retired: ${reason}.`);
|
|
@@ -154,12 +161,12 @@ class PacketBuilder {
|
|
|
154
161
|
if (match !== null)
|
|
155
162
|
throw new ConfigurationError(key, `${key} is retired: the provider-owned knob is ${moved[match[1]]}${match[2] ?? ""}.`);
|
|
156
163
|
}
|
|
157
|
-
return Knob.percent("PLURNK_SERVICE_PROMPT_PROJECTION", env);
|
|
158
164
|
}
|
|
159
|
-
|
|
160
|
-
|
|
165
|
+
// {§configuration-repair-path} — the same refusal as an operation failure: a 503 Problem naming the
|
|
166
|
+
// key, so a loop reports the failed demand instead of dying on an unshaped exception.
|
|
167
|
+
static assertConfiguration(env = process.env) {
|
|
161
168
|
try {
|
|
162
|
-
|
|
169
|
+
PacketBuilder.validateConfiguration(env);
|
|
163
170
|
}
|
|
164
171
|
catch (cause) {
|
|
165
172
|
if (!(cause instanceof ConfigurationError))
|
|
@@ -180,10 +187,18 @@ class PacketBuilder {
|
|
|
180
187
|
throw new Error("curationBudgetFor: the packet was not built by this PacketBuilder");
|
|
181
188
|
return budget;
|
|
182
189
|
}
|
|
190
|
+
// {§context-own-rows-fit} — the packet's rows still carrying a body or a native part, in row order.
|
|
191
|
+
bodiedRowsOf(packet) {
|
|
192
|
+
const rows = this.#bodiedRows.get(packet.sections);
|
|
193
|
+
if (rows === undefined)
|
|
194
|
+
throw new Error("bodiedRowsOf: the packet was not built by this PacketBuilder");
|
|
195
|
+
return rows;
|
|
196
|
+
}
|
|
183
197
|
// {§packet-stored-shape} — assemble the system/user request before the
|
|
184
198
|
// 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
|
-
|
|
199
|
+
async buildRequestPacket({ initialMessages, recap = "", workspaceId, workerId, loopId, currentTurnSeq, provider, gitStatus, notices = [], transientOpenLogEntryId = null, turnId = null, bodiless, }) {
|
|
200
|
+
// {§configuration-repair-path} — a retired packet knob refuses packet construction, never startup.
|
|
201
|
+
PacketBuilder.assertConfiguration();
|
|
187
202
|
// {§loop-policy-effective-read} Validate active-loop policy before any
|
|
188
203
|
// packet assembly or provider spend, independently of its presentation.
|
|
189
204
|
await LoopPolicyReader.read(this.#db, loopId);
|
|
@@ -214,17 +229,11 @@ class PacketBuilder {
|
|
|
214
229
|
const log = await this.#buildLog(workerId, transientOpenLogEntryId, turnId);
|
|
215
230
|
const failures = await this.buildFailurePointers(loopId, currentTurnSeq);
|
|
216
231
|
const weighContent = contentWeight;
|
|
232
|
+
// {§context-budget} — one room: the provider's input capacity in curation weight, bounding the
|
|
233
|
+
// whole packet. Nothing here sizes a part of it.
|
|
217
234
|
const inputCapacity = provider.inputCapacity;
|
|
218
235
|
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);
|
|
236
|
+
const curationBudget = this.#loopBudget(loopId, inputCapacity, TokenCalibration.capacity(inputCapacity, calibration));
|
|
228
237
|
const budgetReadout = BudgetReadout.draft(curationBudget);
|
|
229
238
|
// The canonical default order, trust boundary, and cache-locality bias are
|
|
230
239
|
// specified at {§packet-cache-monotone}. Budget placeholders resolve only
|
|
@@ -265,7 +274,7 @@ class PacketBuilder {
|
|
|
265
274
|
const renderedLog = PacketWire.renderLogWithAccounting(log, weighContent, {
|
|
266
275
|
projectRoot: workspaceRow?.project_root ?? null,
|
|
267
276
|
acceptedAttachmentKinds: new Set(acceptedKinds(provider.inputModalities)),
|
|
268
|
-
...(
|
|
277
|
+
...(bodiless === undefined ? {} : { bodiless }),
|
|
269
278
|
});
|
|
270
279
|
const attachmentsWeight = renderedLog.attachments.reduce((sum, { weight }) => sum + weight, 0);
|
|
271
280
|
const defaults = [
|
|
@@ -294,9 +303,8 @@ class PacketBuilder {
|
|
|
294
303
|
{ name: "errors", slot: "user", header: "Errors", content: PacketWire.renderFailurePointers(failures) },
|
|
295
304
|
{ name: "notices", slot: "user", header: "Notices", content: PacketWire.renderNotices(notices) },
|
|
296
305
|
{ name: "git", slot: "user", header: "Git Status", content: PacketWire.renderGit(gitStatus) },
|
|
297
|
-
//
|
|
298
|
-
|
|
299
|
-
{ name: "budget", slot: "user", header: "Context Curation", content: budgetReadout },
|
|
306
|
+
// {§context-gauge} — the model's word for curation weight is tokens; this is never provider admission.
|
|
307
|
+
{ name: "budget", slot: "user", header: "Context", content: budgetReadout },
|
|
300
308
|
// The messages section closes the status clump as a pointer list of open
|
|
301
309
|
// arrivals; bodies arrive through their inbound SEND rows ({§message-arrival}).
|
|
302
310
|
{ name: "messages", slot: "user", header: "Open Messages", content: prompt },
|
|
@@ -314,18 +322,18 @@ class PacketBuilder {
|
|
|
314
322
|
.filter(({ coordinate }) => emissions.has(coordinate))
|
|
315
323
|
.reduce((sum, { weight }) => sum + weight, 0);
|
|
316
324
|
const budgetSection = drafts.find((section) => section.name === "budget");
|
|
317
|
-
if (budgetSection !== undefined
|
|
325
|
+
if (budgetSection !== undefined) {
|
|
318
326
|
const transformedLog = drafts.find((section) => section.name === "log");
|
|
319
327
|
const curationTargets = transformedLog?.content === renderedLog.content
|
|
320
328
|
? renderedLog.curationTargets
|
|
321
329
|
: [];
|
|
322
|
-
const content = BudgetReadout.resolve(budgetSection.content,
|
|
330
|
+
const content = BudgetReadout.resolve(budgetSection.content, (candidate) => {
|
|
323
331
|
const candidateDrafts = drafts.map((section) => section === budgetSection ? { ...section, content: candidate } : section);
|
|
324
332
|
return weighContent(PacketWire.renderSlot(candidateDrafts, "system"))
|
|
325
333
|
+ weighContent(PacketWire.renderSlot(candidateDrafts, "user"))
|
|
326
334
|
+ attachmentsWeight
|
|
327
335
|
+ emissionsWeight;
|
|
328
|
-
}, curationTargets
|
|
336
|
+
}, curationTargets);
|
|
329
337
|
drafts = drafts.map((section) => section === budgetSection ? { ...section, content } : section);
|
|
330
338
|
}
|
|
331
339
|
// Core alone turns validated drafts into measured durable sections. {§packet-items} — the
|
|
@@ -342,24 +350,11 @@ class PacketBuilder {
|
|
|
342
350
|
const packet = { weight: renderWeight + attachmentsWeight + emissionsWeight, sections, attributions: [], attachments: [...renderedLog.attachments] };
|
|
343
351
|
this.#curationBudgets.set(packet.sections, curationBudget);
|
|
344
352
|
this.#emissions.set(packet.sections, emissions);
|
|
353
|
+
// {§context-own-rows-fit} — a transformed log is one item the wall cannot take row by row.
|
|
354
|
+
this.#bodiedRows.set(packet.sections, drafts.find((section) => section.name === "log")?.content === renderedLog.content ? renderedLog.bodied : []);
|
|
345
355
|
this.#streamObservations.set(packet.sections, openChannels);
|
|
346
|
-
this.#unadmittedOutput.set(packet.sections, renderedLog.unadmittedOutput);
|
|
347
356
|
return packet;
|
|
348
357
|
}
|
|
349
|
-
// {§context-output-selection} — one statement commits the first-presentation
|
|
350
|
-
// decision. Speculative packet builds never call this mutation boundary.
|
|
351
|
-
async admitOutput(packet, turnId) {
|
|
352
|
-
const ids = this.#unadmittedOutput.get(packet.sections);
|
|
353
|
-
if (ids === undefined)
|
|
354
|
-
throw new Error("Cannot admit output from an unbuilt request packet.");
|
|
355
|
-
if (ids.length === 0)
|
|
356
|
-
return false;
|
|
357
|
-
const withheld = this.curationOverflow(packet) !== null;
|
|
358
|
-
const result = await this.#db.engine_admit_log_outputs.run({ ids: JSON.stringify(ids), turn_id: turnId, withheld: withheld ? 1 : 0 });
|
|
359
|
-
if (result.changes !== ids.length)
|
|
360
|
-
throw new Error("Log output admission changed during packet assembly.");
|
|
361
|
-
return withheld;
|
|
362
|
-
}
|
|
363
358
|
async recordObservations(packet) {
|
|
364
359
|
const observations = this.#streamObservations.get(packet.sections);
|
|
365
360
|
if (observations === undefined)
|
|
@@ -414,7 +409,19 @@ class PacketBuilder {
|
|
|
414
409
|
.map(({ pathname, content }) => ({ pathname, content })));
|
|
415
410
|
return out.toSorted((left, right) => left.pathname.localeCompare(right.pathname));
|
|
416
411
|
}
|
|
417
|
-
// {§context-
|
|
412
|
+
// {§context-budget} — the room never shrinks within a loop: the budget is the greater of the
|
|
413
|
+
// calibrated capacity and the loop's high-water for the same input capacity, so a refined conversion
|
|
414
|
+
// can enlarge the room but never turns a packet the model already answered into an overflow.
|
|
415
|
+
#loopBudget(loopId, inputCapacity, calibrated) {
|
|
416
|
+
if (inputCapacity === null || calibrated === null)
|
|
417
|
+
return null;
|
|
418
|
+
const prior = this.#loopBudgets.get(loopId);
|
|
419
|
+
const budget = prior !== undefined && prior.inputCapacity === inputCapacity ? Math.max(prior.budget, calibrated) : calibrated;
|
|
420
|
+
this.#loopBudgets.set(loopId, { inputCapacity, budget });
|
|
421
|
+
return budget;
|
|
422
|
+
}
|
|
423
|
+
// {§context-over-budget-row} — measurement never mutates visibility; an over-budget packet is a row
|
|
424
|
+
// and a request, never a silent cut.
|
|
418
425
|
curationOverflow(packet) {
|
|
419
426
|
const budget = this.curationBudgetFor(packet);
|
|
420
427
|
if (budget === null)
|
|
@@ -424,6 +431,19 @@ class PacketBuilder {
|
|
|
424
431
|
return null;
|
|
425
432
|
return { weight, budget, excess: weight - budget };
|
|
426
433
|
}
|
|
434
|
+
// {§context-wall} — the packet's tokens through the loop's conversion (the budget is the capacity
|
|
435
|
+
// over the factor, so tokens are weight × capacity ÷ budget) against the provider's input wall;
|
|
436
|
+
// null without a wall or a budget: an unknown window has no wall.
|
|
437
|
+
windowOverflow(packet, provider) {
|
|
438
|
+
const budget = this.curationBudgetFor(packet);
|
|
439
|
+
if (budget === null || provider.inputCapacity === null || provider.inputWall === null)
|
|
440
|
+
return null;
|
|
441
|
+
const tokens = Math.ceil(packet.weight * provider.inputCapacity / budget);
|
|
442
|
+
if (tokens <= provider.inputWall)
|
|
443
|
+
return null;
|
|
444
|
+
const excessWeight = packet.weight - Math.floor(provider.inputWall * budget / provider.inputCapacity);
|
|
445
|
+
return { tokens, budget, wall: provider.inputWall, excess: tokens - provider.inputWall, excessWeight };
|
|
446
|
+
}
|
|
427
447
|
// Every prior-turn operation failure is durable before packet assembly.
|
|
428
448
|
// The model-facing Errors section is only a terse projection of those rows;
|
|
429
449
|
// it never reconstructs failure truth from an in-memory event.
|
|
@@ -447,68 +467,7 @@ class PacketBuilder {
|
|
|
447
467
|
// runTurn. They surface naturally in this query without synthetic
|
|
448
468
|
// EDIT/READ delivery rows.
|
|
449
469
|
const rows = await this.#db.engine_render_log.all({ worker_id: workerId, turn_id: turnId });
|
|
450
|
-
return rows.map((r) =>
|
|
451
|
-
const tx = r.mimetype_tx === "application/json" ? JSON.parse(r.tx) : r.tx;
|
|
452
|
-
const rx = r.mimetype_rx === "application/json" ? JSON.parse(r.rx) : r.rx;
|
|
453
|
-
const rawLineAnchors = LogEntryProjection.op(r) === "READ"
|
|
454
|
-
&& r.status_rx === 200
|
|
455
|
-
&& rx !== null
|
|
456
|
-
&& typeof rx === "object"
|
|
457
|
-
&& Object.hasOwn(rx, "lineAnchors")
|
|
458
|
-
? rx.lineAnchors
|
|
459
|
-
: undefined;
|
|
460
|
-
if (rawLineAnchors !== undefined && !Array.isArray(rawLineAnchors)) {
|
|
461
|
-
throw new TypeError("A READ result's lineAnchors field must be an array.");
|
|
462
|
-
}
|
|
463
|
-
const lineAnchors = rawLineAnchors;
|
|
464
|
-
const rawLineNumberWidth = LogEntryProjection.op(r) === "READ"
|
|
465
|
-
&& r.status_rx === 200
|
|
466
|
-
&& rx !== null
|
|
467
|
-
&& typeof rx === "object"
|
|
468
|
-
&& Object.hasOwn(rx, "lineNumberWidth")
|
|
469
|
-
? rx.lineNumberWidth
|
|
470
|
-
: undefined;
|
|
471
|
-
if (rawLineNumberWidth !== undefined
|
|
472
|
-
&& !LineAnchors.isLineNumberWidth(rawLineNumberWidth)) {
|
|
473
|
-
throw new TypeError("A READ result's lineNumberWidth field must be a valid decimal line width.");
|
|
474
|
-
}
|
|
475
|
-
if ((rawLineAnchors === undefined) !== (rawLineNumberWidth === undefined)) {
|
|
476
|
-
throw new TypeError("A READ result's lineAnchors and lineNumberWidth fields must appear together.");
|
|
477
|
-
}
|
|
478
|
-
const lineNumberWidth = rawLineNumberWidth;
|
|
479
|
-
return {
|
|
480
|
-
id: r.id,
|
|
481
|
-
output_admission_turn_id: r.output_admission_turn_id,
|
|
482
|
-
output_withheld: r.output_withheld === 1,
|
|
483
|
-
newOverflow: turnId !== null && r.output_admission_turn_id === turnId,
|
|
484
|
-
coordinate: `${r.loop_seq}/${r.turn_seq}/${r.sequence}`,
|
|
485
|
-
origin: r.origin,
|
|
486
|
-
op: r.op,
|
|
487
|
-
signal: r.signal === null ? null : JSON.parse(r.signal),
|
|
488
|
-
target: {
|
|
489
|
-
scheme: r.scheme,
|
|
490
|
-
username: r.username, password: r.password,
|
|
491
|
-
hostname: r.hostname, port: r.port,
|
|
492
|
-
pathname: r.pathname,
|
|
493
|
-
query: r.query,
|
|
494
|
-
fragment: r.fragment,
|
|
495
|
-
},
|
|
496
|
-
status: r.status_rx,
|
|
497
|
-
rx,
|
|
498
|
-
mimetype_rx: r.mimetype_rx,
|
|
499
|
-
tx,
|
|
500
|
-
mimetype_tx: r.mimetype_tx,
|
|
501
|
-
initial_folded: r.id === transientOpenLogEntryId ? LogVisibility.OPEN : LogVisibility.parse(r.initial_folded),
|
|
502
|
-
folded: LogVisibility.parse(r.folded),
|
|
503
|
-
source: r.source,
|
|
504
|
-
attrs: r.attrs === null ? null : JSON.parse(r.attrs),
|
|
505
|
-
producer: r.producer,
|
|
506
|
-
...(lineAnchors === undefined ? {} : { lineAnchors }),
|
|
507
|
-
...(lineNumberWidth === undefined ? {} : { lineNumberWidth }),
|
|
508
|
-
};
|
|
509
|
-
});
|
|
470
|
+
return rows.map((r) => PacketWire.entryView(r, transientOpenLogEntryId));
|
|
510
471
|
}
|
|
511
472
|
}
|
|
512
|
-
_a = PacketBuilder;
|
|
513
|
-
export default PacketBuilder;
|
|
514
473
|
//# sourceMappingURL=PacketBuilder.js.map
|