@proletariat/cli 0.3.58 → 0.3.59

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 (189) hide show
  1. package/dist/commands/{spec → dashboard}/index.d.ts +4 -4
  2. package/dist/commands/dashboard/index.js +117 -0
  3. package/dist/commands/dashboard/index.js.map +1 -0
  4. package/dist/commands/execution/config.js +5 -4
  5. package/dist/commands/execution/config.js.map +1 -1
  6. package/dist/commands/execution/stop.js +4 -2
  7. package/dist/commands/execution/stop.js.map +1 -1
  8. package/dist/commands/execution/view.js +3 -0
  9. package/dist/commands/execution/view.js.map +1 -1
  10. package/dist/commands/init.d.ts +1 -0
  11. package/dist/commands/init.js +40 -3
  12. package/dist/commands/init.js.map +1 -1
  13. package/dist/commands/mcp-server.js +1 -2
  14. package/dist/commands/mcp-server.js.map +1 -1
  15. package/dist/commands/{spec/link/index.d.ts → session/exec.d.ts} +5 -3
  16. package/dist/commands/session/exec.js +205 -0
  17. package/dist/commands/session/exec.js.map +1 -0
  18. package/dist/commands/session/index.js +12 -0
  19. package/dist/commands/session/index.js.map +1 -1
  20. package/dist/commands/{spec/delete.d.ts → session/inspect.d.ts} +3 -3
  21. package/dist/commands/session/inspect.js +316 -0
  22. package/dist/commands/session/inspect.js.map +1 -0
  23. package/dist/commands/session/peek.d.ts +15 -0
  24. package/dist/commands/session/peek.js +141 -8
  25. package/dist/commands/session/peek.js.map +1 -1
  26. package/dist/commands/session/poke.d.ts +4 -1
  27. package/dist/commands/session/poke.js +175 -20
  28. package/dist/commands/session/poke.js.map +1 -1
  29. package/dist/commands/{spec/link/depends.d.ts → session/restart.d.ts} +6 -4
  30. package/dist/commands/session/restart.js +320 -0
  31. package/dist/commands/session/restart.js.map +1 -0
  32. package/dist/commands/tools/add.d.ts +20 -0
  33. package/dist/commands/tools/add.js +129 -0
  34. package/dist/commands/tools/add.js.map +1 -0
  35. package/dist/commands/tools/check.d.ts +10 -0
  36. package/dist/commands/tools/check.js +75 -0
  37. package/dist/commands/tools/check.js.map +1 -0
  38. package/dist/commands/tools/detect.d.ts +11 -0
  39. package/dist/commands/tools/detect.js +107 -0
  40. package/dist/commands/tools/detect.js.map +1 -0
  41. package/dist/commands/tools/index.d.ts +11 -0
  42. package/dist/commands/tools/index.js +87 -0
  43. package/dist/commands/tools/index.js.map +1 -0
  44. package/dist/commands/tools/remove.d.ts +13 -0
  45. package/dist/commands/tools/remove.js +55 -0
  46. package/dist/commands/tools/remove.js.map +1 -0
  47. package/dist/commands/{spec/view.d.ts → trello/configure.d.ts} +6 -6
  48. package/dist/commands/trello/configure.js +259 -0
  49. package/dist/commands/trello/configure.js.map +1 -0
  50. package/dist/commands/{spec/plan.d.ts → trello/import.d.ts} +3 -5
  51. package/dist/commands/trello/import.js +241 -0
  52. package/dist/commands/trello/import.js.map +1 -0
  53. package/dist/commands/{spec/ticket.d.ts → trello/sync.d.ts} +5 -6
  54. package/dist/commands/trello/sync.js +190 -0
  55. package/dist/commands/trello/sync.js.map +1 -0
  56. package/dist/commands/work/start.d.ts +1 -0
  57. package/dist/commands/work/start.js +17 -39
  58. package/dist/commands/work/start.js.map +1 -1
  59. package/dist/lib/dashboard/data.d.ts +64 -0
  60. package/dist/lib/dashboard/data.js +259 -0
  61. package/dist/lib/dashboard/data.js.map +1 -0
  62. package/dist/lib/dashboard/html.d.ts +7 -0
  63. package/dist/lib/dashboard/html.js +682 -0
  64. package/dist/lib/dashboard/html.js.map +1 -0
  65. package/dist/lib/dashboard/server.d.ts +20 -0
  66. package/dist/lib/dashboard/server.js +114 -0
  67. package/dist/lib/dashboard/server.js.map +1 -0
  68. package/dist/lib/execution/config.d.ts +8 -0
  69. package/dist/lib/execution/config.js +83 -4
  70. package/dist/lib/execution/config.js.map +1 -1
  71. package/dist/lib/execution/runners.d.ts +36 -3
  72. package/dist/lib/execution/runners.js +216 -35
  73. package/dist/lib/execution/runners.js.map +1 -1
  74. package/dist/lib/execution/spawner.d.ts +2 -0
  75. package/dist/lib/execution/spawner.js +22 -31
  76. package/dist/lib/execution/spawner.js.map +1 -1
  77. package/dist/lib/execution/types.d.ts +26 -5
  78. package/dist/lib/execution/types.js +24 -0
  79. package/dist/lib/execution/types.js.map +1 -1
  80. package/dist/lib/external-issues/adapters.d.ts +17 -0
  81. package/dist/lib/external-issues/adapters.js +88 -0
  82. package/dist/lib/external-issues/adapters.js.map +1 -1
  83. package/dist/lib/external-issues/mapping-store.js +1 -1
  84. package/dist/lib/external-issues/trello.d.ts +80 -0
  85. package/dist/lib/external-issues/trello.js +266 -0
  86. package/dist/lib/external-issues/trello.js.map +1 -0
  87. package/dist/lib/external-issues/types.d.ts +3 -3
  88. package/dist/lib/external-issues/types.js +1 -1
  89. package/dist/lib/external-issues/types.js.map +1 -1
  90. package/dist/lib/linear/client.d.ts +4 -3
  91. package/dist/lib/linear/client.js +185 -122
  92. package/dist/lib/linear/client.js.map +1 -1
  93. package/dist/lib/mcp/tools/cli-passthrough.js +77 -0
  94. package/dist/lib/mcp/tools/cli-passthrough.js.map +1 -1
  95. package/dist/lib/mcp/tools/index.d.ts +0 -1
  96. package/dist/lib/mcp/tools/index.js +0 -1
  97. package/dist/lib/mcp/tools/index.js.map +1 -1
  98. package/dist/lib/onboarding/detect-tools.d.ts +15 -0
  99. package/dist/lib/onboarding/detect-tools.js +44 -0
  100. package/dist/lib/onboarding/detect-tools.js.map +1 -0
  101. package/dist/lib/onboarding/index.d.ts +2 -0
  102. package/dist/lib/onboarding/index.js +3 -0
  103. package/dist/lib/onboarding/index.js.map +1 -0
  104. package/dist/lib/onboarding/wizard.d.ts +25 -0
  105. package/dist/lib/onboarding/wizard.js +156 -0
  106. package/dist/lib/onboarding/wizard.js.map +1 -0
  107. package/dist/lib/pmo/schema.d.ts +2 -1
  108. package/dist/lib/pmo/schema.js +3 -1
  109. package/dist/lib/pmo/schema.js.map +1 -1
  110. package/dist/lib/runners/claude-code-runner.js +6 -0
  111. package/dist/lib/runners/claude-code-runner.js.map +1 -1
  112. package/dist/lib/tool-registry/detect.d.ts +20 -0
  113. package/dist/lib/tool-registry/detect.js +95 -0
  114. package/dist/lib/tool-registry/detect.js.map +1 -0
  115. package/dist/lib/tool-registry/index.d.ts +10 -0
  116. package/dist/lib/tool-registry/index.js +13 -0
  117. package/dist/lib/tool-registry/index.js.map +1 -0
  118. package/dist/lib/tool-registry/policy.d.ts +32 -0
  119. package/dist/lib/tool-registry/policy.js +97 -0
  120. package/dist/lib/tool-registry/policy.js.map +1 -0
  121. package/dist/lib/tool-registry/registry.d.ts +42 -0
  122. package/dist/lib/tool-registry/registry.js +120 -0
  123. package/dist/lib/tool-registry/registry.js.map +1 -0
  124. package/dist/lib/tool-registry/spawn.d.ts +50 -0
  125. package/dist/lib/tool-registry/spawn.js +103 -0
  126. package/dist/lib/tool-registry/spawn.js.map +1 -0
  127. package/dist/lib/tool-registry/types.d.ts +56 -0
  128. package/dist/lib/tool-registry/types.js +109 -0
  129. package/dist/lib/tool-registry/types.js.map +1 -0
  130. package/dist/lib/trello/client.d.ts +23 -0
  131. package/dist/lib/trello/client.js +114 -0
  132. package/dist/lib/trello/client.js.map +1 -0
  133. package/dist/lib/trello/config.d.ts +55 -0
  134. package/dist/lib/trello/config.js +127 -0
  135. package/dist/lib/trello/config.js.map +1 -0
  136. package/dist/lib/trello/index.d.ts +5 -0
  137. package/dist/lib/trello/index.js +5 -0
  138. package/dist/lib/trello/index.js.map +1 -0
  139. package/dist/lib/trello/mapper.d.ts +13 -0
  140. package/dist/lib/trello/mapper.js +71 -0
  141. package/dist/lib/trello/mapper.js.map +1 -0
  142. package/dist/lib/trello/sync.d.ts +13 -0
  143. package/dist/lib/trello/sync.js +38 -0
  144. package/dist/lib/trello/sync.js.map +1 -0
  145. package/dist/lib/trello/types.d.ts +53 -0
  146. package/dist/lib/trello/types.js +2 -0
  147. package/dist/lib/trello/types.js.map +1 -0
  148. package/dist/lib/work-source/client.js +17 -0
  149. package/dist/lib/work-source/client.js.map +1 -1
  150. package/dist/lib/work-source/config.d.ts +1 -1
  151. package/dist/lib/work-source/config.js +11 -1
  152. package/dist/lib/work-source/config.js.map +1 -1
  153. package/oclif.manifest.json +3460 -3476
  154. package/package.json +6 -2
  155. package/dist/commands/spec/create.d.ts +0 -20
  156. package/dist/commands/spec/create.js +0 -171
  157. package/dist/commands/spec/create.js.map +0 -1
  158. package/dist/commands/spec/delete.js +0 -112
  159. package/dist/commands/spec/delete.js.map +0 -1
  160. package/dist/commands/spec/edit.d.ts +0 -23
  161. package/dist/commands/spec/edit.js +0 -262
  162. package/dist/commands/spec/edit.js.map +0 -1
  163. package/dist/commands/spec/index.js +0 -88
  164. package/dist/commands/spec/index.js.map +0 -1
  165. package/dist/commands/spec/link/depends.js +0 -87
  166. package/dist/commands/spec/link/depends.js.map +0 -1
  167. package/dist/commands/spec/link/index.js +0 -93
  168. package/dist/commands/spec/link/index.js.map +0 -1
  169. package/dist/commands/spec/link/remove.d.ts +0 -18
  170. package/dist/commands/spec/link/remove.js +0 -91
  171. package/dist/commands/spec/link/remove.js.map +0 -1
  172. package/dist/commands/spec/list.d.ts +0 -14
  173. package/dist/commands/spec/list.js +0 -101
  174. package/dist/commands/spec/list.js.map +0 -1
  175. package/dist/commands/spec/plan.js +0 -102
  176. package/dist/commands/spec/plan.js.map +0 -1
  177. package/dist/commands/spec/ticket.js +0 -144
  178. package/dist/commands/spec/ticket.js.map +0 -1
  179. package/dist/commands/spec/view.js +0 -202
  180. package/dist/commands/spec/view.js.map +0 -1
  181. package/dist/lib/mcp/tools/spec.d.ts +0 -6
  182. package/dist/lib/mcp/tools/spec.js +0 -197
  183. package/dist/lib/mcp/tools/spec.js.map +0 -1
  184. package/dist/lib/pmo/spec-parser.d.ts +0 -25
  185. package/dist/lib/pmo/spec-parser.js +0 -206
  186. package/dist/lib/pmo/spec-parser.js.map +0 -1
  187. package/dist/lib/pmo/spec-types.d.ts +0 -43
  188. package/dist/lib/pmo/spec-types.js +0 -8
  189. package/dist/lib/pmo/spec-types.js.map +0 -1
@@ -0,0 +1,15 @@
1
+ export interface DetectedTool {
2
+ name: string;
3
+ command: string;
4
+ path: string;
5
+ displayName: string;
6
+ }
7
+ export interface ToolDetectionResult {
8
+ tools: DetectedTool[];
9
+ hasClaudeCode: boolean;
10
+ hasCodex: boolean;
11
+ }
12
+ /**
13
+ * Detect which AI tools are installed on the system.
14
+ */
15
+ export declare function detectAITools(): ToolDetectionResult;
@@ -0,0 +1,44 @@
1
+ import { execSync } from 'node:child_process';
2
+ const TOOLS_TO_DETECT = [
3
+ { name: 'claude-code', command: 'claude', displayName: 'Claude Code' },
4
+ { name: 'codex', command: 'codex', displayName: 'Codex' },
5
+ ];
6
+ /**
7
+ * Check if a command is available on the system PATH.
8
+ * Returns the resolved path or null if not found.
9
+ */
10
+ function whichCommand(command) {
11
+ try {
12
+ const result = execSync(`which ${command}`, {
13
+ encoding: 'utf-8',
14
+ stdio: ['pipe', 'pipe', 'pipe'],
15
+ }).trim();
16
+ return result || null;
17
+ }
18
+ catch {
19
+ return null;
20
+ }
21
+ }
22
+ /**
23
+ * Detect which AI tools are installed on the system.
24
+ */
25
+ export function detectAITools() {
26
+ const tools = [];
27
+ for (const tool of TOOLS_TO_DETECT) {
28
+ const toolPath = whichCommand(tool.command);
29
+ if (toolPath) {
30
+ tools.push({
31
+ name: tool.name,
32
+ command: tool.command,
33
+ path: toolPath,
34
+ displayName: tool.displayName,
35
+ });
36
+ }
37
+ }
38
+ return {
39
+ tools,
40
+ hasClaudeCode: tools.some(t => t.name === 'claude-code'),
41
+ hasCodex: tools.some(t => t.name === 'codex'),
42
+ };
43
+ }
44
+ //# sourceMappingURL=detect-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-tools.js","sourceRoot":"","sources":["../../../src/lib/onboarding/detect-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAe9C,MAAM,eAAe,GAAG;IACtB,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE;IACtE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE;CACjD,CAAC;AAEX;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,OAAO,EAAE,EAAE;YAC1C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,KAAK,GAAmB,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;QACL,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;QACxD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;KAC9C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { detectAITools, type DetectedTool, type ToolDetectionResult } from './detect-tools.js';
2
+ export { runOnboardingWizard, runOnboardingJsonMode, isFirstTimeUser, type OnboardingResult, } from './wizard.js';
@@ -0,0 +1,3 @@
1
+ export { detectAITools } from './detect-tools.js';
2
+ export { runOnboardingWizard, runOnboardingJsonMode, isFirstTimeUser, } from './wizard.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/onboarding/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA+C,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAEhB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type DetectedTool } from './detect-tools.js';
2
+ export interface OnboardingResult {
3
+ /** How the user chose to set up: 'ai' or 'manual' */
4
+ method: 'ai' | 'manual';
5
+ /** Which AI tool was selected (if method is 'ai') */
6
+ tool?: DetectedTool;
7
+ /** Whether the AI setup was spawned successfully */
8
+ spawned?: boolean;
9
+ }
10
+ /**
11
+ * Run the onboarding wizard in interactive (human) mode.
12
+ * Detects AI tools and lets the user choose how to set up.
13
+ *
14
+ * @returns The onboarding result, or null if user chose manual (caller should continue with normal init)
15
+ */
16
+ export declare function runOnboardingWizard(): Promise<OnboardingResult>;
17
+ /**
18
+ * Handle onboarding in JSON/agent mode.
19
+ * Outputs tool detection results and setup choices as JSON.
20
+ */
21
+ export declare function runOnboardingJsonMode(flags: Record<string, unknown>): void;
22
+ /**
23
+ * Check if onboarding should run (first-time user with no HQs).
24
+ */
25
+ export declare function isFirstTimeUser(headquartersCount: number, currentHQ: string | null): boolean;
@@ -0,0 +1,156 @@
1
+ import chalk from 'chalk';
2
+ import inquirer from 'inquirer';
3
+ import { spawn } from 'node:child_process';
4
+ import { detectAITools } from './detect-tools.js';
5
+ import { outputPromptAsJson, outputSuccessAsJson, buildPromptConfig, createMetadata, } from '../prompt-json.js';
6
+ /**
7
+ * Build the setup choices based on detected AI tools.
8
+ */
9
+ function buildSetupChoices(detection) {
10
+ const choices = [];
11
+ if (detection.hasClaudeCode) {
12
+ const tool = detection.tools.find(t => t.name === 'claude-code');
13
+ choices.push({
14
+ name: `Let Claude Code set it up (${tool.path})`,
15
+ value: 'claude-code',
16
+ });
17
+ }
18
+ if (detection.hasCodex) {
19
+ const tool = detection.tools.find(t => t.name === 'codex');
20
+ choices.push({
21
+ name: `Let Codex set it up (${tool.path})`,
22
+ value: 'codex',
23
+ });
24
+ }
25
+ choices.push({
26
+ name: 'Set up manually (guided walkthrough)',
27
+ value: 'manual',
28
+ });
29
+ return choices;
30
+ }
31
+ const SETUP_PROMPT = `You are helping a user set up Proletariat HQ for the first time.
32
+ Run the following commands to create their headquarters:
33
+
34
+ 1. Run: prlt new
35
+ 2. Follow the interactive prompts to configure the HQ name, agents, repos, and PMO.
36
+ 3. When done, show them how to create their first ticket: prlt ticket create
37
+ 4. Show them how to spawn their first agent: prlt work spawn
38
+
39
+ Be helpful and guide them through each step. If any step fails, explain what went wrong and how to fix it.`;
40
+ /**
41
+ * Spawn an AI tool to handle the setup automatically.
42
+ * Runs interactively so the user can see and interact with the AI.
43
+ */
44
+ function spawnAISetup(tool) {
45
+ return new Promise((resolve) => {
46
+ console.log(chalk.blue(`\nLaunching ${tool.displayName} to set up your HQ...\n`));
47
+ console.log(chalk.gray('─'.repeat(60)));
48
+ console.log('');
49
+ const child = spawn(tool.command, ['--print', SETUP_PROMPT], {
50
+ stdio: 'inherit',
51
+ env: { ...process.env },
52
+ });
53
+ child.on('close', (code) => {
54
+ console.log('');
55
+ console.log(chalk.gray('─'.repeat(60)));
56
+ if (code === 0) {
57
+ console.log(chalk.green('\nAI-assisted setup complete!\n'));
58
+ resolve(true);
59
+ }
60
+ else {
61
+ console.log(chalk.yellow('\nAI setup exited. You can run `prlt new` to set up manually.\n'));
62
+ resolve(false);
63
+ }
64
+ });
65
+ child.on('error', (err) => {
66
+ console.log(chalk.red(`\nFailed to launch ${tool.displayName}: ${err.message}`));
67
+ console.log(chalk.yellow('You can run `prlt new` to set up manually.\n'));
68
+ resolve(false);
69
+ });
70
+ });
71
+ }
72
+ /**
73
+ * Run the onboarding wizard in interactive (human) mode.
74
+ * Detects AI tools and lets the user choose how to set up.
75
+ *
76
+ * @returns The onboarding result, or null if user chose manual (caller should continue with normal init)
77
+ */
78
+ export async function runOnboardingWizard() {
79
+ console.log(chalk.blue('Welcome to Proletariat!\n'));
80
+ console.log(chalk.gray(' Proletariat helps you manage AI coding agents across your projects.\n'));
81
+ // Detect installed AI tools
82
+ console.log(chalk.gray(' Detecting AI tools...\n'));
83
+ const detection = detectAITools();
84
+ if (detection.tools.length > 0) {
85
+ const toolNames = detection.tools.map(t => t.displayName).join(', ');
86
+ console.log(chalk.green(` Found: ${toolNames}\n`));
87
+ }
88
+ else {
89
+ console.log(chalk.gray(' No AI tools detected. Proceeding with manual setup.\n'));
90
+ return { method: 'manual' };
91
+ }
92
+ // Build choices and prompt
93
+ const choices = buildSetupChoices(detection);
94
+ const message = 'How would you like to set up your headquarters?';
95
+ const { setupMethod } = await inquirer.prompt([{
96
+ type: 'list',
97
+ name: 'setupMethod',
98
+ message,
99
+ choices: choices.map(c => ({ name: c.name, value: c.value })),
100
+ }]);
101
+ if (setupMethod === 'manual') {
102
+ return { method: 'manual' };
103
+ }
104
+ // AI-assisted setup
105
+ const selectedTool = detection.tools.find(t => t.name === setupMethod);
106
+ const spawned = await spawnAISetup(selectedTool);
107
+ return {
108
+ method: 'ai',
109
+ tool: selectedTool,
110
+ spawned,
111
+ };
112
+ }
113
+ /**
114
+ * Handle onboarding in JSON/agent mode.
115
+ * Outputs tool detection results and setup choices as JSON.
116
+ */
117
+ export function runOnboardingJsonMode(flags) {
118
+ const detection = detectAITools();
119
+ const choices = buildSetupChoices(detection);
120
+ const metadata = createMetadata('init', flags);
121
+ // If a setup method is provided via flag, report success with detection results
122
+ if (flags.setup) {
123
+ const method = flags.setup;
124
+ if (method === 'manual') {
125
+ // Don't exit — let caller continue with normal init agent mode
126
+ return;
127
+ }
128
+ const tool = detection.tools.find(t => t.name === method);
129
+ if (!tool) {
130
+ outputPromptAsJson(buildPromptConfig('list', 'setup', 'How would you like to set up your headquarters?', choices), metadata);
131
+ // never reaches here — outputPromptAsJson exits
132
+ }
133
+ outputSuccessAsJson({
134
+ method: 'ai',
135
+ tool: tool.name,
136
+ toolCommand: tool.command,
137
+ setupPrompt: SETUP_PROMPT,
138
+ detectedTools: detection.tools.map(t => ({
139
+ name: t.name,
140
+ command: t.command,
141
+ displayName: t.displayName,
142
+ })),
143
+ }, metadata);
144
+ // never reaches here — outputSuccessAsJson exits
145
+ }
146
+ // No setup method provided — output a prompt with available choices
147
+ outputPromptAsJson(buildPromptConfig('list', 'setup', 'How would you like to set up your headquarters?', choices), metadata);
148
+ // never reaches here — outputPromptAsJson exits
149
+ }
150
+ /**
151
+ * Check if onboarding should run (first-time user with no HQs).
152
+ */
153
+ export function isFirstTimeUser(headquartersCount, currentHQ) {
154
+ return headquartersCount === 0 && currentHQ === null;
155
+ }
156
+ //# sourceMappingURL=wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/lib/onboarding/wizard.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ export declare const PMO_TABLES: {
44
44
  readonly external_execution_prs: "pmo_external_execution_prs";
45
45
  readonly monday_item_map: "pmo_monday_item_map";
46
46
  readonly asana_task_map: "pmo_asana_task_map";
47
+ readonly trello_card_map: "pmo_trello_card_map";
47
48
  readonly columns: "pmo_columns";
48
49
  readonly board_tickets: "pmo_board_tickets";
49
50
  readonly statuses: "pmo_statuses";
@@ -86,7 +87,7 @@ export declare const PMO_TABLE_SCHEMAS: {
86
87
  readonly roadmaps: "\n CREATE TABLE IF NOT EXISTS pmo_roadmaps (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL UNIQUE,\n description TEXT,\n is_default INTEGER NOT NULL DEFAULT 0,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n )";
87
88
  readonly roadmap_projects: "\n CREATE TABLE IF NOT EXISTS pmo_roadmap_projects (\n roadmap_id TEXT NOT NULL REFERENCES pmo_roadmaps(id) ON DELETE CASCADE,\n project_id TEXT NOT NULL REFERENCES pmo_projects(id) ON DELETE CASCADE,\n position INTEGER NOT NULL DEFAULT 0,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (roadmap_id, project_id)\n )";
88
89
  readonly linear_issue_map: "\n CREATE TABLE IF NOT EXISTS pmo_linear_issue_map (\n pmo_ticket_id TEXT NOT NULL REFERENCES pmo_tickets(id) ON DELETE CASCADE,\n linear_issue_id TEXT NOT NULL,\n linear_identifier TEXT NOT NULL,\n linear_team_key TEXT NOT NULL,\n linear_url TEXT NOT NULL,\n sync_direction TEXT NOT NULL DEFAULT 'inbound',\n last_synced_at TIMESTAMP,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (pmo_ticket_id),\n UNIQUE (linear_issue_id)\n )";
89
- readonly external_execution_map: "\n CREATE TABLE IF NOT EXISTS pmo_external_execution_map (\n provider TEXT NOT NULL CHECK (provider IN ('linear', 'jira', 'asana', 'monday', 'pmo')),\n external_id TEXT NOT NULL,\n external_key TEXT,\n canonical_url TEXT,\n latest_state_snapshot TEXT,\n last_synced_at TIMESTAMP,\n last_spawned_at TIMESTAMP,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (provider, external_id)\n )";
90
+ readonly external_execution_map: "\n CREATE TABLE IF NOT EXISTS pmo_external_execution_map (\n provider TEXT NOT NULL CHECK (provider IN ('linear', 'jira', 'shortcut', 'asana', 'trello', 'monday', 'pmo')),\n external_id TEXT NOT NULL,\n external_key TEXT,\n canonical_url TEXT,\n latest_state_snapshot TEXT,\n last_synced_at TIMESTAMP,\n last_spawned_at TIMESTAMP,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (provider, external_id)\n )";
90
91
  readonly external_execution_links: "\n CREATE TABLE IF NOT EXISTS pmo_external_execution_links (\n provider TEXT NOT NULL,\n external_id TEXT NOT NULL,\n execution_id TEXT NOT NULL,\n linked_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (provider, external_id, execution_id),\n FOREIGN KEY (provider, external_id)\n REFERENCES pmo_external_execution_map(provider, external_id)\n ON DELETE CASCADE\n )";
91
92
  readonly external_execution_prs: "\n CREATE TABLE IF NOT EXISTS pmo_external_execution_prs (\n provider TEXT NOT NULL,\n external_id TEXT NOT NULL,\n pr_url TEXT NOT NULL,\n linked_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (provider, external_id, pr_url),\n FOREIGN KEY (provider, external_id)\n REFERENCES pmo_external_execution_map(provider, external_id)\n ON DELETE CASCADE\n )";
92
93
  readonly monday_item_map: "\n CREATE TABLE IF NOT EXISTS pmo_monday_item_map (\n pmo_ticket_id TEXT NOT NULL REFERENCES pmo_tickets(id) ON DELETE CASCADE,\n monday_board_id TEXT NOT NULL,\n monday_item_id TEXT NOT NULL,\n monday_item_name TEXT NOT NULL,\n monday_item_url TEXT,\n sync_direction TEXT NOT NULL DEFAULT 'outbound',\n last_synced_at TIMESTAMP,\n created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (pmo_ticket_id),\n UNIQUE (monday_item_id)\n )";
@@ -55,6 +55,8 @@ export const PMO_TABLES = {
55
55
  monday_item_map: 'pmo_monday_item_map', // Monday item ↔ PMO ticket mapping
56
56
  // Asana integration tables
57
57
  asana_task_map: 'pmo_asana_task_map', // Asana task ↔ PMO ticket mapping
58
+ // Trello integration tables
59
+ trello_card_map: 'pmo_trello_card_map', // Trello card ↔ PMO ticket mapping
58
60
  // Legacy tables (deprecated, kept for migration)
59
61
  columns: 'pmo_columns', // DEPRECATED: use workflow_statuses
60
62
  board_tickets: 'pmo_board_tickets', // DEPRECATED: tickets now use status_id directly
@@ -513,7 +515,7 @@ export const PMO_TABLE_SCHEMAS = {
513
515
  // Provider-agnostic external issue ↔ execution mapping
514
516
  external_execution_map: `
515
517
  CREATE TABLE IF NOT EXISTS ${PMO_TABLES.external_execution_map} (
516
- provider TEXT NOT NULL CHECK (provider IN ('linear', 'jira', 'asana', 'monday', 'pmo')),
518
+ provider TEXT NOT NULL CHECK (provider IN ('linear', 'jira', 'shortcut', 'asana', 'trello', 'monday', 'pmo')),
517
519
  external_id TEXT NOT NULL,
518
520
  external_key TEXT,
519
521
  canonical_url TEXT,
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/lib/pmo/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/lib/pmo/schema.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,12 @@ export class ClaudeCodeRunner {
61
61
  }
62
62
  async poke(session, message) {
63
63
  try {
64
+ // Send Escape first to clear any buffered input in the prompt —
65
+ // without this, text already typed by the agent concatenates with
66
+ // our message, producing garbage.
67
+ execSync(`tmux send-keys -t "${session.sessionName}" Escape`, { stdio: 'pipe' });
68
+ // Wait for Escape to take effect before sending new text
69
+ await new Promise(resolve => setTimeout(resolve, 200));
64
70
  // Send the message as keystrokes followed by Enter
65
71
  execSync(`tmux send-keys -t "${session.sessionName}" ${JSON.stringify(message)} Enter`, { stdio: 'pipe' });
66
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-runner.js","sourceRoot":"","sources":["../../../src/lib/runners/claude-code-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-runner.js","sourceRoot":"","sources":["../../../src/lib/runners/claude-code-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Tool Detection and Health Checking
3
+ *
4
+ * Detects available CLI tools and verifies MCP server connectivity.
5
+ */
6
+ import type { ToolRegistry, CliToolConfig, ToolCheckResult } from './types.js';
7
+ /**
8
+ * Check if a CLI tool is available on the system.
9
+ */
10
+ export declare function isCliToolAvailable(tool: CliToolConfig): boolean;
11
+ /**
12
+ * Auto-detect common CLI tools available on the system.
13
+ * Returns tools that are detected and not already in the registry.
14
+ */
15
+ export declare function detectAvailableTools(registry: ToolRegistry): CliToolConfig[];
16
+ /**
17
+ * Check health of all registered tools.
18
+ * Returns status for each tool (available or not).
19
+ */
20
+ export declare function checkAllTools(registry: ToolRegistry): ToolCheckResult[];
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Tool Detection and Health Checking
3
+ *
4
+ * Detects available CLI tools and verifies MCP server connectivity.
5
+ */
6
+ import { execSync } from 'node:child_process';
7
+ import { COMMON_CLI_TOOLS } from './types.js';
8
+ import { getMcpServers, getCliTools } from './registry.js';
9
+ /**
10
+ * Check if a CLI tool is available on the system.
11
+ */
12
+ export function isCliToolAvailable(tool) {
13
+ const detectCmd = tool.detect || `which ${tool.command}`;
14
+ try {
15
+ execSync(detectCmd, { stdio: 'pipe' });
16
+ return true;
17
+ }
18
+ catch {
19
+ return false;
20
+ }
21
+ }
22
+ /**
23
+ * Auto-detect common CLI tools available on the system.
24
+ * Returns tools that are detected and not already in the registry.
25
+ */
26
+ export function detectAvailableTools(registry) {
27
+ const existingNames = new Set(Object.keys(registry['cli-tools']));
28
+ const detected = [];
29
+ for (const tool of COMMON_CLI_TOOLS) {
30
+ if (existingNames.has(tool.name))
31
+ continue;
32
+ if (isCliToolAvailable(tool)) {
33
+ detected.push(tool);
34
+ }
35
+ }
36
+ return detected;
37
+ }
38
+ /**
39
+ * Check health of all registered tools.
40
+ * Returns status for each tool (available or not).
41
+ */
42
+ export function checkAllTools(registry) {
43
+ const results = [];
44
+ // Check MCP servers
45
+ for (const server of getMcpServers(registry)) {
46
+ results.push(checkMcpServer(server));
47
+ }
48
+ // Check CLI tools
49
+ for (const tool of getCliTools(registry)) {
50
+ results.push(checkCliTool(tool));
51
+ }
52
+ return results;
53
+ }
54
+ function checkMcpServer(server) {
55
+ // For URL-based servers, check if the auth env var is set
56
+ if (server.url && server.auth) {
57
+ const envVar = server.auth.replace(/^\$\{(.+)\}$/, '$1');
58
+ const hasAuth = !!process.env[envVar];
59
+ return {
60
+ name: server.name,
61
+ type: 'mcp',
62
+ available: hasAuth,
63
+ error: hasAuth ? undefined : `Missing environment variable: ${envVar}`,
64
+ };
65
+ }
66
+ // For command-based servers, check if the command exists
67
+ if (server.command) {
68
+ const cmd = server.command.split(' ')[0];
69
+ try {
70
+ execSync(`which ${cmd}`, { stdio: 'pipe' });
71
+ return { name: server.name, type: 'mcp', available: true };
72
+ }
73
+ catch {
74
+ return {
75
+ name: server.name,
76
+ type: 'mcp',
77
+ available: false,
78
+ error: `Command not found: ${cmd}`,
79
+ };
80
+ }
81
+ }
82
+ // URL-based without auth — assume available
83
+ return { name: server.name, type: 'mcp', available: true };
84
+ }
85
+ function checkCliTool(tool) {
86
+ const available = isCliToolAvailable(tool);
87
+ return {
88
+ name: tool.name,
89
+ type: 'cli',
90
+ available,
91
+ error: available ? undefined : `Command not found: ${tool.command}`,
92
+ installHint: available ? undefined : tool.install,
93
+ };
94
+ }
95
+ //# sourceMappingURL=detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../../src/lib/tool-registry/detect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAO7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE1D;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAmB;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAA;IACxD,IAAI,CAAC;QACH,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAoB,EAAE,CAAA;IAEpC,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAQ;QAC1C,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,QAAsB;IAClD,MAAM,OAAO,GAAsB,EAAE,CAAA;IAErC,oBAAoB;IACpB,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,MAAuB;IAC7C,0DAA0D;IAC1D,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QACxD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACrC,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,OAAO;YAClB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iCAAiC,MAAM,EAAE;SACvE,CAAA;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,IAAI,CAAC;YACH,QAAQ,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,sBAAsB,GAAG,EAAE;aACnC,CAAA;QACH,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,IAAmB;IACvC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC1C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,KAAK;QACX,SAAS;QACT,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,IAAI,CAAC,OAAO,EAAE;QACnE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;KAClD,CAAA;AACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tool Registry — Public API
3
+ */
4
+ export type { McpServerConfig, CliToolConfig, ToolRegistry, ToolPolicy, ToolCheckResult, } from './types.js';
5
+ export { COMMON_CLI_TOOLS, BUILTIN_PRLT_TOOL } from './types.js';
6
+ export { getToolsConfigPath, loadToolRegistry, saveToolRegistry, getMcpServers, getCliTools, addMcpServer, addCliTool, removeTool, } from './registry.js';
7
+ export { isCliToolAvailable, detectAvailableTools, checkAllTools, } from './detect.js';
8
+ export { getPoliciesDir, loadToolPolicy, saveToolPolicy, listPolicies, filterByPolicy, } from './policy.js';
9
+ export { generateMcpConfig, writeMcpConfigFile, buildToolsPromptSection, resolveToolsForSpawn, } from './spawn.js';
10
+ export type { SpawnToolsResult } from './spawn.js';
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Tool Registry — Public API
3
+ */
4
+ export { COMMON_CLI_TOOLS, BUILTIN_PRLT_TOOL } from './types.js';
5
+ // Registry operations
6
+ export { getToolsConfigPath, loadToolRegistry, saveToolRegistry, getMcpServers, getCliTools, addMcpServer, addCliTool, removeTool, } from './registry.js';
7
+ // Detection and health
8
+ export { isCliToolAvailable, detectAvailableTools, checkAllTools, } from './detect.js';
9
+ // Policy
10
+ export { getPoliciesDir, loadToolPolicy, saveToolPolicy, listPolicies, filterByPolicy, } from './policy.js';
11
+ // Spawn-time integration
12
+ export { generateMcpConfig, writeMcpConfigFile, buildToolsPromptSection, resolveToolsForSpawn, } from './spawn.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/tool-registry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEhE,sBAAsB;AACtB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAA;AAEtB,uBAAuB;AACvB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,GACd,MAAM,aAAa,CAAA;AAEpB,SAAS;AACT,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAA;AAEpB,yBAAyB;AACzB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Tool Policy — Per-agent access control for tools
3
+ *
4
+ * Policy profiles are defined in YAML files under .proletariat/policies/.
5
+ * Each profile specifies which MCP servers and CLI tools an agent can access.
6
+ */
7
+ import type { ToolRegistry, ToolPolicy, McpServerConfig, CliToolConfig } from './types.js';
8
+ /**
9
+ * Get path to the policies directory.
10
+ */
11
+ export declare function getPoliciesDir(hqPath: string): string;
12
+ /**
13
+ * Load a tool policy by name.
14
+ * Looks in .proletariat/policies/{name}.yaml
15
+ */
16
+ export declare function loadToolPolicy(hqPath: string, policyName: string): ToolPolicy | null;
17
+ /**
18
+ * Save a tool policy.
19
+ */
20
+ export declare function saveToolPolicy(hqPath: string, policyName: string, policy: ToolPolicy): void;
21
+ /**
22
+ * List all available policy profiles.
23
+ */
24
+ export declare function listPolicies(hqPath: string): string[];
25
+ /**
26
+ * Filter registry by policy — returns only the tools the agent is allowed to use.
27
+ * If no policy is provided, returns all registered tools.
28
+ */
29
+ export declare function filterByPolicy(registry: ToolRegistry, policy: ToolPolicy | null): {
30
+ mcpServers: McpServerConfig[];
31
+ cliTools: CliToolConfig[];
32
+ };