wezterm-agent-mcp 0.1.4 → 0.1.5

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/README.md CHANGED
@@ -54,27 +54,28 @@ Turns [Wezterm](https://wezfurlong.org/wezterm/) into a remote-controllable term
54
54
 
55
55
  ### Install and configure
56
56
 
57
- One command from your project directory:
57
+ One command:
58
58
 
59
59
  ```bash
60
60
  npx wezterm-agent-mcp init
61
61
  ```
62
62
 
63
- This checks that Wezterm is installed, then auto-configures the MCP server for all supported AI coding tools:
63
+ This checks that Wezterm is installed, then registers the MCP server globally for all AI coding tools:
64
64
 
65
- | File | For |
65
+ | Config file | For |
66
66
  |---|---|
67
- | `.mcp.json` | Claude Code, Codex |
68
- | `.cursor/mcp.json` | Cursor |
69
- | `.vscode/mcp.json` | VS Code |
70
- | `.gemini/settings.json` | Gemini CLI |
71
- | `opencode.json` | OpenCode |
67
+ | `~/.claude/settings.json` | Claude Code, Codex |
68
+ | `~/.cursor/mcp.json` | Cursor |
69
+ | VS Code user `mcp.json` | VS Code (platform-specific path) |
70
+ | `~/.gemini/settings.json` | Gemini CLI |
71
+ | `~/.config/opencode/...` | OpenCode (platform-specific path) |
72
72
 
73
- Existing config files are merged — other MCP servers you've configured won't be touched. Re-running is safe (idempotent).
73
+ One run, every project, every tool. Existing config files are merged — other MCP servers won't be touched. Re-running is safe (idempotent).
74
74
 
75
- Use `--root` to target a different directory:
75
+ For per-project setup instead (writes config into the project directory):
76
76
 
77
77
  ```bash
78
+ npx wezterm-agent-mcp init --project
78
79
  npx wezterm-agent-mcp init --root /path/to/project
79
80
  ```
80
81
 
package/build/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { parseArgs } from 'node:util';
3
- import { initProject } from './init.js';
3
+ import { initGlobal, initProject } from './init.js';
4
4
  import { runServer } from './wez-mcp.js';
5
5
  function printHelp() {
6
6
  console.log(`wezterm-agent-mcp — terminal control plane for multi-agent AI workflows
@@ -11,14 +11,14 @@ Usage:
11
11
  wezterm-agent-mcp help
12
12
 
13
13
  Commands:
14
- init Configure MCP server entries for all supported AI coding tools
14
+ init Register wezterm-agent-mcp with all AI coding tools
15
15
  help Show this help
16
16
 
17
17
  When no command is given, the stdio MCP server starts (default behavior).
18
18
 
19
19
  Examples:
20
- npx wezterm-agent-mcp init
21
- npx wezterm-agent-mcp init --root /path/to/project
20
+ npx wezterm-agent-mcp init # global setup (all projects)
21
+ npx wezterm-agent-mcp init --project # per-project setup (current dir)
22
22
  npx wezterm-agent-mcp
23
23
  `);
24
24
  }
@@ -27,45 +27,53 @@ function runInitCli(args) {
27
27
  args,
28
28
  options: {
29
29
  help: { type: 'boolean', short: 'h' },
30
+ project: { type: 'boolean' },
30
31
  root: { type: 'string' },
31
32
  },
32
33
  allowPositionals: false,
33
34
  strict: true,
34
35
  });
35
36
  if (parsed.values.help) {
36
- console.log(`Configure MCP server entries for all supported AI coding tools
37
+ console.log(`Register wezterm-agent-mcp with all AI coding tools
37
38
 
38
39
  Usage:
39
40
  wezterm-agent-mcp init [options]
40
41
 
41
42
  Options:
42
- --root <path> Project root directory (default: current directory)
43
+ --project Per-project mode (write config into project directory)
44
+ --root <path> Project root directory (implies --project, default: cwd)
43
45
  -h, --help Show help
44
46
 
45
- Creates or updates these config files (merges with existing content):
46
- .mcp.json Claude Code, Codex
47
- .cursor/mcp.json Cursor
48
- .vscode/mcp.json VS Code
49
- .gemini/settings.json Gemini CLI
50
- opencode.json OpenCode
47
+ Default (no flags) registers globally for all projects:
48
+ ~/.claude/settings.json Claude Code, Codex
49
+ ~/.cursor/mcp.json Cursor
50
+ VS Code user mcp.json VS Code (platform-specific path)
51
+ ~/.gemini/settings.json Gemini CLI
52
+ ~/.config/opencode/... OpenCode (platform-specific path)
53
+
54
+ With --project, writes per-project config files:
55
+ .mcp.json Claude Code, Codex
56
+ .cursor/mcp.json Cursor
57
+ .vscode/mcp.json VS Code
58
+ .gemini/settings.json Gemini CLI
59
+ opencode.json OpenCode
51
60
  `);
52
61
  return;
53
62
  }
54
- const result = initProject({
55
- projectRoot: parsed.values.root,
56
- });
63
+ const isProjectMode = parsed.values.project === true || parsed.values.root !== undefined;
64
+ const result = isProjectMode
65
+ ? initProject({ projectRoot: parsed.values.root })
66
+ : initGlobal();
57
67
  if (result.updatedFiles.length === 0) {
58
- console.log(`wezterm-agent-mcp already configured — no changes needed.
59
-
60
- Project root: ${result.projectRoot}
61
- `);
68
+ console.log(`wezterm-agent-mcp already configured — no changes needed.`);
62
69
  return;
63
70
  }
64
- console.log(`wezterm-agent-mcp configured for this project
65
-
66
- Project root: ${result.projectRoot}
71
+ const header = result.mode === 'global'
72
+ ? 'wezterm-agent-mcp registered globally for all projects'
73
+ : `wezterm-agent-mcp configured for ${result.projectRoot}`;
74
+ console.log(`${header}
67
75
 
68
- Updated files:
76
+ Updated:
69
77
  ${result.updatedFiles.map((f) => ` ${f}`).join('\n')}
70
78
  `);
71
79
  }
package/build/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBb,CAAC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzB;QACD,gBAAgB,EAAE,KAAK;QACvB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;CAef,CAAC,CAAC;QACC,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;KAChC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC;;gBAEA,MAAM,CAAC,WAAW;CACjC,CAAC,CAAC;QACC,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC;;gBAEE,MAAM,CAAC,WAAW;;;EAGhC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACpD,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnE,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,wFAAwF;IACxF,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;CAiBb,CAAC,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,MAAM,MAAM,GAAG,SAAS,CAAC;QACvB,IAAI;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACzB;QACD,gBAAgB,EAAE,KAAK;QACvB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;CAuBf,CAAC,CAAC;QACC,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAEzF,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC,CAAC,UAAU,EAAE,CAAC;IAEjB,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ;QACrC,CAAC,CAAC,wDAAwD;QAC1D,CAAC,CAAC,oCAAoC,MAAM,CAAC,WAAW,EAAE,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM;;;EAGrB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACpD,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnE,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,wFAAwF;IACxF,MAAM,SAAS,EAAE,CAAC;AACpB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/build/init.d.ts CHANGED
@@ -1,8 +1,14 @@
1
1
  export type InitOptions = {
2
+ /** Per-project mode: write config files into this directory */
2
3
  projectRoot?: string;
3
4
  };
4
5
  export type InitResult = {
5
- projectRoot: string;
6
+ mode: 'global' | 'project';
6
7
  updatedFiles: string[];
8
+ /** Only set in project mode */
9
+ projectRoot?: string;
7
10
  };
11
+ /** Global init — writes to user-level config files for all tools */
12
+ export declare function initGlobal(): InitResult;
13
+ /** Project init — writes to project-level config files */
8
14
  export declare function initProject(options?: InitOptions): InitResult;
package/build/init.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
- import { dirname, resolve } from 'node:path';
2
+ import { homedir } from 'node:os';
3
+ import { dirname, join, resolve } from 'node:path';
3
4
  import { OS } from './platform.js';
4
5
  // ---------------------------------------------------------------------------
5
6
  // JSON helpers
@@ -18,9 +19,17 @@ function writeJsonIfChanged(filePath, nextValue, existing, updatedFiles) {
18
19
  }
19
20
  }
20
21
  // ---------------------------------------------------------------------------
21
- // Server entry builders (per config format)
22
+ // Server entry builders
22
23
  // ---------------------------------------------------------------------------
23
- function stdioEntry(projectRoot) {
24
+ /** Global entry — no WEZ_PROJECT_ROOT, server uses process.cwd() at runtime */
25
+ function globalEntry() {
26
+ return {
27
+ command: 'wezterm-agent-mcp',
28
+ args: [],
29
+ };
30
+ }
31
+ /** Project entry — pins WEZ_PROJECT_ROOT to specific directory */
32
+ function projectEntry(projectRoot) {
24
33
  return {
25
34
  command: 'wezterm-agent-mcp',
26
35
  args: [],
@@ -28,61 +37,56 @@ function stdioEntry(projectRoot) {
28
37
  };
29
38
  }
30
39
  // ---------------------------------------------------------------------------
31
- // Per-file writers
40
+ // Global config paths (per platform)
32
41
  // ---------------------------------------------------------------------------
33
- /** .mcp.json — Claude Code, Codex */
34
- function writeMcpJson(projectRoot, updatedFiles) {
35
- const filePath = resolve(projectRoot, '.mcp.json');
36
- const existing = readJsonFile(filePath) ?? {};
37
- const existingServers = (existing['mcpServers'] ?? {});
38
- const nextValue = {
39
- ...existing,
40
- mcpServers: { ...existingServers, 'wezterm-agent-mcp': stdioEntry(projectRoot) },
41
- };
42
- writeJsonIfChanged(filePath, nextValue, existing, updatedFiles);
42
+ function home() {
43
+ return homedir();
44
+ }
45
+ function globalVsCodeMcpPath() {
46
+ switch (OS.name) {
47
+ case 'macos':
48
+ return join(home(), 'Library', 'Application Support', 'Code', 'User', 'mcp.json');
49
+ case 'windows':
50
+ return join(process.env['APPDATA'] ?? join(home(), 'AppData', 'Roaming'), 'Code', 'User', 'mcp.json');
51
+ default: // linux
52
+ return join(process.env['XDG_CONFIG_HOME'] ?? join(home(), '.config'), 'Code', 'User', 'mcp.json');
53
+ }
43
54
  }
44
- /** .cursor/mcp.json — Cursor */
45
- function writeCursorMcpJson(projectRoot, updatedFiles) {
46
- const filePath = resolve(projectRoot, '.cursor', 'mcp.json');
55
+ function globalOpenCodePath() {
56
+ switch (OS.name) {
57
+ case 'windows':
58
+ return join(home(), '.config', 'opencode', 'opencode.json');
59
+ default: // linux, macos
60
+ return join(process.env['XDG_CONFIG_HOME'] ?? join(home(), '.config'), 'opencode', 'opencode.json');
61
+ }
62
+ }
63
+ // ---------------------------------------------------------------------------
64
+ // Shared writers (work for both global and project paths)
65
+ // ---------------------------------------------------------------------------
66
+ function writeMcpServersFile(filePath, entry, updatedFiles) {
47
67
  const existing = readJsonFile(filePath) ?? {};
48
68
  const existingServers = (existing['mcpServers'] ?? {});
49
69
  const nextValue = {
50
70
  ...existing,
51
- mcpServers: { ...existingServers, 'wezterm-agent-mcp': stdioEntry(projectRoot) },
71
+ mcpServers: { ...existingServers, 'wezterm-agent-mcp': entry },
52
72
  };
53
73
  writeJsonIfChanged(filePath, nextValue, existing, updatedFiles);
54
74
  }
55
- /** .vscode/mcp.json VS Code */
56
- function writeVsCodeMcpJson(projectRoot, updatedFiles) {
57
- const filePath = resolve(projectRoot, '.vscode', 'mcp.json');
75
+ function writeVsCodeFile(filePath, entry, updatedFiles) {
58
76
  const existing = readJsonFile(filePath) ?? {};
59
77
  const existingServers = (existing['servers'] ?? {});
60
78
  const nextValue = {
61
79
  ...existing,
62
80
  servers: {
63
81
  ...existingServers,
64
- 'wezterm-agent-mcp': { type: 'stdio', ...stdioEntry(projectRoot) },
82
+ 'wezterm-agent-mcp': { type: 'stdio', ...entry },
65
83
  },
66
84
  };
67
85
  writeJsonIfChanged(filePath, nextValue, existing, updatedFiles);
68
86
  }
69
- /** .gemini/settings.json Gemini CLI */
70
- function writeGeminiSettings(projectRoot, updatedFiles) {
71
- const filePath = resolve(projectRoot, '.gemini', 'settings.json');
72
- const existing = readJsonFile(filePath) ?? {};
73
- const existingServers = (existing['mcpServers'] ?? {});
74
- const nextValue = {
75
- ...existing,
76
- mcpServers: { ...existingServers, 'wezterm-agent-mcp': stdioEntry(projectRoot) },
77
- };
78
- writeJsonIfChanged(filePath, nextValue, existing, updatedFiles);
79
- }
80
- /** opencode.json — OpenCode */
81
- function writeOpenCodeJson(projectRoot, updatedFiles) {
82
- const filePath = resolve(projectRoot, 'opencode.json');
87
+ function writeOpenCodeFile(filePath, entry, updatedFiles) {
83
88
  const existing = readJsonFile(filePath) ?? {};
84
89
  const existingMcp = (existing['mcp'] ?? {});
85
- const entry = stdioEntry(projectRoot);
86
90
  const nextValue = {
87
91
  ...existing,
88
92
  mcp: {
@@ -91,29 +95,59 @@ function writeOpenCodeJson(projectRoot, updatedFiles) {
91
95
  type: 'local',
92
96
  command: [String(entry.command), ...(entry.args ?? [])],
93
97
  enabled: true,
94
- environment: (entry.env ?? {}),
98
+ ...(entry.env ? { environment: entry.env } : {}),
95
99
  },
96
100
  },
97
101
  };
98
102
  writeJsonIfChanged(filePath, nextValue, existing, updatedFiles);
99
103
  }
100
104
  // ---------------------------------------------------------------------------
101
- // Public API
105
+ // Preflight
102
106
  // ---------------------------------------------------------------------------
103
- export function initProject(options = {}) {
107
+ function preflight() {
104
108
  if (!OS.isWezInstalled()) {
105
109
  console.error(`Error: Wezterm is not installed or not found in PATH.
106
110
 
107
111
  Install Wezterm first: https://wezfurlong.org/wezterm/installation`);
108
112
  process.exit(1);
109
113
  }
114
+ }
115
+ // ---------------------------------------------------------------------------
116
+ // Public API
117
+ // ---------------------------------------------------------------------------
118
+ /** Global init — writes to user-level config files for all tools */
119
+ export function initGlobal() {
120
+ preflight();
121
+ const entry = globalEntry();
122
+ const updatedFiles = [];
123
+ // Claude Code / Codex — ~/.claude/settings.json
124
+ writeMcpServersFile(join(home(), '.claude', 'settings.json'), entry, updatedFiles);
125
+ // Cursor — ~/.cursor/mcp.json
126
+ writeMcpServersFile(join(home(), '.cursor', 'mcp.json'), entry, updatedFiles);
127
+ // VS Code — platform-specific path
128
+ writeVsCodeFile(globalVsCodeMcpPath(), entry, updatedFiles);
129
+ // Gemini CLI — ~/.gemini/settings.json
130
+ writeMcpServersFile(join(home(), '.gemini', 'settings.json'), entry, updatedFiles);
131
+ // OpenCode — platform-specific path
132
+ writeOpenCodeFile(globalOpenCodePath(), entry, updatedFiles);
133
+ return { mode: 'global', updatedFiles };
134
+ }
135
+ /** Project init — writes to project-level config files */
136
+ export function initProject(options = {}) {
137
+ preflight();
110
138
  const projectRoot = resolve(options.projectRoot ?? process.cwd());
139
+ const entry = projectEntry(projectRoot);
111
140
  const updatedFiles = [];
112
- writeMcpJson(projectRoot, updatedFiles);
113
- writeCursorMcpJson(projectRoot, updatedFiles);
114
- writeVsCodeMcpJson(projectRoot, updatedFiles);
115
- writeGeminiSettings(projectRoot, updatedFiles);
116
- writeOpenCodeJson(projectRoot, updatedFiles);
117
- return { projectRoot, updatedFiles };
141
+ // .mcp.json — Claude Code, Codex
142
+ writeMcpServersFile(resolve(projectRoot, '.mcp.json'), entry, updatedFiles);
143
+ // .cursor/mcp.json — Cursor
144
+ writeMcpServersFile(resolve(projectRoot, '.cursor', 'mcp.json'), entry, updatedFiles);
145
+ // .vscode/mcp.json — VS Code
146
+ writeVsCodeFile(resolve(projectRoot, '.vscode', 'mcp.json'), entry, updatedFiles);
147
+ // .gemini/settings.json — Gemini CLI
148
+ writeMcpServersFile(resolve(projectRoot, '.gemini', 'settings.json'), entry, updatedFiles);
149
+ // opencode.json — OpenCode
150
+ writeOpenCodeFile(resolve(projectRoot, 'opencode.json'), entry, updatedFiles);
151
+ return { mode: 'project', updatedFiles, projectRoot };
118
152
  }
119
153
  //# sourceMappingURL=init.js.map
package/build/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAkBnC,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,SAAS,YAAY,CAAI,QAAgB;IACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAM,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAgB,EAChB,SAAkC,EAClC,QAAiC,EACjC,YAAsB;IAEtB,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3E,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,+EAA+E;AAC/E,SAAS,WAAW;IAClB,OAAO;QACL,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,SAAS,YAAY,CAAC,WAAmB;IACvC,OAAO;QACL,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE;KACvC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,SAAS,IAAI;IACX,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACpF,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACxG,SAAS,QAAQ;YACf,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACvG,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC9D,SAAS,eAAe;YACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,SAAS,mBAAmB,CAAC,QAAgB,EAAE,KAA8B,EAAE,YAAsB;IACnG,MAAM,QAAQ,GAAG,YAAY,CAA0B,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAA4B,CAAC;IAClF,MAAM,SAAS,GAAG;QAChB,GAAG,QAAQ;QACX,UAAU,EAAE,EAAE,GAAG,eAAe,EAAE,mBAAmB,EAAE,KAAK,EAAE;KAC/D,CAAC;IACF,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,KAA8B,EAAE,YAAsB;IAC/F,MAAM,QAAQ,GAAG,YAAY,CAA0B,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC/E,MAAM,SAAS,GAAG;QAChB,GAAG,QAAQ;QACX,OAAO,EAAE;YACP,GAAG,eAAe;YAClB,mBAAmB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE;SACjD;KACF,CAAC;IACF,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,KAA8B,EAAE,YAAsB;IACjG,MAAM,QAAQ,GAAG,YAAY,CAA0B,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvE,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAA4B,CAAC;IACvE,MAAM,SAAS,GAAG;QAChB,GAAG,QAAQ;QACX,GAAG,EAAE;YACH,GAAG,WAAW;YACd,mBAAmB,EAAE;gBACnB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAc,CAAC;gBACrE,OAAO,EAAE,IAAI;gBACb,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,GAA6B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3E;SACF;KACF,CAAC;IACF,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,SAAS,SAAS;IAChB,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC;;mEAEiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,oEAAoE;AACpE,MAAM,UAAU,UAAU;IACxB,SAAS,EAAE,CAAC;IAEZ,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,gDAAgD;IAChD,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAEnF,8BAA8B;IAC9B,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAE9E,mCAAmC;IACnC,eAAe,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAE5D,uCAAuC;IACvC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAEnF,oCAAoC;IACpC,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAE7D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AAC1C,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,WAAW,CAAC,UAAuB,EAAE;IACnD,SAAS,EAAE,CAAC;IAEZ,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,iCAAiC;IACjC,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAE5E,4BAA4B;IAC5B,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAEtF,6BAA6B;IAC7B,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAElF,qCAAqC;IACrC,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAE3F,2BAA2B;IAC3B,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAE9E,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wezterm-agent-mcp",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "type": "module",
5
5
  "description": "Wezterm MCP Server — programmable terminal control plane for multi-agent AI workflows",
6
6
  "license": "PolyForm-Strict-1.0.0",