@pulsemcp/air-adapter-claude 0.0.41 → 0.1.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.
@@ -17,9 +17,12 @@ export declare class ClaudeAdapter implements AgentAdapter {
17
17
  * Writes .mcp.json, injects skills + references into .claude/skills/,
18
18
  * injects path-based hooks into .claude/hooks/, and returns the start command.
19
19
  *
20
- * When the root declares default_subagent_roots and skipSubagentMerge is not set,
21
- * subagent roots' skills and MCP servers are merged into the parent session and
22
- * a system prompt section is generated describing the subagent dependencies.
20
+ * Inputs to activation lists (root defaults, overrides, plugin-declared
21
+ * primitives) are accepted as either qualified (`@scope/id`) or short form;
22
+ * ambiguous short forms are rejected. Filesystem materialization uses
23
+ * shortnames — Claude's `.mcp.json`, `.claude/skills/`, `.claude/hooks/`,
24
+ * and the manifest are scope-naive. Two activated qualified IDs that share
25
+ * a shortname hard-fail with a clear "add one to exclude" message.
23
26
  */
24
27
  prepareSession(artifacts: ResolvedArtifacts, targetDir: string, options?: PrepareSessionOptions): Promise<PreparedSession>;
25
28
  /**
@@ -31,7 +34,7 @@ export declare class ClaudeAdapter implements AgentAdapter {
31
34
  listLocalArtifacts(targetDir: string): Promise<LocalArtifacts>;
32
35
  /**
33
36
  * Resolve subagent roots from the root's default_subagent_roots.
34
- * Returns empty array if skipSubagentMerge is set or no subagent roots exist.
37
+ * IDs are already qualified after composition-time canonicalization.
35
38
  */
36
39
  private resolveSubagentRoots;
37
40
  /**
@@ -41,20 +44,37 @@ export declare class ClaudeAdapter implements AgentAdapter {
41
44
  private mergeSubagentArtifacts;
42
45
  /**
43
46
  * Build a system prompt section describing the subagent root dependencies.
44
- * Gives the agent context about what capabilities were merged and from where.
45
47
  */
46
48
  private buildSubagentContext;
47
- /** Translate AIR mcp.json format to Claude Code .mcp.json format */
48
- translateMcpServers(servers: Record<string, McpServerEntry>): Record<string, unknown>;
49
+ /**
50
+ * Translate a shortname-keyed MCP server map into Claude's `.mcp.json` shape.
51
+ * Callers convert qualified IDs to shortnames before invoking this — Claude's
52
+ * config is scope-naive.
53
+ */
54
+ translateMcpServersByShort(servers: Record<string, McpServerEntry>): Record<string, unknown>;
49
55
  /** Translate AIR oauth config to Claude Code oauth format */
50
56
  private translateOAuth;
51
- /** Translate an AIR plugin to Claude Code plugin format */
52
- translatePlugin(id: string, plugin: PluginEntry): Record<string, unknown>;
53
- /** Throw if any IDs don't exist in the available map. */
54
- private validateIds;
55
- private filterByIds;
57
+ /**
58
+ * Translate an AIR plugin to Claude Code plugin format.
59
+ * `name` is the plugin's bare shortname Claude's plugin namespace is
60
+ * scope-naive.
61
+ */
62
+ translatePlugin(shortId: string, plugin: PluginEntry): Record<string, unknown>;
63
+ /**
64
+ * Resolve a list of activation IDs (each qualified or short) into qualified
65
+ * IDs paired with shortnames suitable for filesystem materialization.
66
+ *
67
+ * Throws on:
68
+ * - unknown IDs (after attempting both qualified and short-form lookup)
69
+ * - ambiguous short references (multiple scopes contribute the shortname)
70
+ * - shortname collisions in the activation set itself (two qualified IDs
71
+ * with the same shortname can't share a single .claude/skills/<dir>)
72
+ */
73
+ private resolveActivations;
74
+ private formatPoolKeys;
56
75
  /**
57
76
  * Copy referenced documents into a references/ subdirectory of the target.
77
+ * `refIds` are qualified IDs (post-canonicalization).
58
78
  */
59
79
  private copyReferences;
60
80
  /**
@@ -64,18 +84,9 @@ export declare class ClaudeAdapter implements AgentAdapter {
64
84
  * `_airHookId` marker on each entry) whose ID is in `managedHookIds`,
65
85
  * leaving user-authored entries untouched. Then registers the hooks in
66
86
  * `newHookPaths` for each mapped event, tagging each new entry with its
67
- * hook ID so future runs can identify it.
68
- *
69
- * Returns the settings path if it was touched (written or an existing file
70
- * pruned), otherwise `null` — callers include the path in configFiles only
71
- * when relevant.
87
+ * shortname so future runs can identify it.
72
88
  */
73
89
  private reconcileSettingsHooks;
74
- /**
75
- * Check whether a settings hook entry was written by AIR — i.e., carries
76
- * an `_airHookId` marker whose value is in the managed set. User-authored
77
- * entries (no marker, or a marker AIR doesn't know about) are left alone.
78
- */
79
90
  private isManagedHookEntry;
80
91
  /**
81
92
  * Merge translated MCP server config with an existing `.mcp.json`,
@@ -1 +1 @@
1
- {"version":3,"file":"claude-adapter.d.ts","sourceRoot":"","sources":["../src/claude-adapter.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,cAAc,EAEd,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,cAAc,EACf,MAAM,oBAAoB,CAAC;AAS5B,qBAAa,aAAc,YAAW,YAAY;IAChD,IAAI,SAAY;IAChB,WAAW,SAAiB;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAMzC;IAEI,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,cAAc,CACZ,SAAS,EAAE,iBAAiB,EAC5B,IAAI,CAAC,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,kBAAkB;IA4CrB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAW3D;;;;;;;;OAQG;IACG,cAAc,CAClB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,eAAe,CAAC;IA+N3B;;;;;OAKG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIpE;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA4B5B,oEAAoE;IACpE,mBAAmB,CACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAyB1B,6DAA6D;IAC7D,OAAO,CAAC,cAAc;IA2BtB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQzE,yDAAyD;IACzD,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,WAAW;IAanB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IA6G9B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAmCtB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,gBAAgB;CAYzB"}
1
+ {"version":3,"file":"claude-adapter.d.ts","sourceRoot":"","sources":["../src/claude-adapter.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,cAAc,EAEd,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAoB5B,qBAAa,aAAc,YAAW,YAAY;IAChD,IAAI,SAAY;IAChB,WAAW,SAAiB;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAMzC;IAEI,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,cAAc,CACZ,SAAS,EAAE,iBAAiB,EAC5B,IAAI,CAAC,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,kBAAkB;IAmDrB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY;IAW3D;;;;;;;;;;;OAWG;IACG,cAAc,CAClB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,eAAe,CAAC;IAmL3B;;;;;OAKG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIpE;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAwB9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;;OAIG;IACH,0BAA0B,CACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAwB1B,6DAA6D;IAC7D,OAAO,CAAC,cAAc;IA2BtB;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ9E;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAgD1B,OAAO,CAAC,cAAc;IAStB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IAoG9B,OAAO,CAAC,kBAAkB;IAO1B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAkCtB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,gBAAgB;CAYzB"}
@@ -1,7 +1,7 @@
1
1
  import { execSync } from "child_process";
2
2
  import { existsSync, mkdirSync, writeFileSync, readFileSync, readdirSync, copyFileSync, rmSync, statSync, } from "fs";
3
3
  import { join, dirname, relative } from "path";
4
- import { buildManifest, diffManifest, loadManifest, writeManifest, } from "@pulsemcp/air-core";
4
+ import { buildManifest, diffManifest, loadManifest, writeManifest, parseQualifiedId, resolveReference, } from "@pulsemcp/air-core";
5
5
  import { scanLocalSkills } from "./scan-local-skills.js";
6
6
  export class ClaudeAdapter {
7
7
  name = "claude";
@@ -29,33 +29,35 @@ export class ClaudeAdapter {
29
29
  }
30
30
  }
31
31
  generateConfig(artifacts, root, _workDir) {
32
- const plugins = root?.default_plugins
33
- ? this.filterByIds(artifacts.plugins, root.default_plugins, "plugin")
34
- : {};
35
- // Merge plugin-declared MCP servers and skills into root defaults (additive)
36
- const mcpServerIdSet = new Set(root?.default_mcp_servers ?? []);
37
- const skillIdSet = new Set(root?.default_skills ?? []);
32
+ const pluginActivations = root?.default_plugins
33
+ ? this.resolveActivations(artifacts.plugins, root.default_plugins, "plugin")
34
+ : [];
35
+ const plugins = {};
36
+ for (const a of pluginActivations)
37
+ plugins[a.qualified] = artifacts.plugins[a.qualified];
38
+ // Merge plugin-declared MCP servers and skills into root defaults (additive).
39
+ // All incoming IDs are qualified (post-canonicalization at composition time),
40
+ // so we deduplicate on qualified IDs.
41
+ const mcpQualSet = new Set(root?.default_mcp_servers ?? []);
42
+ const skillQualSet = new Set(root?.default_skills ?? []);
38
43
  for (const plugin of Object.values(plugins)) {
39
44
  if (plugin.mcp_servers) {
40
45
  for (const id of plugin.mcp_servers)
41
- mcpServerIdSet.add(id);
46
+ mcpQualSet.add(id);
42
47
  }
43
48
  if (plugin.skills) {
44
49
  for (const id of plugin.skills)
45
- skillIdSet.add(id);
50
+ skillQualSet.add(id);
46
51
  }
47
52
  }
48
- const mcpServerIds = [...mcpServerIdSet];
49
- const skillIds = [...skillIdSet];
50
- const mcpServers = mcpServerIds.length
51
- ? this.filterByIds(artifacts.mcp, mcpServerIds, "MCP server")
52
- : {};
53
- const mcpConfig = this.translateMcpServers(mcpServers);
54
- const pluginConfigs = Object.entries(plugins).map(([id, p]) => this.translatePlugin(id, p));
55
- if (skillIds.length > 0) {
56
- this.validateIds(artifacts.skills, skillIds, "skill");
57
- }
58
- const skillPaths = skillIds.map((id) => artifacts.skills[id].path);
53
+ const mcpActivations = this.resolveActivations(artifacts.mcp, [...mcpQualSet], "MCP server");
54
+ const skillActivations = this.resolveActivations(artifacts.skills, [...skillQualSet], "skill");
55
+ const mcpServers = {};
56
+ for (const a of mcpActivations)
57
+ mcpServers[a.short] = artifacts.mcp[a.qualified];
58
+ const mcpConfig = this.translateMcpServersByShort(mcpServers);
59
+ const pluginConfigs = pluginActivations.map((a) => this.translatePlugin(a.short, artifacts.plugins[a.qualified]));
60
+ const skillPaths = skillActivations.map((a) => artifacts.skills[a.qualified].path);
59
61
  return {
60
62
  agent: "claude",
61
63
  mcpConfig,
@@ -78,35 +80,24 @@ export class ClaudeAdapter {
78
80
  * Writes .mcp.json, injects skills + references into .claude/skills/,
79
81
  * injects path-based hooks into .claude/hooks/, and returns the start command.
80
82
  *
81
- * When the root declares default_subagent_roots and skipSubagentMerge is not set,
82
- * subagent roots' skills and MCP servers are merged into the parent session and
83
- * a system prompt section is generated describing the subagent dependencies.
83
+ * Inputs to activation lists (root defaults, overrides, plugin-declared
84
+ * primitives) are accepted as either qualified (`@scope/id`) or short form;
85
+ * ambiguous short forms are rejected. Filesystem materialization uses
86
+ * shortnames — Claude's `.mcp.json`, `.claude/skills/`, `.claude/hooks/`,
87
+ * and the manifest are scope-naive. Two activated qualified IDs that share
88
+ * a shortname hard-fail with a clear "add one to exclude" message.
84
89
  */
85
90
  async prepareSession(artifacts, targetDir, options) {
86
91
  const root = options?.root;
87
92
  const configFiles = [];
88
93
  const skillPaths = [];
89
94
  const hookPaths = [];
90
- // Load the manifest that records which artifacts this adapter wrote on
91
- // the previous run. IDs present here but not in the new selection are
92
- // stale and get cleaned up before we write. Missing or corrupt manifests
93
- // yield null — that's treated as "no prior state" so the current run is
94
- // purely additive.
95
95
  const prevManifest = loadManifest(targetDir);
96
96
  // 1. Resolve which artifacts to activate (overrides take precedence over root defaults)
97
- let mcpServerIds = options?.mcpServerOverrides
98
- ?? root?.default_mcp_servers
99
- ?? undefined;
100
- let skillIds = options?.skillOverrides
101
- ?? root?.default_skills
102
- ?? [];
103
- let hookIds = options?.hookOverrides
104
- ?? root?.default_hooks
105
- ?? [];
97
+ let mcpServerIds = options?.mcpServerOverrides ?? root?.default_mcp_servers ?? undefined;
98
+ let skillIds = options?.skillOverrides ?? root?.default_skills ?? [];
99
+ let hookIds = options?.hookOverrides ?? root?.default_hooks ?? [];
106
100
  // 1b. Merge subagent roots' artifacts if applicable.
107
- // Skip merge per-artifact type when explicit overrides are provided —
108
- // overrides represent the caller's final selection (e.g. from the TUI)
109
- // and should not be augmented by implicit merge.
110
101
  const subagentRoots = this.resolveSubagentRoots(root, artifacts, options);
111
102
  if (subagentRoots.length > 0) {
112
103
  const merged = this.mergeSubagentArtifacts(subagentRoots, mcpServerIds, skillIds);
@@ -118,46 +109,47 @@ export class ClaudeAdapter {
118
109
  }
119
110
  }
120
111
  // 1c. Resolve plugins and merge their declared artifacts (additive)
121
- const pluginIds = options?.pluginOverrides
122
- ?? root?.default_plugins
123
- ?? undefined;
124
- const plugins = pluginIds?.length
125
- ? this.filterByIds(artifacts.plugins, pluginIds, "plugin")
126
- : {};
112
+ const pluginIds = options?.pluginOverrides ?? root?.default_plugins ?? undefined;
113
+ const pluginActivations = pluginIds?.length
114
+ ? this.resolveActivations(artifacts.plugins, pluginIds, "plugin")
115
+ : [];
116
+ const plugins = {};
117
+ for (const a of pluginActivations)
118
+ plugins[a.qualified] = artifacts.plugins[a.qualified];
127
119
  const mcpSet = new Set(mcpServerIds ?? []);
128
120
  const skillSet = new Set(skillIds);
129
121
  const hookSet = new Set(hookIds);
130
122
  for (const plugin of Object.values(plugins)) {
131
- if (plugin.mcp_servers) {
123
+ if (plugin.mcp_servers)
132
124
  for (const id of plugin.mcp_servers)
133
125
  mcpSet.add(id);
134
- }
135
- if (plugin.skills) {
126
+ if (plugin.skills)
136
127
  for (const id of plugin.skills)
137
128
  skillSet.add(id);
138
- }
139
- if (plugin.hooks) {
129
+ if (plugin.hooks)
140
130
  for (const id of plugin.hooks)
141
131
  hookSet.add(id);
142
- }
143
132
  }
144
133
  if (mcpSet.size > 0 || mcpServerIds !== undefined)
145
134
  mcpServerIds = [...mcpSet];
146
135
  skillIds = [...skillSet];
147
136
  hookIds = [...hookSet];
148
- const mcpServers = mcpServerIds?.length
149
- ? this.filterByIds(artifacts.mcp, mcpServerIds, "MCP server")
150
- : {};
151
- // 2. Validate skill IDs
152
- this.validateIds(artifacts.skills, skillIds, "skill");
153
- // 2a. Reconcile against prior manifest — remove stale artifacts before
154
- // writing new ones. Only IDs previously written by AIR are candidates;
155
- // user-authored content is left untouched.
156
- const finalMcpServerIds = [...(mcpServerIds ?? [])];
137
+ // 2. Resolve activations: qualified ID + shortname per artifact.
138
+ // Throws on unknown IDs, ambiguous shortnames, and shortname collisions.
139
+ const skillActs = this.resolveActivations(artifacts.skills, skillIds, "skill");
140
+ const mcpActs = mcpServerIds
141
+ ? this.resolveActivations(artifacts.mcp, mcpServerIds, "MCP server")
142
+ : [];
143
+ const hookActs = this.resolveActivations(artifacts.hooks, hookIds, "hook");
144
+ const skillShortIds = skillActs.map((a) => a.short);
145
+ const hookShortIds = hookActs.map((a) => a.short);
146
+ const mcpShortIds = mcpActs.map((a) => a.short);
147
+ // 3. Reconcile against prior manifest using shortnames — those are the keys
148
+ // used for filesystem materialization and stored in the manifest.
157
149
  const diff = diffManifest(prevManifest, {
158
- skills: skillIds,
159
- hooks: hookIds,
160
- mcpServers: finalMcpServerIds,
150
+ skills: skillShortIds,
151
+ hooks: hookShortIds,
152
+ mcpServers: mcpShortIds,
161
153
  });
162
154
  for (const staleSkillId of diff.staleSkills) {
163
155
  const staleDir = join(targetDir, ".claude", "skills", staleSkillId);
@@ -171,98 +163,72 @@ export class ClaudeAdapter {
171
163
  rmSync(staleDir, { recursive: true, force: true });
172
164
  }
173
165
  }
174
- // 3. Write .mcp.json (${VAR} patterns are left as-is for transforms to resolve).
175
- // Preserve any mcpServers keys not managed by AIR (user-authored),
176
- // remove keys for stale IDs, and replace keys for the current selection.
166
+ // 4. Write .mcp.json (${VAR} patterns are left as-is for transforms to resolve).
177
167
  const mcpConfigPath = join(targetDir, ".mcp.json");
178
- const mcpConfig = this.mergeMcpConfig(mcpConfigPath, this.translateMcpServers(mcpServers), diff.staleMcpServers);
168
+ const translatedServers = {};
169
+ for (const a of mcpActs)
170
+ translatedServers[a.short] = artifacts.mcp[a.qualified];
171
+ const mcpConfig = this.mergeMcpConfig(mcpConfigPath, this.translateMcpServersByShort(translatedServers), diff.staleMcpServers);
179
172
  writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2) + "\n");
180
173
  configFiles.push(mcpConfigPath);
181
- // 4. Inject skills + references into .claude/skills/
182
- for (const skillId of skillIds) {
183
- const skill = artifacts.skills[skillId];
184
- const skillTargetDir = join(targetDir, ".claude", "skills", skillId);
185
- // Skip if skill already exists locally (local takes priority)
174
+ // 5. Inject skills + references into .claude/skills/<short>/
175
+ for (const a of skillActs) {
176
+ const skill = artifacts.skills[a.qualified];
177
+ const skillTargetDir = join(targetDir, ".claude", "skills", a.short);
186
178
  if (existsSync(skillTargetDir))
187
179
  continue;
188
- // Copy skill directory contents (paths are absolute from resolveArtifacts)
189
180
  const skillSourceDir = skill.path;
190
181
  if (existsSync(skillSourceDir)) {
191
182
  this.copyDirRecursive(skillSourceDir, skillTargetDir);
192
183
  skillPaths.push(skillTargetDir);
193
184
  }
194
- // Copy referenced documents
195
185
  if (skill.references && skill.references.length > 0) {
196
186
  this.copyReferences(skill.references, skillTargetDir, artifacts);
197
187
  }
198
188
  }
199
- // 5. Validate and inject path-based hooks into .claude/hooks/.
200
- // A hook is "AIR-registered" iff AIR wrote (or previously wrote) its
201
- // directory — i.e. the dir didn't pre-exist as user content before any
202
- // AIR run touched it. `hookPaths` collects dirs to register in
203
- // settings.json (includes both freshly-written dirs and ones carried
204
- // over from the prior manifest run).
205
- if (hookIds.length > 0) {
206
- this.validateIds(artifacts.hooks, hookIds, "hook");
207
- }
189
+ // 6. Validate and inject path-based hooks into .claude/hooks/<short>/.
208
190
  const prevHookIds = new Set(prevManifest?.hooks ?? []);
209
- const registeredHookIds = [];
210
- for (const hookId of hookIds) {
211
- const hook = artifacts.hooks[hookId];
212
- const hookTargetDir = join(targetDir, ".claude", "hooks", hookId);
191
+ const registeredHookShortIds = [];
192
+ for (const a of hookActs) {
193
+ const hook = artifacts.hooks[a.qualified];
194
+ const hookTargetDir = join(targetDir, ".claude", "hooks", a.short);
213
195
  const alreadyExists = existsSync(hookTargetDir);
214
- // A dir that already exists and was NOT tracked in the prior manifest
215
- // is user-authored — preserve it and skip both copy and registration.
216
- if (alreadyExists && !prevHookIds.has(hookId)) {
196
+ if (alreadyExists && !prevHookIds.has(a.short)) {
217
197
  continue;
218
198
  }
219
- // AIR-owned dir: copy (fresh) or re-register (carried over). We always
220
- // want it registered in settings.json on this run.
221
199
  if (!alreadyExists) {
222
200
  const hookSourceDir = hook.path;
223
- if (!existsSync(hookSourceDir)) {
224
- // Source is gone — don't register the hook or track it in the
225
- // manifest. Otherwise the ID gets recorded as "AIR-owned" with
226
- // nothing backing it, and a later user-created dir at the same
227
- // path would be mis-identified as stale on the next run.
201
+ if (!existsSync(hookSourceDir))
228
202
  continue;
229
- }
230
203
  this.copyDirRecursive(hookSourceDir, hookTargetDir);
231
204
  if (hook.references && hook.references.length > 0) {
232
205
  this.copyReferences(hook.references, hookTargetDir, artifacts);
233
206
  }
234
207
  }
235
208
  hookPaths.push(hookTargetDir);
236
- registeredHookIds.push(hookId);
209
+ registeredHookShortIds.push(a.short);
237
210
  }
238
- // 6. Register AIR-owned hooks in .claude/settings.json.
239
- // Always prune settings entries that AIR previously wrote (stale +
240
- // current) so that re-runs don't accumulate duplicates and stale
241
- // entries are cleaned up even when no current hooks are active.
211
+ // 7. Register AIR-owned hooks in .claude/settings.json.
242
212
  const managedHookIds = new Set([
243
213
  ...diff.staleHooks,
244
- ...registeredHookIds,
214
+ ...registeredHookShortIds,
245
215
  ]);
246
216
  const settingsPath = this.reconcileSettingsHooks(targetDir, hookPaths, managedHookIds);
247
217
  if (settingsPath) {
248
218
  configFiles.push(settingsPath);
249
219
  }
250
- // 7. Persist the updated manifest so the next run can reconcile against it.
251
- // Only IDs that AIR actually wrote/touched go into the manifest.
220
+ // 8. Persist the updated manifest (shortnames keyed by filesystem dir).
252
221
  writeManifest(buildManifest(targetDir, {
253
- skills: skillIds,
254
- hooks: registeredHookIds,
255
- mcpServers: finalMcpServerIds,
222
+ skills: skillShortIds,
223
+ hooks: registeredHookShortIds,
224
+ mcpServers: mcpShortIds,
256
225
  }));
257
- // 8. Generate ephemeral subagent context for system prompt
226
+ // 9. Generate ephemeral subagent context for system prompt
258
227
  let subagentContext;
259
228
  if (subagentRoots.length > 0) {
260
229
  subagentContext = this.buildSubagentContext(subagentRoots);
261
230
  }
262
- // 9. Build start command (include --append-system-prompt if subagent context exists)
263
- // Pass undefined as root — prepareSession already handled all filtering/validation above.
264
- // Passing root here would cause generateConfig to re-validate with the original (pre-merge)
265
- // root defaults, which is both redundant and fragile.
231
+ // 10. Build start command
266
232
  const config = this.generateConfig(artifacts, undefined, targetDir);
267
233
  const startCommand = this.buildStartCommand({
268
234
  ...config,
@@ -284,7 +250,7 @@ export class ClaudeAdapter {
284
250
  }
285
251
  /**
286
252
  * Resolve subagent roots from the root's default_subagent_roots.
287
- * Returns empty array if skipSubagentMerge is set or no subagent roots exist.
253
+ * IDs are already qualified after composition-time canonicalization.
288
254
  */
289
255
  resolveSubagentRoots(root, artifacts, options) {
290
256
  if (options?.skipSubagentMerge)
@@ -293,9 +259,9 @@ export class ClaudeAdapter {
293
259
  return [];
294
260
  const resolved = [];
295
261
  for (const id of root.default_subagent_roots) {
296
- const subRoot = artifacts.roots[id];
297
- if (subRoot) {
298
- resolved.push(subRoot);
262
+ const res = resolveReference(artifacts.roots, id, undefined);
263
+ if (res.status === "ok") {
264
+ resolved.push(artifacts.roots[res.qualified]);
299
265
  }
300
266
  }
301
267
  return resolved;
@@ -318,15 +284,12 @@ export class ClaudeAdapter {
318
284
  }
319
285
  }
320
286
  return {
321
- mcpServerIds: parentMcpServerIds !== undefined || mcpSet.size > 0
322
- ? [...mcpSet]
323
- : undefined,
287
+ mcpServerIds: parentMcpServerIds !== undefined || mcpSet.size > 0 ? [...mcpSet] : undefined,
324
288
  skillIds: [...skillSet],
325
289
  };
326
290
  }
327
291
  /**
328
292
  * Build a system prompt section describing the subagent root dependencies.
329
- * Gives the agent context about what capabilities were merged and from where.
330
293
  */
331
294
  buildSubagentContext(subagentRoots) {
332
295
  const lines = [
@@ -353,8 +316,12 @@ export class ClaudeAdapter {
353
316
  }
354
317
  return lines.join("\n");
355
318
  }
356
- /** Translate AIR mcp.json format to Claude Code .mcp.json format */
357
- translateMcpServers(servers) {
319
+ /**
320
+ * Translate a shortname-keyed MCP server map into Claude's `.mcp.json` shape.
321
+ * Callers convert qualified IDs to shortnames before invoking this — Claude's
322
+ * config is scope-naive.
323
+ */
324
+ translateMcpServersByShort(servers) {
358
325
  const mcpServers = {};
359
326
  for (const [name, server] of Object.entries(servers)) {
360
327
  if (server.type === "stdio") {
@@ -365,7 +332,6 @@ export class ClaudeAdapter {
365
332
  };
366
333
  }
367
334
  else {
368
- // Claude Code uses "http" for the streamable-http transport
369
335
  const claudeType = server.type === "streamable-http" ? "http" : server.type;
370
336
  mcpServers[name] = {
371
337
  type: claudeType,
@@ -405,33 +371,74 @@ export class ClaudeAdapter {
405
371
  }
406
372
  return result;
407
373
  }
408
- /** Translate an AIR plugin to Claude Code plugin format */
409
- translatePlugin(id, plugin) {
374
+ /**
375
+ * Translate an AIR plugin to Claude Code plugin format.
376
+ * `name` is the plugin's bare shortname — Claude's plugin namespace is
377
+ * scope-naive.
378
+ */
379
+ translatePlugin(shortId, plugin) {
410
380
  return {
411
- name: id,
381
+ name: shortId,
412
382
  description: plugin.description,
413
383
  ...(plugin.version && { version: plugin.version }),
414
384
  };
415
385
  }
416
- /** Throw if any IDs don't exist in the available map. */
417
- validateIds(all, ids, artifactType) {
418
- const unknown = ids.filter((id) => !all[id]);
419
- if (unknown.length > 0) {
420
- const available = Object.keys(all);
421
- const availableMsg = available.length > 0 ? `Available: ${available.join(", ")}` : "None available";
422
- throw new Error(`Unknown ${artifactType} ID(s): ${unknown.join(", ")}. ${availableMsg}`);
423
- }
424
- }
425
- filterByIds(all, ids, artifactType) {
426
- this.validateIds(all, ids, artifactType);
427
- const filtered = {};
386
+ /**
387
+ * Resolve a list of activation IDs (each qualified or short) into qualified
388
+ * IDs paired with shortnames suitable for filesystem materialization.
389
+ *
390
+ * Throws on:
391
+ * - unknown IDs (after attempting both qualified and short-form lookup)
392
+ * - ambiguous short references (multiple scopes contribute the shortname)
393
+ * - shortname collisions in the activation set itself (two qualified IDs
394
+ * with the same shortname can't share a single .claude/skills/<dir>)
395
+ */
396
+ resolveActivations(pool, ids, artifactType) {
397
+ const acts = [];
398
+ const errors = [];
399
+ const shortToQualified = new Map();
428
400
  for (const id of ids) {
429
- filtered[id] = all[id];
401
+ const res = resolveReference(pool, id, undefined);
402
+ if (res.status === "missing") {
403
+ errors.push(`Unknown ${artifactType} ID "${id}". Available: ${this.formatPoolKeys(pool)}.`);
404
+ continue;
405
+ }
406
+ if (res.status === "ambiguous") {
407
+ errors.push(`${artifactType} reference "${id}" is ambiguous — candidates: ` +
408
+ `${res.candidates.join(", ")}. Use the qualified form to disambiguate.`);
409
+ continue;
410
+ }
411
+ const qualified = res.qualified;
412
+ const { id: short } = parseQualifiedId(qualified);
413
+ const prior = shortToQualified.get(short);
414
+ if (prior !== undefined && prior !== qualified) {
415
+ errors.push(`${artifactType} shortname collision: both "${prior}" and "${qualified}" ` +
416
+ `are activated and would write to the same target name "${short}". ` +
417
+ `Add one to air.json#exclude or activate only one of them.`);
418
+ continue;
419
+ }
420
+ if (prior === qualified)
421
+ continue; // dedup
422
+ shortToQualified.set(short, qualified);
423
+ acts.push({ qualified, short });
424
+ }
425
+ if (errors.length > 0) {
426
+ throw new Error(errors.length === 1 ? errors[0] : `Activation errors:\n - ${errors.join("\n - ")}`);
430
427
  }
431
- return filtered;
428
+ return acts;
429
+ }
430
+ formatPoolKeys(pool) {
431
+ const keys = Object.keys(pool);
432
+ if (keys.length === 0)
433
+ return "(none)";
434
+ if (keys.length > 8) {
435
+ return `${keys.slice(0, 8).join(", ")}, … (${keys.length} total)`;
436
+ }
437
+ return keys.join(", ");
432
438
  }
433
439
  /**
434
440
  * Copy referenced documents into a references/ subdirectory of the target.
441
+ * `refIds` are qualified IDs (post-canonicalization).
435
442
  */
436
443
  copyReferences(refIds, targetDir, artifacts) {
437
444
  const refsTargetDir = join(targetDir, "references");
@@ -454,16 +461,11 @@ export class ClaudeAdapter {
454
461
  * `_airHookId` marker on each entry) whose ID is in `managedHookIds`,
455
462
  * leaving user-authored entries untouched. Then registers the hooks in
456
463
  * `newHookPaths` for each mapped event, tagging each new entry with its
457
- * hook ID so future runs can identify it.
458
- *
459
- * Returns the settings path if it was touched (written or an existing file
460
- * pruned), otherwise `null` — callers include the path in configFiles only
461
- * when relevant.
464
+ * shortname so future runs can identify it.
462
465
  */
463
466
  reconcileSettingsHooks(targetDir, newHookPaths, managedHookIds) {
464
467
  const settingsPath = join(targetDir, ".claude", "settings.json");
465
468
  const settingsExists = existsSync(settingsPath);
466
- // No settings file and nothing to write — nothing to do.
467
469
  if (!settingsExists && newHookPaths.length === 0) {
468
470
  return null;
469
471
  }
@@ -473,9 +475,6 @@ export class ClaudeAdapter {
473
475
  settings = JSON.parse(readFileSync(settingsPath, "utf-8"));
474
476
  }
475
477
  catch {
476
- // Treat an unparseable settings.json as empty — same contract as
477
- // the manifest's corrupt-file fallback. The adapter never silently
478
- // mangles user state; it just rewrites with the new selection.
479
478
  settings = {};
480
479
  }
481
480
  }
@@ -513,14 +512,13 @@ export class ClaudeAdapter {
513
512
  hookJson = JSON.parse(readFileSync(hookJsonPath, "utf-8"));
514
513
  }
515
514
  catch {
516
- continue; // Skip hooks with malformed HOOK.json
515
+ continue;
517
516
  }
518
517
  const claudeEvent = ClaudeAdapter.AIR_TO_CLAUDE_EVENT[hookJson.event];
519
518
  if (!claudeEvent || !hookJson.command)
520
519
  continue;
521
520
  const hookRelDir = relative(targetDir, hookPath);
522
521
  const command = this.buildHookCommand(hookRelDir, hookJson.command, hookJson.args);
523
- // hookPath is .claude/hooks/<id>/, so the last path segment is the id.
524
522
  const hookId = hookPath.split(/[\\/]/).filter(Boolean).pop() || "";
525
523
  const hookEntry = {
526
524
  type: "command",
@@ -539,10 +537,6 @@ export class ClaudeAdapter {
539
537
  }
540
538
  hooks[claudeEvent].push(matcherGroup);
541
539
  }
542
- // When the adapter was asked to register new hooks, keep `settings.hooks`
543
- // present (even if all registrations were skipped — unknown events,
544
- // malformed HOOK.json, etc.) so downstream consumers see a stable shape.
545
- // When we're only pruning stale entries, drop an empty hooks object.
546
540
  if (newHookPaths.length > 0 || Object.keys(hooks).length > 0) {
547
541
  settings.hooks = hooks;
548
542
  }
@@ -553,11 +547,6 @@ export class ClaudeAdapter {
553
547
  writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + "\n");
554
548
  return settingsPath;
555
549
  }
556
- /**
557
- * Check whether a settings hook entry was written by AIR — i.e., carries
558
- * an `_airHookId` marker whose value is in the managed set. User-authored
559
- * entries (no marker, or a marker AIR doesn't know about) are left alone.
560
- */
561
550
  isManagedHookEntry(entry, managedHookIds) {
562
551
  if (!entry || typeof entry !== "object")
563
552
  return false;
@@ -581,7 +570,6 @@ export class ClaudeAdapter {
581
570
  existing = JSON.parse(readFileSync(mcpConfigPath, "utf-8"));
582
571
  }
583
572
  catch {
584
- // Unparseable existing file — start fresh rather than mangle it.
585
573
  existing = {};
586
574
  }
587
575
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../src/claude-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-adapter.js","sourceRoot":"","sources":["../src/claude-adapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulsemcp/air-adapter-claude",
3
- "version": "0.0.41",
3
+ "version": "0.1.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -29,7 +29,7 @@
29
29
  "lint": "tsc --noEmit"
30
30
  },
31
31
  "dependencies": {
32
- "@pulsemcp/air-core": "0.0.41"
32
+ "@pulsemcp/air-core": "0.1.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/node": "^22.10.0",