@wolfx/opencode-magic-context 0.22.3 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/magic-context-prompt.d.ts +1 -1
- package/dist/agents/magic-context-prompt.d.ts.map +1 -1
- package/dist/agents/permissions.d.ts +4 -4
- package/dist/agents/permissions.d.ts.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/project-security.d.ts +30 -0
- package/dist/config/project-security.d.ts.map +1 -0
- package/dist/config/prune-config-leaf.d.ts +27 -0
- package/dist/config/prune-config-leaf.d.ts.map +1 -0
- package/dist/config/schema/magic-context.d.ts +7 -13
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/config/variable.d.ts.map +1 -1
- package/dist/features/magic-context/compartment-storage.d.ts +9 -6
- package/dist/features/magic-context/compartment-storage.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/runner.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/scheduler.d.ts.map +1 -1
- package/dist/features/magic-context/dreamer/task-prompts.d.ts +1 -1
- package/dist/features/magic-context/dreamer/task-prompts.d.ts.map +1 -1
- package/dist/features/magic-context/key-files/aft-availability.d.ts.map +1 -1
- package/dist/features/magic-context/key-files/identify-key-files.d.ts.map +1 -1
- package/dist/features/magic-context/key-files/read-stats.d.ts +0 -2
- package/dist/features/magic-context/key-files/read-stats.d.ts.map +1 -1
- package/dist/features/magic-context/memory/constants.d.ts +7 -0
- package/dist/features/magic-context/memory/constants.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-openai.d.ts.map +1 -1
- package/dist/features/magic-context/memory/embedding-ssrf.d.ts +29 -0
- package/dist/features/magic-context/memory/embedding-ssrf.d.ts.map +1 -0
- package/dist/features/magic-context/memory/memory-migration.d.ts.map +1 -1
- package/dist/features/magic-context/memory/project-identity.d.ts +10 -0
- package/dist/features/magic-context/memory/project-identity.d.ts.map +1 -1
- package/dist/features/magic-context/migrations.d.ts.map +1 -1
- package/dist/features/magic-context/project-docs-hash.d.ts.map +1 -1
- package/dist/features/magic-context/project-embedding-registry.d.ts.map +1 -1
- package/dist/features/magic-context/range-parser.d.ts +6 -0
- package/dist/features/magic-context/range-parser.d.ts.map +1 -1
- package/dist/features/magic-context/sidekick/agent.d.ts.map +1 -1
- package/dist/features/magic-context/storage-db.d.ts +1 -1
- package/dist/features/magic-context/storage-db.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-persisted.d.ts +124 -16
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-shared.d.ts +15 -1
- package/dist/features/magic-context/storage-meta-shared.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta.d.ts +1 -1
- package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
- package/dist/features/magic-context/storage-notes.d.ts.map +1 -1
- package/dist/features/magic-context/storage-tags.d.ts +118 -1
- package/dist/features/magic-context/storage-tags.d.ts.map +1 -1
- package/dist/features/magic-context/storage.d.ts +3 -3
- package/dist/features/magic-context/storage.d.ts.map +1 -1
- package/dist/features/magic-context/tagger.d.ts +12 -2
- package/dist/features/magic-context/tagger.d.ts.map +1 -1
- package/dist/features/magic-context/tool-definition-tokens.d.ts +21 -0
- package/dist/features/magic-context/tool-definition-tokens.d.ts.map +1 -1
- package/dist/features/magic-context/tool-owner-backfill.d.ts +2 -1
- package/dist/features/magic-context/tool-owner-backfill.d.ts.map +1 -1
- package/dist/features/magic-context/types.d.ts +12 -0
- package/dist/features/magic-context/types.d.ts.map +1 -1
- package/dist/features/magic-context/user-memory/review-user-memories.d.ts.map +1 -1
- package/dist/hooks/magic-context/auto-search-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/channel2-delivery.d.ts +22 -0
- package/dist/hooks/magic-context/channel2-delivery.d.ts.map +1 -0
- package/dist/hooks/magic-context/command-handler.d.ts +1 -7
- package/dist/hooks/magic-context/command-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts +1 -1
- package/dist/hooks/magic-context/compaction-marker-manager.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-historian.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-incremental.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-partial-recomp.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-recomp.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-types.d.ts +5 -0
- package/dist/hooks/magic-context/compartment-runner-types.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner-validation.d.ts +25 -0
- package/dist/hooks/magic-context/compartment-runner-validation.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-runner.d.ts.map +1 -1
- package/dist/hooks/magic-context/compartment-trigger.d.ts +47 -2
- package/dist/hooks/magic-context/compartment-trigger.d.ts.map +1 -1
- package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts +117 -0
- package/dist/hooks/magic-context/ctx-reduce-nudge.d.ts.map +1 -0
- package/dist/hooks/magic-context/decay-render.d.ts.map +1 -1
- package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts +36 -1
- package/dist/hooks/magic-context/drop-stale-reduce-calls.d.ts.map +1 -1
- package/dist/hooks/magic-context/emergency-drop.d.ts +86 -0
- package/dist/hooks/magic-context/emergency-drop.d.ts.map +1 -0
- package/dist/hooks/magic-context/event-handler.d.ts +6 -4
- package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/execute-flush.d.ts.map +1 -1
- package/dist/hooks/magic-context/execute-status.d.ts +1 -1
- package/dist/hooks/magic-context/execute-status.d.ts.map +1 -1
- package/dist/hooks/magic-context/heuristic-cleanup.d.ts +10 -3
- package/dist/hooks/magic-context/heuristic-cleanup.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook-handlers.d.ts +3 -9
- package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts +3 -5
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/inject-compartments.d.ts +41 -0
- package/dist/hooks/magic-context/inject-compartments.d.ts.map +1 -1
- package/dist/hooks/magic-context/note-visibility.d.ts +1 -1
- package/dist/hooks/magic-context/protected-tail-boundary.d.ts +132 -0
- package/dist/hooks/magic-context/protected-tail-boundary.d.ts.map +1 -0
- package/dist/hooks/magic-context/read-session-chunk.d.ts +55 -0
- package/dist/hooks/magic-context/read-session-chunk.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-formatting.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-raw.d.ts +91 -0
- package/dist/hooks/magic-context/read-session-raw.d.ts.map +1 -1
- package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts +70 -0
- package/dist/hooks/magic-context/read-session-true-raw-tokens.d.ts.map +1 -0
- package/dist/hooks/magic-context/reference-retrieval.d.ts.map +1 -1
- package/dist/hooks/magic-context/send-session-notification.d.ts +2 -1
- package/dist/hooks/magic-context/send-session-notification.d.ts.map +1 -1
- package/dist/hooks/magic-context/system-prompt-hash.d.ts +0 -1
- package/dist/hooks/magic-context/system-prompt-hash.d.ts.map +1 -1
- package/dist/hooks/magic-context/tag-messages.d.ts +3 -0
- package/dist/hooks/magic-context/tag-messages.d.ts.map +1 -1
- package/dist/hooks/magic-context/todo-view.d.ts +1 -1
- package/dist/hooks/magic-context/tool-drop-target.d.ts +9 -0
- package/dist/hooks/magic-context/tool-drop-target.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts +15 -0
- package/dist/hooks/magic-context/transform-compartment-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts +9 -11
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts +22 -9
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/hooks/magic-context/upgrade-reminder.d.ts +2 -1
- package/dist/hooks/magic-context/upgrade-reminder.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5915 -1336
- package/dist/plugin/conflict-warning-hook.d.ts.map +1 -1
- package/dist/plugin/embedding-bootstrap-helpers.d.ts.map +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +1 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/plugin/tool-registry.d.ts.map +1 -1
- package/dist/shared/announcement.d.ts +4 -6
- package/dist/shared/announcement.d.ts.map +1 -1
- package/dist/shared/keep-subagents.d.ts +7 -0
- package/dist/shared/keep-subagents.d.ts.map +1 -0
- package/dist/shared/live-server-client.d.ts +50 -0
- package/dist/shared/live-server-client.d.ts.map +1 -0
- package/dist/shared/prompt-context.d.ts +31 -0
- package/dist/shared/prompt-context.d.ts.map +1 -0
- package/dist/shared/rpc-server.d.ts.map +1 -1
- package/dist/shared/rpc-types.d.ts +0 -3
- package/dist/shared/rpc-types.d.ts.map +1 -1
- package/dist/shared/safe-notification-target.d.ts +23 -0
- package/dist/shared/safe-notification-target.d.ts.map +1 -0
- package/dist/shared/tag-transcript.d.ts.map +1 -1
- package/dist/shared/transcript-opencode.d.ts.map +1 -1
- package/dist/shared/transcript.d.ts +15 -1
- package/dist/shared/transcript.d.ts.map +1 -1
- package/dist/tools/ctx-expand/constants.d.ts +1 -1
- package/dist/tools/ctx-expand/constants.d.ts.map +1 -1
- package/dist/tools/ctx-expand/tools.d.ts.map +1 -1
- package/dist/tools/ctx-memory/constants.d.ts +1 -1
- package/dist/tools/ctx-memory/constants.d.ts.map +1 -1
- package/dist/tools/ctx-memory/tools.d.ts.map +1 -1
- package/dist/tools/ctx-memory/types.d.ts +7 -3
- package/dist/tools/ctx-memory/types.d.ts.map +1 -1
- package/dist/tools/ctx-note/constants.d.ts +1 -1
- package/dist/tools/ctx-note/constants.d.ts.map +1 -1
- package/dist/tools/ctx-note/tools.d.ts.map +1 -1
- package/dist/tools/ctx-note/types.d.ts +4 -0
- package/dist/tools/ctx-note/types.d.ts.map +1 -1
- package/dist/tools/ctx-search/constants.d.ts +1 -1
- package/dist/tools/ctx-search/constants.d.ts.map +1 -1
- package/dist/tools/ctx-search/tools.d.ts.map +1 -1
- package/dist/tui/data/context-db.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/shared/announcement.test.ts +18 -0
- package/src/shared/announcement.ts +35 -20
- package/src/shared/keep-subagents.test.ts +39 -0
- package/src/shared/keep-subagents.ts +33 -0
- package/src/shared/live-server-client.ts +152 -0
- package/src/shared/prompt-context.ts +135 -0
- package/src/shared/rpc-server.ts +18 -2
- package/src/shared/rpc-types.ts +0 -3
- package/src/shared/safe-notification-target.test.ts +97 -0
- package/src/shared/safe-notification-target.ts +102 -0
- package/src/shared/tag-transcript.test.ts +34 -8
- package/src/shared/tag-transcript.ts +110 -8
- package/src/shared/transcript-opencode.ts +15 -5
- package/src/shared/transcript.ts +20 -2
- package/src/tui/data/context-db.ts +0 -3
- package/src/tui/index.tsx +11 -10
- package/src/tui/slots/sidebar-content.tsx +1 -26
- package/dist/hooks/magic-context/apply-context-nudge.d.ts +0 -5
- package/dist/hooks/magic-context/apply-context-nudge.d.ts.map +0 -1
- package/dist/hooks/magic-context/nudge-bands.d.ts +0 -6
- package/dist/hooks/magic-context/nudge-bands.d.ts.map +0 -1
- package/dist/hooks/magic-context/nudge-injection.d.ts +0 -7
- package/dist/hooks/magic-context/nudge-injection.d.ts.map +0 -1
- package/dist/hooks/magic-context/nudge-placement-store.d.ts +0 -15
- package/dist/hooks/magic-context/nudge-placement-store.d.ts.map +0 -1
- package/dist/hooks/magic-context/nudger.d.ts +0 -21
- package/dist/hooks/magic-context/nudger.d.ts.map +0 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/** Reclaim target = fixedFloor + TARGET_FRACTION × (ceiling − fixedFloor). */
|
|
2
|
+
export declare const TARGET_FRACTION = 0.3;
|
|
3
|
+
/** Keep the newest `ceil(RESERVE × tierCount)` of T1/T2 as continuation context. */
|
|
4
|
+
export declare const TIER_RECENCY_RESERVE = 0.2;
|
|
5
|
+
/**
|
|
6
|
+
* Don't bust the cache for a trivial reclaim. If the computed reclaim is at or
|
|
7
|
+
* below this, the pass is a no-op (combined with the watermark, this prevents
|
|
8
|
+
* 85%-94.9% oscillation).
|
|
9
|
+
*/
|
|
10
|
+
export declare const EMERGENCY_REARM_MIN_TOKENS = 2000;
|
|
11
|
+
export type Tier = 1 | 2 | 3;
|
|
12
|
+
/**
|
|
13
|
+
* Classify a tool into its drop tier. T1 (keep longest) = navigation/structure
|
|
14
|
+
* the agent re-uses; T2 (medium) = edit-class continuation context; T3 (drop
|
|
15
|
+
* first) = everything else (the default — bash, ctx_reduce, inspect, web, …).
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveToolTier(toolName: string | null): Tier;
|
|
18
|
+
/** Minimal tag shape the planner needs (subset of TagEntry, harness-agnostic). */
|
|
19
|
+
export interface EmergencyDropTag {
|
|
20
|
+
tagNumber: number;
|
|
21
|
+
type: "message" | "tool" | "file";
|
|
22
|
+
status: "active" | "dropped" | "compacted";
|
|
23
|
+
toolName: string | null;
|
|
24
|
+
byteSize: number;
|
|
25
|
+
/** Tool-arg bytes — `drop()` removes the invocation too, so these reclaim. */
|
|
26
|
+
inputByteSize: number;
|
|
27
|
+
reasoningByteSize: number;
|
|
28
|
+
}
|
|
29
|
+
export interface EmergencyDropPlan {
|
|
30
|
+
/** Whether the caller should perform any drop this pass. */
|
|
31
|
+
shouldDrop: boolean;
|
|
32
|
+
/** Tool tag numbers to drop, in eviction order (T3→T2→T1, oldest-first). */
|
|
33
|
+
tagNumbers: number[];
|
|
34
|
+
/** Reclaim target in tokens (for logging). */
|
|
35
|
+
reclaimTokens: number;
|
|
36
|
+
/** Human-readable reason (no-op explanation or drop summary), for logs. */
|
|
37
|
+
reason: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Plan a tiered target-headroom emergency drop. Pure: returns the ordered set of
|
|
41
|
+
* tool tag numbers to drop plus the new watermark; the caller applies them.
|
|
42
|
+
*
|
|
43
|
+
* fixedFloor is derived as `currentTotalInputTokens − Σ(active floor-tag tokens)`.
|
|
44
|
+
* Tags cover exactly the live-tail content (messages, tool outputs, files,
|
|
45
|
+
* reasoning); system, tool defs, and m[0]/m[1] are untagged. So this difference
|
|
46
|
+
* IS `system + toolDefs + (primary ? m0 + m1 : 0)` — the irreducible prefix —
|
|
47
|
+
* with no extra plumbing, and it self-adjusts for subagents (no m0/m1 in their
|
|
48
|
+
* total) by construction.
|
|
49
|
+
*
|
|
50
|
+
* The two tag sets serve DIFFERENT contracts and must not be conflated:
|
|
51
|
+
* - `floorTags`: the ENTIRE active live-window tag set (all types, including
|
|
52
|
+
* non-droppable tool tags). Only their token sum matters — it makes
|
|
53
|
+
* `fixedFloor` the true irreducible prefix. Passing a narrower set (e.g.
|
|
54
|
+
* tool-only) folds real conversation/reasoning tail into the "floor",
|
|
55
|
+
* raising the target and systematically under-evicting at ≥85%.
|
|
56
|
+
* - `tags`: the evictable candidates — active tool tags whose drop target
|
|
57
|
+
* would actually reclaim bytes (caller pre-filters on `canDrop()` so no
|
|
58
|
+
* phantom tag is counted as reclaimed).
|
|
59
|
+
*/
|
|
60
|
+
export declare function planEmergencyDrop(input: {
|
|
61
|
+
/** Evictable candidates: active tool tags with a working drop target. */
|
|
62
|
+
tags: readonly EmergencyDropTag[];
|
|
63
|
+
/**
|
|
64
|
+
* FULL active live-window tag set (all types) — floor accounting only.
|
|
65
|
+
* See the fixedFloor contract above.
|
|
66
|
+
*/
|
|
67
|
+
floorTags: readonly EmergencyDropTag[];
|
|
68
|
+
maxTag: number;
|
|
69
|
+
protectedTags: number;
|
|
70
|
+
currentTotalInputTokens: number;
|
|
71
|
+
/** ceiling = contextLimit × executeThreshold%. */
|
|
72
|
+
ceilingTokens: number;
|
|
73
|
+
/**
|
|
74
|
+
* last_emergency_input_sample — the `currentTotalInputTokens` reading at the
|
|
75
|
+
* previous emergency drop (0 if never dropped). The SOLE idempotence latch:
|
|
76
|
+
* see the same-sample no-op below. (There is deliberately no tag-number
|
|
77
|
+
* watermark — a scalar "dropped-through" cursor wrongly excludes still-active
|
|
78
|
+
* lower-numbered tags after a non-contiguous tier-ordered drop. Dropped tags
|
|
79
|
+
* leave the `status='active'` set, so they're never re-selected; the sample
|
|
80
|
+
* latch is what prevents over-dropping the rest of the tail on a stale pass.)
|
|
81
|
+
*/
|
|
82
|
+
priorInputSample: number;
|
|
83
|
+
/** True once any emergency drop has happened (drives the latch + log). */
|
|
84
|
+
hasPriorDrop: boolean;
|
|
85
|
+
}): EmergencyDropPlan;
|
|
86
|
+
//# sourceMappingURL=emergency-drop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emergency-drop.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/emergency-drop.ts"],"names":[],"mappings":"AAqBA,8EAA8E;AAC9E,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,MAAM,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAiB7B;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAK7D;AAED,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAClC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;IAC3C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAaD,MAAM,WAAW,iBAAiB;IAC9B,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACrC,yEAAyE;IACzE,IAAI,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClC;;;OAGG;IACH,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,YAAY,EAAE,OAAO,CAAC;CACzB,GAAG,iBAAiB,CAuHpB"}
|
|
@@ -2,7 +2,6 @@ import type { createCompactionHandler } from "../../features/magic-context/compa
|
|
|
2
2
|
import type { Tagger } from "../../features/magic-context/tagger";
|
|
3
3
|
import type { ContextUsage } from "../../features/magic-context/types";
|
|
4
4
|
import { type NotificationParams } from "./send-session-notification";
|
|
5
|
-
import { type NudgePlacementStore } from "./transform";
|
|
6
5
|
type CacheTtlConfig = string | Record<string, string>;
|
|
7
6
|
interface ContextUsageEntry {
|
|
8
7
|
usage: ContextUsage;
|
|
@@ -12,13 +11,10 @@ interface ContextUsageEntry {
|
|
|
12
11
|
export interface EventHandlerDeps {
|
|
13
12
|
contextUsageMap: Map<string, ContextUsageEntry>;
|
|
14
13
|
compactionHandler: ReturnType<typeof createCompactionHandler>;
|
|
15
|
-
nudgePlacements: NudgePlacementStore;
|
|
16
14
|
onSessionCacheInvalidated?: (sessionId: string) => void;
|
|
17
15
|
onSessionDeleted?: (sessionId: string) => void;
|
|
18
16
|
config: {
|
|
19
17
|
protected_tags: number;
|
|
20
|
-
auto_drop_tool_age?: number;
|
|
21
|
-
drop_tool_structure?: boolean;
|
|
22
18
|
clear_reasoning_age?: number;
|
|
23
19
|
execute_threshold_percentage?: number | {
|
|
24
20
|
default: number;
|
|
@@ -37,6 +33,12 @@ export interface EventHandlerDeps {
|
|
|
37
33
|
tagger: Tagger;
|
|
38
34
|
db: import("../../shared/sqlite").Database;
|
|
39
35
|
client?: unknown;
|
|
36
|
+
/** Live HTTP listener URL — Channel 2 ceiling nudge delivery (#28202 workaround). */
|
|
37
|
+
serverUrl?: string;
|
|
38
|
+
/** Project directory — passed to the live-server client for Channel 2. */
|
|
39
|
+
directory?: string;
|
|
40
|
+
/** Channel 1 per-session metric baseline; read for the Channel 2 ceiling-nudge wording. */
|
|
41
|
+
channel1StateBySession?: Map<string, import("./ctx-reduce-nudge").Channel1State>;
|
|
40
42
|
getNotificationParams?: (sessionId: string) => NotificationParams;
|
|
41
43
|
/**
|
|
42
44
|
* Process-scoped set of Magic Context's own hidden child sessions, keyed by
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAyBvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,oCAAoC,CAAC;AAqBpF,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,6BAA6B,CAAC;AAM1F,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,UAAU,iBAAiB;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAChD,iBAAiB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC9D,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,4BAA4B,CAAC,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxF,wBAAwB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;QACxF,SAAS,EAAE,cAAc,CAAC;QAC1B,sBAAsB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACvE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IAIf,EAAE,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2FAA2F;IAC3F,sBAAsB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,oBAAoB,EAAE,aAAa,CAAC,CAAC;IACjF,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAClE;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvC;AAoID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,IACvC,OAAO;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CAsezF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-flush.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/execute-flush.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execute-flush.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/execute-flush.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA0BpE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Database } from "../../shared/sqlite";
|
|
2
|
-
export declare function executeStatus(db: Database, sessionId: string, protectedTags: number,
|
|
2
|
+
export declare function executeStatus(db: Database, sessionId: string, protectedTags: number, executeThresholdPercentageConfig?: number | {
|
|
3
3
|
default: number;
|
|
4
4
|
[modelKey: string]: number;
|
|
5
5
|
}, liveModelKey?: string, historyBudgetPercentage?: number, commitClusterTrigger?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-status.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/execute-status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execute-status.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/execute-status.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAyBpD,wBAAgB,aAAa,CACzB,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,gCAAgC,GAC1B,MAAM,GACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAAyC,EAC5F,YAAY,CAAC,EAAE,MAAM,EACrB,uBAAuB,CAAC,EAAE,MAAM,EAChC,oBAAoB,CAAC,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACjE,sBAAsB,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,EACrF,YAAY,CAAC,EAAE,MAAM,GACtB,MAAM,CAmJR"}
|
|
@@ -3,10 +3,17 @@ import type { TagEntry } from "../../features/magic-context/types";
|
|
|
3
3
|
import { type CavemanCleanupConfig } from "./caveman-cleanup";
|
|
4
4
|
import type { MessageLike, TagTarget } from "./tag-messages";
|
|
5
5
|
export declare function applyHeuristicCleanup(sessionId: string, db: ContextDatabase, targets: Map<number, TagTarget>, messageTagNumbers: Map<MessageLike, number>, config: {
|
|
6
|
-
autoDropToolAge: number;
|
|
7
|
-
dropToolStructure: boolean;
|
|
8
6
|
protectedTags: number;
|
|
9
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Tiered target-headroom emergency drop. Provided only on the ≥85%
|
|
9
|
+
* force-materialize (cache-busting) pass; undefined on routine execute
|
|
10
|
+
* passes (Phase 2 removed routine age-based tool drops entirely). When
|
|
11
|
+
* present, the emergency drop runs before dedup/injection-strip.
|
|
12
|
+
*/
|
|
13
|
+
emergency?: {
|
|
14
|
+
currentTotalInputTokens: number;
|
|
15
|
+
ceilingTokens: number;
|
|
16
|
+
};
|
|
10
17
|
/**
|
|
11
18
|
* Age-tier caveman text compression settings. Only honored when the
|
|
12
19
|
* session is running with ctx_reduce_enabled=false — caller is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heuristic-cleanup.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/heuristic-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"heuristic-cleanup.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/heuristic-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAY5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAe7D,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,EAC3C,MAAM,EAAE;IACJ,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QACR,uBAAuB,EAAE,MAAM,CAAC;QAChC,aAAa,EAAE,MAAM,CAAC;KACzB,CAAC;IACF;;;;OAIG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAClC,EACD,aAAa,CAAC,EAAE,QAAQ,EAAE,GAC3B;IACC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC9B,CAwMA"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { getOrCreateSessionMeta } from "../../features/magic-context/storage-meta";
|
|
2
2
|
import type { PluginContext } from "../../plugin/types";
|
|
3
|
+
import { type Channel1State } from "./ctx-reduce-nudge";
|
|
3
4
|
export type LiveModelBySession = Map<string, {
|
|
4
5
|
providerID: string;
|
|
5
6
|
modelID: string;
|
|
6
7
|
}>;
|
|
7
8
|
export type VariantBySession = Map<string, string | undefined>;
|
|
8
9
|
export type AgentBySession = Map<string, string>;
|
|
9
|
-
export type RecentReduceBySession = Map<string, number>;
|
|
10
|
-
export type ToolUsageSinceUserTurn = Map<string, number>;
|
|
11
10
|
/**
|
|
12
11
|
* Cache-busting signal sets — replaces the old monolithic `flushedSessions`.
|
|
13
12
|
*
|
|
@@ -84,8 +83,6 @@ export declare function getLiveNotificationParams(sessionId: string, liveModelBy
|
|
|
84
83
|
};
|
|
85
84
|
export declare function createChatMessageHook(args: {
|
|
86
85
|
db: Parameters<typeof getOrCreateSessionMeta>[0];
|
|
87
|
-
toolUsageSinceUserTurn: ToolUsageSinceUserTurn;
|
|
88
|
-
recentReduceBySession: RecentReduceBySession;
|
|
89
86
|
liveModelBySession: LiveModelBySession;
|
|
90
87
|
variantBySession: VariantBySession;
|
|
91
88
|
agentBySession: AgentBySession;
|
|
@@ -133,8 +130,6 @@ export declare function createEventHook(args: {
|
|
|
133
130
|
* for the full doc-comment.
|
|
134
131
|
*/
|
|
135
132
|
sessionDirectoryBySession: Map<string, string>;
|
|
136
|
-
recentReduceBySession: RecentReduceBySession;
|
|
137
|
-
toolUsageSinceUserTurn: ToolUsageSinceUserTurn;
|
|
138
133
|
/** All signal sets are cleaned on `session.deleted` to prevent leaks. */
|
|
139
134
|
historyRefreshSessions: HistoryRefreshSessions;
|
|
140
135
|
deferredHistoryRefreshSessions: DeferredHistoryRefreshSessions;
|
|
@@ -162,7 +157,6 @@ export declare function createCommandExecuteBeforeHook(commandHandler: {
|
|
|
162
157
|
}): (input: unknown, output: unknown) => Promise<unknown>;
|
|
163
158
|
export declare function createToolExecuteAfterHook(args: {
|
|
164
159
|
db: Parameters<typeof getOrCreateSessionMeta>[0];
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}): (input: unknown) => Promise<void>;
|
|
160
|
+
channel1StateBySession: Map<string, Channel1State>;
|
|
161
|
+
}): (input: unknown, output?: unknown) => Promise<void>;
|
|
168
162
|
//# sourceMappingURL=hook-handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ import type { LiveSessionState } from "./live-session-state";
|
|
|
8
8
|
export interface MagicContextDeps {
|
|
9
9
|
client: PluginContext["client"];
|
|
10
10
|
directory: string;
|
|
11
|
+
/** Live HTTP listener URL for the Channel 2 ceiling nudge (#28202 workaround). */
|
|
12
|
+
serverUrl?: string;
|
|
11
13
|
tagger: Tagger;
|
|
12
14
|
scheduler: Scheduler;
|
|
13
15
|
onSessionCacheInvalidated?: (sessionId: string) => void;
|
|
@@ -16,11 +18,7 @@ export interface MagicContextDeps {
|
|
|
16
18
|
config: {
|
|
17
19
|
protected_tags: number;
|
|
18
20
|
ctx_reduce_enabled?: boolean;
|
|
19
|
-
nudge_interval_tokens?: number;
|
|
20
|
-
auto_drop_tool_age?: number;
|
|
21
|
-
drop_tool_structure?: boolean;
|
|
22
21
|
clear_reasoning_age?: number;
|
|
23
|
-
iteration_nudge_threshold?: number;
|
|
24
22
|
execute_threshold_percentage?: number | {
|
|
25
23
|
default: number;
|
|
26
24
|
[modelKey: string]: number;
|
|
@@ -105,6 +103,6 @@ export declare function createMagicContextHook(deps: MagicContextDeps): {
|
|
|
105
103
|
};
|
|
106
104
|
}) => Promise<void>;
|
|
107
105
|
"command.execute.before": (input: unknown, output: unknown) => Promise<unknown>;
|
|
108
|
-
"tool.execute.after": (input: unknown) => Promise<void>;
|
|
106
|
+
"tool.execute.after": (input: unknown, output?: unknown) => Promise<void>;
|
|
109
107
|
} | null;
|
|
110
108
|
//# sourceMappingURL=hook.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,24 @@ export interface M0SnapshotMarkers {
|
|
|
64
64
|
materializedAt: number;
|
|
65
65
|
sessionFactsVersion: number;
|
|
66
66
|
upgradeState: string | null;
|
|
67
|
+
systemHash: string;
|
|
68
|
+
toolSetHash: string;
|
|
69
|
+
modelKey: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Runtime cache-eviction signals threaded into the materialization decision.
|
|
73
|
+
* These are NOT derived from durable DB state like the content markers — they
|
|
74
|
+
* come from the current flight (system-prompt hash, tool-set fingerprint,
|
|
75
|
+
* provider/model key) plus the TTL idle window.
|
|
76
|
+
*/
|
|
77
|
+
export interface M0HardSignals {
|
|
78
|
+
systemHash: string;
|
|
79
|
+
toolSetHash: string;
|
|
80
|
+
modelKey: string;
|
|
81
|
+
/** True when the provider cache TTL has elapsed since lastResponseTime. */
|
|
82
|
+
cacheExpired: boolean;
|
|
83
|
+
/** Epoch ms of the last completed assistant response (end-of-turn). */
|
|
84
|
+
lastResponseTime: number;
|
|
67
85
|
}
|
|
68
86
|
export interface M0M1State {
|
|
69
87
|
sessionId: string;
|
|
@@ -80,6 +98,9 @@ export interface M0M1State {
|
|
|
80
98
|
cachedM0MaterializedAt: number | null;
|
|
81
99
|
cachedM0SessionFactsVersion: number | null;
|
|
82
100
|
cachedM0UpgradeState: string | null;
|
|
101
|
+
cachedM0SystemHash: string | null;
|
|
102
|
+
cachedM0ToolSetHash: string | null;
|
|
103
|
+
cachedM0ModelKey: string | null;
|
|
83
104
|
snapshotMarkers?: M0SnapshotMarkers | null;
|
|
84
105
|
}
|
|
85
106
|
export interface M0M1RenderOptions {
|
|
@@ -94,6 +115,8 @@ export interface M0M1RenderOptions {
|
|
|
94
115
|
userProfileBudgetTokens?: number;
|
|
95
116
|
keyFiles?: KeyFilesConfigForRender;
|
|
96
117
|
isCacheBustingPass?: boolean;
|
|
118
|
+
/** Provider-side cache-eviction signals for HARD-bust detection. */
|
|
119
|
+
hardSignals?: M0HardSignals;
|
|
97
120
|
preRenderedKeyFilesBlock?: string | null;
|
|
98
121
|
beforePhase3ForTest?: () => void;
|
|
99
122
|
}
|
|
@@ -136,13 +159,31 @@ export declare function readCurrentM0SnapshotMarkers(args: {
|
|
|
136
159
|
sessionId: string;
|
|
137
160
|
projectPath?: string;
|
|
138
161
|
projectDirectory?: string;
|
|
162
|
+
hardSignals?: M0HardSignals;
|
|
139
163
|
}): M0SnapshotMarkers;
|
|
164
|
+
/**
|
|
165
|
+
* The materialization decision, organized around the bust taxonomy:
|
|
166
|
+
*
|
|
167
|
+
* SOFT+ — defer pass, nothing new: replay m[0] AND m[1] byte-identical.
|
|
168
|
+
* SOFT — exec / deferred-consume pass: m[1] re-renders (new compartments,
|
|
169
|
+
* new memories, new user-profile ride the m[1] delta), m[0] stays.
|
|
170
|
+
* HARD — the provider cache is already dead (idle>TTL, model/system/tools
|
|
171
|
+
* changed) OR a genuine m[0] *content* marker changed: fold m[1] into
|
|
172
|
+
* m[0], re-run decay, reset m[1].
|
|
173
|
+
*
|
|
174
|
+
* `mustMaterialize` returns true ONLY for HARD. New compartments and additive
|
|
175
|
+
* user-profile/memory changes are deliberately NOT triggers — they are m[1]
|
|
176
|
+
* deltas (see renderM1) and must never mutate the m[0] baseline. That is the
|
|
177
|
+
* whole point of the m[0]=frozen-prefix / m[1]=volatile-delta split: a routine
|
|
178
|
+
* historian publish must keep the Anthropic prompt-cache prefix intact.
|
|
179
|
+
*/
|
|
140
180
|
export declare function mustMaterialize(args: {
|
|
141
181
|
db: Database;
|
|
142
182
|
sessionId: string;
|
|
143
183
|
state: M0M1State;
|
|
144
184
|
projectPath?: string;
|
|
145
185
|
projectDirectory?: string;
|
|
186
|
+
hardSignals?: M0HardSignals;
|
|
146
187
|
}): MaterializeDecision;
|
|
147
188
|
export interface TrimMemoriesResultV2 {
|
|
148
189
|
selected: Memory[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-compartments.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/inject-compartments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAEH,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"inject-compartments.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/inject-compartments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAEH,KAAK,WAAW,EAMhB,KAAK,WAAW,EACnB,MAAM,kDAAkD,CAAC;AAY1D,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,2CAA2C,CAAC;AAWxF,OAAO,EAEH,KAAK,UAAU,EAClB,MAAM,8DAA8D,CAAC;AAGtE,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,qBAAqB,CAAC;AAEpF,OAAO,EAAsB,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAGrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,4BAA4B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CAC1B;AAuBD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAkBvF;AAED,MAAM,WAAW,0BAA0B;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CA6BnE;AAmBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,MAAM,GACrB,MAAM,EAAE,CA4CV;AAED,wBAAgB,2BAA2B,CACvC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,EAAE,EACvB,cAAc,EAAE,OAAO,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,qBAAqB,CAAC,EAAE,MAAM,EAC9B,iBAAiB,CAAC,EAAE,OAAO,GAC5B,4BAA4B,GAAG,IAAI,CAiPrC;AAgCD,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,EAAE,4BAA4B,GACvC,0BAA0B,CAgC5B;AAiBD,MAAM,WAAW,iBAAiB;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAM5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,YAAY,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAUD,MAAM,WAAW,SAAS;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oEAAoE;IACpE,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,iBAAiB,CAAC;IACnC,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,wBAAwB,EAAE,OAAO,CAAC;IAClC,uCAAuC,EAAE,OAAO,CAAC;IACjD,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;CAM/D;AAED,qBAAa,2BAA4B,SAAQ,KAAK;gBACtC,SAAS,EAAE,MAAM;CAIhC;AAID,KAAK,aAAa,GAAG,WAAW,CAAC;AAcjC,eAAO,MAAM,4BAA4B,OAAQ,CAAC;AAQlD,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAmFxD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IAC/C,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,iBAAiB,CAoBpB;AA4BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAClC,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,mBAAmB,CAmEtB;AAED,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,MAAM,GACrB,oBAAoB,CA6CtB;AAWD,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,UAAU,EAAE,EACtB,YAAY,EAAE,MAAM,GACrB,UAAU,EAAE,CAUd;AAyFD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,SAAmB,GAAG,MAAM,CAQ1F;AA8BD,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,UAAU,EAAE,CAAC;IAClC,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACpC,GAAG,MAAM,CA6BT;AAgDD,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,mBAAmB,CAkM7E;AAED,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,iBAAiB,EAC1B,UAAU,SAAI,GACf,mBAAmB,CAcrB;AA2JD,wBAAgB,QAAQ,CACpB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,GAAE,SAAS,MAAM,EAAO,GAC1C,MAAM,CAER;AAmTD,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAuLvE"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* transform pipeline (i.e. inside `runPostTransformPhase`, not inside
|
|
9
9
|
* `tagMessages`). By that point:
|
|
10
10
|
* - queued user `ctx_reduce` ops have been applied
|
|
11
|
-
* - heuristic cleanup (
|
|
11
|
+
* - heuristic cleanup (emergency tiered drop, clear_reasoning_age) ran
|
|
12
12
|
* - sentinel/replay logic neutralized previously-stripped parts
|
|
13
13
|
* So if a `ctx_note` read is still a real, non-sentinel part in the
|
|
14
14
|
* messages array we're about to send, the agent will actually see it.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import type { Database } from "../../shared/sqlite";
|
|
2
|
+
export type BoundaryMode = "trigger" | "incremental-runner" | "transform-force" | "manual-full-recomp" | "manual-partial-recomp" | "pi-trigger" | "pi-runner";
|
|
3
|
+
export interface BoundaryUsage {
|
|
4
|
+
percentage: number;
|
|
5
|
+
inputTokens: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ResolvedBoundaryContext {
|
|
8
|
+
sessionId: string;
|
|
9
|
+
mode: BoundaryMode;
|
|
10
|
+
contextLimit: number;
|
|
11
|
+
executeThresholdPercentage: number;
|
|
12
|
+
triggerBudget: number;
|
|
13
|
+
usage: BoundaryUsage | null;
|
|
14
|
+
usageSource: "live" | "persisted" | "provisional-zero" | "manual-none";
|
|
15
|
+
lastCompartmentEndOrdinal: number;
|
|
16
|
+
priorBoundaryOrdinal: number;
|
|
17
|
+
protectedTailPolicyVersion: number;
|
|
18
|
+
migrationFloorActive: boolean;
|
|
19
|
+
emergencyTailScale?: 0.5 | 0.25;
|
|
20
|
+
providerShapeVersion: "opencode-v1" | "pi-folded-v1";
|
|
21
|
+
cacheNamespace: string;
|
|
22
|
+
createdAt?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Durable per-message token totals (sum of the message's active tag
|
|
25
|
+
* token_counts), keyed by real message id. When present, the boundary's
|
|
26
|
+
* token index reads these instead of re-tokenizing the raw session — the
|
|
27
|
+
* restart-durable fast path. A message missing here (or with a NULL-count
|
|
28
|
+
* tag) falls back to live tokenization. Built once in resolveBoundaryContext
|
|
29
|
+
* from the tag store; omitted (→ all-live) when the caller has no tag store.
|
|
30
|
+
*/
|
|
31
|
+
storedTokenTotals?: Map<string, number>;
|
|
32
|
+
}
|
|
33
|
+
export interface ProtectedTailBoundarySnapshot {
|
|
34
|
+
sessionId: string;
|
|
35
|
+
mode: BoundaryMode;
|
|
36
|
+
offset: number;
|
|
37
|
+
offsetMessageId: string | null;
|
|
38
|
+
protectedTailStart: number;
|
|
39
|
+
protectedTailStartMessageId: string | null;
|
|
40
|
+
eligibleEndOrdinal: number;
|
|
41
|
+
eligibleEndMessageId: string | null;
|
|
42
|
+
rawMessageCountAtTrigger: number;
|
|
43
|
+
rawLastMessageIdAtTrigger: string | null;
|
|
44
|
+
N: number;
|
|
45
|
+
usagePercentage: number;
|
|
46
|
+
usageInputTokens: number;
|
|
47
|
+
usageSource: ResolvedBoundaryContext["usageSource"];
|
|
48
|
+
contextLimit: number;
|
|
49
|
+
executeThresholdPercentage: number;
|
|
50
|
+
triggerBudget: number;
|
|
51
|
+
priorBoundaryOrdinal: number;
|
|
52
|
+
migrationFloorActive: boolean;
|
|
53
|
+
emergencyTailScale?: 0.5 | 0.25;
|
|
54
|
+
providerShapeVersion: "opencode-v1" | "pi-folded-v1";
|
|
55
|
+
cacheNamespace: string;
|
|
56
|
+
createdAt: number;
|
|
57
|
+
rawRangeFingerprint: string;
|
|
58
|
+
trueRawEligibleTokens: number;
|
|
59
|
+
oversizeAtomicUnit: boolean;
|
|
60
|
+
boundaryReason: string;
|
|
61
|
+
}
|
|
62
|
+
export interface ProtectedTailTokenTarget {
|
|
63
|
+
usable: number;
|
|
64
|
+
rawN: number;
|
|
65
|
+
floorN: number;
|
|
66
|
+
ceilingN: number;
|
|
67
|
+
effectiveFloor: number;
|
|
68
|
+
N: number;
|
|
69
|
+
headroom: number;
|
|
70
|
+
triggerBudget: number;
|
|
71
|
+
reserve: number;
|
|
72
|
+
}
|
|
73
|
+
export interface RawHistoryEligibility {
|
|
74
|
+
lastCompartmentEnd: number;
|
|
75
|
+
offset: number;
|
|
76
|
+
rawMessageCount: number;
|
|
77
|
+
hasRawBeyondLastCompartment: boolean;
|
|
78
|
+
}
|
|
79
|
+
export interface ProactiveTriggerInfo {
|
|
80
|
+
boundary: ProtectedTailBoundarySnapshot;
|
|
81
|
+
hasProtectedEligibleHead: boolean;
|
|
82
|
+
trueRawEligibleTokens: number;
|
|
83
|
+
tcTokenEstimate: number;
|
|
84
|
+
messageCount: number;
|
|
85
|
+
commitClusterCount: number;
|
|
86
|
+
isMeaningful: boolean;
|
|
87
|
+
}
|
|
88
|
+
export interface BoundarySnapshotValidationResult {
|
|
89
|
+
ok: boolean;
|
|
90
|
+
reason?: "stale_snapshot" | "model_or_limit_changed";
|
|
91
|
+
detail?: string;
|
|
92
|
+
}
|
|
93
|
+
export declare const RECOVERY_NO_HEAD_LIMIT = 2;
|
|
94
|
+
/** A tiny complete head is still worth summarizing at force pressure; below this, wait for a real arc/user turn. */
|
|
95
|
+
export declare const MIN_FORCE_ELIGIBLE_TOKENS_CAP = 1000;
|
|
96
|
+
export declare function deriveMinForceEligibleTokens(scaledN: number): number;
|
|
97
|
+
export declare function deriveProtectedTailTokenTarget(args: {
|
|
98
|
+
contextLimit: number;
|
|
99
|
+
executeThresholdPercentage: number;
|
|
100
|
+
usagePercentage: number;
|
|
101
|
+
triggerBudget?: number;
|
|
102
|
+
}): ProtectedTailTokenTarget;
|
|
103
|
+
export declare function nonEmergencyPerRunCap(usable: number, N: number): number;
|
|
104
|
+
export declare function force80PerRunCap(usable: number, N: number): number;
|
|
105
|
+
export declare function force95PerRunCap(usable: number, N: number): number;
|
|
106
|
+
export declare function selectPerRunCap(snapshot: Pick<ProtectedTailBoundarySnapshot, "usagePercentage" | "N" | "contextLimit" | "executeThresholdPercentage">): number;
|
|
107
|
+
export declare function resolveProtectedTailBoundary(ctx: ResolvedBoundaryContext): ProtectedTailBoundarySnapshot;
|
|
108
|
+
export declare function resolveBoundaryContext(args: {
|
|
109
|
+
db: Database;
|
|
110
|
+
sessionId: string;
|
|
111
|
+
mode: BoundaryMode;
|
|
112
|
+
contextLimit: number;
|
|
113
|
+
executeThresholdPercentage: number;
|
|
114
|
+
usage?: BoundaryUsage | null;
|
|
115
|
+
usageSource?: ResolvedBoundaryContext["usageSource"];
|
|
116
|
+
emergencyTailScale?: 0.5 | 0.25;
|
|
117
|
+
providerShapeVersion?: "opencode-v1" | "pi-folded-v1";
|
|
118
|
+
cacheNamespace?: string;
|
|
119
|
+
}): ResolvedBoundaryContext;
|
|
120
|
+
export declare function resolveOpenCodeProtectedTailBoundary(args: Parameters<typeof resolveBoundaryContext>[0]): ProtectedTailBoundarySnapshot;
|
|
121
|
+
export declare function getRawHistoryEligibility(db: Database, sessionId: string): RawHistoryEligibility;
|
|
122
|
+
export declare function hasProtectedEligibleHead(snapshot: ProtectedTailBoundarySnapshot): boolean;
|
|
123
|
+
export declare function hasRunnableCompartmentWindow(snapshot: ProtectedTailBoundarySnapshot): boolean;
|
|
124
|
+
export declare function validateBoundarySnapshot(args: {
|
|
125
|
+
db: Database;
|
|
126
|
+
snapshot: ProtectedTailBoundarySnapshot;
|
|
127
|
+
currentContextLimit?: number;
|
|
128
|
+
}): BoundarySnapshotValidationResult;
|
|
129
|
+
export declare function recordHighPressureNoEligibleHead(db: Database, snapshot: ProtectedTailBoundarySnapshot): number;
|
|
130
|
+
export declare function resetHighPressureNoEligibleHead(db: Database, sessionId: string): void;
|
|
131
|
+
export declare function createDefaultBoundarySnapshotForTests(sessionId: string): ProtectedTailBoundarySnapshot;
|
|
132
|
+
//# sourceMappingURL=protected-tail-boundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protected-tail-boundary.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/protected-tail-boundary.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,6 +78,60 @@ export interface SessionChunk {
|
|
|
78
78
|
}
|
|
79
79
|
export declare function withRawSessionMessageCache<T>(fn: () => T): T;
|
|
80
80
|
export declare function readRawSessionMessages(sessionId: string): RawMessage[];
|
|
81
|
+
/**
|
|
82
|
+
* Prime the active raw-message cache with a TAIL-ONLY read (only messages
|
|
83
|
+
* at/after the last compartment boundary), so subsequent
|
|
84
|
+
* `readRawSessionMessages(sessionId)` calls in this scope reuse it instead of
|
|
85
|
+
* reading the whole session.
|
|
86
|
+
*
|
|
87
|
+
* This is the O(tail) path: the compartment-trigger boundary resolution is
|
|
88
|
+
* offset-forward only (its candidate / suffix / range / head-cap / chunk-scan
|
|
89
|
+
* reads never cross below `baseOrdinal+1`), and the absolute message count it
|
|
90
|
+
* needs is recovered from the tail reader (`baseOrdinal + tail`), NOT from
|
|
91
|
+
* counting pre-boundary rows. On a months-long session the full read grows
|
|
92
|
+
* O(session); this stays flat at the tail size.
|
|
93
|
+
*
|
|
94
|
+
* The cached array carries ABSOLUTE ordinals (`baseOrdinal+1 …`) so every
|
|
95
|
+
* downstream absolute-ordinal computation matches the full read; the true total
|
|
96
|
+
* is stashed in the parallel absolute-count cache for `.length`-style consumers.
|
|
97
|
+
*
|
|
98
|
+
* No-op (returns false) when a provider is registered (Pi: in-memory branch read
|
|
99
|
+
* is already cheap and authoritative), no OpenCode DB exists, the cache is
|
|
100
|
+
* already populated, or no usable boundary anchor exists (e.g. no compartments,
|
|
101
|
+
* or the anchor message was deleted) — in which case the caller falls through to
|
|
102
|
+
* the full read, which is correct (everything is eligible / nothing to skip).
|
|
103
|
+
*/
|
|
104
|
+
export declare function primeTailRawMessageCache(args: {
|
|
105
|
+
sessionId: string;
|
|
106
|
+
lastCompartmentEnd: number;
|
|
107
|
+
anchorMessageId: string | null;
|
|
108
|
+
}): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Absolute session message count for the active scope. Returns the tail-prime's
|
|
111
|
+
* stashed absolute count when a tail slice is cached; otherwise null, signalling
|
|
112
|
+
* callers to use `readRawSessionMessages(sessionId).length` (whole-session
|
|
113
|
+
* array) as before.
|
|
114
|
+
*/
|
|
115
|
+
export declare function getCachedAbsoluteMessageCount(sessionId: string): number | null;
|
|
116
|
+
/**
|
|
117
|
+
* Prime the active raw-message cache with an IN-MEMORY tail built from the
|
|
118
|
+
* transform's `args.messages` — no opencode.db read at all. This is the hot-path
|
|
119
|
+
* goal: the transform already receives the post-marker tail (the eligible
|
|
120
|
+
* window) as parsed objects, so the boundary resolver can consume it directly.
|
|
121
|
+
*
|
|
122
|
+
* The caller supplies the already-converted absolute-ordinal `RawMessage[]` (via
|
|
123
|
+
* `buildInMemoryTailRawMessages`) plus its absolute count. Same scope/lifecycle
|
|
124
|
+
* rules as the other prime helpers: only inside a `withRawSessionMessageCache`
|
|
125
|
+
* scope, never shadows a registered provider (Pi), and is a no-op if the cache is
|
|
126
|
+
* already populated for the session.
|
|
127
|
+
*
|
|
128
|
+
* Returns true when it primed the cache.
|
|
129
|
+
*/
|
|
130
|
+
export declare function primeInMemoryTailRawMessageCache(args: {
|
|
131
|
+
sessionId: string;
|
|
132
|
+
messages: RawMessage[];
|
|
133
|
+
absoluteMessageCount: number;
|
|
134
|
+
}): boolean;
|
|
81
135
|
export declare function readRawSessionMessageById(sessionId: string, messageId: string): RawMessage | null;
|
|
82
136
|
export declare function getRawSessionMessageCount(sessionId: string): number;
|
|
83
137
|
/**
|
|
@@ -102,6 +156,7 @@ export interface RawSessionTagKeys {
|
|
|
102
156
|
toolObservations: Map<string, Set<string>>;
|
|
103
157
|
}
|
|
104
158
|
export declare function getRawSessionTagKeysThrough(sessionId: string, upToMessageIndex: number): RawSessionTagKeys;
|
|
159
|
+
export declare function getLegacyProtectedTailStartOrdinal(sessionId: string): number;
|
|
105
160
|
export declare function getProtectedTailStartOrdinal(sessionId: string): number;
|
|
106
161
|
export declare function readSessionChunk(sessionId: string, tokenBudget: number, offset?: number, eligibleEndOrdinal?: number): SessionChunk;
|
|
107
162
|
export declare function getRawSessionMessageIdsThrough(sessionId: string, endOrdinal: number): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-session-chunk.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/read-session-chunk.ts"],"names":[],"mappings":"AAOA,OAAO,EAWH,KAAK,gBAAgB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"read-session-chunk.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/read-session-chunk.ts"],"names":[],"mappings":"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"}
|