inferoa 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +154 -0
  3. package/dist/src/app.d.ts +16 -0
  4. package/dist/src/app.js +17 -0
  5. package/dist/src/app.js.map +1 -0
  6. package/dist/src/autoresearch/state.d.ts +106 -0
  7. package/dist/src/autoresearch/state.js +469 -0
  8. package/dist/src/autoresearch/state.js.map +1 -0
  9. package/dist/src/cli.d.ts +2 -0
  10. package/dist/src/cli.js +415 -0
  11. package/dist/src/cli.js.map +1 -0
  12. package/dist/src/code-intelligence/codegraph-engine.d.ts +55 -0
  13. package/dist/src/code-intelligence/codegraph-engine.js +593 -0
  14. package/dist/src/code-intelligence/codegraph-engine.js.map +1 -0
  15. package/dist/src/code-intelligence/hub.d.ts +37 -0
  16. package/dist/src/code-intelligence/hub.js +65 -0
  17. package/dist/src/code-intelligence/hub.js.map +1 -0
  18. package/dist/src/config/config.d.ts +12 -0
  19. package/dist/src/config/config.js +229 -0
  20. package/dist/src/config/config.js.map +1 -0
  21. package/dist/src/config/defaults.d.ts +2 -0
  22. package/dist/src/config/defaults.js +44 -0
  23. package/dist/src/config/defaults.js.map +1 -0
  24. package/dist/src/config/secret-vault.d.ts +3 -0
  25. package/dist/src/config/secret-vault.js +106 -0
  26. package/dist/src/config/secret-vault.js.map +1 -0
  27. package/dist/src/context/compressor.d.ts +33 -0
  28. package/dist/src/context/compressor.js +501 -0
  29. package/dist/src/context/compressor.js.map +1 -0
  30. package/dist/src/context/prompt.d.ts +26 -0
  31. package/dist/src/context/prompt.js +572 -0
  32. package/dist/src/context/prompt.js.map +1 -0
  33. package/dist/src/daemon/serve.d.ts +2 -0
  34. package/dist/src/daemon/serve.js +11 -0
  35. package/dist/src/daemon/serve.js.map +1 -0
  36. package/dist/src/daemon/supervisor.d.ts +33 -0
  37. package/dist/src/daemon/supervisor.js +252 -0
  38. package/dist/src/daemon/supervisor.js.map +1 -0
  39. package/dist/src/goals/state.d.ts +105 -0
  40. package/dist/src/goals/state.js +736 -0
  41. package/dist/src/goals/state.js.map +1 -0
  42. package/dist/src/model/endpoint-signals.d.ts +15 -0
  43. package/dist/src/model/endpoint-signals.js +186 -0
  44. package/dist/src/model/endpoint-signals.js.map +1 -0
  45. package/dist/src/model/gateway.d.ts +11 -0
  46. package/dist/src/model/gateway.js +455 -0
  47. package/dist/src/model/gateway.js.map +1 -0
  48. package/dist/src/plans/state.d.ts +28 -0
  49. package/dist/src/plans/state.js +123 -0
  50. package/dist/src/plans/state.js.map +1 -0
  51. package/dist/src/runtime.d.ts +92 -0
  52. package/dist/src/runtime.js +757 -0
  53. package/dist/src/runtime.js.map +1 -0
  54. package/dist/src/session/store.d.ts +84 -0
  55. package/dist/src/session/store.js +593 -0
  56. package/dist/src/session/store.js.map +1 -0
  57. package/dist/src/session/workspace.d.ts +2 -0
  58. package/dist/src/session/workspace.js +14 -0
  59. package/dist/src/session/workspace.js.map +1 -0
  60. package/dist/src/skills/registry.d.ts +24 -0
  61. package/dist/src/skills/registry.js +203 -0
  62. package/dist/src/skills/registry.js.map +1 -0
  63. package/dist/src/tools/autoresearch-tools.d.ts +6 -0
  64. package/dist/src/tools/autoresearch-tools.js +412 -0
  65. package/dist/src/tools/autoresearch-tools.js.map +1 -0
  66. package/dist/src/tools/clarify-tool.d.ts +3 -0
  67. package/dist/src/tools/clarify-tool.js +107 -0
  68. package/dist/src/tools/clarify-tool.js.map +1 -0
  69. package/dist/src/tools/code-intelligence.d.ts +15 -0
  70. package/dist/src/tools/code-intelligence.js +391 -0
  71. package/dist/src/tools/code-intelligence.js.map +1 -0
  72. package/dist/src/tools/context.d.ts +11 -0
  73. package/dist/src/tools/context.js +2 -0
  74. package/dist/src/tools/context.js.map +1 -0
  75. package/dist/src/tools/goal-tools.d.ts +3 -0
  76. package/dist/src/tools/goal-tools.js +279 -0
  77. package/dist/src/tools/goal-tools.js.map +1 -0
  78. package/dist/src/tools/omni-tools.d.ts +8 -0
  79. package/dist/src/tools/omni-tools.js +349 -0
  80. package/dist/src/tools/omni-tools.js.map +1 -0
  81. package/dist/src/tools/permissions.d.ts +11 -0
  82. package/dist/src/tools/permissions.js +74 -0
  83. package/dist/src/tools/permissions.js.map +1 -0
  84. package/dist/src/tools/plan-tools.d.ts +3 -0
  85. package/dist/src/tools/plan-tools.js +314 -0
  86. package/dist/src/tools/plan-tools.js.map +1 -0
  87. package/dist/src/tools/process-tools.d.ts +6 -0
  88. package/dist/src/tools/process-tools.js +199 -0
  89. package/dist/src/tools/process-tools.js.map +1 -0
  90. package/dist/src/tools/registry.d.ts +20 -0
  91. package/dist/src/tools/registry.js +187 -0
  92. package/dist/src/tools/registry.js.map +1 -0
  93. package/dist/src/tools/schemas.d.ts +3 -0
  94. package/dist/src/tools/schemas.js +500 -0
  95. package/dist/src/tools/schemas.js.map +1 -0
  96. package/dist/src/tools/skill-tools.d.ts +6 -0
  97. package/dist/src/tools/skill-tools.js +124 -0
  98. package/dist/src/tools/skill-tools.js.map +1 -0
  99. package/dist/src/tools/text-args.d.ts +5 -0
  100. package/dist/src/tools/text-args.js +22 -0
  101. package/dist/src/tools/text-args.js.map +1 -0
  102. package/dist/src/tools/web-search.d.ts +5 -0
  103. package/dist/src/tools/web-search.js +602 -0
  104. package/dist/src/tools/web-search.js.map +1 -0
  105. package/dist/src/tools/workspace-tools.d.ts +17 -0
  106. package/dist/src/tools/workspace-tools.js +561 -0
  107. package/dist/src/tools/workspace-tools.js.map +1 -0
  108. package/dist/src/tui/activity.d.ts +11 -0
  109. package/dist/src/tui/activity.js +75 -0
  110. package/dist/src/tui/activity.js.map +1 -0
  111. package/dist/src/tui/ansi.d.ts +24 -0
  112. package/dist/src/tui/ansi.js +131 -0
  113. package/dist/src/tui/ansi.js.map +1 -0
  114. package/dist/src/tui/app.d.ts +163 -0
  115. package/dist/src/tui/app.js +4204 -0
  116. package/dist/src/tui/app.js.map +1 -0
  117. package/dist/src/tui/cache-footer.d.ts +21 -0
  118. package/dist/src/tui/cache-footer.js +75 -0
  119. package/dist/src/tui/cache-footer.js.map +1 -0
  120. package/dist/src/tui/clarify.d.ts +14 -0
  121. package/dist/src/tui/clarify.js +187 -0
  122. package/dist/src/tui/clarify.js.map +1 -0
  123. package/dist/src/tui/composer.d.ts +79 -0
  124. package/dist/src/tui/composer.js +592 -0
  125. package/dist/src/tui/composer.js.map +1 -0
  126. package/dist/src/tui/event-view.d.ts +5 -0
  127. package/dist/src/tui/event-view.js +392 -0
  128. package/dist/src/tui/event-view.js.map +1 -0
  129. package/dist/src/tui/home.d.ts +7 -0
  130. package/dist/src/tui/home.js +92 -0
  131. package/dist/src/tui/home.js.map +1 -0
  132. package/dist/src/tui/markdown.d.ts +18 -0
  133. package/dist/src/tui/markdown.js +271 -0
  134. package/dist/src/tui/markdown.js.map +1 -0
  135. package/dist/src/tui/mode-footer.d.ts +9 -0
  136. package/dist/src/tui/mode-footer.js +62 -0
  137. package/dist/src/tui/mode-footer.js.map +1 -0
  138. package/dist/src/tui/plan-view.d.ts +8 -0
  139. package/dist/src/tui/plan-view.js +45 -0
  140. package/dist/src/tui/plan-view.js.map +1 -0
  141. package/dist/src/tui/prompt-queue.d.ts +18 -0
  142. package/dist/src/tui/prompt-queue.js +27 -0
  143. package/dist/src/tui/prompt-queue.js.map +1 -0
  144. package/dist/src/tui/resize.d.ts +7 -0
  145. package/dist/src/tui/resize.js +15 -0
  146. package/dist/src/tui/resize.js.map +1 -0
  147. package/dist/src/tui/session-picker.d.ts +10 -0
  148. package/dist/src/tui/session-picker.js +17 -0
  149. package/dist/src/tui/session-picker.js.map +1 -0
  150. package/dist/src/tui/session-transcript.d.ts +2 -0
  151. package/dist/src/tui/session-transcript.js +44 -0
  152. package/dist/src/tui/session-transcript.js.map +1 -0
  153. package/dist/src/tui/slash-notice.d.ts +2 -0
  154. package/dist/src/tui/slash-notice.js +9 -0
  155. package/dist/src/tui/slash-notice.js.map +1 -0
  156. package/dist/src/tui/slash.d.ts +21 -0
  157. package/dist/src/tui/slash.js +103 -0
  158. package/dist/src/tui/slash.js.map +1 -0
  159. package/dist/src/tui/splash.d.ts +4 -0
  160. package/dist/src/tui/splash.js +64 -0
  161. package/dist/src/tui/splash.js.map +1 -0
  162. package/dist/src/tui/tool-renderer.d.ts +6 -0
  163. package/dist/src/tui/tool-renderer.js +1024 -0
  164. package/dist/src/tui/tool-renderer.js.map +1 -0
  165. package/dist/src/tui/transcript-spacing.d.ts +1 -0
  166. package/dist/src/tui/transcript-spacing.js +4 -0
  167. package/dist/src/tui/transcript-spacing.js.map +1 -0
  168. package/dist/src/types.d.ts +220 -0
  169. package/dist/src/types.js +2 -0
  170. package/dist/src/types.js.map +1 -0
  171. package/dist/src/util/abort.d.ts +3 -0
  172. package/dist/src/util/abort.js +19 -0
  173. package/dist/src/util/abort.js.map +1 -0
  174. package/dist/src/util/clock.d.ts +2 -0
  175. package/dist/src/util/clock.js +7 -0
  176. package/dist/src/util/clock.js.map +1 -0
  177. package/dist/src/util/fs.d.ts +13 -0
  178. package/dist/src/util/fs.js +75 -0
  179. package/dist/src/util/fs.js.map +1 -0
  180. package/dist/src/util/hash.d.ts +6 -0
  181. package/dist/src/util/hash.js +50 -0
  182. package/dist/src/util/hash.js.map +1 -0
  183. package/dist/src/util/limit.d.ts +11 -0
  184. package/dist/src/util/limit.js +29 -0
  185. package/dist/src/util/limit.js.map +1 -0
  186. package/dist/src/util/types.d.ts +22 -0
  187. package/dist/src/util/types.js +33 -0
  188. package/dist/src/util/types.js.map +1 -0
  189. package/dist/src/validation/acceptance.d.ts +12 -0
  190. package/dist/src/validation/acceptance.js +251 -0
  191. package/dist/src/validation/acceptance.js.map +1 -0
  192. package/dist/src/validation/milestone.d.ts +2 -0
  193. package/dist/src/validation/milestone.js +141 -0
  194. package/dist/src/validation/milestone.js.map +1 -0
  195. package/docs/final-acceptance-task.md +193 -0
  196. package/docs/public-source-hygiene.md +21 -0
  197. package/docs/roadmap.md +265 -0
  198. package/docs/tui-product-design.md +270 -0
  199. package/package.json +67 -0
  200. package/skills/coding-workflow/SKILL.md +16 -0
@@ -0,0 +1,199 @@
1
+ import { spawn } from "node:child_process";
2
+ import { resolveInside } from "../util/fs.js";
3
+ import { fail, ok, truncateText } from "../util/limit.js";
4
+ import { randomId } from "../util/hash.js";
5
+ const liveProcesses = new Map();
6
+ function key(sessionId, processId) {
7
+ return `${sessionId}:${processId}`;
8
+ }
9
+ export async function runCommand(args, context) {
10
+ const command = String(args.command);
11
+ const cwd = resolveInside(context.workspace.root, String(args.cwd ?? "."));
12
+ const env = {
13
+ ...process.env,
14
+ ...(typeof args.env === "object" && args.env ? stringEnv(args.env) : {}),
15
+ };
16
+ if (args.background) {
17
+ const processId = randomId("p");
18
+ const child = spawn(command, {
19
+ cwd,
20
+ env,
21
+ shell: true,
22
+ detached: process.platform !== "win32",
23
+ });
24
+ context.store.upsertProcess({
25
+ session_id: context.session_id,
26
+ process_id: processId,
27
+ pid: child.pid,
28
+ command,
29
+ cwd,
30
+ status: "running",
31
+ });
32
+ context.store.appendEvent({
33
+ session_id: context.session_id,
34
+ run_id: context.run_id,
35
+ type: "process.started",
36
+ data: { process_id: processId, pid: child.pid, command, cwd },
37
+ });
38
+ liveProcesses.set(key(context.session_id, processId), { child, session_id: context.session_id, process_id: processId });
39
+ child.stdout.on("data", (chunk) => {
40
+ safeStoreWrite(() => context.store.appendProcessOutput(context.session_id, processId, "stdout", String(chunk)));
41
+ });
42
+ child.stderr.on("data", (chunk) => {
43
+ safeStoreWrite(() => context.store.appendProcessOutput(context.session_id, processId, "stderr", String(chunk)));
44
+ });
45
+ child.on("close", (code) => {
46
+ safeStoreWrite(() => {
47
+ context.store.upsertProcess({
48
+ session_id: context.session_id,
49
+ process_id: processId,
50
+ pid: child.pid,
51
+ command,
52
+ cwd,
53
+ status: "stopped",
54
+ exit_code: code,
55
+ });
56
+ context.store.appendEvent({
57
+ session_id: context.session_id,
58
+ run_id: context.run_id,
59
+ type: "process.stopped",
60
+ data: { process_id: processId, code },
61
+ });
62
+ });
63
+ liveProcesses.delete(key(context.session_id, processId));
64
+ });
65
+ return ok(`Started background process ${processId}`, { process_id: processId, pid: child.pid ?? null, command, cwd });
66
+ }
67
+ const timeoutMs = typeof args.timeout_ms === "number" ? Math.max(100, Math.min(args.timeout_ms, 600_000)) : 120_000;
68
+ return await new Promise((resolve) => {
69
+ const child = spawn(command, {
70
+ cwd,
71
+ env,
72
+ shell: true,
73
+ });
74
+ let stdout = "";
75
+ let stderr = "";
76
+ let timedOut = false;
77
+ const timeout = setTimeout(() => {
78
+ timedOut = true;
79
+ child.kill("SIGTERM");
80
+ setTimeout(() => {
81
+ if (!child.killed) {
82
+ child.kill("SIGKILL");
83
+ }
84
+ }, 2000).unref();
85
+ }, timeoutMs);
86
+ child.stdout.on("data", (chunk) => {
87
+ stdout += String(chunk);
88
+ });
89
+ child.stderr.on("data", (chunk) => {
90
+ stderr += String(chunk);
91
+ });
92
+ child.on("close", (code) => {
93
+ clearTimeout(timeout);
94
+ const combined = [stdout, stderr].filter(Boolean).join("\n");
95
+ const truncated = truncateText(combined);
96
+ const resource = truncated.truncated || combined.length > 24_000
97
+ ? context.store.putResource(context.session_id, "command.output", combined, { command, cwd, code, timed_out: timedOut }).uri
98
+ : undefined;
99
+ context.store.appendEvent({
100
+ session_id: context.session_id,
101
+ run_id: context.run_id,
102
+ type: "tool.shell.completed",
103
+ data: { command, cwd, code, timed_out: timedOut, resource_uri: resource },
104
+ });
105
+ resolve({
106
+ ok: code === 0 && !timedOut,
107
+ summary: `Command exited ${code}${timedOut ? " after timeout" : ""}`,
108
+ data: {
109
+ command,
110
+ cwd,
111
+ code,
112
+ timed_out: timedOut,
113
+ output: truncated.text,
114
+ },
115
+ resource_uri: resource,
116
+ error: code === 0 && !timedOut ? undefined : { code: timedOut ? "command_timeout" : "command_failed", message: stderr || stdout },
117
+ });
118
+ });
119
+ child.on("error", (error) => {
120
+ clearTimeout(timeout);
121
+ resolve(fail("command_spawn_failed", error.message));
122
+ });
123
+ });
124
+ }
125
+ export async function readProcess(args, context) {
126
+ const processId = String(args.process_id);
127
+ const sinceSeq = typeof args.since_seq === "number" ? args.since_seq : 0;
128
+ const maxBytes = typeof args.max_bytes === "number" ? Math.max(1, Math.min(args.max_bytes, 100_000)) : 24_000;
129
+ const output = context.store.readProcessOutput(context.session_id, processId, sinceSeq, maxBytes);
130
+ return ok(`Read process ${processId} through seq ${output.seq}`, {
131
+ process_id: processId,
132
+ since_seq: sinceSeq,
133
+ next_seq: output.seq,
134
+ output: output.text,
135
+ live: liveProcesses.has(key(context.session_id, processId)),
136
+ });
137
+ }
138
+ export async function writeProcess(args, context) {
139
+ const processId = String(args.process_id);
140
+ const live = liveProcesses.get(key(context.session_id, processId));
141
+ if (!live) {
142
+ return fail("process_not_live", `Process is not live in this runtime: ${processId}`);
143
+ }
144
+ live.child.stdin.write(String(args.input));
145
+ if (args.close_stdin) {
146
+ live.child.stdin.end();
147
+ }
148
+ context.store.appendEvent({
149
+ session_id: context.session_id,
150
+ run_id: context.run_id,
151
+ type: "process.stdin",
152
+ data: { process_id: processId, bytes: Buffer.byteLength(String(args.input)), close_stdin: Boolean(args.close_stdin) },
153
+ });
154
+ return ok(`Wrote stdin to ${processId}`, { process_id: processId });
155
+ }
156
+ export async function stopProcess(args, context) {
157
+ const processId = String(args.process_id);
158
+ const live = liveProcesses.get(key(context.session_id, processId));
159
+ if (!live) {
160
+ return fail("process_not_live", `Process is not live in this runtime: ${processId}`);
161
+ }
162
+ const signal = String(args.signal ?? "SIGTERM");
163
+ killProcessTree(live.child, signal);
164
+ context.store.appendEvent({
165
+ session_id: context.session_id,
166
+ run_id: context.run_id,
167
+ type: "process.stop_requested",
168
+ data: { process_id: processId, signal },
169
+ });
170
+ return ok(`Sent ${signal} to ${processId}`, { process_id: processId, signal });
171
+ }
172
+ function stringEnv(env) {
173
+ return Object.fromEntries(Object.entries(env).map(([name, value]) => [name, String(value)]));
174
+ }
175
+ function killProcessTree(child, signal) {
176
+ const pid = child.pid;
177
+ if (pid && process.platform !== "win32") {
178
+ try {
179
+ process.kill(-pid, signal);
180
+ return;
181
+ }
182
+ catch (error) {
183
+ if (error.code !== "ESRCH") {
184
+ child.kill(signal);
185
+ }
186
+ return;
187
+ }
188
+ }
189
+ child.kill(signal);
190
+ }
191
+ function safeStoreWrite(write) {
192
+ try {
193
+ write();
194
+ }
195
+ catch {
196
+ // Process output can arrive after a test or session has closed its store.
197
+ }
198
+ }
199
+ //# sourceMappingURL=process-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-tools.js","sourceRoot":"","sources":["../../../src/tools/process-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { ToolCall, ToolDefinition, ToolResult, VllmAgentConfig, WorkspaceIdentity } from "../types.js";
2
+ import { CodeIntelligenceHub } from "../code-intelligence/hub.js";
3
+ import { SessionStore } from "../session/store.js";
4
+ import type { ToolExecutionContext } from "./context.js";
5
+ export declare class ToolRegistry {
6
+ private readonly config;
7
+ private readonly workspace;
8
+ private readonly store;
9
+ private readonly codeIntelligence;
10
+ private readonly policy;
11
+ constructor(config: VllmAgentConfig, workspace: WorkspaceIdentity, store: SessionStore, codeIntelligence?: CodeIntelligenceHub);
12
+ list(): ToolDefinition[];
13
+ call(call: ToolCall, context: {
14
+ session_id: string;
15
+ run_id?: string;
16
+ clarify?: ToolExecutionContext["clarify"];
17
+ }): Promise<ToolResult>;
18
+ private recordCall;
19
+ private recordResult;
20
+ }
@@ -0,0 +1,187 @@
1
+ import { CodeIntelligenceHub } from "../code-intelligence/hub.js";
2
+ import { fail, truncateText } from "../util/limit.js";
3
+ import { PermissionPolicy } from "./permissions.js";
4
+ import { configuredToolDefinitions } from "./schemas.js";
5
+ import { applyPatchTool, completeStep, editFile, fileSearch, gitDiff, gitShow, gitStatus, globPaths, listDir, readFile, readResource, sessionNote, todoWrite, writeFile, } from "./workspace-tools.js";
6
+ import { readProcess, runCommand, stopProcess, writeProcess } from "./process-tools.js";
7
+ import { astEdit, astGrep, lspTool } from "./code-intelligence.js";
8
+ import { webFetch, webOpen, webSearch } from "./web-search.js";
9
+ import { skillDisable, skillEnable, skillList, skillRead } from "./skill-tools.js";
10
+ import { goalTool } from "./goal-tools.js";
11
+ import { planTool } from "./plan-tools.js";
12
+ import { clarifyTool } from "./clarify-tool.js";
13
+ import { initExperiment, logExperiment, runExperiment, updateNotes } from "./autoresearch-tools.js";
14
+ import { audioGeneration, audioUnderstanding, imageGeneration, videoGeneration, videoUnderstanding, visionUnderstanding, } from "./omni-tools.js";
15
+ const HANDLERS = {
16
+ apply_patch: applyPatchTool,
17
+ ast_edit: astEdit,
18
+ ast_grep: astGrep,
19
+ audio_generation: audioGeneration,
20
+ audio_understanding: audioUnderstanding,
21
+ clarify: clarifyTool,
22
+ complete_step: completeStep,
23
+ edit_file: editFile,
24
+ file_search: fileSearch,
25
+ git_diff: gitDiff,
26
+ git_show: gitShow,
27
+ git_status: gitStatus,
28
+ glob: globPaths,
29
+ goal: goalTool,
30
+ image_generation: imageGeneration,
31
+ init_experiment: initExperiment,
32
+ list_dir: listDir,
33
+ log_experiment: logExperiment,
34
+ lsp: lspTool,
35
+ plan: planTool,
36
+ read_file: readFile,
37
+ read_process: readProcess,
38
+ read_resource: readResource,
39
+ run_command: runCommand,
40
+ run_experiment: runExperiment,
41
+ session_note: sessionNote,
42
+ skill_disable: skillDisable,
43
+ skill_enable: skillEnable,
44
+ skill_list: skillList,
45
+ skill_read: skillRead,
46
+ stop_process: stopProcess,
47
+ todo_write: todoWrite,
48
+ update_notes: updateNotes,
49
+ video_generation: videoGeneration,
50
+ video_understanding: videoUnderstanding,
51
+ vision_understanding: visionUnderstanding,
52
+ web_fetch: webFetch,
53
+ web_open: webOpen,
54
+ web_search: webSearch,
55
+ write_file: writeFile,
56
+ write_process: writeProcess,
57
+ };
58
+ export class ToolRegistry {
59
+ config;
60
+ workspace;
61
+ store;
62
+ codeIntelligence;
63
+ policy;
64
+ constructor(config, workspace, store, codeIntelligence = new CodeIntelligenceHub(config, workspace)) {
65
+ this.config = config;
66
+ this.workspace = workspace;
67
+ this.store = store;
68
+ this.codeIntelligence = codeIntelligence;
69
+ this.policy = new PermissionPolicy(config, workspace);
70
+ }
71
+ list() {
72
+ return [...configuredToolDefinitions(this.config), ...this.codeIntelligence.toolDefinitions()].sort((a, b) => a.name.localeCompare(b.name));
73
+ }
74
+ async call(call, context) {
75
+ const definition = this.list().find((tool) => tool.name === call.name);
76
+ if (!definition) {
77
+ const result = fail("unknown_tool", `Unknown tool: ${call.name}`);
78
+ this.recordCall(context, call);
79
+ this.recordResult(context, call, result);
80
+ return result;
81
+ }
82
+ this.recordCall(context, call);
83
+ const decision = this.policy.decide(definition, call.arguments);
84
+ if (decision.status !== "allow") {
85
+ this.store.appendEvent({
86
+ session_id: context.session_id,
87
+ run_id: context.run_id,
88
+ type: decision.status === "ask" ? "permission.requested" : "permission.denied",
89
+ data: {
90
+ tool_call_id: call.id,
91
+ tool_name: call.name,
92
+ decision: decision,
93
+ },
94
+ });
95
+ const blocked = fail(decision.status === "ask" ? "permission_required" : "permission_denied", `Tool ${call.name} blocked: ${decision.reason}`);
96
+ this.store.appendEvent({
97
+ session_id: context.session_id,
98
+ run_id: context.run_id,
99
+ type: "tool.result",
100
+ data: {
101
+ tool_call_id: call.id,
102
+ tool_name: call.name,
103
+ result: blocked,
104
+ },
105
+ });
106
+ return blocked;
107
+ }
108
+ this.store.appendEvent({
109
+ session_id: context.session_id,
110
+ run_id: context.run_id,
111
+ type: "permission.resolved",
112
+ data: {
113
+ tool_call_id: call.id,
114
+ tool_name: call.name,
115
+ decision: decision,
116
+ },
117
+ });
118
+ const execContext = {
119
+ config: this.config,
120
+ workspace: this.workspace,
121
+ session_id: context.session_id,
122
+ run_id: context.run_id,
123
+ store: this.store,
124
+ clarify: context.clarify,
125
+ };
126
+ let result;
127
+ try {
128
+ if (this.codeIntelligence.handlesTool(call.name)) {
129
+ result = await this.codeIntelligence.callTool(call.name, call.arguments);
130
+ }
131
+ else {
132
+ const handler = HANDLERS[call.name];
133
+ if (!handler) {
134
+ result = fail("tool_not_implemented", `Tool schema exists but handler is not implemented: ${call.name}`);
135
+ }
136
+ else {
137
+ result = await handler(call.arguments, execContext);
138
+ }
139
+ }
140
+ }
141
+ catch (error) {
142
+ result = fail("tool_exception", error instanceof Error ? error.message : String(error));
143
+ }
144
+ const serialized = JSON.stringify(result);
145
+ if (serialized.length > 30_000 && !result.resource_uri) {
146
+ const resource = this.store.putResource(context.session_id, `tool.${call.name}.result`, serialized, {
147
+ tool_name: call.name,
148
+ tool_call_id: call.id,
149
+ });
150
+ const truncated = truncateText(serialized, 12_000);
151
+ result = {
152
+ ok: result.ok,
153
+ summary: result.summary,
154
+ data: { truncated_result: truncated.text },
155
+ resource_uri: resource.uri,
156
+ error: result.error,
157
+ };
158
+ }
159
+ this.recordResult(context, call, result);
160
+ return result;
161
+ }
162
+ recordCall(context, call) {
163
+ this.store.appendEvent({
164
+ session_id: context.session_id,
165
+ run_id: context.run_id,
166
+ type: "tool.call",
167
+ data: {
168
+ tool_call_id: call.id,
169
+ tool_name: call.name,
170
+ arguments: call.arguments,
171
+ },
172
+ });
173
+ }
174
+ recordResult(context, call, result) {
175
+ this.store.appendEvent({
176
+ session_id: context.session_id,
177
+ run_id: context.run_id,
178
+ type: "tool.result",
179
+ data: {
180
+ tool_call_id: call.id,
181
+ tool_name: call.name,
182
+ result: result,
183
+ },
184
+ });
185
+ }
186
+ }
187
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ToolDefinition, VllmAgentConfig } from "../types.js";
2
+ export declare const CORE_TOOL_DEFINITIONS: ToolDefinition[];
3
+ export declare function configuredToolDefinitions(config: VllmAgentConfig): ToolDefinition[];