@cortexkit/opencode-magic-context 0.8.11 → 0.8.12

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/cli.js CHANGED
@@ -7851,7 +7851,7 @@ var require_src3 = __commonJS((exports, module) => {
7851
7851
  // src/cli/doctor.ts
7852
7852
  var import_comment_json3 = __toESM(require_src2(), 1);
7853
7853
  import { execSync as execSync2, spawnSync } from "node:child_process";
7854
- import { existsSync as existsSync7, readdirSync as readdirSync2, readFileSync as readFileSync5, rmSync, statSync as statSync2, writeFileSync as writeFileSync4 } from "node:fs";
7854
+ import { existsSync as existsSync6, readdirSync as readdirSync2, readFileSync as readFileSync5, rmSync, statSync as statSync2, writeFileSync as writeFileSync4 } from "node:fs";
7855
7855
  import { createRequire as createRequire3 } from "node:module";
7856
7856
  import { homedir as homedir5, platform, tmpdir as tmpdir3 } from "node:os";
7857
7857
  import { join as join9 } from "node:path";
@@ -10014,13 +10014,13 @@ function getOpenCodeCacheDir2() {
10014
10014
  async function clearPluginCache(force = false) {
10015
10015
  const cacheDir = getOpenCodeCacheDir2();
10016
10016
  const pluginCacheDir = join9(cacheDir, "packages", PLUGIN_ENTRY_WITH_VERSION2);
10017
- if (!existsSync7(pluginCacheDir)) {
10017
+ if (!existsSync6(pluginCacheDir)) {
10018
10018
  return { action: "not_found", path: pluginCacheDir };
10019
10019
  }
10020
10020
  let cachedVersion;
10021
10021
  try {
10022
10022
  const installedPkgPath = join9(pluginCacheDir, "node_modules", "@cortexkit", "opencode-magic-context", "package.json");
10023
- if (existsSync7(installedPkgPath)) {
10023
+ if (existsSync6(installedPkgPath)) {
10024
10024
  const pkg = JSON.parse(readFileSync5(installedPkgPath, "utf-8"));
10025
10025
  if (typeof pkg?.version === "string") {
10026
10026
  cachedVersion = pkg.version;
@@ -10152,7 +10152,7 @@ async function runDoctor(options = {}) {
10152
10152
  } else {
10153
10153
  R2.success(`OpenCode config: ${paths.opencodeConfig}`);
10154
10154
  }
10155
- if (existsSync7(paths.magicContextConfig)) {
10155
+ if (existsSync6(paths.magicContextConfig)) {
10156
10156
  R2.success(`Magic Context config: ${paths.magicContextConfig}`);
10157
10157
  } else {
10158
10158
  R2.warn(`No magic-context.jsonc found — using defaults`);
@@ -10212,13 +10212,13 @@ async function runDoctor(options = {}) {
10212
10212
  R2.warn("Restart OpenCode to see the sidebar");
10213
10213
  fixed++;
10214
10214
  } else {
10215
- if (existsSync7(paths.tuiConfig)) {
10215
+ if (existsSync6(paths.tuiConfig)) {
10216
10216
  R2.success("TUI sidebar plugin configured");
10217
10217
  } else {
10218
10218
  R2.success("TUI sidebar plugin configured (tui.json created)");
10219
10219
  }
10220
10220
  }
10221
- if (existsSync7(paths.magicContextConfig)) {
10221
+ if (existsSync6(paths.magicContextConfig)) {
10222
10222
  try {
10223
10223
  const mcRaw = readFileSync5(paths.magicContextConfig, "utf-8");
10224
10224
  const mcConfig = import_comment_json3.parse(mcRaw);
@@ -10248,7 +10248,7 @@ async function runDoctor(options = {}) {
10248
10248
  R2.success("Plugin cache clean (no cached version found)");
10249
10249
  }
10250
10250
  const logPath = join9(tmpdir3(), "magic-context.log");
10251
- if (existsSync7(logPath)) {
10251
+ if (existsSync6(logPath)) {
10252
10252
  const logStat = statSync2(logPath);
10253
10253
  const sizeKb = (logStat.size / 1024).toFixed(0);
10254
10254
  R2.info(`Log file: ${logPath} (${sizeKb} KB)`);
@@ -10256,7 +10256,7 @@ async function runDoctor(options = {}) {
10256
10256
  R2.info(`Log file: ${logPath} (not yet created)`);
10257
10257
  }
10258
10258
  const historianDumpDir = join9(tmpdir3(), "magic-context-historian");
10259
- if (existsSync7(historianDumpDir)) {
10259
+ if (existsSync6(historianDumpDir)) {
10260
10260
  try {
10261
10261
  const dumps = readdirSync2(historianDumpDir).filter((f) => f.endsWith(".xml")).map((f) => ({
10262
10262
  name: f,
@@ -10294,12 +10294,12 @@ async function runDoctor(options = {}) {
10294
10294
 
10295
10295
  // src/cli/setup.ts
10296
10296
  var import_comment_json4 = __toESM(require_src2(), 1);
10297
- import { existsSync as existsSync8, mkdirSync as mkdirSync3, readFileSync as readFileSync6, writeFileSync as writeFileSync5 } from "node:fs";
10297
+ import { existsSync as existsSync7, mkdirSync as mkdirSync3, readFileSync as readFileSync6, writeFileSync as writeFileSync5 } from "node:fs";
10298
10298
  import { dirname as dirname3 } from "node:path";
10299
10299
  var PLUGIN_NAME4 = "@cortexkit/opencode-magic-context";
10300
10300
  var PLUGIN_ENTRY2 = "@cortexkit/opencode-magic-context@latest";
10301
10301
  function ensureDir(dir) {
10302
- if (!existsSync8(dir)) {
10302
+ if (!existsSync7(dir)) {
10303
10303
  mkdirSync3(dir, { recursive: true });
10304
10304
  }
10305
10305
  }
@@ -10363,7 +10363,7 @@ function addPluginToTuiConfig(configPath, format) {
10363
10363
  `);
10364
10364
  }
10365
10365
  function writeMagicContextConfig(configPath, options) {
10366
- const config = (existsSync8(configPath) ? readJsonc(configPath) : null) ?? {};
10366
+ const config = (existsSync7(configPath) ? readJsonc(configPath) : null) ?? {};
10367
10367
  if (!config.$schema) {
10368
10368
  config.$schema = "https://raw.githubusercontent.com/cortexkit/opencode-magic-context/master/assets/magic-context.schema.json";
10369
10369
  }
@@ -10429,7 +10429,7 @@ async function runSetup() {
10429
10429
  R2.warn("You can configure models manually in magic-context.jsonc later");
10430
10430
  }
10431
10431
  const paths = detectConfigPaths();
10432
- const hadExistingSetup = paths.opencodeConfigFormat !== "none" || existsSync8(paths.magicContextConfig) || paths.tuiConfigFormat !== "none";
10432
+ const hadExistingSetup = paths.opencodeConfigFormat !== "none" || existsSync7(paths.magicContextConfig) || paths.tuiConfigFormat !== "none";
10433
10433
  addPluginToOpenCodeConfig(paths.opencodeConfig, paths.opencodeConfigFormat);
10434
10434
  R2.success(`Plugin added to ${paths.opencodeConfig}`);
10435
10435
  R2.info("Disabled built-in compaction (auto=false, prune=false)");
@@ -5,12 +5,14 @@ export type LiveModelBySession = Map<string, {
5
5
  modelID: string;
6
6
  }>;
7
7
  export type VariantBySession = Map<string, string | undefined>;
8
+ export type AgentBySession = Map<string, string>;
8
9
  export type RecentReduceBySession = Map<string, number>;
9
10
  export type ToolUsageSinceUserTurn = Map<string, number>;
10
11
  export type FlushedSessions = Set<string>;
11
12
  export type LastHeuristicsTurnId = Map<string, string>;
12
13
  export type EmergencyNudgeFired = Set<string>;
13
- export declare function getLiveNotificationParams(sessionId: string, liveModelBySession: LiveModelBySession, variantBySession: VariantBySession): {
14
+ export declare function getLiveNotificationParams(sessionId: string, liveModelBySession: LiveModelBySession, variantBySession: VariantBySession, agentBySession?: AgentBySession): {
15
+ agent?: string;
14
16
  variant?: string;
15
17
  providerId?: string;
16
18
  modelId?: string;
@@ -20,12 +22,14 @@ export declare function createChatMessageHook(args: {
20
22
  toolUsageSinceUserTurn: ToolUsageSinceUserTurn;
21
23
  recentReduceBySession: RecentReduceBySession;
22
24
  variantBySession: VariantBySession;
25
+ agentBySession: AgentBySession;
23
26
  flushedSessions: FlushedSessions;
24
27
  lastHeuristicsTurnId: LastHeuristicsTurnId;
25
28
  ctxReduceEnabled?: boolean;
26
29
  }): (input: {
27
30
  sessionID?: string;
28
31
  variant?: string;
32
+ agent?: string;
29
33
  }) => Promise<void>;
30
34
  export declare function createEventHook(args: {
31
35
  eventHandler: (input: {
@@ -44,6 +48,7 @@ export declare function createEventHook(args: {
44
48
  db: Parameters<typeof getOrCreateSessionMeta>[0];
45
49
  liveModelBySession: LiveModelBySession;
46
50
  variantBySession: VariantBySession;
51
+ agentBySession: AgentBySession;
47
52
  recentReduceBySession: RecentReduceBySession;
48
53
  toolUsageSinceUserTurn: ToolUsageSinceUserTurn;
49
54
  emergencyNudgeFired: EmergencyNudgeFired;
@@ -1 +1 @@
1
- {"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { Scheduler } from "../../features/magic-context/scheduler";
4
4
  import type { Tagger } from "../../features/magic-context/tagger";
5
5
  import type { PluginContext } from "../../plugin/types";
6
6
  export type { CommandExecuteInput, CommandExecuteOutput } from "./command-handler";
7
+ import type { LiveSessionState } from "./live-session-state";
7
8
  export interface MagicContextDeps {
8
9
  client: PluginContext["client"];
9
10
  directory: string;
@@ -11,6 +12,7 @@ export interface MagicContextDeps {
11
12
  scheduler: Scheduler;
12
13
  onSessionCacheInvalidated?: (sessionId: string) => void;
13
14
  compactionHandler: ReturnType<typeof createCompactionHandler>;
15
+ liveSessionState?: LiveSessionState;
14
16
  config: {
15
17
  protected_tags: number;
16
18
  ctx_reduce_enabled?: boolean;
@@ -71,6 +73,7 @@ export declare function createMagicContextHook(deps: MagicContextDeps): {
71
73
  "chat.message": (input: {
72
74
  sessionID?: string;
73
75
  variant?: string;
76
+ agent?: string;
74
77
  }) => Promise<void>;
75
78
  event: (input: {
76
79
  event: {
@@ -1 +1 @@
1
- {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,aAAa,EAClB,KAAK,cAAc,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAOvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAMxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAiBnF,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,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,MAAM,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,4BAA4B,CAAC,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxF,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9C,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,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;SACnC,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,YAAY,CAAC,EAAE;YACX,kBAAkB,CAAC,EAAE,OAAO,CAAC;YAC7B,aAAa,CAAC,EAAE;gBAAE,OAAO,EAAE,OAAO,CAAC;gBAAC,mBAAmB,EAAE,MAAM,CAAA;aAAE,CAAC;YAClE,aAAa,CAAC,EAAE;gBAAE,OAAO,EAAE,OAAO,CAAC;gBAAC,YAAY,EAAE,MAAM,CAAC;gBAAC,SAAS,EAAE,MAAM,CAAA;aAAE,CAAC;SACjF,CAAC;KACL,CAAC;CACL;AAqCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB;;;;;iBAxCT,CAAC;;;;;;;;;;;;iBA3BE,CAAC;eAC5C,CAAC;;mBAsUgB;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE;;;SAa7E"}
1
+ {"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,aAAa,EAClB,KAAK,cAAc,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAOvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAMxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAUnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAQ7D,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,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,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,4BAA4B,CAAC,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxF,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,uBAAuB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9C,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,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;SACnC,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,YAAY,CAAC,EAAE;YACX,kBAAkB,CAAC,EAAE,OAAO,CAAC;YAC7B,aAAa,CAAC,EAAE;gBAAE,OAAO,EAAE,OAAO,CAAC;gBAAC,mBAAmB,EAAE,MAAM,CAAA;aAAE,CAAC;YAClE,aAAa,CAAC,EAAE;gBAAE,OAAO,EAAE,OAAO,CAAC;gBAAC,YAAY,EAAE,MAAM,CAAC;gBAAC,SAAS,EAAE,MAAM,CAAA;aAAE,CAAC;SACjF,CAAC;KACL,CAAC;CACL;AAqCD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB;;;;;iBAzCjC,CAAC;;;;;;;;;;;;iBAtBrB,CAAC;eAAiB,CAAC;aACnB,CAAH;;mBAuVwB;QAAE,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE;;;SAa7E"}
@@ -0,0 +1,8 @@
1
+ import type { AgentBySession, LiveModelBySession, VariantBySession } from "./hook-handlers";
2
+ export interface LiveSessionState {
3
+ liveModelBySession: LiveModelBySession;
4
+ variantBySession: VariantBySession;
5
+ agentBySession: AgentBySession;
6
+ }
7
+ export declare function createLiveSessionState(): LiveSessionState;
8
+ //# sourceMappingURL=live-session-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-session-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/live-session-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,WAAW,gBAAgB;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;CAClC;AAED,wBAAgB,sBAAsB,IAAI,gBAAgB,CAMzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAyBlD,QAAA,MAAM,MAAM,EAAE,MA2Ob,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA0BlD,QAAA,MAAM,MAAM,EAAE,MAiPb,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -28844,6 +28844,17 @@ async function runSidekick(deps) {
28844
28844
 
28845
28845
  // src/index.ts
28846
28846
  init_compartment_prompt();
28847
+
28848
+ // src/hooks/magic-context/live-session-state.ts
28849
+ function createLiveSessionState() {
28850
+ return {
28851
+ liveModelBySession: new Map,
28852
+ variantBySession: new Map,
28853
+ agentBySession: new Map
28854
+ };
28855
+ }
28856
+
28857
+ // src/index.ts
28847
28858
  init_conflict_warning_hook();
28848
28859
 
28849
28860
  // src/features/magic-context/dreamer/storage-dream-state.ts
@@ -33704,10 +33715,12 @@ var TOOL_HEAVY_TURN_REMINDER_THRESHOLD = 5;
33704
33715
  var TOOL_HEAVY_TURN_REMINDER_TEXT = `
33705
33716
 
33706
33717
  <instruction name="ctx_reduce_turn_cleanup">Also drop via \`ctx_reduce\` things you don't need anymore from the last turn before continuing.</instruction>`;
33707
- function getLiveNotificationParams(sessionId, liveModelBySession, variantBySession) {
33718
+ function getLiveNotificationParams(sessionId, liveModelBySession, variantBySession, agentBySession) {
33708
33719
  const model = liveModelBySession.get(sessionId);
33709
33720
  const variant = variantBySession.get(sessionId);
33721
+ const agent = agentBySession?.get(sessionId);
33710
33722
  return {
33723
+ ...agent ? { agent } : {},
33711
33724
  ...variant ? { variant } : {},
33712
33725
  ...model ? { providerId: model.providerID, modelId: model.modelID } : {}
33713
33726
  };
@@ -33728,6 +33741,9 @@ function createChatMessageHook(args) {
33728
33741
  args.toolUsageSinceUserTurn.set(sessionId, 0);
33729
33742
  const previousVariant = args.variantBySession.get(sessionId);
33730
33743
  args.variantBySession.set(sessionId, input.variant);
33744
+ if (input.agent) {
33745
+ args.agentBySession.set(sessionId, input.agent);
33746
+ }
33731
33747
  if (previousVariant !== undefined && input.variant !== undefined && previousVariant !== input.variant) {
33732
33748
  sessionLog(sessionId, `variant changed (${previousVariant} -> ${input.variant}), triggering flush`);
33733
33749
  args.flushedSessions.add(sessionId);
@@ -33759,6 +33775,7 @@ function createEventHook(args) {
33759
33775
  if (input.event.type === "session.deleted") {
33760
33776
  args.liveModelBySession.delete(sessionId);
33761
33777
  args.variantBySession.delete(sessionId);
33778
+ args.agentBySession.delete(sessionId);
33762
33779
  args.recentReduceBySession.delete(sessionId);
33763
33780
  args.toolUsageSinceUserTurn.delete(sessionId);
33764
33781
  args.emergencyNudgeFired.delete(sessionId);
@@ -33793,6 +33810,7 @@ function createEventHook(args) {
33793
33810
  try {
33794
33811
  const model = args.liveModelBySession.get(sessionId);
33795
33812
  const variant = args.variantBySession.get(sessionId);
33813
+ const agent = args.agentBySession.get(sessionId);
33796
33814
  const c = args.client;
33797
33815
  if (typeof c.session?.promptAsync !== "function") {
33798
33816
  sessionLog(sessionId, "emergency nudge: promptAsync unavailable");
@@ -33802,6 +33820,7 @@ function createEventHook(args) {
33802
33820
  await c.session.promptAsync({
33803
33821
  path: { id: sessionId },
33804
33822
  body: {
33823
+ ...agent ? { agent } : {},
33805
33824
  ...model ? { model } : {},
33806
33825
  ...variant ? { variant } : {},
33807
33826
  parts: [{ type: "text", text: nudgeText }]
@@ -34310,8 +34329,9 @@ function createMagicContextHook(deps) {
34310
34329
  const flushedSessions = new Set;
34311
34330
  const lastHeuristicsTurnId = new Map;
34312
34331
  const commitSeenLastPass = new Map;
34313
- const variantBySession = new Map;
34314
- const liveModelBySession = new Map;
34332
+ const variantBySession = deps.liveSessionState?.variantBySession ?? new Map;
34333
+ const liveModelBySession = deps.liveSessionState?.liveModelBySession ?? new Map;
34334
+ const agentBySession = deps.liveSessionState?.agentBySession ?? new Map;
34315
34335
  const recentReduceBySession = new Map;
34316
34336
  const toolUsageSinceUserTurn = new Map;
34317
34337
  const ctxReduceEnabled = deps.config.ctx_reduce_enabled !== false;
@@ -34346,7 +34366,7 @@ function createMagicContextHook(deps) {
34346
34366
  historyBudgetPercentage: deps.config.history_budget_percentage,
34347
34367
  executeThresholdPercentage: deps.config.execute_threshold_percentage,
34348
34368
  historianTimeoutMs: deps.config.historian_timeout_ms ?? DEFAULT_HISTORIAN_TIMEOUT_MS,
34349
- getNotificationParams: (sessionId) => getLiveNotificationParams(sessionId, liveModelBySession, variantBySession),
34369
+ getNotificationParams: (sessionId) => getLiveNotificationParams(sessionId, liveModelBySession, variantBySession, agentBySession),
34350
34370
  getModelKey: (sessionId) => {
34351
34371
  const model = liveModelBySession.get(sessionId);
34352
34372
  return resolveModelKey(model?.providerID, model?.modelID);
@@ -34430,11 +34450,11 @@ function createMagicContextHook(deps) {
34430
34450
  const model = liveModelBySession.get(sessionId);
34431
34451
  return model ? `${model.providerID}/${model.modelID}` : undefined;
34432
34452
  })(),
34433
- getNotificationParams: () => getLiveNotificationParams(sessionId, liveModelBySession, variantBySession)
34453
+ getNotificationParams: () => getLiveNotificationParams(sessionId, liveModelBySession, variantBySession, agentBySession)
34434
34454
  }),
34435
34455
  sendNotification: async (sessionId, text, params) => {
34436
34456
  await sendIgnoredMessage(deps.client, sessionId, text, {
34437
- ...getLiveNotificationParams(sessionId, liveModelBySession, variantBySession),
34457
+ ...getLiveNotificationParams(sessionId, liveModelBySession, variantBySession, agentBySession),
34438
34458
  ...params
34439
34459
  });
34440
34460
  },
@@ -34481,6 +34501,7 @@ function createMagicContextHook(deps) {
34481
34501
  db,
34482
34502
  liveModelBySession,
34483
34503
  variantBySession,
34504
+ agentBySession,
34484
34505
  recentReduceBySession,
34485
34506
  toolUsageSinceUserTurn,
34486
34507
  emergencyNudgeFired,
@@ -34500,6 +34521,7 @@ function createMagicContextHook(deps) {
34500
34521
  toolUsageSinceUserTurn,
34501
34522
  recentReduceBySession,
34502
34523
  variantBySession,
34524
+ agentBySession,
34503
34525
  flushedSessions,
34504
34526
  lastHeuristicsTurnId,
34505
34527
  ctxReduceEnabled
@@ -34520,7 +34542,7 @@ function createMagicContextHook(deps) {
34520
34542
  }
34521
34543
  // src/plugin/hooks/create-session-hooks.ts
34522
34544
  function createSessionHooks(args) {
34523
- const { ctx, pluginConfig } = args;
34545
+ const { ctx, pluginConfig, liveSessionState } = args;
34524
34546
  if (pluginConfig.enabled !== true) {
34525
34547
  return { magicContext: null };
34526
34548
  }
@@ -34536,6 +34558,7 @@ function createSessionHooks(args) {
34536
34558
  tagger,
34537
34559
  scheduler: scheduler2,
34538
34560
  compactionHandler,
34561
+ liveSessionState,
34539
34562
  config: {
34540
34563
  protected_tags: pluginConfig.protected_tags ?? DEFAULT_PROTECTED_TAGS,
34541
34564
  ctx_reduce_enabled: pluginConfig.ctx_reduce_enabled,
@@ -34833,8 +34856,9 @@ ${c.content}
34833
34856
  return detail;
34834
34857
  }
34835
34858
  function registerRpcHandlers(rpcServer, args) {
34836
- const { directory, config: config2 } = args;
34859
+ const { directory, config: config2, liveSessionState } = args;
34837
34860
  const rawConfig = config2;
34861
+ const getNotificationParams = (sessionId) => getLiveNotificationParams(sessionId, liveSessionState.liveModelBySession, liveSessionState.variantBySession, liveSessionState.agentBySession);
34838
34862
  rpcServer.handle("sidebar-snapshot", async (params) => {
34839
34863
  const sessionId = String(params.sessionId ?? "");
34840
34864
  const dir = String(params.directory ?? directory);
@@ -34883,9 +34907,9 @@ function registerRpcHandlers(rpcServer, args) {
34883
34907
  tokenBudget: config2.compartment_token_budget ?? DEFAULT_COMPARTMENT_TOKEN_BUDGET2,
34884
34908
  historianTimeoutMs: config2.historian_timeout_ms ?? DEFAULT_HISTORIAN_TIMEOUT_MS2,
34885
34909
  directory,
34886
- getNotificationParams: () => ({})
34910
+ getNotificationParams: () => getNotificationParams(sessionId)
34887
34911
  }).then((result) => {
34888
- sendIgnoredMessage2(args.client, sessionId, result, {}).catch(() => {});
34912
+ sendIgnoredMessage2(args.client, sessionId, result, getNotificationParams(sessionId)).catch(() => {});
34889
34913
  }).catch((error48) => {
34890
34914
  log("[rpc] recomp failed:", error48);
34891
34915
  });
@@ -36244,9 +36268,11 @@ var plugin = async (ctx) => {
36244
36268
  log("[magic-context] no conflicts detected, plugin enabled");
36245
36269
  }
36246
36270
  }
36271
+ const liveSessionState = createLiveSessionState();
36247
36272
  const hooks = createSessionHooks({
36248
36273
  ctx,
36249
- pluginConfig
36274
+ pluginConfig,
36275
+ liveSessionState
36250
36276
  });
36251
36277
  const tools5 = createToolRegistry({
36252
36278
  ctx,
@@ -36274,7 +36300,8 @@ var plugin = async (ctx) => {
36274
36300
  registerRpcHandlers(rpcServer, {
36275
36301
  directory: ctx.directory,
36276
36302
  config: pluginConfig,
36277
- client: ctx.client
36303
+ client: ctx.client,
36304
+ liveSessionState
36278
36305
  });
36279
36306
  rpcServer.start().catch((err) => {
36280
36307
  log(`[magic-context] RPC server failed to start: ${err}`);
@@ -1,8 +1,10 @@
1
1
  import type { MagicContextPluginConfig } from "../../config";
2
+ import type { LiveSessionState } from "../../hooks/magic-context/live-session-state";
2
3
  import type { PluginContext } from "../types";
3
4
  export declare function createSessionHooks(args: {
4
5
  ctx: PluginContext;
5
6
  pluginConfig: MagicContextPluginConfig;
7
+ liveSessionState: LiveSessionState;
6
8
  }): {
7
9
  magicContext: {
8
10
  "experimental.chat.messages.transform": (_input: Record<string, never>, output: {
@@ -23,6 +25,7 @@ export declare function createSessionHooks(args: {
23
25
  "chat.message": (input: {
24
26
  sessionID?: string;
25
27
  variant?: string;
28
+ agent?: string;
26
29
  }) => Promise<void>;
27
30
  event: (input: {
28
31
  event: {
@@ -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;AAU7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;CAC1C;;;;;;qBA6C81B,CAAC;;;;;;;;;;;;qBAT5zB,CAAC;mBAAiB,CAAC;;;;;0BASiwZ,CAAC;;;;;;EADxzZ"}
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;AAU7D,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;;;;;;qBA8CgrB,CAAC;;;;;;;;;;;;qBAR/pB,CAAC;mBAAiB,CAAC;iBACtB,CAAP;;;;;0BAOo0a,CAAC;;;;;;EAD70a"}
@@ -1,4 +1,5 @@
1
1
  import type { MagicContextConfig } from "../config/schema/magic-context";
2
+ import type { LiveSessionState } from "../hooks/magic-context/live-session-state";
2
3
  import type { MagicContextRpcServer } from "../shared/rpc-server";
3
4
  /**
4
5
  * Register all RPC handlers on the server.
@@ -7,5 +8,6 @@ export declare function registerRpcHandlers(rpcServer: MagicContextRpcServer, ar
7
8
  directory: string;
8
9
  config: MagicContextConfig;
9
10
  client: unknown;
11
+ liveSessionState: LiveSessionState;
10
12
  }): void;
11
13
  //# sourceMappingURL=rpc-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAmZlE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;CACnB,GACF,IAAI,CAmFN"}
1
+ {"version":3,"file":"rpc-handlers.d.ts","sourceRoot":"","sources":["../../src/plugin/rpc-handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAGlF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAmZlE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,qBAAqB,EAChC,IAAI,EAAE;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,gBAAgB,CAAC;CACtC,GACF,IAAI,CA+FN"}
@@ -1,4 +1,5 @@
1
1
  import type { MagicContextConfig } from "../config/schema/magic-context";
2
+ import type { LiveSessionState } from "../hooks/magic-context/live-session-state";
2
3
  import type { PluginContext } from "./types";
3
4
  /**
4
5
  * Start a server-side consumer that polls plugin_messages for TUI→server
@@ -9,5 +10,6 @@ export declare function startTuiActionConsumer(args: {
9
10
  client: PluginContext["client"];
10
11
  directory: string;
11
12
  config: MagicContextConfig;
13
+ liveSessionState: LiveSessionState;
12
14
  }): (() => void) | undefined;
13
15
  //# sourceMappingURL=tui-action-consumer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-action-consumer.d.ts","sourceRoot":"","sources":["../../src/plugin/tui-action-consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAMzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQ7C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;CAC9B,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CA+D3B"}
1
+ {"version":3,"file":"tui-action-consumer.d.ts","sourceRoot":"","sources":["../../src/plugin/tui-action-consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAKzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAGlF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAQ7C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;CACtC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CA2E3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexkit/opencode-magic-context",
3
- "version": "0.8.11",
3
+ "version": "0.8.12",
4
4
  "type": "module",
5
5
  "description": "OpenCode plugin for Magic Context — cross-session memory and context management",
6
6
  "main": "dist/index.js",