@clawmasons/agent-sdk 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.
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # @clawmasons/agent-sdk
2
+
3
+ SDK for building Mason agent packages
4
+
5
+ ## More Information
6
+
7
+ This package is part of the [Mason](https://github.com/clawmasons/mason) monorepo. See the [main README](https://github.com/clawmasons/mason/blob/main/README.md) for full documentation.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,gCAAgC,CAAC;CAC3C;AAED;;;GAGG;AACH,eAAO,MAAM,oCAAoC,EAAE,0BAclD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;IACnC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,IAAI,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;IACnC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0FAA0F;IAC1F,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAgID;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgClF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CASxG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAIjE;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,YAAY,EAAE,EAC7B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CAiBxB;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAExF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAMzE;AA8FD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAUxG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAIjE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASpD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAC/D,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EAAE,GACpB,YAAY,EAAE,CAIhB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAmBlF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EAAE,GACpB,KAAK,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAevC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA0C7D;AAID,sDAAsD;AACtD,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,CAAC,EAAE,OAAO,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,MAAM,CA0CR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAchE"}
@@ -0,0 +1,180 @@
1
+ import { getAppShortName } from "@clawmasons/shared";
2
+ /**
3
+ * Mapping from LLM provider identifiers to their environment variable names.
4
+ *
5
+ * Used by Dockerfile generators to inject the correct API key into
6
+ * Docker Compose services, and by env template generation to include
7
+ * the key in .env.example.
8
+ */
9
+ export const PROVIDER_ENV_VARS = {
10
+ "openrouter": "OPENROUTER_API_KEY",
11
+ "anthropic": "ANTHROPIC_API_KEY",
12
+ "openai": "OPENAI_API_KEY",
13
+ "google": "GEMINI_API_KEY",
14
+ "mistral": "MISTRAL_API_KEY",
15
+ "groq": "GROQ_API_KEY",
16
+ "xai": "XAI_API_KEY",
17
+ "azure-openai": "AZURE_OPENAI_API_KEY",
18
+ };
19
+ /**
20
+ * Format a role's permitted tools as a readable list.
21
+ * Each line: " - {appShortName}: tool1, tool2, tool3"
22
+ */
23
+ export function formatPermittedTools(permissions) {
24
+ const lines = [];
25
+ for (const [appName, perms] of Object.entries(permissions)) {
26
+ const shortName = getAppShortName(appName);
27
+ lines.push(` - ${shortName}: ${perms.allow.join(", ")}`);
28
+ }
29
+ return lines.join("\n");
30
+ }
31
+ /**
32
+ * Find which roles contain a given task (by name).
33
+ */
34
+ export function findRolesForTask(taskName, roles) {
35
+ return roles.filter((role) => role.tasks.some((t) => t.name === taskName));
36
+ }
37
+ /**
38
+ * Collect all unique skills across all roles.
39
+ */
40
+ export function collectAllSkills(roles) {
41
+ const skills = new Map();
42
+ for (const role of roles) {
43
+ for (const skill of role.skills) {
44
+ if (!skills.has(skill.name)) {
45
+ skills.set(skill.name, skill);
46
+ }
47
+ }
48
+ for (const task of role.tasks) {
49
+ for (const skill of task.skills) {
50
+ if (!skills.has(skill.name)) {
51
+ skills.set(skill.name, skill);
52
+ }
53
+ }
54
+ }
55
+ }
56
+ return skills;
57
+ }
58
+ /**
59
+ * Collect all unique tasks across all roles.
60
+ * Returns tuples of [task, owningRoles].
61
+ */
62
+ export function collectAllTasks(roles) {
63
+ const seen = new Set();
64
+ const result = [];
65
+ for (const role of roles) {
66
+ for (const task of role.tasks) {
67
+ if (!seen.has(task.name)) {
68
+ seen.add(task.name);
69
+ const owningRoles = findRolesForTask(task.name, roles);
70
+ result.push([task, owningRoles]);
71
+ }
72
+ }
73
+ }
74
+ return result;
75
+ }
76
+ /**
77
+ * Generate AGENTS.md content.
78
+ */
79
+ export function generateAgentsMd(agent) {
80
+ const agentShortName = getAppShortName(agent.name);
81
+ const lines = [];
82
+ lines.push(`# Agent: ${agentShortName}`);
83
+ lines.push("");
84
+ lines.push("You are an agent managed by chapter (Clawmasons Chapter).");
85
+ lines.push("You have multiple roles. Each task you execute specifies which");
86
+ lines.push("role is active. Only use tools permitted by the active role.");
87
+ lines.push("");
88
+ lines.push("## Roles");
89
+ for (const role of agent.roles) {
90
+ const roleShortName = getAppShortName(role.name);
91
+ lines.push("");
92
+ lines.push(`### ${roleShortName}`);
93
+ if (role.description) {
94
+ lines.push(role.description);
95
+ }
96
+ lines.push("");
97
+ lines.push("**Permitted tools:**");
98
+ lines.push(formatPermittedTools(role.permissions));
99
+ if (role.constraints) {
100
+ const hasConstraints = role.constraints.maxConcurrentTasks !== undefined ||
101
+ (role.constraints.requireApprovalFor && role.constraints.requireApprovalFor.length > 0);
102
+ if (hasConstraints) {
103
+ lines.push("");
104
+ lines.push("**Constraints:**");
105
+ if (role.constraints.maxConcurrentTasks !== undefined) {
106
+ lines.push(`- Max concurrent tasks: ${role.constraints.maxConcurrentTasks}`);
107
+ }
108
+ if (role.constraints.requireApprovalFor && role.constraints.requireApprovalFor.length > 0) {
109
+ lines.push(`- Requires approval for: ${role.constraints.requireApprovalFor.join(", ")}`);
110
+ }
111
+ }
112
+ }
113
+ }
114
+ return lines.join("\n");
115
+ }
116
+ /**
117
+ * Generate agent-launch.json content for the agent-entry entrypoint.
118
+ *
119
+ * Uses the AgentPackage's runtime config to determine command, args,
120
+ * and runtime-specific credentials. Merges with role-declared credentials.
121
+ *
122
+ * @param agentPkg - The agent package providing runtime config
123
+ * @param roleCredentials - Credential keys declared by the role
124
+ * @param acpMode - Whether to generate ACP mode config
125
+ * @returns JSON string of agent-launch.json
126
+ */
127
+ export function generateAgentLaunchJson(agentPkg, roleCredentials, acpMode, instructions, agentArgs) {
128
+ // Start with runtime-specific credentials from the agent package
129
+ const credentials = [
130
+ ...(agentPkg.runtime?.credentials ?? []),
131
+ ];
132
+ // Add role-declared credentials as env vars (skip any already added as runtime credentials)
133
+ const runtimeKeys = new Set(credentials.map((c) => c.key));
134
+ for (const key of roleCredentials) {
135
+ if (!runtimeKeys.has(key)) {
136
+ credentials.push({ key, type: "env" });
137
+ }
138
+ }
139
+ // Determine command
140
+ let command;
141
+ let args;
142
+ if (acpMode && agentPkg.acp) {
143
+ const parts = agentPkg.acp.command.split(/\s+/);
144
+ command = parts[0];
145
+ args = parts.length > 1 ? parts.slice(1) : undefined;
146
+ }
147
+ else {
148
+ command = agentPkg.runtime?.command ?? agentPkg.name;
149
+ args = agentPkg.runtime?.args;
150
+ }
151
+ if (instructions && !acpMode && agentPkg.runtime?.supportsInitialPrompt) {
152
+ args = [...(args ?? []), instructions];
153
+ }
154
+ // Append alias-level agent-args after all other resolved args
155
+ if (agentArgs && agentArgs.length > 0) {
156
+ args = [...(args ?? []), ...agentArgs];
157
+ }
158
+ const config = { credentials, command };
159
+ if (args && args.length > 0) {
160
+ config.args = args;
161
+ }
162
+ return JSON.stringify(config, null, 2);
163
+ }
164
+ /**
165
+ * Generate a skill README.md.
166
+ */
167
+ export function generateSkillReadme(skill) {
168
+ const lines = [];
169
+ const skillShortName = getAppShortName(skill.name);
170
+ lines.push(`# ${skillShortName}`);
171
+ lines.push("");
172
+ lines.push(skill.description);
173
+ lines.push("");
174
+ lines.push("## Artifacts");
175
+ for (const artifact of skill.artifacts) {
176
+ lines.push(`- ${artifact}`);
177
+ }
178
+ return lines.join("\n");
179
+ }
180
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,EACR,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AACtJ,OAAO,EAAE,oCAAoC,EAAE,MAAM,gBAAgB,CAAC;AAGtE,YAAY,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ // Helpers
2
+ export { PROVIDER_ENV_VARS, formatPermittedTools, findRolesForTask, collectAllSkills, collectAllTasks, generateAgentsMd, generateAgentLaunchJson, generateSkillReadme, } from "./helpers.js";
3
+ // Discovery
4
+ export { createAgentRegistry, loadConfigAgents, loadConfigAgentEntry, readConfigAgentNames, loadConfigAliasEntry, readConfigAliasNames, getAgent, getRegisteredAgentNames, } from "./discovery.js";
5
+ export { DEFAULT_DEV_CONTAINER_CUSTOMIZATIONS } from "./discovery.js";
6
+ export { getAppShortName } from "@clawmasons/shared";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,UAAU;AACV,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,YAAY;AACZ,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,EACR,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,oCAAoC,EAAE,MAAM,gBAAgB,CAAC;AAStE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4HAA4H;IAC5H,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,mGAAmG;IACnG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,oBAAoB,CAClB,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,qBAAqB,CAAC;IAEzB;;;;;;;OAOG;IACH,eAAe,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7D;;;;;;;;;;;OAWG;IACH,qBAAqB,CAAC,CACpB,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,kBAAkB,EAC5B,gBAAgB,CAAC,EAAE,MAAM,GACxB,qBAAqB,CAAC;CAC1B;AAID;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,0FAA0F;IAC1F,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IAEb,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,oDAAoD;IACpD,YAAY,EAAE,mBAAmB,CAAC;IAElC,mCAAmC;IACnC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,8BAA8B;IAC9B,GAAG,CAAC,EAAE,SAAS,CAAC;IAEhB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@clawmasons/agent-sdk",
3
+ "version": "0.1.0",
4
+ "description": "SDK for building Mason Chapter agent packages",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "tsc -p tsconfig.build.json",
16
+ "typecheck": "tsc --noEmit"
17
+ },
18
+ "files": [
19
+ "dist"
20
+ ],
21
+ "license": "MIT",
22
+ "dependencies": {
23
+ "@clawmasons/shared": "0.1.0"
24
+ }
25
+ }