@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 +12 -12
- package/dist/hooks/magic-context/hook-handlers.d.ts +6 -1
- package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts +3 -0
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/live-session-state.d.ts +8 -0
- package/dist/hooks/magic-context/live-session-state.d.ts.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -12
- package/dist/plugin/hooks/create-session-hooks.d.ts +3 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/dist/plugin/rpc-handlers.d.ts +2 -0
- package/dist/plugin/rpc-handlers.d.ts.map +1 -1
- package/dist/plugin/tui-action-consumer.d.ts +2 -0
- package/dist/plugin/tui-action-consumer.d.ts.map +1 -1
- package/package.json +1 -1
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
|
|
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 (!
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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
|
|
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 (!
|
|
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 = (
|
|
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" ||
|
|
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":"AAIA,OAAO,EACH,sBAAsB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAYxD,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACtF,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAC/D,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACxD,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1C,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;AAE9C,wBAAgB,yBAAyB,CACrC,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,
|
|
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;
|
|
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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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,
|
|
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;
|
|
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;
|
|
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;
|
|
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