@praxis.guard/auditor-cli 0.0.63 → 0.0.64

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.
Files changed (106) hide show
  1. package/README.md +19 -0
  2. package/dist/adapters/claude-code/adapter.d.ts +3 -1
  3. package/dist/adapters/claude-code/adapter.d.ts.map +1 -1
  4. package/dist/adapters/claude-code/adapter.js +68 -0
  5. package/dist/adapters/claude-code/adapter.js.map +1 -1
  6. package/dist/adapters/claude-desktop.d.ts +2 -1
  7. package/dist/adapters/claude-desktop.d.ts.map +1 -1
  8. package/dist/adapters/claude-desktop.js +24 -0
  9. package/dist/adapters/claude-desktop.js.map +1 -1
  10. package/dist/adapters/codex.d.ts +3 -1
  11. package/dist/adapters/codex.d.ts.map +1 -1
  12. package/dist/adapters/codex.js +7 -1
  13. package/dist/adapters/codex.js.map +1 -1
  14. package/dist/adapters/copilot-cli/adapter.d.ts +3 -1
  15. package/dist/adapters/copilot-cli/adapter.d.ts.map +1 -1
  16. package/dist/adapters/copilot-cli/adapter.js +57 -1
  17. package/dist/adapters/copilot-cli/adapter.js.map +1 -1
  18. package/dist/adapters/copilot-cli/config.d.ts +6 -0
  19. package/dist/adapters/copilot-cli/config.d.ts.map +1 -1
  20. package/dist/adapters/copilot-cli/config.js +23 -0
  21. package/dist/adapters/copilot-cli/config.js.map +1 -1
  22. package/dist/adapters/cursor.d.ts +4 -1
  23. package/dist/adapters/cursor.d.ts.map +1 -1
  24. package/dist/adapters/cursor.js +15 -1
  25. package/dist/adapters/cursor.js.map +1 -1
  26. package/dist/adapters/remove-helpers.d.ts +23 -0
  27. package/dist/adapters/remove-helpers.d.ts.map +1 -0
  28. package/dist/adapters/remove-helpers.js +40 -0
  29. package/dist/adapters/remove-helpers.js.map +1 -0
  30. package/dist/adapters/select-targets.d.ts +10 -0
  31. package/dist/adapters/select-targets.d.ts.map +1 -1
  32. package/dist/adapters/select-targets.js +23 -1
  33. package/dist/adapters/select-targets.js.map +1 -1
  34. package/dist/adapters/types.d.ts +29 -0
  35. package/dist/adapters/types.d.ts.map +1 -1
  36. package/dist/adapters/vscode.d.ts +2 -1
  37. package/dist/adapters/vscode.d.ts.map +1 -1
  38. package/dist/adapters/vscode.js +38 -6
  39. package/dist/adapters/vscode.js.map +1 -1
  40. package/dist/cli/cursor-config/environment-config.d.ts +8 -0
  41. package/dist/cli/cursor-config/environment-config.d.ts.map +1 -1
  42. package/dist/cli/cursor-config/environment-config.js +45 -1
  43. package/dist/cli/cursor-config/environment-config.js.map +1 -1
  44. package/dist/cli/cursor-config/hooks-config.d.ts +13 -0
  45. package/dist/cli/cursor-config/hooks-config.d.ts.map +1 -1
  46. package/dist/cli/cursor-config/hooks-config.js +64 -0
  47. package/dist/cli/cursor-config/hooks-config.js.map +1 -1
  48. package/dist/cli/cursor-config/index.d.ts +3 -3
  49. package/dist/cli/cursor-config/index.d.ts.map +1 -1
  50. package/dist/cli/cursor-config/index.js +3 -3
  51. package/dist/cli/cursor-config/index.js.map +1 -1
  52. package/dist/cli/cursor-config/json-io.d.ts +2 -0
  53. package/dist/cli/cursor-config/json-io.d.ts.map +1 -1
  54. package/dist/cli/cursor-config/json-io.js +5 -1
  55. package/dist/cli/cursor-config/json-io.js.map +1 -1
  56. package/dist/cli/cursor-config/mcp-config.d.ts +5 -0
  57. package/dist/cli/cursor-config/mcp-config.d.ts.map +1 -1
  58. package/dist/cli/cursor-config/mcp-config.js +37 -0
  59. package/dist/cli/cursor-config/mcp-config.js.map +1 -1
  60. package/dist/cli/cursor-config.d.ts +1 -1
  61. package/dist/cli/cursor-config.d.ts.map +1 -1
  62. package/dist/cli/cursor-config.js +1 -1
  63. package/dist/cli/cursor-config.js.map +1 -1
  64. package/dist/cli/dispatch-uninstall.d.ts +6 -0
  65. package/dist/cli/dispatch-uninstall.d.ts.map +1 -0
  66. package/dist/cli/dispatch-uninstall.js +10 -0
  67. package/dist/cli/dispatch-uninstall.js.map +1 -0
  68. package/dist/cli/help.d.ts.map +1 -1
  69. package/dist/cli/help.js +3 -0
  70. package/dist/cli/help.js.map +1 -1
  71. package/dist/cli/main.d.ts.map +1 -1
  72. package/dist/cli/main.js +12 -0
  73. package/dist/cli/main.js.map +1 -1
  74. package/dist/cli/setup-gateway.d.ts +13 -0
  75. package/dist/cli/setup-gateway.d.ts.map +1 -1
  76. package/dist/cli/setup-gateway.js +24 -0
  77. package/dist/cli/setup-gateway.js.map +1 -1
  78. package/dist/cli/uninstall-all.d.ts +24 -0
  79. package/dist/cli/uninstall-all.d.ts.map +1 -0
  80. package/dist/cli/uninstall-all.js +249 -0
  81. package/dist/cli/uninstall-all.js.map +1 -0
  82. package/dist/codex/config-hooks.d.ts +7 -0
  83. package/dist/codex/config-hooks.d.ts.map +1 -1
  84. package/dist/codex/config-hooks.js +28 -0
  85. package/dist/codex/config-hooks.js.map +1 -1
  86. package/dist/codex/config-io.d.ts +1 -0
  87. package/dist/codex/config-io.d.ts.map +1 -1
  88. package/dist/codex/config-io.js +4 -1
  89. package/dist/codex/config-io.js.map +1 -1
  90. package/dist/codex/config-toml.d.ts +7 -0
  91. package/dist/codex/config-toml.d.ts.map +1 -1
  92. package/dist/codex/config-toml.js +50 -0
  93. package/dist/codex/config-toml.js.map +1 -1
  94. package/dist/codex/config.d.ts +2 -0
  95. package/dist/codex/config.d.ts.map +1 -1
  96. package/dist/codex/config.js +52 -3
  97. package/dist/codex/config.js.map +1 -1
  98. package/native/darwin-amd64/praxis-guard-daemon +0 -0
  99. package/native/darwin-amd64/praxis-guard-hook +0 -0
  100. package/native/darwin-arm64/praxis-guard-daemon +0 -0
  101. package/native/darwin-arm64/praxis-guard-hook +0 -0
  102. package/native/linux-amd64/praxis-guard-daemon +0 -0
  103. package/native/linux-amd64/praxis-guard-hook +0 -0
  104. package/native/linux-arm64/praxis-guard-daemon +0 -0
  105. package/native/linux-arm64/praxis-guard-hook +0 -0
  106. package/package.json +1 -1
package/README.md CHANGED
@@ -25,6 +25,25 @@ Each `auditor setup` command auto-detects installed agents and configures all of
25
25
  | **Codex** (`--for=codex`) | `.codex/config.toml` (repo-local) | `.codex/hooks.json` (`PreToolUse` + `PermissionRequest`) | — |
26
26
  | **GitHub Copilot CLI** (`--for=copilot-cli`) | `~/.copilot/mcp-config.json` | `~/.copilot/hooks/praxis.json` or `.github/copilot/settings.local.json` | — |
27
27
 
28
+ ## Uninstall
29
+
30
+ `auditor uninstall` is the inverse of `auditor setup *`: it removes the Praxis hook and MCP
31
+ entries from every configured agent, reverts the Claude Desktop gateway migration, stops and
32
+ removes the daemon service, and clears runtime state under `~/.praxis/guard` and `~/.praxis/gateway`.
33
+ Edits are surgical (only Praxis keys are touched), each step is isolated (one unreadable config is
34
+ reported and skipped, not fatal), and a verification pass reports any leftover residue.
35
+
36
+ ```bash
37
+ auditor uninstall # dry run: print the plan, write nothing
38
+ auditor uninstall --apply # remove across all agents + daemon + state
39
+ auditor uninstall --apply --for=cursor # scope to one agent
40
+ auditor uninstall --apply --purge # also drop credentials, cached policies, gateway backups
41
+ ```
42
+
43
+ It is dry-run by default. The CLI cannot delete its own npm binary, so after `--apply` it prints
44
+ the final `npm uninstall -g @praxis.guard/auditor-cli` step. Credentials and policies are kept
45
+ unless you pass `--purge`.
46
+
28
47
  ## GitHub Copilot CLI workflow
29
48
 
30
49
  ```bash
@@ -1,4 +1,4 @@
1
- import type { AgentAdapter, AgentStatus, SetupResult, StatusOpts, UpsertHookOpts, UpsertMcpOpts } from "../types.js";
1
+ import type { AgentAdapter, AgentStatus, RemoveHookOpts, RemoveMcpOpts, SetupResult, StatusOpts, UpsertHookOpts, UpsertMcpOpts } from "../types.js";
2
2
  /**
3
3
  * ClaudeCodeAdapter: hook (PreToolUse on Bash) + MCP, both in ~/.claude.json.
4
4
  *
@@ -23,6 +23,8 @@ export declare class ClaudeCodeAdapter implements AgentAdapter {
23
23
  detectInstalled(): boolean;
24
24
  upsertHook(opts: UpsertHookOpts): Promise<SetupResult>;
25
25
  upsertMcp(opts: UpsertMcpOpts): Promise<SetupResult>;
26
+ removeHook(opts: RemoveHookOpts): Promise<SetupResult>;
27
+ removeMcp(opts: RemoveMcpOpts): Promise<SetupResult>;
26
28
  status(opts?: StatusOpts): Promise<AgentStatus>;
27
29
  }
28
30
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude-code/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EAEX,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AAWrB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,EAAE,EAAG,aAAa,CAAU;IACrC,QAAQ,CAAC,KAAK,iBAAiB;IAE/B,eAAe,IAAI,OAAO;IAIpB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAqDtD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA0CpD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CAiCtD"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/claude-code/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EAEX,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AAYrB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,EAAE,EAAG,aAAa,CAAU;IACrC,QAAQ,CAAC,KAAK,iBAAiB;IAE/B,eAAe,IAAI,OAAO;IAIpB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAqDtD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA0CpD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IA2CtD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAwBpD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CAiCtD"}
@@ -1,3 +1,4 @@
1
+ import { deleteMcpServerKey } from "../remove-helpers.js";
1
2
  import { readJson, writeJsonAtomic } from "./config-io.js";
2
3
  import { hasConfiguredMcpServer, hasConfiguredPreToolUseHook } from "./config-detect.js";
3
4
  import { AGENT_HOST, claudeCodeSettingsPath, detectClaudeCodeInstalled, HOOK_COMMAND, MCP_SERVER_KEY, } from "./paths.js";
@@ -110,6 +111,73 @@ export class ClaudeCodeAdapter {
110
111
  : "Claude Code MCP config already up to date",
111
112
  };
112
113
  }
114
+ async removeHook(opts) {
115
+ const dryRun = opts.dryRun ?? false;
116
+ const cfgPath = opts.explicitPath?.trim() || claudeCodeSettingsPath();
117
+ const existing = await readJson(cfgPath);
118
+ if (!existing) {
119
+ return { path: cfgPath, changed: false, message: "no Claude Code hook config to remove" };
120
+ }
121
+ const before = JSON.stringify(existing);
122
+ const config = JSON.parse(before);
123
+ const hooksMap = config.hooks && typeof config.hooks === "object" && !Array.isArray(config.hooks)
124
+ ? config.hooks
125
+ : null;
126
+ if (hooksMap && Array.isArray(hooksMap.PreToolUse)) {
127
+ const filtered = hooksMap.PreToolUse.filter((entry) => {
128
+ if (!entry || typeof entry !== "object")
129
+ return true;
130
+ const e = entry;
131
+ if (e.matcher !== "Bash")
132
+ return true;
133
+ const innerHooks = e.hooks;
134
+ if (!Array.isArray(innerHooks))
135
+ return true;
136
+ return !innerHooks.some((h) => h && typeof h === "object" && h.command === HOOK_COMMAND);
137
+ });
138
+ if (filtered.length === 0)
139
+ delete hooksMap.PreToolUse;
140
+ else
141
+ hooksMap.PreToolUse = filtered;
142
+ if (Object.keys(hooksMap).length === 0)
143
+ delete config.hooks;
144
+ }
145
+ const changed = before !== JSON.stringify(config);
146
+ if (changed && !dryRun)
147
+ await writeJsonAtomic(cfgPath, config);
148
+ return {
149
+ path: cfgPath,
150
+ changed,
151
+ message: changed
152
+ ? dryRun
153
+ ? "would remove Claude Code hook config (PreToolUse)"
154
+ : "removed Claude Code hook config (PreToolUse)"
155
+ : "no Claude Code hook config to remove",
156
+ };
157
+ }
158
+ async removeMcp(opts) {
159
+ const dryRun = opts.dryRun ?? false;
160
+ const cfgPath = opts.explicitPath?.trim() || claudeCodeSettingsPath();
161
+ const existing = await readJson(cfgPath);
162
+ if (!existing) {
163
+ return { path: cfgPath, changed: false, message: "no Claude Code MCP config to remove" };
164
+ }
165
+ const before = JSON.stringify(existing);
166
+ const config = JSON.parse(before);
167
+ deleteMcpServerKey(config, MCP_SERVER_KEY);
168
+ const changed = before !== JSON.stringify(config);
169
+ if (changed && !dryRun)
170
+ await writeJsonAtomic(cfgPath, config);
171
+ return {
172
+ path: cfgPath,
173
+ changed,
174
+ message: changed
175
+ ? dryRun
176
+ ? "would remove Claude Code MCP config"
177
+ : "removed Claude Code MCP config"
178
+ : "no Claude Code MCP config to remove",
179
+ };
180
+ }
113
181
  async status(opts) {
114
182
  const cfgPath = opts?.mcpConfigPath?.trim() || claudeCodeSettingsPath();
115
183
  const config = await readJson(cfgPath).catch(() => null);
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/claude-code/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/claude-code/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentAdapter, AgentStatus, SetupResult, StatusOpts, UpsertMcpOpts } from "./types.js";
1
+ import type { AgentAdapter, AgentStatus, RemoveMcpOpts, SetupResult, StatusOpts, UpsertMcpOpts } from "./types.js";
2
2
  /**
3
3
  * Resolve the Claude Desktop config file path for this platform.
4
4
  *
@@ -15,6 +15,7 @@ export declare class ClaudeDesktopAdapter implements AgentAdapter {
15
15
  readonly label = "Claude Desktop";
16
16
  detectInstalled(): boolean;
17
17
  upsertMcp(opts: UpsertMcpOpts): Promise<SetupResult>;
18
+ removeMcp(opts: RemoveMcpOpts): Promise<SetupResult>;
18
19
  status(opts?: StatusOpts): Promise<AgentStatus>;
19
20
  }
20
21
  //# sourceMappingURL=claude-desktop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-desktop.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-desktop.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACd,MAAM,YAAY,CAAC;AAOpB;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAchD;AAyCD;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,QAAQ,CAAC,EAAE,EAAG,gBAAgB,CAAU;IACxC,QAAQ,CAAC,KAAK,oBAAoB;IAElC,eAAe,IAAI,OAAO;IAQpB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA4CpD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CAqBtD"}
1
+ {"version":3,"file":"claude-desktop.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-desktop.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,EACd,MAAM,YAAY,CAAC;AAQpB;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAchD;AAyCD;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,QAAQ,CAAC,EAAE,EAAG,gBAAgB,CAAU;IACxC,QAAQ,CAAC,KAAK,oBAAoB;IAElC,eAAe,IAAI,OAAO;IAQpB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA4CpD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAwBpD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CAqBtD"}
@@ -2,6 +2,7 @@ import { existsSync } from "node:fs";
2
2
  import { mkdir, readFile, writeFile } from "node:fs/promises";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
+ import { deleteMcpServerKey } from "./remove-helpers.js";
5
6
  const MCP_SERVER_KEY = "praxis-guard";
6
7
  const AGENT_HOST = "claude-desktop";
7
8
  /**
@@ -120,6 +121,29 @@ export class ClaudeDesktopAdapter {
120
121
  : "Claude Desktop MCP config already up to date",
121
122
  };
122
123
  }
124
+ async removeMcp(opts) {
125
+ const dryRun = opts.dryRun ?? false;
126
+ const cfgPath = opts.explicitPath?.trim() || claudeDesktopConfigPath();
127
+ const existing = await readJson(cfgPath);
128
+ if (!existing) {
129
+ return { path: cfgPath, changed: false, message: "no Claude Desktop MCP config to remove" };
130
+ }
131
+ const before = JSON.stringify(existing);
132
+ const config = JSON.parse(before);
133
+ deleteMcpServerKey(config, MCP_SERVER_KEY);
134
+ const changed = before !== JSON.stringify(config);
135
+ if (changed && !dryRun)
136
+ await writeJson(cfgPath, config);
137
+ return {
138
+ path: cfgPath,
139
+ changed,
140
+ message: changed
141
+ ? dryRun
142
+ ? "would remove Claude Desktop MCP config"
143
+ : "removed Claude Desktop MCP config"
144
+ : "no Claude Desktop MCP config to remove",
145
+ };
146
+ }
123
147
  async status(opts) {
124
148
  const cfgPath = opts?.mcpConfigPath?.trim() || claudeDesktopConfigPath();
125
149
  const config = await readJson(cfgPath).catch(() => null);
@@ -1 +1 @@
1
- {"version":3,"file":"claude-desktop.js","sourceRoot":"","sources":["../../src/adapters/claude-desktop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-desktop.js","sourceRoot":"","sources":["../../src/adapters/claude-desktop.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AgentAdapter, AgentStatus, SetupResult, StatusOpts, UpsertHookOpts, UpsertMcpOpts } from "./types.js";
1
+ import type { AgentAdapter, AgentStatus, RemoveHookOpts, RemoveMcpOpts, SetupResult, StatusOpts, UpsertHookOpts, UpsertMcpOpts } from "./types.js";
2
2
  export declare class CodexAdapter implements AgentAdapter {
3
3
  readonly id: "codex";
4
4
  readonly label = "Codex";
@@ -6,6 +6,8 @@ export declare class CodexAdapter implements AgentAdapter {
6
6
  detectInstalled(): boolean;
7
7
  upsertHook(opts: UpsertHookOpts): Promise<SetupResult>;
8
8
  upsertMcp(opts: UpsertMcpOpts): Promise<SetupResult>;
9
+ removeHook(opts: RemoveHookOpts): Promise<SetupResult>;
10
+ removeMcp(opts: RemoveMcpOpts): Promise<SetupResult>;
9
11
  status(opts?: StatusOpts): Promise<AgentStatus>;
10
12
  }
11
13
  //# sourceMappingURL=codex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB,qBAAa,YAAa,YAAW,YAAY;IAC/C,QAAQ,CAAC,EAAE,EAAG,OAAO,CAAU;IAC/B,QAAQ,CAAC,KAAK,WAAW;IACzB,QAAQ,CAAC,kBAAkB,EAAG,SAAS,CAAU;IAEjD,eAAe,IAAI,OAAO;IAI1B,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAItD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9C,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CAoCtD"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB,qBAAa,YAAa,YAAW,YAAY;IAC/C,QAAQ,CAAC,EAAE,EAAG,OAAO,CAAU;IAC/B,QAAQ,CAAC,KAAK,WAAW;IACzB,QAAQ,CAAC,kBAAkB,EAAG,SAAS,CAAU;IAEjD,eAAe,IAAI,OAAO;IAI1B,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAItD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAItD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9C,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CAoCtD"}
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
- import { readCodexSetupStatus, upsertCodexConfig, upsertCodexHooks, } from "../codex/config.js";
4
+ import { readCodexSetupStatus, removeCodexConfig, removeCodexHooks, upsertCodexConfig, upsertCodexHooks, } from "../codex/config.js";
5
5
  function codexHomeDir() {
6
6
  return process.env.CODEX_HOME?.trim() || path.join(os.homedir(), ".codex");
7
7
  }
@@ -18,6 +18,12 @@ export class CodexAdapter {
18
18
  upsertMcp(opts) {
19
19
  return upsertCodexConfig(opts.projectDir || process.cwd(), opts.dryRun);
20
20
  }
21
+ removeHook(opts) {
22
+ return removeCodexHooks(opts.projectDir || process.cwd(), opts.dryRun);
23
+ }
24
+ removeMcp(opts) {
25
+ return removeCodexConfig(opts.projectDir || process.cwd(), opts.dryRun);
26
+ }
21
27
  async status(opts) {
22
28
  const projectDir = opts?.projectDir || process.cwd();
23
29
  const codex = await readCodexSetupStatus(projectDir);
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAW5B,SAAS,YAAY;IACnB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,OAAO,YAAY;IACd,EAAE,GAAG,OAAgB,CAAC;IACtB,KAAK,GAAG,OAAO,CAAC;IAChB,kBAAkB,GAAG,SAAkB,CAAC;IAEjD,eAAe;QACb,OAAO,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,IAAoB;QAC7B,OAAO,gBAAgB,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,CAAC,IAAmB;QAC3B,OAAO,iBAAiB,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAiB;QAC5B,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;YACrE,QAAQ,CAAC,IAAI,CACX,2GAA2G;gBACzG,UAAU,CACb,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC9F,QAAQ,CAAC,IAAI,CACX,wFAAwF;gBACtF,UAAU,CACb,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAChF,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,KAAK,EAAE,KAAK,CAAC,oBAAoB;oBACjC,GAAG,EAAE,KAAK,CAAC,2BAA2B;oBACtC,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,UAAU,EAAE,YAAY;oBACxB,QAAQ,EAAE,mBAAmB;iBAC9B;aACF;YACD,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE;YAChE,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/adapters/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAa5B,SAAS,YAAY;IACnB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,OAAO,YAAY;IACd,EAAE,GAAG,OAAgB,CAAC;IACtB,KAAK,GAAG,OAAO,CAAC;IAChB,kBAAkB,GAAG,SAAkB,CAAC;IAEjD,eAAe;QACb,OAAO,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,IAAoB;QAC7B,OAAO,gBAAgB,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,CAAC,IAAmB;QAC3B,OAAO,iBAAiB,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,UAAU,CAAC,IAAoB;QAC7B,OAAO,gBAAgB,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;IAED,SAAS,CAAC,IAAmB;QAC3B,OAAO,iBAAiB,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAiB;QAC5B,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;YACrE,QAAQ,CAAC,IAAI,CACX,2GAA2G;gBACzG,UAAU,CACb,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC9F,QAAQ,CAAC,IAAI,CACX,wFAAwF;gBACtF,UAAU,CACb,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAChF,IAAI,EAAE;gBACJ,OAAO,EAAE;oBACP,KAAK,EAAE,KAAK,CAAC,oBAAoB;oBACjC,GAAG,EAAE,KAAK,CAAC,2BAA2B;oBACtC,IAAI,EAAE,KAAK,CAAC,SAAS;oBACrB,UAAU,EAAE,YAAY;oBACxB,QAAQ,EAAE,mBAAmB;iBAC9B;aACF;YACD,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE;YAChE,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
@@ -1,10 +1,12 @@
1
- import type { AgentAdapter, AgentStatus, SetupResult, StatusOpts, UpsertHookOpts, UpsertMcpOpts } from "../types.js";
1
+ import type { AgentAdapter, AgentStatus, RemoveHookOpts, RemoveMcpOpts, SetupResult, StatusOpts, UpsertHookOpts, UpsertMcpOpts } from "../types.js";
2
2
  export declare class CopilotCliAdapter implements AgentAdapter {
3
3
  readonly id: "copilot-cli";
4
4
  readonly label = "GitHub Copilot CLI";
5
5
  detectInstalled(): boolean;
6
6
  upsertHook(opts: UpsertHookOpts): Promise<SetupResult>;
7
7
  upsertMcp(opts: UpsertMcpOpts): Promise<SetupResult>;
8
+ removeHook(opts: RemoveHookOpts): Promise<SetupResult>;
9
+ removeMcp(opts: RemoveMcpOpts): Promise<SetupResult>;
8
10
  status(opts?: StatusOpts): Promise<AgentStatus>;
9
11
  }
10
12
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot-cli/adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AAsBrB,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,EAAE,EAAG,aAAa,CAAU;IACrC,QAAQ,CAAC,KAAK,wBAAwB;IAEtC,eAAe,IAAI,OAAO;IAIpB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBtD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BpD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CA8CtD"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot-cli/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AAuBrB,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,EAAE,EAAG,aAAa,CAAU;IACrC,QAAQ,CAAC,KAAK,wBAAwB;IAEtC,eAAe,IAAI,OAAO;IAIpB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBtD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA2BpD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAgCtD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAsBpD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CA8CtD"}
@@ -1,7 +1,8 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { readJson, writeJsonAtomic } from "../claude-code/config-io.js";
4
- import { asJsonMap, cloneJson, commandAvailable, hasConfiguredMcp, hasPraxisHook, hookConfigsInDir, readForStatus, statusWarnings, upsertPraxisHook, } from "./config.js";
4
+ import { deleteMcpServerKey, isOwnedEmpty, removeFileIfPresent } from "../remove-helpers.js";
5
+ import { asJsonMap, cloneJson, commandAvailable, hasConfiguredMcp, hasPraxisHook, hookConfigsInDir, readForStatus, removePraxisHook, statusWarnings, upsertPraxisHook, } from "./config.js";
5
6
  import { AGENT_HOST, copilotGlobalHooksPath, copilotHomeDir, copilotMcpConfigPath, copilotProjectSettingsPath, MCP_SERVER_KEY, } from "./paths.js";
6
7
  export class CopilotCliAdapter {
7
8
  id = "copilot-cli";
@@ -55,6 +56,61 @@ export class CopilotCliAdapter {
55
56
  : "GitHub Copilot CLI MCP config already up to date",
56
57
  };
57
58
  }
59
+ async removeHook(opts) {
60
+ const project = opts.projectDir || process.cwd();
61
+ const isGlobal = (opts.scope ?? "global") === "global";
62
+ const cfgPath = opts.explicitPath?.trim() || (isGlobal
63
+ ? copilotGlobalHooksPath()
64
+ : copilotProjectSettingsPath(project));
65
+ const existing = await readJson(cfgPath);
66
+ if (!existing) {
67
+ return { path: cfgPath, changed: false, message: "no GitHub Copilot CLI hook to remove" };
68
+ }
69
+ const before = JSON.stringify(existing);
70
+ const config = cloneJson(existing);
71
+ removePraxisHook(config);
72
+ // The global file (~/.copilot/hooks/praxis.json) is Praxis-owned: delete it
73
+ // outright once empty. Project settings are shared, so leave the stub.
74
+ const deleteOwned = isGlobal && cfgPath === copilotGlobalHooksPath() && isOwnedEmpty(config);
75
+ const changed = before !== JSON.stringify(config) || deleteOwned;
76
+ if (changed && !opts.dryRun) {
77
+ if (deleteOwned)
78
+ await removeFileIfPresent(cfgPath);
79
+ else
80
+ await writeJsonAtomic(cfgPath, config);
81
+ }
82
+ return {
83
+ path: cfgPath,
84
+ changed,
85
+ message: changed
86
+ ? opts.dryRun
87
+ ? "would remove GitHub Copilot CLI preToolUse hook"
88
+ : "removed GitHub Copilot CLI preToolUse hook"
89
+ : "no GitHub Copilot CLI hook to remove",
90
+ };
91
+ }
92
+ async removeMcp(opts) {
93
+ const cfgPath = opts.explicitPath?.trim() || copilotMcpConfigPath();
94
+ const existing = await readJson(cfgPath);
95
+ if (!existing) {
96
+ return { path: cfgPath, changed: false, message: "no GitHub Copilot CLI MCP config to remove" };
97
+ }
98
+ const before = JSON.stringify(existing);
99
+ const config = cloneJson(existing);
100
+ deleteMcpServerKey(config, MCP_SERVER_KEY);
101
+ const changed = before !== JSON.stringify(config);
102
+ if (changed && !opts.dryRun)
103
+ await writeJsonAtomic(cfgPath, config);
104
+ return {
105
+ path: cfgPath,
106
+ changed,
107
+ message: changed
108
+ ? opts.dryRun
109
+ ? "would remove GitHub Copilot CLI MCP config"
110
+ : "removed GitHub Copilot CLI MCP config"
111
+ : "no GitHub Copilot CLI MCP config to remove",
112
+ };
113
+ }
58
114
  async status(opts) {
59
115
  const projectDir = opts?.projectDir || process.cwd();
60
116
  const globalPath = copilotGlobalHooksPath();
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/copilot-cli/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/copilot-cli/adapter.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ export declare function cloneJson(value: JsonMap | null): JsonMap;
3
3
  export declare function asJsonMap(value: unknown): JsonMap | undefined;
4
4
  export declare function hasPraxisHook(config: JsonMap | null): boolean;
5
5
  export declare function upsertPraxisHook(config: JsonMap, includeVersion: boolean): void;
6
+ /**
7
+ * Inverse of upsertPraxisHook: drop Praxis preToolUse entries, pruning the
8
+ * emptied array and `hooks` object. Mutates `config`; returns true when
9
+ * something was removed.
10
+ */
11
+ export declare function removePraxisHook(config: JsonMap): boolean;
6
12
  export declare function hasConfiguredMcp(config: JsonMap | null): boolean;
7
13
  export declare function commandAvailable(command: string): boolean;
8
14
  export declare function readForStatus(pathname: string, warnings: string[]): Promise<JsonMap | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot-cli/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAIrE,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAExD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAG7D;AAOD,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAQ7D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,CAc/E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAShE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAczD;AAMD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAOzB;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAU7F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,EAAE,CAYX"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/adapters/copilot-cli/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAIrE,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAExD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAG7D;AAOD,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAQ7D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,CAc/E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAazD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAShE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAczD;AAMD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAOzB;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAU7F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,EAAE,CAYX"}
@@ -44,6 +44,29 @@ export function upsertPraxisHook(config, includeVersion) {
44
44
  { type: "command", command: HOOK_COMMAND },
45
45
  ];
46
46
  }
47
+ /**
48
+ * Inverse of upsertPraxisHook: drop Praxis preToolUse entries, pruning the
49
+ * emptied array and `hooks` object. Mutates `config`; returns true when
50
+ * something was removed.
51
+ */
52
+ export function removePraxisHook(config) {
53
+ const hooks = asJsonMap(config.hooks);
54
+ if (!hooks)
55
+ return false;
56
+ const entries = hooks.preToolUse;
57
+ if (!Array.isArray(entries))
58
+ return false;
59
+ const filtered = entries.filter((entry) => !(entry && typeof entry === "object" && entry.command === HOOK_COMMAND));
60
+ if (filtered.length === entries.length)
61
+ return false;
62
+ if (filtered.length === 0)
63
+ delete hooks.preToolUse;
64
+ else
65
+ hooks.preToolUse = filtered;
66
+ if (Object.keys(hooks).length === 0)
67
+ delete config.hooks;
68
+ return true;
69
+ }
47
70
  export function hasConfiguredMcp(config) {
48
71
  const servers = asJsonMap(config?.mcpServers);
49
72
  if (!servers)
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/adapters/copilot-cli/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/adapters/copilot-cli/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAgB,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAa,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClF,OAAO,KAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,QAAkB;IAC5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC5E,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAsB;IAClD,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;IAC5B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,OAAO,GAAI,KAAiB,CAAC,UAAU,CAAC;IAC9C,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtD,OAAQ,KAAiB,CAAC,OAAO,KAAK,YAAY,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAe,EAAE,cAAuB;IACvE,IAAI,cAAc;QAAE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAgB,CAAC;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,KAAK,CAAC,UAAU,GAAG;QACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACrD,OAAQ,KAAiB,CAAC,OAAO,KAAK,YAAY,CAAC;QACrD,CAAC,CAAC;QACF,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE;KAC3C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,KAAiB,CAAC,OAAO,KAAK,YAAY,CAAC,CAChG,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,UAAU,CAAC;;QAC9C,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1D,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,iBAAiB,KAAK,UAAU,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC7C,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACtD,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACT,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,QAAkB;IAElB,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,CAAC,+BAA+B,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,YAAqB;IACvE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK;SACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACxC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,QAAQ,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAC3C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC,CAAC;IACN,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAqB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAO9B;IACC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,WAAW,iCAAiC,CAAC,CAAC;IAC/G,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;IACnI,IAAI,CAAC,KAAK,CAAC,gBAAgB;QAAE,QAAQ,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IACnI,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AgentAdapter, AgentStatus, SetupResult, StatusOpts, UpsertCloudOpts, UpsertHookOpts, UpsertMcpOpts } from "./types.js";
1
+ import type { AgentAdapter, AgentStatus, RemoveCloudOpts, RemoveHookOpts, RemoveMcpOpts, SetupResult, StatusOpts, UpsertCloudOpts, UpsertHookOpts, UpsertMcpOpts } from "./types.js";
2
2
  /**
3
3
  * CursorAdapter: hook + MCP + Cloud Agents (`.cursor/environment.json`) for Cursor.
4
4
  *
@@ -13,6 +13,9 @@ export declare class CursorAdapter implements AgentAdapter {
13
13
  upsertHook(opts: UpsertHookOpts): Promise<SetupResult>;
14
14
  upsertMcp(opts: UpsertMcpOpts): Promise<SetupResult>;
15
15
  upsertCloud(opts: UpsertCloudOpts): Promise<SetupResult>;
16
+ removeHook(opts: RemoveHookOpts): Promise<SetupResult>;
17
+ removeMcp(opts: RemoveMcpOpts): Promise<SetupResult>;
18
+ removeCloud(opts: RemoveCloudOpts): Promise<SetupResult>;
16
19
  status(opts?: StatusOpts): Promise<AgentStatus>;
17
20
  }
18
21
  //# sourceMappingURL=cursor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAChC,QAAQ,CAAC,KAAK,YAAY;IAE1B,eAAe,IAAI,OAAO;IAI1B,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAUtD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CA2CtD"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;;;;;GAMG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,EAAE,EAAG,QAAQ,CAAU;IAChC,QAAQ,CAAC,KAAK,YAAY;IAE1B,eAAe,IAAI,OAAO;IAI1B,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAUtD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAIxD,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAStD,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlD,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CA2CtD"}
@@ -1,7 +1,7 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
- import { duplicatePraxisHooksWarning, readGlobalHooksConfigured, readMcpConfigured, readProjectHooksConfigured, readEnvironmentConfigured, resolveEnvironmentJsonPath, resolveProjectHooksPath, resolveUserHooksPath, resolveUserMcpConfigPath, upsertEnvironmentConfig, upsertHookConfig, upsertMcpConfig, } from "../cli/cursor-config.js";
4
+ import { duplicatePraxisHooksWarning, readGlobalHooksConfigured, readMcpConfigured, readProjectHooksConfigured, readEnvironmentConfigured, removeEnvironmentConfig, removeHookConfig, removeMcpConfig, resolveEnvironmentJsonPath, resolveProjectHooksPath, resolveUserHooksPath, resolveUserMcpConfigPath, upsertEnvironmentConfig, upsertHookConfig, upsertMcpConfig, } from "../cli/cursor-config.js";
5
5
  /**
6
6
  * CursorAdapter: hook + MCP + Cloud Agents (`.cursor/environment.json`) for Cursor.
7
7
  *
@@ -30,6 +30,20 @@ export class CursorAdapter {
30
30
  upsertCloud(opts) {
31
31
  return upsertEnvironmentConfig(opts.projectDir, opts.dryRun);
32
32
  }
33
+ removeHook(opts) {
34
+ return removeHookConfig({
35
+ scope: opts.scope ?? "global",
36
+ projectDir: opts.projectDir,
37
+ explicitPath: opts.explicitPath,
38
+ dryRun: opts.dryRun,
39
+ });
40
+ }
41
+ removeMcp(opts) {
42
+ return removeMcpConfig(opts.explicitPath, opts.dryRun);
43
+ }
44
+ removeCloud(opts) {
45
+ return removeEnvironmentConfig(opts.projectDir, opts.dryRun);
46
+ }
33
47
  async status(opts) {
34
48
  const projectDir = opts?.projectDir;
35
49
  const globalPath = resolveUserHooksPath();
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { JsonMap } from "./claude-code/config-io.js";
2
+ /**
3
+ * Shared teardown helpers for adapter `remove*` methods.
4
+ *
5
+ * These are the surgical inverse of the `upsert*` writers: they touch ONLY the
6
+ * Praxis-owned keys and prune now-empty parent containers, so a shared
7
+ * `~/.claude.json` or `settings.json` keeps every non-Praxis key untouched.
8
+ */
9
+ /**
10
+ * Delete `config.mcpServers[key]` in place; prune the `mcpServers` object itself
11
+ * when it becomes empty. No-op when the key (or the container) is absent.
12
+ */
13
+ export declare function deleteMcpServerKey(config: JsonMap, key: string): void;
14
+ /**
15
+ * True when a config object is "Praxis-owned empty": either `{}` or only a
16
+ * leftover `{ version: <n> }` marker. Used to decide whether a Praxis-owned
17
+ * file (e.g. Copilot's `hooks/praxis.json`) should be deleted outright rather
18
+ * than left as an inert stub. Shared files (`~/.claude.json`) never use this.
19
+ */
20
+ export declare function isOwnedEmpty(config: JsonMap): boolean;
21
+ /** Force-remove a file or directory if present; never throws on ENOENT. */
22
+ export declare function removeFileIfPresent(pathname: string): Promise<void>;
23
+ //# sourceMappingURL=remove-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-helpers.d.ts","sourceRoot":"","sources":["../../src/adapters/remove-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;;;;;GAMG;AAEH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAOrE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAIrD;AAED,2EAA2E;AAC3E,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE"}