swarm-engine 1.1.1 → 1.3.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 (275) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +102 -25
  3. package/commands/diff-review.md +27 -15
  4. package/commands/discover.md +102 -0
  5. package/commands/dynamic.md +136 -0
  6. package/commands/fix-pr.md +30 -24
  7. package/commands/postmortem.md +106 -0
  8. package/commands/red-team.md +41 -26
  9. package/commands/research.md +22 -1
  10. package/commands/review-cycle.md +38 -20
  11. package/commands/spike.md +108 -0
  12. package/commands/swarm.md +68 -60
  13. package/commands/tdd.md +44 -24
  14. package/dist/cli/commands/acp.d.ts.map +1 -1
  15. package/dist/cli/commands/acp.js +12 -2
  16. package/dist/cli/commands/acp.js.map +1 -1
  17. package/dist/cli/commands/agents.d.ts.map +1 -1
  18. package/dist/cli/commands/agents.js +16 -13
  19. package/dist/cli/commands/agents.js.map +1 -1
  20. package/dist/cli/commands/completions.d.ts.map +1 -1
  21. package/dist/cli/commands/completions.js +21 -9
  22. package/dist/cli/commands/completions.js.map +1 -1
  23. package/dist/cli/commands/compound.d.ts.map +1 -1
  24. package/dist/cli/commands/compound.js +1 -2
  25. package/dist/cli/commands/compound.js.map +1 -1
  26. package/dist/cli/commands/configure.d.ts.map +1 -1
  27. package/dist/cli/commands/configure.js +24 -8
  28. package/dist/cli/commands/configure.js.map +1 -1
  29. package/dist/cli/commands/convert.d.ts +1 -1
  30. package/dist/cli/commands/convert.d.ts.map +1 -1
  31. package/dist/cli/commands/convert.js +22 -48
  32. package/dist/cli/commands/convert.js.map +1 -1
  33. package/dist/cli/commands/doctor.d.ts.map +1 -1
  34. package/dist/cli/commands/doctor.js +1 -3
  35. package/dist/cli/commands/doctor.js.map +1 -1
  36. package/dist/cli/commands/init.d.ts.map +1 -1
  37. package/dist/cli/commands/init.js +17 -7
  38. package/dist/cli/commands/init.js.map +1 -1
  39. package/dist/cli/commands/install.d.ts.map +1 -1
  40. package/dist/cli/commands/install.js +1 -1
  41. package/dist/cli/commands/install.js.map +1 -1
  42. package/dist/cli/commands/learn.js +6 -6
  43. package/dist/cli/commands/learn.js.map +1 -1
  44. package/dist/cli/commands/mcp.d.ts.map +1 -1
  45. package/dist/cli/commands/mcp.js +1 -2
  46. package/dist/cli/commands/mcp.js.map +1 -1
  47. package/dist/cli/commands/memory.d.ts.map +1 -1
  48. package/dist/cli/commands/memory.js +1 -2
  49. package/dist/cli/commands/memory.js.map +1 -1
  50. package/dist/cli/commands/orchestrate.d.ts.map +1 -1
  51. package/dist/cli/commands/orchestrate.js +20 -7
  52. package/dist/cli/commands/orchestrate.js.map +1 -1
  53. package/dist/cli/commands/plan.d.ts.map +1 -1
  54. package/dist/cli/commands/plan.js.map +1 -1
  55. package/dist/cli/commands/plugin.d.ts.map +1 -1
  56. package/dist/cli/commands/plugin.js +8 -5
  57. package/dist/cli/commands/plugin.js.map +1 -1
  58. package/dist/cli/commands/resume.js +1 -1
  59. package/dist/cli/commands/resume.js.map +1 -1
  60. package/dist/cli/commands/run.d.ts.map +1 -1
  61. package/dist/cli/commands/run.js +20 -6
  62. package/dist/cli/commands/run.js.map +1 -1
  63. package/dist/cli/commands/share.d.ts.map +1 -1
  64. package/dist/cli/commands/share.js +6 -1
  65. package/dist/cli/commands/share.js.map +1 -1
  66. package/dist/cli/commands/status.d.ts.map +1 -1
  67. package/dist/cli/commands/status.js +15 -7
  68. package/dist/cli/commands/status.js.map +1 -1
  69. package/dist/cli/commands/template.d.ts.map +1 -1
  70. package/dist/cli/commands/template.js +14 -6
  71. package/dist/cli/commands/template.js.map +1 -1
  72. package/dist/cli/commands/vault.d.ts.map +1 -1
  73. package/dist/cli/commands/vault.js +14 -9
  74. package/dist/cli/commands/vault.js.map +1 -1
  75. package/dist/cli/commands/verify.d.ts.map +1 -1
  76. package/dist/cli/commands/verify.js +2 -2
  77. package/dist/cli/commands/verify.js.map +1 -1
  78. package/dist/cli/commands/watch.js +1 -1
  79. package/dist/cli/commands/watch.js.map +1 -1
  80. package/dist/cli/index.js +14 -4
  81. package/dist/cli/index.js.map +1 -1
  82. package/dist/core/checkpoint.js +1 -1
  83. package/dist/core/checkpoint.js.map +1 -1
  84. package/dist/core/event-bus.d.ts.map +1 -1
  85. package/dist/core/event-bus.js +9 -3
  86. package/dist/core/event-bus.js.map +1 -1
  87. package/dist/core/lifecycle.js.map +1 -1
  88. package/dist/core/patterns.d.ts.map +1 -1
  89. package/dist/core/patterns.js +31 -8
  90. package/dist/core/patterns.js.map +1 -1
  91. package/dist/core/permissions.d.ts.map +1 -1
  92. package/dist/core/permissions.js +21 -10
  93. package/dist/core/permissions.js.map +1 -1
  94. package/dist/core/registry.d.ts.map +1 -1
  95. package/dist/core/registry.js +10 -6
  96. package/dist/core/registry.js.map +1 -1
  97. package/dist/core/snapshots.d.ts.map +1 -1
  98. package/dist/core/snapshots.js +17 -5
  99. package/dist/core/snapshots.js.map +1 -1
  100. package/dist/core/types.d.ts +3 -0
  101. package/dist/core/types.d.ts.map +1 -1
  102. package/dist/core/types.js.map +1 -1
  103. package/dist/hooks/index.js.map +1 -1
  104. package/dist/index.d.ts +68 -6
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +60 -4
  107. package/dist/index.js.map +1 -1
  108. package/dist/memory/index.d.ts +1 -0
  109. package/dist/memory/index.d.ts.map +1 -1
  110. package/dist/memory/index.js +39 -24
  111. package/dist/memory/index.js.map +1 -1
  112. package/dist/memory/schema.d.ts +1 -0
  113. package/dist/memory/schema.d.ts.map +1 -1
  114. package/dist/memory/schema.js +20 -19
  115. package/dist/memory/schema.js.map +1 -1
  116. package/dist/plugin/index.d.ts.map +1 -1
  117. package/dist/plugin/index.js.map +1 -1
  118. package/dist/runtime/acp.d.ts.map +1 -1
  119. package/dist/runtime/acp.js +71 -41
  120. package/dist/runtime/acp.js.map +1 -1
  121. package/dist/runtime/adaptive.d.ts.map +1 -1
  122. package/dist/runtime/adaptive.js +30 -31
  123. package/dist/runtime/adaptive.js.map +1 -1
  124. package/dist/runtime/agent-runner.d.ts +52 -0
  125. package/dist/runtime/agent-runner.d.ts.map +1 -0
  126. package/dist/runtime/agent-runner.js +156 -0
  127. package/dist/runtime/agent-runner.js.map +1 -0
  128. package/dist/runtime/autonomy.d.ts +1 -0
  129. package/dist/runtime/autonomy.d.ts.map +1 -1
  130. package/dist/runtime/autonomy.js +37 -19
  131. package/dist/runtime/autonomy.js.map +1 -1
  132. package/dist/runtime/backends/claude.d.ts.map +1 -1
  133. package/dist/runtime/backends/claude.js +2 -2
  134. package/dist/runtime/backends/claude.js.map +1 -1
  135. package/dist/runtime/backends/codex.d.ts.map +1 -1
  136. package/dist/runtime/backends/codex.js +8 -11
  137. package/dist/runtime/backends/codex.js.map +1 -1
  138. package/dist/runtime/backends/gemini.d.ts.map +1 -1
  139. package/dist/runtime/backends/gemini.js +11 -7
  140. package/dist/runtime/backends/gemini.js.map +1 -1
  141. package/dist/runtime/backends/index.js +1 -1
  142. package/dist/runtime/backends/index.js.map +1 -1
  143. package/dist/runtime/backends/mock.d.ts.map +1 -1
  144. package/dist/runtime/backends/mock.js +1 -1
  145. package/dist/runtime/backends/mock.js.map +1 -1
  146. package/dist/runtime/backends/vercel-ai.d.ts.map +1 -1
  147. package/dist/runtime/backends/vercel-ai.js +41 -9
  148. package/dist/runtime/backends/vercel-ai.js.map +1 -1
  149. package/dist/runtime/cache-optimizer.d.ts.map +1 -1
  150. package/dist/runtime/cache-optimizer.js +3 -9
  151. package/dist/runtime/cache-optimizer.js.map +1 -1
  152. package/dist/runtime/cascade.d.ts.map +1 -1
  153. package/dist/runtime/cascade.js +34 -7
  154. package/dist/runtime/cascade.js.map +1 -1
  155. package/dist/runtime/chunker.d.ts.map +1 -1
  156. package/dist/runtime/chunker.js +12 -6
  157. package/dist/runtime/chunker.js.map +1 -1
  158. package/dist/runtime/compounder.d.ts +1 -1
  159. package/dist/runtime/compounder.d.ts.map +1 -1
  160. package/dist/runtime/compounder.js +30 -11
  161. package/dist/runtime/compounder.js.map +1 -1
  162. package/dist/runtime/cost-model.d.ts.map +1 -1
  163. package/dist/runtime/cost-model.js +1 -1
  164. package/dist/runtime/cost-model.js.map +1 -1
  165. package/dist/runtime/database.d.ts +16 -0
  166. package/dist/runtime/database.d.ts.map +1 -0
  167. package/dist/runtime/database.js +39 -0
  168. package/dist/runtime/database.js.map +1 -0
  169. package/dist/runtime/distiller.d.ts.map +1 -1
  170. package/dist/runtime/distiller.js +6 -3
  171. package/dist/runtime/distiller.js.map +1 -1
  172. package/dist/runtime/engine.d.ts +7 -9
  173. package/dist/runtime/engine.d.ts.map +1 -1
  174. package/dist/runtime/engine.js +129 -394
  175. package/dist/runtime/engine.js.map +1 -1
  176. package/dist/runtime/executor.d.ts +1 -2
  177. package/dist/runtime/executor.d.ts.map +1 -1
  178. package/dist/runtime/executor.js +45 -14
  179. package/dist/runtime/executor.js.map +1 -1
  180. package/dist/runtime/heuristics.d.ts +1 -0
  181. package/dist/runtime/heuristics.d.ts.map +1 -1
  182. package/dist/runtime/heuristics.js +44 -22
  183. package/dist/runtime/heuristics.js.map +1 -1
  184. package/dist/runtime/learning-engine.d.ts +51 -0
  185. package/dist/runtime/learning-engine.d.ts.map +1 -0
  186. package/dist/runtime/learning-engine.js +209 -0
  187. package/dist/runtime/learning-engine.js.map +1 -0
  188. package/dist/runtime/living-spec.js +3 -3
  189. package/dist/runtime/living-spec.js.map +1 -1
  190. package/dist/runtime/lsp.d.ts.map +1 -1
  191. package/dist/runtime/lsp.js +41 -14
  192. package/dist/runtime/lsp.js.map +1 -1
  193. package/dist/runtime/mcp.d.ts.map +1 -1
  194. package/dist/runtime/mcp.js +56 -19
  195. package/dist/runtime/mcp.js.map +1 -1
  196. package/dist/runtime/model-router.d.ts +1 -0
  197. package/dist/runtime/model-router.d.ts.map +1 -1
  198. package/dist/runtime/model-router.js +37 -21
  199. package/dist/runtime/model-router.js.map +1 -1
  200. package/dist/runtime/panes.d.ts.map +1 -1
  201. package/dist/runtime/panes.js +50 -49
  202. package/dist/runtime/panes.js.map +1 -1
  203. package/dist/runtime/plan-search.js +2 -2
  204. package/dist/runtime/plan-search.js.map +1 -1
  205. package/dist/runtime/plugins.d.ts +1 -1
  206. package/dist/runtime/plugins.d.ts.map +1 -1
  207. package/dist/runtime/plugins.js +63 -47
  208. package/dist/runtime/plugins.js.map +1 -1
  209. package/dist/runtime/reflexion.d.ts.map +1 -1
  210. package/dist/runtime/reflexion.js +4 -8
  211. package/dist/runtime/reflexion.js.map +1 -1
  212. package/dist/runtime/review-schema.d.ts.map +1 -1
  213. package/dist/runtime/review-schema.js +12 -12
  214. package/dist/runtime/review-schema.js.map +1 -1
  215. package/dist/runtime/rewriter.d.ts.map +1 -1
  216. package/dist/runtime/rewriter.js +29 -9
  217. package/dist/runtime/rewriter.js.map +1 -1
  218. package/dist/runtime/sharing.d.ts +1 -1
  219. package/dist/runtime/sharing.d.ts.map +1 -1
  220. package/dist/runtime/sharing.js +55 -27
  221. package/dist/runtime/sharing.js.map +1 -1
  222. package/dist/runtime/stats.d.ts +1 -0
  223. package/dist/runtime/stats.d.ts.map +1 -1
  224. package/dist/runtime/stats.js +40 -24
  225. package/dist/runtime/stats.js.map +1 -1
  226. package/dist/runtime/templates.d.ts.map +1 -1
  227. package/dist/runtime/templates.js +2 -2
  228. package/dist/runtime/templates.js.map +1 -1
  229. package/dist/runtime/traces.d.ts +1 -0
  230. package/dist/runtime/traces.d.ts.map +1 -1
  231. package/dist/runtime/traces.js +50 -28
  232. package/dist/runtime/traces.js.map +1 -1
  233. package/dist/runtime/verifier.d.ts.map +1 -1
  234. package/dist/runtime/verifier.js +12 -6
  235. package/dist/runtime/verifier.js.map +1 -1
  236. package/dist/runtime/worktree.d.ts.map +1 -1
  237. package/dist/runtime/worktree.js +35 -18
  238. package/dist/runtime/worktree.js.map +1 -1
  239. package/dist/tui/dashboard.d.ts.map +1 -1
  240. package/dist/tui/dashboard.js +20 -16
  241. package/dist/tui/dashboard.js.map +1 -1
  242. package/dist/tui/progress.d.ts +2 -0
  243. package/dist/tui/progress.d.ts.map +1 -1
  244. package/dist/tui/progress.js +105 -33
  245. package/dist/tui/progress.js.map +1 -1
  246. package/dist/tui/renderer.d.ts.map +1 -1
  247. package/dist/tui/renderer.js.map +1 -1
  248. package/dist/utils/compact-format.js +1 -1
  249. package/dist/utils/compact-format.js.map +1 -1
  250. package/dist/utils/config.d.ts.map +1 -1
  251. package/dist/utils/config.js.map +1 -1
  252. package/dist/utils/env.d.ts.map +1 -1
  253. package/dist/utils/env.js +19 -5
  254. package/dist/utils/env.js.map +1 -1
  255. package/dist/utils/errors.d.ts.map +1 -1
  256. package/dist/utils/errors.js +3 -7
  257. package/dist/utils/errors.js.map +1 -1
  258. package/dist/utils/output.d.ts.map +1 -1
  259. package/dist/utils/output.js +6 -2
  260. package/dist/utils/output.js.map +1 -1
  261. package/dist/utils/project-config.d.ts +18 -0
  262. package/dist/utils/project-config.d.ts.map +1 -1
  263. package/dist/utils/project-config.js +14 -6
  264. package/dist/utils/project-config.js.map +1 -1
  265. package/dist/utils/schemas.d.ts.map +1 -1
  266. package/dist/utils/schemas.js +12 -12
  267. package/dist/utils/schemas.js.map +1 -1
  268. package/dist/utils/terminal.d.ts.map +1 -1
  269. package/dist/utils/terminal.js +18 -7
  270. package/dist/utils/terminal.js.map +1 -1
  271. package/dist/utils/tiers.d.ts.map +1 -1
  272. package/dist/utils/tiers.js +14 -6
  273. package/dist/utils/tiers.js.map +1 -1
  274. package/package.json +14 -3
  275. package/skills/swarm-output-style/SKILL.md +114 -46
@@ -0,0 +1,156 @@
1
+ import { optimizeForCache } from './cache-optimizer.js';
2
+ import { classifyTaskComplexity, selectStartingTier } from './cascade.js';
3
+ import { formatLivingSpec } from './living-spec.js';
4
+ import { redactSecrets } from '../utils/redact.js';
5
+ import { join } from 'path';
6
+ import { existsSync, mkdirSync, writeFileSync } from 'fs';
7
+ import { randomUUID } from 'crypto';
8
+ /**
9
+ * Handles individual agent execution, retry logic, worktree management,
10
+ * and prompt construction with cache-friendly ordering.
11
+ */
12
+ export class AgentRunner {
13
+ registry;
14
+ executor;
15
+ bus;
16
+ log;
17
+ compaction;
18
+ worktreeManager;
19
+ constructor(deps) {
20
+ this.registry = deps.registry;
21
+ this.executor = deps.executor;
22
+ this.bus = deps.bus;
23
+ this.log = deps.logger.child('agent-runner');
24
+ this.compaction = deps.compaction;
25
+ this.worktreeManager = deps.worktreeManager;
26
+ }
27
+ /**
28
+ * Execute a single agent with retry logic.
29
+ */
30
+ async executeAgentWithRetry(assignment, phase, orchestration, maxRetries = 2, context) {
31
+ let lastError;
32
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
33
+ try {
34
+ return await this.executeAgent(assignment, phase, orchestration, context);
35
+ }
36
+ catch (error) {
37
+ lastError = error instanceof Error ? error : new Error(String(error));
38
+ // Remove the failed instance from phase agents to prevent duplicates on retry
39
+ const failedIndex = phase.agents.findIndex((a) => a.config.name === assignment.name && (a.status === 'error' || a.status === 'timeout'));
40
+ if (failedIndex >= 0)
41
+ phase.agents.splice(failedIndex, 1);
42
+ if (attempt < maxRetries) {
43
+ const delayMs = Math.min(1000 * Math.pow(2, attempt) + Math.random() * 1000, 30000);
44
+ this.log.warn(`Agent failed, retrying in ${Math.round(delayMs / 1000)}s (attempt ${attempt + 1}/${maxRetries})`, {
45
+ agent: assignment.name,
46
+ error: lastError.message,
47
+ });
48
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
49
+ }
50
+ }
51
+ }
52
+ throw lastError;
53
+ }
54
+ /**
55
+ * Execute a single agent within a phase.
56
+ */
57
+ async executeAgent(assignment, phase, orchestration, context) {
58
+ // Spawn from registry, passing all assignment overrides
59
+ const instance = this.registry.spawn(assignment.type, {
60
+ name: assignment.name,
61
+ model: assignment.model,
62
+ backend: assignment.backend,
63
+ backendModel: assignment.backendModel,
64
+ });
65
+ phase.agents.push(instance);
66
+ // Build task prompt with cache-friendly ordering:
67
+ // Shared prefix (orchestration + phase context) comes first for API cache hits,
68
+ // agent-specific content (definition + task) comes last.
69
+ const orchestrationContext = `## Orchestration: ${orchestration.config.name}\nPattern: ${orchestration.config.pattern}`;
70
+ const phaseContext = this.compaction.buildContextPrefix(context.phaseOutputs);
71
+ const agentPrompt = instance.config.prompt;
72
+ const baseTask = assignment.prompt || `Execute task as ${assignment.type}`;
73
+ const optimized = optimizeForCache(orchestrationContext, phaseContext, agentPrompt, baseTask);
74
+ // For parallel phases with large shared prefix, use shared context file
75
+ const sharedContextPath = phase.config.parallel ? this.writeSharedContext(optimized.sharedPrefix, context) : null;
76
+ // Cascade model selection: if no explicit model override, pick starting tier by complexity
77
+ if (!assignment.model) {
78
+ const complexity = classifyTaskComplexity(baseTask);
79
+ const startTier = selectStartingTier(complexity);
80
+ if (startTier !== instance.config.model) {
81
+ instance.config.model = startTier;
82
+ }
83
+ }
84
+ // Inject living spec into task context
85
+ const specPrefix = context.livingSpec ? formatLivingSpec(context.livingSpec) + '\n\n' : '';
86
+ const task = sharedContextPath
87
+ ? `Read the shared context file at ${sharedContextPath} first, then:\n\n${specPrefix}${optimized.agentSuffix}`
88
+ : `${specPrefix}${optimized.full}`;
89
+ // Transition to running
90
+ this.registry.updateStatus(instance.id, 'running');
91
+ // Create worktree if enabled and assignment requests it
92
+ let worktreeId;
93
+ if (this.worktreeManager && assignment.worktree) {
94
+ try {
95
+ const wt = this.worktreeManager.create(instance.id, assignment.name);
96
+ worktreeId = wt.id;
97
+ this.bus.emit('worktree:created', { agentId: instance.id, worktreeId: wt.id, path: wt.path }, instance.id);
98
+ }
99
+ catch (err) {
100
+ this.log.warn(`Failed to create worktree for ${assignment.name}: ${err}`);
101
+ }
102
+ }
103
+ // Execute with timeout
104
+ const timeoutMs = (instance.config.timeout ?? 300) * 1000; // default 5 min
105
+ let timer;
106
+ const timeoutPromise = new Promise((_, reject) => {
107
+ timer = setTimeout(() => reject(new Error(`Agent timeout after ${timeoutMs / 1000}s`)), timeoutMs);
108
+ });
109
+ try {
110
+ await Promise.race([this.executor.execute(instance, task), timeoutPromise]);
111
+ clearTimeout(timer);
112
+ // Merge worktree if created
113
+ if (worktreeId && this.worktreeManager) {
114
+ try {
115
+ this.worktreeManager.merge(worktreeId);
116
+ this.bus.emit('worktree:merged', { agentId: instance.id, worktreeId }, instance.id);
117
+ }
118
+ catch (err) {
119
+ this.log.warn(`Failed to merge worktree ${worktreeId}: ${err}`);
120
+ }
121
+ }
122
+ // Transition to idle (completed successfully)
123
+ this.registry.updateStatus(instance.id, 'idle');
124
+ // Then shutdown
125
+ this.registry.updateStatus(instance.id, 'shutdown');
126
+ return instance;
127
+ }
128
+ catch (error) {
129
+ clearTimeout(timer);
130
+ if (String(error).includes('timeout')) {
131
+ this.registry.updateStatus(instance.id, 'timeout');
132
+ }
133
+ else {
134
+ this.registry.updateStatus(instance.id, 'error');
135
+ }
136
+ instance.error = error instanceof Error ? error.message : String(error);
137
+ throw error;
138
+ }
139
+ }
140
+ /**
141
+ * Write shared context to a file for parallel agents to read,
142
+ * avoiding duplicating large context in each agent's prompt.
143
+ */
144
+ writeSharedContext(context, runContext) {
145
+ if (!context || context.length < 2000)
146
+ return null; // Not worth sharing for small contexts
147
+ const contextDir = join(runContext.cwd ?? process.cwd(), '.swarm');
148
+ if (!existsSync(contextDir))
149
+ mkdirSync(contextDir, { recursive: true });
150
+ const contextPath = join(contextDir, `shared-context-${randomUUID().slice(0, 8)}.md`);
151
+ writeFileSync(contextPath, redactSecrets(context), { mode: 0o600 });
152
+ runContext.sharedContextFiles.push(contextPath);
153
+ return contextPath;
154
+ }
155
+ }
156
+ //# sourceMappingURL=agent-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../../src/runtime/agent-runner.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC;;;GAGG;AACH,MAAM,OAAO,WAAW;IACd,QAAQ,CAAgB;IACxB,QAAQ,CAAgB;IACxB,GAAG,CAAW;IACd,GAAG,CAAS;IACZ,UAAU,CAAoB;IAC9B,eAAe,CAAyB;IAEhD,YAAY,IAAqB;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,UAA2B,EAC3B,KAAoB,EACpB,aAAoC,EACpC,aAAqB,CAAC,EACtB,OAAwB;QAExB,IAAI,SAA4B,CAAC;QAEjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAC5E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEtE,8EAA8E;gBAC9E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAC7F,CAAC;gBACF,IAAI,WAAW,IAAI,CAAC;oBAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAE1D,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;oBACpF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,6BAA6B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,OAAO,GAAG,CAAC,IAAI,UAAU,GAAG,EACjG;wBACE,KAAK,EAAE,UAAU,CAAC,IAAI;wBACtB,KAAK,EAAE,SAAS,CAAC,OAAO;qBACzB,CACF,CAAC;oBACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,SAAU,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACxB,UAA2B,EAC3B,KAAoB,EACpB,aAAoC,EACpC,OAAwB;QAExB,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;YACpD,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,YAAY,EAAE,UAAU,CAAC,YAAY;SACtC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE5B,kDAAkD;QAClD,gFAAgF;QAChF,yDAAyD;QACzD,MAAM,oBAAoB,GAAG,qBAAqB,aAAa,CAAC,MAAM,CAAC,IAAI,cAAc,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACxH,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,IAAI,mBAAmB,UAAU,CAAC,IAAI,EAAE,CAAC;QAE3E,MAAM,SAAS,GAAG,gBAAgB,CAAC,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE9F,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAElH,2FAA2F;QAC3F,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,SAAS,KAAK,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACxC,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YACpC,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3F,MAAM,IAAI,GAAG,iBAAiB;YAC5B,CAAC,CAAC,mCAAmC,iBAAiB,oBAAoB,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE;YAC9G,CAAC,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;QAErC,wBAAwB;QACxB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAEnD,wDAAwD;QACxD,IAAI,UAA8B,CAAC;QACnC,IAAI,IAAI,CAAC,eAAe,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBACrE,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7G,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,UAAU,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,gBAAgB;QAE3E,IAAI,KAAqB,CAAC;QAC1B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACtD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;YAC5E,YAAY,CAAC,KAAM,CAAC,CAAC;YAErB,4BAA4B;YAC5B,IAAI,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACtF,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,UAAU,KAAK,GAAG,EAAE,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAEhD,gBAAgB;YAChB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAEpD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,KAAM,CAAC,CAAC;YACrB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC;YACD,QAAQ,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,OAAe,EAAE,UAA2B;QACrE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI;YAAE,OAAO,IAAI,CAAC,CAAC,uCAAuC;QAE3F,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,kBAAkB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACtF,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,WAAW,CAAC;IACrB,CAAC;CACF"}
@@ -7,6 +7,7 @@ export interface AutonomyProfile {
7
7
  }
8
8
  export declare class AutonomyTracker {
9
9
  private db;
10
+ private ownDb;
10
11
  constructor(dbPath?: string);
11
12
  private initSchema;
12
13
  /** Record a task outcome */
@@ -1 +1 @@
1
- {"version":3,"file":"autonomy.d.ts","sourceRoot":"","sources":["../../src/runtime/autonomy.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAoB;gBAElB,MAAM,CAAC,EAAE,MAAM;IAU3B,OAAO,CAAC,UAAU;IAalB,4BAA4B;IAC5B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,GAAG,IAAI;IAM/E,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IAmBzC,sCAAsC;IACtC,cAAc,IAAI,eAAe,EAAE;IAgBnC,KAAK,CAAC,OAAO,GAAE,MAAc,GAAG,IAAI;IAIpC,KAAK,IAAI,IAAI;CACd"}
1
+ {"version":3,"file":"autonomy.d.ts","sourceRoot":"","sources":["../../src/runtime/autonomy.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAU;gBAEX,MAAM,CAAC,EAAE,MAAM;IAe3B,OAAO,CAAC,UAAU;IAalB,4BAA4B;IAC5B,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,GAAG,IAAI;IAM/E,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa;IAuBzC,sCAAsC;IACtC,cAAc,IAAI,eAAe,EAAE;IAoBnC,KAAK,CAAC,OAAO,GAAE,MAAc,GAAG,IAAI;IAQpC,KAAK,IAAI,IAAI;CAGd"}
@@ -1,17 +1,24 @@
1
1
  import Database from 'better-sqlite3';
2
2
  import { existsSync, mkdirSync } from 'fs';
3
- import { join, dirname } from 'path';
4
- import { homedir } from 'os';
3
+ import { dirname } from 'path';
4
+ import { getDatabase } from './database.js';
5
5
  export class AutonomyTracker {
6
6
  db;
7
+ ownDb;
7
8
  constructor(dbPath) {
8
- const path = dbPath ?? join(homedir(), '.swarm', 'data', 'autonomy.db');
9
- const dir = dirname(path);
10
- if (!existsSync(dir))
11
- mkdirSync(dir, { recursive: true, mode: 0o700 });
12
- this.db = new Database(path);
13
- this.db.pragma('journal_mode = WAL');
14
- this.db.pragma('busy_timeout = 5000');
9
+ if (dbPath) {
10
+ const dir = dirname(dbPath);
11
+ if (!existsSync(dir))
12
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
13
+ this.db = new Database(dbPath);
14
+ this.db.pragma('journal_mode = WAL');
15
+ this.db.pragma('busy_timeout = 5000');
16
+ this.ownDb = true;
17
+ }
18
+ else {
19
+ this.db = getDatabase();
20
+ this.ownDb = false;
21
+ }
15
22
  this.initSchema();
16
23
  }
17
24
  initSchema() {
@@ -28,14 +35,18 @@ export class AutonomyTracker {
28
35
  }
29
36
  /** Record a task outcome */
30
37
  record(taskType, success, requiredIntervention) {
31
- this.db.prepare('INSERT INTO autonomy_outcomes (task_type, success, required_intervention) VALUES (?, ?, ?)').run(taskType, success ? 1 : 0, requiredIntervention ? 1 : 0);
38
+ this.db
39
+ .prepare('INSERT INTO autonomy_outcomes (task_type, success, required_intervention) VALUES (?, ?, ?)')
40
+ .run(taskType, success ? 1 : 0, requiredIntervention ? 1 : 0);
32
41
  }
33
42
  /** Get the recommended autonomy level for a task type */
34
43
  getLevel(taskType) {
35
- const stats = this.db.prepare(`
44
+ const stats = this.db
45
+ .prepare(`
36
46
  SELECT COUNT(*) as total, AVG(success) as success_rate, AVG(required_intervention) as intervention_rate
37
47
  FROM autonomy_outcomes WHERE task_type = ?
38
- `).get(taskType);
48
+ `)
49
+ .get(taskType);
39
50
  if (!stats || stats.total < 3)
40
51
  return 'moderate'; // Not enough data
41
52
  const successRate = stats.success_rate ?? 0;
@@ -45,21 +56,23 @@ export class AutonomyTracker {
45
56
  return 'full';
46
57
  if (successRate >= 0.85 && interventionRate <= 0.15)
47
58
  return 'high';
48
- if (successRate >= 0.70 && interventionRate <= 0.30)
59
+ if (successRate >= 0.7 && interventionRate <= 0.3)
49
60
  return 'moderate';
50
- if (successRate >= 0.50)
61
+ if (successRate >= 0.5)
51
62
  return 'low';
52
63
  return 'minimal';
53
64
  }
54
65
  /** Get profiles for all task types */
55
66
  getAllProfiles() {
56
- const rows = this.db.prepare(`
67
+ const rows = this.db
68
+ .prepare(`
57
69
  SELECT task_type, COUNT(*) as total, AVG(success) as success_rate
58
70
  FROM autonomy_outcomes
59
71
  GROUP BY task_type
60
72
  ORDER BY total DESC
61
- `).all();
62
- return rows.map(r => ({
73
+ `)
74
+ .all();
75
+ return rows.map((r) => ({
63
76
  taskType: r.task_type,
64
77
  level: this.getLevel(r.task_type),
65
78
  successRate: r.success_rate ?? 0,
@@ -67,8 +80,13 @@ export class AutonomyTracker {
67
80
  }));
68
81
  }
69
82
  prune(maxRows = 10000) {
70
- this.db.prepare('DELETE FROM autonomy_outcomes WHERE id NOT IN (SELECT id FROM autonomy_outcomes ORDER BY created_at DESC LIMIT ?)').run(maxRows);
83
+ this.db
84
+ .prepare('DELETE FROM autonomy_outcomes WHERE id NOT IN (SELECT id FROM autonomy_outcomes ORDER BY created_at DESC LIMIT ?)')
85
+ .run(maxRows);
86
+ }
87
+ close() {
88
+ if (this.ownDb)
89
+ this.db.close();
71
90
  }
72
- close() { this.db.close(); }
73
91
  }
74
92
  //# sourceMappingURL=autonomy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autonomy.js","sourceRoot":"","sources":["../../src/runtime/autonomy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autonomy.js","sourceRoot":"","sources":["../../src/runtime/autonomy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/claude.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAGZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElF,qBAAa,aAAc,YAAW,gBAAgB;IACpD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,yCAAyC;IAEvD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAa/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAyGlG"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/claude.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAA2B,MAAM,qBAAqB,CAAC;AAE3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAclF,qBAAa,aAAc,YAAW,gBAAgB;IACpD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,yCAAyC;IAEvD,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAa/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAyGlG"}
@@ -31,7 +31,7 @@ export class ClaudeBackend {
31
31
  }
32
32
  else if (config.promptTier === 'minimal') {
33
33
  const lines = prompt.split('\n');
34
- const firstHeader = lines.find(l => l.startsWith('#'));
34
+ const firstHeader = lines.find((l) => l.startsWith('#'));
35
35
  const firstParagraph = prompt.split('\n\n').slice(0, 2).join('\n\n');
36
36
  prompt = (firstHeader ? firstHeader + '\n\n' : '') + firstParagraph;
37
37
  }
@@ -125,6 +125,6 @@ function parseListField(output, field) {
125
125
  const match = output.match(new RegExp(`\\*\\*${field}\\*\\*:\\s*(.+)`, 'i'));
126
126
  if (!match?.[1] || match[1].toLowerCase().includes('none'))
127
127
  return [];
128
- return match[1].split(',').map(s => s.trim().replace(/`/g, ''));
128
+ return match[1].split(',').map((s) => s.trim().replace(/`/g, ''));
129
129
  }
130
130
  //# sourceMappingURL=claude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/runtime/backends/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/runtime/backends/claude.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/codex.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIlF,qBAAa,YAAa,YAAW,gBAAgB;IACnD,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,WAAW,sBAAsB;IAEpC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAW/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAmIlG"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAc,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIlF,qBAAa,YAAa,YAAW,gBAAgB;IACnD,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,WAAW,sBAAsB;IAEpC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAW/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAgIlG"}
@@ -17,16 +17,9 @@ export class CodexBackend {
17
17
  }
18
18
  async execute(config, task, options) {
19
19
  // Build the full prompt with system context
20
- const fullPrompt = config.prompt
21
- ? `${config.prompt}\n\n## Task:\n${task}`
22
- : task;
20
+ const fullPrompt = config.prompt ? `${config.prompt}\n\n## Task:\n${task}` : task;
23
21
  return new Promise((resolve, reject) => {
24
- const args = [
25
- 'exec',
26
- '--full-auto',
27
- '--json',
28
- '--ephemeral',
29
- ];
22
+ const args = ['exec', '--full-auto', '--json', '--ephemeral'];
30
23
  // Add model if specified (codex uses -m)
31
24
  // Codex models: o4-mini (default), o3, gpt-4.1, etc.
32
25
  // We don't map our model tiers — codex uses its own models
@@ -42,8 +35,12 @@ export class CodexBackend {
42
35
  proc.stdin.end();
43
36
  let stdout = '';
44
37
  let stderr = '';
45
- proc.stdout.on('data', (chunk) => { stdout += chunk.toString(); });
46
- proc.stderr.on('data', (chunk) => { stderr += chunk.toString(); });
38
+ proc.stdout.on('data', (chunk) => {
39
+ stdout += chunk.toString();
40
+ });
41
+ proc.stderr.on('data', (chunk) => {
42
+ stderr += chunk.toString();
43
+ });
47
44
  // Timeout
48
45
  const timeoutMs = (options.timeout ?? 300) * 1000;
49
46
  const timer = setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/runtime/backends/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/runtime/backends/codex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/gemini.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAEZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIlF,qBAAa,aAAc,YAAW,gBAAgB;IACpD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,uBAAuB;IAErC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAW/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAoGlG"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/gemini.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAc,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIlF,qBAAa,aAAc,YAAW,gBAAgB;IACpD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,uBAAuB;IAErC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAW/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAwGlG"}
@@ -16,13 +16,13 @@ export class GeminiBackend {
16
16
  }
17
17
  }
18
18
  async execute(config, task, options) {
19
- const fullPrompt = config.prompt
20
- ? `${config.prompt}\n\n## Task:\n${task}`
21
- : task;
19
+ const fullPrompt = config.prompt ? `${config.prompt}\n\n## Task:\n${task}` : task;
22
20
  return new Promise((resolve, reject) => {
23
21
  const args = [
24
- '-p', fullPrompt,
25
- '--output-format', 'json',
22
+ '-p',
23
+ fullPrompt,
24
+ '--output-format',
25
+ 'json',
26
26
  '-y', // auto-approve tool calls
27
27
  ];
28
28
  // Model selection
@@ -40,8 +40,12 @@ export class GeminiBackend {
40
40
  proc.stdin.end();
41
41
  let stdout = '';
42
42
  let stderr = '';
43
- proc.stdout.on('data', (chunk) => { stdout += chunk.toString(); });
44
- proc.stderr.on('data', (chunk) => { stderr += chunk.toString(); });
43
+ proc.stdout.on('data', (chunk) => {
44
+ stdout += chunk.toString();
45
+ });
46
+ proc.stderr.on('data', (chunk) => {
47
+ stderr += chunk.toString();
48
+ });
45
49
  const timeoutMs = (options.timeout ?? 300) * 1000;
46
50
  const timer = setTimeout(() => {
47
51
  proc.kill('SIGTERM');
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/runtime/backends/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/runtime/backends/gemini.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export class BackendRegistry {
33
33
  backend: b,
34
34
  available: await b.isAvailable(),
35
35
  })));
36
- return results.filter(r => r.available).map(r => r.backend);
36
+ return results.filter((r) => r.available).map((r) => r.backend);
37
37
  }
38
38
  }
39
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,QAAQ,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE5D;QACE,6BAA6B;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,OAAyB;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE;SACjC,CAAC,CAAC,CACJ,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIjD;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,QAAQ,GAAkC,IAAI,GAAG,EAAE,CAAC;IAE5D;QACE,6BAA6B;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,OAAyB;QAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE;SACjC,CAAC,CAAC,CACJ,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElF,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAY,YAAW,gBAAgB;IAClD,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,6CAA6C;IAEjE,OAAO,CAAC,SAAS,CAAwC;IAEzD,qDAAqD;IACrD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAI5D,4CAA4C;IAC5C,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAI1C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAgCnG"}
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElF,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAY,YAAW,gBAAgB;IAClD,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,6CAA6C;IAEjE,OAAO,CAAC,SAAS,CAAwC;IAEzD,qDAAqD;IACrD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI;IAI5D,4CAA4C;IAC5C,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAI1C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;CAgCnG"}
@@ -15,7 +15,7 @@ export class MockBackend {
15
15
  }
16
16
  async execute(config, task, _options) {
17
17
  // Simulate thinking time
18
- await new Promise(resolve => setTimeout(resolve, 50 + Math.random() * 150));
18
+ await new Promise((resolve) => setTimeout(resolve, 50 + Math.random() * 150));
19
19
  const custom = this.responses.get(config.name) ?? this.responses.get('*');
20
20
  const inputTokens = custom?.tokens ?? Math.floor(1000 + Math.random() * 5000);
21
21
  const outputTokens = Math.floor(inputTokens * 0.4);
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/runtime/backends/mock.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,MAAM,CAAC;IACd,WAAW,GAAG,yCAAyC,CAAC;IAEzD,SAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;IAEzD,qDAAqD;IACrD,WAAW,CAAC,SAAiB,EAAE,QAAsB;QACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,4CAA4C;IAC5C,kBAAkB,CAAC,QAAsB;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,CAAC,mBAAmB;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAmB,EAAE,IAAY,EAAE,QAAwB;QACvE,yBAAyB;QACzB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE1E,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,gBAAgB,MAAM,CAAC,IAAI,gBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;QACpG,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC;QAEhD,OAAO;YACL,MAAM;YACN,KAAK,EAAE;gBACL,WAAW;gBACX,YAAY;gBACZ,WAAW,EAAE,WAAW,GAAG,YAAY;gBACvC,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;aACd;YACD,MAAM,EAAE;gBACN,MAAM;gBACN,UAAU;gBACV,QAAQ;gBACR,YAAY;aACb;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/runtime/backends/mock.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,MAAM,CAAC;IACd,WAAW,GAAG,yCAAyC,CAAC;IAEzD,SAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;IAEzD,qDAAqD;IACrD,WAAW,CAAC,SAAiB,EAAE,QAAsB;QACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,4CAA4C;IAC5C,kBAAkB,CAAC,QAAsB;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,CAAC,mBAAmB;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAmB,EAAE,IAAY,EAAE,QAAwB;QACvE,yBAAyB;QACzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE1E,MAAM,WAAW,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,gBAAgB,MAAM,CAAC,IAAI,gBAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;QACpG,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC;QAEhD,OAAO;YACL,MAAM;YACN,KAAK,EAAE;gBACL,WAAW;gBACX,YAAY;gBACZ,WAAW,EAAE,WAAW,GAAG,YAAY;gBACvC,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;gBACR,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;aACd;YACD,MAAM,EAAE;gBACN,MAAM;gBACN,UAAU;gBACV,QAAQ;gBACR,YAAY;aACb;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/vercel-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAWlF,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,4CAAuC;IAC3D,OAAO,CAAC,aAAa,CAA+B;YAEtC,aAAa;IAMrB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA8FjG,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAsJ;YAE/K,WAAW;CAY1B"}
1
+ {"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/vercel-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAqBlF,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,4CAAuC;IAC3D,OAAO,CAAC,aAAa,CAA+B;YAEtC,aAAa;IAMrB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAgHjG,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAcrC;YAEY,WAAW;CAiB1B"}
@@ -44,27 +44,45 @@ export class VercelAIBackend {
44
44
  const toolDefs = {};
45
45
  if (config.tools && config.tools.length > 0) {
46
46
  const toolSchemas = {
47
- 'read_file': {
47
+ read_file: {
48
48
  description: 'Read a file from disk',
49
- parameters: { type: 'object', properties: { path: { type: 'string', description: 'File path to read' } }, required: ['path'] },
49
+ parameters: {
50
+ type: 'object',
51
+ properties: { path: { type: 'string', description: 'File path to read' } },
52
+ required: ['path'],
53
+ },
50
54
  },
51
- 'write_file': {
55
+ write_file: {
52
56
  description: 'Write content to a file',
53
- parameters: { type: 'object', properties: { path: { type: 'string', description: 'File path' }, content: { type: 'string', description: 'File content' } }, required: ['path', 'content'] },
57
+ parameters: {
58
+ type: 'object',
59
+ properties: {
60
+ path: { type: 'string', description: 'File path' },
61
+ content: { type: 'string', description: 'File content' },
62
+ },
63
+ required: ['path', 'content'],
64
+ },
54
65
  },
55
- 'run_command': {
66
+ run_command: {
56
67
  description: 'Run a shell command',
57
- parameters: { type: 'object', properties: { command: { type: 'string', description: 'Command to run' } }, required: ['command'] },
68
+ parameters: {
69
+ type: 'object',
70
+ properties: { command: { type: 'string', description: 'Command to run' } },
71
+ required: ['command'],
72
+ },
58
73
  },
59
74
  };
60
75
  try {
61
76
  const { tool } = await this.dynamicImport('ai');
62
77
  const { z } = await this.dynamicImport('zod');
63
78
  for (const [name, schema] of Object.entries(toolSchemas)) {
64
- if (config.tools.includes('*') || config.tools.some(t => t.toLowerCase().includes(name.split('_')[0]))) {
79
+ if (config.tools.includes('*') || config.tools.some((t) => t.toLowerCase().includes(name.split('_')[0]))) {
65
80
  toolDefs[name] = tool({
66
81
  description: schema.description,
67
- parameters: z.object(Object.fromEntries(Object.entries(schema.parameters.properties).map(([k, v]) => [k, z.string().describe(v.description)]))),
82
+ parameters: z.object(Object.fromEntries(Object.entries(schema.parameters.properties).map(([k, v]) => [
83
+ k,
84
+ z.string().describe(v.description),
85
+ ]))),
68
86
  });
69
87
  }
70
88
  }
@@ -117,7 +135,21 @@ export class VercelAIBackend {
117
135
  const tier = getTier({ model: resolved, tier: config.tier });
118
136
  return { provider: pn, model: String(td?.[tier] ?? td?.mid ?? resolved) };
119
137
  }
120
- static KNOWN_PROVIDERS = ['openai', 'anthropic', 'google', 'mistral', 'groq', 'xai', 'deepseek', 'cohere', 'together', 'perplexity', 'deepinfra', 'cerebras', 'openrouter'];
138
+ static KNOWN_PROVIDERS = [
139
+ 'openai',
140
+ 'anthropic',
141
+ 'google',
142
+ 'mistral',
143
+ 'groq',
144
+ 'xai',
145
+ 'deepseek',
146
+ 'cohere',
147
+ 'together',
148
+ 'perplexity',
149
+ 'deepinfra',
150
+ 'cerebras',
151
+ 'openrouter',
152
+ ];
121
153
  async getProvider(name) {
122
154
  if (!VercelAIBackend.KNOWN_PROVIDERS.includes(name))
123
155
  return null; // Block unknown provider imports