@wolfx/opencode-magic-context 0.23.0 → 0.23.1

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.
@@ -80,7 +80,6 @@ export interface PersistCachedM0Payload {
80
80
  sessionFactsVersion: number;
81
81
  upgradeState: string | null;
82
82
  systemHash?: string | null;
83
- toolSetHash?: string | null;
84
83
  modelKey?: string | null;
85
84
  }
86
85
  export declare function persistCachedM0(db: Database, sessionId: string, payload: PersistCachedM0Payload): void;
@@ -1 +1 @@
1
- {"version":3,"file":"storage-meta-shared.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-meta-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-meta-shared.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-meta-shared.ts"],"names":[],"mappings":"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"}
@@ -38,27 +38,6 @@
38
38
  * `db.prepare()` compile cost on first-flight rebuilds.
39
39
  */
40
40
  import type { Database } from "../../shared/sqlite";
41
- /**
42
- * Combined fingerprint of the current tool set for a (provider, model, agent),
43
- * used as a HARD-bust marker for m[0]/m[1] materialization. The provider sends
44
- * `tools` as a separate block BEFORE `system`, so any add or schema-change to a
45
- * tool busts the entire provider prompt cache but is invisible to the
46
- * system-prompt hash. This hash makes that detectable: when it differs from the
47
- * persisted `cachedM0ToolSetHash`, the cache was already dead and folding m[1]
48
- * into m[0] is "free".
49
- *
50
- * Built from the per-tool content fingerprints (`fingerprintFor`), sorted by
51
- * toolID so order is irrelevant. Returns "" when no tools have been recorded yet
52
- * for the key (e.g. before the first `tool.definition` fire) — the caller treats
53
- * an empty hash as "unknown" and does not fold on it.
54
- *
55
- * Known limitation (accepted): `recordToolDefinition` only adds/overwrites and
56
- * never deletes, so a *removed* tool lingers in the map and this hash does NOT
57
- * change on pure removal. That is a missed free-fold (the drift backstop folds
58
- * it later), never a spurious bust — the safe direction. Add and schema-change
59
- * ARE detected.
60
- */
61
- export declare function getCurrentToolSetHash(providerID: string, modelID: string, agentName: string | undefined): string;
62
41
  /**
63
42
  * Register the database used to persist measurements. Called by
64
43
  * openDatabase() after runMigrations() has ensured the
@@ -1 +1 @@
1
- {"version":3,"file":"tool-definition-tokens.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/tool-definition-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,qBAAqB,CAAC;AA0C/D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,SAAS,GAC9B,MAAM,CAQR;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAK9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAkCjE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACpB,IAAI,CAwEN;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC3C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,SAAS,GAC9B,MAAM,GAAG,SAAS,CAOpB;AAED,sEAAsE;AACtE,wBAAgB,iCAAiC,IAAI,IAAI,CAKxD;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,IAAI,KAAK,CAAC;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC,CAMD"}
1
+ {"version":3,"file":"tool-definition-tokens.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/tool-definition-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,qBAAqB,CAAC;AA0C/D;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAK9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAkCjE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACpB,IAAI,CAwEN;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC3C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,SAAS,GAC9B,MAAM,GAAG,SAAS,CAOpB;AAED,sEAAsE;AACtE,wBAAgB,iCAAiC,IAAI,IAAI,CAKxD;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,IAAI,KAAK,CAAC;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC,CAMD"}
@@ -1 +1 @@
1
- {"version":3,"file":"apply-operations.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/apply-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACH,aAAa,EAKhB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAwDhD,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,aAAa,GAAE,MAAU,EACzB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAC1B,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,GACvD,OAAO,CAoDT;AAED,wBAAgB,oBAAoB,CAChC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,aAAa,CAAC,EAAE,QAAQ,EAAE,GAC3B,OAAO,CA0BT"}
1
+ {"version":3,"file":"apply-operations.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/apply-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACH,aAAa,EAKhB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AA8EhD,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,aAAa,GAAE,MAAU,EACzB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAC1B,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,GACvD,OAAO,CA0ET;AAED,wBAAgB,oBAAoB,CAChC,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,eAAe,EACnB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAC/B,aAAa,CAAC,EAAE,QAAQ,EAAE,GAC3B,OAAO,CA0BT"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Resolve from the in-memory transform message array (preferred — free).
3
+ * Caches the verdict on first resolution.
4
+ */
5
+ export declare function resolveCtxReduceAvailabilityFromMessages(sessionId: string, messages: ReadonlyArray<{
6
+ info?: {
7
+ role?: string;
8
+ tools?: unknown;
9
+ };
10
+ }>): boolean;
11
+ /**
12
+ * Resolve from the OpenCode DB (system-prompt hook path — may run before the
13
+ * transform has seen any messages). Falls back to "available" when the DB is
14
+ * absent (Pi-only installs) or the read fails.
15
+ */
16
+ export declare function resolveCtxReduceAvailability(sessionId: string): boolean;
17
+ export declare function clearCtxReduceAvailability(sessionId: string): void;
18
+ //# sourceMappingURL=ctx-reduce-availability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctx-reduce-availability.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/ctx-reduce-availability.ts"],"names":[],"mappings":"AAoCA;;;GAGG;AACH,wBAAgB,wCAAwC,CACpD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,GACvE,OAAO,CAgBT;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAwBvE;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAElE"}
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"AAOA,OAAO,EAEH,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAOvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAOxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAIlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAkBxD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAUnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAS7D,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,iBAAiB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC9D,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,MAAM,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,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,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE3C,SAAS,CAAC,EAAE,eAAe,CAAC;QAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,MAAM,CAAC,EAAE;YACL,OAAO,EAAE,OAAO,CAAC;YACjB,uBAAuB,EAAE,MAAM,CAAC;YAChC;oFACwE;YACxE,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,kEAAkE;YAClE,WAAW,CAAC,EAAE;gBACV,OAAO,EAAE,OAAO,CAAC;gBACjB,eAAe,EAAE,MAAM,CAAC;gBACxB,gBAAgB,EAAE,MAAM,CAAC;aAC5B,CAAC;SACL,CAAC;QACF,SAAS,CAAC,EAAE;YACR,QAAQ,CAAC,EAAE,OAAO,GAAG,mBAAmB,GAAG,KAAK,CAAC;SACpD,CAAC;QACF,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,sBAAsB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;QACpE;;+EAEuE;QACvE,uBAAuB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,eAAe,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,wBAAwB,CAAC,EAAE;YACvB,OAAO,EAAE,OAAO,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,mBAAmB,CAAC,EAAE;YAClB,OAAO,EAAE,OAAO,CAAC;YACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;SACvB,CAAC;KACL,CAAC;CACL;AAqCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB;;;;;iBA8CrD,CAAJ;;;;;;;;;;;;iBAzCmB,CAAC;eAAyB,CAAC;aAChC,CAAC;aACH,CAAA;sBAAc,CAAC;mBAAiB,CAAC;;;mBA6iBpB;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE;;;SAY7E"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,6 @@ export interface M0SnapshotMarkers {
65
65
  sessionFactsVersion: number;
66
66
  upgradeState: string | null;
67
67
  systemHash: string;
68
- toolSetHash: string;
69
68
  modelKey: string;
70
69
  }
71
70
  /**
@@ -76,7 +75,6 @@ export interface M0SnapshotMarkers {
76
75
  */
77
76
  export interface M0HardSignals {
78
77
  systemHash: string;
79
- toolSetHash: string;
80
78
  modelKey: string;
81
79
  /** True when the provider cache TTL has elapsed since lastResponseTime. */
82
80
  cacheExpired: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"inject-compartments.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/inject-compartments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inject-compartments.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/inject-compartments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Captured openai-compat wire fixtures from issue #135 pinning harness.
3
+ * Source: scripts/experiments/issue-135-pinning-harness.ts (case 1c).
4
+ */
5
+ import type { OpenAiCompatWireMessage } from "./openai-compat-adjacency";
6
+ /** Known FAIL: [dropped] assistant between tool_calls and tool result. */
7
+ export declare const ISSUE_135_ORPHAN_WIRE: OpenAiCompatWireMessage[];
8
+ //# sourceMappingURL=issue-135-wire-fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issue-135-wire-fixtures.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/issue-135-wire-fixtures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEzE,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,EAAE,uBAAuB,EAe1D,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * OpenAI-compatible chat adjacency invariant used by GitHub Copilot's wire format.
3
+ *
4
+ * Every assistant message with `tool_calls` must be immediately followed by
5
+ * `role: "tool"` messages whose `tool_call_id` values cover exactly the ids
6
+ * declared on that assistant message (order among tool messages may vary).
7
+ *
8
+ * Copilot re-translates this shape to Bedrock/Claude server-side; violating
9
+ * adjacency here reproduces issue #135 (`tool_use` without adjacent `tool_result`).
10
+ */
11
+ export type OpenAiCompatWireMessage = {
12
+ role: string;
13
+ content?: string | null | unknown;
14
+ tool_calls?: Array<{
15
+ id: string;
16
+ type?: string;
17
+ function?: {
18
+ name: string;
19
+ arguments: string;
20
+ };
21
+ }>;
22
+ tool_call_id?: string;
23
+ };
24
+ export type AdjacencyViolation = {
25
+ index: number;
26
+ kind: "missing_tool_messages" | "orphan_tool_message" | "unmatched_tool_call_id";
27
+ assistantToolCallIds?: string[];
28
+ followingRoles?: string[];
29
+ toolCallId?: string;
30
+ detail: string;
31
+ };
32
+ export type AdjacencyResult = {
33
+ ok: boolean;
34
+ violations: AdjacencyViolation[];
35
+ };
36
+ export declare function assertOpenAiCompatAdjacency(messages: OpenAiCompatWireMessage[]): AdjacencyResult;
37
+ export declare function formatWireSlice(messages: OpenAiCompatWireMessage[], centerIndex: number, radius?: number): string;
38
+ //# sourceMappingURL=openai-compat-adjacency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-compat-adjacency.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/openai-compat-adjacency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAClD,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,uBAAuB,GAAG,qBAAqB,GAAG,wBAAwB,CAAC;IACjF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,kBAAkB,EAAE,CAAC;CACpC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,uBAAuB,EAAE,GAAG,eAAe,CAyFhG;AAED,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,uBAAuB,EAAE,EACnC,WAAW,EAAE,MAAM,EACnB,MAAM,SAAI,GACX,MAAM,CAmBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt-hash.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/system-prompt-hash.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,eAAe,EAGvB,MAAM,sCAAsC,CAAC;AAU9C;;;;;GAKG;AACH,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;IACR,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CACnD,GACF,IAAI,CAIN;AA+ED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAChD,EAAE,EAAE,eAAe,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,6FAA6F;IAC7F,UAAU,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,2BAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;OAMG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,8BAA8B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,4EAA4E;IAC5E,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,mEAAmE;IACnE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mEAAmE;IACnE,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,yFAAyF;IACzF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;qFACiF;IACjF,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAChD,GAAG;IACA,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,CAkRA"}
1
+ {"version":3,"file":"system-prompt-hash.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/system-prompt-hash.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,eAAe,EAGvB,MAAM,sCAAsC,CAAC;AAW9C;;;;;GAKG;AACH,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;IACR,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CACnD,GACF,IAAI,CAIN;AA+ED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAChD,EAAE,EAAE,eAAe,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,6FAA6F;IAC7F,UAAU,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,2BAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC;;;;;;OAMG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,8BAA8B,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,4EAA4E;IAC5E,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,mEAAmE;IACnE,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mEAAmE;IACnE,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,yFAAyF;IACzF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;qFACiF;IACjF,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAChD,GAAG;IACA,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C,CA0RA"}
@@ -97,14 +97,6 @@ export interface TransformDeps {
97
97
  getNotificationParams?: (sessionId: string) => import("./send-session-notification").NotificationParams;
98
98
  getModelKey?: (sessionId: string) => string | undefined;
99
99
  getFallbackModelId?: (sessionId: string) => string | undefined;
100
- /**
101
- * Combined fingerprint of the current tool set for this session's
102
- * provider/model/agent, used as a HARD-bust marker (the provider `tools`
103
- * block sits before `system` and a tool change is invisible to the system
104
- * hash). Returns "" when unknown (no tool.definition fire yet) → treated as
105
- * "no signal", never a spurious fold.
106
- */
107
- getToolSetHash?: (sessionId: string) => string;
108
100
  projectPath?: string;
109
101
  experimentalUserMemories?: boolean;
110
102
  experimentalPinKeyFiles?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/transform.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15974,9 +15974,8 @@ function persistCachedM0(db, sessionId, payload) {
15974
15974
  cached_m0_session_facts_version = ?,
15975
15975
  cached_m0_upgrade_state = ?,
15976
15976
  cached_m0_system_hash = ?,
15977
- cached_m0_tool_set_hash = ?,
15978
15977
  cached_m0_model_key = ?
15979
- WHERE session_id = ?`).run(Buffer2.from(payload.m0Bytes), payload.projectMemoryEpoch, payload.projectUserProfileVersion, payload.maxCompartmentSeq, payload.maxMemoryId, payload.maxMutationId, payload.maxMemoryMutationId ?? null, payload.m1Bytes ? Buffer2.from(payload.m1Bytes) : null, payload.projectDocsHash, payload.materializedAt, payload.sessionFactsVersion, payload.upgradeState, payload.systemHash ?? "", payload.toolSetHash ?? "", payload.modelKey ?? "", sessionId);
15978
+ WHERE session_id = ?`).run(Buffer2.from(payload.m0Bytes), payload.projectMemoryEpoch, payload.projectUserProfileVersion, payload.maxCompartmentSeq, payload.maxMemoryId, payload.maxMutationId, payload.maxMemoryMutationId ?? null, payload.m1Bytes ? Buffer2.from(payload.m1Bytes) : null, payload.projectDocsHash, payload.materializedAt, payload.sessionFactsVersion, payload.upgradeState, payload.systemHash ?? "", payload.modelKey ?? "", sessionId);
15980
15979
  }
15981
15980
  function clearCachedM0M1(db, sessionId) {
15982
15981
  ensureSessionMetaRow(db, sessionId);
@@ -150320,18 +150319,6 @@ function keyFor(providerID, modelID, agentName) {
150320
150319
  function fingerprintFor(description, parameters) {
150321
150320
  return createHash3("sha256").update(description).update("\x00").update(stableStringify(parameters)).digest("hex");
150322
150321
  }
150323
- function getCurrentToolSetHash(providerID, modelID, agentName) {
150324
- const key = keyFor(providerID, modelID, agentName);
150325
- const inner = fingerprints.get(key);
150326
- if (!inner || inner.size === 0)
150327
- return "";
150328
- const parts = [];
150329
- for (const [toolID, fp] of inner)
150330
- parts.push(`${toolID}\x00${fp}`);
150331
- parts.sort();
150332
- return createHash3("sha256").update(parts.join(`
150333
- `)).digest("hex");
150334
- }
150335
150322
  function setDatabase(db) {
150336
150323
  persistenceDb = db;
150337
150324
  cachedInsertStmt = null;
@@ -167989,7 +167976,6 @@ function readCurrentM0SnapshotMarkers(args) {
167989
167976
  sessionFactsVersion: getSessionFactsVersion(args.db, args.sessionId),
167990
167977
  upgradeState: getUpgradeState(args.db, args.sessionId),
167991
167978
  systemHash: hard.systemHash,
167992
- toolSetHash: hard.toolSetHash,
167993
167979
  modelKey: hard.modelKey
167994
167980
  };
167995
167981
  }
@@ -168022,7 +168008,6 @@ function snapshotMarkersFromCachedM0(state) {
168022
168008
  sessionFactsVersion: state.cachedM0SessionFactsVersion,
168023
168009
  upgradeState: state.cachedM0UpgradeState,
168024
168010
  systemHash: state.cachedM0SystemHash ?? "",
168025
- toolSetHash: state.cachedM0ToolSetHash ?? "",
168026
168011
  modelKey: state.cachedM0ModelKey ?? ""
168027
168012
  };
168028
168013
  }
@@ -168039,9 +168024,6 @@ function mustMaterialize(args) {
168039
168024
  if (hard.systemHash !== "" && hard.systemHash !== (args.state.cachedM0SystemHash ?? "")) {
168040
168025
  return { value: true, reason: "system_hash" };
168041
168026
  }
168042
- if (hard.toolSetHash !== "" && hard.toolSetHash !== (args.state.cachedM0ToolSetHash ?? "")) {
168043
- return { value: true, reason: "tool_set_hash" };
168044
- }
168045
168027
  if (hard.cacheExpired && hard.lastResponseTime > 0 && hard.lastResponseTime > (args.state.cachedM0MaterializedAt ?? 0)) {
168046
168028
  return { value: true, reason: "ttl_idle" };
168047
168029
  }
@@ -168236,7 +168218,6 @@ function applyMarkersToState(state, m0Bytes, markers, m1Bytes) {
168236
168218
  state.cachedM0SessionFactsVersion = markers.sessionFactsVersion;
168237
168219
  state.cachedM0UpgradeState = markers.upgradeState;
168238
168220
  state.cachedM0SystemHash = markers.systemHash;
168239
- state.cachedM0ToolSetHash = markers.toolSetHash;
168240
168221
  state.cachedM0ModelKey = markers.modelKey;
168241
168222
  state.snapshotMarkers = markers;
168242
168223
  }
@@ -168331,7 +168312,6 @@ function materializeM0(options) {
168331
168312
  sessionFactsVersion: getSessionFactsVersion(options.db, options.sessionId),
168332
168313
  upgradeState: getUpgradeState(options.db, options.sessionId),
168333
168314
  systemHash: snapshotMarkers.systemHash,
168334
- toolSetHash: snapshotMarkers.toolSetHash,
168335
168315
  modelKey: snapshotMarkers.modelKey
168336
168316
  };
168337
168317
  const stale = current.projectMemoryEpoch !== snapshotMarkers.projectMemoryEpoch || current.projectUserProfileVersion !== snapshotMarkers.projectUserProfileVersion || current.maxCompartmentSeq !== snapshotMarkers.maxCompartmentSeq || current.maxMutationId !== snapshotMarkers.maxMutationId || current.maxMemoryMutationId !== snapshotMarkers.maxMemoryMutationId || current.projectDocsHash !== snapshotMarkers.projectDocsHash || current.sessionFactsVersion !== snapshotMarkers.sessionFactsVersion || current.upgradeState !== snapshotMarkers.upgradeState;
@@ -168356,7 +168336,6 @@ function materializeM0(options) {
168356
168336
  sessionFactsVersion: snapshotMarkers.sessionFactsVersion,
168357
168337
  upgradeState: snapshotMarkers.upgradeState,
168358
168338
  systemHash: snapshotMarkers.systemHash,
168359
- toolSetHash: snapshotMarkers.toolSetHash,
168360
168339
  modelKey: snapshotMarkers.modelKey
168361
168340
  });
168362
168341
  options.db.prepare("UPDATE session_meta SET memory_block_count = ?, memory_block_ids = ? WHERE session_id = ?").run(renderedMemoryIds.length, JSON.stringify(renderedMemoryIds), options.sessionId);
@@ -168519,7 +168498,6 @@ function readCachedM0M1Row(db, sessionId) {
168519
168498
  cached_m0_session_facts_version,
168520
168499
  cached_m0_upgrade_state,
168521
168500
  cached_m0_system_hash,
168522
- cached_m0_tool_set_hash,
168523
168501
  cached_m0_model_key,
168524
168502
  memory_block_ids
168525
168503
  FROM session_meta
@@ -168554,12 +168532,11 @@ function markersFromCachedRow(row) {
168554
168532
  sessionFactsVersion: row.cached_m0_session_facts_version,
168555
168533
  upgradeState: row.cached_m0_upgrade_state,
168556
168534
  systemHash: row.cached_m0_system_hash ?? "",
168557
- toolSetHash: row.cached_m0_tool_set_hash ?? "",
168558
168535
  modelKey: row.cached_m0_model_key ?? ""
168559
168536
  };
168560
168537
  }
168561
168538
  function cachedRowMatchesState(row, state) {
168562
- return bufferEqualsNullable(row.cached_m0_bytes, state.cachedM0Bytes) && row.cached_m0_project_memory_epoch === state.cachedM0ProjectMemoryEpoch && row.cached_m0_project_user_profile_version === state.cachedM0ProjectUserProfileVersion && row.cached_m0_max_compartment_seq === state.cachedM0MaxCompartmentSeq && row.cached_m0_max_memory_id === state.cachedM0MaxMemoryId && row.cached_m0_max_mutation_id === state.cachedM0MaxMutationId && row.cached_m0_max_memory_mutation_id === state.cachedM0MaxMemoryMutationId && (row.cached_m0_project_docs_hash ?? "") === (state.cachedM0ProjectDocsHash ?? "") && row.cached_m0_materialized_at === state.cachedM0MaterializedAt && row.cached_m0_session_facts_version === state.cachedM0SessionFactsVersion && (row.cached_m0_upgrade_state ?? null) === (state.cachedM0UpgradeState ?? null) && (row.cached_m0_system_hash ?? "") === (state.cachedM0SystemHash ?? "") && (row.cached_m0_tool_set_hash ?? "") === (state.cachedM0ToolSetHash ?? "") && (row.cached_m0_model_key ?? "") === (state.cachedM0ModelKey ?? "");
168539
+ return bufferEqualsNullable(row.cached_m0_bytes, state.cachedM0Bytes) && row.cached_m0_project_memory_epoch === state.cachedM0ProjectMemoryEpoch && row.cached_m0_project_user_profile_version === state.cachedM0ProjectUserProfileVersion && row.cached_m0_max_compartment_seq === state.cachedM0MaxCompartmentSeq && row.cached_m0_max_memory_id === state.cachedM0MaxMemoryId && row.cached_m0_max_mutation_id === state.cachedM0MaxMutationId && row.cached_m0_max_memory_mutation_id === state.cachedM0MaxMemoryMutationId && (row.cached_m0_project_docs_hash ?? "") === (state.cachedM0ProjectDocsHash ?? "") && row.cached_m0_materialized_at === state.cachedM0MaterializedAt && row.cached_m0_session_facts_version === state.cachedM0SessionFactsVersion && (row.cached_m0_upgrade_state ?? null) === (state.cachedM0UpgradeState ?? null) && (row.cached_m0_system_hash ?? "") === (state.cachedM0SystemHash ?? "") && (row.cached_m0_model_key ?? "") === (state.cachedM0ModelKey ?? "");
168563
168540
  }
168564
168541
  function applyCachedRowToState(state, row) {
168565
168542
  const markers = markersFromCachedRow(row);
@@ -168579,7 +168556,6 @@ function applyCachedRowToState(state, row) {
168579
168556
  state.cachedM0SessionFactsVersion = markers.sessionFactsVersion;
168580
168557
  state.cachedM0UpgradeState = markers.upgradeState;
168581
168558
  state.cachedM0SystemHash = markers.systemHash;
168582
- state.cachedM0ToolSetHash = markers.toolSetHash;
168583
168559
  state.cachedM0ModelKey = markers.modelKey;
168584
168560
  state.snapshotMarkers = markers;
168585
168561
  }
@@ -168806,7 +168782,6 @@ var init_inject_compartments = __esm(async () => {
168806
168782
  CONSTRAINT_KEYWORDS = /\b(must|never|always|cannot|should not|must not)\b/i;
168807
168783
  EMPTY_HARD_SIGNALS = {
168808
168784
  systemHash: "",
168809
- toolSetHash: "",
168810
168785
  modelKey: "",
168811
168786
  cacheExpired: false,
168812
168787
  lastResponseTime: 0
@@ -180083,7 +180058,6 @@ function createTagger() {
180083
180058
  // src/hooks/magic-context/hook.ts
180084
180059
  init_magic_context();
180085
180060
  init_project_identity();
180086
- init_tool_definition_tokens();
180087
180061
  await init_storage();
180088
180062
  init_logger();
180089
180063
  init_resolve_fallbacks();
@@ -181819,6 +181793,63 @@ function replayCavemanCompression(sessionId, db, targets, tags) {
181819
181793
 
181820
181794
  // src/hooks/magic-context/transform.ts
181821
181795
  await init_compartment_runner();
181796
+
181797
+ // src/hooks/magic-context/ctx-reduce-availability.ts
181798
+ init_logger();
181799
+ await init_read_session_db();
181800
+ var availabilityBySession = new BoundedSessionMap(500);
181801
+ function verdictFromToolsMap(tools) {
181802
+ if (tools === null || typeof tools !== "object" || Array.isArray(tools))
181803
+ return null;
181804
+ const map2 = tools;
181805
+ if (map2.ctx_reduce === true)
181806
+ return true;
181807
+ if (map2.ctx_reduce === false)
181808
+ return false;
181809
+ if (map2["*"] === false)
181810
+ return false;
181811
+ return null;
181812
+ }
181813
+ function resolveCtxReduceAvailabilityFromMessages(sessionId, messages) {
181814
+ const cached2 = availabilityBySession.get(sessionId);
181815
+ if (cached2 !== undefined)
181816
+ return cached2;
181817
+ for (const message of messages) {
181818
+ if (message.info?.role !== "user")
181819
+ continue;
181820
+ const verdict = verdictFromToolsMap(message.info.tools);
181821
+ if (verdict !== null) {
181822
+ availabilityBySession.set(sessionId, verdict);
181823
+ return verdict;
181824
+ }
181825
+ break;
181826
+ }
181827
+ availabilityBySession.set(sessionId, true);
181828
+ return true;
181829
+ }
181830
+ function resolveCtxReduceAvailability(sessionId) {
181831
+ const cached2 = availabilityBySession.get(sessionId);
181832
+ if (cached2 !== undefined)
181833
+ return cached2;
181834
+ if (!openCodeDbExists())
181835
+ return true;
181836
+ try {
181837
+ const row = withReadOnlySessionDb((db) => db.prepare(`SELECT json_extract(data, '$.tools') AS tools FROM message
181838
+ WHERE session_id = ? AND json_extract(data, '$.role') = 'user'
181839
+ ORDER BY time_created ASC LIMIT 1`).get(sessionId));
181840
+ if (!row)
181841
+ return true;
181842
+ const verdict = row.tools === null ? null : verdictFromToolsMap(JSON.parse(row.tools));
181843
+ const resolved = verdict ?? true;
181844
+ availabilityBySession.set(sessionId, resolved);
181845
+ return resolved;
181846
+ } catch (error51) {
181847
+ sessionLog(sessionId, "ctx_reduce availability read failed (fail-open):", error51);
181848
+ return true;
181849
+ }
181850
+ }
181851
+
181852
+ // src/hooks/magic-context/transform.ts
181822
181853
  init_derive_budgets();
181823
181854
 
181824
181855
  // src/hooks/magic-context/image-token-estimate.ts
@@ -182737,6 +182768,7 @@ function appendReminderToUserMessage(message, reminder) {
182737
182768
  init_tag_part_guards();
182738
182769
  await init_storage();
182739
182770
  var USER_DROP_PREVIEW_CHARS = 250;
182771
+ var RECENT_TOOL_SKELETON_WINDOW = 20;
182740
182772
  function buildReplacementContent(tagId, target) {
182741
182773
  const role = target.message?.info.role;
182742
182774
  if (role !== "user") {
@@ -182762,6 +182794,7 @@ function applyPendingOperations(sessionId, db, targets, protectedTags = 0, prelo
182762
182794
  const tagTypeById = new Map(tags.map((tag) => [tag.tagNumber, tag.type]));
182763
182795
  const protectedTagIds = protectedTags > 0 ? new Set(tags.filter((tag) => tag.status === "active").map((tag) => tag.tagNumber).sort((left, right) => right - left).slice(0, protectedTags)) : new Set;
182764
182796
  const pendingOps = preloadedPendingOps ?? getPendingOps(db, sessionId);
182797
+ const skeletonWindow = new Set(tags.filter((tag) => tag.type === "tool").map((tag) => tag.tagNumber).sort((left, right) => right - left).slice(0, RECENT_TOOL_SKELETON_WINDOW));
182765
182798
  for (const pendingOp of pendingOps) {
182766
182799
  const tagStatus = tagStatusById.get(pendingOp.tagId);
182767
182800
  if (tagStatus === "compacted" || tagStatus === "dropped") {
@@ -182774,14 +182807,25 @@ function applyPendingOperations(sessionId, db, targets, protectedTags = 0, prelo
182774
182807
  const target = targets.get(pendingOp.tagId);
182775
182808
  const isToolTag = tagTypeById.get(pendingOp.tagId) === "tool";
182776
182809
  if (isToolTag) {
182777
- const dropResult = target?.drop?.() ?? "absent";
182778
- if (dropResult === "incomplete") {
182779
- continue;
182780
- }
182781
- if (dropResult === "removed") {
182782
- didMutateMessage = true;
182810
+ if (skeletonWindow.has(pendingOp.tagId)) {
182811
+ const truncResult = target?.truncate?.() ?? "absent";
182812
+ if (truncResult === "incomplete") {
182813
+ continue;
182814
+ }
182815
+ if (truncResult === "truncated") {
182816
+ didMutateMessage = true;
182817
+ }
182818
+ updateTagDropMode(db, sessionId, pendingOp.tagId, "truncated");
182819
+ } else {
182820
+ const dropResult = target?.drop?.() ?? "absent";
182821
+ if (dropResult === "incomplete") {
182822
+ continue;
182823
+ }
182824
+ if (dropResult === "removed") {
182825
+ didMutateMessage = true;
182826
+ }
182827
+ updateTagDropMode(db, sessionId, pendingOp.tagId, "full");
182783
182828
  }
182784
- updateTagDropMode(db, sessionId, pendingOp.tagId, "full");
182785
182829
  } else if (target) {
182786
182830
  const changed = target.setContent(buildReplacementContent(pendingOp.tagId, target));
182787
182831
  if (changed)
@@ -185001,7 +185045,7 @@ function createTransform(deps) {
185001
185045
  }
185002
185046
  const reducedMode = sessionMeta.isSubagent;
185003
185047
  const fullFeatureMode = !reducedMode;
185004
- const ctxReduceEnabledEffective = deps.ctxReduceEnabled !== false;
185048
+ const ctxReduceEnabledEffective = deps.ctxReduceEnabled !== false && resolveCtxReduceAvailabilityFromMessages(sessionId, messages);
185005
185049
  let sessionDirectory = deps.directory ?? "";
185006
185050
  const cachedDirectory = deps.sessionDirectoryBySession?.get(sessionId);
185007
185051
  if (cachedDirectory && cachedDirectory.length > 0) {
@@ -185454,7 +185498,6 @@ Historian previously failed ${historianFailureState.failureCount} time(s), so Ma
185454
185498
  logTransformTiming(sessionId, "compartmentPhase", tCompartmentPhase);
185455
185499
  const hardModel = deps.liveModelBySession?.get(sessionId);
185456
185500
  const hardModelKey = hardModel ? `${hardModel.providerID}/${hardModel.modelID}` : "";
185457
- const hardToolSetHash = deps.getToolSetHash?.(sessionId) ?? "";
185458
185501
  const hardSystemHash = typeof sessionMeta.systemPromptHash === "string" ? sessionMeta.systemPromptHash : "";
185459
185502
  let hardTtlMs = 5 * 60 * 1000;
185460
185503
  try {
@@ -185463,7 +185506,6 @@ Historian previously failed ${historianFailureState.failureCount} time(s), so Ma
185463
185506
  const hardCacheExpired = sessionMeta.lastResponseTime > 0 && Date.now() - sessionMeta.lastResponseTime >= hardTtlMs;
185464
185507
  const m0HardSignals = {
185465
185508
  systemHash: hardSystemHash,
185466
- toolSetHash: hardToolSetHash,
185467
185509
  modelKey: hardModelKey,
185468
185510
  cacheExpired: hardCacheExpired,
185469
185511
  lastResponseTime: sessionMeta.lastResponseTime
@@ -186487,9 +186529,9 @@ Prefer many small targeted operations over one large blanket operation, and keep
186487
186529
 
186488
186530
  // src/hooks/magic-context/system-prompt-hash.ts
186489
186531
  init_logger();
186532
+ await init_storage();
186490
186533
  init_key_files_block();
186491
186534
  init_read_session_formatting();
186492
- await init_storage();
186493
186535
  var MAGIC_CONTEXT_MARKER = "## Magic Context";
186494
186536
  function clearSystemPromptHashSession(sessionId, handleMaps) {
186495
186537
  clearKeyFilesCacheForSession(sessionId);
@@ -186535,9 +186577,10 @@ function createSystemPromptHashHandler(deps) {
186535
186577
  sessionLog(sessionId, "system-prompt-hash session meta load failed:", error51);
186536
186578
  }
186537
186579
  const isSubagentSession = sessionMetaEarly?.isSubagent === true;
186538
- const subagentReduceMode = isSubagentSession && deps.ctxReduceEnabled !== false;
186539
- const effectiveCtxReduceEnabled = isSubagentSession ? false : deps.ctxReduceEnabled;
186540
- const skipGuidanceForDisabledSubagent = isSubagentSession && deps.ctxReduceEnabled === false;
186580
+ const ctxReduceCallable = resolveCtxReduceAvailability(sessionId);
186581
+ const subagentReduceMode = isSubagentSession && deps.ctxReduceEnabled !== false && ctxReduceCallable;
186582
+ const effectiveCtxReduceEnabled = isSubagentSession ? false : deps.ctxReduceEnabled !== false && ctxReduceCallable;
186583
+ const skipGuidanceForDisabledSubagent = isSubagentSession && (deps.ctxReduceEnabled === false || !ctxReduceCallable);
186541
186584
  const fullPrompt = output.system.join(`
186542
186585
  `);
186543
186586
  if (fullPrompt.length > 0 && !fullPrompt.includes(MAGIC_CONTEXT_MARKER) && !skipGuidanceForDisabledSubagent) {
@@ -186869,12 +186912,6 @@ function createMagicContextHook(deps) {
186869
186912
  const model = liveModelBySession.get(sessionId);
186870
186913
  return resolveModelKey(model?.providerID, model?.modelID);
186871
186914
  },
186872
- getToolSetHash: (sessionId) => {
186873
- const model = liveModelBySession.get(sessionId);
186874
- if (!model)
186875
- return "";
186876
- return getCurrentToolSetHash(model.providerID, model.modelID, agentBySession.get(sessionId));
186877
- },
186878
186915
  getFallbackModelId: (sessionId) => {
186879
186916
  const model = liveModelBySession.get(sessionId);
186880
186917
  return model ? `${model.providerID}/${model.modelID}` : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"create-session-hooks.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/create-session-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;CACtC;;;;;;qBAwDgqK,CAAC;;;;;;;;;;;;qBAApzD,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAAwh0B,CAAC;;;;;;EADl/6B"}
1
+ {"version":3,"file":"create-session-hooks.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/create-session-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;CACtC;;;;;;qBAwD0uK,CAAC;;;;;;;;;;;;qBAA93D,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAA8nzB,CAAC;;;;;;EADxl6B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wolfx/opencode-magic-context",
3
- "version": "0.23.0",
3
+ "version": "0.23.1",
4
4
  "type": "module",
5
5
  "description": "OpenCode plugin for Magic Context — cross-session memory and context management",
6
6
  "main": "dist/index.js",