tryassay 0.3.0 → 0.11.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.
Files changed (150) hide show
  1. package/dist/api/pricing-enforcer.d.ts +45 -0
  2. package/dist/api/pricing-enforcer.js +144 -0
  3. package/dist/api/pricing-enforcer.js.map +1 -0
  4. package/dist/api/server.d.ts +28 -0
  5. package/dist/api/server.js +265 -0
  6. package/dist/api/server.js.map +1 -0
  7. package/dist/api/team-session.d.ts +59 -0
  8. package/dist/api/team-session.js +240 -0
  9. package/dist/api/team-session.js.map +1 -0
  10. package/dist/cli.js +142 -2
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/api.d.ts +4 -0
  13. package/dist/commands/api.js +50 -0
  14. package/dist/commands/api.js.map +1 -0
  15. package/dist/commands/runtime.d.ts +69 -0
  16. package/dist/commands/runtime.js +673 -0
  17. package/dist/commands/runtime.js.map +1 -1
  18. package/dist/runtime/agent-loop.d.ts +6 -0
  19. package/dist/runtime/agent-loop.js +87 -5
  20. package/dist/runtime/agent-loop.js.map +1 -1
  21. package/dist/runtime/agent-spawner.d.ts +56 -0
  22. package/dist/runtime/agent-spawner.js +217 -0
  23. package/dist/runtime/agent-spawner.js.map +1 -0
  24. package/dist/runtime/agents/code-agent.d.ts +11 -0
  25. package/dist/runtime/agents/code-agent.js +90 -0
  26. package/dist/runtime/agents/code-agent.js.map +1 -0
  27. package/dist/runtime/agents/coordinator-agent.d.ts +20 -0
  28. package/dist/runtime/agents/coordinator-agent.js +182 -0
  29. package/dist/runtime/agents/coordinator-agent.js.map +1 -0
  30. package/dist/runtime/agents/ops-agent.d.ts +11 -0
  31. package/dist/runtime/agents/ops-agent.js +113 -0
  32. package/dist/runtime/agents/ops-agent.js.map +1 -0
  33. package/dist/runtime/agents/research-agent.d.ts +11 -0
  34. package/dist/runtime/agents/research-agent.js +114 -0
  35. package/dist/runtime/agents/research-agent.js.map +1 -0
  36. package/dist/runtime/agents/review-agent.d.ts +11 -0
  37. package/dist/runtime/agents/review-agent.js +96 -0
  38. package/dist/runtime/agents/review-agent.js.map +1 -0
  39. package/dist/runtime/agents/test-agent.d.ts +11 -0
  40. package/dist/runtime/agents/test-agent.js +114 -0
  41. package/dist/runtime/agents/test-agent.js.map +1 -0
  42. package/dist/runtime/capability-registry.d.ts +62 -0
  43. package/dist/runtime/capability-registry.js +191 -0
  44. package/dist/runtime/capability-registry.js.map +1 -0
  45. package/dist/runtime/collusion-detector.d.ts +35 -0
  46. package/dist/runtime/collusion-detector.js +97 -0
  47. package/dist/runtime/collusion-detector.js.map +1 -0
  48. package/dist/runtime/composition-verifier.d.ts +22 -0
  49. package/dist/runtime/composition-verifier.js +265 -0
  50. package/dist/runtime/composition-verifier.js.map +1 -0
  51. package/dist/runtime/confidence-calibrator.d.ts +10 -0
  52. package/dist/runtime/confidence-calibrator.js +95 -0
  53. package/dist/runtime/confidence-calibrator.js.map +1 -0
  54. package/dist/runtime/domain-coverage-analyzer.d.ts +24 -0
  55. package/dist/runtime/domain-coverage-analyzer.js +178 -0
  56. package/dist/runtime/domain-coverage-analyzer.js.map +1 -0
  57. package/dist/runtime/enriched-prompt-builder.d.ts +25 -0
  58. package/dist/runtime/enriched-prompt-builder.js +173 -0
  59. package/dist/runtime/enriched-prompt-builder.js.map +1 -0
  60. package/dist/runtime/gap-detector.d.ts +6 -0
  61. package/dist/runtime/gap-detector.js +111 -0
  62. package/dist/runtime/gap-detector.js.map +1 -0
  63. package/dist/runtime/human-escalation.d.ts +41 -0
  64. package/dist/runtime/human-escalation.js +122 -0
  65. package/dist/runtime/human-escalation.js.map +1 -0
  66. package/dist/runtime/kill-switch.d.ts +51 -0
  67. package/dist/runtime/kill-switch.js +185 -0
  68. package/dist/runtime/kill-switch.js.map +1 -0
  69. package/dist/runtime/layer2-guardian.d.ts +81 -0
  70. package/dist/runtime/layer2-guardian.js +263 -0
  71. package/dist/runtime/layer2-guardian.js.map +1 -0
  72. package/dist/runtime/message-bus.d.ts +57 -0
  73. package/dist/runtime/message-bus.js +115 -0
  74. package/dist/runtime/message-bus.js.map +1 -0
  75. package/dist/runtime/multi-agent-loop.d.ts +37 -0
  76. package/dist/runtime/multi-agent-loop.js +411 -0
  77. package/dist/runtime/multi-agent-loop.js.map +1 -0
  78. package/dist/runtime/pattern-extractor.d.ts +20 -0
  79. package/dist/runtime/pattern-extractor.js +257 -0
  80. package/dist/runtime/pattern-extractor.js.map +1 -0
  81. package/dist/runtime/planner.d.ts +2 -2
  82. package/dist/runtime/planner.js +10 -7
  83. package/dist/runtime/planner.js.map +1 -1
  84. package/dist/runtime/prompt-safety-analyzer.d.ts +17 -0
  85. package/dist/runtime/prompt-safety-analyzer.js +230 -0
  86. package/dist/runtime/prompt-safety-analyzer.js.map +1 -0
  87. package/dist/runtime/reasoner.d.ts +2 -2
  88. package/dist/runtime/reasoner.js +9 -5
  89. package/dist/runtime/reasoner.js.map +1 -1
  90. package/dist/runtime/reflector.d.ts +7 -1
  91. package/dist/runtime/reflector.js.map +1 -1
  92. package/dist/runtime/rollback-manager.d.ts +50 -0
  93. package/dist/runtime/rollback-manager.js +157 -0
  94. package/dist/runtime/rollback-manager.js.map +1 -0
  95. package/dist/runtime/rule-canary-deployer.d.ts +69 -0
  96. package/dist/runtime/rule-canary-deployer.js +289 -0
  97. package/dist/runtime/rule-canary-deployer.js.map +1 -0
  98. package/dist/runtime/rule-conflict-detector.d.ts +48 -0
  99. package/dist/runtime/rule-conflict-detector.js +214 -0
  100. package/dist/runtime/rule-conflict-detector.js.map +1 -0
  101. package/dist/runtime/rule-meta-verifier.d.ts +18 -0
  102. package/dist/runtime/rule-meta-verifier.js +275 -0
  103. package/dist/runtime/rule-meta-verifier.js.map +1 -0
  104. package/dist/runtime/rule-proposal-manager.d.ts +95 -0
  105. package/dist/runtime/rule-proposal-manager.js +190 -0
  106. package/dist/runtime/rule-proposal-manager.js.map +1 -0
  107. package/dist/runtime/safety-enforcer.d.ts +35 -0
  108. package/dist/runtime/safety-enforcer.js +165 -0
  109. package/dist/runtime/safety-enforcer.js.map +1 -0
  110. package/dist/runtime/safety-status.d.ts +48 -0
  111. package/dist/runtime/safety-status.js +119 -0
  112. package/dist/runtime/safety-status.js.map +1 -0
  113. package/dist/runtime/shadow-runner.d.ts +14 -0
  114. package/dist/runtime/shadow-runner.js +190 -0
  115. package/dist/runtime/shadow-runner.js.map +1 -0
  116. package/dist/runtime/shared-memory.d.ts +47 -0
  117. package/dist/runtime/shared-memory.js +151 -0
  118. package/dist/runtime/shared-memory.js.map +1 -0
  119. package/dist/runtime/specialized-agent.d.ts +72 -0
  120. package/dist/runtime/specialized-agent.js +123 -0
  121. package/dist/runtime/specialized-agent.js.map +1 -0
  122. package/dist/runtime/stall-detector.d.ts +13 -0
  123. package/dist/runtime/stall-detector.js +121 -0
  124. package/dist/runtime/stall-detector.js.map +1 -0
  125. package/dist/runtime/strategy-library.d.ts +11 -0
  126. package/dist/runtime/strategy-library.js +142 -0
  127. package/dist/runtime/strategy-library.js.map +1 -0
  128. package/dist/runtime/supabase-experience-store.d.ts +19 -0
  129. package/dist/runtime/supabase-experience-store.js +215 -0
  130. package/dist/runtime/supabase-experience-store.js.map +1 -0
  131. package/dist/runtime/tool-approval.d.ts +51 -0
  132. package/dist/runtime/tool-approval.js +148 -0
  133. package/dist/runtime/tool-approval.js.map +1 -0
  134. package/dist/runtime/tool-sandbox.d.ts +43 -0
  135. package/dist/runtime/tool-sandbox.js +394 -0
  136. package/dist/runtime/tool-sandbox.js.map +1 -0
  137. package/dist/runtime/tool-verifier.d.ts +18 -0
  138. package/dist/runtime/tool-verifier.js +323 -0
  139. package/dist/runtime/tool-verifier.js.map +1 -0
  140. package/dist/runtime/trust-manager.d.ts +63 -0
  141. package/dist/runtime/trust-manager.js +212 -0
  142. package/dist/runtime/trust-manager.js.map +1 -0
  143. package/dist/runtime/two-agent-loop.d.ts +35 -0
  144. package/dist/runtime/two-agent-loop.js +208 -0
  145. package/dist/runtime/two-agent-loop.js.map +1 -0
  146. package/dist/runtime/types.d.ts +939 -1
  147. package/dist/runtime/verification-intensity.d.ts +34 -0
  148. package/dist/runtime/verification-intensity.js +104 -0
  149. package/dist/runtime/verification-intensity.js.map +1 -0
  150. package/package.json +1 -1
@@ -0,0 +1,240 @@
1
+ // ============================================================
2
+ // Assay Verified Team API — Team Session Manager
3
+ // Manages the lifecycle of verified team sessions.
4
+ // Wraps MultiAgentLoop with SSE streaming and audit access.
5
+ // ============================================================
6
+ import { randomUUID } from 'node:crypto';
7
+ import { EventEmitter } from 'node:events';
8
+ import { MultiAgentLoop } from '../runtime/multi-agent-loop.js';
9
+ // ── Default safety policy ───────────────────────────────────
10
+ const DEFAULT_SAFETY = {
11
+ formalOverridesConsensus: true,
12
+ noSelfVerification: true,
13
+ criticalClaimsRequireFormal: true,
14
+ escalationRules: {
15
+ maxFormalOverridesBeforeHalt: 3,
16
+ maxTrustDemotions: 2,
17
+ maxRejectCyclesPerTask: 3,
18
+ },
19
+ preferModelDiversity: false,
20
+ };
21
+ // ── Team Session Manager ───────────────────────────────────
22
+ export class TeamSessionManager extends EventEmitter {
23
+ sessions = new Map();
24
+ loops = new Map();
25
+ /**
26
+ * Create a new team session. Returns the session ID.
27
+ * The session starts immediately and runs asynchronously.
28
+ */
29
+ create(apiKey, goal, agents, opts) {
30
+ const sessionId = randomUUID();
31
+ const now = new Date().toISOString();
32
+ const session = {
33
+ id: sessionId,
34
+ apiKey,
35
+ goal,
36
+ status: 'running',
37
+ agents,
38
+ createdAt: now,
39
+ sseClients: [],
40
+ verificationCount: 0,
41
+ };
42
+ this.sessions.set(sessionId, session);
43
+ // Build team config
44
+ const config = {
45
+ goal,
46
+ agents,
47
+ safetyPolicy: DEFAULT_SAFETY,
48
+ maxConcurrentTasks: opts?.maxConcurrentTasks ?? 3,
49
+ stallTimeoutMs: opts?.stallTimeoutMs ?? 120_000,
50
+ maxTotalAttempts: 20,
51
+ models: opts?.models,
52
+ };
53
+ const codebaseRoot = opts?.codebaseRoot ?? process.cwd();
54
+ const loop = new MultiAgentLoop(codebaseRoot, config);
55
+ this.loops.set(sessionId, loop);
56
+ // Forward audit events as SSE
57
+ loop.on('audit', (entry) => {
58
+ session.verificationCount++;
59
+ const sseEvent = {
60
+ event: this.auditToSSEType(entry.eventType),
61
+ data: entry.details,
62
+ id: entry.id,
63
+ timestamp: entry.timestamp,
64
+ };
65
+ this.broadcastSSE(sessionId, sseEvent);
66
+ });
67
+ // Run asynchronously
68
+ loop.run().then((result) => {
69
+ session.status = result.status === 'completed' ? 'completed' : 'failed';
70
+ session.completedAt = new Date().toISOString();
71
+ session.result = result;
72
+ this.broadcastSSE(sessionId, {
73
+ event: 'complete',
74
+ data: {
75
+ status: result.status,
76
+ taskCount: result.taskGraph.tasks.length,
77
+ completedCount: result.taskGraph.tasks.filter(t => t.status === 'completed').length,
78
+ handoffCount: result.artifacts.length,
79
+ durationMs: result.totalDurationMs,
80
+ },
81
+ timestamp: new Date().toISOString(),
82
+ });
83
+ // Close all SSE connections
84
+ this.closeSSE(sessionId);
85
+ }).catch((err) => {
86
+ session.status = 'failed';
87
+ session.completedAt = new Date().toISOString();
88
+ this.broadcastSSE(sessionId, {
89
+ event: 'error',
90
+ data: { error: err instanceof Error ? err.message : String(err) },
91
+ timestamp: new Date().toISOString(),
92
+ });
93
+ this.closeSSE(sessionId);
94
+ });
95
+ return sessionId;
96
+ }
97
+ /**
98
+ * Get session info.
99
+ */
100
+ getSession(sessionId) {
101
+ const session = this.sessions.get(sessionId);
102
+ if (!session)
103
+ return null;
104
+ return {
105
+ id: session.id,
106
+ apiKey: session.apiKey,
107
+ goal: session.goal,
108
+ status: session.status,
109
+ agents: session.agents,
110
+ createdAt: session.createdAt,
111
+ completedAt: session.completedAt,
112
+ result: session.result,
113
+ };
114
+ }
115
+ /**
116
+ * Get detailed status including trust levels and task graph.
117
+ */
118
+ getStatus(sessionId) {
119
+ const session = this.sessions.get(sessionId);
120
+ const loop = this.loops.get(sessionId);
121
+ if (!session)
122
+ return null;
123
+ return {
124
+ session: {
125
+ id: session.id,
126
+ apiKey: session.apiKey,
127
+ goal: session.goal,
128
+ status: session.status,
129
+ agents: session.agents,
130
+ createdAt: session.createdAt,
131
+ completedAt: session.completedAt,
132
+ result: session.result,
133
+ },
134
+ verificationCount: session.verificationCount,
135
+ auditEntryCount: loop?.getAuditTrail().length ?? 0,
136
+ durationMs: Date.now() - new Date(session.createdAt).getTime(),
137
+ };
138
+ }
139
+ /**
140
+ * Get audit trail for a session.
141
+ */
142
+ getAuditTrail(sessionId, offset = 0, limit = 50) {
143
+ const loop = this.loops.get(sessionId);
144
+ if (!loop)
145
+ return null;
146
+ const all = loop.getAuditTrail();
147
+ return {
148
+ entries: all.slice(offset, offset + limit),
149
+ total: all.length,
150
+ };
151
+ }
152
+ /**
153
+ * Register an SSE client for real-time updates.
154
+ */
155
+ registerSSEClient(sessionId, writer) {
156
+ const session = this.sessions.get(sessionId);
157
+ if (!session)
158
+ return false;
159
+ session.sseClients.push(writer);
160
+ return true;
161
+ }
162
+ /**
163
+ * Remove an SSE client.
164
+ */
165
+ removeSSEClient(sessionId, writer) {
166
+ const session = this.sessions.get(sessionId);
167
+ if (!session)
168
+ return;
169
+ session.sseClients = session.sseClients.filter(w => w !== writer);
170
+ }
171
+ /**
172
+ * Stop a running session.
173
+ */
174
+ stop(sessionId) {
175
+ const session = this.sessions.get(sessionId);
176
+ if (!session || session.status !== 'running')
177
+ return false;
178
+ session.status = 'halted';
179
+ session.completedAt = new Date().toISOString();
180
+ this.closeSSE(sessionId);
181
+ return true;
182
+ }
183
+ /**
184
+ * List all sessions for an API key.
185
+ */
186
+ listSessions(apiKey) {
187
+ return Array.from(this.sessions.values())
188
+ .filter(s => s.apiKey === apiKey)
189
+ .map(s => ({
190
+ id: s.id,
191
+ apiKey: s.apiKey,
192
+ goal: s.goal,
193
+ status: s.status,
194
+ agents: s.agents,
195
+ createdAt: s.createdAt,
196
+ completedAt: s.completedAt,
197
+ result: s.result,
198
+ }));
199
+ }
200
+ // ── Private ─────────────────────────────────────────────
201
+ broadcastSSE(sessionId, event) {
202
+ const session = this.sessions.get(sessionId);
203
+ if (!session)
204
+ return;
205
+ const data = `event: ${event.event}\ndata: ${JSON.stringify(event.data)}\nid: ${event.id ?? ''}\n\n`;
206
+ for (const writer of session.sseClients) {
207
+ try {
208
+ writer.write(data);
209
+ }
210
+ catch {
211
+ // Client disconnected, will be cleaned up
212
+ }
213
+ }
214
+ this.emit('sse', { sessionId, event });
215
+ }
216
+ closeSSE(sessionId) {
217
+ const session = this.sessions.get(sessionId);
218
+ if (!session)
219
+ return;
220
+ for (const writer of session.sseClients) {
221
+ try {
222
+ writer.end();
223
+ }
224
+ catch {
225
+ // Already closed
226
+ }
227
+ }
228
+ session.sseClients = [];
229
+ }
230
+ auditToSSEType(eventType) {
231
+ switch (eventType) {
232
+ case 'verification_run': return 'verification';
233
+ case 'trust_change': return 'trust_change';
234
+ case 'escalation': return 'escalation';
235
+ case 'task_status_change': return 'task_update';
236
+ default: return 'audit';
237
+ }
238
+ }
239
+ }
240
+ //# sourceMappingURL=team-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-session.js","sourceRoot":"","sources":["../../src/api/team-session.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -10,12 +10,13 @@ import { regenerateCommand } from './commands/regenerate.js';
10
10
  import { remediateCommand } from './commands/remediate.js';
11
11
  import { reverseCommand } from './commands/reverse.js';
12
12
  import { assessCommand } from './commands/assess.js';
13
- import { runtimeCommand, runtimeInitCommand, runtimeStatusCommand, runtimeStopCommand } from './commands/runtime.js';
13
+ import { runtimeCommand, runtimeInitCommand, runtimeStatusCommand, runtimeStopCommand, runtimeExtractCommand, runtimeGapsCommand, runtimeTeamCommand, runtimeFullTeamCommand, runtimeToolsListCommand, runtimeToolsApproveCommand, runtimeToolsRollbackCommand, runtimeAgentsListCommand, runtimeAgentsSpawnCommand, runtimeAgentsRetireCommand, runtimeRulesProposeCommand, runtimeRulesShadowCommand, runtimeRulesPromoteCommand, runtimeSafetyStatusCommand, runtimeSafetySignCommand, runtimeSafetyRollbackCommand, runtimeSafetyKillswitchCommand } from './commands/runtime.js';
14
+ import { apiStartCommand } from './commands/api.js';
14
15
  const program = new Command();
15
16
  program
16
17
  .name('assay')
17
18
  .description('Assay — AI code verification using the LUCID methodology')
18
- .version('0.1.0');
19
+ .version('0.11.0');
19
20
  program
20
21
  .command('init')
21
22
  .description('Initialize an Assay project in the current directory')
@@ -113,5 +114,144 @@ runtime
113
114
  .option('--port <port>', 'Control server port', '3700')
114
115
  .option('--token <token>', 'Bearer token (printed at agent startup)')
115
116
  .action(runtimeStopCommand);
117
+ runtime
118
+ .command('extract')
119
+ .description('Run pattern extraction on accumulated experiences')
120
+ .argument('[path]', 'Path to the project directory', '.')
121
+ .action(runtimeExtractCommand);
122
+ runtime
123
+ .command('gaps')
124
+ .description('Analyze verification gaps and propose formal rule candidates')
125
+ .argument('[path]', 'Path to the project directory', '.')
126
+ .action(runtimeGapsCommand);
127
+ runtime
128
+ .command('team')
129
+ .description('Run a two-agent team (Code + Review) with boundary verification')
130
+ .argument('<task>', 'Task description for the team')
131
+ .option('--code-model <model>', 'Model for Code Agent')
132
+ .option('--review-model <model>', 'Model for Review Agent')
133
+ .option('--max-attempts <n>', 'Max retry attempts', '3')
134
+ .option('--cwd <path>', 'Working directory', '.')
135
+ .action(runtimeTeamCommand);
136
+ runtime
137
+ .command('fullteam')
138
+ .description('Run a full multi-agent team with Coordinator, boundary verification, and shared memory')
139
+ .argument('<task>', 'Goal description for the team')
140
+ .option('--agents <list>', 'Comma-separated agent roles', 'coordinator,code,review,test')
141
+ .option('--max-concurrent <n>', 'Max tasks running in parallel', '3')
142
+ .option('--stall-timeout <ms>', 'Stall detection timeout in ms', '120000')
143
+ .option('--max-attempts <n>', 'Max total iteration attempts', '20')
144
+ .option('--cwd <path>', 'Working directory', '.')
145
+ .option('--coordinator-model <model>', 'Model for Coordinator')
146
+ .option('--code-model <model>', 'Model for Code Agent')
147
+ .option('--review-model <model>', 'Model for Review Agent')
148
+ .option('--test-model <model>', 'Model for Test Agent')
149
+ .option('--research-model <model>', 'Model for Research Agent')
150
+ .option('--ops-model <model>', 'Model for Ops Agent')
151
+ .action(runtimeFullTeamCommand);
152
+ const tools = runtime
153
+ .command('tools')
154
+ .description('Manage tools in the capability registry');
155
+ tools
156
+ .command('list')
157
+ .description('List all tools in the capability registry')
158
+ .option('--registry <path>', 'Path to registry file', '.assay/capability-registry.json')
159
+ .action(runtimeToolsListCommand);
160
+ tools
161
+ .command('approve')
162
+ .description('Approve a pending tool proposal')
163
+ .argument('<proposal-id>', 'Proposal ID to approve')
164
+ .option('--registry <path>', 'Path to registry file', '.assay/capability-registry.json')
165
+ .option('--approver <name>', 'Name of the approver', 'human-operator')
166
+ .option('--reason <reason>', 'Approval reasoning')
167
+ .action(runtimeToolsApproveCommand);
168
+ tools
169
+ .command('rollback')
170
+ .description('Rollback the registry to the previous version')
171
+ .option('--registry <path>', 'Path to registry file', '.assay/capability-registry.json')
172
+ .option('--operator <name>', 'Name of the operator', 'human-operator')
173
+ .action(runtimeToolsRollbackCommand);
174
+ const agents = runtime
175
+ .command('agents')
176
+ .description('Manage spawned agents');
177
+ agents
178
+ .command('list')
179
+ .description('List all agents and pending proposals')
180
+ .option('--registry <path>', 'Path to registry file', '.assay/capability-registry.json')
181
+ .action(runtimeAgentsListCommand);
182
+ agents
183
+ .command('spawn')
184
+ .description('Propose and verify a new agent from a spec file')
185
+ .argument('<spec-path>', 'Path to agent spec JSON file')
186
+ .option('--registry <path>', 'Path to registry file', '.assay/capability-registry.json')
187
+ .option('--parent-trust <level>', 'Parent trust level', 'human')
188
+ .option('--use-llm', 'Enable LLM-based prompt safety analysis')
189
+ .action(runtimeAgentsSpawnCommand);
190
+ agents
191
+ .command('retire')
192
+ .description('Retire an active agent')
193
+ .argument('<agent-id>', 'Agent ID to retire')
194
+ .option('--operator <name>', 'Name of the operator', 'human-operator')
195
+ .action(runtimeAgentsRetireCommand);
196
+ const rules = runtime
197
+ .command('rules')
198
+ .description('Manage verification rules');
199
+ rules
200
+ .command('propose')
201
+ .description('Propose a new verification rule from a spec file')
202
+ .argument('<spec-path>', 'Path to rule spec JSON file')
203
+ .option('--registry <path>', 'Path to registry file', '.assay/capability-registry.json')
204
+ .action(runtimeRulesProposeCommand);
205
+ rules
206
+ .command('shadow')
207
+ .description('Check canary deployment status for a rule')
208
+ .argument('<rule-id>', 'Rule ID to check')
209
+ .action(runtimeRulesShadowCommand);
210
+ rules
211
+ .command('promote')
212
+ .description('Promote a rule to the next canary stage')
213
+ .argument('<rule-id>', 'Rule ID to promote')
214
+ .action(runtimeRulesPromoteCommand);
215
+ const safety = runtime
216
+ .command('safety')
217
+ .description('Layer 2 immutability and safety management');
218
+ safety
219
+ .command('status')
220
+ .description('Show comprehensive safety status report')
221
+ .option('--path <path>', 'Path to project directory', '.')
222
+ .action(runtimeSafetyStatusCommand);
223
+ safety
224
+ .command('sign')
225
+ .description('Generate a Layer 2 manifest (cryptographic signing)')
226
+ .option('--path <path>', 'Path to project directory', '.')
227
+ .option('--operator <name>', 'Name of the operator', 'human-operator')
228
+ .action(runtimeSafetySignCommand);
229
+ safety
230
+ .command('rollback')
231
+ .description('Rollback a specific tool, agent, or rule')
232
+ .argument('<target-id>', 'ID of the target to rollback')
233
+ .option('--path <path>', 'Path to project directory', '.')
234
+ .option('--operator <name>', 'Name of the operator', 'human-operator')
235
+ .option('--type <type>', 'Target type: tool, agent, rule, registry', 'tool')
236
+ .action(runtimeSafetyRollbackCommand);
237
+ safety
238
+ .command('killswitch')
239
+ .description('Activate the kill switch on a target')
240
+ .argument('<target>', 'Target to suspend (agent/tool/rule ID, or "system")')
241
+ .option('--level <level>', 'Kill switch level: layer2, human, coordinator, agent', 'human')
242
+ .option('--action <action>', 'Action: halt_system, suspend_agent, suspend_tool, suspend_rule, halt_task', 'suspend_agent')
243
+ .option('--operator <name>', 'Name of the operator', 'human-operator')
244
+ .option('--reason <reason>', 'Reason for activation')
245
+ .action(runtimeSafetyKillswitchCommand);
246
+ // ── API (Verified Team API) ─────────────────────────────────
247
+ const api = program
248
+ .command('api')
249
+ .description('Assay Verified Team API — REST server for spawning verified teams');
250
+ api
251
+ .command('start')
252
+ .description('Start the Verified Team API server')
253
+ .option('-p, --port <port>', 'HTTP server port', '3800')
254
+ .option('--dev-key <key>', 'Register a development API key (auto-generated if omitted)')
255
+ .action(apiStartCommand);
116
256
  program.parse();
117
257
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACtjB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,0DAA0D,CAAC;KACvE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAErB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,2CAA2C,EAAE,KAAK,CAAC;KAC/E,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;KAC/C,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mEAAmE,CAAC;KAChF,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;KAC3E,MAAM,CAAC,yBAAyB,EAAE,uDAAuD,CAAC;KAC1F,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,EAAE,GAAG,CAAC;KAC1E,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;KAC3E,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;KAC3E,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,0EAA0E,CAAC;KACvF,MAAM,CAAC,0BAA0B,EAAE,0DAA0D,CAAC;KAC9F,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,qFAAqF,CAAC;KAClG,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,CAAC;KAC3E,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,EAAE,GAAG,CAAC;KACrE,MAAM,CAAC,0BAA0B,EAAE,oCAAoC,EAAE,IAAI,CAAC;KAC9E,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;KACtD,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,CAAC;KACvD,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,YAAY,CAAC;KAChE,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,CAAC;KACjD,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;KACjD,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yDAAyD,CAAC;KACtE,QAAQ,CAAC,UAAU,EAAE,qCAAqC,CAAC;KAC3D,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;KACpD,MAAM,CAAC,oBAAoB,EAAE,kDAAkD,CAAC;KAChF,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,EAAE,GAAG,CAAC;KAClE,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,CAAC;KAC1E,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,gEAAgE;AAEhE,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,+DAA+D,CAAC,CAAC;AAEhF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;KACnD,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;KACzC,MAAM,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;KACzE,MAAM,CAAC,2BAA2B,EAAE,oCAAoC,CAAC;KACzE,MAAM,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;KAC3E,MAAM,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;KAC5D,MAAM,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;KAC5D,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,4BAA4B,CAAC;KACrF,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,CAAC;KACnE,MAAM,CAAC,QAAQ,EAAE,uCAAuC,CAAC;KACzD,MAAM,CAAC,oBAAoB,EAAE,6CAA6C,EAAE,KAAK,CAAC;KAClF,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kDAAkD,CAAC;KAC/D,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,EAAE,GAAG,CAAC;KACxD,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wDAAwD,CAAC;KACrE,MAAM,CAAC,eAAe,EAAE,qBAAqB,EAAE,MAAM,CAAC;KACtD,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAEhC,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,eAAe,EAAE,qBAAqB,EAAE,MAAM,CAAC;KACtD,MAAM,CAAC,iBAAiB,EAAE,yCAAyC,CAAC;KACpE,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mDAAmD,CAAC;KAChE,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,EAAE,GAAG,CAAC;KACxD,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEjC,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8DAA8D,CAAC;KAC3E,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,EAAE,GAAG,CAAC;KACxD,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,iEAAiE,CAAC;KAC9E,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;KACnD,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;KACtD,MAAM,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;KAC1D,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,CAAC;KACvD,MAAM,CAAC,cAAc,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAChD,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,wFAAwF,CAAC;KACrG,QAAQ,CAAC,QAAQ,EAAE,+BAA+B,CAAC;KACnD,MAAM,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,8BAA8B,CAAC;KACxF,MAAM,CAAC,sBAAsB,EAAE,+BAA+B,EAAE,GAAG,CAAC;KACpE,MAAM,CAAC,sBAAsB,EAAE,+BAA+B,EAAE,QAAQ,CAAC;KACzE,MAAM,CAAC,oBAAoB,EAAE,8BAA8B,EAAE,IAAI,CAAC;KAClE,MAAM,CAAC,cAAc,EAAE,mBAAmB,EAAE,GAAG,CAAC;KAChD,MAAM,CAAC,6BAA6B,EAAE,uBAAuB,CAAC;KAC9D,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;KACtD,MAAM,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;KAC1D,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;KACtD,MAAM,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;KAC9D,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KACpD,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAElC,MAAM,KAAK,GAAG,OAAO;KAClB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yCAAyC,CAAC,CAAC;AAE1D,KAAK;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,iCAAiC,CAAC;KACvF,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEnC,KAAK;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,QAAQ,CAAC,eAAe,EAAE,wBAAwB,CAAC;KACnD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,iCAAiC,CAAC;KACvF,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;KACjD,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,KAAK;KACF,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,iCAAiC,CAAC;KACvF,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;KACrE,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAEvC,MAAM,MAAM,GAAG,OAAO;KACnB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAExC,MAAM;KACH,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,iCAAiC,CAAC;KACvF,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpC,MAAM;KACH,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,QAAQ,CAAC,aAAa,EAAE,8BAA8B,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,iCAAiC,CAAC;KACvF,MAAM,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,OAAO,CAAC;KAC/D,MAAM,CAAC,WAAW,EAAE,yCAAyC,CAAC;KAC9D,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAErC,MAAM;KACH,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wBAAwB,CAAC;KACrC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;KAC5C,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;KACrE,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,MAAM,KAAK,GAAG,OAAO;KAClB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2BAA2B,CAAC,CAAC;AAE5C,KAAK;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,QAAQ,CAAC,aAAa,EAAE,6BAA6B,CAAC;KACtD,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,iCAAiC,CAAC;KACvF,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,KAAK;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2CAA2C,CAAC;KACxD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;KACzC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAErC,KAAK;KACF,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,yCAAyC,CAAC;KACtD,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;KAC3C,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,MAAM,MAAM,GAAG,OAAO;KACnB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4CAA4C,CAAC,CAAC;AAE7D,MAAM;KACH,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yCAAyC,CAAC;KACtD,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,GAAG,CAAC;KACzD,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,MAAM;KACH,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,GAAG,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;KACrE,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpC,MAAM;KACH,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,0CAA0C,CAAC;KACvD,QAAQ,CAAC,aAAa,EAAE,8BAA8B,CAAC;KACvD,MAAM,CAAC,eAAe,EAAE,2BAA2B,EAAE,GAAG,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;KACrE,MAAM,CAAC,eAAe,EAAE,0CAA0C,EAAE,MAAM,CAAC;KAC3E,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAExC,MAAM;KACH,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,sCAAsC,CAAC;KACnD,QAAQ,CAAC,UAAU,EAAE,qDAAqD,CAAC;KAC3E,MAAM,CAAC,iBAAiB,EAAE,sDAAsD,EAAE,OAAO,CAAC;KAC1F,MAAM,CAAC,mBAAmB,EAAE,2EAA2E,EAAE,eAAe,CAAC;KACzH,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;KACpD,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAE1C,+DAA+D;AAE/D,MAAM,GAAG,GAAG,OAAO;KAChB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,mEAAmE,CAAC,CAAC;AAEpF,GAAG;KACA,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,4DAA4D,CAAC;KACvF,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function apiStartCommand(opts: {
2
+ port?: string;
3
+ devKey?: string;
4
+ }): Promise<void>;
@@ -0,0 +1,50 @@
1
+ // ============================================================
2
+ // CLI Command: tryassay api start|stop
3
+ // Launches the Assay Verified Team API server
4
+ // ============================================================
5
+ export async function apiStartCommand(opts) {
6
+ const { TeamApiServer } = await import('../api/server.js');
7
+ const port = opts.port ? parseInt(opts.port, 10) : 3800;
8
+ const server = new TeamApiServer({ port });
9
+ // Register dev API key if provided
10
+ if (opts.devKey) {
11
+ server.registerApiKey(opts.devKey, 'pro', 'dev-org');
12
+ console.log(` Dev API key registered: ${opts.devKey.slice(0, 8)}...`);
13
+ }
14
+ else {
15
+ // Auto-generate a dev key
16
+ const { randomUUID } = await import('node:crypto');
17
+ const devKey = `dev-${randomUUID().slice(0, 16)}`;
18
+ server.registerApiKey(devKey, 'pro', 'dev-org');
19
+ console.log(` Dev API key (auto-generated): ${devKey}`);
20
+ }
21
+ console.log('');
22
+ console.log(' Assay Verified Team API');
23
+ console.log(' =======================');
24
+ console.log('');
25
+ console.log(` Port: ${port}`);
26
+ console.log(` Health: http://localhost:${port}/health`);
27
+ console.log(` Create team: POST http://localhost:${port}/api/v1/team/create`);
28
+ console.log('');
29
+ console.log(' Endpoints:');
30
+ console.log(' POST /api/v1/team/create — Spawn a verified team');
31
+ console.log(' GET /api/v1/team/:id/stream — SSE real-time updates');
32
+ console.log(' GET /api/v1/team/:id/status — Team status');
33
+ console.log(' POST /api/v1/team/:id/stop — Stop a running team');
34
+ console.log(' GET /api/v1/team/:id/audit — Audit log (paginated)');
35
+ console.log('');
36
+ console.log(' Press Ctrl+C to stop');
37
+ console.log('');
38
+ // Graceful shutdown
39
+ const shutdown = async () => {
40
+ console.log('');
41
+ console.log(' Shutting down API server...');
42
+ await server.stop();
43
+ process.exit(0);
44
+ };
45
+ process.on('SIGINT', shutdown);
46
+ process.on('SIGTERM', shutdown);
47
+ await server.start();
48
+ console.log(` Server listening on port ${port}`);
49
+ }
50
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,uCAAuC;AACvC,8CAA8C;AAC9C,+DAA+D;AAE/D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAwC;IAExC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,mCAAmC;IACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,0BAA0B;QAC1B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,OAAO,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,SAAS,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,wCAAwC,IAAI,qBAAqB,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,oBAAoB;IACpB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -20,4 +20,73 @@ export declare function runtimeStopCommand(opts: {
20
20
  port?: string;
21
21
  token?: string;
22
22
  }): Promise<void>;
23
+ export declare function runtimeGapsCommand(targetPath: string): Promise<void>;
24
+ export declare function runtimeExtractCommand(targetPath: string): Promise<void>;
25
+ export declare function runtimeTeamCommand(task: string, opts: {
26
+ codeModel?: string;
27
+ reviewModel?: string;
28
+ maxAttempts?: string;
29
+ cwd?: string;
30
+ }): Promise<void>;
31
+ export declare function runtimeFullTeamCommand(task: string, opts: {
32
+ agents?: string;
33
+ maxConcurrent?: string;
34
+ stallTimeout?: string;
35
+ maxAttempts?: string;
36
+ cwd?: string;
37
+ coordinatorModel?: string;
38
+ codeModel?: string;
39
+ reviewModel?: string;
40
+ testModel?: string;
41
+ researchModel?: string;
42
+ opsModel?: string;
43
+ }): Promise<void>;
44
+ export declare function runtimeToolsListCommand(opts: {
45
+ registry?: string;
46
+ }): Promise<void>;
47
+ export declare function runtimeToolsApproveCommand(proposalId: string, opts: {
48
+ registry?: string;
49
+ approver?: string;
50
+ reason?: string;
51
+ }): Promise<void>;
52
+ export declare function runtimeToolsRollbackCommand(opts: {
53
+ registry?: string;
54
+ operator?: string;
55
+ }): Promise<void>;
56
+ export declare function runtimeAgentsListCommand(opts: {
57
+ registry?: string;
58
+ }): Promise<void>;
59
+ export declare function runtimeAgentsSpawnCommand(specPath: string, opts: {
60
+ registry?: string;
61
+ parentTrust?: string;
62
+ useLlm?: boolean;
63
+ }): Promise<void>;
64
+ export declare function runtimeAgentsRetireCommand(agentId: string, opts: {
65
+ operator?: string;
66
+ }): Promise<void>;
67
+ export declare function runtimeRulesProposeCommand(specPath: string, opts: {
68
+ registry?: string;
69
+ }): Promise<void>;
70
+ export declare function runtimeRulesShadowCommand(ruleId: string, opts: {
71
+ port?: string;
72
+ }): Promise<void>;
73
+ export declare function runtimeRulesPromoteCommand(ruleId: string): Promise<void>;
74
+ export declare function runtimeSafetyStatusCommand(opts: {
75
+ path?: string;
76
+ }): Promise<void>;
77
+ export declare function runtimeSafetySignCommand(opts: {
78
+ path?: string;
79
+ operator?: string;
80
+ }): Promise<void>;
81
+ export declare function runtimeSafetyRollbackCommand(targetId: string, opts: {
82
+ path?: string;
83
+ operator?: string;
84
+ type?: string;
85
+ }): Promise<void>;
86
+ export declare function runtimeSafetyKillswitchCommand(target: string, opts: {
87
+ level?: string;
88
+ action?: string;
89
+ operator?: string;
90
+ reason?: string;
91
+ }): Promise<void>;
23
92
  export {};