pi-fabric 0.33.0 → 0.35.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/dist/compaction/branch-details.d.ts +39 -15
- package/dist/compaction/branch-details.d.ts.map +1 -1
- package/dist/compaction/branch-details.js +75 -33
- package/dist/compaction/branch-details.js.map +1 -1
- package/dist/compaction/branch-summary.d.ts +2 -2
- package/dist/compaction/branch-summary.d.ts.map +1 -1
- package/dist/compaction/branch-summary.js +14 -1
- package/dist/compaction/branch-summary.js.map +1 -1
- package/dist/compaction/hook.d.ts +8 -1
- package/dist/compaction/hook.d.ts.map +1 -1
- package/dist/compaction/hook.js +64 -27
- package/dist/compaction/hook.js.map +1 -1
- package/dist/compaction/normalize.d.ts +11 -1
- package/dist/compaction/normalize.d.ts.map +1 -1
- package/dist/compaction/normalize.js +53 -4
- package/dist/compaction/normalize.js.map +1 -1
- package/dist/compaction/projections.d.ts.map +1 -1
- package/dist/compaction/projections.js +69 -21
- package/dist/compaction/projections.js.map +1 -1
- package/dist/compaction/qa.d.ts.map +1 -1
- package/dist/compaction/qa.js +19 -1
- package/dist/compaction/qa.js.map +1 -1
- package/dist/compaction/render.js +1 -1
- package/dist/compaction/render.js.map +1 -1
- package/dist/compaction/trace-events.d.ts +1 -0
- package/dist/compaction/trace-events.d.ts.map +1 -1
- package/dist/compaction/trace-events.js +1 -0
- package/dist/compaction/trace-events.js.map +1 -1
- package/dist/fabric-exec-tool.d.ts.map +1 -1
- package/dist/fabric-exec-tool.js +7 -2
- package/dist/fabric-exec-tool.js.map +1 -1
- package/dist/memory/normalize.d.ts +4 -2
- package/dist/memory/normalize.d.ts.map +1 -1
- package/dist/memory/normalize.js +22 -3
- package/dist/memory/normalize.js.map +1 -1
- package/dist/ui/settings.js +2 -2
- package/dist/ui/settings.js.map +1 -1
- package/docs/certification.md +1 -1
- package/docs/compaction.md +42 -19
- package/docs/configuration.md +1 -1
- package/docs/memory-recall.md +5 -2
- package/package.json +1 -1
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { FabricExecutionOutcomeV1, FabricTraceJsonValue } from "../audit/trace.js";
|
|
2
2
|
export declare const FABRIC_BRANCH_SUMMARY_KIND: "pi-fabric.branch-summary";
|
|
3
|
-
|
|
3
|
+
declare const FABRIC_BRANCH_SUMMARY_VERSION_V1: 1;
|
|
4
|
+
export declare const FABRIC_BRANCH_SUMMARY_VERSION: 2;
|
|
4
5
|
export declare const FABRIC_BRANCH_SUMMARY_MAX_BYTES: number;
|
|
5
6
|
export declare const FABRIC_BRANCH_SUMMARY_MAX_FACTS = 256;
|
|
7
|
+
export declare const FABRIC_BRANCH_RUN_NAME_MAX_BYTES = 256;
|
|
8
|
+
export declare const FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES = 1024;
|
|
6
9
|
interface BranchFactBase {
|
|
7
10
|
entryId: string;
|
|
8
11
|
subordinal: string;
|
|
@@ -34,26 +37,47 @@ export interface FabricBranchOperationFactV1 extends BranchFactBase {
|
|
|
34
37
|
error?: string;
|
|
35
38
|
result?: FabricTraceJsonValue;
|
|
36
39
|
}
|
|
37
|
-
|
|
40
|
+
type FabricBranchFactV1 = FabricBranchUserFactV1 | FabricBranchCustomMessageFactV1 | FabricBranchPhaseFactV1 | FabricBranchOperationFactV1;
|
|
41
|
+
interface FabricBranchRunFactV2 extends BranchFactBase {
|
|
42
|
+
kind: "fabricRun";
|
|
43
|
+
name: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
outcome: FabricExecutionOutcomeV1;
|
|
46
|
+
}
|
|
47
|
+
export type FabricBranchFactV2 = FabricBranchFactV1 | FabricBranchRunFactV2;
|
|
48
|
+
interface FabricBranchSummarySource {
|
|
49
|
+
firstEntryId: string;
|
|
50
|
+
lastEntryId: string;
|
|
51
|
+
entryCount: number;
|
|
52
|
+
/** Canonical abandoned-branch provenance. Absent only on older v1 envelopes. */
|
|
53
|
+
oldLeafId?: string | null;
|
|
54
|
+
}
|
|
55
|
+
interface FabricBranchSummaryRequest {
|
|
56
|
+
text: string;
|
|
57
|
+
sourceBytes: number;
|
|
58
|
+
truncated: boolean;
|
|
59
|
+
}
|
|
38
60
|
export interface FabricBranchSummaryDetailsV1 {
|
|
39
61
|
kind: typeof FABRIC_BRANCH_SUMMARY_KIND;
|
|
40
|
-
version: typeof
|
|
41
|
-
source:
|
|
42
|
-
firstEntryId: string;
|
|
43
|
-
lastEntryId: string;
|
|
44
|
-
entryCount: number;
|
|
45
|
-
/** Canonical abandoned-branch provenance. Absent only on older v1 envelopes. */
|
|
46
|
-
oldLeafId?: string | null;
|
|
47
|
-
};
|
|
62
|
+
version: typeof FABRIC_BRANCH_SUMMARY_VERSION_V1;
|
|
63
|
+
source: FabricBranchSummarySource;
|
|
48
64
|
facts: FabricBranchFactV1[];
|
|
49
65
|
omittedFacts: number;
|
|
50
66
|
sections: string[];
|
|
51
|
-
request:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
67
|
+
request: FabricBranchSummaryRequest;
|
|
68
|
+
}
|
|
69
|
+
export interface FabricBranchSummaryDetailsV2 {
|
|
70
|
+
kind: typeof FABRIC_BRANCH_SUMMARY_KIND;
|
|
71
|
+
version: typeof FABRIC_BRANCH_SUMMARY_VERSION;
|
|
72
|
+
source: FabricBranchSummarySource;
|
|
73
|
+
facts: FabricBranchFactV2[];
|
|
74
|
+
omittedFacts: number;
|
|
75
|
+
sections: string[];
|
|
76
|
+
request: FabricBranchSummaryRequest;
|
|
56
77
|
}
|
|
78
|
+
export type FabricBranchSummaryDetails = FabricBranchSummaryDetailsV1 | FabricBranchSummaryDetailsV2;
|
|
57
79
|
export declare const readFabricBranchSummaryDetailsV1: (value: unknown) => FabricBranchSummaryDetailsV1 | undefined;
|
|
80
|
+
export declare const readFabricBranchSummaryDetailsV2: (value: unknown) => FabricBranchSummaryDetailsV2 | undefined;
|
|
81
|
+
export declare const readFabricBranchSummaryDetails: (value: unknown) => FabricBranchSummaryDetails | undefined;
|
|
58
82
|
export {};
|
|
59
83
|
//# sourceMappingURL=branch-details.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-details.d.ts","sourceRoot":"","sources":["../../src/compaction/branch-details.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,0BAA0B,EAAG,0BAAmC,CAAC;AAC9E,eAAO,MAAM,6BAA6B,EAAG,CAAU,CAAC;AACxD,eAAO,MAAM,+BAA+B,QAAa,CAAC;AAC1D,eAAO,MAAM,+BAA+B,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"branch-details.d.ts","sourceRoot":"","sources":["../../src/compaction/branch-details.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export const FABRIC_BRANCH_SUMMARY_KIND = "pi-fabric.branch-summary";
|
|
2
|
-
|
|
2
|
+
const FABRIC_BRANCH_SUMMARY_VERSION_V1 = 1;
|
|
3
|
+
export const FABRIC_BRANCH_SUMMARY_VERSION = 2;
|
|
3
4
|
export const FABRIC_BRANCH_SUMMARY_MAX_BYTES = 128 * 1024;
|
|
4
5
|
export const FABRIC_BRANCH_SUMMARY_MAX_FACTS = 256;
|
|
6
|
+
export const FABRIC_BRANCH_RUN_NAME_MAX_BYTES = 256;
|
|
7
|
+
export const FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES = 1024;
|
|
5
8
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6
9
|
const hasOnlyKeys = (value, keys) => Object.keys(value).every((key) => keys.includes(key));
|
|
7
10
|
const MAX_DETAILS_JSON_NODES = 4096;
|
|
@@ -39,7 +42,7 @@ const validBase = (fact) => typeof fact.entryId === "string"
|
|
|
39
42
|
&& typeof fact.subordinal === "string"
|
|
40
43
|
&& typeof fact.address === "string"
|
|
41
44
|
&& fact.address === `${fact.entryId}/${fact.subordinal}`;
|
|
42
|
-
const
|
|
45
|
+
const isFactV1 = (value, jsonState) => {
|
|
43
46
|
if (!isRecord(value) || !validBase(value))
|
|
44
47
|
return false;
|
|
45
48
|
if (value.kind === "user") {
|
|
@@ -76,46 +79,85 @@ const isFact = (value, jsonState) => {
|
|
|
76
79
|
&& (value.error === undefined || typeof value.error === "string")
|
|
77
80
|
&& (value.result === undefined || isJsonValue(value.result, jsonState));
|
|
78
81
|
};
|
|
82
|
+
const isFactV2 = (value, jsonState) => {
|
|
83
|
+
if (isRecord(value) && value.kind === "fabricRun") {
|
|
84
|
+
return validBase(value)
|
|
85
|
+
&& typeof value.subordinal === "string"
|
|
86
|
+
&& value.subordinal.startsWith("call:")
|
|
87
|
+
&& value.subordinal.length > "call:".length
|
|
88
|
+
&& hasOnlyKeys(value, [
|
|
89
|
+
"kind", "entryId", "subordinal", "address", "name", "description", "outcome",
|
|
90
|
+
])
|
|
91
|
+
&& typeof value.name === "string"
|
|
92
|
+
&& value.name.trim().length > 0
|
|
93
|
+
&& Buffer.byteLength(value.name, "utf8") <= FABRIC_BRANCH_RUN_NAME_MAX_BYTES
|
|
94
|
+
&& (value.description === undefined
|
|
95
|
+
|| (typeof value.description === "string"
|
|
96
|
+
&& Buffer.byteLength(value.description, "utf8") <= FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES))
|
|
97
|
+
&& outcomes.has(value.outcome);
|
|
98
|
+
}
|
|
99
|
+
return isFactV1(value, jsonState);
|
|
100
|
+
};
|
|
79
101
|
const serializedBytes = (value) => Buffer.byteLength(JSON.stringify(value), "utf8");
|
|
102
|
+
const validEnvelope = (value, version, factValidator) => {
|
|
103
|
+
if (!hasOnlyKeys(value, [
|
|
104
|
+
"kind", "version", "source", "facts", "omittedFacts", "sections", "request",
|
|
105
|
+
]))
|
|
106
|
+
return false;
|
|
107
|
+
if (value.kind !== FABRIC_BRANCH_SUMMARY_KIND || value.version !== version)
|
|
108
|
+
return false;
|
|
109
|
+
if (!isRecord(value.source)
|
|
110
|
+
|| !hasOnlyKeys(value.source, ["firstEntryId", "lastEntryId", "entryCount", "oldLeafId"]))
|
|
111
|
+
return false;
|
|
112
|
+
if (typeof value.source.firstEntryId !== "string" || typeof value.source.lastEntryId !== "string")
|
|
113
|
+
return false;
|
|
114
|
+
if (!Number.isSafeInteger(value.source.entryCount) || value.source.entryCount < 0)
|
|
115
|
+
return false;
|
|
116
|
+
if (value.source.oldLeafId !== undefined
|
|
117
|
+
&& value.source.oldLeafId !== null
|
|
118
|
+
&& typeof value.source.oldLeafId !== "string")
|
|
119
|
+
return false;
|
|
120
|
+
const jsonState = { nodes: 0, ancestors: new Set() };
|
|
121
|
+
if (!Array.isArray(value.facts)
|
|
122
|
+
|| value.facts.length > FABRIC_BRANCH_SUMMARY_MAX_FACTS
|
|
123
|
+
|| !value.facts.every((fact) => factValidator(fact, jsonState)))
|
|
124
|
+
return false;
|
|
125
|
+
if (!Number.isSafeInteger(value.omittedFacts) || value.omittedFacts < 0)
|
|
126
|
+
return false;
|
|
127
|
+
if (!Array.isArray(value.sections)
|
|
128
|
+
|| value.sections.length > 64
|
|
129
|
+
|| !value.sections.every((section) => typeof section === "string"))
|
|
130
|
+
return false;
|
|
131
|
+
if (!isRecord(value.request)
|
|
132
|
+
|| !hasOnlyKeys(value.request, ["text", "sourceBytes", "truncated"]))
|
|
133
|
+
return false;
|
|
134
|
+
if (typeof value.request.text !== "string" || typeof value.request.truncated !== "boolean")
|
|
135
|
+
return false;
|
|
136
|
+
if (!Number.isSafeInteger(value.request.sourceBytes) || value.request.sourceBytes < 0)
|
|
137
|
+
return false;
|
|
138
|
+
return serializedBytes(value) <= FABRIC_BRANCH_SUMMARY_MAX_BYTES;
|
|
139
|
+
};
|
|
80
140
|
export const readFabricBranchSummaryDetailsV1 = (value) => {
|
|
81
141
|
try {
|
|
82
|
-
if (!isRecord(value) || !
|
|
83
|
-
"kind", "version", "source", "facts", "omittedFacts", "sections", "request",
|
|
84
|
-
]))
|
|
85
|
-
return undefined;
|
|
86
|
-
if (value.kind !== FABRIC_BRANCH_SUMMARY_KIND || value.version !== FABRIC_BRANCH_SUMMARY_VERSION)
|
|
87
|
-
return undefined;
|
|
88
|
-
if (!isRecord(value.source) || !hasOnlyKeys(value.source, ["firstEntryId", "lastEntryId", "entryCount", "oldLeafId"]))
|
|
142
|
+
if (!isRecord(value) || !validEnvelope(value, FABRIC_BRANCH_SUMMARY_VERSION_V1, isFactV1)) {
|
|
89
143
|
return undefined;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return undefined;
|
|
101
|
-
if (!Number.isSafeInteger(value.omittedFacts) || value.omittedFacts < 0)
|
|
102
|
-
return undefined;
|
|
103
|
-
if (!Array.isArray(value.sections)
|
|
104
|
-
|| value.sections.length > 64
|
|
105
|
-
|| !value.sections.every((section) => typeof section === "string"))
|
|
106
|
-
return undefined;
|
|
107
|
-
if (!isRecord(value.request) || !hasOnlyKeys(value.request, ["text", "sourceBytes", "truncated"]))
|
|
108
|
-
return undefined;
|
|
109
|
-
if (typeof value.request.text !== "string" || typeof value.request.truncated !== "boolean")
|
|
110
|
-
return undefined;
|
|
111
|
-
if (!Number.isSafeInteger(value.request.sourceBytes) || value.request.sourceBytes < 0)
|
|
112
|
-
return undefined;
|
|
113
|
-
if (serializedBytes(value) > FABRIC_BRANCH_SUMMARY_MAX_BYTES)
|
|
144
|
+
}
|
|
145
|
+
return value;
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
return undefined;
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
export const readFabricBranchSummaryDetailsV2 = (value) => {
|
|
152
|
+
try {
|
|
153
|
+
if (!isRecord(value) || !validEnvelope(value, FABRIC_BRANCH_SUMMARY_VERSION, isFactV2)) {
|
|
114
154
|
return undefined;
|
|
155
|
+
}
|
|
115
156
|
return value;
|
|
116
157
|
}
|
|
117
158
|
catch {
|
|
118
159
|
return undefined;
|
|
119
160
|
}
|
|
120
161
|
};
|
|
162
|
+
export const readFabricBranchSummaryDetails = (value) => readFabricBranchSummaryDetailsV2(value) ?? readFabricBranchSummaryDetailsV1(value);
|
|
121
163
|
//# sourceMappingURL=branch-details.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-details.js","sourceRoot":"","sources":["../../src/compaction/branch-details.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,0BAA0B,GAAG,0BAAmC,CAAC;AAC9E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1D,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"branch-details.js","sourceRoot":"","sources":["../../src/compaction/branch-details.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,0BAA0B,GAAG,0BAAmC,CAAC;AAC9E,MAAM,gCAAgC,GAAG,CAAU,CAAC;AACpD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1D,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AACpD,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;AA2F5D,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,WAAW,GAAG,CAAC,KAA8B,EAAE,IAAuB,EAAW,EAAE,CACvF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAOxD,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC,MAAM,WAAW,GAAG,CAClB,KAAc,EACd,KAA0B,EAC1B,KAAK,GAAG,CAAC,EACsB,EAAE;IACjC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IACjB,IAAI,KAAK,CAAC,KAAK,GAAG,sBAAsB;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3F,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxF,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,2BAA2B;mBAC9C,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,2BAA2B;mBAC7C,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAE,KAAiC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAA2B,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAEpG,MAAM,SAAS,GAAG,CAAC,IAA6B,EAAW,EAAE,CAC3D,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;OAC7B,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;OACnC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;OAChC,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;AAE3D,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,SAA8B,EAA+B,EAAE;IAC/F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;eAC1E,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,OAAO,WAAW,CAAC,KAAK,EAAE;YACxB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;SACvF,CAAC;eACG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;eACpC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;eAC9B,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS;eAClC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;eAC3E,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;IACvC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;QACtB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;QACvF,SAAS,EAAE,OAAO,EAAE,QAAQ;KAC7B,CAAC;QAAE,OAAO,KAAK,CAAC;IACjB,OAAO,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;WAC/B,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC;WACpE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC;WAChE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;WAC9B,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;WACpB,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;WAClC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAmC,CAAC;WACvD,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;WAC9D,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAE,SAA8B,EAA+B,EAAE;IAC/F,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC,KAAK,CAAC;eAClB,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;eACpC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC;eACpC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;eACxC,WAAW,CAAC,KAAK,EAAE;gBACpB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS;aAC7E,CAAC;eACC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;eAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;eAC5B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,gCAAgC;eACzE,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;mBAC9B,CAAC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;uBACpC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,uCAAuC,CAAC,CAAC;eAC7F,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAmC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;AAErG,MAAM,aAAa,GAAG,CACpB,KAA8B,EAC9B,OAAc,EACd,aAAqE,EAC5D,EAAE;IACX,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;QACtB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS;KAC5E,CAAC;QAAE,OAAO,KAAK,CAAC;IACjB,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACzF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;WACtB,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1G,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAK,KAAK,CAAC,MAAM,CAAC,UAAqB,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5G,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;WACnC,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI;WAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,SAAS,GAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;WAC1B,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,+BAA+B;WACpD,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,IAAK,KAAK,CAAC,YAAuB,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;WAC7B,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE;WAC1B,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACnF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;WACvB,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrF,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACzG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAK,KAAK,CAAC,OAAO,CAAC,WAAsB,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAChH,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,+BAA+B,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,KAAc,EAC4B,EAAE;IAC5C,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,gCAAgC,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1F,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAgD,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,KAAc,EAC4B,EAAE;IAC5C,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,6BAA6B,EAAE,QAAQ,CAAC,EAAE,CAAC;YACvF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAgD,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,KAAc,EAC0B,EAAE,CAC1C,gCAAgC,CAAC,KAAK,CAAC,IAAI,gCAAgC,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { SessionEntry } from "@earendil-works/pi-coding-agent";
|
|
2
|
-
import { type
|
|
2
|
+
import { type FabricBranchSummaryDetailsV2 } from "./branch-details.js";
|
|
3
3
|
import { type CompactionEnricher } from "./enrichers.js";
|
|
4
4
|
export interface FabricBranchSummaryCompilation {
|
|
5
5
|
summary: string;
|
|
6
|
-
details:
|
|
6
|
+
details: FabricBranchSummaryDetailsV2;
|
|
7
7
|
}
|
|
8
8
|
export declare const compileFabricBranchSummary: (entriesToSummarize: SessionEntry[], customInstructions?: string, enrichers?: readonly CompactionEnricher[], oldLeafId?: string | null) => FabricBranchSummaryCompilation | undefined;
|
|
9
9
|
//# sourceMappingURL=branch-summary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-summary.d.ts","sourceRoot":"","sources":["../../src/compaction/branch-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,
|
|
1
|
+
{"version":3,"file":"branch-summary.d.ts","sourceRoot":"","sources":["../../src/compaction/branch-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGpE,OAAO,EASL,KAAK,4BAA4B,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAsC,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAoL7F,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,4BAA4B,CAAC;CACvC;AAED,eAAO,MAAM,0BAA0B,GACrC,oBAAoB,YAAY,EAAE,EAClC,qBAAqB,MAAM,EAC3B,YAAW,SAAS,kBAAkB,EAAyB,EAC/D,YAAW,MAAM,GAAG,IAAW,KAC9B,8BAA8B,GAAG,SA2BnC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { clipUtf8, sampleAddressed } from "./bounds.js";
|
|
2
|
-
import { FABRIC_BRANCH_SUMMARY_KIND, FABRIC_BRANCH_SUMMARY_MAX_BYTES, FABRIC_BRANCH_SUMMARY_MAX_FACTS, FABRIC_BRANCH_SUMMARY_VERSION, } from "./branch-details.js";
|
|
2
|
+
import { FABRIC_BRANCH_SUMMARY_KIND, FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES, FABRIC_BRANCH_RUN_NAME_MAX_BYTES, FABRIC_BRANCH_SUMMARY_MAX_BYTES, FABRIC_BRANCH_SUMMARY_MAX_FACTS, FABRIC_BRANCH_SUMMARY_VERSION, } from "./branch-details.js";
|
|
3
3
|
import { NO_BUILTIN_ENRICHERS, runEnrichers } from "./enrichers.js";
|
|
4
4
|
import { decodeCompactionInstructions } from "./instructions.js";
|
|
5
5
|
import { normalizeEntries } from "./normalize.js";
|
|
@@ -82,6 +82,19 @@ const factsFromEvents = (events) => {
|
|
|
82
82
|
phase: event.phase,
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
|
+
else if (event.kind === "fabricRun") {
|
|
86
|
+
facts.push({
|
|
87
|
+
kind: "fabricRun",
|
|
88
|
+
entryId: event.entryId,
|
|
89
|
+
subordinal: event.subordinal,
|
|
90
|
+
address: event.address,
|
|
91
|
+
name: clipUtf8(event.name, FABRIC_BRANCH_RUN_NAME_MAX_BYTES),
|
|
92
|
+
...(event.description !== undefined
|
|
93
|
+
? { description: clipUtf8(event.description, FABRIC_BRANCH_RUN_DESCRIPTION_MAX_BYTES) }
|
|
94
|
+
: {}),
|
|
95
|
+
outcome: event.outcome,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
85
98
|
else if (event.kind === "fabricOperation") {
|
|
86
99
|
facts.push({
|
|
87
100
|
kind: "operation",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-summary.js","sourceRoot":"","sources":["../../src/compaction/branch-summary.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"branch-summary.js","sourceRoot":"","sources":["../../src/compaction/branch-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,9 @@ export interface FabricCompactionBudget {
|
|
|
9
9
|
reserveTokens: number;
|
|
10
10
|
keepRecentTokens: number;
|
|
11
11
|
}
|
|
12
|
+
type FabricCompactionBindingConstraint = "continuity" | "occupancy" | "reserve" | "reduction";
|
|
12
13
|
export interface FabricCompactionBudgetDetails {
|
|
13
|
-
strategy: "adaptive";
|
|
14
|
+
strategy: "adaptive" | "continuity";
|
|
14
15
|
contextWindow: number;
|
|
15
16
|
targetContextRatio: number;
|
|
16
17
|
targetContextTokens: number;
|
|
@@ -21,6 +22,12 @@ export interface FabricCompactionBudgetDetails {
|
|
|
21
22
|
fixedOverheadTokens: number;
|
|
22
23
|
retainedRawTokens: number;
|
|
23
24
|
projectedTokensAfter: number;
|
|
25
|
+
continuityTargetTokens?: number;
|
|
26
|
+
occupancyCeilingTokens?: number;
|
|
27
|
+
safeCeilingTokens?: number;
|
|
28
|
+
reductionCeilingTokens?: number;
|
|
29
|
+
rawTailTokenBudget?: number;
|
|
30
|
+
bindingConstraint?: FabricCompactionBindingConstraint;
|
|
24
31
|
}
|
|
25
32
|
export type CutResult = {
|
|
26
33
|
ok: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/compaction/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAIjB,KAAK,YAAY,EAClB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAsC,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE7F,OAAO,EAEL,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EACjC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,KAAK,uBAAuB,EAE7B,MAAM,kBAAkB,CAAC;AAG1B,KAAK,gBAAgB,GAAG,IAAI,GAAG,QAAQ,CAAC;AAsBxC,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../src/compaction/hook.ts"],"names":[],"mappings":"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"}
|
package/dist/compaction/hook.js
CHANGED
|
@@ -215,7 +215,7 @@ const tokenCalibration = (branchEntries, tokensBefore, rawTokensBefore) => {
|
|
|
215
215
|
const fixedOverheadTokens = Math.max(0, tokensBefore - tokenScale * rawTokensBefore, ...checkpoints.map((checkpoint) => checkpoint.contextTokens - tokenScale * checkpoint.rawTokens));
|
|
216
216
|
return { tokenScale, fixedOverheadTokens };
|
|
217
217
|
};
|
|
218
|
-
const
|
|
218
|
+
const continuityCutPlan = (branchEntries, tokensBefore, budget) => {
|
|
219
219
|
if (!Number.isFinite(budget.contextWindow) || budget.contextWindow <= 0)
|
|
220
220
|
return undefined;
|
|
221
221
|
const contextWindow = Math.floor(budget.contextWindow);
|
|
@@ -224,12 +224,19 @@ const adaptiveCutPlan = (branchEntries, tokensBefore, budget) => {
|
|
|
224
224
|
const targetContextRatio = Math.max(0.25, Math.min(0.85, budget.targetContextRatio));
|
|
225
225
|
const rawTokensBefore = rawContextTokens(branchEntries);
|
|
226
226
|
const { tokenScale, fixedOverheadTokens } = tokenCalibration(branchEntries, tokensBefore, rawTokensBefore);
|
|
227
|
+
const continuityTargetTokens = Math.max(1, Math.ceil(fixedOverheadTokens + (keepRecentTokens + SUMMARY_RAW_TOKEN_BUDGET) * tokenScale));
|
|
228
|
+
const occupancyCeilingTokens = Math.max(1, Math.floor(contextWindow * targetContextRatio));
|
|
227
229
|
const hardCeiling = Math.max(1, contextWindow - reserveTokens);
|
|
228
|
-
const
|
|
229
|
-
const
|
|
230
|
-
const
|
|
231
|
-
|
|
232
|
-
|
|
230
|
+
const safeCeilingTokens = Math.max(1, Math.floor(hardCeiling * HARD_CEILING_SAFETY_RATIO));
|
|
231
|
+
const reductionCeilingTokens = Math.max(1, Math.floor(tokensBefore * MAX_PRECOMPACTION_RATIO));
|
|
232
|
+
const constraints = [
|
|
233
|
+
{ binding: "continuity", tokens: continuityTargetTokens },
|
|
234
|
+
{ binding: "occupancy", tokens: occupancyCeilingTokens },
|
|
235
|
+
{ binding: "reserve", tokens: safeCeilingTokens },
|
|
236
|
+
{ binding: "reduction", tokens: reductionCeilingTokens },
|
|
237
|
+
];
|
|
238
|
+
const targetContextTokens = Math.min(...constraints.map(({ tokens }) => tokens));
|
|
239
|
+
const bindingConstraint = constraints.find(({ tokens }) => tokens === targetContextTokens).binding;
|
|
233
240
|
const rawPostBudget = Math.max(0, Math.floor((targetContextTokens - fixedOverheadTokens) / tokenScale));
|
|
234
241
|
return {
|
|
235
242
|
contextWindow,
|
|
@@ -240,7 +247,12 @@ const adaptiveCutPlan = (branchEntries, tokensBefore, budget) => {
|
|
|
240
247
|
rawTokensBefore,
|
|
241
248
|
tokenScale,
|
|
242
249
|
fixedOverheadTokens,
|
|
243
|
-
|
|
250
|
+
continuityTargetTokens,
|
|
251
|
+
occupancyCeilingTokens,
|
|
252
|
+
safeCeilingTokens,
|
|
253
|
+
reductionCeilingTokens,
|
|
254
|
+
rawTailTokenBudget: Math.max(0, rawPostBudget - SUMMARY_RAW_TOKEN_BUDGET),
|
|
255
|
+
bindingConstraint,
|
|
244
256
|
};
|
|
245
257
|
};
|
|
246
258
|
const boundary = (summarized, firstKeptEntryId, budget) => {
|
|
@@ -258,7 +270,7 @@ const boundary = (summarized, firstKeptEntryId, budget) => {
|
|
|
258
270
|
...(budget ? { budget } : {}),
|
|
259
271
|
};
|
|
260
272
|
};
|
|
261
|
-
const
|
|
273
|
+
const computeContinuityCut = (branchEntries, live, plan) => {
|
|
262
274
|
const suffixTokens = new Array(live.length + 1).fill(0);
|
|
263
275
|
for (let index = live.length - 1; index >= 0; index--) {
|
|
264
276
|
suffixTokens[index] = suffixTokens[index + 1] + live[index].estimatedTokens;
|
|
@@ -271,7 +283,7 @@ const computeAdaptiveCut = (branchEntries, live, plan) => {
|
|
|
271
283
|
const item = live[index];
|
|
272
284
|
if (item.branchIndex <= previousCompactionIndex)
|
|
273
285
|
continue;
|
|
274
|
-
if (!item.cutPoint || suffixTokens[index] > plan.
|
|
286
|
+
if (!item.cutPoint || suffixTokens[index] > plan.rawTailTokenBudget)
|
|
275
287
|
continue;
|
|
276
288
|
if (!closureSafe(spans, item.branchIndex))
|
|
277
289
|
continue;
|
|
@@ -280,7 +292,7 @@ const computeAdaptiveCut = (branchEntries, live, plan) => {
|
|
|
280
292
|
}
|
|
281
293
|
const retainedRawTokens = suffixTokens[cutIndex] ?? 0;
|
|
282
294
|
const details = {
|
|
283
|
-
strategy: "
|
|
295
|
+
strategy: "continuity",
|
|
284
296
|
contextWindow: plan.contextWindow,
|
|
285
297
|
targetContextRatio: plan.targetContextRatio,
|
|
286
298
|
targetContextTokens: plan.targetContextTokens,
|
|
@@ -290,6 +302,12 @@ const computeAdaptiveCut = (branchEntries, live, plan) => {
|
|
|
290
302
|
tokenScale: plan.tokenScale,
|
|
291
303
|
fixedOverheadTokens: plan.fixedOverheadTokens,
|
|
292
304
|
retainedRawTokens,
|
|
305
|
+
continuityTargetTokens: plan.continuityTargetTokens,
|
|
306
|
+
occupancyCeilingTokens: plan.occupancyCeilingTokens,
|
|
307
|
+
safeCeilingTokens: plan.safeCeilingTokens,
|
|
308
|
+
reductionCeilingTokens: plan.reductionCeilingTokens,
|
|
309
|
+
rawTailTokenBudget: plan.rawTailTokenBudget,
|
|
310
|
+
bindingConstraint: plan.bindingConstraint,
|
|
293
311
|
};
|
|
294
312
|
if (cutIndex >= live.length) {
|
|
295
313
|
return boundary(live.map((item) => item.entry), "", details);
|
|
@@ -301,9 +319,9 @@ export const computeCut = (branchEntries, options) => {
|
|
|
301
319
|
if (live.length === 0)
|
|
302
320
|
return { ok: false, reason: "empty" };
|
|
303
321
|
if (options) {
|
|
304
|
-
const plan =
|
|
322
|
+
const plan = continuityCutPlan(branchEntries, options.tokensBefore, options.budget);
|
|
305
323
|
if (plan)
|
|
306
|
-
return
|
|
324
|
+
return computeContinuityCut(branchEntries, live, plan);
|
|
307
325
|
}
|
|
308
326
|
const lastBoundary = lastBoundaryIndex(live);
|
|
309
327
|
if (lastBoundary <= 0)
|
|
@@ -325,6 +343,38 @@ const isFabricV1Details = (value) => isStringArray(value.sections)
|
|
|
325
343
|
&& typeof value.firstKeptEntryId === "string"
|
|
326
344
|
&& typeof value.timestamp === "string";
|
|
327
345
|
const hasFiniteNumbers = (value, keys) => keys.every((key) => typeof value[key] === "number" && Number.isFinite(value[key]));
|
|
346
|
+
const isCompactionBudgetDetails = (value) => {
|
|
347
|
+
if (!isRecord(value) || (value.strategy !== "adaptive" && value.strategy !== "continuity")) {
|
|
348
|
+
return false;
|
|
349
|
+
}
|
|
350
|
+
if (!hasFiniteNumbers(value, [
|
|
351
|
+
"contextWindow",
|
|
352
|
+
"targetContextRatio",
|
|
353
|
+
"targetContextTokens",
|
|
354
|
+
"reserveTokens",
|
|
355
|
+
"keepRecentTokens",
|
|
356
|
+
"rawTokensBefore",
|
|
357
|
+
"tokenScale",
|
|
358
|
+
"fixedOverheadTokens",
|
|
359
|
+
"retainedRawTokens",
|
|
360
|
+
"projectedTokensAfter",
|
|
361
|
+
])) {
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
if (value.strategy === "adaptive")
|
|
365
|
+
return true;
|
|
366
|
+
return hasFiniteNumbers(value, [
|
|
367
|
+
"continuityTargetTokens",
|
|
368
|
+
"occupancyCeilingTokens",
|
|
369
|
+
"safeCeilingTokens",
|
|
370
|
+
"reductionCeilingTokens",
|
|
371
|
+
"rawTailTokenBudget",
|
|
372
|
+
])
|
|
373
|
+
&& (value.bindingConstraint === "continuity"
|
|
374
|
+
|| value.bindingConstraint === "occupancy"
|
|
375
|
+
|| value.bindingConstraint === "reserve"
|
|
376
|
+
|| value.bindingConstraint === "reduction");
|
|
377
|
+
};
|
|
328
378
|
const isFabricV2Details = (value) => {
|
|
329
379
|
if (!isStringArray(value.sections) || !isRecord(value.coverage) || !isRecord(value.counts))
|
|
330
380
|
return false;
|
|
@@ -368,20 +418,7 @@ const isFabricV2Details = (value) => {
|
|
|
368
418
|
&& typeof value.stableAddresses.firstKeptEntryId === "string"
|
|
369
419
|
&& isEntryRange(value.stableAddresses.cumulativeSourceRange)
|
|
370
420
|
&& value.stableAddresses.recall === "session-entry-id-range"
|
|
371
|
-
&& (value.budget === undefined || (
|
|
372
|
-
&& value.budget.strategy === "adaptive"
|
|
373
|
-
&& hasFiniteNumbers(value.budget, [
|
|
374
|
-
"contextWindow",
|
|
375
|
-
"targetContextRatio",
|
|
376
|
-
"targetContextTokens",
|
|
377
|
-
"reserveTokens",
|
|
378
|
-
"keepRecentTokens",
|
|
379
|
-
"rawTokensBefore",
|
|
380
|
-
"tokenScale",
|
|
381
|
-
"fixedOverheadTokens",
|
|
382
|
-
"retainedRawTokens",
|
|
383
|
-
"projectedTokensAfter",
|
|
384
|
-
])))
|
|
421
|
+
&& (value.budget === undefined || isCompactionBudgetDetails(value.budget))
|
|
385
422
|
&& typeof value.timestamp === "string";
|
|
386
423
|
};
|
|
387
424
|
export const fabricCompactionVersion = (details) => {
|
|
@@ -463,7 +500,7 @@ export const compileFabricSummary = (branchEntries, tokensBefore, enrichers = NO
|
|
|
463
500
|
if (budgetDetails && budgetDetails.projectedTokensAfter > budgetDetails.targetContextTokens) {
|
|
464
501
|
return {
|
|
465
502
|
cancel: true,
|
|
466
|
-
reason: "fabric: no deterministic summary fits the
|
|
503
|
+
reason: "fabric: no deterministic summary fits the continuity context target",
|
|
467
504
|
};
|
|
468
505
|
}
|
|
469
506
|
const versions = priorFabricVersions(branchEntries);
|