@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.
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/materializer.d.ts +8 -0
- package/dist/materializer.d.ts.map +1 -0
- package/dist/materializer.js +268 -0
- package/dist/materializer.js.map +1 -0
- package/package.json +3 -3
package/dist/index.d.ts
ADDED
|
@@ -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.
|
|
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.
|
|
24
|
-
"@clawmasons/shared": "^0.1.
|
|
23
|
+
"@clawmasons/agent-sdk": "^0.1.2",
|
|
24
|
+
"@clawmasons/shared": "^0.1.2"
|
|
25
25
|
}
|
|
26
26
|
}
|