@hashicorp/kits 0.1.19 → 0.1.20

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
@@ -57,7 +57,7 @@ Kits can be installed at two scopes:
57
57
  - **Global** (`--global`): user-level installs (e.g., `~/.claude/`), available across projects.
58
58
  - **Project** (`--project`): repo-level installs (e.g., `.claude/`), scoped to the current project.
59
59
 
60
- **Scope limitations:** Some harnesses limit which primitives are supported at project scope. For example, Codex commands and MCP are global-only, and GitHub Copilot hooks are project-only.
60
+ **Scope limitations:** Some harnesses limit which primitives are supported at project scope. For example, GitHub Copilot commands and hooks are project-only.
61
61
 
62
62
  Hook programs are stored in the kit hook store:
63
63
  - Global scope: `~/.agents/hooks/`
@@ -129,6 +129,7 @@ npm install
129
129
  npm run build
130
130
  npm run typecheck
131
131
  npm run lint
132
+ npm run check:schema-versioning
132
133
  npm test
133
134
  npm run test:integration
134
135
  ```
@@ -34,7 +34,7 @@ export declare class ClaudeCodeAdapter extends BaseAdapter {
34
34
  readonly name = "claude-code";
35
35
  readonly displayName = "Claude Code";
36
36
  readonly version = "1.0.0";
37
- readonly supportedHarnessVersions = ">=1.0.0";
37
+ readonly supportedHarnessVersions = ">=2.0.0";
38
38
  /**
39
39
  * Get supported installation scopes.
40
40
  *
@@ -40,7 +40,7 @@ export class ClaudeCodeAdapter extends BaseAdapter {
40
40
  name = "claude-code";
41
41
  displayName = "Claude Code";
42
42
  version = "1.0.0";
43
- supportedHarnessVersions = ">=1.0.0";
43
+ supportedHarnessVersions = ">=2.0.0";
44
44
  /**
45
45
  * Get supported installation scopes.
46
46
  *
@@ -14,7 +14,6 @@ export declare const CODEX_PATHS: {
14
14
  readonly configToml: "~/.codex/config.toml";
15
15
  readonly prompts: "~/.codex/prompts/";
16
16
  readonly skills: "~/.codex/skills/";
17
- readonly mcp: "~/.codex/mcp.json";
18
17
  };
19
18
  /**
20
19
  * Check if the codex binary is available in PATH.
@@ -29,9 +28,11 @@ export declare function getCodexVersion(): Promise<string | undefined>;
29
28
  */
30
29
  export declare function checkConfigToml(): boolean;
31
30
  /**
32
- * Check if the Codex MCP configuration file exists.
31
+ * Check if Codex MCP configuration exists.
32
+ *
33
+ * MCP is configured inside config.toml.
33
34
  */
34
- export declare function checkMcpJson(): boolean;
35
+ export declare function checkMcpConfig(): boolean;
35
36
  /**
36
37
  * Check if installation directories exist.
37
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKtE;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOzD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CASnE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAOA;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAaxE;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC,CA+C5D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,iBAAiB,CAM7D"}
1
+ {"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKtE;;GAEG;AACH,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOzD;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CASnE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAOA;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAaxE;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC,CA+C5D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,iBAAiB,CAM7D"}
@@ -17,7 +17,6 @@ export const CODEX_PATHS = {
17
17
  configToml: "~/.codex/config.toml",
18
18
  prompts: "~/.codex/prompts/",
19
19
  skills: "~/.codex/skills/",
20
- mcp: "~/.codex/mcp.json",
21
20
  };
22
21
  /**
23
22
  * Check if the codex binary is available in PATH.
@@ -52,10 +51,12 @@ export function checkConfigToml() {
52
51
  return pathExists(CODEX_PATHS.configToml);
53
52
  }
54
53
  /**
55
- * Check if the Codex MCP configuration file exists.
54
+ * Check if Codex MCP configuration exists.
55
+ *
56
+ * MCP is configured inside config.toml.
56
57
  */
57
- export function checkMcpJson() {
58
- return pathExists(CODEX_PATHS.mcp);
58
+ export function checkMcpConfig() {
59
+ return pathExists(CODEX_PATHS.configToml);
59
60
  }
60
61
  /**
61
62
  * Check if installation directories exist.
@@ -96,7 +97,7 @@ export async function detectCodex() {
96
97
  const [hasBinary, hasConfig, hasMcp] = await Promise.all([
97
98
  checkCodexBinary(),
98
99
  Promise.resolve(checkConfigToml()),
99
- Promise.resolve(checkMcpJson()),
100
+ Promise.resolve(checkMcpConfig()),
100
101
  ]);
101
102
  const detected = hasBinary || hasConfig;
102
103
  if (!detected) {
@@ -1 +1 @@
1
- {"version":3,"file":"detection.js","sourceRoot":"","sources":["../../../src/adapters/codex/detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detection.js","sourceRoot":"","sources":["../../../src/adapters/codex/detection.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Codex is an AI coding assistant with support for:
5
5
  * - Commands: ~/.codex/prompts/{kit}.{name}.md
6
6
  * - Skills: ~/.codex/skills/{kit}.{name}/
7
- * - MCP Servers: ~/.codex/mcp.json
7
+ * - MCP Servers: ~/.codex/config.toml
8
8
  *
9
9
  * Codex does NOT support:
10
10
  * - Subagents
@@ -17,12 +17,10 @@ import { BaseAdapter } from "../base-adapter.js";
17
17
  import type { CompletedOperation } from "../file-operations.js";
18
18
  /**
19
19
  * Project-scope paths for Codex.
20
- *
21
- * Note: Codex only supports skills at project scope.
22
- * Commands and MCP are global-only.
23
20
  */
24
21
  export declare const CODEX_PROJECT_PATHS: {
25
22
  readonly configToml: ".codex/config.toml";
23
+ readonly prompts: ".codex/prompts/";
26
24
  readonly skills: ".codex/skills/";
27
25
  };
28
26
  /**
@@ -30,9 +28,6 @@ export declare const CODEX_PROJECT_PATHS: {
30
28
  *
31
29
  * Provides support for commands, skills, and MCP servers.
32
30
  * Does not support subagents or hooks.
33
- *
34
- * IMPORTANT: At project scope, Codex only supports skills.
35
- * Commands and MCP servers are global-only.
36
31
  */
37
32
  export declare class CodexAdapter extends BaseAdapter {
38
33
  readonly name = "codex";
@@ -41,21 +36,14 @@ export declare class CodexAdapter extends BaseAdapter {
41
36
  readonly supportedHarnessVersions = ">=1.0.0";
42
37
  /**
43
38
  * Get supported installation scopes.
44
- *
45
- * Codex supports both global and project scopes,
46
- * but with different primitive support at each scope.
47
39
  */
48
40
  getSupportedScopes(): InstallationScope[];
49
41
  /**
50
42
  * Get supported primitive types at the given scope.
51
43
  *
52
- * Codex supports:
53
- * - Global: commands, skills, mcp
54
- * - Project: skills only (commands and mcp are global-only)
55
- *
56
44
  * @param scope - Installation scope (defaults to "global")
57
45
  */
58
- getSupportedPrimitives(scope?: InstallationScope): PrimitiveType[];
46
+ getSupportedPrimitives(_scope?: InstallationScope): PrimitiveType[];
59
47
  /**
60
48
  * Get installation paths for file-based primitives.
61
49
  *
@@ -138,7 +126,6 @@ export declare class CodexAdapter extends BaseAdapter {
138
126
  * Update harness configuration for MCP servers.
139
127
  *
140
128
  * Codex only needs MCP configuration updates (no hooks support).
141
- * MCP is only supported at global scope.
142
129
  *
143
130
  * @param kit - Kit manifest
144
131
  * @param resolvedPrimitives - Resolved primitives to install
@@ -147,14 +134,14 @@ export declare class CodexAdapter extends BaseAdapter {
147
134
  * @param scope - Installation scope
148
135
  * @param projectRoot - Project root for project scope
149
136
  */
150
- protected updateConfiguration(kit: KitManifest, resolvedPrimitives: ResolvedPrimitive[], dryRun: boolean, completedOps: CompletedOperation[], scope?: InstallationScope, _projectRoot?: string, envResolutions?: EnvVarResolutionResult[]): Promise<{
137
+ protected updateConfiguration(kit: KitManifest, resolvedPrimitives: ResolvedPrimitive[], dryRun: boolean, completedOps: CompletedOperation[], scope?: InstallationScope, projectRoot?: string, envResolutions?: EnvVarResolutionResult[]): Promise<{
151
138
  operations: FileOperationResult[];
152
139
  }>;
153
140
  /**
154
141
  * Install MCP servers to configuration.
155
142
  */
156
143
  private installMcpServers;
157
- removeMcpServers(instanceNames: string[], scope?: InstallationScope): Promise<string[]>;
144
+ removeMcpServers(instanceNames: string[], scope?: InstallationScope, projectRoot?: string): Promise<string[]>;
158
145
  }
159
146
  /**
160
147
  * Create a Codex adapter instance.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/index.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,13 @@
4
4
  * Codex is an AI coding assistant with support for:
5
5
  * - Commands: ~/.codex/prompts/{kit}.{name}.md
6
6
  * - Skills: ~/.codex/skills/{kit}.{name}/
7
- * - MCP Servers: ~/.codex/mcp.json
7
+ * - MCP Servers: ~/.codex/config.toml
8
8
  *
9
9
  * Codex does NOT support:
10
10
  * - Subagents
11
11
  * - Hooks
12
12
  */
13
+ import * as path from "node:path";
13
14
  import { BaseAdapter } from "../base-adapter.js";
14
15
  import { expandPath, pathExists, readFile } from "../file-operations.js";
15
16
  import { filterFrontmatterAllowlist, toKebabCaseSkillFrontmatter } from "../skill-frontmatter.js";
@@ -20,12 +21,10 @@ import { codexModelMapping } from "./model-mapping.js";
20
21
  import { transformMcpServerConfig, transformEnvVars as installerTransformEnvVars, transformHeaders as installerTransformHeaders, readMcpConfig, writeMcpConfig, } from "./installer.js";
21
22
  /**
22
23
  * Project-scope paths for Codex.
23
- *
24
- * Note: Codex only supports skills at project scope.
25
- * Commands and MCP are global-only.
26
24
  */
27
25
  export const CODEX_PROJECT_PATHS = {
28
26
  configToml: ".codex/config.toml",
27
+ prompts: ".codex/prompts/",
29
28
  skills: ".codex/skills/",
30
29
  };
31
30
  /**
@@ -33,9 +32,6 @@ export const CODEX_PROJECT_PATHS = {
33
32
  *
34
33
  * Provides support for commands, skills, and MCP servers.
35
34
  * Does not support subagents or hooks.
36
- *
37
- * IMPORTANT: At project scope, Codex only supports skills.
38
- * Commands and MCP servers are global-only.
39
35
  */
40
36
  export class CodexAdapter extends BaseAdapter {
41
37
  name = "codex";
@@ -44,9 +40,6 @@ export class CodexAdapter extends BaseAdapter {
44
40
  supportedHarnessVersions = ">=1.0.0";
45
41
  /**
46
42
  * Get supported installation scopes.
47
- *
48
- * Codex supports both global and project scopes,
49
- * but with different primitive support at each scope.
50
43
  */
51
44
  getSupportedScopes() {
52
45
  return ["global", "project"];
@@ -54,17 +47,9 @@ export class CodexAdapter extends BaseAdapter {
54
47
  /**
55
48
  * Get supported primitive types at the given scope.
56
49
  *
57
- * Codex supports:
58
- * - Global: commands, skills, mcp
59
- * - Project: skills only (commands and mcp are global-only)
60
- *
61
50
  * @param scope - Installation scope (defaults to "global")
62
51
  */
63
- getSupportedPrimitives(scope) {
64
- if (scope === "project") {
65
- // Codex only supports skills at project scope
66
- return ["skills"];
67
- }
52
+ getSupportedPrimitives(_scope) {
68
53
  return ["commands", "skills", "mcp"];
69
54
  }
70
55
  /**
@@ -75,7 +60,7 @@ export class CodexAdapter extends BaseAdapter {
75
60
  getInstallationPaths(scope) {
76
61
  if (scope === "project") {
77
62
  return {
78
- commands: "", // Not supported at project scope
63
+ commands: CODEX_PROJECT_PATHS.prompts,
79
64
  skills: CODEX_PROJECT_PATHS.skills,
80
65
  // Codex does not support subagents or hooks
81
66
  };
@@ -91,13 +76,13 @@ export class CodexAdapter extends BaseAdapter {
91
76
  if (scope === "project") {
92
77
  return {
93
78
  primary: CODEX_PROJECT_PATHS.configToml,
94
- // No MCP at project scope
79
+ mcp: CODEX_PROJECT_PATHS.configToml,
95
80
  format: "toml",
96
81
  };
97
82
  }
98
83
  return {
99
84
  primary: CODEX_PATHS.configToml,
100
- mcp: CODEX_PATHS.mcp,
85
+ mcp: CODEX_PATHS.configToml,
101
86
  format: "toml",
102
87
  };
103
88
  }
@@ -202,7 +187,6 @@ export class CodexAdapter extends BaseAdapter {
202
187
  * Update harness configuration for MCP servers.
203
188
  *
204
189
  * Codex only needs MCP configuration updates (no hooks support).
205
- * MCP is only supported at global scope.
206
190
  *
207
191
  * @param kit - Kit manifest
208
192
  * @param resolvedPrimitives - Resolved primitives to install
@@ -211,17 +195,13 @@ export class CodexAdapter extends BaseAdapter {
211
195
  * @param scope - Installation scope
212
196
  * @param projectRoot - Project root for project scope
213
197
  */
214
- async updateConfiguration(kit, resolvedPrimitives, dryRun, completedOps, scope = "global", _projectRoot, envResolutions) {
198
+ async updateConfiguration(kit, resolvedPrimitives, dryRun, completedOps, scope = "global", projectRoot, envResolutions) {
215
199
  const operations = [];
216
- // MCP is only supported at global scope for Codex
217
- if (scope === "project") {
218
- return { operations };
219
- }
220
200
  // Filter MCP primitives
221
201
  const mcpPrimitives = resolvedPrimitives.filter((p) => p.type === "mcp");
222
- // Handle MCP servers (global scope only)
202
+ // Handle MCP servers
223
203
  if (mcpPrimitives.length > 0 && !dryRun) {
224
- const mcpResult = await this.installMcpServers(kit.name, mcpPrimitives, completedOps, envResolutions);
204
+ const mcpResult = await this.installMcpServers(kit.name, mcpPrimitives, completedOps, scope, projectRoot, envResolutions);
225
205
  operations.push(...mcpResult);
226
206
  }
227
207
  return { operations };
@@ -229,16 +209,19 @@ export class CodexAdapter extends BaseAdapter {
229
209
  /**
230
210
  * Install MCP servers to configuration.
231
211
  */
232
- async installMcpServers(_kitName, primitives, completedOps, envResolutions) {
212
+ async installMcpServers(_kitName, primitives, completedOps, scope = "global", projectRoot, envResolutions) {
233
213
  const operations = [];
234
- const mcpConfigPath = expandPath(CODEX_PATHS.mcp);
214
+ const mcpConfigPath = scope === "project" && projectRoot
215
+ ? path.join(projectRoot, CODEX_PROJECT_PATHS.configToml)
216
+ : expandPath(CODEX_PATHS.configToml);
235
217
  // Read existing config and back it up
236
- const existingConfig = await readMcpConfig();
237
218
  const configExisted = pathExists(mcpConfigPath);
219
+ const previousContent = configExisted ? await readFile(mcpConfigPath) : undefined;
220
+ const existingConfig = await readMcpConfig(scope, projectRoot);
238
221
  // Prepare updated config
239
222
  const updatedConfig = { ...existingConfig };
240
- if (!updatedConfig.servers) {
241
- updatedConfig.servers = {};
223
+ if (!updatedConfig.mcp_servers) {
224
+ updatedConfig.mcp_servers = {};
242
225
  }
243
226
  for (const primitive of primitives) {
244
227
  try {
@@ -278,7 +261,7 @@ export class CodexAdapter extends BaseAdapter {
278
261
  }
279
262
  }
280
263
  }
281
- updatedConfig.servers[instanceName] = transformedConfig;
264
+ updatedConfig.mcp_servers[instanceName] = transformedConfig;
282
265
  operations.push({
283
266
  operation: "merge",
284
267
  source: primitive.sourcePath,
@@ -297,35 +280,38 @@ export class CodexAdapter extends BaseAdapter {
297
280
  }
298
281
  }
299
282
  // Write updated config
300
- await writeMcpConfig(updatedConfig);
283
+ await writeMcpConfig(updatedConfig, scope, projectRoot);
301
284
  const mcpCompletedOp = {
302
285
  type: "file",
303
286
  path: mcpConfigPath,
304
287
  createdNew: !configExisted,
305
288
  };
306
- if (configExisted) {
307
- mcpCompletedOp.previousContent = JSON.stringify(existingConfig, null, 2);
289
+ if (previousContent !== undefined) {
290
+ mcpCompletedOp.previousContent = previousContent;
308
291
  }
309
292
  completedOps.push(mcpCompletedOp);
310
293
  return operations;
311
294
  }
312
- async removeMcpServers(instanceNames, scope = "global") {
313
- if (scope === "project" || instanceNames.length === 0) {
295
+ async removeMcpServers(instanceNames, scope = "global", projectRoot) {
296
+ if (instanceNames.length === 0) {
297
+ return [];
298
+ }
299
+ if (scope === "project" && !projectRoot) {
314
300
  return [];
315
301
  }
316
- const mcpConfig = await readMcpConfig();
317
- if (!mcpConfig.servers) {
302
+ const mcpConfig = await readMcpConfig(scope, projectRoot);
303
+ if (!mcpConfig.mcp_servers) {
318
304
  return [];
319
305
  }
320
306
  const removed = [];
321
307
  for (const name of instanceNames) {
322
- if (mcpConfig.servers[name]) {
323
- delete mcpConfig.servers[name];
308
+ if (mcpConfig.mcp_servers[name]) {
309
+ delete mcpConfig.mcp_servers[name];
324
310
  removed.push(name);
325
311
  }
326
312
  }
327
313
  if (removed.length > 0) {
328
- await writeMcpConfig(mcpConfig);
314
+ await writeMcpConfig(mcpConfig, scope, projectRoot);
329
315
  }
330
316
  return removed;
331
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/codex/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/codex/index.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,19 @@
2
2
  * Codex installation helpers.
3
3
  *
4
4
  * Provides utilities for installing primitives to Codex:
5
- * - MCP server configuration in ~/.codex/mcp.json
5
+ * - MCP server configuration in ~/.codex/config.toml (or .codex/config.toml at project scope)
6
6
  * - Environment variable substitution
7
7
  *
8
8
  * Codex does not support subagents or hooks.
9
9
  */
10
- import type { McpServerConfig, ResolvedEnvVar, ResolvedHeader } from "../../core/types.js";
10
+ import type { InstallationScope, McpServerConfig, ResolvedEnvVar, ResolvedHeader } from "../../core/types.js";
11
11
  import type { FileOperationResult } from "../types.js";
12
12
  /**
13
13
  * Codex MCP configuration structure.
14
14
  */
15
15
  export interface CodexMcpConfig {
16
- servers?: Record<string, CodexMcpServerEntry>;
16
+ mcp_servers?: Record<string, CodexMcpServerEntry>;
17
+ [key: string]: unknown;
17
18
  }
18
19
  /**
19
20
  * MCP server entry in Codex config.
@@ -34,11 +35,11 @@ export interface CodexMcpServerEntry {
34
35
  /**
35
36
  * Read the MCP configuration file.
36
37
  */
37
- export declare function readMcpConfig(): Promise<CodexMcpConfig>;
38
+ export declare function readMcpConfig(scope?: InstallationScope, projectRoot?: string): Promise<CodexMcpConfig>;
38
39
  /**
39
40
  * Write the MCP configuration file.
40
41
  */
41
- export declare function writeMcpConfig(config: CodexMcpConfig): Promise<void>;
42
+ export declare function writeMcpConfig(config: CodexMcpConfig, scope?: InstallationScope, projectRoot?: string): Promise<void>;
42
43
  /**
43
44
  * Process environment variable values.
44
45
  *
@@ -49,18 +50,13 @@ export declare function processEnvValue(value: string): string;
49
50
  * Transform an MCP server configuration for Codex.
50
51
  *
51
52
  * Codex MCP configuration format:
52
- * ```json
53
- * {
54
- * "servers": {
55
- * "server-name": {
56
- * "command": "executable",
57
- * "args": ["arg1", "arg2"],
58
- * "env": {
59
- * "VAR": "${VAR}"
60
- * }
61
- * }
62
- * }
63
- * }
53
+ * ```toml
54
+ * [mcp_servers."server-name"]
55
+ * command = "executable"
56
+ * args = ["arg1", "arg2"]
57
+ *
58
+ * [mcp_servers."server-name".env]
59
+ * VAR = "${VAR}"
64
60
  * ```
65
61
  *
66
62
  * Note: Full environment variable transformation with sensitivity handling
@@ -125,23 +121,23 @@ export declare function transformHeaders(resolved: ResolvedHeader[]): CodexHeade
125
121
  * @param namespacedName - The namespaced server name (e.g., "kit.server")
126
122
  * @param config - The MCP server configuration
127
123
  */
128
- export declare function addMcpServer(namespacedName: string, config: McpServerConfig): Promise<FileOperationResult>;
124
+ export declare function addMcpServer(namespacedName: string, config: McpServerConfig, scope?: InstallationScope, projectRoot?: string): Promise<FileOperationResult>;
129
125
  /**
130
126
  * Remove an MCP server from the configuration.
131
127
  *
132
128
  * @param namespacedName - The namespaced server name to remove
133
129
  */
134
- export declare function removeMcpServer(namespacedName: string): Promise<boolean>;
130
+ export declare function removeMcpServer(namespacedName: string, scope?: InstallationScope, projectRoot?: string): Promise<boolean>;
135
131
  /**
136
132
  * Get all installed MCP servers for a specific kit.
137
133
  *
138
134
  * @param kitName - The kit name prefix to filter by
139
135
  */
140
- export declare function getKitMcpServers(kitName: string): Promise<string[]>;
136
+ export declare function getKitMcpServers(kitName: string, scope?: InstallationScope, projectRoot?: string): Promise<string[]>;
141
137
  /**
142
138
  * Remove all MCP servers for a specific kit.
143
139
  *
144
140
  * @param kitName - The kit name prefix to remove
145
141
  */
146
- export declare function removeKitMcpServers(kitName: string): Promise<string[]>;
142
+ export declare function removeKitMcpServers(kitName: string, scope?: InstallationScope, projectRoot?: string): Promise<string[]>;
147
143
  //# sourceMappingURL=installer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/installer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAUvD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC/C;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC,CAa7D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,eAAe,GAAG,mBAAmB,CA+BrF;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAa9E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAiB9E;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAyB9B;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAU9E;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWzE;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqB5E"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../../src/adapters/codex/installer.ts"],"names":[],"mappings":"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"}
@@ -2,25 +2,33 @@
2
2
  * Codex installation helpers.
3
3
  *
4
4
  * Provides utilities for installing primitives to Codex:
5
- * - MCP server configuration in ~/.codex/mcp.json
5
+ * - MCP server configuration in ~/.codex/config.toml (or .codex/config.toml at project scope)
6
6
  * - Environment variable substitution
7
7
  *
8
8
  * Codex does not support subagents or hooks.
9
9
  */
10
10
  import * as path from "node:path";
11
+ import { parse as parseToml, stringify as stringifyToml } from "@iarna/toml";
11
12
  import { expandPath, pathExists, readFile, writeTransformed, ensureDirectory, } from "../file-operations.js";
12
13
  import { CODEX_PATHS } from "./detection.js";
14
+ function resolveCodexConfigPath(scope = "global", projectRoot) {
15
+ if (scope === "project" && projectRoot) {
16
+ return path.join(projectRoot, ".codex", "config.toml");
17
+ }
18
+ return expandPath(CODEX_PATHS.configToml);
19
+ }
13
20
  /**
14
21
  * Read the MCP configuration file.
15
22
  */
16
- export async function readMcpConfig() {
17
- const configPath = expandPath(CODEX_PATHS.mcp);
23
+ export async function readMcpConfig(scope = "global", projectRoot) {
24
+ const configPath = resolveCodexConfigPath(scope, projectRoot);
18
25
  if (!pathExists(configPath)) {
19
26
  return {};
20
27
  }
21
28
  try {
22
29
  const content = await readFile(configPath);
23
- return JSON.parse(content);
30
+ const parsed = parseToml(content);
31
+ return (parsed ?? {});
24
32
  }
25
33
  catch {
26
34
  return {};
@@ -29,11 +37,11 @@ export async function readMcpConfig() {
29
37
  /**
30
38
  * Write the MCP configuration file.
31
39
  */
32
- export async function writeMcpConfig(config) {
33
- const configPath = expandPath(CODEX_PATHS.mcp);
40
+ export async function writeMcpConfig(config, scope = "global", projectRoot) {
41
+ const configPath = resolveCodexConfigPath(scope, projectRoot);
34
42
  const configDir = path.dirname(configPath);
35
43
  await ensureDirectory(configDir);
36
- await writeTransformed(configPath, JSON.stringify(config, null, 2));
44
+ await writeTransformed(configPath, stringifyToml(config));
37
45
  }
38
46
  /**
39
47
  * Process environment variable values.
@@ -47,18 +55,13 @@ export function processEnvValue(value) {
47
55
  * Transform an MCP server configuration for Codex.
48
56
  *
49
57
  * Codex MCP configuration format:
50
- * ```json
51
- * {
52
- * "servers": {
53
- * "server-name": {
54
- * "command": "executable",
55
- * "args": ["arg1", "arg2"],
56
- * "env": {
57
- * "VAR": "${VAR}"
58
- * }
59
- * }
60
- * }
61
- * }
58
+ * ```toml
59
+ * [mcp_servers."server-name"]
60
+ * command = "executable"
61
+ * args = ["arg1", "arg2"]
62
+ *
63
+ * [mcp_servers."server-name".env]
64
+ * VAR = "${VAR}"
62
65
  * ```
63
66
  *
64
67
  * Note: Full environment variable transformation with sensitivity handling
@@ -158,24 +161,24 @@ export function transformHeaders(resolved) {
158
161
  * @param namespacedName - The namespaced server name (e.g., "kit.server")
159
162
  * @param config - The MCP server configuration
160
163
  */
161
- export async function addMcpServer(namespacedName, config) {
164
+ export async function addMcpServer(namespacedName, config, scope = "global", projectRoot) {
162
165
  try {
163
- const mcpConfig = await readMcpConfig();
164
- if (!mcpConfig.servers) {
165
- mcpConfig.servers = {};
166
+ const mcpConfig = await readMcpConfig(scope, projectRoot);
167
+ if (!mcpConfig.mcp_servers) {
168
+ mcpConfig.mcp_servers = {};
166
169
  }
167
- mcpConfig.servers[namespacedName] = transformMcpServerConfig(config);
168
- await writeMcpConfig(mcpConfig);
170
+ mcpConfig.mcp_servers[namespacedName] = transformMcpServerConfig(config);
171
+ await writeMcpConfig(mcpConfig, scope, projectRoot);
169
172
  return {
170
173
  operation: "merge",
171
- destination: expandPath(CODEX_PATHS.mcp),
174
+ destination: resolveCodexConfigPath(scope, projectRoot),
172
175
  success: true,
173
176
  };
174
177
  }
175
178
  catch (error) {
176
179
  return {
177
180
  operation: "merge",
178
- destination: expandPath(CODEX_PATHS.mcp),
181
+ destination: resolveCodexConfigPath(scope, projectRoot),
179
182
  success: false,
180
183
  error: error instanceof Error ? error.message : String(error),
181
184
  };
@@ -186,13 +189,13 @@ export async function addMcpServer(namespacedName, config) {
186
189
  *
187
190
  * @param namespacedName - The namespaced server name to remove
188
191
  */
189
- export async function removeMcpServer(namespacedName) {
190
- const mcpConfig = await readMcpConfig();
191
- if (!mcpConfig.servers || !mcpConfig.servers[namespacedName]) {
192
+ export async function removeMcpServer(namespacedName, scope = "global", projectRoot) {
193
+ const mcpConfig = await readMcpConfig(scope, projectRoot);
194
+ if (!mcpConfig.mcp_servers || !mcpConfig.mcp_servers[namespacedName]) {
192
195
  return false;
193
196
  }
194
- delete mcpConfig.servers[namespacedName];
195
- await writeMcpConfig(mcpConfig);
197
+ delete mcpConfig.mcp_servers[namespacedName];
198
+ await writeMcpConfig(mcpConfig, scope, projectRoot);
196
199
  return true;
197
200
  }
198
201
  /**
@@ -200,34 +203,34 @@ export async function removeMcpServer(namespacedName) {
200
203
  *
201
204
  * @param kitName - The kit name prefix to filter by
202
205
  */
203
- export async function getKitMcpServers(kitName) {
204
- const mcpConfig = await readMcpConfig();
205
- if (!mcpConfig.servers) {
206
+ export async function getKitMcpServers(kitName, scope = "global", projectRoot) {
207
+ const mcpConfig = await readMcpConfig(scope, projectRoot);
208
+ if (!mcpConfig.mcp_servers) {
206
209
  return [];
207
210
  }
208
211
  const prefix = `${kitName}.`;
209
- return Object.keys(mcpConfig.servers).filter((name) => name.startsWith(prefix));
212
+ return Object.keys(mcpConfig.mcp_servers).filter((name) => name.startsWith(prefix));
210
213
  }
211
214
  /**
212
215
  * Remove all MCP servers for a specific kit.
213
216
  *
214
217
  * @param kitName - The kit name prefix to remove
215
218
  */
216
- export async function removeKitMcpServers(kitName) {
217
- const mcpConfig = await readMcpConfig();
219
+ export async function removeKitMcpServers(kitName, scope = "global", projectRoot) {
220
+ const mcpConfig = await readMcpConfig(scope, projectRoot);
218
221
  const removed = [];
219
- if (!mcpConfig.servers) {
222
+ if (!mcpConfig.mcp_servers) {
220
223
  return removed;
221
224
  }
222
225
  const prefix = `${kitName}.`;
223
- for (const name of Object.keys(mcpConfig.servers)) {
226
+ for (const name of Object.keys(mcpConfig.mcp_servers)) {
224
227
  if (name.startsWith(prefix)) {
225
- delete mcpConfig.servers[name];
228
+ delete mcpConfig.mcp_servers[name];
226
229
  removed.push(name);
227
230
  }
228
231
  }
229
232
  if (removed.length > 0) {
230
- await writeMcpConfig(mcpConfig);
233
+ await writeMcpConfig(mcpConfig, scope, projectRoot);
231
234
  }
232
235
  return removed;
233
236
  }
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/adapters/codex/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../../src/adapters/codex/installer.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ export interface SchemaDescriptor {
8
8
  fileName: string;
9
9
  schemaIds: string[];
10
10
  }
11
- export declare const SCHEMA_REGISTRY: SchemaDescriptor[];
12
11
  export declare class SchemaResolutionError extends Error {
13
12
  constructor(message: string);
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema-registry.d.ts","sourceRoot":"","sources":["../../src/validation/schema-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,eAAe,GACf,qBAAqB,GACrB,SAAS,GACT,OAAO,GACP,UAAU,GACV,cAAc,GACd,YAAY,GACZ,eAAe,GACf,WAAW,CAAC;AAEhB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAmBD,eAAO,MAAM,eAAe,EAAE,gBAAgB,EA6D7C,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,OAAO,GACrB,gBAAgB,CAkClB;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAEtF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAI/D"}
1
+ {"version":3,"file":"schema-registry.d.ts","sourceRoot":"","sources":["../../src/validation/schema-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,eAAe,GACf,qBAAqB,GACrB,SAAS,GACT,OAAO,GACP,UAAU,GACV,cAAc,GACd,YAAY,GACZ,eAAe,GACf,WAAW,CAAC;AAEhB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAwDD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,OAAO,GACrB,gBAAgB,CAiClB;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAEtF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAG/D"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import path from "node:path";
5
5
  const SCHEMA_HOST = "https://raw.githubusercontent.com/hashicorp-labs/kits/refs/heads/main/schemas";
6
- const SCHEMA_VERSION = "1.0.0";
6
+ const SEMVER_PATTERN = "\\d+\\.\\d+\\.\\d+";
7
7
  const KIND_LABELS = {
8
8
  "kit": "kit.json",
9
9
  "kits-registry": "kits-registry.json",
@@ -16,68 +16,37 @@ const KIND_LABELS = {
16
16
  "kits-manifest": "kits.json",
17
17
  "kits-lock": "kits-lock.json",
18
18
  };
19
- export const SCHEMA_REGISTRY = [
20
- {
21
- kind: "kit",
22
- version: SCHEMA_VERSION,
23
- fileName: `kit.schema.v${SCHEMA_VERSION}.json`,
24
- schemaIds: [`${SCHEMA_HOST}/kit.schema.v${SCHEMA_VERSION}.json`],
25
- },
26
- {
27
- kind: "kits-registry",
28
- version: SCHEMA_VERSION,
29
- fileName: `kits-registry.schema.v${SCHEMA_VERSION}.json`,
30
- schemaIds: [`${SCHEMA_HOST}/kits-registry.schema.v${SCHEMA_VERSION}.json`],
31
- },
32
- {
33
- kind: "primitives-registry",
34
- version: SCHEMA_VERSION,
35
- fileName: `primitives-registry.schema.v${SCHEMA_VERSION}.json`,
36
- schemaIds: [`${SCHEMA_HOST}/primitives-registry.schema.v${SCHEMA_VERSION}.json`],
37
- },
38
- {
39
- kind: "command",
40
- version: SCHEMA_VERSION,
41
- fileName: `command.schema.v${SCHEMA_VERSION}.json`,
42
- schemaIds: [`${SCHEMA_HOST}/command.schema.v${SCHEMA_VERSION}.json`],
43
- },
44
- {
45
- kind: "skill",
46
- version: SCHEMA_VERSION,
47
- fileName: `skill.schema.v${SCHEMA_VERSION}.json`,
48
- schemaIds: [`${SCHEMA_HOST}/skill.schema.v${SCHEMA_VERSION}.json`],
49
- },
50
- {
51
- kind: "subagent",
52
- version: SCHEMA_VERSION,
53
- fileName: `subagent.schema.v${SCHEMA_VERSION}.json`,
54
- schemaIds: [`${SCHEMA_HOST}/subagent.schema.v${SCHEMA_VERSION}.json`],
55
- },
56
- {
57
- kind: "hook-program",
58
- version: SCHEMA_VERSION,
59
- fileName: `hook-program.schema.v${SCHEMA_VERSION}.json`,
60
- schemaIds: [`${SCHEMA_HOST}/hook-program.schema.v${SCHEMA_VERSION}.json`],
61
- },
62
- {
63
- kind: "mcp-server",
64
- version: SCHEMA_VERSION,
65
- fileName: `mcp-server.schema.v${SCHEMA_VERSION}.json`,
66
- schemaIds: [`${SCHEMA_HOST}/mcp-server.schema.v${SCHEMA_VERSION}.json`],
67
- },
68
- {
69
- kind: "kits-manifest",
70
- version: SCHEMA_VERSION,
71
- fileName: `kits-manifest.schema.v${SCHEMA_VERSION}.json`,
72
- schemaIds: [`${SCHEMA_HOST}/kits-manifest.schema.v${SCHEMA_VERSION}.json`],
73
- },
74
- {
75
- kind: "kits-lock",
76
- version: SCHEMA_VERSION,
77
- fileName: `kits-lock.schema.v${SCHEMA_VERSION}.json`,
78
- schemaIds: [`${SCHEMA_HOST}/kits-lock.schema.v${SCHEMA_VERSION}.json`],
79
- },
80
- ];
19
+ const SCHEMA_BASENAMES = {
20
+ "kit": "kit",
21
+ "kits-registry": "kits-registry",
22
+ "primitives-registry": "primitives-registry",
23
+ "command": "command",
24
+ "skill": "skill",
25
+ "subagent": "subagent",
26
+ "hook-program": "hook-program",
27
+ "mcp-server": "mcp-server",
28
+ "kits-manifest": "kits-manifest",
29
+ "kits-lock": "kits-lock",
30
+ };
31
+ function escapeForRegExp(value) {
32
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
33
+ }
34
+ function extractSchemaVersion(kind, schemaRef) {
35
+ const schemaBase = SCHEMA_BASENAMES[kind];
36
+ const regex = new RegExp(`^${escapeForRegExp(SCHEMA_HOST)}/${schemaBase}\\.schema\\.v(${SEMVER_PATTERN})\\.json$`);
37
+ const match = schemaRef.match(regex);
38
+ return match?.[1] ?? null;
39
+ }
40
+ function buildDescriptor(kind, version) {
41
+ const schemaBase = SCHEMA_BASENAMES[kind];
42
+ const schemaId = `${SCHEMA_HOST}/${schemaBase}.schema.v${version}.json`;
43
+ return {
44
+ kind,
45
+ version,
46
+ fileName: `${schemaBase}.schema.v${version}.json`,
47
+ schemaIds: [schemaId],
48
+ };
49
+ }
81
50
  export class SchemaResolutionError extends Error {
82
51
  constructor(message) {
83
52
  super(message);
@@ -91,22 +60,24 @@ export function resolveSchemaDescriptor(kind, schemaRef, schemaVersion) {
91
60
  throw new SchemaResolutionError(`Missing $schema for ${kindLabel}; expected one of: ${expected}`);
92
61
  }
93
62
  if (typeof schemaVersion !== "string" || schemaVersion.length === 0) {
94
- throw new SchemaResolutionError(`Missing schemaVersion for ${kindLabel}; expected ${SCHEMA_VERSION}`);
63
+ const expected = getExpectedSchemaIds(kind).join(", ");
64
+ throw new SchemaResolutionError(`Missing schemaVersion for ${kindLabel}; expected version from $schema (${expected})`);
95
65
  }
96
- const descriptor = SCHEMA_REGISTRY.find((entry) => entry.kind === kind && entry.schemaIds.includes(schemaRef));
97
- if (!descriptor) {
66
+ const versionFromRef = extractSchemaVersion(kind, schemaRef);
67
+ if (!versionFromRef) {
98
68
  const expected = getExpectedSchemaIds(kind).join(", ");
99
69
  throw new SchemaResolutionError(`Unsupported $schema for ${kindLabel}: ${schemaRef}; expected one of: ${expected}`);
100
70
  }
101
- if (schemaVersion !== descriptor.version) {
102
- throw new SchemaResolutionError(`schemaVersion ${schemaVersion} does not match ${descriptor.version} for ${kindLabel}`);
71
+ if (schemaVersion !== versionFromRef) {
72
+ throw new SchemaResolutionError(`schemaVersion ${schemaVersion} does not match ${versionFromRef} for ${kindLabel}`);
103
73
  }
104
- return descriptor;
74
+ return buildDescriptor(kind, versionFromRef);
105
75
  }
106
76
  export function getSchemaPath(schemaRoot, descriptor) {
107
77
  return path.join(schemaRoot, descriptor.fileName);
108
78
  }
109
79
  export function getExpectedSchemaIds(kind) {
110
- return SCHEMA_REGISTRY.filter((entry) => entry.kind === kind).flatMap((entry) => entry.schemaIds);
80
+ const schemaBase = SCHEMA_BASENAMES[kind];
81
+ return [`${SCHEMA_HOST}/${schemaBase}.schema.v<semver>.json`];
111
82
  }
112
83
  //# sourceMappingURL=schema-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-registry.js","sourceRoot":"","sources":["../../src/validation/schema-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-registry.js","sourceRoot":"","sources":["../../src/validation/schema-registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hashicorp/kits",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "Install AI agent kits into your favorite coding assistants",
5
5
  "type": "module",
6
6
  "bin": {
@@ -29,6 +29,7 @@
29
29
  "format": "prettier --write src/ tests/",
30
30
  "typecheck": "tsc --noEmit",
31
31
  "clean": "rm -rf dist/",
32
+ "check:schema-versioning": "node scripts/check-schema-versioning.js",
32
33
  "prepublishOnly": "npm run clean && npm run build",
33
34
  "validate:commands": "node ./bin/kits.js validate --commands ./test-kits",
34
35
  "validate:kits": "node ./bin/kits.js validate --kits ./test-kits",