pi-smart-compact 7.22.0 → 8.0.0-rc.2
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/CHANGELOG.md +53 -0
- package/README.md +174 -55
- package/dist/app/compaction-commit-store.d.ts +19 -0
- package/dist/app/compaction-commit-store.d.ts.map +1 -0
- package/dist/app/mode-policy.d.ts +29 -0
- package/dist/app/mode-policy.d.ts.map +1 -0
- package/dist/app/native-continuity-bridge.d.ts +18 -0
- package/dist/app/native-continuity-bridge.d.ts.map +1 -0
- package/dist/app/pending-slot.d.ts +6 -63
- package/dist/app/pending-slot.d.ts.map +1 -1
- package/dist/app/run-context.d.ts +19 -6
- package/dist/app/run-context.d.ts.map +1 -1
- package/dist/app/run-smart-compact.d.ts +11 -3
- package/dist/app/run-smart-compact.d.ts.map +1 -1
- package/dist/app/session-run-lock.d.ts +21 -0
- package/dist/app/session-run-lock.d.ts.map +1 -0
- package/dist/app/stage-auth.d.ts +3 -0
- package/dist/app/stage-auth.d.ts.map +1 -0
- package/dist/app/steps/extract.d.ts.map +1 -1
- package/dist/app/steps/metrics.d.ts +3 -0
- package/dist/app/steps/metrics.d.ts.map +1 -1
- package/dist/app/steps/persist.d.ts +15 -15
- package/dist/app/steps/persist.d.ts.map +1 -1
- package/dist/app/steps/prepare.d.ts.map +1 -1
- package/dist/app/steps/state.d.ts.map +1 -1
- package/dist/app/steps/synthesize.d.ts.map +1 -1
- package/dist/app/steps/verify.d.ts.map +1 -1
- package/dist/app/steps/window.d.ts +1 -1
- package/dist/app/steps/window.d.ts.map +1 -1
- package/dist/constants.d.ts +13 -4
- package/dist/constants.d.ts.map +1 -1
- package/dist/domain/provider-evaluation.d.ts +49 -0
- package/dist/domain/provider-evaluation.d.ts.map +1 -0
- package/dist/domain/summary-parse.d.ts.map +1 -1
- package/dist/domain/telemetry.d.ts +69 -0
- package/dist/domain/telemetry.d.ts.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3398 -500
- package/dist/infra/context-graph.d.ts +53 -0
- package/dist/infra/context-graph.d.ts.map +1 -0
- package/dist/infra/fs.d.ts +9 -8
- package/dist/infra/fs.d.ts.map +1 -1
- package/dist/infra/llm-client.d.ts +8 -8
- package/dist/infra/llm-client.d.ts.map +1 -1
- package/dist/infra/paths.d.ts +9 -1
- package/dist/infra/paths.d.ts.map +1 -1
- package/dist/infra/services.d.ts +40 -22
- package/dist/infra/services.d.ts.map +1 -1
- package/dist/infra/synthesis-cache.d.ts +19 -0
- package/dist/infra/synthesis-cache.d.ts.map +1 -0
- package/dist/phases/explore.d.ts +4 -4
- package/dist/phases/explore.d.ts.map +1 -1
- package/dist/phases/synthesize.d.ts +5 -5
- package/dist/phases/synthesize.d.ts.map +1 -1
- package/dist/phases/verify.d.ts +5 -5
- package/dist/phases/verify.d.ts.map +1 -1
- package/dist/provider-eval.js +1073 -0
- package/dist/provider-scenario-eval.js +1442 -0
- package/dist/telemetry-report.js +1139 -0
- package/dist/types.d.ts +86 -9
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/dashboard-format.d.ts.map +1 -1
- package/dist/ui/dashboard-insights.d.ts +62 -0
- package/dist/ui/dashboard-insights.d.ts.map +1 -0
- package/dist/ui/metrics-report.d.ts +5 -2
- package/dist/ui/metrics-report.d.ts.map +1 -1
- package/dist/ui/overlays.d.ts +6 -4
- package/dist/ui/overlays.d.ts.map +1 -1
- package/dist/utils/cache.d.ts +5 -3
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/damage.d.ts +1 -1
- package/dist/utils/damage.d.ts.map +1 -1
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/state.d.ts +13 -1
- package/dist/utils/state.d.ts.map +1 -1
- package/dist/utils/tokens.d.ts +7 -18
- package/dist/utils/tokens.d.ts.map +1 -1
- package/dist/utils/type-guards.d.ts.map +1 -1
- package/docs/MIGRATING_TO_V8.md +105 -0
- package/docs/RELEASE.md +102 -22
- package/docs/provider-evaluation-2026-08-06.md +63 -0
- package/package.json +10 -5
- package/dist/infra/llm-retry.d.ts +0 -46
- package/dist/infra/llm-retry.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending-slot.d.ts","sourceRoot":"","sources":["../../src/app/pending-slot.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pending-slot.d.ts","sourceRoot":"","sources":["../../src/app/pending-slot.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAoB,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE7F,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,sBAAsB,GAAG,aAAa,CAAC;IACpD,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACvC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,IAAI,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,WAAW,CAoEvE"}
|
|
@@ -33,13 +33,14 @@
|
|
|
33
33
|
* working for the `applyCompaction` / metrics paths that ran post-`buildState`.
|
|
34
34
|
*/
|
|
35
35
|
import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
36
|
-
import type { Model, Api } from "@earendil-works/pi-ai";
|
|
37
|
-
import type { CompressionProfile, LlmMessage, StructuredExtraction, ExplorationReport, ChunkSummary, SessionMessageEntry, PipelinePhaseTiming, CompactConfig, ProfileConfig, ProviderCapabilities, SmartCompactDetails, CompactionState, OpenLoop, Cell } from "../types.ts";
|
|
36
|
+
import type { Model, Api, ProviderHeaders } from "@earendil-works/pi-ai";
|
|
37
|
+
import type { CompressionProfile, CompactionMode, EffectiveCompactionMode, LlmMessage, StructuredExtraction, ExplorationReport, ChunkSummary, SessionMessageEntry, PipelinePhaseTiming, CompactConfig, ProfileConfig, ProviderCapabilities, SmartCompactDetails, CompactionState, ContinuityScope, OpenLoop, Cell } from "../types.ts";
|
|
38
38
|
import type { PendingSlot } from "./pending-slot.ts";
|
|
39
39
|
import type { PruningResult } from "../utils/pruning.ts";
|
|
40
40
|
import type { CompactionTier } from "../utils/helpers.ts";
|
|
41
41
|
import type { TokenEstimator } from "../utils/tokens.ts";
|
|
42
42
|
import type { SmartCompactServices } from "../infra/services.ts";
|
|
43
|
+
import type { SessionRunLock } from "./session-run-lock.ts";
|
|
43
44
|
export type Notifier = (msg: string, type?: "info" | "success" | "warning" | "error") => void;
|
|
44
45
|
export interface CancellationToken {
|
|
45
46
|
controller: AbortController;
|
|
@@ -65,27 +66,35 @@ export interface RunFlags {
|
|
|
65
66
|
}
|
|
66
67
|
export interface ResolvedAuth {
|
|
67
68
|
apiKey: string;
|
|
68
|
-
headers?:
|
|
69
|
+
headers?: ProviderHeaders;
|
|
69
70
|
}
|
|
70
71
|
export interface RcBase {
|
|
72
|
+
/** Unique id for correlating staged and applied compaction lifecycle events. */
|
|
73
|
+
runId: string;
|
|
71
74
|
ctx: ExtensionContext;
|
|
72
75
|
notify: Notifier;
|
|
73
76
|
vlog: (msg: string) => void;
|
|
74
77
|
services: SmartCompactServices;
|
|
75
78
|
cancellation: CancellationToken;
|
|
76
79
|
pendingRef: PendingRef;
|
|
77
|
-
isRunning: Cell<boolean
|
|
80
|
+
isRunning: Cell<boolean> | SessionRunLock;
|
|
81
|
+
/** Removes a staged commit candidate when native apply fails. */
|
|
82
|
+
onNativeApplyError?: (runId: string, error: Error) => boolean;
|
|
78
83
|
flags: RunFlags;
|
|
79
84
|
userNote?: string;
|
|
80
85
|
focus?: string;
|
|
81
86
|
maxLlmCalls?: number;
|
|
87
|
+
maxLlmInputTokens?: number;
|
|
82
88
|
timeoutMs: number;
|
|
83
89
|
phaseTimings: PipelinePhaseTiming[];
|
|
84
90
|
pipelineStart: number;
|
|
85
91
|
phaseStart: number;
|
|
86
92
|
summaryModel: Model<Api>;
|
|
87
93
|
segModel: Model<Api>;
|
|
94
|
+
verifyModel: Model<Api>;
|
|
88
95
|
modelLabel: string;
|
|
96
|
+
requestedMode: CompactionMode;
|
|
97
|
+
mode: EffectiveCompactionMode;
|
|
89
98
|
profile: CompressionProfile;
|
|
90
99
|
}
|
|
91
100
|
export interface PreparedExt {
|
|
@@ -96,8 +105,10 @@ export interface PreparedExt {
|
|
|
96
105
|
providerCaps: ProviderCapabilities;
|
|
97
106
|
estimator: TokenEstimator;
|
|
98
107
|
adapted: boolean;
|
|
99
|
-
summaryAuth
|
|
100
|
-
|
|
108
|
+
summaryAuth?: ResolvedAuth;
|
|
109
|
+
/** Optional routes resolve credentials only when the stage actually runs. */
|
|
110
|
+
segAuth?: ResolvedAuth;
|
|
111
|
+
verifyAuth?: ResolvedAuth;
|
|
101
112
|
}
|
|
102
113
|
export type PreparedRc = RcBase & PreparedExt;
|
|
103
114
|
export interface WindowedExt extends PreparedExt {
|
|
@@ -135,6 +146,8 @@ export interface ExtractedExt extends TieredExt {
|
|
|
135
146
|
prevContext: string;
|
|
136
147
|
projectCtx: string;
|
|
137
148
|
projectId: string;
|
|
149
|
+
continuityScope: ContinuityScope;
|
|
150
|
+
previousState: CompactionState | null;
|
|
138
151
|
/**
|
|
139
152
|
* Serialized pruned conversation text. Computed once in `extractWithCache`
|
|
140
153
|
* and reused by `summarizeConversation` so we don't `serializeConversation`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-context.d.ts","sourceRoot":"","sources":["../../src/app/run-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-context.d.ts","sourceRoot":"","sources":["../../src/app/run-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,9 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
20
20
|
import type { Cell } from "../types.ts";
|
|
21
|
+
import type { SessionRunLock } from "./session-run-lock.ts";
|
|
21
22
|
import type { Model, Api } from "@earendil-works/pi-ai";
|
|
22
|
-
import type { CompressionProfile } from "../types.ts";
|
|
23
|
+
import type { CompactionMode, CompressionProfile } from "../types.ts";
|
|
23
24
|
import type { PendingRef } from "./run-context.ts";
|
|
24
25
|
/**
|
|
25
26
|
* Co-operative cancellation surface that the extension entry point can hand
|
|
@@ -50,15 +51,20 @@ export interface SmartCompactOptions {
|
|
|
50
51
|
ctx: ExtensionContext;
|
|
51
52
|
summaryModel: Model<Api>;
|
|
52
53
|
segModel: Model<Api>;
|
|
53
|
-
|
|
54
|
+
/** Optional explicit verification/repair route; defaults to the summary model. */
|
|
55
|
+
verifyModel?: Model<Api>;
|
|
56
|
+
/** New execution preset. Omit to preserve the legacy profile mapping. */
|
|
57
|
+
mode?: CompactionMode;
|
|
58
|
+
profile?: CompressionProfile;
|
|
54
59
|
verbose?: boolean;
|
|
55
60
|
dryRun?: boolean;
|
|
56
61
|
pendingRef: PendingRef;
|
|
57
|
-
isRunning: Cell<boolean
|
|
62
|
+
isRunning: Cell<boolean> | SessionRunLock;
|
|
58
63
|
autoTriggered?: boolean;
|
|
59
64
|
userNote?: string;
|
|
60
65
|
focus?: string;
|
|
61
66
|
maxLlmCalls?: number;
|
|
67
|
+
maxLlmInputTokens?: number;
|
|
62
68
|
skipCompact?: boolean;
|
|
63
69
|
/** Explicit user command may bypass adaptive context-pressure tier gate. */
|
|
64
70
|
force?: boolean;
|
|
@@ -73,6 +79,8 @@ export interface SmartCompactOptions {
|
|
|
73
79
|
* ignore AbortSignal entirely).
|
|
74
80
|
*/
|
|
75
81
|
cancellationOut?: Cell<ExternalCancellation | null>;
|
|
82
|
+
/** Lifecycle callback supplied by the extension's commit store. */
|
|
83
|
+
onNativeApplyError?: (runId: string, error: Error) => boolean;
|
|
76
84
|
}
|
|
77
85
|
export declare function runSmartCompact(opts: SmartCompactOptions): Promise<void>;
|
|
78
86
|
//# sourceMappingURL=run-smart-compact.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-smart-compact.d.ts","sourceRoot":"","sources":["../../src/app/run-smart-compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"run-smart-compact.d.ts","sourceRoot":"","sources":["../../src/app/run-smart-compact.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKtE,OAAO,KAAK,EACQ,UAAU,EAC7B,MAAM,kBAAkB,CAAC;AAc1B;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC;;;;;;;OAOG;IACH,GAAG,EAAE,gBAAgB,CAAC;IACtB,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrB,kFAAkF;IAClF,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,yEAAyE;IACzE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACpD,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;CAC/D;AAoDD,wBAAsB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyM9E"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Cell } from "../types.ts";
|
|
2
|
+
export interface SessionRunLock extends Cell<boolean> {
|
|
3
|
+
acquire(sessionId: string): boolean;
|
|
4
|
+
release(sessionId: string): void;
|
|
5
|
+
isSessionActive(sessionId: string): boolean;
|
|
6
|
+
isRunning(sessionId: string): boolean;
|
|
7
|
+
activeCount(): number;
|
|
8
|
+
size(): number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Same-session serialization plus a filesystem-backed process-global
|
|
12
|
+
* semaphore. A crashed process leaves a lease that is reclaimed only when its
|
|
13
|
+
* PID is no longer alive (or an unreadable lease exceeds the stale ceiling).
|
|
14
|
+
*/
|
|
15
|
+
export declare function createSessionRunLock(maxConcurrent?: number, options?: {
|
|
16
|
+
leaseDir?: string | null;
|
|
17
|
+
staleMs?: number;
|
|
18
|
+
}): SessionRunLock;
|
|
19
|
+
export declare function acquireRunLock(lock: Cell<boolean> | SessionRunLock, sessionId: string): boolean;
|
|
20
|
+
export declare function releaseRunLock(lock: Cell<boolean> | SessionRunLock, sessionId: string): void;
|
|
21
|
+
//# sourceMappingURL=session-run-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-run-lock.d.ts","sourceRoot":"","sources":["../../src/app/session-run-lock.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,OAAO,CAAC;IACnD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,WAAW,IAAI,MAAM,CAAC;IACtB,IAAI,IAAI,MAAM,CAAC;CAChB;AAsDD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,SAAI,EACjB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3D,cAAc,CAoDhB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK/F;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAG5F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stage-auth.d.ts","sourceRoot":"","sources":["../../src/app/stage-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GACtC,OAAO,CAAC,YAAY,CAAC,CA4BvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../src/app/steps/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../src/app/steps/extract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAkB/D,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,WAAW,CA6K1D"}
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
* the JSONL log and never throw past the cache.ts boundary.
|
|
16
16
|
*/
|
|
17
17
|
import type { RcBase, StatedRc } from "../run-context.ts";
|
|
18
|
+
import type { MetricsSnapshot } from "../../types.ts";
|
|
19
|
+
export declare function buildSuccessMetrics(rc: StatedRc, status: "success" | "dry-run" | "cancelled"): MetricsSnapshot;
|
|
18
20
|
export declare function recordSuccessMetrics(rc: StatedRc, status: "success" | "dry-run" | "cancelled"): void;
|
|
19
21
|
/**
|
|
20
22
|
* Partial summary that the orchestrator accumulates as steps complete. The
|
|
@@ -28,6 +30,7 @@ export interface FailureSummaryFields {
|
|
|
28
30
|
totalTokens?: number;
|
|
29
31
|
methodForMetrics?: string;
|
|
30
32
|
profile: string;
|
|
33
|
+
mode?: import("../../types.ts").CompactionMode;
|
|
31
34
|
}
|
|
32
35
|
export declare function recordFailureMetrics(rc: RcBase | StatedRc, err: unknown, fields: FailureSummaryFields): void;
|
|
33
36
|
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/app/steps/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../../src/app/steps/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA0BtD,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAC1C,eAAe,CAsCjB;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAkBpG;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,gBAAgB,EAAE,cAAc,CAAC;CAChD;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,GAAG,QAAQ,EACrB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,oBAAoB,GAC3B,IAAI,CA0BN"}
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
* `ctx.compact()` error.
|
|
10
10
|
*
|
|
11
11
|
* - Project fingerprint and compaction state are persisted **after** the
|
|
12
|
-
*
|
|
12
|
+
* host emits the matching `session_compact` entry. `ctx.compact.onComplete`
|
|
13
|
+
* is UI feedback only and is not a durable-commit authority. If we wrote state
|
|
13
14
|
* eagerly and the compact failed, the next run would believe a successful
|
|
14
15
|
* compaction had happened — corrupting damage detection and the
|
|
15
16
|
* cross-compaction delta. This addresses P1 #5 in the audit.
|
|
@@ -18,20 +19,19 @@
|
|
|
18
19
|
* branch's previous compaction as a best-effort signal.
|
|
19
20
|
*/
|
|
20
21
|
import type { RunContext } from "../run-context.ts";
|
|
21
|
-
import type { PendingCompaction } from "../../types.ts";
|
|
22
|
+
import type { MetricsSnapshot, PendingCompaction } from "../../types.ts";
|
|
22
23
|
import type { StatedRc } from "../run-context.ts";
|
|
23
24
|
/**
|
|
24
|
-
* Persist durable state for
|
|
25
|
+
* Persist durable state for an applied payload.
|
|
25
26
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* else either misses the auto/tool paths (the old onComplete-only wiring) or
|
|
31
|
-
* double-writes on manual (incrementing the fingerprint sessionCount twice).
|
|
32
|
-
* Best-effort: never throws.
|
|
27
|
+
* `session_before_compact` only stages a candidate; Pi may still abort. The
|
|
28
|
+
* extension calls this function exactly once from the correlated
|
|
29
|
+
* `session_compact` event after the compaction entry exists. Best-effort:
|
|
30
|
+
* persistence failures are logged without corrupting the host session.
|
|
33
31
|
*/
|
|
34
|
-
export declare function
|
|
32
|
+
export declare function persistAppliedState(pending: PendingCompaction): void;
|
|
33
|
+
/** Commit state and telemetry after Pi confirms this exact compaction entry. */
|
|
34
|
+
export declare function commitAppliedCompaction(pending: PendingCompaction): void;
|
|
35
35
|
/** Run post-compaction damage detection. Best-effort — never throws. */
|
|
36
36
|
export declare function runDamageDetection(rc: RunContext): void;
|
|
37
37
|
/**
|
|
@@ -40,15 +40,15 @@ export declare function runDamageDetection(rc: RunContext): void;
|
|
|
40
40
|
* the run should keep running side effects (it does until the timeout/cleanup
|
|
41
41
|
* step decides otherwise).
|
|
42
42
|
*/
|
|
43
|
-
export declare function stagePendingCompaction(rc: RunContext): PendingCompaction;
|
|
43
|
+
export declare function stagePendingCompaction(rc: RunContext, metricsSnapshot?: MetricsSnapshot): PendingCompaction;
|
|
44
44
|
/**
|
|
45
45
|
* Trigger Pi's native compact in non-auto/non-tool runs. Failure clears the
|
|
46
46
|
* pendingRef so the next compact event cannot grab a stale summary (audit
|
|
47
47
|
* P1 #4).
|
|
48
48
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
49
|
+
* `session_compact` owns success metrics and durable commit. onError removes
|
|
50
|
+
* the correlated staged candidate; direct/test callers retain a safe metrics
|
|
51
|
+
* fallback when no lifecycle handler is installed.
|
|
52
52
|
*/
|
|
53
53
|
export declare function applyCompaction(rc: StatedRc): void;
|
|
54
54
|
//# sourceMappingURL=persist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persist.d.ts","sourceRoot":"","sources":["../../../src/app/steps/persist.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"persist.d.ts","sourceRoot":"","sources":["../../../src/app/steps/persist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAc,MAAM,gBAAgB,CAAC;AASrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAMlD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CASpE;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAWxE;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,CAkCvD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,iBAAiB,CAkB3G;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAoBlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/app/steps/prepare.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/app/steps/prepare.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAgB,MAAM,mBAAmB,CAAC;AAY1E,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAmEvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/app/steps/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/app/steps/state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAgB9D,wBAAgB,UAAU,CAAC,EAAE,EAAE,UAAU,GAAG,QAAQ,CA2InD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../../src/app/steps/synthesize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../../../src/app/steps/synthesize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAcH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKpE,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CA6UnF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/app/steps/verify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/app/steps/verify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAkBnE,wBAAsB,cAAc,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAuF3E"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Stage: `PreparedRc` → `WindowedRc | null`.
|
|
5
5
|
*
|
|
6
|
-
* The window is the prefix of
|
|
6
|
+
* The window is the prefix of active-context messages we will summarize. Walks back
|
|
7
7
|
* from the tail accumulating tokens up to `keepRecentTokens`, then anchors:
|
|
8
8
|
*
|
|
9
9
|
* - `smartKeepBoundary` respects the latest on-branch anchor and avoids
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/app/steps/window.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/app/steps/window.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOhE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAqGzE"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -8,17 +8,19 @@ import type { CompressionProfile, ProfileConfig } from "./types.ts";
|
|
|
8
8
|
* `package.json#version`. Do not hand-edit this line for releases; bump
|
|
9
9
|
* package.json and run `bun run sync-version`.
|
|
10
10
|
*/
|
|
11
|
-
export declare const VERSION = "
|
|
11
|
+
export declare const VERSION = "8.0.0-rc.2";
|
|
12
12
|
export declare const CHARS_PER_TOKEN = 3.8;
|
|
13
13
|
export declare const COMPACT_SYSTEM_PREFIX: string;
|
|
14
14
|
export declare const PROFILES: Record<CompressionProfile, ProfileConfig>;
|
|
15
15
|
export declare const DEFAULT_CONFIG: {
|
|
16
|
+
mode: "auto";
|
|
16
17
|
profile: CompressionProfile;
|
|
17
18
|
profiles: Record<CompressionProfile, ProfileConfig>;
|
|
18
19
|
summaryModel: string | null;
|
|
19
20
|
segmentationModel: string | null;
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
verificationModel: string | null;
|
|
22
|
+
summaryThinkingLevel: "minimal";
|
|
23
|
+
segmentationThinkingLevel: "minimal";
|
|
22
24
|
autoTrigger: boolean;
|
|
23
25
|
autoTriggerTimeoutMs: number;
|
|
24
26
|
backupEnabled: boolean;
|
|
@@ -28,8 +30,13 @@ export declare const DEFAULT_CONFIG: {
|
|
|
28
30
|
scrubSecrets: boolean;
|
|
29
31
|
scrubPii: boolean;
|
|
30
32
|
maxLlmCalls: number;
|
|
33
|
+
maxLlmInputTokens: number;
|
|
34
|
+
codexMaxCallMs: number;
|
|
31
35
|
maxLatencyMs: number;
|
|
32
36
|
focusWeighting: boolean;
|
|
37
|
+
zeroCallEnabled: boolean;
|
|
38
|
+
contextGraphEnabled: boolean;
|
|
39
|
+
telemetryChannel: "stable";
|
|
33
40
|
adaptiveDamageFeedback: boolean;
|
|
34
41
|
onlineDamageMonitor: boolean;
|
|
35
42
|
pinPaths: string[];
|
|
@@ -57,7 +64,7 @@ export declare const SECTION_OPEN_LOOPS = "## Open Loops";
|
|
|
57
64
|
export declare const SECTION_CHANGES = "## Changes Since Last Compaction";
|
|
58
65
|
export declare const LOG_PREFIX = "[smart-compact]";
|
|
59
66
|
export declare const MIN_TOKEN_THRESHOLD = 5000;
|
|
60
|
-
export declare const MAX_EXPLORATION_ROUNDS =
|
|
67
|
+
export declare const MAX_EXPLORATION_ROUNDS = 3;
|
|
61
68
|
export declare const BACKUP_MAX_FILES = 20;
|
|
62
69
|
export declare const BACKUP_MAX_AGE_MS: number;
|
|
63
70
|
export declare const FIVE_MINUTES_MS: number;
|
|
@@ -97,6 +104,8 @@ export declare const TRUNC: {
|
|
|
97
104
|
readonly DETAIL: 300;
|
|
98
105
|
readonly PREVIEW_LONG: 400;
|
|
99
106
|
readonly PREVIEW_XL: 500;
|
|
107
|
+
readonly PREVIOUS_SUMMARY: 12000;
|
|
108
|
+
readonly CONTINUITY_CAPSULE: 4000;
|
|
100
109
|
readonly CHUNK_FALLBACK: 180;
|
|
101
110
|
readonly DECISION_DETAIL: 60;
|
|
102
111
|
readonly TOPIC_LABEL: 100;
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { CompactMetricsEntry, LLMCallMetric, ProviderRouteMetric, ProviderRouteStage } from "../types.ts";
|
|
2
|
+
export type ProviderScenario = "compact/conversational" | "compact/mixed" | "compact/tool-heavy" | "pressure/conversational" | "pressure/mixed" | "pressure/tool-heavy" | "critical/conversational" | "critical/mixed" | "critical/tool-heavy";
|
|
3
|
+
export interface ProviderEvaluationCell {
|
|
4
|
+
stage: ProviderRouteStage;
|
|
5
|
+
scenario: ProviderScenario;
|
|
6
|
+
provider: string;
|
|
7
|
+
model: string;
|
|
8
|
+
runs: number;
|
|
9
|
+
calls: number;
|
|
10
|
+
successRate: number;
|
|
11
|
+
avgLatencyMs: number;
|
|
12
|
+
avgTokensPerCall: number;
|
|
13
|
+
avgQuality: number | null;
|
|
14
|
+
qualityCoverage: number;
|
|
15
|
+
score: number;
|
|
16
|
+
confidence: number;
|
|
17
|
+
eligible: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface ProviderRouteRecommendation {
|
|
20
|
+
stage: ProviderRouteStage;
|
|
21
|
+
scenario: ProviderScenario;
|
|
22
|
+
model: string | null;
|
|
23
|
+
score: number;
|
|
24
|
+
confidence: number;
|
|
25
|
+
reason: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ProviderEvaluationReport {
|
|
28
|
+
generatedAt: string;
|
|
29
|
+
entries: number;
|
|
30
|
+
minSamples: number;
|
|
31
|
+
advisoryOnly: true;
|
|
32
|
+
cells: ProviderEvaluationCell[];
|
|
33
|
+
recommendations: ProviderRouteRecommendation[];
|
|
34
|
+
}
|
|
35
|
+
export declare function providerStage(phase: LLMCallMetric["phase"]): ProviderRouteStage;
|
|
36
|
+
/** Collapse per-call telemetry into one route row per stage/provider/model. */
|
|
37
|
+
export declare function aggregateProviderRoutes(metrics: readonly LLMCallMetric[]): ProviderRouteMetric[];
|
|
38
|
+
export declare function providerScenario(entry: Pick<CompactMetricsEntry, "contextPercent" | "toolPercent">): ProviderScenario;
|
|
39
|
+
/**
|
|
40
|
+
* Build an advisory scenario matrix from persisted real-run telemetry.
|
|
41
|
+
* Legacy rows contribute reliability/latency. Quality is accepted only from
|
|
42
|
+
* an explicitly stage-attributed route sample, never copied from the run's
|
|
43
|
+
* final verifier score into every provider stage.
|
|
44
|
+
*/
|
|
45
|
+
export declare function evaluateProviderMetrics(entries: readonly CompactMetricsEntry[], options?: {
|
|
46
|
+
minSamples?: number;
|
|
47
|
+
}): ProviderEvaluationReport;
|
|
48
|
+
export declare function formatProviderEvaluation(report: ProviderEvaluationReport): string;
|
|
49
|
+
//# sourceMappingURL=provider-evaluation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-evaluation.d.ts","sourceRoot":"","sources":["../../src/domain/provider-evaluation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAC5E,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GAAG,eAAe,GAAG,oBAAoB,GACjE,yBAAyB,GAAG,gBAAgB,GAAG,qBAAqB,GACpE,yBAAyB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,kBAAkB,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,IAAI,CAAC;IACnB,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,eAAe,EAAE,2BAA2B,EAAE,CAAC;CAChD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAI/E;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,mBAAmB,EAAE,CAgChG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,gBAAgB,GAAG,aAAa,CAAC,GAAG,gBAAgB,CAMrH;AAsDD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,mBAAmB,EAAE,EACvC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACpC,wBAAwB,CAiG1B;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,MAAM,CAoBjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary-parse.d.ts","sourceRoot":"","sources":["../../src/domain/summary-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAqC,MAAM,qBAAqB,CAAC;AAehH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAmC/D;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,CAGtG;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAS3G;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,WAAW,GAAG,gBAAgB,GACzC,gBAAgB,CAoClB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,YAAY,SAAK,GAChB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"summary-parse.d.ts","sourceRoot":"","sources":["../../src/domain/summary-parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,EAAqC,MAAM,qBAAqB,CAAC;AAehH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAmC/D;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,CAGtG;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAS3G;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,WAAW,GAAG,gBAAgB,GACzC,gBAAgB,CAoClB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,YAAY,SAAK,GAChB,gBAAgB,CAclB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { CompactMetricsEntry, TelemetryFailureKind } from "../types.ts";
|
|
2
|
+
export interface DamageTelemetryEntry {
|
|
3
|
+
ts?: string;
|
|
4
|
+
/** Originating compaction run; required for trustworthy quality/damage joins. */
|
|
5
|
+
runId?: string;
|
|
6
|
+
version?: string;
|
|
7
|
+
releaseChannel?: "stable" | "canary";
|
|
8
|
+
observationSource?: "online-window" | "next-compaction";
|
|
9
|
+
damageScore?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface TelemetryWindowStats {
|
|
12
|
+
runs: number;
|
|
13
|
+
successRate: number;
|
|
14
|
+
avgQuality: number | null;
|
|
15
|
+
qualityCoverage: number;
|
|
16
|
+
p95LatencyMs: number;
|
|
17
|
+
avgTokens: number;
|
|
18
|
+
fallbackRate: number;
|
|
19
|
+
damageRate: number;
|
|
20
|
+
damageCoverage: number;
|
|
21
|
+
}
|
|
22
|
+
export interface CanaryTrigger {
|
|
23
|
+
metric: "failure-rate" | "quality" | "latency" | "tokens" | "fallback" | "damage";
|
|
24
|
+
baseline: number;
|
|
25
|
+
canary: number;
|
|
26
|
+
threshold: string;
|
|
27
|
+
}
|
|
28
|
+
export interface CanaryAssessment {
|
|
29
|
+
version: string;
|
|
30
|
+
decision: "promote" | "hold" | "rollback";
|
|
31
|
+
dataConfidence: number;
|
|
32
|
+
baseline: TelemetryWindowStats;
|
|
33
|
+
canary: TelemetryWindowStats;
|
|
34
|
+
triggers: CanaryTrigger[];
|
|
35
|
+
reasons: string[];
|
|
36
|
+
}
|
|
37
|
+
export interface PrivacySafeTelemetryAggregate {
|
|
38
|
+
version: string;
|
|
39
|
+
channel: "stable" | "canary";
|
|
40
|
+
provider: string;
|
|
41
|
+
model: string;
|
|
42
|
+
runs: number;
|
|
43
|
+
successes: number;
|
|
44
|
+
avgQuality: number | null;
|
|
45
|
+
avgLatencyMs: number;
|
|
46
|
+
inputTokens: number;
|
|
47
|
+
outputTokens: number;
|
|
48
|
+
}
|
|
49
|
+
export interface PrivacySafeTelemetry {
|
|
50
|
+
generatedAt: string;
|
|
51
|
+
totalRuns: number;
|
|
52
|
+
aggregates: PrivacySafeTelemetryAggregate[];
|
|
53
|
+
failures: Partial<Record<TelemetryFailureKind, number>>;
|
|
54
|
+
canary: CanaryAssessment;
|
|
55
|
+
privacy: "aggregate-only; no session ids, project ids, prompts, summaries, paths, or error text";
|
|
56
|
+
}
|
|
57
|
+
/** Stable, content-free failure taxonomy for aggregate telemetry. */
|
|
58
|
+
export declare function classifyTelemetryFailure(error: unknown, timedOut?: boolean): TelemetryFailureKind;
|
|
59
|
+
export declare function assessCanary(entries: readonly CompactMetricsEntry[], damageEntries: readonly DamageTelemetryEntry[], options: {
|
|
60
|
+
version: string;
|
|
61
|
+
minCanaryRuns?: number;
|
|
62
|
+
baselineRuns?: number;
|
|
63
|
+
}): CanaryAssessment;
|
|
64
|
+
export declare function buildPrivacySafeTelemetry(entries: readonly CompactMetricsEntry[], damageEntries: readonly DamageTelemetryEntry[], options: {
|
|
65
|
+
version: string;
|
|
66
|
+
minCanaryRuns?: number;
|
|
67
|
+
}): PrivacySafeTelemetry;
|
|
68
|
+
export declare function formatPrivacySafeTelemetry(report: PrivacySafeTelemetry): string;
|
|
69
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/domain/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
* Architecture: Extract -> Explore -> Synthesize -> Verify
|
|
5
5
|
*/
|
|
6
6
|
import { type ExtensionAPI, type ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
7
|
-
import type
|
|
7
|
+
import { type Model, type Api } from "@earendil-works/pi-ai";
|
|
8
8
|
import { loadConfig } from "./utils/helpers.ts";
|
|
9
9
|
/** Resolve a "provider/id" string through the model registry. */
|
|
10
10
|
export declare function findModelById(ctx: ExtensionContext, modelId: string): Model<Api> | undefined;
|
|
11
11
|
export declare function resolveModels(ctx: ExtensionContext, primary: Model<Api> | undefined, config: ReturnType<typeof loadConfig>, explicit?: boolean): {
|
|
12
12
|
segModel: Model<Api> | undefined;
|
|
13
13
|
sumModel: Model<Api> | undefined;
|
|
14
|
+
verifyModel: Model<Api> | undefined;
|
|
14
15
|
};
|
|
15
16
|
export default function smartCompactExtension(pi: ExtensionAPI): void;
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACzG,OAAO,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAgB,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACzG,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAKzE,OAAO,EAAE,UAAU,EAAwE,MAAM,oBAAoB,CAAC;AAwDtH,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAG5F;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EAC/B,MAAM,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EACrC,QAAQ,UAAQ,GACf;IAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;CAAE,CAwB7G;AAeD,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,EAAE,YAAY,QA2iB7D"}
|