godot-cli 0.23.0 → 0.25.0

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/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@ All notable changes to `godot-cli` are documented in this file.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ - **Antigravity: two config file locations.** Antigravity reads its global MCP config from
8
+ `~/.gemini/config/mcp_config.json` *or* `~/.gemini/antigravity/mcp_config.json` (which one differs per
9
+ install), so `setup-mcp antigravity` now writes the entry into **both** (creating missing files,
10
+ preserving every other entry), prints both paths, and fails naming the path it could not write.
11
+ The library result gains `configPaths`.
12
+ - **`setup-mcp <agent> --regenerate-key` no longer breaks the project's other agent configs.** Before
13
+ revoking the previous key it rewrites every other agent config whose `ai-game-developer` entry still
14
+ carries it (pinned or `--no-pin` URL); if any cannot be rewritten — or still holds the key anywhere
15
+ else — the previous key is NOT revoked and the configs are named in a warning. The library result gains `rewrittenConfigPaths`.
16
+
7
17
  - **Unified machine auth (unified-machine-auth f2).** The CLI adopts
8
18
  `@baizor/gamedev-cli-core@0.4.0`'s shared machine-auth stack; the CLI-local machine-credential
9
19
  store copy (`src/utils/machine-credentials.ts`) is **deleted** — cli-core is the only TS store
package/README.md CHANGED
@@ -90,7 +90,7 @@ npx godot-cli install-plugin /path/to/godot/project
90
90
  | `status [path]` | Detect a running Godot editor for the project and probe MCP-server health. |
91
91
  | `wait-for-ready [path]` | Poll the MCP server until it answers `ping`. |
92
92
  | `login [path]` | Authenticate with the ai-game.dev cloud via the OAuth 2.1 device-authorization flow (RFC 8628) — opens a browser, then saves a cloud credential to the shared machine store (`~/.ai-game-dev/credentials.json`) the editor plugin auto-adopts. See the `login` section below for its `--project` / `--base-url` / `--force` / `--tools-only` / `--yes` flags. |
93
- | `setup-mcp <agent> [path]` | Write the agent's MCP-client config pointing at the project-pinned `<host>/mcp/p/<pin>` URL (so the agent routes to *this* project's editor). Add `--no-pin` for the bare `<host>/mcp` URL. |
93
+ | `setup-mcp <agent> [path]` | Write the agent's MCP-client config pointing at the project-pinned `<host>/mcp/p/<pin>` URL (so the agent routes to *this* project's editor). In Cloud mode the config carries this project's key (`Authorization: Bearer agd_pk_…`). Add `--no-pin` for the bare `<host>/mcp` URL, `--oauth` for a URL-only config, `--regenerate-key` to replace the key. |
94
94
  | `setup-skills <agent> [path]` | Generate Godot-MCP skill files (a `SKILL.md`-per-tool-family) under the agent's skills path. `--list` shows each agent's skills support. |
95
95
  | `configure [path]` | List / enable / disable tools, prompts, and resources in the project-local `.godot-mcp/features.json`. |
96
96
  | `close [path]` | Gracefully stop the Godot editor running for a project (`--force` to hard-kill). |
@@ -331,12 +331,18 @@ generate its skill files). Use `--list` on either command to see every supported
331
331
  godot-cli setup-mcp --list # list every supported agent id
332
332
  godot-cli setup-mcp claude-code ./MyGame # write the agent's MCP client config (pinned to this project)
333
333
  godot-cli setup-mcp claude-code ./MyGame --no-pin # write the bare, unpinned <host>/mcp URL instead
334
+ godot-cli setup-mcp claude-code ./MyGame --oauth # URL-only: the agent signs in with its own OAuth
335
+ godot-cli setup-mcp claude-code ./MyGame --regenerate-key # new project key; the old one is revoked
334
336
  ```
335
337
 
336
- OAuth-capable agents (Claude Code, Cursor, Codex, Copilot, …) authenticate to the cloud with their **own**
337
- OAuth handshake, so `setup-mcp` writes them a credential-free, URL-only config — no bearer token is stored
338
- in the agent file. A static `Authorization` header is written only for a client that cannot OAuth, or when
339
- you pass an explicit `--token` (a deliberate personal-token opt-in for a self-hosted, required-auth server).
338
+ In Cloud mode `setup-mcp` writes a **project key** into the agent config for every agent:
339
+ `Authorization: Bearer agd_pk_…` (Codex: `http_headers`). A project key never expires, is bound to this
340
+ project's pin (it cannot reach any other project on your account), and is created once per project with
341
+ your machine sign-in (`godot-cli login`), then reused from `~/.ai-game-dev/project-keys.json`.
342
+ `--regenerate-key` replaces it and revokes the old one. Without a machine sign-in (or while the server cannot
343
+ issue keys) the config is URL-only and the agent authenticates with its own OAuth; `--oauth` asks for that
344
+ URL-only config explicitly. An explicit `--token` always wins. A local server config (`--url
345
+ http://localhost:…`) never carries a project key.
340
346
 
341
347
  > For the full Godot-MCP project documentation, see the
342
348
  > [main README](https://github.com/IvanMurzak/Godot-MCP/blob/main/README.md). Backed by
@@ -3,6 +3,17 @@ import * as ui from '../utils/ui.js';
3
3
  import { verbose } from '../utils/ui.js';
4
4
  import { getAgentById, getAgentIds, listAgentTable, MCP_SERVER_NAME } from '../utils/agents.js';
5
5
  import { setupMcp } from '../lib/setup-mcp.js';
6
+ /** Human description of the credential a written config carries. */
7
+ function describeCredential(result) {
8
+ switch (result.credential) {
9
+ case 'project-key':
10
+ return `project key (${result.projectKeySource === 'minted' ? 'newly created' : 'reused'})`;
11
+ case 'token':
12
+ return 'access token (--token)';
13
+ default:
14
+ return 'none (URL-only; the agent signs in with its own OAuth)';
15
+ }
16
+ }
6
17
  function listAgents() {
7
18
  listAgentTable('Available AI Agents', 'Config Path', (a) => a.configPathDisplay);
8
19
  }
@@ -13,6 +24,8 @@ export const setupMcpCommand = new Command('setup-mcp')
13
24
  .option('--url <url>', 'MCP server host override (the <host>/mcp client URL is derived from it)')
14
25
  .option('--token <token>', 'Auth token override (defaults to GODOT_MCP_TOKEN)')
15
26
  .option('--no-pin', 'Write an unpinned <host>/mcp URL (default pins /p/<pin> to route to this project)')
27
+ .option('--oauth', 'Cloud: write a URL-only config (the agent signs in with its own OAuth) instead of the project key')
28
+ .option('--regenerate-key', "Cloud: mint a new project key for this project, rewrite the config, then revoke the old key")
16
29
  .option('--list', 'List all available agent IDs')
17
30
  .action(async (agentId, positionalPath, options) => {
18
31
  if (options.list) {
@@ -37,6 +50,8 @@ export const setupMcpCommand = new Command('setup-mcp')
37
50
  url: options.url,
38
51
  token: options.token,
39
52
  noPin: options.pin === false,
53
+ oauth: options.oauth === true,
54
+ regenerateKey: options.regenerateKey === true,
40
55
  });
41
56
  if (result.kind === 'failure') {
42
57
  spinner.error('Failed to write config');
@@ -46,13 +61,17 @@ export const setupMcpCommand = new Command('setup-mcp')
46
61
  if (positionalPath) {
47
62
  verbose(`Project path: ${positionalPath}`);
48
63
  }
49
- verbose(`Config file: ${result.configPath}`);
64
+ verbose(`Config file(s): ${result.configPaths.join(', ')}`);
50
65
  spinner.success(`${agent.name} configured successfully`);
51
66
  console.log('');
52
- ui.label('Config file', result.configPath);
67
+ for (const configPath of result.configPaths)
68
+ ui.label('Config file', configPath);
69
+ for (const configPath of result.rewrittenConfigPaths)
70
+ ui.label('New key also written to', configPath);
53
71
  ui.label('Server URL', result.serverUrl);
54
72
  ui.label('Server name', MCP_SERVER_NAME);
55
73
  ui.label('Routing', result.pinned ? 'pinned to this project (/p/<pin>)' : 'unpinned (--no-pin)');
74
+ ui.label('Credential', describeCredential(result));
56
75
  for (const warning of result.warnings) {
57
76
  console.log('');
58
77
  ui.warn(warning);
@@ -1 +1 @@
1
- {"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/commands/setup-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/commands/setup-mcp.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,18 @@ export declare function shouldWriteAuthHeader(input: {
33
33
  * server. Library-safe: no stdout noise, no process.exit, no throws past the
34
34
  * public boundary.
35
35
  *
36
+ * **Credential policy (project-keys contract §7, owner rulings 2026-09-23)** — mirrors cli-core's
37
+ * `setupMcp`:
38
+ * - an explicit `token` always wins (the Flow C PAT opt-in, see `shouldWriteAuthHeader`);
39
+ * - otherwise a **Cloud** config (a non-loopback hub URL) carries `Authorization: Bearer agd_pk_…` —
40
+ * a non-expiring project key strictly bound to this project's pin, reused from
41
+ * `~/.ai-game-dev/project-keys.json` or minted with the machine credential — for EVERY agent,
42
+ * through each agent's own static-header key (`headers`, Codex `http_headers`);
43
+ * - `oauth` opts out (URL-only, any previous header removed);
44
+ * - `regenerateKey` mints a fresh key, rewrites the config, then revokes the previous key;
45
+ * - no machine login / a failed mint ⇒ URL-only with a warning (the write itself never fails);
46
+ * - a local-server (loopback) config is unchanged.
47
+ *
36
48
  * Writes an HTTP server entry pointing at the resolved MCP-client URL. The
37
49
  * Godot config body shape mirrors the addon's `AgentConfigJson` / `AgentConfigPaths`
38
50
  * conventions (`.mcp.json` under `mcpServers` for Claude Code, `.vscode/mcp.json`
@@ -1,7 +1,7 @@
1
1
  import * as path from 'path';
2
- import { pinUrl } from '@baizor/gamedev-cli-core';
2
+ import { createProjectKeyResolver, godotAdapter, ProjectKeyStore, isCloudUrl, pinUrl, toAuthServerRoot, } from '@baizor/gamedev-cli-core';
3
3
  import { CLOUD_MCP_URL, ENV_HOST, ENV_TOKEN, MCP_HUB_PATH, } from '../utils/connection.js';
4
- import { getAgentById, getAgentIds, writeJsonAgentConfig, writeTomlAgentConfig, MCP_SERVER_NAME, } from '../utils/agents.js';
4
+ import { getAgentById, getAgentConfigPaths, getAgentIds, httpHeadersKeyOf, rewriteProjectKeyInAgentConfigs, writeJsonAgentConfig, writeTomlAgentConfig, MCP_SERVER_NAME, } from '../utils/agents.js';
5
5
  import { derivePinV2 } from '../utils/project-identity.js';
6
6
  import { emitProgress } from './progress.js';
7
7
  import { requireExistingPath } from './validation.js';
@@ -65,16 +65,23 @@ export function shouldWriteAuthHeader(input) {
65
65
  return true;
66
66
  return input.explicitToken;
67
67
  }
68
- /** True when `configPath` resolves inside `projectPath` (a project-scoped, likely VCS-tracked file). */
69
- function isInsideProject(projectPath, configPath) {
70
- const rel = path.relative(projectPath, configPath);
71
- return rel.length > 0 && !rel.startsWith('..') && !path.isAbsolute(rel);
72
- }
73
68
  /**
74
69
  * Write MCP configuration for the given AI agent so it can talk to a Godot-MCP
75
70
  * server. Library-safe: no stdout noise, no process.exit, no throws past the
76
71
  * public boundary.
77
72
  *
73
+ * **Credential policy (project-keys contract §7, owner rulings 2026-09-23)** — mirrors cli-core's
74
+ * `setupMcp`:
75
+ * - an explicit `token` always wins (the Flow C PAT opt-in, see `shouldWriteAuthHeader`);
76
+ * - otherwise a **Cloud** config (a non-loopback hub URL) carries `Authorization: Bearer agd_pk_…` —
77
+ * a non-expiring project key strictly bound to this project's pin, reused from
78
+ * `~/.ai-game-dev/project-keys.json` or minted with the machine credential — for EVERY agent,
79
+ * through each agent's own static-header key (`headers`, Codex `http_headers`);
80
+ * - `oauth` opts out (URL-only, any previous header removed);
81
+ * - `regenerateKey` mints a fresh key, rewrites the config, then revokes the previous key;
82
+ * - no machine login / a failed mint ⇒ URL-only with a warning (the write itself never fails);
83
+ * - a local-server (loopback) config is unchanged.
84
+ *
78
85
  * Writes an HTTP server entry pointing at the resolved MCP-client URL. The
79
86
  * Godot config body shape mirrors the addon's `AgentConfigJson` / `AgentConfigPaths`
80
87
  * conventions (`.mcp.json` under `mcpServers` for Claude Code, `.vscode/mcp.json`
@@ -126,55 +133,160 @@ export async function setupMcp(opts) {
126
133
  // — decision M8).
127
134
  const baseClientUrl = resolveMcpClientUrl(opts.url);
128
135
  const pinned = opts.noPin !== true;
129
- const serverUrl = pinned ? pinUrl(baseClientUrl, derivePinV2(projectPath)) : baseClientUrl;
136
+ const pin = derivePinV2(projectPath);
137
+ const serverUrl = pinned ? pinUrl(baseClientUrl, pin) : baseClientUrl;
130
138
  // A token supplied EXPLICITLY by the caller (`--token` / the library `token`
131
139
  // arg) is a deliberate Flow C PAT opt-in; a token that is only present in the
132
140
  // ambient `GODOT_MCP_TOKEN` env (e.g. one a prior `login` set) is NOT.
133
141
  const explicitToken = typeof opts.token === 'string' && opts.token.length > 0;
134
- const token = opts.token ?? normalizeEnv(process.env[ENV_TOKEN]) ?? '';
135
- // OAuth-aware header gate (design D11 / auth Flow A & C): OAuth-capable clients
136
- // get a credential-free, URL-only config so their native RFC 9728 OAuth runs;
137
- // a static Authorization header is written only for a non-OAuth client or an
138
- // explicit PAT opt-in. See `shouldWriteAuthHeader`.
139
- const authRequired = shouldWriteAuthHeader({
140
- hasToken: token.length > 0,
141
- explicitToken,
142
- supportsOAuth: agent.supportsOAuth,
143
- });
144
- const configPath = agent.getConfigPath(projectPath);
142
+ const cloud = isCloudUrl(baseClientUrl);
143
+ if (opts.regenerateKey && (opts.oauth || explicitToken || !cloud)) {
144
+ return {
145
+ kind: 'failure',
146
+ success: false,
147
+ warnings,
148
+ error: new Error('--regenerate-key applies only to a Cloud config without --oauth / --token ' +
149
+ '(project keys are not used for a local server).'),
150
+ };
151
+ }
152
+ // Cloud default (contract §7): resolve the project key unless the caller opted out.
153
+ let key;
154
+ // Regenerate: the key being replaced, read BEFORE the resolver overwrites the cache entry, so the
155
+ // project's other agent configs still holding it can be carried over to the new key (see below).
156
+ let previousKey;
157
+ if (cloud && !explicitToken && !opts.oauth) {
158
+ const issuer = toAuthServerRoot(baseClientUrl);
159
+ if (opts.regenerateKey) {
160
+ const lookup = opts.previousProjectKey ?? ((i, p) => new ProjectKeyStore().get(i, p)?.key);
161
+ previousKey = lookup(issuer, pin);
162
+ }
163
+ const resolver = opts.projectKeyResolver ?? createProjectKeyResolver(godotAdapter);
164
+ const outcome = await resolver({
165
+ issuer,
166
+ pin,
167
+ engine: 'godot',
168
+ label: projectPath,
169
+ machineName: opts.machineName,
170
+ regenerate: opts.regenerateKey === true,
171
+ });
172
+ if (outcome.kind === 'ok') {
173
+ key = outcome;
174
+ warnings.push(...outcome.warnings);
175
+ }
176
+ else if (opts.regenerateKey) {
177
+ return {
178
+ kind: 'failure',
179
+ success: false,
180
+ warnings,
181
+ error: new Error(`Could not regenerate the project key: ${outcome.reason}`),
182
+ };
183
+ }
184
+ else {
185
+ warnings.push(`No project key written (${outcome.reason}) — the config is URL-only and the agent must sign in with its own OAuth. ` +
186
+ 'Sign in on this machine (`godot-cli login`) and run setup-mcp again to write a project key.');
187
+ }
188
+ }
189
+ // OAuth-aware header gate (design D11 / auth Flow A & C): without a project key, OAuth-capable
190
+ // clients get a credential-free, URL-only config so their native RFC 9728 OAuth runs; a static
191
+ // Authorization header is written only for a non-OAuth client or an explicit PAT opt-in. A
192
+ // project key is written for every agent.
193
+ const token = key?.key ?? opts.token ?? normalizeEnv(process.env[ENV_TOKEN]) ?? '';
194
+ const authRequired = key !== undefined ||
195
+ shouldWriteAuthHeader({
196
+ hasToken: token.length > 0,
197
+ explicitToken,
198
+ supportsOAuth: agent.supportsOAuth,
199
+ });
200
+ const configPaths = getAgentConfigPaths(agent, projectPath);
145
201
  const props = agent.getHttpProps(serverUrl, token, authRequired);
146
- // Flow C safety: a static PAT written into a project-scoped config file is a
147
- // VCS leak risk — warn so the user prefers an env var / user-scoped config (or
148
- // relies on native OAuth by omitting the token). Gate on whether a static
149
- // header was ACTUALLY emitted into `props`, not merely on `authRequired`:
150
- // agents whose `getHttpProps` ignore the token (e.g. Codex / Antigravity)
151
- // write no `headers`, so an explicit `--token` there must NOT raise a "leaked
152
- // credential" warning about a header that was never written to the file.
153
- const wroteAuthHeader = Boolean(props.headers);
154
- if (wroteAuthHeader && isInsideProject(projectPath, configPath)) {
155
- warnings.push(`Wrote a static Authorization (PAT) header into the project-scoped config ${configPath}. ` +
156
- `Committing this file would leak the credential — prefer setting ${ENV_TOKEN} in your ` +
157
- `environment or a user-scoped config, or omit the token to use the client's native OAuth.`);
202
+ // Gate on whether a static header was ACTUALLY emitted into `props` (an agent whose format lacks
203
+ // one writes none).
204
+ const headersKey = httpHeadersKeyOf(agent);
205
+ const wroteAuthHeader = Boolean(props[headersKey]);
206
+ const credential = !wroteAuthHeader ? 'none' : key ? 'project-key' : 'token';
207
+ // A config written without a header must not keep a stale one: in Cloud (--oauth, no login, failed
208
+ // mint) it would suppress the client's native OAuth, and re-pointing an entry at a local server must
209
+ // not carry the Cloud project key along.
210
+ const removeKeys = wroteAuthHeader ? agent.httpRemoveKeys : [...agent.httpRemoveKeys, headersKey];
211
+ // Write EVERY config file of the agent (Antigravity has two). One failing must not pass silently,
212
+ // and must not stop the others: each is attempted, then the failures are reported by path.
213
+ const write = agent.configFormat === 'toml' ? writeTomlAgentConfig : writeJsonAgentConfig;
214
+ const written = [];
215
+ const failedWrites = [];
216
+ for (const configPath of configPaths) {
217
+ try {
218
+ write(configPath, agent.bodyPath, MCP_SERVER_NAME, props, removeKeys);
219
+ written.push(configPath);
220
+ emitProgress(opts.onProgress, {
221
+ phase: 'manifest-patched',
222
+ message: `Wrote ${configPath}`,
223
+ manifestPath: configPath,
224
+ });
225
+ }
226
+ catch (err) {
227
+ failedWrites.push(`${configPath} (${err instanceof Error ? err.message : String(err)})`);
228
+ }
158
229
  }
159
- if (agent.configFormat === 'toml') {
160
- writeTomlAgentConfig(configPath, agent.bodyPath, MCP_SERVER_NAME, props, agent.httpRemoveKeys);
230
+ if (failedWrites.length > 0) {
231
+ // The previous key (on a regenerate) is NOT revoked: a config still holds it.
232
+ return {
233
+ kind: 'failure',
234
+ success: false,
235
+ warnings,
236
+ error: new Error(`Could not write ${agent.name} config: ${failedWrites.join('; ')}.` +
237
+ (written.length > 0 ? ` Written: ${written.join(', ')}.` : '') +
238
+ // The new key is already cached, so a later --regenerate-key replaces IT, never this one.
239
+ (key?.revokePrevious
240
+ ? ' The previous project key was NOT revoked; once the config is fixed, re-run setup-mcp ' +
241
+ 'without --regenerate-key and revoke the previous key from your account page.'
242
+ : '')),
243
+ };
161
244
  }
162
- else {
163
- writeJsonAgentConfig(configPath, agent.bodyPath, MCP_SERVER_NAME, props, agent.httpRemoveKeys);
245
+ // Regenerate: the other agent configs that still carry the previous key (pinned or `--no-pin` URL —
246
+ // the key is this project's, whatever URL it sits next to) would break the moment it is revoked (only
247
+ // a regenerate that replaced this account's cached key revokes — `revokePrevious`) — carry the new key into them first. Revoke
248
+ // only when every one of them was rewritten; otherwise keep the old key alive and say which failed.
249
+ const rewrite = key?.revokePrevious && previousKey && previousKey !== key.key
250
+ ? rewriteProjectKeyInAgentConfigs({
251
+ projectPath,
252
+ oldKey: previousKey,
253
+ newKey: key.key,
254
+ skipPaths: written,
255
+ })
256
+ : undefined;
257
+ const revokeBlocked = (rewrite?.failed.length ?? 0) > 0;
258
+ if (rewrite && revokeBlocked) {
259
+ // Not "run --regenerate-key again": the new key is already cached, so a second regenerate would
260
+ // treat IT as the previous key and never revoke (or rewrite configs still holding) this one.
261
+ warnings.push('These agent configs may still carry the previous project key and could not be rewritten, so the previous key ' +
262
+ 'was NOT revoked (fix them, re-run setup-mcp for their agent to write the new key, then revoke the ' +
263
+ `previous key from your account page): ${rewrite.failed.map((f) => `${f.path} (${f.reason})`).join('; ')}.`);
264
+ }
265
+ // Regenerate (§7): only once the new key is cached AND the configs rewritten, revoke the old one.
266
+ // A revoke failure is reported, never fatal.
267
+ if (key?.revokePrevious && !revokeBlocked) {
268
+ try {
269
+ const revokeWarning = await key.revokePrevious();
270
+ if (revokeWarning)
271
+ warnings.push(revokeWarning);
272
+ }
273
+ catch (err) {
274
+ warnings.push(`Revoking the previous project key failed (${err instanceof Error ? err.message : String(err)}).`);
275
+ }
164
276
  }
165
- emitProgress(opts.onProgress, {
166
- phase: 'manifest-patched',
167
- message: `Wrote ${configPath}`,
168
- manifestPath: configPath,
169
- });
170
277
  emitProgress(opts.onProgress, { phase: 'done', message: `${agent.name} configured successfully.` });
171
278
  return {
172
279
  kind: 'success',
173
280
  success: true,
174
281
  agentId: agent.id,
175
- configPath,
282
+ configPath: written[0],
283
+ configPaths: written,
284
+ rewrittenConfigPaths: rewrite?.rewritten ?? [],
176
285
  serverUrl,
177
286
  pinned,
287
+ credential,
288
+ projectKeyId: key?.keyId,
289
+ projectKeySource: key?.source,
178
290
  warnings,
179
291
  };
180
292
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/lib/setup-mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-mcp.js","sourceRoot":"","sources":["../../src/lib/setup-mcp.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ProjectKeyResolver } from '@baizor/gamedev-cli-core';
1
2
  import type { ExtensionDescriptor } from '../utils/extensions-catalog.js';
2
3
  /**
3
4
  * Discriminated union describing every progress event the library can emit to
@@ -106,17 +107,59 @@ export interface SetupMcpOptions {
106
107
  * this project's engine instance. Set `true` to write the unpinned `<base>/mcp` URL instead.
107
108
  */
108
109
  noPin?: boolean;
110
+ /**
111
+ * `--oauth`: write a URL-only Cloud config (the client authorizes natively, RFC 9728) instead of the
112
+ * default project-key header, removing any previously written `Authorization` header.
113
+ */
114
+ oauth?: boolean;
115
+ /**
116
+ * `--regenerate-key`: mint a fresh project key for this project (overwriting the cached one),
117
+ * rewrite the config, then revoke the previous key. Cloud http configs only; fails with `oauth` /
118
+ * an explicit `token` / a local-server URL.
119
+ */
120
+ regenerateKey?: boolean;
121
+ /** Display machine name recorded on a minted project key; defaults to `os.hostname()`. */
122
+ machineName?: string;
123
+ /**
124
+ * Resolves the Cloud project key. Defaults to cli-core's `createProjectKeyResolver(godotAdapter)`
125
+ * over the machine credential store; injectable for tests and for callers that own a credential
126
+ * provider already.
127
+ */
128
+ projectKeyResolver?: ProjectKeyResolver;
129
+ /**
130
+ * `--regenerate-key` only: returns the cached project key being replaced for `(issuer, pin)`, read
131
+ * before the resolver overwrites it, so the project's other agent configs still holding it are
132
+ * rewritten to the new key before it is revoked. Defaults to cli-core's `ProjectKeyStore` (the
133
+ * `~/.ai-game-dev/project-keys.json` cache the default resolver writes); injectable for tests.
134
+ */
135
+ previousProjectKey?: (issuer: string, pin: string) => string | undefined;
109
136
  onProgress?: ProgressCallback;
110
137
  }
138
+ /** The credential a written config carries: an explicit PAT, a Cloud project key, or none (URL-only). */
139
+ export type SetupMcpCredential = 'token' | 'project-key' | 'none';
111
140
  export interface SetupMcpSuccess {
112
141
  kind: 'success';
113
142
  success: true;
114
143
  agentId: string;
144
+ /** The (primary) config file written — `configPaths[0]`. */
115
145
  configPath: string;
146
+ /** Every config file written (Antigravity writes two: `~/.gemini/config/` and `~/.gemini/antigravity/`). */
147
+ configPaths: string[];
148
+ /**
149
+ * `--regenerate-key` only: the OTHER agent configs of this project that carried the previous key and
150
+ * now carry the new one (rewritten before the previous key is revoked). Empty otherwise.
151
+ */
152
+ rewrittenConfigPaths: string[];
116
153
  /** The MCP-client URL written to the config — pinned (`…/mcp/p/<pin-v2>`) unless `noPin`. */
117
154
  serverUrl: string;
118
155
  /** True when the URL carries the `/p/<pin-v2>` routing segment (the default; false with `--no-pin`). */
119
156
  pinned: boolean;
157
+ /** Which credential the written config carries. */
158
+ credential: SetupMcpCredential;
159
+ /** The server-side id of the project key written (credential `project-key` only). */
160
+ projectKeyId?: string;
161
+ /** Whether the project key was reused from the local cache or freshly minted. */
162
+ projectKeySource?: 'reused' | 'minted';
120
163
  warnings: string[];
121
164
  }
122
165
  export interface SetupMcpFailure {
package/dist/lib.d.ts CHANGED
@@ -11,4 +11,4 @@ export { enrollPlugin } from './lib/enroll.js';
11
11
  export { configureAgentViaServer } from './lib/configure-agent.js';
12
12
  export { EXTENSIONS_CATALOG, findExtension, hasVersion } from './utils/extensions-catalog.js';
13
13
  export type { ExtensionDescriptor, ExtensionTool } from './utils/extensions-catalog.js';
14
- export type { ProgressEvent, ProgressCallback, ResultKind, OpenProjectOptions, OpenProjectResult, OpenProjectSuccess, OpenProjectFailure, OpenProjectAuthOption, OpenProjectConnectionMode, BuildProjectOptions, BuildProjectResult, BuildProjectSuccess, BuildProjectFailure, BuildSkipReason, CreateProjectOptions, CreateProjectResult, CreateProjectSuccess, CreateProjectFailure, RunToolOptions, RunToolResult, RunToolSuccess, RunToolFailure, RunToolFailureReason, RunSystemToolOptions, RunSystemToolResult, RunSystemToolSuccess, RunSystemToolFailure, SetupMcpOptions, SetupMcpResult, SetupMcpSuccess, SetupMcpFailure, SetupSkillsOptions, SetupSkillsResult, SetupSkillsSuccess, SetupSkillsFailure, InstallPluginOptions, InstallPluginResult, InstallPluginSuccess, InstallPluginFailure, AddonMaterializeOutcome, CsprojPatchOutcome, RemovePluginOptions, RemovePluginResult, RemovePluginSuccess, RemovePluginFailure, InstallExtensionOptions, InstallExtensionResult, InstallExtensionSuccess, InstallExtensionFailure, ExtensionInstallOutcome, InstallServerOptions, InstallServerResult, InstallServerSuccess, InstallServerFailure, EnrollPluginOptions, EnrollPluginResult, EnrollPluginSuccess, EnrollPluginFailure, ConfigureAgentOptions, ConfigureAgentResult, ConfigureAgentSuccess, ConfigureAgentFailure, } from './lib/types.js';
14
+ export type { ProgressEvent, ProgressCallback, ResultKind, OpenProjectOptions, OpenProjectResult, OpenProjectSuccess, OpenProjectFailure, OpenProjectAuthOption, OpenProjectConnectionMode, BuildProjectOptions, BuildProjectResult, BuildProjectSuccess, BuildProjectFailure, BuildSkipReason, CreateProjectOptions, CreateProjectResult, CreateProjectSuccess, CreateProjectFailure, RunToolOptions, RunToolResult, RunToolSuccess, RunToolFailure, RunToolFailureReason, RunSystemToolOptions, RunSystemToolResult, RunSystemToolSuccess, RunSystemToolFailure, SetupMcpOptions, SetupMcpResult, SetupMcpCredential, SetupMcpSuccess, SetupMcpFailure, SetupSkillsOptions, SetupSkillsResult, SetupSkillsSuccess, SetupSkillsFailure, InstallPluginOptions, InstallPluginResult, InstallPluginSuccess, InstallPluginFailure, AddonMaterializeOutcome, CsprojPatchOutcome, RemovePluginOptions, RemovePluginResult, RemovePluginSuccess, RemovePluginFailure, InstallExtensionOptions, InstallExtensionResult, InstallExtensionSuccess, InstallExtensionFailure, ExtensionInstallOutcome, InstallServerOptions, InstallServerResult, InstallServerSuccess, InstallServerFailure, EnrollPluginOptions, EnrollPluginResult, EnrollPluginSuccess, EnrollPluginFailure, ConfigureAgentOptions, ConfigureAgentResult, ConfigureAgentSuccess, ConfigureAgentFailure, } from './lib/types.js';
@@ -20,7 +20,7 @@
20
20
  */
21
21
  export const ADDON_PACKAGE_REFERENCES = [
22
22
  { id: 'com.IvanMurzak.ReflectorNet', version: '5.4.1' },
23
- { id: 'com.IvanMurzak.McpPlugin', version: '8.4.0' },
23
+ { id: 'com.IvanMurzak.McpPlugin', version: '8.6.0' },
24
24
  ];
25
25
  /**
26
26
  * The exact `<EmbeddedResource>`s the consumer's project `.csproj` needs, single-sourced
@@ -42,13 +42,28 @@ export interface AgentDefinition {
42
42
  * token against a required-auth (typically self-hosted) endpoint (Flow C).
43
43
  */
44
44
  supportsOAuth: boolean;
45
- /** Resolve the absolute config-file path for a given project root. */
45
+ /** Resolve the absolute (primary) config-file path for a given project root. */
46
46
  getConfigPath(projectPath: string): string;
47
+ /**
48
+ * Every config file the entry lives in, when the agent has more than one (Antigravity reads either
49
+ * `~/.gemini/config/mcp_config.json` or `~/.gemini/antigravity/mcp_config.json`, unpredictably per
50
+ * install, so both are written). Absent ⇒ just {@link getConfigPath}. Use {@link getAgentConfigPaths}.
51
+ */
52
+ getConfigPaths?(projectPath: string): string[];
47
53
  /** Build the HTTP server entry written under `bodyPath[MCP_SERVER_NAME]`. */
48
54
  getHttpProps(url: string, token: string, authRequired: boolean): Record<string, unknown>;
49
55
  /** Keys to delete from a pre-existing entry before merging new props. */
50
56
  httpRemoveKeys: string[];
57
+ /**
58
+ * The entry key holding static http headers, when it is not `headers` (Codex: `http_headers`). Used to
59
+ * detect a written `Authorization` header and to clear a stale one from a URL-only Cloud config.
60
+ */
61
+ httpHeadersKey?: string;
51
62
  }
63
+ /** Every config file `agent`'s entry is written to / read from / removed from, primary first. */
64
+ export declare function getAgentConfigPaths(agent: AgentDefinition, projectPath: string): string[];
65
+ /** The entry key an agent's static http headers live under (`headers` unless the agent overrides it). */
66
+ export declare function httpHeadersKeyOf(agent: AgentDefinition): string;
52
67
  declare const MCP_SERVER_NAME = "ai-game-developer";
53
68
  /**
54
69
  * Note on the Unity-only `unity-ai` agent: the Unity CLI registry includes a
@@ -67,8 +82,37 @@ export declare function writeJsonAgentConfig(configPath: string, bodyPath: strin
67
82
  * headers are preserved; the target section is replaced wholesale (so a re-run
68
83
  * is idempotent and stale keys are dropped). Keys in `removeKeys` are never
69
84
  * written. This is a deliberately minimal TOML emitter — Codex's config schema
70
- * here is flat (string/number/bool/array scalars only), so a full TOML library
85
+ * here is flat (string/number/bool/array scalars plus the `http_headers` inline table), so a full TOML library
71
86
  * dependency is unwarranted.
72
87
  */
73
88
  export declare function writeTomlAgentConfig(configPath: string, bodyPath: string, serverName: string, props: Record<string, unknown>, removeKeys: string[]): void;
89
+ /** The outcome of {@link rewriteProjectKeyInAgentConfigs}. */
90
+ export interface ProjectKeyRewriteReport {
91
+ /** Configs whose `Authorization: Bearer <old key>` now carries the new key. */
92
+ rewritten: string[];
93
+ /** Configs that carry (or may carry) the old key but could not be rewritten, with the reason. */
94
+ failed: {
95
+ path: string;
96
+ reason: string;
97
+ }[];
98
+ }
99
+ /**
100
+ * `setup-mcp <agent> --regenerate-key` rewrites ONE agent's config and then revokes the previous key —
101
+ * which would break every OTHER agent config of this project still holding it. This carries the new key
102
+ * into each of them first: every EXISTING config of every registered agent (all of an agent's
103
+ * {@link getAgentConfigPaths}) whose `ai-game-developer` entry carries a static `Authorization` header of
104
+ * exactly `Bearer <oldKey>` gets that header value replaced — whatever URL the entry points at (pinned, or
105
+ * unpinned via `--no-pin`): the key is this project's secret, so any entry holding it breaks on revoke.
106
+ * The other entries and fields are kept (a JSON file is re-serialized with 2-space indentation).
107
+ * `skipPaths` (the configs the regenerate just wrote) are left alone. A config that holds the old key but
108
+ * cannot be read, parsed or written — or still holds it outside that header (another entry, a renamed
109
+ * entry, a hand-written TOML sub-table) — is reported in `failed`, so the caller can keep the old key
110
+ * alive instead of revoking it. Never throws.
111
+ */
112
+ export declare function rewriteProjectKeyInAgentConfigs(opts: {
113
+ projectPath: string;
114
+ oldKey: string;
115
+ newKey: string;
116
+ skipPaths: readonly string[];
117
+ }): ProjectKeyRewriteReport;
74
118
  export { MCP_SERVER_NAME };
@@ -2,6 +2,14 @@ import chalk from 'chalk';
2
2
  import * as fs from 'fs';
3
3
  import * as os from 'os';
4
4
  import * as path from 'path';
5
+ /** Every config file `agent`'s entry is written to / read from / removed from, primary first. */
6
+ export function getAgentConfigPaths(agent, projectPath) {
7
+ return agent.getConfigPaths?.(projectPath) ?? [agent.getConfigPath(projectPath)];
8
+ }
9
+ /** The entry key an agent's static http headers live under (`headers` unless the agent overrides it). */
10
+ export function httpHeadersKeyOf(agent) {
11
+ return agent.httpHeadersKey ?? 'headers';
12
+ }
5
13
  // ---------------------------------------------------------------------------
6
14
  // Platform helpers
7
15
  // ---------------------------------------------------------------------------
@@ -17,6 +25,16 @@ function isWindows() {
17
25
  function isMac() {
18
26
  return process.platform === 'darwin';
19
27
  }
28
+ /**
29
+ * Antigravity's global MCP config lives in ONE of two places and which one is not predictable (it
30
+ * differs per machine/install, not per OS), so the entry is written to both. Primary first.
31
+ */
32
+ function antigravityConfigPaths() {
33
+ return [
34
+ path.join(home(), '.gemini', 'config', 'mcp_config.json'),
35
+ path.join(home(), '.gemini', 'antigravity', 'mcp_config.json'),
36
+ ];
37
+ }
20
38
  /**
21
39
  * Build the optional `headers` object for an HTTP server entry. Emits a Bearer
22
40
  * `Authorization` header ONLY when `authRequired` is set AND a non-empty token is
@@ -33,6 +51,11 @@ function authHeaders(token, authRequired) {
33
51
  }
34
52
  return undefined;
35
53
  }
54
+ /** `{ [key]: <Bearer header> }` when {@link authHeaders} emits one, else `{}` — for spreading into props. */
55
+ function headersProp(key, token, authRequired) {
56
+ const headers = authHeaders(token, authRequired);
57
+ return headers ? { [key]: headers } : {};
58
+ }
36
59
  // ---------------------------------------------------------------------------
37
60
  // Agent Registry
38
61
  // ---------------------------------------------------------------------------
@@ -57,7 +80,7 @@ export const agentRegistry = [
57
80
  getHttpProps: (url, token, authRequired) => ({
58
81
  type: 'http',
59
82
  url,
60
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
83
+ ...headersProp('headers', token, authRequired),
61
84
  }),
62
85
  httpRemoveKeys: ['command', 'args'],
63
86
  },
@@ -82,7 +105,7 @@ export const agentRegistry = [
82
105
  getHttpProps: (url, token, authRequired) => ({
83
106
  type: 'http',
84
107
  url,
85
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
108
+ ...headersProp('headers', token, authRequired),
86
109
  }),
87
110
  httpRemoveKeys: ['command', 'args'],
88
111
  },
@@ -99,7 +122,7 @@ export const agentRegistry = [
99
122
  getHttpProps: (url, token, authRequired) => ({
100
123
  type: 'http',
101
124
  url,
102
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
125
+ ...headersProp('headers', token, authRequired),
103
126
  }),
104
127
  httpRemoveKeys: ['command', 'args'],
105
128
  },
@@ -116,7 +139,7 @@ export const agentRegistry = [
116
139
  getHttpProps: (url, token, authRequired) => ({
117
140
  type: 'http',
118
141
  url,
119
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
142
+ ...headersProp('headers', token, authRequired),
120
143
  }),
121
144
  httpRemoveKeys: ['command', 'args'],
122
145
  },
@@ -133,7 +156,7 @@ export const agentRegistry = [
133
156
  getHttpProps: (url, token, authRequired) => ({
134
157
  type: 'http',
135
158
  url,
136
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
159
+ ...headersProp('headers', token, authRequired),
137
160
  }),
138
161
  httpRemoveKeys: ['command', 'args'],
139
162
  },
@@ -151,7 +174,7 @@ export const agentRegistry = [
151
174
  enabled: true,
152
175
  type: 'http',
153
176
  url,
154
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
177
+ ...headersProp('headers', token, authRequired),
155
178
  }),
156
179
  httpRemoveKeys: ['disabled', 'command', 'args'],
157
180
  },
@@ -169,7 +192,7 @@ export const agentRegistry = [
169
192
  type: 'http',
170
193
  url,
171
194
  tools: ['*'],
172
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
195
+ ...headersProp('headers', token, authRequired),
173
196
  }),
174
197
  httpRemoveKeys: ['command', 'args'],
175
198
  },
@@ -186,7 +209,7 @@ export const agentRegistry = [
186
209
  getHttpProps: (url, token, authRequired) => ({
187
210
  type: 'http',
188
211
  url,
189
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
212
+ ...headersProp('headers', token, authRequired),
190
213
  }),
191
214
  httpRemoveKeys: ['command', 'args'],
192
215
  },
@@ -196,14 +219,16 @@ export const agentRegistry = [
196
219
  name: 'Antigravity',
197
220
  supportsOAuth: true,
198
221
  skillsPath: '.agent/skills',
199
- configPathDisplay: '~/.gemini/config/mcp_config.json',
222
+ configPathDisplay: '~/.gemini/config/mcp_config.json + ~/.gemini/antigravity/mcp_config.json',
200
223
  configFormat: 'json',
201
224
  bodyPath: 'mcpServers',
202
- getConfigPath: () => path.join(home(), '.gemini', 'config', 'mcp_config.json'),
203
- // Antigravity uses a `serverUrl` key (not `url`) and a `disabled` flag.
204
- getHttpProps: (url, _token, _authRequired) => ({
225
+ getConfigPath: () => antigravityConfigPaths()[0],
226
+ getConfigPaths: () => antigravityConfigPaths(),
227
+ // Antigravity uses a `serverUrl` key (not `url`), a `disabled` flag, and static `headers`.
228
+ getHttpProps: (url, token, authRequired) => ({
205
229
  disabled: false,
206
230
  serverUrl: url,
231
+ ...headersProp('headers', token, authRequired),
207
232
  }),
208
233
  httpRemoveKeys: ['command', 'args', 'url', 'type'],
209
234
  },
@@ -228,7 +253,7 @@ export const agentRegistry = [
228
253
  getHttpProps: (url, token, authRequired) => ({
229
254
  type: 'streamableHttp',
230
255
  url,
231
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
256
+ ...headersProp('headers', token, authRequired),
232
257
  }),
233
258
  httpRemoveKeys: ['command', 'args'],
234
259
  },
@@ -246,7 +271,7 @@ export const agentRegistry = [
246
271
  type: 'remote',
247
272
  enabled: true,
248
273
  url,
249
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
274
+ ...headersProp('headers', token, authRequired),
250
275
  }),
251
276
  httpRemoveKeys: ['command', 'args'],
252
277
  },
@@ -260,13 +285,17 @@ export const agentRegistry = [
260
285
  configFormat: 'toml',
261
286
  bodyPath: 'mcp_servers',
262
287
  getConfigPath: (p) => path.join(p, '.codex', 'config.toml'),
263
- getHttpProps: (url, _token, _authRequired) => ({
288
+ // Codex takes static http headers from the `http_headers` inline table (project-keys contract §7);
289
+ // the section is rewritten wholesale, so a legacy `bearer_token_env_var` never coexists with it.
290
+ getHttpProps: (url, token, authRequired) => ({
264
291
  enabled: true,
265
292
  url,
266
293
  tool_timeout_sec: 300,
267
294
  startup_timeout_sec: 30,
295
+ ...headersProp('http_headers', token, authRequired),
268
296
  }),
269
297
  httpRemoveKeys: ['command', 'args', 'type'],
298
+ httpHeadersKey: 'http_headers',
270
299
  },
271
300
  // ── Kilo Code ───────────────────────────────────────────────
272
301
  {
@@ -282,7 +311,7 @@ export const agentRegistry = [
282
311
  type: 'streamable-http',
283
312
  disabled: false,
284
313
  url,
285
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
314
+ ...headersProp('headers', token, authRequired),
286
315
  }),
287
316
  httpRemoveKeys: ['command', 'args'],
288
317
  },
@@ -299,7 +328,7 @@ export const agentRegistry = [
299
328
  getHttpProps: (url, token, authRequired) => ({
300
329
  type: 'http',
301
330
  url,
302
- ...(authHeaders(token, authRequired) ? { headers: authHeaders(token, authRequired) } : {}),
331
+ ...headersProp('headers', token, authRequired),
303
332
  }),
304
333
  httpRemoveKeys: ['command', 'args'],
305
334
  },
@@ -390,7 +419,7 @@ export function writeJsonAgentConfig(configPath, bodyPath, serverName, props, re
390
419
  * headers are preserved; the target section is replaced wholesale (so a re-run
391
420
  * is idempotent and stale keys are dropped). Keys in `removeKeys` are never
392
421
  * written. This is a deliberately minimal TOML emitter — Codex's config schema
393
- * here is flat (string/number/bool/array scalars only), so a full TOML library
422
+ * here is flat (string/number/bool/array scalars plus the `http_headers` inline table), so a full TOML library
394
423
  * dependency is unwarranted.
395
424
  */
396
425
  export function writeTomlAgentConfig(configPath, bodyPath, serverName, props, removeKeys) {
@@ -404,6 +433,11 @@ export function writeTomlAgentConfig(configPath, bodyPath, serverName, props, re
404
433
  lines = fs.readFileSync(configPath, 'utf-8').split('\n');
405
434
  }
406
435
  const sectionHeader = `[${bodyPath}.${serverName}]`;
436
+ // The entry is owned wholesale, so drop its sub-tables too (e.g. a hand-written
437
+ // `[mcp_servers.<name>.http_headers]`): leaving one beside the inline
438
+ // `http_headers = {…}` is a duplicate key (invalid TOML), and on a URL-only
439
+ // write it would keep a stale Authorization header.
440
+ lines = removeTomlSubTables(lines, `[${bodyPath}.${serverName}.`);
407
441
  // Find existing section boundaries
408
442
  const sectionIdx = lines.findIndex((l) => l.trim() === sectionHeader);
409
443
  // Build TOML key-value pairs for the section
@@ -433,6 +467,23 @@ export function writeTomlAgentConfig(configPath, bodyPath, serverName, props, re
433
467
  }
434
468
  fs.writeFileSync(configPath, lines.join('\n') + '\n');
435
469
  }
470
+ /** Remove every `[<prefix>…]` table (header line through the line before the next header). */
471
+ function removeTomlSubTables(lines, headerPrefix) {
472
+ const out = [];
473
+ let skipping = false;
474
+ for (const line of lines) {
475
+ const trimmed = line.trim();
476
+ if (trimmed.startsWith('['))
477
+ skipping = trimmed.startsWith(headerPrefix);
478
+ if (!skipping)
479
+ out.push(line);
480
+ }
481
+ return out;
482
+ }
483
+ /** A TOML key: bare when it is a valid bare key, else a quoted string. */
484
+ function tomlKey(k) {
485
+ return /^[A-Za-z0-9_-]+$/.test(k) ? k : tomlValue(k);
486
+ }
436
487
  function tomlValue(v) {
437
488
  if (typeof v === 'string')
438
489
  return `"${v.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
@@ -451,10 +502,111 @@ function tomlValue(v) {
451
502
  if (Array.isArray(v)) {
452
503
  return `[${v.map(tomlValue).join(', ')}]`;
453
504
  }
454
- // null/undefined/object have no valid TOML scalar form here; emit a quoted
505
+ if (v && typeof v === 'object') {
506
+ // An inline table of string values (Codex `http_headers`).
507
+ const pairs = Object.entries(v).map(([k, val]) => `${tomlKey(k)} = ${tomlValue(val)}`);
508
+ return `{ ${pairs.join(', ')} }`;
509
+ }
510
+ // null/undefined have no valid TOML scalar form here; emit a quoted
455
511
  // string so we never produce an invalid bare token (the Codex schema only
456
- // feeds string/number/bool/array scalars, so this is a defensive fallback).
512
+ // feeds string/number/bool/array scalars and string tables, so this is a defensive fallback).
457
513
  return `"${String(v).replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
458
514
  }
515
+ /**
516
+ * `setup-mcp <agent> --regenerate-key` rewrites ONE agent's config and then revokes the previous key —
517
+ * which would break every OTHER agent config of this project still holding it. This carries the new key
518
+ * into each of them first: every EXISTING config of every registered agent (all of an agent's
519
+ * {@link getAgentConfigPaths}) whose `ai-game-developer` entry carries a static `Authorization` header of
520
+ * exactly `Bearer <oldKey>` gets that header value replaced — whatever URL the entry points at (pinned, or
521
+ * unpinned via `--no-pin`): the key is this project's secret, so any entry holding it breaks on revoke.
522
+ * The other entries and fields are kept (a JSON file is re-serialized with 2-space indentation).
523
+ * `skipPaths` (the configs the regenerate just wrote) are left alone. A config that holds the old key but
524
+ * cannot be read, parsed or written — or still holds it outside that header (another entry, a renamed
525
+ * entry, a hand-written TOML sub-table) — is reported in `failed`, so the caller can keep the old key
526
+ * alive instead of revoking it. Never throws.
527
+ */
528
+ export function rewriteProjectKeyInAgentConfigs(opts) {
529
+ const report = { rewritten: [], failed: [] };
530
+ const seen = new Set(opts.skipPaths.map((p) => path.resolve(p)));
531
+ for (const agent of agentRegistry) {
532
+ let paths;
533
+ try {
534
+ paths = getAgentConfigPaths(agent, opts.projectPath);
535
+ }
536
+ catch {
537
+ continue;
538
+ }
539
+ for (const configPath of paths) {
540
+ const resolved = path.resolve(configPath);
541
+ if (seen.has(resolved))
542
+ continue;
543
+ seen.add(resolved);
544
+ try {
545
+ let text;
546
+ try {
547
+ text = fs.readFileSync(resolved, 'utf-8');
548
+ }
549
+ catch (err) {
550
+ if (err.code === 'ENOENT')
551
+ continue;
552
+ throw err;
553
+ }
554
+ if (!text.includes(opts.oldKey))
555
+ continue;
556
+ const next = agent.configFormat === 'toml'
557
+ ? rewriteKeyInToml(text, agent.bodyPath, opts)
558
+ : rewriteKeyInJson(text, agent.bodyPath, opts);
559
+ if (next !== null) {
560
+ fs.writeFileSync(resolved, next);
561
+ report.rewritten.push(resolved);
562
+ }
563
+ // The old key is still in the file outside the rewritten header — revoking it would break that use.
564
+ if ((next ?? text).includes(opts.oldKey)) {
565
+ report.failed.push({ path: resolved, reason: `holds the previous key outside its ${MCP_SERVER_NAME} Authorization header` });
566
+ }
567
+ }
568
+ catch (err) {
569
+ report.failed.push({ path: resolved, reason: err instanceof Error ? err.message : String(err) });
570
+ }
571
+ }
572
+ }
573
+ return report;
574
+ }
575
+ /** The rewritten JSON text, or null when the entry does not carry the old key in its header. Throws on bad JSON. */
576
+ function rewriteKeyInJson(text, bodyPath, opts) {
577
+ // A UTF-8 BOM (Visual Studio writes one into `.vs/mcp.json`) is not JSON — strip it before parsing.
578
+ const root = JSON.parse(text.replace(/^\uFEFF/, ''));
579
+ const entry = asRecord(asRecord(root)?.[bodyPath])?.[MCP_SERVER_NAME];
580
+ const record = asRecord(entry);
581
+ if (!record)
582
+ return null;
583
+ // JSON agents all keep static headers under `headers` (only the TOML Codex entry uses `http_headers`).
584
+ const headers = asRecord(record['headers']);
585
+ if (!headers || headers['Authorization'] !== `Bearer ${opts.oldKey}`)
586
+ return null;
587
+ headers['Authorization'] = `Bearer ${opts.newKey}`;
588
+ return JSON.stringify(root, null, 2) + '\n';
589
+ }
590
+ /** The rewritten Codex TOML text, or null when the section does not carry the old key in its header. */
591
+ function rewriteKeyInToml(text, bodyPath, opts) {
592
+ const lines = text.split('\n');
593
+ const start = lines.findIndex((l) => l.trim() === `[${bodyPath}.${MCP_SERVER_NAME}]`);
594
+ if (start < 0)
595
+ return null;
596
+ let end = start + 1;
597
+ while (end < lines.length && !lines[end].trim().startsWith('['))
598
+ end++;
599
+ const section = lines.slice(start + 1, end);
600
+ const oldValue = `"Bearer ${opts.oldKey}"`;
601
+ const headerIdx = section.findIndex((l) => /^\s*http_headers\s*=/.test(l) && l.includes(oldValue));
602
+ if (headerIdx < 0)
603
+ return null;
604
+ // A replacer FUNCTION, not a string: a replacement string would expand `$&`/`$'`/`$$` inside the key.
605
+ lines[start + 1 + headerIdx] = section[headerIdx].replace(oldValue, () => `"Bearer ${opts.newKey}"`);
606
+ return lines.join('\n');
607
+ }
608
+ function asRecord(value) {
609
+ return value && typeof value === 'object' && !Array.isArray(value) ? value : undefined;
610
+ }
459
611
  export { MCP_SERVER_NAME };
460
612
  //# sourceMappingURL=agents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/utils/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/utils/agents.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import { PIN_LENGTH } from './project-identity.js';
4
- import { agentRegistry, MCP_SERVER_NAME } from './agents.js';
4
+ import { agentRegistry, getAgentConfigPaths, MCP_SERVER_NAME } from './agents.js';
5
5
  /**
6
6
  * The tool-neutral, committable **project marker** `<project>/.ai-game-dev/project.json`
7
7
  * (design 06 / D15). It is NON-secret — credentials NEVER go here — and records:
@@ -116,30 +116,32 @@ function isProjectLocalConfig(configPath, projectPath) {
116
116
  export function upsertPinIntoAgentConfigs(projectPath, pin) {
117
117
  const updated = [];
118
118
  for (const agent of agentRegistry) {
119
- let configPath;
119
+ let configPaths;
120
120
  try {
121
- configPath = agent.getConfigPath(projectPath);
121
+ configPaths = getAgentConfigPaths(agent, projectPath);
122
122
  }
123
123
  catch {
124
124
  continue;
125
125
  }
126
- if (!isProjectLocalConfig(configPath, projectPath))
127
- continue;
128
- if (!fs.existsSync(configPath))
129
- continue;
130
- try {
131
- if (agent.configFormat === 'toml') {
132
- if (upsertPinInTomlConfig(configPath, pin))
133
- updated.push(configPath);
126
+ for (const configPath of configPaths) {
127
+ if (!isProjectLocalConfig(configPath, projectPath))
128
+ continue;
129
+ if (!fs.existsSync(configPath))
130
+ continue;
131
+ try {
132
+ if (agent.configFormat === 'toml') {
133
+ if (upsertPinInTomlConfig(configPath, pin))
134
+ updated.push(configPath);
135
+ }
136
+ else {
137
+ if (upsertPinInJsonConfig(configPath, agent.bodyPath, pin))
138
+ updated.push(configPath);
139
+ }
134
140
  }
135
- else {
136
- if (upsertPinInJsonConfig(configPath, agent.bodyPath, pin))
137
- updated.push(configPath);
141
+ catch {
142
+ // Best-effort: a single unreadable/malformed config never fails enrollment.
138
143
  }
139
144
  }
140
- catch {
141
- // Best-effort: a single unreadable/malformed config never fails enrollment.
142
- }
143
145
  }
144
146
  return updated;
145
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-marker.js","sourceRoot":"","sources":["../../src/utils/project-marker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-marker.js","sourceRoot":"","sources":["../../src/utils/project-marker.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * download entirely (offline / CI). Bumping the addon's server pin requires
6
6
  * bumping this in the same PR or the parity test goes red.
7
7
  */
8
- export declare const DEFAULT_SERVER_VERSION = "9.2.7";
8
+ export declare const DEFAULT_SERVER_VERSION = "9.2.9";
9
9
  /** GitHub-release host the server zip + manifest are downloaded from. NOTHING else is trusted. */
10
10
  export declare const TRUSTED_DOWNLOAD_HOST = "github.com";
11
11
  /** The `owner/repo` the shared server releases live under. */
@@ -18,7 +18,7 @@ import { createHash } from 'crypto';
18
18
  * download entirely (offline / CI). Bumping the addon's server pin requires
19
19
  * bumping this in the same PR or the parity test goes red.
20
20
  */
21
- export const DEFAULT_SERVER_VERSION = '9.2.7';
21
+ export const DEFAULT_SERVER_VERSION = '9.2.9';
22
22
  /** GitHub-release host the server zip + manifest are downloaded from. NOTHING else is trusted. */
23
23
  export const TRUSTED_DOWNLOAD_HOST = 'github.com';
24
24
  /** The `owner/repo` the shared server releases live under. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "godot-cli",
3
- "version": "0.23.0",
3
+ "version": "0.25.0",
4
4
  "description": "Cross-platform CLI tool for Godot-MCP (Skills & MCP). Resolves and launches the Godot editor with MCP connection env vars, runs MCP/system tools over HTTP, probes server health, configures AI agents (Claude Code, Cursor, VS Code, …), and enables/disables the godot_mcp addon. Works with Claude Code, Cursor, Copilot, and any MCP client.",
5
5
  "type": "module",
6
6
  "main": "dist/lib.js",
@@ -62,7 +62,7 @@
62
62
  "node": "^20.19.0 || >=22.12.0"
63
63
  },
64
64
  "dependencies": {
65
- "@baizor/gamedev-cli-core": "^0.4.2",
65
+ "@baizor/gamedev-cli-core": "^0.6.0",
66
66
  "chalk": "^5.6.2",
67
67
  "commander": "^13.1.0",
68
68
  "yocto-spinner": "^1.1.0"