pi-smart-compact 9.7.1 → 10.0.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/ARCHITECTURE.md +979 -372
- package/CHANGELOG.md +710 -0
- package/LICENSE +8 -0
- package/README.md +130 -640
- package/SECURITY.md +34 -12
- package/SUPPORT.md +26 -9
- package/assets/DejaVu-LICENSE.txt +187 -0
- package/assets/DejaVuSansMono.ttf +0 -0
- package/assets/README.md +26 -0
- package/assets/skills/context-management/SKILL.md +34 -0
- package/dist/app/anchor-cache.d.ts +36 -0
- package/dist/app/anchor-cache.d.ts.map +1 -0
- package/dist/app/artifact-storage.d.ts +47 -0
- package/dist/app/artifact-storage.d.ts.map +1 -0
- package/dist/app/background-preparation.d.ts +39 -0
- package/dist/app/background-preparation.d.ts.map +1 -0
- package/dist/app/compaction-commit-store.d.ts +5 -1
- package/dist/app/compaction-commit-store.d.ts.map +1 -1
- package/dist/app/context-evidence.d.ts +57 -0
- package/dist/app/context-evidence.d.ts.map +1 -0
- package/dist/app/context-guide.d.ts +3 -0
- package/dist/app/context-guide.d.ts.map +1 -0
- package/dist/app/context-operations.d.ts +106 -0
- package/dist/app/context-operations.d.ts.map +1 -0
- package/dist/app/effective-state.d.ts +23 -0
- package/dist/app/effective-state.d.ts.map +1 -0
- package/dist/app/extension-conflicts.d.ts +15 -0
- package/dist/app/extension-conflicts.d.ts.map +1 -0
- package/dist/app/global-settings-runtime.d.ts +3 -3
- package/dist/app/global-settings-runtime.d.ts.map +1 -1
- package/dist/app/hindsight-memory.d.ts +100 -0
- package/dist/app/hindsight-memory.d.ts.map +1 -0
- package/dist/app/host-cache-ledger.d.ts +68 -0
- package/dist/app/host-cache-ledger.d.ts.map +1 -0
- package/dist/app/lazy-tools.d.ts +36 -0
- package/dist/app/lazy-tools.d.ts.map +1 -0
- package/dist/app/memory-backend.d.ts +58 -0
- package/dist/app/memory-backend.d.ts.map +1 -0
- package/dist/app/mnemopi-memory.d.ts +13 -0
- package/dist/app/mnemopi-memory.d.ts.map +1 -0
- package/dist/app/mnemopi-protocol.d.ts +78 -0
- package/dist/app/mnemopi-protocol.d.ts.map +1 -0
- package/dist/app/mnemopi-worker.d.ts +2 -0
- package/dist/app/mnemopi-worker.d.ts.map +1 -0
- package/dist/app/model-feasibility.d.ts +20 -0
- package/dist/app/model-feasibility.d.ts.map +1 -0
- package/dist/app/native-compaction.d.ts +88 -0
- package/dist/app/native-compaction.d.ts.map +1 -0
- package/dist/app/native-continuity-bridge.d.ts.map +1 -1
- package/dist/app/navigation-data.d.ts +28 -0
- package/dist/app/navigation-data.d.ts.map +1 -0
- package/dist/app/navigation-types.d.ts +60 -0
- package/dist/app/navigation-types.d.ts.map +1 -0
- package/dist/app/pending-slot.d.ts +11 -1
- package/dist/app/pending-slot.d.ts.map +1 -1
- package/dist/app/preflight.d.ts.map +1 -1
- package/dist/app/register-context-tools.d.ts +16 -3
- package/dist/app/register-context-tools.d.ts.map +1 -1
- package/dist/app/register-navigation.d.ts +20 -0
- package/dist/app/register-navigation.d.ts.map +1 -0
- package/dist/app/register-smart-compact-command.d.ts +17 -2
- package/dist/app/register-smart-compact-command.d.ts.map +1 -1
- package/dist/app/register-smart-compact-tool.d.ts.map +1 -1
- package/dist/app/register-smart-context-tool.d.ts +55 -0
- package/dist/app/register-smart-context-tool.d.ts.map +1 -0
- package/dist/app/run-context.d.ts +1 -0
- package/dist/app/run-context.d.ts.map +1 -1
- package/dist/app/run-smart-compact.d.ts +3 -3
- package/dist/app/run-smart-compact.d.ts.map +1 -1
- package/dist/app/session-handoff.d.ts +64 -0
- package/dist/app/session-handoff.d.ts.map +1 -0
- package/dist/app/session-lineage.d.ts +17 -0
- package/dist/app/session-lineage.d.ts.map +1 -0
- package/dist/app/session-run-lock.d.ts +0 -2
- package/dist/app/session-run-lock.d.ts.map +1 -1
- package/dist/app/settled-auto-trigger.d.ts +2 -0
- package/dist/app/settled-auto-trigger.d.ts.map +1 -1
- package/dist/app/smart-compact-input.d.ts +1 -1
- package/dist/app/smart-compact-input.d.ts.map +1 -1
- package/dist/app/smart-compact-policy.d.ts +1 -1
- package/dist/app/smart-compact-policy.d.ts.map +1 -1
- package/dist/app/steps/extract.d.ts +45 -1
- package/dist/app/steps/extract.d.ts.map +1 -1
- package/dist/app/steps/metrics.d.ts +1 -0
- package/dist/app/steps/metrics.d.ts.map +1 -1
- package/dist/app/steps/persist.d.ts.map +1 -1
- package/dist/app/steps/prepare.d.ts.map +1 -1
- package/dist/app/steps/recover.d.ts +9 -0
- package/dist/app/steps/recover.d.ts.map +1 -1
- package/dist/app/steps/synthesize.d.ts.map +1 -1
- package/dist/app/steps/tier.d.ts.map +1 -1
- package/dist/app/steps/verify.d.ts.map +1 -1
- package/dist/app/steps/visual.d.ts +4 -0
- package/dist/app/steps/visual.d.ts.map +1 -0
- package/dist/app/steps/window.d.ts.map +1 -1
- package/dist/app/tool-artifacts.d.ts +27 -0
- package/dist/app/tool-artifacts.d.ts.map +1 -0
- package/dist/app/visual-archive.d.ts +29 -0
- package/dist/app/visual-archive.d.ts.map +1 -0
- package/dist/constants.d.ts +96 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/domain/compaction-usage.d.ts +16 -0
- package/dist/domain/compaction-usage.d.ts.map +1 -0
- package/dist/domain/model-capacity.d.ts +12 -0
- package/dist/domain/model-capacity.d.ts.map +1 -0
- package/dist/domain/provider-evaluation.d.ts +7 -0
- package/dist/domain/provider-evaluation.d.ts.map +1 -1
- package/dist/domain/telemetry.d.ts +43 -2
- package/dist/domain/telemetry.d.ts.map +1 -1
- package/dist/domain/tool-semantics.d.ts +23 -0
- package/dist/domain/tool-semantics.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15857 -6965
- package/dist/infra/ai-messages.d.ts +1 -1
- package/dist/infra/ai-messages.d.ts.map +1 -1
- package/dist/infra/context-graph.d.ts +38 -7
- package/dist/infra/context-graph.d.ts.map +1 -1
- package/dist/infra/fs.d.ts.map +1 -1
- package/dist/infra/hindsight-client.d.ts +73 -0
- package/dist/infra/hindsight-client.d.ts.map +1 -0
- package/dist/infra/hindsight-receipts.d.ts +68 -0
- package/dist/infra/hindsight-receipts.d.ts.map +1 -0
- package/dist/infra/llm-client.d.ts +26 -23
- package/dist/infra/llm-client.d.ts.map +1 -1
- package/dist/infra/memory-ref.d.ts +27 -0
- package/dist/infra/memory-ref.d.ts.map +1 -0
- package/dist/infra/native-protocol.d.ts +54 -0
- package/dist/infra/native-protocol.d.ts.map +1 -0
- package/dist/infra/optional-components.d.ts +15 -0
- package/dist/infra/optional-components.d.ts.map +1 -0
- package/dist/infra/paths.d.ts +2 -0
- package/dist/infra/paths.d.ts.map +1 -1
- package/dist/infra/services.d.ts +15 -5
- package/dist/infra/services.d.ts.map +1 -1
- package/dist/infra/visual-renderer.d.ts +16 -0
- package/dist/infra/visual-renderer.d.ts.map +1 -0
- package/dist/mnemopi-worker.js +213 -0
- package/dist/phases/explore.d.ts +12 -9
- package/dist/phases/explore.d.ts.map +1 -1
- package/dist/phases/synthesize.d.ts +18 -3
- package/dist/phases/synthesize.d.ts.map +1 -1
- package/dist/phases/verify.d.ts +5 -1
- package/dist/phases/verify.d.ts.map +1 -1
- package/dist/rtk.d.ts +7 -0
- package/dist/rtk.d.ts.map +1 -0
- package/dist/rtk.js +767 -0
- package/dist/types.d.ts +128 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/dashboard-format.d.ts +2 -1
- package/dist/ui/dashboard-format.d.ts.map +1 -1
- package/dist/ui/dashboard-insights.d.ts +9 -1
- package/dist/ui/dashboard-insights.d.ts.map +1 -1
- package/dist/ui/error-format.d.ts +7 -2
- package/dist/ui/error-format.d.ts.map +1 -1
- package/dist/ui/handoff-overlay.d.ts +26 -0
- package/dist/ui/handoff-overlay.d.ts.map +1 -0
- package/dist/ui/home-overlay.d.ts +54 -0
- package/dist/ui/home-overlay.d.ts.map +1 -0
- package/dist/ui/metrics-dashboard-overlay.d.ts.map +1 -1
- package/dist/ui/metrics-report.d.ts.map +1 -1
- package/dist/ui/navigation-overlay.d.ts +92 -0
- package/dist/ui/navigation-overlay.d.ts.map +1 -0
- package/dist/ui/overlays.d.ts +12 -2
- package/dist/ui/overlays.d.ts.map +1 -1
- package/dist/ui/profiles.d.ts +51 -0
- package/dist/ui/profiles.d.ts.map +1 -0
- package/dist/ui/settings-complex.d.ts +49 -3
- package/dist/ui/settings-complex.d.ts.map +1 -1
- package/dist/ui/settings-list.d.ts +28 -0
- package/dist/ui/settings-list.d.ts.map +1 -0
- package/dist/ui/settings-overlay.d.ts +13 -6
- package/dist/ui/settings-overlay.d.ts.map +1 -1
- package/dist/ui/storage-report.d.ts +4 -0
- package/dist/ui/storage-report.d.ts.map +1 -0
- package/dist/utils/backups.d.ts.map +1 -1
- package/dist/utils/cache.d.ts +6 -2
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/config.d.ts +12 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/id-fingerprint.d.ts +3 -1
- package/dist/utils/id-fingerprint.d.ts.map +1 -1
- package/dist/utils/issues.d.ts +61 -0
- package/dist/utils/issues.d.ts.map +1 -0
- package/dist/utils/pruning.d.ts.map +1 -1
- package/dist/utils/session-log.d.ts +0 -2
- package/dist/utils/session-log.d.ts.map +1 -1
- package/dist/utils/state.d.ts +3 -1
- package/dist/utils/state.d.ts.map +1 -1
- package/dist/utils/tokens.d.ts +10 -2
- package/dist/utils/tokens.d.ts.map +1 -1
- package/docs/MIGRATING_TO_V8.md +7 -1
- package/docs/README.md +69 -0
- package/docs/RELEASE.md +174 -56
- package/docs/assets/banner.png +0 -0
- package/docs/assets/banner.svg +1158 -70
- package/docs/assets/pi-smart-compact.png +0 -0
- package/docs/assets/pi-smart-compact.svg +24 -0
- package/docs/configuration.md +637 -0
- package/docs/evaluation.md +409 -0
- package/docs/guide.md +879 -0
- package/docs/hindsight-memory.md +314 -0
- package/docs/identity.md +124 -0
- package/package.json +44 -11
- package/dist/provider-eval.js +0 -2122
- package/dist/provider-scenario-eval.js +0 -2900
- package/dist/telemetry-report.js +0 -1973
- package/docs/provider-evaluation-2026-08-06.md +0 -63
package/dist/ui/overlays.d.ts
CHANGED
|
@@ -2,19 +2,25 @@
|
|
|
2
2
|
* TUI overlays: model/profile selection, progress, result screen.
|
|
3
3
|
*/
|
|
4
4
|
import type { ExtensionCommandContext, ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
5
|
+
import type { ModelFeasibility } from "../app/model-feasibility.ts";
|
|
5
6
|
import type { CompactConfig, CompactionMode, ModelOption, ProgressState, SmartCompactDetails, StructuredExtraction } from "../types.ts";
|
|
6
7
|
import { type SmartCompactServices } from "../infra/services.ts";
|
|
7
8
|
import { type ManualPreflight } from "../app/preflight.ts";
|
|
8
|
-
import type { EffectiveCompactionMode } from "../types.ts";
|
|
9
|
+
import type { CompactionEngine, EffectiveCompactionMode } from "../types.ts";
|
|
9
10
|
export declare function recommendPreflight(plans: ReadonlyMap<EffectiveCompactionMode, ManualPreflight>): {
|
|
10
11
|
mode: EffectiveCompactionMode;
|
|
11
12
|
reason: string;
|
|
12
13
|
};
|
|
13
14
|
/** Compact decision copy; technical planner data stays behind D. */
|
|
14
|
-
export declare function formatPreflightSummary(preflight: ManualPreflight, modelLabel: string, details?: boolean): string[];
|
|
15
|
+
export declare function formatPreflightSummary(preflight: ManualPreflight, modelLabel: string, details?: boolean, engines?: readonly CompactionEngine[]): string[];
|
|
15
16
|
export declare function showProgressOverlay(ctx: ExtensionContext, state: ProgressState): void;
|
|
16
17
|
export declare function clearCompactProgress(ctx: ExtensionContext): void;
|
|
18
|
+
export declare function notifyNativeText(details: SmartCompactDetails): string;
|
|
17
19
|
export declare function notifyAppliedCompaction(ctx: ExtensionContext, details: SmartCompactDetails, concise: boolean): void;
|
|
20
|
+
/**
|
|
21
|
+
* Review (approval) or completion screen. Outcome, warnings and the full summary
|
|
22
|
+
* are always visible; engine, extraction and pipeline diagnostics sit behind D.
|
|
23
|
+
*/
|
|
18
24
|
export declare function showResultScreen(ctx: ExtensionContext, details: SmartCompactDetails, extraction: StructuredExtraction, services: SmartCompactServices, opts?: {
|
|
19
25
|
approval?: boolean;
|
|
20
26
|
summary?: string;
|
|
@@ -25,6 +31,10 @@ export declare function showCompactUI(ctx: ExtensionCommandContext, opts: {
|
|
|
25
31
|
activeModelLabel: string;
|
|
26
32
|
defaultModelIndex: number;
|
|
27
33
|
config: CompactConfig;
|
|
34
|
+
/** Capacity snapshot taken before the picker opens; absent = every model selectable. */
|
|
35
|
+
feasibility?: ModelFeasibility;
|
|
36
|
+
/** Shows local effective state; the picker reopens afterwards. */
|
|
37
|
+
showEffectiveState?: () => Promise<void>;
|
|
28
38
|
}): Promise<{
|
|
29
39
|
model: ModelOption;
|
|
30
40
|
mode: CompactionMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../../src/ui/overlays.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../../src/ui/overlays.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACX,uBAAuB,EACvB,gBAAgB,EAChB,MAAM,iCAAiC,CAAC;AAgBzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEN,KAAK,oBAAoB,EACzB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAIN,KAAK,eAAe,EACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AA6K7E,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,WAAW,CAAC,uBAAuB,EAAE,eAAe,CAAC,GAC1D;IACF,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CACf,CAiDA;AA0BD,oEAAoE;AACpE,wBAAgB,sBAAsB,CACrC,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAClB,OAAO,UAAQ,EACf,OAAO,GAAE,SAAS,gBAAgB,EAAa,GAC7C,MAAM,EAAE,CA+BV;AAKD,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,aAAa,GAClB,IAAI,CAiCN;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAMhE;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAkBrE;AAED,wBAAgB,uBAAuB,CACtC,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,OAAO,GACd,IAAI,CAkEN;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAgVxC;AAOD,wBAAsB,aAAa,CAClC,GAAG,EAAE,uBAAuB,EAC5B,IAAI,EAAE;IACL,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,wFAAwF;IACxF,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,GACC,OAAO,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG,IAAI,CAAC,CA+S9D;AAED,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task-level profiles derived from existing global settings. Nothing new is
|
|
3
|
+
* stored: a profile is recognised from its flags and applied as one atomic
|
|
4
|
+
* patch of those flags. `undefined` in a patch means "reset to the built-in
|
|
5
|
+
* default". Any other flag combination is "custom" and is never overwritten
|
|
6
|
+
* implicitly.
|
|
7
|
+
*/
|
|
8
|
+
import type { Api, Model } from "@earendil-works/pi-ai";
|
|
9
|
+
import type { CompactConfig } from "../types.ts";
|
|
10
|
+
import type { GlobalConfigPath, GlobalConfigValue } from "../utils/config.ts";
|
|
11
|
+
export type ConfigPatch = Partial<Record<GlobalConfigPath, GlobalConfigValue>>;
|
|
12
|
+
export interface ProfileOption<Id extends string> {
|
|
13
|
+
id: Id;
|
|
14
|
+
label: string;
|
|
15
|
+
/** What the user gets and what it costs, without promising more than the code does. */
|
|
16
|
+
summary: string;
|
|
17
|
+
patch: ConfigPatch;
|
|
18
|
+
}
|
|
19
|
+
export interface DerivedProfile<Id extends string> {
|
|
20
|
+
/** The matching profile, or "custom" when the flags match none. */
|
|
21
|
+
id: Id | "custom";
|
|
22
|
+
/** Short name that fits a narrow value column. */
|
|
23
|
+
label: string;
|
|
24
|
+
/** One plain sentence on what the current flags do; set for defaults and custom states. */
|
|
25
|
+
detail?: string;
|
|
26
|
+
}
|
|
27
|
+
export type BehaviorProfileId = "manual" | "agent" | "cleanup" | "automatic";
|
|
28
|
+
export declare const BEHAVIOR_PROFILES: readonly ProfileOption<BehaviorProfileId>[];
|
|
29
|
+
type BehaviorFlags = Pick<CompactConfig, "autoTrigger" | "autoTriggerStrategy" | "contextHygieneEnabled" | "agentToolAccess">;
|
|
30
|
+
export declare function deriveBehaviorProfile(config: BehaviorFlags): DerivedProfile<BehaviorProfileId>;
|
|
31
|
+
export type OutputProfileId = "verified" | "visual" | "native";
|
|
32
|
+
export declare const OUTPUT_PROFILES: readonly ProfileOption<OutputProfileId>[];
|
|
33
|
+
type OutputFlags = Pick<CompactConfig, "compactionEngines" | "visualArchiveEnabled">;
|
|
34
|
+
export declare function deriveOutputProfile(config: OutputFlags): DerivedProfile<OutputProfileId>;
|
|
35
|
+
/**
|
|
36
|
+
* Why an output profile has no effect for the current chat model, or undefined
|
|
37
|
+
* when it can apply. Visual and native depend on the model that reads the
|
|
38
|
+
* compacted context, not on the summary route.
|
|
39
|
+
*/
|
|
40
|
+
export declare function outputProfileLimit(id: OutputProfileId, chatModel: Pick<Model<Api>, "provider" | "id" | "api" | "input"> | undefined): string | undefined;
|
|
41
|
+
export type ModelProfileId = "chat" | "summary";
|
|
42
|
+
type ModelFlags = Pick<CompactConfig, "summaryModel" | "segmentationModel" | "verificationModel">;
|
|
43
|
+
/**
|
|
44
|
+
* chat: every stage uses the chat model. summary: one chosen model for the
|
|
45
|
+
* summary; segmentation and verification inherit it. Anything else is a
|
|
46
|
+
* per-stage override.
|
|
47
|
+
*/
|
|
48
|
+
export declare function deriveModelProfile(config: ModelFlags): DerivedProfile<ModelProfileId>;
|
|
49
|
+
export declare function modelProfilePatch(id: ModelProfileId, summaryModel?: string): ConfigPatch;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/ui/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI9E,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAE/E,MAAM,WAAW,aAAa,CAAC,EAAE,SAAS,MAAM;IAC9C,EAAE,EAAE,EAAE,CAAC;IACP,KAAK,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,cAAc,CAAC,EAAE,SAAS,MAAM;IAC/C,mEAAmE;IACnE,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC;IAClB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7E,eAAO,MAAM,iBAAiB,EAAE,SAAS,aAAa,CAAC,iBAAiB,CAAC,EAyBxE,CAAC;AAEF,KAAK,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,qBAAqB,GAAG,uBAAuB,GAAG,iBAAiB,CAAC,CAAC;AAc9H,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAyB9F;AAID,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/D,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,CAAC,eAAe,CAAC,EAsBpE,CAAC;AAEF,KAAK,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,mBAAmB,GAAG,sBAAsB,CAAC,CAAC;AAOrF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC,CAiBxF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,GAAG,SAAS,GAC3E,MAAM,GAAG,SAAS,CAUpB;AAID,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhD,KAAK,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,GAAG,mBAAmB,GAAG,mBAAmB,CAAC,CAAC;AAElG;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC,cAAc,CAAC,CAOrF;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CAOxF"}
|
|
@@ -1,9 +1,55 @@
|
|
|
1
1
|
import type { ExtensionCommandContext } from "@earendil-works/pi-coding-agent";
|
|
2
2
|
import { type SettingItem } from "@earendil-works/pi-tui";
|
|
3
|
-
import type { CompactConfig } from "../types.ts";
|
|
3
|
+
import type { CompactConfig, CompressionProfile } from "../types.ts";
|
|
4
4
|
import { type GlobalConfigPath, type GlobalConfigValue } from "../utils/config.ts";
|
|
5
|
+
import { SmartSettingsList } from "./settings-list.ts";
|
|
6
|
+
import type { ModelFeasibility } from "../app/model-feasibility.ts";
|
|
5
7
|
export type GlobalConfigWriter = (path: GlobalConfigPath, value: GlobalConfigValue) => Promise<CompactConfig>;
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
+
export interface InputSetting {
|
|
9
|
+
id: GlobalConfigPath;
|
|
10
|
+
label: string;
|
|
11
|
+
description: string;
|
|
12
|
+
placeholder: string;
|
|
13
|
+
parse(input: string): GlobalConfigValue;
|
|
14
|
+
format(value: GlobalConfigValue): string;
|
|
15
|
+
}
|
|
16
|
+
export declare const MODEL_SETTINGS: readonly [{
|
|
17
|
+
readonly id: "summaryModel";
|
|
18
|
+
readonly label: "Summary model";
|
|
19
|
+
readonly description: "Writes the summary. Default: the chat model.";
|
|
20
|
+
}, {
|
|
21
|
+
readonly id: "segmentationModel";
|
|
22
|
+
readonly label: "Topic split model";
|
|
23
|
+
readonly description: "Splits long conversations into topics before summarizing. Default: the summary model.";
|
|
24
|
+
}, {
|
|
25
|
+
readonly id: "verificationModel";
|
|
26
|
+
readonly label: "Check & repair model";
|
|
27
|
+
readonly description: "Fixes gaps the checker finds in a summary. Default: the summary model.";
|
|
28
|
+
}];
|
|
29
|
+
export declare const MIN_CONTEXT_SETTING: InputSetting;
|
|
30
|
+
export declare const MAX_CONTEXT_SETTING: InputSetting;
|
|
31
|
+
export declare const PREPARE_CONTEXT_SETTING: InputSetting;
|
|
32
|
+
export declare const LIMIT_SETTINGS: readonly InputSetting[];
|
|
33
|
+
export declare const HINDSIGHT_SETTINGS: readonly InputSetting[];
|
|
34
|
+
export declare const MNEMOPI_DATA_DIR_SETTING: InputSetting;
|
|
35
|
+
export declare const BACKUP_DIR_SETTING: InputSetting;
|
|
36
|
+
export declare const PIN_PATHS_SETTING: InputSetting;
|
|
37
|
+
export declare function profileSettings(profile: CompressionProfile): InputSetting[];
|
|
38
|
+
/** Row label with the "changed from default" bullet, matching category rows. */
|
|
39
|
+
export declare function inputLabel(setting: InputSetting): string;
|
|
40
|
+
/** Format the stored override the way the input row displays it. */
|
|
41
|
+
export declare function inputDisplay(setting: InputSetting): string;
|
|
42
|
+
export declare function inputEffectiveDescription(setting: InputSetting, config: CompactConfig): string;
|
|
43
|
+
/** One row that opens an inline editor for a validated text/number setting. */
|
|
44
|
+
export declare function inputSettingItem(setting: InputSetting, requestRender: () => void, writeConfig: GlobalConfigWriter, onWritten?: (config: CompactConfig) => void): SettingItem;
|
|
45
|
+
export declare function inputSettingsList(settings: readonly InputSetting[], requestRender: () => void, done: () => void, writeConfig: GlobalConfigWriter, onError: (message: string) => void): SmartSettingsList;
|
|
46
|
+
/** Rows for the three run modes, each opening the six budgets its profile stores. */
|
|
47
|
+
export declare function profileBudgetsList(requestRender: () => void, done: () => void, writeConfig: GlobalConfigWriter, onError: (message: string) => void): SmartSettingsList;
|
|
48
|
+
/** "N changed" or "defaults" for a set of stored paths. */
|
|
49
|
+
export declare function countChangedPaths(ids: readonly GlobalConfigPath[]): string;
|
|
50
|
+
export declare function profileConfigPaths(): GlobalConfigPath[];
|
|
51
|
+
export declare function modelSettingsItems(ctx: ExtensionCommandContext, requestRender: () => void, writeConfig?: GlobalConfigWriter, feasibility?: ModelFeasibility): SettingItem[];
|
|
52
|
+
/** Row that opens the model picker for one model setting. */
|
|
53
|
+
export declare function modelSettingItem(id: (typeof MODEL_SETTINGS)[number]["id"], ctx: ExtensionCommandContext, requestRender: () => void, writeConfig: GlobalConfigWriter, feasibility?: ModelFeasibility): SettingItem;
|
|
8
54
|
export declare function complexConfigPaths(): GlobalConfigPath[];
|
|
9
55
|
//# sourceMappingURL=settings-complex.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-complex.d.ts","sourceRoot":"","sources":["../../src/ui/settings-complex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,OAAO,EAQL,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"settings-complex.d.ts","sourceRoot":"","sources":["../../src/ui/settings-complex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type SettingItem, SettingsList } from "@earendil-works/pi-tui";
|
|
2
|
+
/** Shown in the value column so inactive rows do not widen the label column. */
|
|
3
|
+
export declare const INACTIVE_PREFIX = "inactive \u00B7 ";
|
|
4
|
+
export declare const CHANGED_MARK = " \u2022";
|
|
5
|
+
export declare class SmartSettingsList extends SettingsList {
|
|
6
|
+
private readonly onReset;
|
|
7
|
+
/** Ids of rows that currently have no effect; kept live by the owner. */
|
|
8
|
+
private readonly inactive;
|
|
9
|
+
/**
|
|
10
|
+
* Called on Enter/Space before the default action; return true to consume
|
|
11
|
+
* it (action rows, rows that are blocked with a visible reason).
|
|
12
|
+
*/
|
|
13
|
+
private readonly onActivate?;
|
|
14
|
+
constructor(items: SettingItem[], maxVisible: number, onChange: (id: string, value: string) => void, onCancel: () => void, onReset?: (id: string) => void,
|
|
15
|
+
/** Ids of rows that currently have no effect; kept live by the owner. */
|
|
16
|
+
inactive?: ReadonlySet<string>,
|
|
17
|
+
/**
|
|
18
|
+
* Called on Enter/Space before the default action; return true to consume
|
|
19
|
+
* it (action rows, rows that are blocked with a visible reason).
|
|
20
|
+
*/
|
|
21
|
+
onActivate?: ((id: string) => boolean) | undefined);
|
|
22
|
+
/** Keep values readable on narrow screens; display shortening never reaches storage. */
|
|
23
|
+
render(width: number): string[];
|
|
24
|
+
/** Id of the highlighted row, or undefined when the list is empty. */
|
|
25
|
+
selectedId(): string | undefined;
|
|
26
|
+
handleInput(data: string): void;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=settings-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-list.d.ts","sourceRoot":"","sources":["../../src/ui/settings-list.ts"],"names":[],"mappings":"AAQA,OAAO,EAEN,KAAK,WAAW,EAChB,YAAY,EAKZ,MAAM,wBAAwB,CAAC;AAEhC,gFAAgF;AAChF,eAAO,MAAM,eAAe,qBAAgB,CAAC;AAC7C,eAAO,MAAM,YAAY,YAAO,CAAC;AAqCjC,qBAAa,iBAAkB,SAAQ,YAAY;IAMjD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,yEAAyE;IACzE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAZ7B,YACC,KAAK,EAAE,WAAW,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAC7C,QAAQ,EAAE,MAAM,IAAI,EACH,OAAO,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAgB;IAC1D,yEAAyE;IACxD,QAAQ,GAAE,WAAW,CAAC,MAAM,CAAa;IAC1D;;;OAGG;IACc,UAAU,CAAC,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,aAAA,EAGrD;IAED,wFAAwF;IAC/E,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA4BvC;IAED,sEAAsE;IACtE,UAAU,IAAI,MAAM,GAAG,SAAS,CAG/B;IAEQ,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAavC;CACD"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type Component, type Focusable,
|
|
1
|
+
import type { ExtensionCommandContext } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { type Component, type Focusable, type SettingItem } from "@earendil-works/pi-tui";
|
|
3
3
|
import { type GlobalConfigPath } from "../utils/config.ts";
|
|
4
4
|
import type { CompactConfig } from "../types.ts";
|
|
5
5
|
import { type GlobalConfigWriter } from "./settings-complex.ts";
|
|
6
|
+
import type { ModelFeasibility } from "../app/model-feasibility.ts";
|
|
7
|
+
import { SmartSettingsList } from "./settings-list.ts";
|
|
6
8
|
import type { SmartCompactPolicy, SmartCompactPolicySnapshot } from "../app/smart-compact-policy.ts";
|
|
7
|
-
type GlobalChoiceGroup = "behavior" | "reasoning" | "safety" | "advanced";
|
|
8
9
|
type GlobalSettingWriter = typeof updateGlobalChoiceSetting;
|
|
9
10
|
export type GlobalSettingApplied = (path: GlobalConfigPath, config: CompactConfig) => void | Promise<void>;
|
|
10
11
|
interface GlobalSettingState {
|
|
@@ -25,6 +26,8 @@ export declare class GlobalSettingsCoordinator {
|
|
|
25
26
|
settled(): Promise<void>;
|
|
26
27
|
private emit;
|
|
27
28
|
}
|
|
29
|
+
export type SettingsCategoryId = "compaction" | "models" | "memory" | "navigation" | "hygiene" | "privacy" | "session" | "advanced";
|
|
30
|
+
type GlobalChoiceGroup = Exclude<SettingsCategoryId, "session">;
|
|
28
31
|
export declare function globalChoiceSettingsItems(group: GlobalChoiceGroup, config: CompactConfig, coordinator?: GlobalSettingsCoordinator): SettingItem[];
|
|
29
32
|
export declare function updateGlobalChoiceSetting(group: GlobalChoiceGroup, id: string, display: string): Promise<CompactConfig>;
|
|
30
33
|
export declare function sessionSettingsItems(policy: SmartCompactPolicy): SettingItem[];
|
|
@@ -36,9 +39,13 @@ export declare function updateSessionSetting(policy: SmartCompactPolicy, ctx: Ex
|
|
|
36
39
|
policy: SmartCompactPolicySnapshot;
|
|
37
40
|
error: string;
|
|
38
41
|
};
|
|
39
|
-
export declare function settingsCategoryItems(policy: SmartCompactPolicy, ctx: ExtensionCommandContext, requestRender?: () => void, coordinator?: GlobalSettingsCoordinator, onApplied?: GlobalSettingApplied, writeConfig?: GlobalConfigWriter): SettingItem[];
|
|
40
|
-
export declare function createSettingsRoot(policy: SmartCompactPolicy, ctx: ExtensionCommandContext, onCancel: () => void, requestRender?: () => void, coordinator?: GlobalSettingsCoordinator, onApplied?: GlobalSettingApplied, writeConfig?: GlobalConfigWriter):
|
|
41
|
-
|
|
42
|
+
export declare function settingsCategoryItems(policy: SmartCompactPolicy, ctx: ExtensionCommandContext, requestRender?: () => void, coordinator?: GlobalSettingsCoordinator, onApplied?: GlobalSettingApplied, writeConfig?: GlobalConfigWriter, feasibility?: ModelFeasibility): SettingItem[];
|
|
43
|
+
export declare function createSettingsRoot(policy: SmartCompactPolicy, ctx: ExtensionCommandContext, onCancel: () => void, requestRender?: () => void, coordinator?: GlobalSettingsCoordinator, onApplied?: GlobalSettingApplied, writeConfig?: GlobalConfigWriter, feasibility?: ModelFeasibility): SmartSettingsList;
|
|
44
|
+
/** One-line summary of settings.json values that were ignored, or null. */
|
|
45
|
+
export declare function invalidSettingsLine(): string | null;
|
|
46
|
+
export declare function createSettingsController(root: SmartSettingsList, display: Component, requestRender: () => void): Component & Focusable;
|
|
47
|
+
/** Persist one global path, then run the live-apply hook with the new config. */
|
|
48
|
+
export declare function appliedConfigWriter(onApplied: GlobalSettingApplied): GlobalConfigWriter;
|
|
42
49
|
/** Open the unified Smart Compact settings panel. */
|
|
43
50
|
export declare function showSmartCompactSettings(ctx: ExtensionCommandContext, policy: SmartCompactPolicy, coordinator?: GlobalSettingsCoordinator, onApplied?: GlobalSettingApplied): Promise<void>;
|
|
44
51
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-overlay.d.ts","sourceRoot":"","sources":["../../src/ui/settings-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"settings-overlay.d.ts","sourceRoot":"","sources":["../../src/ui/settings-overlay.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ArtifactStorageReport } from "../app/artifact-storage.ts";
|
|
2
|
+
export declare function formatBytes(bytes: number): string;
|
|
3
|
+
export declare function formatStorageReport(report: ArtifactStorageReport, now?: number): string;
|
|
4
|
+
//# sourceMappingURL=storage-report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-report.d.ts","sourceRoot":"","sources":["../../src/ui/storage-report.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAO7F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUjD;AAcD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,SAAa,GAAG,MAAM,CAiD3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backups.d.ts","sourceRoot":"","sources":["../../src/utils/backups.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"backups.d.ts","sourceRoot":"","sources":["../../src/utils/backups.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAiH9D,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,EAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,0BAA0B,GAAG,IAAI,CAgDnC;AAED,kFAAkF;AAClF,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,0BAA0B,GACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA+BxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,KAAK,SAAK,GAAG,WAAW,EAAE,CAiCrD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,GACX,kBAAkB,GAAG,IAAI,CA0B3B;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7D;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD,CAWA"}
|
package/dist/utils/cache.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ import type { Model, Api, AssistantMessage, Context } from "@earendil-works/pi-a
|
|
|
13
13
|
import { type SmartCompactServices } from "../infra/services.ts";
|
|
14
14
|
export declare function recordMetric(m: LLMCallMetric, services: SmartCompactServices): void;
|
|
15
15
|
export declare function effectivePromptInputTokens(inputTokens: number, cacheHitTokens: number, cacheWriteTokens?: number): number;
|
|
16
|
+
/** Share of the complete wire prompt served from the provider cache, capped at 1. */
|
|
17
|
+
export declare function cacheHitRateOf(inputTokens: number, cacheHitTokens: number, cacheWriteTokens: number): number;
|
|
16
18
|
export declare function getMetricsSummary(services: SmartCompactServices): {
|
|
17
19
|
totalCalls: number;
|
|
18
20
|
totalInput: number;
|
|
@@ -48,8 +50,10 @@ export declare function recordExtractionCacheMiss(services: SmartCompactServices
|
|
|
48
50
|
* @param keptEntryIds — Ordered entry IDs that survived pruning. This is the
|
|
49
51
|
* index domain used for safe incremental extraction prefix matching.
|
|
50
52
|
*/
|
|
51
|
-
export declare function saveCachedExtraction(sessionId: string, extraction: StructuredExtraction, msgCount: number, firstEntryId?: string, lastEntryId?: string, entryIds?: string[], keptEntryIds?: string[]): void;
|
|
52
|
-
export declare function loadCachedExtraction(sessionId: string
|
|
53
|
+
export declare function saveCachedExtraction(sessionId: string, extraction: StructuredExtraction, msgCount: number, firstEntryId?: string, lastEntryId?: string, entryIds?: string[], keptEntryIds?: string[], messages?: readonly LlmMessage[]): void;
|
|
54
|
+
export declare function loadCachedExtraction(sessionId: string, options?: {
|
|
55
|
+
readOnly?: boolean;
|
|
56
|
+
}): CachedExtraction | null;
|
|
53
57
|
export declare function mergeExtractions(base: StructuredExtraction, delta: StructuredExtraction, baseMsgCount: number, deltaMessages?: LlmMessage[], deltaToolCalls?: ToolCallIndex): StructuredExtraction;
|
|
54
58
|
/** Append a fully materialized payload after an external lifecycle commits. */
|
|
55
59
|
export declare function appendMetricsSnapshot(sessionId: string, snapshot: Omit<CompactMetricsEntry, "ts" | "sessionId">): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -5,6 +5,12 @@ type ProfileNumericKey = (typeof PROFILE_NUMERIC_KEYS)[number];
|
|
|
5
5
|
export type GlobalConfigPath = TopLevelConfigKey | `profiles.${CompressionProfile}.${ProfileNumericKey}`;
|
|
6
6
|
export type GlobalConfigValue = CompactConfig[TopLevelConfigKey] | ProfileConfig[ProfileNumericKey] | undefined;
|
|
7
7
|
export declare function readGlobalConfigValue(configPath: GlobalConfigPath): GlobalConfigValue;
|
|
8
|
+
/**
|
|
9
|
+
* Mnemopi data directory: absolute, or `~/` followed by a path. Relative paths
|
|
10
|
+
* are rejected rather than resolved against an arbitrary cwd; so are bare `~`,
|
|
11
|
+
* `~user` and control characters.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isValidMnemopiDataDir(value: string): boolean;
|
|
8
14
|
/** Remove invalid user values so the defaults merge remains authoritative. */
|
|
9
15
|
export declare function validateSmartCompactConfig(sc: Record<string, unknown>): void;
|
|
10
16
|
/**
|
|
@@ -13,6 +19,12 @@ export declare function validateSmartCompactConfig(sc: Record<string, unknown>):
|
|
|
13
19
|
* default becomes effective again.
|
|
14
20
|
*/
|
|
15
21
|
export declare function writeGlobalConfigValue(configPath: GlobalConfigPath, value: GlobalConfigValue): Promise<CompactConfig>;
|
|
22
|
+
/**
|
|
23
|
+
* Persist several global settings as one change: a single read-modify-write
|
|
24
|
+
* under the settings lock, validated as a whole, written only if every value
|
|
25
|
+
* survives validation (all-or-nothing). `undefined` removes an override.
|
|
26
|
+
*/
|
|
27
|
+
export declare function writeGlobalConfigValues(patch: Partial<Record<GlobalConfigPath, GlobalConfigValue>>): Promise<CompactConfig>;
|
|
16
28
|
/** Test helper — forces the next loadConfig() to re-read settings.json. */
|
|
17
29
|
export declare function resetConfigCache(): void;
|
|
18
30
|
export declare function loadConfig(): CompactConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACX,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,MAAM,aAAa,CAAC;AAgDrB,QAAA,MAAM,oBAAoB,YACzB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,CACP,CAAC;AACX,KAAK,iBAAiB,GAAG,OAAO,CAAC,MAAM,aAAa,EAAE,UAAU,CAAC,CAAC;AAClE,KAAK,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,gBAAgB,GACzB,iBAAiB,GACjB,YAAY,kBAAkB,IAAI,iBAAiB,EAAE,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAC1B,aAAa,CAAC,iBAAiB,CAAC,GAChC,aAAa,CAAC,iBAAiB,CAAC,GAChC,SAAS,CAAC;AAEb,wBAAgB,qBAAqB,CACpC,UAAU,EAAE,gBAAgB,GAC1B,iBAAiB,CASnB;AAwgBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI5D;AAkGD,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAQ5E;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC3C,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,iBAAiB,GACtB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,GACzD,OAAO,CAAC,aAAa,CAAC,CAoCxB;AA2BD,2EAA2E;AAC3E,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED,wBAAgB,UAAU,IAAI,aAAa,CA8D1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAOrB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAErB,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CA+BtE;AAqCD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,4DAA4D;AAC5D,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,mBAAmB,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,OAAO,EAAE,GACxB,KAAK,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAsCtD;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,mBAAmB,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,OAAO,EAAE,GACxB,MAAM,CAYR;AA6BD;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhE,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,mBAAmB,EAAE,GAC1B,qBAAqB,CASvB;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,EAAE,EAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,qBAAwD,GAC9D,MAAM,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,mBAAmB,EACnB,WAAW,EACX,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAOrB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAErB,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CA+BtE;AAqCD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD,4DAA4D;AAC5D,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,mBAAmB,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,OAAO,EAAE,GACxB,KAAK,CAAC;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAsCtD;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,mBAAmB,EAAE,EAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,OAAO,EAAE,GACxB,MAAM,CAYR;AA6BD;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhE,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,mBAAmB,EAAE,GAC1B,qBAAqB,CASvB;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,mBAAmB,EAAE,EAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,qBAAwD,GAC9D,MAAM,CA0CR;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,mBAAmB,EAAE,EAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,qBAAwD,GAC9D,MAAM,CAyBR;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,QAAQ,EAAE,EAClB,SAAS,EAAE,MAAM,GAChB,QAAQ,EAAE,EAAE,CAed;AAwDD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,YAAY,EAAE,EACzB,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM;IAMZ,SAAS;IACT,QAAQ;IAGR,IAAI;IAGJ,OAAO;IAGP,IAAI;EAgCP;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAmBD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,oBAAoB,EAChC,QAAQ,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACxC,MAAM,CA+DR;AA4BD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,SAAS,OAAO,EAAE,GAChC,MAAM,CAqBR;AAED,+EAA+E;AAC/E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEvD,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,iBAAiB,GAAE,MAAW,GAC7B,cAAc,CAMhB;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,oBAAoB,EAChC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAC/B,WAAW,CAiBb;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CA6BzE"}
|
|
@@ -22,7 +22,9 @@
|
|
|
22
22
|
* "single new exchange" case (user message + assistant + ≤14 tool turns) so
|
|
23
23
|
* the slow path (hashing) only runs when something meaningful changed.
|
|
24
24
|
*/
|
|
25
|
-
import type { EntryIdFingerprint } from "../types.ts";
|
|
25
|
+
import type { EntryIdFingerprint, LlmMessage } from "../types.ts";
|
|
26
|
+
/** Content proof for projected/recovered messages whose source IDs can stay unchanged. */
|
|
27
|
+
export declare function hashMessages(messages: readonly LlmMessage[], count?: number): string;
|
|
26
28
|
/** Tail length; chosen to cover one "user → assistant → many tool turns" cycle. */
|
|
27
29
|
export declare const FINGERPRINT_TAIL_LEN = 16;
|
|
28
30
|
export declare function buildEntryIdFingerprint(ids: ReadonlyArray<string>): EntryIdFingerprint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-fingerprint.d.ts","sourceRoot":"","sources":["../../src/utils/id-fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"id-fingerprint.d.ts","sourceRoot":"","sources":["../../src/utils/id-fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAElE,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,EAAE,KAAK,SAAkB,GAAG,MAAM,CAO7F;AAED,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAKtF;AAED,gEAAgE;AAChE,wBAAgB,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAS7G;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAOvH"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export type IssueSeverity = "warning" | "error";
|
|
2
|
+
export interface IssueInput {
|
|
3
|
+
/** Stable cause key used for dedupe, e.g. "hindsight.auth". */
|
|
4
|
+
key: string;
|
|
5
|
+
/** "Smart Compact: <what happened>. <effect>. <what to do>" (prefix optional). */
|
|
6
|
+
message: string;
|
|
7
|
+
severity?: IssueSeverity;
|
|
8
|
+
/** Raw error for the debug trace only. */
|
|
9
|
+
error?: unknown;
|
|
10
|
+
}
|
|
11
|
+
export interface IssueRecord {
|
|
12
|
+
key: string;
|
|
13
|
+
severity: IssueSeverity;
|
|
14
|
+
message: string;
|
|
15
|
+
firstAt: number;
|
|
16
|
+
lastAt: number;
|
|
17
|
+
count: number;
|
|
18
|
+
}
|
|
19
|
+
/** Minimal context surface; both extension and command contexts satisfy it. */
|
|
20
|
+
export interface IssueSink {
|
|
21
|
+
hasUI?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Background snapshot contexts: routine messages are dropped and reported
|
|
24
|
+
* issues are queued for the next real context instead of shown now.
|
|
25
|
+
*/
|
|
26
|
+
silentBackground?: boolean;
|
|
27
|
+
ui?: {
|
|
28
|
+
notify(message: string, type?: "info" | "warning" | "error"): void;
|
|
29
|
+
};
|
|
30
|
+
sessionManager?: {
|
|
31
|
+
getSessionId?(): string | undefined;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/** Scrub secrets, collapse to one line, bound length, add the prefix. */
|
|
35
|
+
export declare function formatIssueMessage(message: string): string;
|
|
36
|
+
/** Literal, scrubbed, single-line error text for embedding in a message. */
|
|
37
|
+
export declare function errorDetail(error: unknown): string;
|
|
38
|
+
/**
|
|
39
|
+
* Record a problem for the status history without a toast. Use it when the
|
|
40
|
+
* caller already surfaces the failure (e.g. a returned `false` becomes a
|
|
41
|
+
* visible persistence warning) or when the effect is harmless and expected.
|
|
42
|
+
*/
|
|
43
|
+
export declare function recordIssue(input: IssueInput): void;
|
|
44
|
+
/**
|
|
45
|
+
* Report a user-visible problem. With a context it is shown now (once per
|
|
46
|
+
* session per key); without one it is queued until `flushIssues(ctx)`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function reportIssue(input: IssueInput, sink?: IssueSink): void;
|
|
49
|
+
/** Deliver issues reported where no context was available. */
|
|
50
|
+
export declare function flushIssues(sink: IssueSink): void;
|
|
51
|
+
/**
|
|
52
|
+
* Show a user-facing message. With a UI it goes to ctx.ui.notify. Without
|
|
53
|
+
* one (print/RPC/SDK modes, where notify is a no-op) warnings and errors go
|
|
54
|
+
* to stderr with secrets scrubbed; info stays silent.
|
|
55
|
+
*/
|
|
56
|
+
export declare function notifyUser(sink: IssueSink | undefined, message: string, type?: "info" | "warning" | "error"): void;
|
|
57
|
+
/** Most recent first. */
|
|
58
|
+
export declare function recentIssues(): IssueRecord[];
|
|
59
|
+
export declare function formatRecentIssues(now?: number): string;
|
|
60
|
+
export declare function resetIssuesForTests(): void;
|
|
61
|
+
//# sourceMappingURL=issues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/utils/issues.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+EAA+E;AAC/E,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC;IAC5E,cAAc,CAAC,EAAE;QAAE,YAAY,CAAC,IAAI,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;CAC1D;AAaD,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAU1D;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGlD;AA6CD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAGnD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAYrE;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAKjD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,SAAS,GAAG,SAAS,EAC3B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAM,GAAG,SAAS,GAAG,OAAgB,GAC1C,IAAI,CAYN;AAED,yBAAyB;AACzB,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAG5C;AAED,wBAAgB,kBAAkB,CAAC,GAAG,SAAa,GAAG,MAAM,CAiB3D;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pruning.d.ts","sourceRoot":"","sources":["../../src/utils/pruning.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"pruning.d.ts","sourceRoot":"","sources":["../../src/utils/pruning.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAA6E,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhI,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,+EAA+E;IAC/E,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,gBAAgB,CAAC,EAAE,aAAa,GAAG,aAAa,CAyKlG"}
|
|
@@ -45,8 +45,6 @@ import type { LlmMessage, SessionMessageEntry } from "../types.ts";
|
|
|
45
45
|
* on every call so tests can mutate process.env between cases.
|
|
46
46
|
*/
|
|
47
47
|
export declare function _getMaxEntriesForTests(): number;
|
|
48
|
-
/** @internal Test-only: drop both module caches between cases. */
|
|
49
|
-
export declare function __resetSessionLogCachesForTests(): void;
|
|
50
48
|
/**
|
|
51
49
|
* Check if any message in the array has been truncated by pi-toolkit.
|
|
52
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-log.d.ts","sourceRoot":"","sources":["../../src/utils/session-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA6EnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;
|
|
1
|
+
{"version":3,"file":"session-log.d.ts","sourceRoot":"","sources":["../../src/utils/session-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA6EnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAiID;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAIhE;AA6ED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC,CAoC7C"}
|
package/dist/utils/state.d.ts
CHANGED
|
@@ -17,7 +17,9 @@ export declare function saveCompactionState(projectId: string, state: Compaction
|
|
|
17
17
|
* Load previous compaction state for delta computation.
|
|
18
18
|
*/
|
|
19
19
|
export declare function loadCompactionState(projectId: string): CompactionState | null;
|
|
20
|
-
export declare function loadScopedCompactionState(scope: Pick<ContinuityScope, "projectId" | "sessionId"> & Partial<Pick<ContinuityScope, "branchHeadId">>, branchEntryIds?: readonly string[]
|
|
20
|
+
export declare function loadScopedCompactionState(scope: Pick<ContinuityScope, "projectId" | "sessionId"> & Partial<Pick<ContinuityScope, "branchHeadId">>, branchEntryIds?: readonly string[], options?: {
|
|
21
|
+
readOnly?: boolean;
|
|
22
|
+
}): CompactionState | null;
|
|
21
23
|
export declare function applyLoopOverrides(loops: OpenLoop[], overrides: LoopOverride[]): OpenLoop[];
|
|
22
24
|
export declare function upsertLoopOverride(overrides: LoopOverride[], loop: OpenLoop, patch: Partial<Omit<LoopOverride, "id" | "summaryKey">>): LoopOverride[];
|
|
23
25
|
export declare function upsertContinuityOverride(overrides: ContinuityOverride[], kind: ContinuityOverride["kind"], text: string, patch: Pick<ContinuityOverride, "status"> & Partial<Pick<ContinuityOverride, "replacement">>): ContinuityOverride[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/utils/state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/utils/state.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/tokens.d.ts
CHANGED
|
@@ -5,6 +5,16 @@ import type { LlmMessage, ProviderCapabilities } from "../types.ts";
|
|
|
5
5
|
export declare function getProviderCaps(provider: string): ProviderCapabilities;
|
|
6
6
|
/** Finite context usage percentage; invalid/unknown window metadata is 0%. */
|
|
7
7
|
export declare function safeContextPercent(totalTokens: number | null | undefined, contextWindow: number | null | undefined): number;
|
|
8
|
+
/**
|
|
9
|
+
* Window for automatic trigger/preparation percentages: maxContextTokens when
|
|
10
|
+
* set (>0) and below a valid model window, else the model window unchanged.
|
|
11
|
+
* Hard headroom checks must keep using model.contextWindow.
|
|
12
|
+
*/
|
|
13
|
+
export declare function effectiveContextWindow(model: {
|
|
14
|
+
contextWindow: number;
|
|
15
|
+
} | undefined, config: {
|
|
16
|
+
maxContextTokens?: number;
|
|
17
|
+
}): number | undefined;
|
|
8
18
|
/**
|
|
9
19
|
* Bounded per-(provider,model) calibration factors smoothed by EMA.
|
|
10
20
|
* Provider/model tokenization is process-wide knowledge rather than session
|
|
@@ -20,8 +30,6 @@ export declare class TokenCalibrationStore {
|
|
|
20
30
|
calibrate(estimated: number, actual: number, provider?: string, model?: string): void;
|
|
21
31
|
size(): number;
|
|
22
32
|
}
|
|
23
|
-
/** @internal Test-only reset; do not call from production code. */
|
|
24
|
-
export declare function __resetTokenCalibrationForTests(): void;
|
|
25
33
|
export declare function estimateTokens(text: string, provider?: string, model?: string, calibration?: TokenCalibrationStore): number;
|
|
26
34
|
export declare function calibrateFromResponse(estimated: number, actual: number, provider?: string, model?: string, calibration?: TokenCalibrationStore): void;
|
|
27
35
|
export interface TokenEstimator {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/utils/tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAkGpE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAQtE;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAI3H;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IAErD,YAA6B,UAAU,SAAM,EAAI;IAEjD,KAAK,IAAI,IAAI,CAA0B;IAEvC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ7C;IAED,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAUpF;IAED,IAAI,IAAI,MAAM,CAA8B;CAC7C;
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/utils/tokens.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAkGpE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAQtE;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAI3H;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAC5C,MAAM,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IAErD,YAA6B,UAAU,SAAM,EAAI;IAEjD,KAAK,IAAI,IAAI,CAA0B;IAEvC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ7C;IAED,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAUpF;IAED,IAAI,IAAI,MAAM,CAA8B;CAC7C;AAyCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,wBAAuB,GAAG,MAAM,CAE1H;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,wBAAuB,GAAG,IAAI,CAEpJ;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC;IACvG,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC;CACzH;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,GAAE,qBAA4C,GACxD,cAAc,CAehB"}
|
package/docs/MIGRATING_TO_V8.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Migrating from v7 to v8
|
|
2
2
|
|
|
3
|
+
> **Scope:** Historical migration note for upgrading from v7 to v8 (8.0.8). Versions, host baselines and settings reflect that release, not the current package; current behavior is in the guide and configuration reference.
|
|
4
|
+
> Current documentation for Pi Continuity (the `pi-smart-compact` package):
|
|
5
|
+
> [guide](./guide.md) · [configuration](./configuration.md) ·
|
|
6
|
+
> [evaluation](./evaluation.md) · [documentation index](./README.md).
|
|
7
|
+
|
|
3
8
|
This guide applies to the stable `8.0.8` release.
|
|
4
9
|
|
|
5
10
|
## Compatibility
|
|
@@ -96,7 +101,8 @@ All defaults preserve the selected model and require no migration edits.
|
|
|
96
101
|
| `summaryModel` | `null` | Explicit Synthesis route; selected model when null |
|
|
97
102
|
| `verificationModel` | `null` | Explicit repair route; summary/selected model when null |
|
|
98
103
|
|
|
99
|
-
|
|
104
|
+
For current budgets and monitoring options, see the [configuration
|
|
105
|
+
reference](./configuration.md); the defaults above describe v8.
|
|
100
106
|
|
|
101
107
|
## Backups and rollout
|
|
102
108
|
|