@clawmasons/mason 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.
Files changed (153) hide show
  1. package/dist/acp/bridge.d.ts +92 -0
  2. package/dist/acp/bridge.d.ts.map +1 -0
  3. package/dist/acp/bridge.js +266 -0
  4. package/dist/acp/bridge.js.map +1 -0
  5. package/dist/acp/logger.d.ts +18 -0
  6. package/dist/acp/logger.d.ts.map +1 -0
  7. package/dist/acp/logger.js +35 -0
  8. package/dist/acp/logger.js.map +1 -0
  9. package/dist/acp/matcher.d.ts +60 -0
  10. package/dist/acp/matcher.d.ts.map +1 -0
  11. package/dist/acp/matcher.js +101 -0
  12. package/dist/acp/matcher.js.map +1 -0
  13. package/dist/acp/rewriter.d.ts +35 -0
  14. package/dist/acp/rewriter.d.ts.map +1 -0
  15. package/dist/acp/rewriter.js +46 -0
  16. package/dist/acp/rewriter.js.map +1 -0
  17. package/dist/acp/session.d.ts +202 -0
  18. package/dist/acp/session.d.ts.map +1 -0
  19. package/dist/acp/session.js +444 -0
  20. package/dist/acp/session.js.map +1 -0
  21. package/dist/acp/warnings.d.ts +24 -0
  22. package/dist/acp/warnings.d.ts.map +1 -0
  23. package/dist/acp/warnings.js +32 -0
  24. package/dist/acp/warnings.js.map +1 -0
  25. package/dist/cli/bin.d.ts +3 -0
  26. package/dist/cli/bin.d.ts.map +1 -0
  27. package/dist/cli/bin.js +4 -0
  28. package/dist/cli/bin.js.map +1 -0
  29. package/dist/cli/commands/build.d.ts +22 -0
  30. package/dist/cli/commands/build.d.ts.map +1 -0
  31. package/dist/cli/commands/build.js +107 -0
  32. package/dist/cli/commands/build.js.map +1 -0
  33. package/dist/cli/commands/docker-utils.d.ts +16 -0
  34. package/dist/cli/commands/docker-utils.d.ts.map +1 -0
  35. package/dist/cli/commands/docker-utils.js +54 -0
  36. package/dist/cli/commands/docker-utils.js.map +1 -0
  37. package/dist/cli/commands/index.d.ts +11 -0
  38. package/dist/cli/commands/index.d.ts.map +1 -0
  39. package/dist/cli/commands/index.js +89 -0
  40. package/dist/cli/commands/index.js.map +1 -0
  41. package/dist/cli/commands/list.d.ts +8 -0
  42. package/dist/cli/commands/list.d.ts.map +1 -0
  43. package/dist/cli/commands/list.js +60 -0
  44. package/dist/cli/commands/list.js.map +1 -0
  45. package/dist/cli/commands/package.d.ts +15 -0
  46. package/dist/cli/commands/package.d.ts.map +1 -0
  47. package/dist/cli/commands/package.js +241 -0
  48. package/dist/cli/commands/package.js.map +1 -0
  49. package/dist/cli/commands/permissions.d.ts +8 -0
  50. package/dist/cli/commands/permissions.d.ts.map +1 -0
  51. package/dist/cli/commands/permissions.js +60 -0
  52. package/dist/cli/commands/permissions.js.map +1 -0
  53. package/dist/cli/commands/proxy.d.ts +12 -0
  54. package/dist/cli/commands/proxy.d.ts.map +1 -0
  55. package/dist/cli/commands/proxy.js +253 -0
  56. package/dist/cli/commands/proxy.js.map +1 -0
  57. package/dist/cli/commands/run-agent.d.ts +149 -0
  58. package/dist/cli/commands/run-agent.d.ts.map +1 -0
  59. package/dist/cli/commands/run-agent.js +1072 -0
  60. package/dist/cli/commands/run-agent.js.map +1 -0
  61. package/dist/cli/commands/validate.d.ts +10 -0
  62. package/dist/cli/commands/validate.d.ts.map +1 -0
  63. package/dist/cli/commands/validate.js +138 -0
  64. package/dist/cli/commands/validate.js.map +1 -0
  65. package/dist/cli/index.d.ts +5 -0
  66. package/dist/cli/index.d.ts.map +1 -0
  67. package/dist/cli/index.js +18 -0
  68. package/dist/cli/index.js.map +1 -0
  69. package/dist/cli/proxy-entry.d.ts +8 -0
  70. package/dist/cli/proxy-entry.d.ts.map +1 -0
  71. package/dist/cli/proxy-entry.js +25 -0
  72. package/dist/cli/proxy-entry.js.map +1 -0
  73. package/dist/generator/agent-dockerfile.d.ts +38 -0
  74. package/dist/generator/agent-dockerfile.d.ts.map +1 -0
  75. package/dist/generator/agent-dockerfile.js +120 -0
  76. package/dist/generator/agent-dockerfile.js.map +1 -0
  77. package/dist/generator/credential-service-dockerfile.d.ts +14 -0
  78. package/dist/generator/credential-service-dockerfile.d.ts.map +1 -0
  79. package/dist/generator/credential-service-dockerfile.js +44 -0
  80. package/dist/generator/credential-service-dockerfile.js.map +1 -0
  81. package/dist/generator/index.d.ts +6 -0
  82. package/dist/generator/index.d.ts.map +1 -0
  83. package/dist/generator/index.js +6 -0
  84. package/dist/generator/index.js.map +1 -0
  85. package/dist/generator/mount-volumes.d.ts +30 -0
  86. package/dist/generator/mount-volumes.d.ts.map +1 -0
  87. package/dist/generator/mount-volumes.js +39 -0
  88. package/dist/generator/mount-volumes.js.map +1 -0
  89. package/dist/generator/proxy-dockerfile.d.ts +19 -0
  90. package/dist/generator/proxy-dockerfile.d.ts.map +1 -0
  91. package/dist/generator/proxy-dockerfile.js +59 -0
  92. package/dist/generator/proxy-dockerfile.js.map +1 -0
  93. package/dist/index.d.ts +8 -0
  94. package/dist/index.d.ts.map +1 -0
  95. package/dist/index.js +8 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/materializer/common.d.ts +17 -0
  98. package/dist/materializer/common.d.ts.map +1 -0
  99. package/dist/materializer/common.js +37 -0
  100. package/dist/materializer/common.js.map +1 -0
  101. package/dist/materializer/docker-generator.d.ts +258 -0
  102. package/dist/materializer/docker-generator.d.ts.map +1 -0
  103. package/dist/materializer/docker-generator.js +529 -0
  104. package/dist/materializer/docker-generator.js.map +1 -0
  105. package/dist/materializer/index.d.ts +9 -0
  106. package/dist/materializer/index.d.ts.map +1 -0
  107. package/dist/materializer/index.js +7 -0
  108. package/dist/materializer/index.js.map +1 -0
  109. package/dist/materializer/proxy-dependencies.d.ts +43 -0
  110. package/dist/materializer/proxy-dependencies.d.ts.map +1 -0
  111. package/dist/materializer/proxy-dependencies.js +452 -0
  112. package/dist/materializer/proxy-dependencies.js.map +1 -0
  113. package/dist/materializer/role-materializer.d.ts +56 -0
  114. package/dist/materializer/role-materializer.d.ts.map +1 -0
  115. package/dist/materializer/role-materializer.js +119 -0
  116. package/dist/materializer/role-materializer.js.map +1 -0
  117. package/dist/materializer/types.d.ts +2 -0
  118. package/dist/materializer/types.d.ts.map +1 -0
  119. package/dist/materializer/types.js +2 -0
  120. package/dist/materializer/types.js.map +1 -0
  121. package/dist/resolver/discover.d.ts +7 -0
  122. package/dist/resolver/discover.d.ts.map +1 -0
  123. package/dist/resolver/discover.js +102 -0
  124. package/dist/resolver/discover.js.map +1 -0
  125. package/dist/resolver/errors.d.ts +35 -0
  126. package/dist/resolver/errors.d.ts.map +1 -0
  127. package/dist/resolver/errors.js +62 -0
  128. package/dist/resolver/errors.js.map +1 -0
  129. package/dist/resolver/index.d.ts +5 -0
  130. package/dist/resolver/index.d.ts.map +1 -0
  131. package/dist/resolver/index.js +4 -0
  132. package/dist/resolver/index.js.map +1 -0
  133. package/dist/resolver/resolve.d.ts +8 -0
  134. package/dist/resolver/resolve.d.ts.map +1 -0
  135. package/dist/resolver/resolve.js +177 -0
  136. package/dist/resolver/resolve.js.map +1 -0
  137. package/dist/runtime/gitignore.d.ts +16 -0
  138. package/dist/runtime/gitignore.d.ts.map +1 -0
  139. package/dist/runtime/gitignore.js +37 -0
  140. package/dist/runtime/gitignore.js.map +1 -0
  141. package/dist/validator/index.d.ts +3 -0
  142. package/dist/validator/index.d.ts.map +1 -0
  143. package/dist/validator/index.js +2 -0
  144. package/dist/validator/index.js.map +1 -0
  145. package/dist/validator/types.d.ts +48 -0
  146. package/dist/validator/types.d.ts.map +1 -0
  147. package/dist/validator/types.js +2 -0
  148. package/dist/validator/types.js.map +1 -0
  149. package/dist/validator/validate.d.ts +8 -0
  150. package/dist/validator/validate.d.ts.map +1 -0
  151. package/dist/validator/validate.js +217 -0
  152. package/dist/validator/validate.js.map +1 -0
  153. package/package.json +10 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/cli/commands/package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Command } from "commander";
2
+ interface PermissionsOptions {
3
+ json?: boolean;
4
+ }
5
+ export declare function registerPermissionsCommand(program: Command): void;
6
+ export declare function runPermissions(rootDir: string, roleName: string, options: PermissionsOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,UAAU,kBAAkB;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAOD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CASjE;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyDf"}
@@ -0,0 +1,60 @@
1
+ import { resolveRole, adaptRoleToResolvedAgent, getAppShortName, computeToolFilters } from "@clawmasons/shared";
2
+ export function registerPermissionsCommand(program) {
3
+ program
4
+ .command("permissions")
5
+ .description("Display the resolved permission matrix and toolFilter for a role")
6
+ .argument("<role>", "Role name")
7
+ .option("--json", "Output as JSON")
8
+ .action(async (roleName, options) => {
9
+ await runPermissions(process.cwd(), roleName, options);
10
+ });
11
+ }
12
+ export async function runPermissions(rootDir, roleName, options) {
13
+ try {
14
+ // 1. Resolve role and adapt to ResolvedAgent for compatibility
15
+ const roleType = await resolveRole(roleName, rootDir);
16
+ const agentType = roleType.source.agentDialect ?? "claude-code-agent";
17
+ const agent = adaptRoleToResolvedAgent(roleType, agentType);
18
+ // 2. Compute toolFilters
19
+ const toolFilters = computeToolFilters(agent);
20
+ if (options.json) {
21
+ const output = {
22
+ roles: {},
23
+ toolFilters: {},
24
+ };
25
+ for (const role of agent.roles) {
26
+ output.roles[role.name] = role.permissions;
27
+ }
28
+ for (const [appName, filter] of toolFilters) {
29
+ output.toolFilters[appName] = filter;
30
+ }
31
+ console.log(JSON.stringify(output, null, 2));
32
+ return;
33
+ }
34
+ // 3. Print per-role breakdown
35
+ console.log(`\nPermissions for role: ${roleName}\n`);
36
+ for (const role of agent.roles) {
37
+ console.log(` Role: ${getAppShortName(role.name)}`);
38
+ for (const [appName, perms] of Object.entries(role.permissions)) {
39
+ console.log(` ${getAppShortName(appName)}:`);
40
+ console.log(` allow: [${perms.allow.join(", ")}]`);
41
+ if (perms.deny.length > 0) {
42
+ console.log(` deny: [${perms.deny.join(", ")}]`);
43
+ }
44
+ }
45
+ console.log("");
46
+ }
47
+ // 4. Print proxy-level toolFilter
48
+ console.log(" Proxy toolFilter (union of all roles):");
49
+ for (const [appName, filter] of toolFilters) {
50
+ console.log(` ${getAppShortName(appName)}: [${filter.list.join(", ")}]`);
51
+ }
52
+ console.log("");
53
+ }
54
+ catch (error) {
55
+ const message = error instanceof Error ? error.message : String(error);
56
+ console.error(`\n Permissions failed: ${message}\n`);
57
+ process.exit(1);
58
+ }
59
+ }
60
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/cli/commands/permissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAWhH,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;SAC/B,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAA2B,EAAE,EAAE;QAC9D,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,QAAgB,EAChB,OAA2B;IAE3B,IAAI,CAAC;QACH,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,IAAI,mBAAmB,CAAC;QACtE,MAAM,KAAK,GAAG,wBAAwB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE5D,yBAAyB;QACzB,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,MAAM,GAAsB;gBAChC,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,EAAE;aAChB,CAAC;YAEF,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;YAC7C,CAAC;YAED,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;YACvC,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,IAAI,CAAC,CAAC;QAErD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,WAAW,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAErD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,kCAAkC;QAClC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAExD,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,2BAA2B,OAAO,IAAI,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Command } from "commander";
2
+ interface ProxyOptions {
3
+ port?: string;
4
+ startupTimeout?: string;
5
+ agent?: string;
6
+ role?: string;
7
+ transport?: string;
8
+ }
9
+ export declare function registerProxyCommand(program: Command): void;
10
+ export declare function startProxy(rootDir: string, options: ProxyOptions): Promise<void>;
11
+ export {};
12
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAY3D;AAID,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAoLf"}
@@ -0,0 +1,253 @@
1
+ import { join } from "node:path";
2
+ import { discoverPackages } from "../../resolver/discover.js";
3
+ import { resolveRolePackage } from "../../resolver/resolve.js";
4
+ import { computeToolFilters } from "@clawmasons/shared";
5
+ import { loadEnvFile, resolveEnvVars, openDatabase, UpstreamManager, ToolRouter, ResourceRouter, PromptRouter, ChapterProxyServer, } from "@clawmasons/proxy";
6
+ // ── Command Registration ──────────────────────────────────────────────
7
+ export function registerProxyCommand(program) {
8
+ program
9
+ .command("proxy")
10
+ .description("Start the chapter MCP proxy server for a role")
11
+ .option("--port <number>", "Port to listen on (default: 9090)")
12
+ .option("--startup-timeout <seconds>", "Upstream server startup timeout in seconds (default: 60)")
13
+ .option("--agent <name>", "Agent package name (for backward compatibility)")
14
+ .option("--role <name>", "Role package name to proxy for")
15
+ .option("--transport <type>", "Transport type: sse or streamable-http (default: sse)")
16
+ .action(async (options) => {
17
+ await startProxy(process.cwd(), options);
18
+ });
19
+ }
20
+ // ── Startup Orchestrator ──────────────────────────────────────────────
21
+ export async function startProxy(rootDir, options) {
22
+ let db;
23
+ let upstream;
24
+ let server;
25
+ // Graceful shutdown handler
26
+ const shutdown = async () => {
27
+ console.log("\nShutting down mason proxy...");
28
+ try {
29
+ if (server)
30
+ await server.stop();
31
+ }
32
+ catch { /* best-effort */ }
33
+ try {
34
+ if (upstream)
35
+ await upstream.shutdown();
36
+ }
37
+ catch { /* best-effort */ }
38
+ try {
39
+ if (db)
40
+ db.close();
41
+ }
42
+ catch { /* best-effort */ }
43
+ process.exit(0);
44
+ };
45
+ process.on("SIGINT", () => void shutdown());
46
+ process.on("SIGTERM", () => void shutdown());
47
+ try {
48
+ const t0 = performance.now();
49
+ const elapsed = () => `[+${Math.round(performance.now() - t0)}ms]`;
50
+ let stepStart = t0;
51
+ const stepMs = () => { const d = Math.round(performance.now() - stepStart); stepStart = performance.now(); return d; };
52
+ // ── Step 1: Discover packages ──────────────────────────────────────
53
+ console.log(`${elapsed()} Discovering packages...`);
54
+ const packages = discoverPackages(rootDir);
55
+ console.log(`${elapsed()} Discovered ${packages.size} packages (${stepMs()}ms)`);
56
+ // ── Step 2: Resolve role ───────────────────────────────────────────
57
+ const roleName = resolveRoleName(options.agent ?? options.role, packages);
58
+ console.log(`${elapsed()} Resolving role "${roleName}"...`);
59
+ const resolvedRole = resolveRolePackage(roleName, packages);
60
+ console.log(`${elapsed()} Role resolved (${stepMs()}ms)`);
61
+ // Build a ResolvedAgent wrapper for compatibility with existing proxy infrastructure
62
+ const agent = {
63
+ name: roleName,
64
+ version: resolvedRole.version,
65
+ agentName: roleName,
66
+ slug: roleName.replace(/^@[^/]+\//, "").replace(/[^a-z0-9-]/g, "-"),
67
+ runtimes: ["claude-code-agent"],
68
+ credentials: [],
69
+ roles: [resolvedRole],
70
+ };
71
+ // ── Step 3: Compute tool filters ───────────────────────────────────
72
+ const toolFilters = computeToolFilters(agent);
73
+ // ── Step 4: Load credentials from .env ─────────────────────────────
74
+ const envPath = join(rootDir, ".env");
75
+ const loadedEnv = loadEnvFile(envPath);
76
+ // ── Step 5: Open SQLite ────────────────────────────────────────────
77
+ console.log(`${elapsed()} Opening database...`);
78
+ stepStart = performance.now();
79
+ db = openDatabase();
80
+ console.log(`${elapsed()} Database opened (${stepMs()}ms)`);
81
+ // ── Step 6: Create upstream manager ──────────────────────────────────
82
+ const projectDir = process.env.PROJECT_DIR;
83
+ const appConfigs = collectApps(agent, loadedEnv, projectDir);
84
+ upstream = new UpstreamManager(appConfigs);
85
+ const timeoutMs = options.startupTimeout
86
+ ? parseInt(options.startupTimeout, 10) * 1000
87
+ : 60_000;
88
+ // ── Step 7: Collect approval patterns ──────────────────────────────
89
+ const approvalPatterns = collectApprovalPatterns(agent);
90
+ // ── Step 8: Start HTTP server EARLY ────────────────────────────────
91
+ // Health, connect-agent, and credential_request work immediately.
92
+ // Tool/resource/prompt calls block on readyGate until upstreams connect.
93
+ const port = options.port
94
+ ? parseInt(options.port, 10)
95
+ : 9090;
96
+ const transport = options.transport
97
+ ?? "sse";
98
+ const authToken = process.env.CHAPTER_PROXY_TOKEN || undefined;
99
+ const credentialProxyToken = process.env.CREDENTIAL_PROXY_TOKEN || undefined;
100
+ const sessionType = process.env.CHAPTER_SESSION_TYPE || undefined;
101
+ const acpClient = process.env.CHAPTER_ACP_CLIENT || undefined;
102
+ // Parse declared credentials from env (set by ACP session compose)
103
+ let declaredCredentials;
104
+ const declaredCredentialsEnv = process.env.CHAPTER_DECLARED_CREDENTIALS;
105
+ if (declaredCredentialsEnv) {
106
+ try {
107
+ declaredCredentials = JSON.parse(declaredCredentialsEnv);
108
+ }
109
+ catch { /* ignore parse errors */ }
110
+ }
111
+ // Deferred ready gate — resolves once upstreams + routing are ready
112
+ let resolveReady;
113
+ const readyGate = new Promise((r) => { resolveReady = r; });
114
+ // Start with an empty router; setRouting() will update once upstreams connect
115
+ const emptyRouter = new ToolRouter(new Map(), new Map());
116
+ console.log(`${elapsed()} Starting HTTP server on port ${port}...`);
117
+ stepStart = performance.now();
118
+ server = new ChapterProxyServer({
119
+ port,
120
+ transport,
121
+ router: emptyRouter,
122
+ upstream,
123
+ db,
124
+ agentName: agent.name,
125
+ authToken,
126
+ credentialProxyToken,
127
+ approvalPatterns: approvalPatterns.length > 0 ? approvalPatterns : undefined,
128
+ declaredCredentials,
129
+ sessionType,
130
+ acpClient,
131
+ readyGate,
132
+ });
133
+ await server.start();
134
+ console.log(`${elapsed()} Server listening (${stepMs()}ms)`);
135
+ // ── Step 9: Connect upstream MCP servers ─────────────────────────────
136
+ console.log(`${elapsed()} Connecting to ${appConfigs.length} upstream server(s)...`);
137
+ stepStart = performance.now();
138
+ await upstream.initialize(timeoutMs);
139
+ console.log(`${elapsed()} Upstream connected (${stepMs()}ms)`);
140
+ // ── Step 10: Build routing tables and open the ready gate ───────────
141
+ console.log(`${elapsed()} Fetching tools/resources/prompts...`);
142
+ stepStart = performance.now();
143
+ const upstreamTools = new Map();
144
+ const upstreamResources = new Map();
145
+ const upstreamPrompts = new Map();
146
+ for (const config of appConfigs) {
147
+ const [tools, resources, prompts] = await Promise.all([
148
+ upstream.getTools(config.name),
149
+ upstream.getResources(config.name).catch(() => []),
150
+ upstream.getPrompts(config.name).catch(() => []),
151
+ ]);
152
+ upstreamTools.set(config.name, tools);
153
+ upstreamResources.set(config.name, resources);
154
+ upstreamPrompts.set(config.name, prompts);
155
+ }
156
+ const router = new ToolRouter(upstreamTools, toolFilters);
157
+ const resourceRouter = new ResourceRouter(upstreamResources);
158
+ const promptRouter = new PromptRouter(upstreamPrompts);
159
+ server.setRouting({ router, resourceRouter, promptRouter });
160
+ resolveReady();
161
+ console.log(`${elapsed()} Routing tables built (${stepMs()}ms)`);
162
+ // ── Step 11: Ready ─────────────────────────────────────────────────
163
+ const totalMs = Math.round(performance.now() - t0);
164
+ const toolCount = router.listTools().length;
165
+ const resourceCount = resourceRouter.listResources().length;
166
+ const promptCount = promptRouter.listPrompts().length;
167
+ console.log(`\nmason proxy ready (${totalMs}ms total)\n` +
168
+ ` Role: ${roleName}\n` +
169
+ ` Port: ${port}\n` +
170
+ ` Transport: ${transport}\n` +
171
+ ` Tools: ${toolCount}\n` +
172
+ ` Resources: ${resourceCount}\n` +
173
+ ` Prompts: ${promptCount}\n`);
174
+ }
175
+ catch (error) {
176
+ const message = error instanceof Error ? error.message : String(error);
177
+ console.error(`\n Proxy startup failed: ${message}\n`);
178
+ // Clean up on startup failure
179
+ try {
180
+ if (upstream)
181
+ await upstream.shutdown();
182
+ }
183
+ catch { /* best-effort */ }
184
+ try {
185
+ if (db)
186
+ db.close();
187
+ }
188
+ catch { /* best-effort */ }
189
+ process.exit(1);
190
+ }
191
+ }
192
+ // ── Helpers ────────────────────────────────────────────────────────────
193
+ /**
194
+ * Resolve the role name from --role/--agent flag or auto-detect from packages.
195
+ */
196
+ function resolveRoleName(roleFlag, packages) {
197
+ if (roleFlag)
198
+ return roleFlag;
199
+ const roles = [];
200
+ for (const [name, pkg] of packages) {
201
+ if (pkg.chapterField.type === "role") {
202
+ roles.push(name);
203
+ }
204
+ }
205
+ if (roles.length === 0) {
206
+ throw new Error("No role packages found in this workspace. " +
207
+ "Use --role <name> to specify a role, or create a ROLE.md in your project.");
208
+ }
209
+ if (roles.length > 1) {
210
+ throw new Error(`Multiple role packages found: ${roles.join(", ")}. ` +
211
+ "Use --role <name> to specify which role to proxy for.");
212
+ }
213
+ // Safe: we checked roles.length === 1 above
214
+ const [role] = roles;
215
+ return role;
216
+ }
217
+ /**
218
+ * Collect unique apps from all roles, resolving env vars with loaded credentials.
219
+ */
220
+ function collectApps(agent, loadedEnv, cwd) {
221
+ const seen = new Map();
222
+ for (const role of agent.roles) {
223
+ for (const app of role.apps) {
224
+ if (seen.has(app.name))
225
+ continue;
226
+ const resolvedEnv = app.env
227
+ ? resolveEnvVars(app.env, loadedEnv)
228
+ : undefined;
229
+ seen.set(app.name, {
230
+ name: app.name,
231
+ app,
232
+ env: resolvedEnv,
233
+ cwd,
234
+ });
235
+ }
236
+ }
237
+ return Array.from(seen.values());
238
+ }
239
+ /**
240
+ * Collect all requireApprovalFor patterns from all roles (deduplicated).
241
+ */
242
+ function collectApprovalPatterns(agent) {
243
+ const patterns = new Set();
244
+ for (const role of agent.roles) {
245
+ if (role.constraints?.requireApprovalFor) {
246
+ for (const pattern of role.constraints.requireApprovalFor) {
247
+ patterns.add(pattern);
248
+ }
249
+ }
250
+ }
251
+ return [...patterns];
252
+ }
253
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/cli/commands/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import type { Command } from "commander";
2
+ import type { ResolvedAgent, Role } from "@clawmasons/shared";
3
+ import { AcpSession, type AcpSessionConfig, type AcpSessionDeps } from "../../acp/session.js";
4
+ import { AcpSdkBridge, type AcpSdkBridgeConfig } from "../../acp/bridge.js";
5
+ import { type AcpLogger } from "../../acp/logger.js";
6
+ type DevContainerCustomizations = {
7
+ vscode?: {
8
+ extensions?: string[];
9
+ settings?: Record<string, unknown>;
10
+ };
11
+ };
12
+ /**
13
+ * Infer the agent type from a Role's source dialect.
14
+ * Falls back to "claude-code-agent" if not determinable.
15
+ */
16
+ export declare function inferAgentType(roleType: Role): string;
17
+ /**
18
+ * Generate a short unique session ID (8 hex characters).
19
+ */
20
+ export declare function generateSessionId(): string;
21
+ /**
22
+ * Legacy alias map kept for backward compatibility.
23
+ * @deprecated Aliases are now declared by AgentPackage.aliases in agent packages.
24
+ */
25
+ export declare const AGENT_TYPE_ALIASES: Record<string, string>;
26
+ /**
27
+ * Resolve a user-provided agent type string to the internal materializer name.
28
+ * Checks the agent registry (which includes aliases from AgentPackage),
29
+ * then falls back to the legacy alias map, then checks direct registered types.
30
+ *
31
+ * @returns The resolved agent type, or undefined if not recognized
32
+ */
33
+ export declare function resolveAgentType(input: string): string | undefined;
34
+ /**
35
+ * Check whether a string matches a known agent type (including aliases).
36
+ */
37
+ export declare function isKnownAgentType(input: string): boolean;
38
+ /**
39
+ * Get a user-friendly list of known agent type names (aliases + registered).
40
+ */
41
+ export declare function getKnownAgentTypeNames(): string[];
42
+ /**
43
+ * Resolve required credentials from an agent and role's apps.
44
+ * Returns a map of credential key -> list of declaring package names.
45
+ */
46
+ export declare function resolveRequiredCredentials(agentName: string, agentCredentials: string[], roleApps: Array<{
47
+ name: string;
48
+ credentials: string[];
49
+ }>): Map<string, string[]>;
50
+ /**
51
+ * Display required credentials and risk level to the operator.
52
+ */
53
+ export declare function displayCredentials(credentials: Map<string, string[]>, riskLevel: string, roleName: string): void;
54
+ /**
55
+ * Execute a docker compose command with the given compose file.
56
+ * Returns a promise that resolves with the exit code.
57
+ */
58
+ export declare function execComposeCommand(composeFile: string, args: string[], opts?: {
59
+ interactive?: boolean;
60
+ verbose?: boolean;
61
+ }): Promise<number>;
62
+ /**
63
+ * Collect environment variables from process.env that match the agent's
64
+ * declared credentials (agent-level + app-level across all roles).
65
+ */
66
+ export declare function collectEnvCredentials(agent: ResolvedAgent, env?: Record<string, string | undefined>): Record<string, string>;
67
+ export declare const RUN_ACP_AGENT_HELP_EPILOG = "\nCommand Syntax:\n mason run --role <name> # infers agent from role dialect\n mason run --role <name> --agent claude # explicit agent (renamed from --agent-type)\n mason run --role <name> --acp # ACP mode\n mason claude --role <name> # shorthand (config-declared or built-in agent)\n\n --agent <name> Agent name from .mason/config.json or built-in alias.\n Config entry can supply defaults for --role, --home, and mode.\n --home <path> Bind-mount <path> over /home/mason/ in the agent container.\n Overrides the \"home\" property in .mason/config.json.\n --terminal Force terminal (interactive) mode, overriding config mode.\n --acp Start in ACP mode (overrides config mode).\n --bash Launch bash shell (overrides config mode).\n\nAgent Types (built-in):\n claude (claude-code-agent), pi (pi-coding-agent), mcp (mcp-agent)\n\nSession Behavior:\n When an ACP client sends session/new with a \"cwd\" field, the agent\n container mounts that directory as /home/mason/workspace/project.\n Each session/new starts a fresh agent container; the proxy stays running.\n The credential service runs in-process on the host.\n\nSide Effects:\n - Creates .mason/ in the project for docker builds and session state\n - Appends \".mason\" to the project's .gitignore if present\n - Creates .mason/config.json from a default template if absent and\n an agent name is provided\n\n Credential env vars (e.g. OPEN_ROUTER_KEY, ANTHROPIC_API_KEY) are\n passed through to the credential-service when set in the client's\n env block.\n";
68
+ /**
69
+ * Create .mason/config.json from the default template if it does not exist.
70
+ * Only called when an agent name is provided on the command line.
71
+ */
72
+ export declare function ensureMasonConfig(projectDir: string): void;
73
+ /**
74
+ * Dependencies for run-agent, injectable for testing.
75
+ */
76
+ export interface RunAgentDeps {
77
+ /** Override the compose command executor (for testing). */
78
+ execComposeFn?: (composeFile: string, args: string[], opts?: {
79
+ interactive?: boolean;
80
+ verbose?: boolean;
81
+ }) => Promise<number>;
82
+ /** Override session ID generation (for testing). */
83
+ generateSessionIdFn?: () => string;
84
+ /** Override docker compose check (for testing). */
85
+ checkDockerComposeFn?: () => void;
86
+ /** Override .gitignore entry management (for testing). */
87
+ ensureGitignoreEntryFn?: (dir: string, pattern: string) => boolean;
88
+ /** Override role resolution (for testing). */
89
+ resolveRoleFn?: (roleName: string, projectDir: string) => Promise<Role>;
90
+ /** Override agent adaptation (for testing). */
91
+ adaptRoleFn?: (roleType: Role, agentType: string) => ResolvedAgent;
92
+ /** Override AcpSession construction (for testing, ACP mode). */
93
+ createSessionFn?: (config: AcpSessionConfig, sessionDeps?: AcpSessionDeps) => AcpSession;
94
+ /** Override AcpSdkBridge construction (for testing, ACP mode). */
95
+ createBridgeFn?: (config: AcpSdkBridgeConfig) => AcpSdkBridge;
96
+ /** Override fs.mkdirSync (for testing). */
97
+ mkdirSyncFn?: (dirPath: string, options?: {
98
+ recursive?: boolean;
99
+ }) => void;
100
+ /** Override fs.existsSync (for testing). */
101
+ existsSyncFn?: (filePath: string) => boolean;
102
+ /** Override credential service startup (for testing). */
103
+ startCredentialServiceFn?: (opts: {
104
+ proxyPort: number;
105
+ credentialProxyToken: string;
106
+ envCredentials: Record<string, string>;
107
+ }) => Promise<{
108
+ disconnect: () => void;
109
+ close: () => void;
110
+ }>;
111
+ /** Override proxy health check (for testing). */
112
+ waitForProxyHealthFn?: (url: string, timeoutMs: number) => Promise<void>;
113
+ /** Override logger creation (for testing, ACP mode). */
114
+ createLoggerFn?: (logDir: string) => AcpLogger;
115
+ /** Override home path (for testing). */
116
+ homeOverride?: string;
117
+ }
118
+ export type RunAcpAgentDeps = RunAgentDeps;
119
+ export declare function registerRunCommand(program: Command): void;
120
+ export declare function registerConfigureCommand(program: Command): void;
121
+ export declare function runAgent(projectDir: string, agent: string | undefined, role: string, deps?: RunAgentDeps, acpOptions?: {
122
+ acp?: boolean;
123
+ proxyPort?: number;
124
+ bash?: boolean;
125
+ build?: boolean;
126
+ verbose?: boolean;
127
+ homeOverride?: string;
128
+ devContainer?: boolean;
129
+ devContainerCustomizations?: DevContainerCustomizations;
130
+ agentConfigCredentials?: string[];
131
+ agentArgs?: string[];
132
+ }): Promise<void>;
133
+ /**
134
+ * Build a VSCode attached-container URI for the given docker compose project and service.
135
+ * Hex-encodes JSON config using Buffer (no shell dependency).
136
+ */
137
+ export declare function buildVscodeAttachUri(containerName: string, workspacePath: string): string;
138
+ /**
139
+ * Derive the docker container name from a compose project name and service name.
140
+ * Docker compose names containers as: <project>-<service>-<index>
141
+ */
142
+ export declare function deriveContainerName(composeName: string, serviceShortName: string): string;
143
+ /**
144
+ * Start only the proxy infrastructure (no agent, no credential service).
145
+ * Outputs connection info as JSON to stdout and returns.
146
+ */
147
+ export declare function runProxyOnly(projectDir: string, agentOverride: string | undefined, role: string, proxyPort: number, deps?: RunAgentDeps): Promise<void>;
148
+ export {};
149
+ //# sourceMappingURL=run-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/run-agent.ts"],"names":[],"mappings":"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"}