context-mode 2.0.0-next.6 → 2.0.0-next.7

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/search.mjs CHANGED
@@ -356,8 +356,10 @@ var OPENCODE_TOOL_PREFIX = SERVER_KEY + "_";
356
356
  var ZCODE_MCP_FEATURE_KEY = Object.freeze(["features", "mcp"]);
357
357
  var CODEX_OMIT_TOOLS_FROM_FIELD = "omit_tools_from";
358
358
  var CODEX_OMIT_DEFERRED = Object.freeze(["deferred"]);
359
+ var CODEX_APPROVAL_MODE_FIELD = "default_tools_approval_mode";
360
+ var CODEX_APPROVAL_APPROVE = "approve";
359
361
  var OWN_MCP_ENTRY = Object.freeze({
360
- codex: { file: [".codex", "config.toml"], key: ["mcp_servers", SERVER_KEY], fields: { [CODEX_OMIT_TOOLS_FROM_FIELD]: CODEX_OMIT_DEFERRED } },
362
+ codex: { file: [".codex", "config.toml"], key: ["mcp_servers", SERVER_KEY], fields: { [CODEX_OMIT_TOOLS_FROM_FIELD]: CODEX_OMIT_DEFERRED, [CODEX_APPROVAL_MODE_FIELD]: CODEX_APPROVAL_APPROVE } },
361
363
  vscode: { file: [".vscode", "mcp.json"], key: ["servers", SERVER_KEY] },
362
364
  kiro: { file: [".kiro", "settings", "mcp.json"], key: ["mcpServers", SERVER_KEY] },
363
365
  zcode: {
@@ -748,9 +750,62 @@ function readResult4(resp) {
748
750
  const isError = typeof resp === "object" && resp !== null && resp.is_error === true;
749
751
  return { isError, bytes: Buffer.byteLength(text), text };
750
752
  }
753
+ var CAMEL_EVENTS = {
754
+ sessionStart: "SessionStart",
755
+ userPromptSubmitted: "UserPromptSubmit",
756
+ preToolUse: "PreToolUse",
757
+ postToolUse: "PostToolUse",
758
+ preCompact: "PreCompact"
759
+ };
760
+ var EVENT_BY_KEY2 = [
761
+ ["toolResult", "postToolUse"],
762
+ ["toolName", "preToolUse"],
763
+ ["prompt", "userPromptSubmitted"],
764
+ ["source", "sessionStart"],
765
+ ["trigger", "preCompact"]
766
+ ];
767
+ var SESSION_SOURCES = { new: "startup", startup: "startup", resume: "resume" };
768
+ var RESULT_SUCCESS2 = "success";
769
+ function isRecord2(v) {
770
+ return typeof v === "object" && v !== null && !Array.isArray(v);
771
+ }
772
+ function readArgs2(v) {
773
+ if (isRecord2(v)) return v;
774
+ if (typeof v !== "string") return {};
775
+ try {
776
+ const parsed = JSON.parse(v);
777
+ return isRecord2(parsed) ? parsed : {};
778
+ } catch {
779
+ return {};
780
+ }
781
+ }
782
+ function readCamelResult(v) {
783
+ const r = isRecord2(v) ? v : {};
784
+ const text = typeof r.textResultForLlm === "string" ? r.textResultForLlm : "";
785
+ return { isError: typeof r.resultType === "string" && r.resultType !== RESULT_SUCCESS2, bytes: Buffer.byteLength(text), text };
786
+ }
787
+ function decodeCamel(p, name) {
788
+ const event = typeof name === "string" ? CAMEL_EVENTS[name] ?? VSCODE_EVENTS.find((e) => e === name) : void 0;
789
+ if (event === void 0) throw new Error("vscode: unknown hook event " + String(name));
790
+ const ev = { event, agent: "vscode", sessionId: String(p.sessionId ?? ""), cwd: String(p.cwd ?? "") };
791
+ if (event === "SessionStart" && typeof p.source === "string" && SESSION_SOURCES[p.source] !== void 0) ev.source = SESSION_SOURCES[p.source];
792
+ if (event === "UserPromptSubmit" && typeof p.prompt === "string") ev.prompt = p.prompt;
793
+ if (event === "PreToolUse" || event === "PostToolUse") {
794
+ const toolName = String(p.toolName ?? "");
795
+ ev.tool = { name: toolName, canonicalName: canonicalName4(toolName), input: readArgs2(p.toolArgs) };
796
+ }
797
+ if (event === "PostToolUse") ev.result = readCamelResult(p.toolResult);
798
+ return ev;
799
+ }
751
800
  function decode6(raw) {
752
801
  if (typeof raw !== "object" || raw === null || Array.isArray(raw)) throw new Error("vscode: hook payload is not a JSON object");
753
802
  const p = raw;
803
+ if (p.hookEventName !== void 0) return decodeCamel(p, p.hookEventName);
804
+ if (p.hook_event_name === void 0) {
805
+ const byKey = EVENT_BY_KEY2.find(([key]) => Object.hasOwn(p, key))?.[1];
806
+ if (byKey === void 0) throw new Error("vscode: missing required field hook_event_name");
807
+ return decodeCamel(p, byKey);
808
+ }
754
809
  const event = VSCODE_EVENTS.find((e) => e === p.hook_event_name);
755
810
  if (event === void 0) throw new Error("vscode: unknown hook event " + String(p.hook_event_name));
756
811
  const ev = { event, agent: "vscode", sessionId: String(p.session_id ?? ""), cwd: String(p.cwd ?? "") };
@@ -758,7 +813,7 @@ function decode6(raw) {
758
813
  if (event === "UserPromptSubmit" && typeof p.prompt === "string") ev.prompt = p.prompt;
759
814
  if (event === "PreToolUse" || event === "PostToolUse") {
760
815
  const name = String(p.tool_name ?? "");
761
- const input = typeof p.tool_input === "object" && p.tool_input !== null && !Array.isArray(p.tool_input) ? p.tool_input : {};
816
+ const input = isRecord2(p.tool_input) ? p.tool_input : {};
762
817
  ev.tool = { name, canonicalName: canonicalName4(name), input };
763
818
  }
764
819
  if (event === "PostToolUse") ev.result = readResult4(p.tool_response);
@@ -777,12 +832,14 @@ var KIRO_EVENTS = {
777
832
  PromptSubmit: "UserPromptSubmit",
778
833
  userPromptSubmit: "UserPromptSubmit",
779
834
  PreToolUse: "PreToolUse",
780
- PostToolUse: "PostToolUse"
835
+ preToolUse: "PreToolUse",
836
+ PostToolUse: "PostToolUse",
837
+ postToolUse: "PostToolUse"
781
838
  };
782
839
  var PROMPT_ENV = "USER_PROMPT";
783
840
  var MCP_PREFIX3 = "mcp_";
784
- var SHELL_TOOL_NAME2 = "execute_bash";
785
- var NATIVE_TO_CANONICAL5 = { [SHELL_TOOL_NAME2]: "Bash" };
841
+ var SHELL_TOOL_NAMES = Object.freeze(["execute_bash", "execute_pwsh", "shell"]);
842
+ var NATIVE_TO_CANONICAL5 = Object.fromEntries(SHELL_TOOL_NAMES.map((n) => [n, "Bash"]));
786
843
  var MCP_SEP3 = "_";
787
844
  var KIRO_SOURCES = { startup: "startup", resume: "resume", clear: "clear", compact: "compact" };
788
845
  function canonicalName5(name) {
@@ -923,8 +980,8 @@ var OPENCODE_EVENTS = {
923
980
  compaction: "PreCompact",
924
981
  "step-finish": "Usage"
925
982
  };
926
- var SHELL_TOOL_NAME3 = "bash";
927
- var NATIVE_TO_CANONICAL7 = { webfetch: "WebFetch", [SHELL_TOOL_NAME3]: "Bash" };
983
+ var SHELL_TOOL_NAME2 = "bash";
984
+ var NATIVE_TO_CANONICAL7 = { webfetch: "WebFetch", [SHELL_TOOL_NAME2]: "Bash" };
928
985
  function toCanonicalTool(name) {
929
986
  if (name.startsWith(OWN_WIRE_PREFIX)) return name.slice(OWN_WIRE_PREFIX.length);
930
987
  return Object.prototype.hasOwnProperty.call(NATIVE_TO_CANONICAL7, name) ? NATIVE_TO_CANONICAL7[name] : name;
@@ -1044,8 +1101,8 @@ var ADAPTERS = Object.freeze([
1044
1101
  hookTimeoutMs: HOOK_TIMEOUT_MS,
1045
1102
  denyChannel: "deny-reason",
1046
1103
  hookChannel: { kind: "package", path: "hooks/qwen.json" },
1047
- skillChannel: { kind: "home-dir", path: ".qwen/skills" },
1048
- // ADR-0020
1104
+ skillChannel: { kind: "package", path: "skills" },
1105
+ // ADR-0020, D-HQ-SKILLS-3: qwen loads <extension>/skills, shared with gemini
1049
1106
  decode: decode4,
1050
1107
  encode: encode4
1051
1108
  },
@@ -1081,8 +1138,8 @@ var ADAPTERS = Object.freeze([
1081
1138
  hookTimeoutMs: HOOK_TIMEOUT_MS,
1082
1139
  denyChannel: "deny-reason",
1083
1140
  hookChannel: { kind: "home-file", path: ".copilot/hooks/context-mode-vscode.json" },
1084
- skillChannel: { kind: "home-dir", path: ".copilot/skills" },
1085
- // ADR-0020
1141
+ skillChannel: { kind: "home-dir", path: ".agents/skills" },
1142
+ // ADR-0020, D-HQ-COPILOT-NAMES-3: Copilot CLI owns ~/.copilot/skills
1086
1143
  decode: decode6,
1087
1144
  encode: encode6
1088
1145
  },
@@ -1091,9 +1148,9 @@ var ADAPTERS = Object.freeze([
1091
1148
  installMode: "mcp-entry",
1092
1149
  projectSource: "arg:--agent+cwd",
1093
1150
  toolNamePrefix: TOOL_NAME_PREFIX7,
1094
- nativeTools: { shell: [SHELL_TOOL_NAME2] },
1151
+ nativeTools: { shell: [...SHELL_TOOL_NAMES] },
1095
1152
  execReadOnlyHint: false,
1096
- // D-HF-KIRO-SHELL-1
1153
+ // D-HF-KIRO-SHELL-1, D-N7-KIRO-1
1097
1154
  eventMap: { SessionStart: "SessionStart", UserPromptSubmit: "UserPromptSubmit", PreToolUse: "PreToolUse", PostToolUse: "PostToolUse" },
1098
1155
  compactDelivery: "none",
1099
1156
  compactSummary: "none",
@@ -1106,7 +1163,7 @@ var ADAPTERS = Object.freeze([
1106
1163
  encode: encode7
1107
1164
  },
1108
1165
  {
1109
- // toolNamePrefix and nativeTools unverified until T-ZC (DECISIONS-r9 R3, R4: Claude names).
1166
+ // toolNamePrefix is the documented ZCode name mcp__<server>__<tool> (D-N7-ZCODE-NAMES-1); nativeTools are Claude names.
1110
1167
  id: "zcode",
1111
1168
  installMode: "hooks+mcp",
1112
1169
  projectSource: "spawn-cwd",
@@ -1148,7 +1205,7 @@ var ADAPTERS = Object.freeze([
1148
1205
  installMode: "in-process",
1149
1206
  projectSource: "spawn-cwd",
1150
1207
  toolNamePrefix: TOOL_NAME_PREFIX10,
1151
- nativeTools: { shell: [SHELL_TOOL_NAME3] },
1208
+ nativeTools: { shell: [SHELL_TOOL_NAME2] },
1152
1209
  execReadOnlyHint: false,
1153
1210
  // D-HF-OPENCODE-SHELL-1
1154
1211
  // Usage: step-finish cost row (DEVIATIONS D-M5-arch-2).
package/server.mjs CHANGED
@@ -28312,7 +28312,7 @@ var DECISION_SOURCE = "decision";
28312
28312
  var DECISION_USER_LABEL = "decision (user)";
28313
28313
  var RELEASE_REPO_URL = "https://github.com/mksglu/context-mode.git";
28314
28314
  var RELEASE_BRANCH = "release";
28315
- var BUNDLE_SHA = true ? "3374b3ce2faee35730f5c335678ca40b405e923c" : void 0;
28315
+ var BUNDLE_SHA = true ? "f61b6973877b47851ac5938c46fee1399946289e" : void 0;
28316
28316
  var DOCTOR_CHECK_ORDER = Object.freeze(["D1", "D2", "D3", "D4", "D5", "D5b", "D6", "D7", "D8", "D9", "D10"]);
28317
28317
  var DOCTOR_LABEL = Object.freeze({
28318
28318
  D1: "version",
@@ -28619,8 +28619,10 @@ var MCP_ARGS_FIELD = "args";
28619
28619
  var ZCODE_MCP_FEATURE_KEY = Object.freeze(["features", "mcp"]);
28620
28620
  var CODEX_OMIT_TOOLS_FROM_FIELD = "omit_tools_from";
28621
28621
  var CODEX_OMIT_DEFERRED = Object.freeze(["deferred"]);
28622
+ var CODEX_APPROVAL_MODE_FIELD = "default_tools_approval_mode";
28623
+ var CODEX_APPROVAL_APPROVE = "approve";
28622
28624
  var OWN_MCP_ENTRY = Object.freeze({
28623
- codex: { file: [".codex", "config.toml"], key: ["mcp_servers", SERVER_KEY], fields: { [CODEX_OMIT_TOOLS_FROM_FIELD]: CODEX_OMIT_DEFERRED } },
28625
+ codex: { file: [".codex", "config.toml"], key: ["mcp_servers", SERVER_KEY], fields: { [CODEX_OMIT_TOOLS_FROM_FIELD]: CODEX_OMIT_DEFERRED, [CODEX_APPROVAL_MODE_FIELD]: CODEX_APPROVAL_APPROVE } },
28624
28626
  vscode: { file: [".vscode", "mcp.json"], key: ["servers", SERVER_KEY] },
28625
28627
  kiro: { file: [".kiro", "settings", "mcp.json"], key: ["mcpServers", SERVER_KEY] },
28626
28628
  zcode: {
@@ -44506,9 +44508,62 @@ function readResult4(resp) {
44506
44508
  const isError = typeof resp === "object" && resp !== null && resp.is_error === true;
44507
44509
  return { isError, bytes: Buffer.byteLength(text), text };
44508
44510
  }
44511
+ var CAMEL_EVENTS = {
44512
+ sessionStart: "SessionStart",
44513
+ userPromptSubmitted: "UserPromptSubmit",
44514
+ preToolUse: "PreToolUse",
44515
+ postToolUse: "PostToolUse",
44516
+ preCompact: "PreCompact"
44517
+ };
44518
+ var EVENT_BY_KEY2 = [
44519
+ ["toolResult", "postToolUse"],
44520
+ ["toolName", "preToolUse"],
44521
+ ["prompt", "userPromptSubmitted"],
44522
+ ["source", "sessionStart"],
44523
+ ["trigger", "preCompact"]
44524
+ ];
44525
+ var SESSION_SOURCES = { new: "startup", startup: "startup", resume: "resume" };
44526
+ var RESULT_SUCCESS2 = "success";
44527
+ function isRecord2(v) {
44528
+ return typeof v === "object" && v !== null && !Array.isArray(v);
44529
+ }
44530
+ function readArgs2(v) {
44531
+ if (isRecord2(v)) return v;
44532
+ if (typeof v !== "string") return {};
44533
+ try {
44534
+ const parsed = JSON.parse(v);
44535
+ return isRecord2(parsed) ? parsed : {};
44536
+ } catch {
44537
+ return {};
44538
+ }
44539
+ }
44540
+ function readCamelResult(v) {
44541
+ const r = isRecord2(v) ? v : {};
44542
+ const text = typeof r.textResultForLlm === "string" ? r.textResultForLlm : "";
44543
+ return { isError: typeof r.resultType === "string" && r.resultType !== RESULT_SUCCESS2, bytes: Buffer.byteLength(text), text };
44544
+ }
44545
+ function decodeCamel(p, name) {
44546
+ const event = typeof name === "string" ? CAMEL_EVENTS[name] ?? VSCODE_EVENTS.find((e) => e === name) : void 0;
44547
+ if (event === void 0) throw new Error("vscode: unknown hook event " + String(name));
44548
+ const ev = { event, agent: "vscode", sessionId: String(p.sessionId ?? ""), cwd: String(p.cwd ?? "") };
44549
+ if (event === "SessionStart" && typeof p.source === "string" && SESSION_SOURCES[p.source] !== void 0) ev.source = SESSION_SOURCES[p.source];
44550
+ if (event === "UserPromptSubmit" && typeof p.prompt === "string") ev.prompt = p.prompt;
44551
+ if (event === "PreToolUse" || event === "PostToolUse") {
44552
+ const toolName = String(p.toolName ?? "");
44553
+ ev.tool = { name: toolName, canonicalName: canonicalName4(toolName), input: readArgs2(p.toolArgs) };
44554
+ }
44555
+ if (event === "PostToolUse") ev.result = readCamelResult(p.toolResult);
44556
+ return ev;
44557
+ }
44509
44558
  function decode8(raw) {
44510
44559
  if (typeof raw !== "object" || raw === null || Array.isArray(raw)) throw new Error("vscode: hook payload is not a JSON object");
44511
44560
  const p = raw;
44561
+ if (p.hookEventName !== void 0) return decodeCamel(p, p.hookEventName);
44562
+ if (p.hook_event_name === void 0) {
44563
+ const byKey = EVENT_BY_KEY2.find(([key]) => Object.hasOwn(p, key))?.[1];
44564
+ if (byKey === void 0) throw new Error("vscode: missing required field hook_event_name");
44565
+ return decodeCamel(p, byKey);
44566
+ }
44512
44567
  const event = VSCODE_EVENTS.find((e) => e === p.hook_event_name);
44513
44568
  if (event === void 0) throw new Error("vscode: unknown hook event " + String(p.hook_event_name));
44514
44569
  const ev = { event, agent: "vscode", sessionId: String(p.session_id ?? ""), cwd: String(p.cwd ?? "") };
@@ -44516,7 +44571,7 @@ function decode8(raw) {
44516
44571
  if (event === "UserPromptSubmit" && typeof p.prompt === "string") ev.prompt = p.prompt;
44517
44572
  if (event === "PreToolUse" || event === "PostToolUse") {
44518
44573
  const name = String(p.tool_name ?? "");
44519
- const input = typeof p.tool_input === "object" && p.tool_input !== null && !Array.isArray(p.tool_input) ? p.tool_input : {};
44574
+ const input = isRecord2(p.tool_input) ? p.tool_input : {};
44520
44575
  ev.tool = { name, canonicalName: canonicalName4(name), input };
44521
44576
  }
44522
44577
  if (event === "PostToolUse") ev.result = readResult4(p.tool_response);
@@ -44535,12 +44590,14 @@ var KIRO_EVENTS = {
44535
44590
  PromptSubmit: "UserPromptSubmit",
44536
44591
  userPromptSubmit: "UserPromptSubmit",
44537
44592
  PreToolUse: "PreToolUse",
44538
- PostToolUse: "PostToolUse"
44593
+ preToolUse: "PreToolUse",
44594
+ PostToolUse: "PostToolUse",
44595
+ postToolUse: "PostToolUse"
44539
44596
  };
44540
44597
  var PROMPT_ENV = "USER_PROMPT";
44541
44598
  var MCP_PREFIX3 = "mcp_";
44542
- var SHELL_TOOL_NAME2 = "execute_bash";
44543
- var NATIVE_TO_CANONICAL5 = { [SHELL_TOOL_NAME2]: "Bash" };
44599
+ var SHELL_TOOL_NAMES = Object.freeze(["execute_bash", "execute_pwsh", "shell"]);
44600
+ var NATIVE_TO_CANONICAL5 = Object.fromEntries(SHELL_TOOL_NAMES.map((n) => [n, "Bash"]));
44544
44601
  var MCP_SEP3 = "_";
44545
44602
  var KIRO_SOURCES = { startup: "startup", resume: "resume", clear: "clear", compact: "compact" };
44546
44603
  function canonicalName5(name) {
@@ -44681,8 +44738,8 @@ var OPENCODE_EVENTS = {
44681
44738
  compaction: "PreCompact",
44682
44739
  "step-finish": "Usage"
44683
44740
  };
44684
- var SHELL_TOOL_NAME3 = "bash";
44685
- var NATIVE_TO_CANONICAL7 = { webfetch: "WebFetch", [SHELL_TOOL_NAME3]: "Bash" };
44741
+ var SHELL_TOOL_NAME2 = "bash";
44742
+ var NATIVE_TO_CANONICAL7 = { webfetch: "WebFetch", [SHELL_TOOL_NAME2]: "Bash" };
44686
44743
  function toCanonicalTool(name) {
44687
44744
  if (name.startsWith(OWN_WIRE_PREFIX)) return name.slice(OWN_WIRE_PREFIX.length);
44688
44745
  return Object.prototype.hasOwnProperty.call(NATIVE_TO_CANONICAL7, name) ? NATIVE_TO_CANONICAL7[name] : name;
@@ -44802,8 +44859,8 @@ var ADAPTERS = Object.freeze([
44802
44859
  hookTimeoutMs: HOOK_TIMEOUT_MS,
44803
44860
  denyChannel: "deny-reason",
44804
44861
  hookChannel: { kind: "package", path: "hooks/qwen.json" },
44805
- skillChannel: { kind: "home-dir", path: ".qwen/skills" },
44806
- // ADR-0020
44862
+ skillChannel: { kind: "package", path: "skills" },
44863
+ // ADR-0020, D-HQ-SKILLS-3: qwen loads <extension>/skills, shared with gemini
44807
44864
  decode: decode6,
44808
44865
  encode: encode6
44809
44866
  },
@@ -44839,8 +44896,8 @@ var ADAPTERS = Object.freeze([
44839
44896
  hookTimeoutMs: HOOK_TIMEOUT_MS,
44840
44897
  denyChannel: "deny-reason",
44841
44898
  hookChannel: { kind: "home-file", path: ".copilot/hooks/context-mode-vscode.json" },
44842
- skillChannel: { kind: "home-dir", path: ".copilot/skills" },
44843
- // ADR-0020
44899
+ skillChannel: { kind: "home-dir", path: ".agents/skills" },
44900
+ // ADR-0020, D-HQ-COPILOT-NAMES-3: Copilot CLI owns ~/.copilot/skills
44844
44901
  decode: decode8,
44845
44902
  encode: encode8
44846
44903
  },
@@ -44849,9 +44906,9 @@ var ADAPTERS = Object.freeze([
44849
44906
  installMode: "mcp-entry",
44850
44907
  projectSource: "arg:--agent+cwd",
44851
44908
  toolNamePrefix: TOOL_NAME_PREFIX7,
44852
- nativeTools: { shell: [SHELL_TOOL_NAME2] },
44909
+ nativeTools: { shell: [...SHELL_TOOL_NAMES] },
44853
44910
  execReadOnlyHint: false,
44854
- // D-HF-KIRO-SHELL-1
44911
+ // D-HF-KIRO-SHELL-1, D-N7-KIRO-1
44855
44912
  eventMap: { SessionStart: "SessionStart", UserPromptSubmit: "UserPromptSubmit", PreToolUse: "PreToolUse", PostToolUse: "PostToolUse" },
44856
44913
  compactDelivery: "none",
44857
44914
  compactSummary: "none",
@@ -44864,7 +44921,7 @@ var ADAPTERS = Object.freeze([
44864
44921
  encode: encode9
44865
44922
  },
44866
44923
  {
44867
- // toolNamePrefix and nativeTools unverified until T-ZC (DECISIONS-r9 R3, R4: Claude names).
44924
+ // toolNamePrefix is the documented ZCode name mcp__<server>__<tool> (D-N7-ZCODE-NAMES-1); nativeTools are Claude names.
44868
44925
  id: "zcode",
44869
44926
  installMode: "hooks+mcp",
44870
44927
  projectSource: "spawn-cwd",
@@ -44906,7 +44963,7 @@ var ADAPTERS = Object.freeze([
44906
44963
  installMode: "in-process",
44907
44964
  projectSource: "spawn-cwd",
44908
44965
  toolNamePrefix: TOOL_NAME_PREFIX10,
44909
- nativeTools: { shell: [SHELL_TOOL_NAME3] },
44966
+ nativeTools: { shell: [SHELL_TOOL_NAME2] },
44910
44967
  execReadOnlyHint: false,
44911
44968
  // D-HF-OPENCODE-SHELL-1
44912
44969
  // Usage: step-finish cost row (DEVIATIONS D-M5-arch-2).
@@ -3,4 +3,4 @@ name: ctx-doctor
3
3
  description: Check that context-mode is installed and working, as a table.
4
4
  disable-model-invocation: true
5
5
  ---
6
- Call the mcp_context-mode_ctx_doctor tool and show its table to the user unchanged. If a row failed, list the fixes it names, in order.
6
+ Call the mcp_context-mode_ctx_doctor or mcp__context-mode__ctx_doctor tool and show its table to the user unchanged. If a row failed, list the fixes it names, in order.
@@ -3,4 +3,4 @@ name: ctx-stats
3
3
  description: Show how much context context-mode saved, as a table.
4
4
  disable-model-invocation: true
5
5
  ---
6
- Call the mcp_context-mode_ctx_stats tool and show its table to the user unchanged. Add one sentence under the table that names the largest saving.
6
+ Call the mcp_context-mode_ctx_stats or mcp__context-mode__ctx_stats tool and show its table to the user unchanged. Add one sentence under the table that names the largest saving.
@@ -3,4 +3,4 @@ name: ctx-upgrade
3
3
  description: Update context-mode to the latest release.
4
4
  disable-model-invocation: true
5
5
  ---
6
- Call the mcp_context-mode_ctx_upgrade tool and show its table to the user. Then call mcp_context-mode_ctx_doctor and show its table. If a restart is needed, say so in one sentence.
6
+ Call the mcp_context-mode_ctx_upgrade or mcp__context-mode__ctx_upgrade tool and show its table to the user. Then call mcp_context-mode_ctx_doctor or mcp__context-mode__ctx_doctor and show its table. If a restart is needed, say so in one sentence.