@clawmasons/claude-code-agent 0.1.1 → 0.1.2

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.
@@ -0,0 +1,5 @@
1
+ import type { AgentPackage } from "@clawmasons/agent-sdk";
2
+ export { claudeCodeMaterializer } from "./materializer.js";
3
+ declare const claudeCodeAgent: AgentPackage;
4
+ export default claudeCodeAgent;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,QAAA,MAAM,eAAe,EAAE,YAqBtB,CAAC;AAKF,eAAe,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,28 @@
1
+ import { claudeCodeMaterializer, _setAgentPackage } from "./materializer.js";
2
+ export { claudeCodeMaterializer } from "./materializer.js";
3
+ const claudeCodeAgent = {
4
+ name: "claude-code-agent",
5
+ aliases: ["claude"],
6
+ materializer: claudeCodeMaterializer,
7
+ dockerfile: {
8
+ installSteps: `
9
+ # Install claude-code-agent runtime
10
+ RUN npm install -g @anthropic-ai/claude-code
11
+ `,
12
+ },
13
+ acp: {
14
+ command: "claude-agent-acp",
15
+ },
16
+ runtime: {
17
+ command: "claude",
18
+ args: ["--effort", "max"],
19
+ credentials: [
20
+ { key: "CLAUDE_CODE_OAUTH_TOKEN", type: "env" },
21
+ ],
22
+ supportsInitialPrompt: true,
23
+ },
24
+ };
25
+ // Wire the materializer to its parent AgentPackage
26
+ _setAgentPackage(claudeCodeAgent);
27
+ export default claudeCodeAgent;
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,eAAe,GAAiB;IACpC,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,YAAY,EAAE,sBAAsB;IACpC,UAAU,EAAE;QACV,YAAY,EAAE;;;CAGjB;KACE;IACD,GAAG,EAAE;QACH,OAAO,EAAE,kBAAkB;KAC5B;IACD,OAAO,EAAE;QACP,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;QACzB,WAAW,EAAE;YACX,EAAE,GAAG,EAAE,yBAAyB,EAAE,IAAI,EAAE,KAAK,EAAE;SAChD;QACD,qBAAqB,EAAE,IAAI;KAC5B;CACF,CAAC;AAEF,mDAAmD;AACnD,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAElC,eAAe,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { RuntimeMaterializer, AgentPackage } from "@clawmasons/agent-sdk";
2
+ export declare const claudeCodeMaterializer: RuntimeMaterializer;
3
+ /**
4
+ * Set the parent AgentPackage reference (called during package initialization).
5
+ * @internal
6
+ */
7
+ export declare function _setAgentPackage(pkg: AgentPackage): void;
8
+ //# sourceMappingURL=materializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materializer.d.ts","sourceRoot":"","sources":["../src/materializer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAA6C,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAqN1H,eAAO,MAAM,sBAAsB,EAAE,mBA2JpC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAExD"}
@@ -0,0 +1,268 @@
1
+ import { getAppShortName } from "@clawmasons/shared";
2
+ import * as fs from "node:fs";
3
+ import * as path from "node:path";
4
+ import * as os from "node:os";
5
+ import { formatPermittedTools, collectAllSkills, collectAllTasks, generateAgentsMd, generateSkillReadme, generateAgentLaunchJson, } from "@clawmasons/agent-sdk";
6
+ /**
7
+ * Generate .mcp.json content.
8
+ *
9
+ * Creates a single "chapter" MCP server entry pointing at the proxy's
10
+ * unified endpoint: /sse (SSE) or /mcp (streamable-http).
11
+ * The proxy handles tool prefixing internally (e.g. github_create_pr).
12
+ */
13
+ function generateMcpJson(proxyEndpoint, proxyType, proxyToken) {
14
+ const pathSuffix = proxyType === "sse" ? "/sse" : "/mcp";
15
+ // Claude Code recognizes "sse" and "http" — not "streamable-http"
16
+ const claudeType = proxyType === "streamable-http" ? "http" : proxyType;
17
+ const bearerValue = proxyToken
18
+ ? `Bearer ${proxyToken}`
19
+ : "Bearer ${MCP_PROXY_TOKEN}";
20
+ const mcpConfig = {
21
+ mcpServers: {
22
+ chapter: {
23
+ type: claudeType,
24
+ url: `${proxyEndpoint}${pathSuffix}`,
25
+ headers: {
26
+ Authorization: bearerValue,
27
+ },
28
+ },
29
+ },
30
+ };
31
+ return JSON.stringify(mcpConfig, null, 2);
32
+ }
33
+ /**
34
+ * Generate .claude/settings.json content.
35
+ *
36
+ * Contains only permissions — MCP server config lives in .mcp.json.
37
+ */
38
+ function generateSettingsJson() {
39
+ const settings = {
40
+ permissions: {
41
+ allow: ["mcp__chapter__*"],
42
+ deny: [],
43
+ },
44
+ };
45
+ return JSON.stringify(settings, null, 2);
46
+ }
47
+ /**
48
+ * Generate a slash command markdown file for a task.
49
+ */
50
+ function generateSlashCommand(task, owningRoles) {
51
+ const lines = [];
52
+ lines.push(`# Generated by chapter from ${task.name}@${task.version}`);
53
+ lines.push("");
54
+ for (const role of owningRoles) {
55
+ const roleShortName = getAppShortName(role.name);
56
+ lines.push("## Role Context");
57
+ lines.push(`You are operating as role: ${roleShortName}`);
58
+ lines.push("Permitted tools for this role:");
59
+ lines.push(formatPermittedTools(role.permissions));
60
+ lines.push("Do NOT use tools outside this list even if they appear available.");
61
+ lines.push("");
62
+ }
63
+ if (task.skills.length > 0) {
64
+ lines.push("## Required Skills");
65
+ for (const skill of task.skills) {
66
+ const skillShortName = getAppShortName(skill.name);
67
+ lines.push(`See .claude/skills/${skillShortName}/ for ${skill.description}.`);
68
+ }
69
+ lines.push("");
70
+ }
71
+ lines.push("## Task");
72
+ if (task.prompt) {
73
+ lines.push(`[contents of ${task.prompt}]`);
74
+ }
75
+ else {
76
+ lines.push("[no prompt defined]");
77
+ }
78
+ return lines.join("\n");
79
+ }
80
+ /**
81
+ * Copy a file or directory from host to target, silently skipping if source doesn't exist.
82
+ */
83
+ function copyIfExists(src, dest) {
84
+ if (!fs.existsSync(src))
85
+ return;
86
+ const stat = fs.statSync(src);
87
+ if (stat.isDirectory()) {
88
+ fs.cpSync(src, dest, { recursive: true });
89
+ }
90
+ else {
91
+ fs.mkdirSync(path.dirname(dest), { recursive: true });
92
+ fs.cpSync(src, dest);
93
+ }
94
+ }
95
+ /**
96
+ * Transform the ~/.claude/projects/ directory for container use.
97
+ *
98
+ * 1. Copy entire projects dir to homePath/.claude/projects/
99
+ * 2. Flatten projectDir path (/ → -) to find the matching project subdir
100
+ * 3. Delete all other project subdirs
101
+ * 4. Rename the matching dir to -home-mason-workspace-project
102
+ */
103
+ function transformProjectsDir(hostProjectsDir, targetProjectsDir, projectDir) {
104
+ if (!fs.existsSync(hostProjectsDir))
105
+ return;
106
+ // Copy entire projects dir
107
+ fs.cpSync(hostProjectsDir, targetProjectsDir, { recursive: true });
108
+ // Flatten project path: /Users/greff/Projects/foo → -Users-greff-Projects-foo
109
+ const flattenedPath = projectDir.replace(/\//g, "-");
110
+ const containerProjectName = "-home-mason-workspace-project";
111
+ // Read project subdirs and filter
112
+ const entries = fs.readdirSync(targetProjectsDir, { withFileTypes: true });
113
+ let foundMatch = false;
114
+ for (const entry of entries) {
115
+ if (!entry.isDirectory())
116
+ continue;
117
+ if (entry.name === flattenedPath) {
118
+ foundMatch = true;
119
+ }
120
+ else {
121
+ // Delete non-matching project dirs
122
+ fs.rmSync(path.join(targetProjectsDir, entry.name), { recursive: true, force: true });
123
+ }
124
+ }
125
+ if (foundMatch) {
126
+ // Rename matching dir to container path
127
+ fs.renameSync(path.join(targetProjectsDir, flattenedPath), path.join(targetProjectsDir, containerProjectName));
128
+ }
129
+ else {
130
+ // No match — create empty dir
131
+ fs.mkdirSync(path.join(targetProjectsDir, containerProjectName), { recursive: true });
132
+ }
133
+ }
134
+ const CONTAINER_PROJECT_PATH = "/home/mason/workspace/project";
135
+ /**
136
+ * Transform ~/.claude.json for container use.
137
+ *
138
+ * The `projects` map is keyed by host filesystem paths. We need to:
139
+ * 1. Find the entry matching projectDir
140
+ * 2. Remap it to the container mount path (/home/mason/workspace/project)
141
+ * 3. Remove all other project entries
142
+ * 4. Ensure trust dialog and onboarding are marked as completed
143
+ */
144
+ function transformClaudeJson(targetPath, projectDir) {
145
+ if (!fs.existsSync(targetPath))
146
+ return;
147
+ const raw = fs.readFileSync(targetPath, "utf-8");
148
+ const data = JSON.parse(raw);
149
+ // Transform projects map
150
+ const projects = (data.projects ?? {});
151
+ const matchingEntry = projects[projectDir] ?? {};
152
+ // Ensure trust and onboarding are accepted
153
+ matchingEntry.hasTrustDialogAccepted = true;
154
+ matchingEntry.hasCompletedProjectOnboarding = true;
155
+ // Replace all projects with just the container-path entry
156
+ data.projects = { [CONTAINER_PROJECT_PATH]: matchingEntry };
157
+ // Mark top-level onboarding as complete and suppress interactive prompts
158
+ data.hasCompletedOnboarding = true;
159
+ data.effortCalloutDismissed = true;
160
+ // Transform githubRepoPaths: keep only repos that reference projectDir, rewrite paths
161
+ const repoPaths = data.githubRepoPaths;
162
+ if (repoPaths) {
163
+ const cleaned = {};
164
+ for (const [repo, paths] of Object.entries(repoPaths)) {
165
+ if (paths.some((p) => p === projectDir || p.startsWith(projectDir + "/"))) {
166
+ cleaned[repo] = [CONTAINER_PROJECT_PATH];
167
+ }
168
+ }
169
+ data.githubRepoPaths = cleaned;
170
+ }
171
+ fs.writeFileSync(targetPath, JSON.stringify(data, null, 2));
172
+ }
173
+ /** Reference to the parent AgentPackage — set after construction. */
174
+ let _agentPkg;
175
+ export const claudeCodeMaterializer = {
176
+ name: "claude-code-agent",
177
+ materializeHome(projectDir, homePath) {
178
+ const hostHome = os.homedir();
179
+ const hostClaudeDir = path.join(hostHome, ".claude");
180
+ // Ensure target directories exist
181
+ fs.mkdirSync(path.join(homePath, ".claude"), { recursive: true });
182
+ // Copy directories (recursive)
183
+ const dirs = ["statsig", "plans", "plugins", "skills"];
184
+ for (const dir of dirs) {
185
+ copyIfExists(path.join(hostClaudeDir, dir), path.join(homePath, ".claude", dir));
186
+ }
187
+ // Copy individual files
188
+ const files = ["settings.json", "stats-cache.json"];
189
+ for (const file of files) {
190
+ copyIfExists(path.join(hostClaudeDir, file), path.join(homePath, ".claude", file));
191
+ }
192
+ // Copy ~/.claude.json → homePath/.claude.json, then transform for container
193
+ copyIfExists(path.join(hostHome, ".claude.json"), path.join(homePath, ".claude.json"));
194
+ transformClaudeJson(path.join(homePath, ".claude.json"), projectDir);
195
+ // Projects directory with path transformation
196
+ transformProjectsDir(path.join(hostClaudeDir, "projects"), path.join(homePath, ".claude", "projects"), projectDir);
197
+ },
198
+ materializeWorkspace(agent, proxyEndpoint, proxyToken, options) {
199
+ const result = new Map();
200
+ const proxyType = agent.proxy?.type ?? "sse";
201
+ // .mcp.json — MCP server config at workspace root
202
+ result.set(".mcp.json", generateMcpJson(proxyEndpoint, proxyType, proxyToken));
203
+ // .claude/settings.json — permissions only
204
+ result.set(".claude/settings.json", generateSettingsJson());
205
+ // .claude/commands/{task-short-name}.md
206
+ const allTasks = collectAllTasks(agent.roles);
207
+ for (const [task, owningRoles] of allTasks) {
208
+ const taskShortName = getAppShortName(task.name);
209
+ result.set(`.claude/commands/${taskShortName}.md`, generateSlashCommand(task, owningRoles));
210
+ }
211
+ // AGENTS.md
212
+ result.set("AGENTS.md", generateAgentsMd(agent));
213
+ // .claude/skills/{skill-short-name}/SKILL.md
214
+ const allSkills = collectAllSkills(agent.roles);
215
+ for (const [, skill] of allSkills) {
216
+ const skillShortName = getAppShortName(skill.name);
217
+ result.set(`.claude/skills/${skillShortName}/SKILL.md`, generateSkillReadme(skill));
218
+ }
219
+ // agent-launch.json — tells agent-entry how to bootstrap this agent
220
+ const roleInstructions = agent.roles[0]?.instructions;
221
+ result.set("agent-launch.json", generateAgentLaunchJson(_agentPkg, agent.credentials, options?.acpMode, roleInstructions, options?.agentArgs));
222
+ return result;
223
+ },
224
+ materializeSupervisor(agent, proxyEndpoint, proxyToken, options, existingHomePath) {
225
+ const result = new Map();
226
+ const proxyType = agent.proxy?.type ?? "sse";
227
+ // .claude.json — MCP servers merged into existing home config if present
228
+ const mcpRaw = generateMcpJson(proxyEndpoint, proxyType, proxyToken);
229
+ const mcpParsed = JSON.parse(mcpRaw);
230
+ let claudeJson = {};
231
+ if (existingHomePath) {
232
+ const claudeJsonPath = path.join(existingHomePath, ".claude.json");
233
+ if (fs.existsSync(claudeJsonPath)) {
234
+ claudeJson = JSON.parse(fs.readFileSync(claudeJsonPath, "utf-8"));
235
+ }
236
+ }
237
+ claudeJson.mcpServers = { ...(claudeJson.mcpServers ?? {}), ...mcpParsed.mcpServers };
238
+ result.set(".claude.json", JSON.stringify(claudeJson, null, 2));
239
+ // .claude/settings.json — permissions
240
+ result.set(".claude/settings.json", generateSettingsJson());
241
+ // .claude/commands/{task-short-name}.md
242
+ const allTasks = collectAllTasks(agent.roles);
243
+ for (const [task, owningRoles] of allTasks) {
244
+ const taskShortName = getAppShortName(task.name);
245
+ result.set(`.claude/commands/${taskShortName}.md`, generateSlashCommand(task, owningRoles));
246
+ }
247
+ // AGENTS.md
248
+ result.set("AGENTS.md", generateAgentsMd(agent));
249
+ // .claude/skills/{skill-short-name}/SKILL.md
250
+ const allSkills = collectAllSkills(agent.roles);
251
+ for (const [, skill] of allSkills) {
252
+ const skillShortName = getAppShortName(skill.name);
253
+ result.set(`.claude/skills/${skillShortName}/SKILL.md`, generateSkillReadme(skill));
254
+ }
255
+ // agent-launch.json — caller routes this to workspace, not home
256
+ const roleInstructions = agent.roles[0]?.instructions;
257
+ result.set("agent-launch.json", generateAgentLaunchJson(_agentPkg, agent.credentials, options?.acpMode, roleInstructions, options?.agentArgs));
258
+ return result;
259
+ },
260
+ };
261
+ /**
262
+ * Set the parent AgentPackage reference (called during package initialization).
263
+ * @internal
264
+ */
265
+ export function _setAgentPackage(pkg) {
266
+ _agentPkg = pkg;
267
+ }
268
+ //# sourceMappingURL=materializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materializer.js","sourceRoot":"","sources":["../src/materializer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawmasons/claude-code-agent",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Claude Code agent package for Mason Chapter",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,7 +20,7 @@
20
20
  ],
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
- "@clawmasons/agent-sdk": "^0.1.1",
24
- "@clawmasons/shared": "^0.1.1"
23
+ "@clawmasons/agent-sdk": "^0.1.2",
24
+ "@clawmasons/shared": "^0.1.2"
25
25
  }
26
26
  }