@superblocksteam/vite-plugin-file-sync 2.0.72-next.1 → 2.0.72-next.3

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 (218) hide show
  1. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +18 -2
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  5. package/dist/ai-service/agent/subagents/testing/index.d.ts +3 -0
  6. package/dist/ai-service/agent/subagents/testing/index.d.ts.map +1 -0
  7. package/dist/ai-service/agent/subagents/testing/index.js +2 -0
  8. package/dist/ai-service/agent/subagents/testing/index.js.map +1 -0
  9. package/dist/ai-service/agent/subagents/testing/prompt-builder.d.ts +10 -0
  10. package/dist/ai-service/agent/subagents/testing/prompt-builder.d.ts.map +1 -0
  11. package/dist/ai-service/agent/subagents/testing/prompt-builder.js +67 -0
  12. package/dist/ai-service/agent/subagents/testing/prompt-builder.js.map +1 -0
  13. package/dist/ai-service/agent/subagents/testing/types.d.ts +47 -0
  14. package/dist/ai-service/agent/subagents/testing/types.d.ts.map +1 -0
  15. package/dist/ai-service/agent/subagents/testing/types.js +2 -0
  16. package/dist/ai-service/agent/subagents/testing/types.js.map +1 -0
  17. package/dist/ai-service/agent/subagents/types.d.ts +9 -8
  18. package/dist/ai-service/agent/subagents/types.d.ts.map +1 -1
  19. package/dist/ai-service/agent/subagents/types.js +9 -9
  20. package/dist/ai-service/agent/subagents/types.js.map +1 -1
  21. package/dist/ai-service/agent/tool-message-utils.d.ts +7 -2
  22. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  23. package/dist/ai-service/agent/tool-message-utils.js +21 -2
  24. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  25. package/dist/ai-service/agent/tools/apis/test-api.js +1 -1
  26. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  27. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +1 -0
  28. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  29. package/dist/ai-service/agent/tools/build-capture-screenshot.js +4 -2
  30. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  31. package/dist/ai-service/agent/tools/build-delete-file.d.ts +1 -1
  32. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
  33. package/dist/ai-service/agent/tools/{build-read-files.d.ts → build-read-file.d.ts} +10 -6
  34. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -0
  35. package/dist/ai-service/agent/tools/build-read-file.js +139 -0
  36. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -0
  37. package/dist/ai-service/agent/tools/build-reload-file.d.ts +4 -1
  38. package/dist/ai-service/agent/tools/build-reload-file.d.ts.map +1 -1
  39. package/dist/ai-service/agent/tools/build-reload-file.js +18 -8
  40. package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
  41. package/dist/ai-service/agent/tools/get-console-logs.js +1 -1
  42. package/dist/ai-service/agent/tools/get-console-logs.js.map +1 -1
  43. package/dist/ai-service/agent/tools/get-runtime-errors.js +1 -1
  44. package/dist/ai-service/agent/tools/get-runtime-errors.js.map +1 -1
  45. package/dist/ai-service/agent/tools/index.d.ts +4 -1
  46. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  47. package/dist/ai-service/agent/tools/index.js +4 -1
  48. package/dist/ai-service/agent/tools/index.js.map +1 -1
  49. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  50. package/dist/ai-service/agent/tools.js +89 -29
  51. package/dist/ai-service/agent/tools.js.map +1 -1
  52. package/dist/ai-service/agent/tools2/access-control.d.ts +23 -1
  53. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  54. package/dist/ai-service/agent/tools2/access-control.js +67 -1
  55. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  56. package/dist/ai-service/agent/tools2/entity-permissions.d.ts +26 -0
  57. package/dist/ai-service/agent/tools2/entity-permissions.d.ts.map +1 -1
  58. package/dist/ai-service/agent/tools2/entity-permissions.js +15 -0
  59. package/dist/ai-service/agent/tools2/entity-permissions.js.map +1 -1
  60. package/dist/ai-service/agent/tools2/example.d.ts.map +1 -1
  61. package/dist/ai-service/agent/tools2/example.js +2 -4
  62. package/dist/ai-service/agent/tools2/example.js.map +1 -1
  63. package/dist/ai-service/agent/tools2/index.d.ts +1 -1
  64. package/dist/ai-service/agent/tools2/index.d.ts.map +1 -1
  65. package/dist/ai-service/agent/tools2/index.js +1 -1
  66. package/dist/ai-service/agent/tools2/index.js.map +1 -1
  67. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  68. package/dist/ai-service/agent/tools2/registry.js +37 -23
  69. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  70. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +31 -0
  71. package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts.map +1 -0
  72. package/dist/ai-service/agent/tools2/tools/end-test-run.js +105 -0
  73. package/dist/ai-service/agent/tools2/tools/end-test-run.js.map +1 -0
  74. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +1 -0
  75. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
  76. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +135 -11
  77. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  78. package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts +24 -0
  79. package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -0
  80. package/dist/ai-service/agent/tools2/tools/start-test-run.js +258 -0
  81. package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -0
  82. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +29 -0
  83. package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts.map +1 -0
  84. package/dist/ai-service/agent/tools2/tools/update-test-case-status.js +87 -0
  85. package/dist/ai-service/agent/tools2/tools/update-test-case-status.js.map +1 -0
  86. package/dist/ai-service/agent/tools2/types.d.ts +6 -24
  87. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  88. package/dist/ai-service/agent/tools2/types.js +4 -15
  89. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  90. package/dist/ai-service/agent/utils.d.ts +10 -0
  91. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  92. package/dist/ai-service/agent/utils.js +115 -1
  93. package/dist/ai-service/agent/utils.js.map +1 -1
  94. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  95. package/dist/ai-service/chat/chat-session-store.js +122 -1
  96. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  97. package/dist/ai-service/features.d.ts +4 -0
  98. package/dist/ai-service/features.d.ts.map +1 -1
  99. package/dist/ai-service/features.js +4 -0
  100. package/dist/ai-service/features.js.map +1 -1
  101. package/dist/ai-service/index.d.ts.map +1 -1
  102. package/dist/ai-service/index.js +14 -8
  103. package/dist/ai-service/index.js.map +1 -1
  104. package/dist/ai-service/judge/integration/mcp-client.d.ts +3 -6
  105. package/dist/ai-service/judge/integration/mcp-client.d.ts.map +1 -1
  106. package/dist/ai-service/judge/integration/mcp-client.js.map +1 -1
  107. package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
  108. package/dist/ai-service/judge/tools/submit-feedback.d.ts +1 -1
  109. package/dist/ai-service/llm/client.d.ts +6 -0
  110. package/dist/ai-service/llm/client.d.ts.map +1 -1
  111. package/dist/ai-service/llm/client.js +9 -0
  112. package/dist/ai-service/llm/client.js.map +1 -1
  113. package/dist/ai-service/llm/context/constants.d.ts +8 -0
  114. package/dist/ai-service/llm/context/constants.d.ts.map +1 -1
  115. package/dist/ai-service/llm/context/constants.js +8 -0
  116. package/dist/ai-service/llm/context/constants.js.map +1 -1
  117. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  118. package/dist/ai-service/llm/context/context.js +12 -9
  119. package/dist/ai-service/llm/context/context.js.map +1 -1
  120. package/dist/ai-service/llm/context/manager.d.ts +1 -1
  121. package/dist/ai-service/llm/context/manager.js +1 -1
  122. package/dist/ai-service/llm/context/utils/message-utils.d.ts +10 -0
  123. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
  124. package/dist/ai-service/llm/context/utils/message-utils.js +92 -0
  125. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
  126. package/dist/ai-service/llm/interaction/provider.d.ts +1 -0
  127. package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -1
  128. package/dist/ai-service/llm/stream/event-bus.d.ts +5 -0
  129. package/dist/ai-service/llm/stream/event-bus.d.ts.map +1 -1
  130. package/dist/ai-service/llm/stream/event-bus.js.map +1 -1
  131. package/dist/ai-service/llm/stream/observers/llmobs.d.ts +4 -1
  132. package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
  133. package/dist/ai-service/llm/stream/observers/llmobs.js +194 -10
  134. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  135. package/dist/ai-service/llm/stream/observers/logging.d.ts +1 -0
  136. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
  137. package/dist/ai-service/llm/stream/observers/logging.js +92 -20
  138. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  139. package/dist/ai-service/llm/stream/orchestrator.d.ts +7 -1
  140. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  141. package/dist/ai-service/llm/stream/orchestrator.js +24 -4
  142. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  143. package/dist/ai-service/llm/stream/session.d.ts +12 -2
  144. package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
  145. package/dist/ai-service/llm/stream/session.js +9 -26
  146. package/dist/ai-service/llm/stream/session.js.map +1 -1
  147. package/dist/ai-service/llmobs/tracer.d.ts +0 -5
  148. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
  149. package/dist/ai-service/llmobs/tracer.js +1 -40
  150. package/dist/ai-service/llmobs/tracer.js.map +1 -1
  151. package/dist/ai-service/llmobs/types.d.ts +1 -0
  152. package/dist/ai-service/llmobs/types.d.ts.map +1 -1
  153. package/dist/ai-service/mcp/adapter/mcp-tool-adapter.d.ts +1 -1
  154. package/dist/ai-service/mcp/adapter/mcp-tool-adapter.d.ts.map +1 -1
  155. package/dist/ai-service/mcp/adapter/mcp-tool-adapter.js +5 -2
  156. package/dist/ai-service/mcp/adapter/mcp-tool-adapter.js.map +1 -1
  157. package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts +16 -1
  158. package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts.map +1 -1
  159. package/dist/ai-service/mcp/embedded-playwright-mcp-server.js +625 -89
  160. package/dist/ai-service/mcp/embedded-playwright-mcp-server.js.map +1 -1
  161. package/dist/ai-service/mcp/playwright-server.d.ts +10 -0
  162. package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
  163. package/dist/ai-service/mcp/playwright-server.js +3 -0
  164. package/dist/ai-service/mcp/playwright-server.js.map +1 -1
  165. package/dist/ai-service/mcp/types.d.ts +4 -0
  166. package/dist/ai-service/mcp/types.d.ts.map +1 -1
  167. package/dist/ai-service/prompts/explain-code.d.ts +2 -2
  168. package/dist/ai-service/prompts/explain-code.d.ts.map +1 -1
  169. package/dist/ai-service/prompts/explain-code.js +2 -2
  170. package/dist/ai-service/prompts/explain-code.js.map +1 -1
  171. package/dist/ai-service/state-machine/clark-fsm.d.ts +18 -1
  172. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  173. package/dist/ai-service/state-machine/clark-fsm.js +15 -0
  174. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  175. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  176. package/dist/ai-service/state-machine/handlers/agent-planning.js +36 -6
  177. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  178. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  179. package/dist/ai-service/state-machine/handlers/llm-generating.js +87 -34
  180. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  181. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  182. package/dist/ai-service/state-machine/mocks.js +2 -0
  183. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  184. package/dist/ai-service/state-machine/traced-fsm.d.ts +2 -0
  185. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  186. package/dist/ai-service/state-machine/traced-fsm.js +18 -0
  187. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  188. package/dist/ai-service/util/safe-parse.d.ts +2 -0
  189. package/dist/ai-service/util/safe-parse.d.ts.map +1 -0
  190. package/dist/ai-service/util/safe-parse.js +9 -0
  191. package/dist/ai-service/util/safe-parse.js.map +1 -0
  192. package/dist/ai-service/util/safe-stringify.d.ts.map +1 -1
  193. package/dist/ai-service/util/safe-stringify.js +7 -0
  194. package/dist/ai-service/util/safe-stringify.js.map +1 -1
  195. package/dist/ai-service/util/stop-condition.d.ts +1 -0
  196. package/dist/ai-service/util/stop-condition.d.ts.map +1 -1
  197. package/dist/ai-service/util/stop-condition.js +5 -0
  198. package/dist/ai-service/util/stop-condition.js.map +1 -1
  199. package/dist/ai-service/util/strip-content.d.ts +2 -0
  200. package/dist/ai-service/util/strip-content.d.ts.map +1 -0
  201. package/dist/ai-service/util/strip-content.js +31 -0
  202. package/dist/ai-service/util/strip-content.js.map +1 -0
  203. package/dist/ai-service/util/tool-signature.d.ts +13 -0
  204. package/dist/ai-service/util/tool-signature.d.ts.map +1 -0
  205. package/dist/ai-service/util/tool-signature.js +38 -0
  206. package/dist/ai-service/util/tool-signature.js.map +1 -0
  207. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  208. package/dist/file-sync-vite-plugin.js +3 -0
  209. package/dist/file-sync-vite-plugin.js.map +1 -1
  210. package/dist/injected-index.js +2 -2
  211. package/dist/injected-index.js.map +1 -1
  212. package/dist/parsing/jsx.d.ts.map +1 -1
  213. package/dist/parsing/jsx.js +0 -2
  214. package/dist/parsing/jsx.js.map +1 -1
  215. package/package.json +9 -9
  216. package/dist/ai-service/agent/tools/build-read-files.d.ts.map +0 -1
  217. package/dist/ai-service/agent/tools/build-read-files.js +0 -67
  218. package/dist/ai-service/agent/tools/build-read-files.js.map +0 -1
@@ -0,0 +1,139 @@
1
+ import fs from "node:fs/promises";
2
+ import path from "node:path";
3
+ import z from "zod";
4
+ import { fileReadTracker } from "../../state-machine/helpers/file-read-tracker.js";
5
+ import { createToolFactory, ToolCategory } from "../tools2/types.js";
6
+ import { readApiSource } from "./apis/api-source.js";
7
+ import { parseGeneratedApiPath } from "./shared-helpers.js";
8
+ const MAX_LIMIT_READ_FILES = 25000;
9
+ const fileToolConfig = {
10
+ extractDisplayName: (parameters) => {
11
+ const params = parameters;
12
+ if (params.filePath && typeof params.filePath === "string") {
13
+ const fileName = params.filePath.split("/").pop() || params.filePath;
14
+ return `:${fileName}`;
15
+ }
16
+ return "";
17
+ },
18
+ extractMetadata: (parameters) => {
19
+ const params = parameters;
20
+ return {
21
+ filePath: params.filePath,
22
+ ranges: params.ranges,
23
+ rangeCount: Array.isArray(params.ranges) ? params.ranges.length : 0,
24
+ };
25
+ },
26
+ };
27
+ export const readFile = async (filePath, services) => {
28
+ // special case: return SDK TypeScript for API paths
29
+ const generatedApiPathParams = parseGeneratedApiPath(filePath);
30
+ if (generatedApiPathParams) {
31
+ const { apiName } = generatedApiPathParams;
32
+ const sdkArtifact = await readApiSource(services, apiName);
33
+ if (sdkArtifact) {
34
+ return sdkArtifact.content;
35
+ }
36
+ return `// API not found. Use the API tool to create "${apiName}".`;
37
+ }
38
+ // otherwise, read the file
39
+ const absoluteFilePath = path.join(services.appShell.appRootDirPath, filePath);
40
+ return fs.readFile(absoluteFilePath, "utf8");
41
+ };
42
+ export const buildReadFileToolFactory = createToolFactory("build_readFile", ({ clark, services, }) => {
43
+ const { markRead } = fileReadTracker(clark);
44
+ return {
45
+ category: ToolCategory.FILE,
46
+ description: `
47
+ Read content from a file in the application. You can read the entire file or specify line ranges to read specific portions.
48
+ - If the file is too large (>25k characters), you must read it in parts by specifying line ranges.
49
+ - You can specify multiple ranges to read different sections of the file.
50
+ - Only 25k characters can be read at once across all ranges.
51
+ `,
52
+ inputSchema: z.object({
53
+ filePath: z.string().describe("Path to the file to read"),
54
+ ranges: z
55
+ .array(z.object({
56
+ start: z
57
+ .number()
58
+ .int()
59
+ .positive()
60
+ .describe("Starting line number (1-indexed)"),
61
+ end: z
62
+ .number()
63
+ .int()
64
+ .positive()
65
+ .describe("Ending line number (1-indexed, inclusive)"),
66
+ }))
67
+ .optional()
68
+ .describe("Optional line ranges to read. If not provided, attempts to read the entire file."),
69
+ }),
70
+ execute: async ({ filePath, ranges }) => {
71
+ return await services.fsOperationQueue.enqueue(async () => {
72
+ let fileContent;
73
+ let lines;
74
+ let totalLines;
75
+ let readSuccessfully = false;
76
+ try {
77
+ fileContent = await readFile(filePath, services);
78
+ lines = fileContent.split("\n");
79
+ totalLines = lines.length;
80
+ // If no ranges specified, check if entire file is too large
81
+ if (!ranges || ranges.length === 0) {
82
+ // Read entire file
83
+ const output = `<file lines="${totalLines}">\n<content range="1-${totalLines}" lines="${totalLines}">\n${fileContent}\n</content>\n</file>`;
84
+ if (output.length > MAX_LIMIT_READ_FILES) {
85
+ throw new Error(`The file is too large to read all at once. Please read it in parts by specifying line ranges.`);
86
+ }
87
+ markRead(filePath);
88
+ return output;
89
+ }
90
+ // Extract specified ranges
91
+ const contentParts = [];
92
+ for (const range of ranges) {
93
+ const startLine = Math.max(1, range.start) - 1; // Convert to 0-indexed
94
+ const endLine = Math.min(totalLines, range.end); // Keep 1-indexed for display
95
+ const actualStartLine = Math.max(0, startLine);
96
+ const actualEndLine = Math.min(totalLines, endLine);
97
+ if (actualStartLine >= actualEndLine ||
98
+ actualStartLine >= lines.length) {
99
+ continue; // Skip invalid ranges
100
+ }
101
+ const selectedLines = lines.slice(actualStartLine, actualEndLine);
102
+ const rangeContent = selectedLines.join("\n");
103
+ const rangeLines = selectedLines.length;
104
+ contentParts.push({
105
+ range: `${range.start}-${range.end}`,
106
+ lines: rangeLines,
107
+ content: rangeContent,
108
+ });
109
+ }
110
+ if (contentParts.length === 0) {
111
+ throw new Error("No valid line ranges were provided or all ranges were invalid.");
112
+ }
113
+ // Build XML output
114
+ const contentTags = contentParts
115
+ .map((part) => `<content range="${part.range}" lines="${part.lines}">\n${part.content}\n</content>`)
116
+ .join("\n");
117
+ const output = `<file lines="${totalLines}">\n${contentTags}\n</file>`;
118
+ // Check total output size
119
+ if (output.length > MAX_LIMIT_READ_FILES) {
120
+ throw new Error(`The total content across all specified ranges exceeds the 25k character limit. Please reduce the number of ranges or the size of each range.`);
121
+ }
122
+ readSuccessfully = true;
123
+ markRead(filePath);
124
+ return output;
125
+ }
126
+ catch (error) {
127
+ // Only mark as read if we successfully read at least part of the file
128
+ if (readSuccessfully) {
129
+ markRead(filePath);
130
+ }
131
+ throw error;
132
+ }
133
+ });
134
+ },
135
+ readOnly: true,
136
+ };
137
+ });
138
+ export { fileToolConfig };
139
+ //# sourceMappingURL=build-read-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-read-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-read-file.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import type { ClarkStateHandlerParams } from "../../state-machine/clark-fsm.js";
2
2
  export declare const buildReloadFileToolFactory: import("../tools2/types.js").ToolFactory<ClarkStateHandlerParams, import("../tools2/types.js").Tool<{
3
- filePath: string;
3
+ filePath?: string | undefined;
4
4
  }, {
5
+ message: string;
6
+ filePath: undefined;
7
+ } | {
5
8
  message: string;
6
9
  filePath: string;
7
10
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"build-reload-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-reload-file.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;GAqEtC,CAAC"}
1
+ {"version":3,"file":"build-reload-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-reload-file.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;;;;GAgFtC,CAAC"}
@@ -8,29 +8,39 @@ export const buildReloadFileToolFactory = createToolFactory("build_reloadFile",
8
8
  defaultPermission: PermissionLevel.ALLOW,
9
9
  readOnly: true,
10
10
  description: `
11
- Reload a specific file in Vite's module graph. This will invalidate the module and trigger a Hot Module Replacement (HMR) update in the browser.
12
- This will also remount the components in the app.
11
+ Reload a part of the app.
13
12
 
14
- The tool accepts a relative file path (e.g., "pages/Home/index.tsx") and will:
15
- 1. Invalidate the module in Vite's module graph
16
- 2. Trigger an immediate reload to update the browser
13
+ If a file path is provided, we will trigger a Hot Module Replacement (HMR) and remount the components in the app.
14
+ File paths are relative (e.g. "pages/Home/index.tsx").
17
15
 
18
- Use this tool when:
16
+ Use this tool with a path when:
19
17
  - You update an API that is run off a useEffect that should be re-evaluated.
20
18
  - You need to re-trigger some logic that only runs on component mount or file evaluation.
21
19
 
22
- This tool should NOT be used as a first resort for fixing app issues. Examine error logs or build errors first.
20
+ If no file path is provided, we will trigger a full reload of the app. This can be useful if the app is not rendering after an initial generation.
21
+
22
+ **IMPORTANT:**
23
+ This tool should NOT be used as a first resort for fixing app issues. Examine error logs or build errors first.
23
24
  `,
24
25
  inputSchema: z.object({
25
26
  filePath: z
26
27
  .string()
28
+ .optional()
27
29
  .describe("Relative path to the file to reload (e.g., 'pages/Home/index.tsx')"),
28
30
  }),
29
31
  execute: async ({ filePath }) => {
30
- const logger = getPrefixedLogger(`[reloadFile-${filePath}]`);
31
32
  if (!services.viteServer) {
32
33
  throw new Error("Vite server is not available. This tool can only be used in development mode.");
33
34
  }
35
+ const logger = getPrefixedLogger(`[reloadFile]`);
36
+ if (!filePath) {
37
+ services.viteServer.ws.send({ type: "full-reload" });
38
+ logger.info("Reload tool - full reload");
39
+ return {
40
+ message: "Successfully triggered full reload",
41
+ filePath: undefined,
42
+ };
43
+ }
34
44
  const fullPath = path.join(services.appShell.appRootDirPath, filePath);
35
45
  logger.info(`Reloading file: ${filePath} (full path: ${fullPath})`);
36
46
  const module = services.viteServer.moduleGraph.getModuleById(fullPath);
@@ -1 +1 @@
1
- {"version":3,"file":"build-reload-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-reload-file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CACzD,kBAAkB,EAClB,CAAC,QAAiC,EAAE,EAAE;IACpC,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,OAAO;QAC9B,iBAAiB,EAAE,eAAe,CAAC,KAAK;QACxC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE;;;;;;;;;;;;;CAalB;QACK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACP,oEAAoE,CACrE;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,iBAAiB,CAAC,eAAe,QAAQ,GAAG,CAAC,CAAC;YAE7D,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAEvE,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,gBAAgB,QAAQ,GAAG,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,4CAA4C,CACnF,CAAC;YACJ,CAAC;YAED,wBAAwB;YACxB,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzD,2BAA2B;YAC3B,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAE/C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,+BAA+B;gBACtC,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;YAEvD,OAAO;gBACL,OAAO,EAAE,+BAA+B,QAAQ,EAAE;gBAClD,QAAQ;aACT,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"build-reload-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-reload-file.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CACzD,kBAAkB,EAClB,CAAC,QAAiC,EAAE,EAAE;IACpC,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,OAAO;QAC9B,iBAAiB,EAAE,eAAe,CAAC,KAAK;QACxC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE;;;;;;;;;;;;;;CAclB;QACK,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,oEAAoE,CACrE;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAEjD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACzC,OAAO;oBACL,OAAO,EAAE,oCAAoC;oBAC7C,QAAQ,EAAE,SAAS;iBACpB,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAEvE,MAAM,CAAC,IAAI,CAAC,mBAAmB,QAAQ,gBAAgB,QAAQ,GAAG,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,8BAA8B,QAAQ,4CAA4C,CACnF,CAAC;YACJ,CAAC;YAED,wBAAwB;YACxB,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAEzD,2BAA2B;YAC3B,MAAM,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAE/C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,+BAA+B;gBACtC,IAAI,EAAE,EAAE;aACT,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;YAEvD,OAAO;gBACL,OAAO,EAAE,+BAA+B,QAAQ,EAAE;gBAClD,QAAQ;aACT,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -2,7 +2,7 @@ import z from "zod";
2
2
  import { createToolFactory, ToolCategory } from "../tools2/types.js";
3
3
  export const buildGetConsoleLogsToolFactory = createToolFactory("get_console_logs", ({ clark }) => {
4
4
  return {
5
- category: ToolCategory.TEST,
5
+ category: ToolCategory.DEBUG,
6
6
  description: `
7
7
  Retrieve console logs from the user's application.
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"get-console-logs.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/get-console-logs.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIrE,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAC7D,kBAAkB,EAClB,CAAC,EAAE,KAAK,EAAuD,EAAE,EAAE;IACjE,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,IAAI;QAC3B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6Bd;QACC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACvB,QAAQ,EAAE;iBACV,QAAQ,CAAC,sBAAsB,CAAC;YACnC,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CACP,2FAA2F,CAC5F;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,0CAA0C;YAC1C,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAU,EAAE;gBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;gBAErD,IAAI,OAAO,GAAG,EAAE;oBAAE,OAAO,UAAU,CAAC;gBACpC,IAAI,OAAO,GAAG,EAAE;oBAAE,OAAO,GAAG,OAAO,cAAc,CAAC;gBAElD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;gBACzC,OAAO,GAAG,OAAO,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC;YAClE,CAAC,CAAC;YAEF,+BAA+B;YAC/B,IAAI,IAAI,GAAG,KAAK;gBACd,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC;gBAC9C,CAAC,CAAC,OAAO,CAAC;YAEZ,mDAAmD;YACnD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpE,2BAA2B;YAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YAED,0BAA0B;YAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzC,GAAG,GAAG;gBACN,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;aAClE,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,eAAe,CAAC,MAAM;gBAC7B,UAAU,EAAE,OAAO,CAAC,MAAM;aAC3B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"get-console-logs.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/get-console-logs.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIrE,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAC7D,kBAAkB,EAClB,CAAC,EAAE,KAAK,EAAuD,EAAE,EAAE;IACjE,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,KAAK;QAC5B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6Bd;QACC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,CAAC;iBACL,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACvB,QAAQ,EAAE;iBACV,QAAQ,CAAC,sBAAsB,CAAC;YACnC,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CACP,2FAA2F,CAC5F;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,0CAA0C;YAC1C,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAU,EAAE;gBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;gBAErD,IAAI,OAAO,GAAG,EAAE;oBAAE,OAAO,UAAU,CAAC;gBACpC,IAAI,OAAO,GAAG,EAAE;oBAAE,OAAO,GAAG,OAAO,cAAc,CAAC;gBAElD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;gBACzC,OAAO,GAAG,OAAO,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC;YAClE,CAAC,CAAC;YAEF,+BAA+B;YAC/B,IAAI,IAAI,GAAG,KAAK;gBACd,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC;gBAC9C,CAAC,CAAC,OAAO,CAAC;YAEZ,mDAAmD;YACnD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpE,2BAA2B;YAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9B,CAAC;YAED,0BAA0B;YAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzC,GAAG,GAAG;gBACN,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;aAClE,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,eAAe,CAAC,MAAM;gBAC7B,UAAU,EAAE,OAAO,CAAC,MAAM;aAC3B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -2,7 +2,7 @@ import z from "zod";
2
2
  import { createToolFactory, ToolCategory } from "../tools2/types.js";
3
3
  export const buildGetRuntimeErrorsToolFactory = createToolFactory("get_runtime_errors", ({ clark }) => {
4
4
  return {
5
- category: ToolCategory.TEST,
5
+ category: ToolCategory.DEBUG,
6
6
  description: `
7
7
  Retrieve runtime errors from the user's application.
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"get-runtime-errors.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/get-runtime-errors.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIrE,MAAM,CAAC,MAAM,gCAAgC,GAAG,iBAAiB,CAC/D,oBAAoB,EACpB,CAAC,EAAE,KAAK,EAAuD,EAAE,EAAE;IACjE,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,IAAI;QAC3B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4Bd;QACC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;YAEpD,mDAAmD;YACnD,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAClD,CAAC;YAEF,2BAA2B;YAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,OAAO;gBACL,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,UAAU,EAAE,SAAS,CAAC,MAAM;aAC7B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"get-runtime-errors.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/get-runtime-errors.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIrE,MAAM,CAAC,MAAM,gCAAgC,GAAG,iBAAiB,CAC/D,oBAAoB,EACpB,CAAC,EAAE,KAAK,EAAuD,EAAE,EAAE;IACjE,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,KAAK;QAC5B,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4Bd;QACC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CACP,+FAA+F,CAChG;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;YAEpD,mDAAmD;YACnD,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,CACzB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAClD,CAAC;YAEF,2BAA2B;YAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,OAAO;gBACL,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,MAAM;gBACpB,UAAU,EAAE,SAAS,CAAC,MAAM;aAC7B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -2,7 +2,7 @@ export { buildInstallPackagesToolFactory } from "./build-install-packages.js";
2
2
  export { buildWriteFileToolFactory } from "./build-write-file.js";
3
3
  export { buildEditFileToolFactory } from "./build-edit-file.js";
4
4
  export { buildMultiEditFileToolFactory } from "./build-multi-edit-file.js";
5
- export { buildReadFilesToolFactory, multiFileToolConfig, } from "./build-read-files.js";
5
+ export { buildReadFileToolFactory, fileToolConfig } from "./build-read-file.js";
6
6
  export { buildListFilesToolFactory } from "./build-list-files.js";
7
7
  export { buildValidateIconsToolFactory } from "./build-validate-icons.js";
8
8
  export { buildDebugToolFactory } from "./build-debug.js";
@@ -17,4 +17,7 @@ export { askMultiChoiceToolFactory } from "../tools2/tools/ask-multi-choice.js";
17
17
  export { buildGetRuntimeErrorsToolFactory } from "./get-runtime-errors.js";
18
18
  export { buildGetConsoleLogsToolFactory } from "./get-console-logs.js";
19
19
  export { grepMetadataToolFactory } from "../tools2/tools/grep-metadata.js";
20
+ export { startTestRunToolFactory } from "../tools2/tools/start-test-run.js";
21
+ export { endTestRunToolFactory } from "../tools2/tools/end-test-run.js";
22
+ export { updateTestCaseStatusToolFactory } from "../tools2/tools/update-test-case-status.js";
20
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC"}
@@ -2,7 +2,7 @@ export { buildInstallPackagesToolFactory } from "./build-install-packages.js";
2
2
  export { buildWriteFileToolFactory } from "./build-write-file.js";
3
3
  export { buildEditFileToolFactory } from "./build-edit-file.js";
4
4
  export { buildMultiEditFileToolFactory } from "./build-multi-edit-file.js";
5
- export { buildReadFilesToolFactory, multiFileToolConfig, } from "./build-read-files.js";
5
+ export { buildReadFileToolFactory, fileToolConfig } from "./build-read-file.js";
6
6
  export { buildListFilesToolFactory } from "./build-list-files.js";
7
7
  export { buildValidateIconsToolFactory } from "./build-validate-icons.js";
8
8
  export { buildDebugToolFactory } from "./build-debug.js";
@@ -17,4 +17,7 @@ export { askMultiChoiceToolFactory } from "../tools2/tools/ask-multi-choice.js";
17
17
  export { buildGetRuntimeErrorsToolFactory } from "./get-runtime-errors.js";
18
18
  export { buildGetConsoleLogsToolFactory } from "./get-console-logs.js";
19
19
  export { grepMetadataToolFactory } from "../tools2/tools/grep-metadata.js";
20
+ export { startTestRunToolFactory } from "../tools2/tools/start-test-run.js";
21
+ export { endTestRunToolFactory } from "../tools2/tools/end-test-run.js";
22
+ export { updateTestCaseStatusToolFactory } from "../tools2/tools/update-test-case-status.js";
20
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4CAA4C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"AA6CA,OAAO,EAIL,KAAK,IAAI,EACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AA6C7E,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAU,uBAAuB,4CA2MlC,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"AAkDA,OAAO,EAAiC,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AA6C7E,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAU,uBAAuB,4CAiRlC,CAAC"}
@@ -1,15 +1,18 @@
1
1
  import { getErrorMeta } from "../../util/logger.js";
2
2
  import { OperationQueue } from "../../util/operation-queue.js";
3
+ import { MCPClient } from "../judge/integration/mcp-client.js";
4
+ import { McpToolAdapter } from "../mcp/adapter/mcp-tool-adapter.js";
3
5
  import { profileTool, } from "../profiler/tool-profiler.js";
6
+ import { getToolCallSignature } from "../util/tool-signature.js";
4
7
  import { outputLimiter } from "./middleware.js";
5
8
  import { buildApiToolFactory } from "./tools/apis/build-api.js";
6
9
  import { getApiDocsToolFactory } from "./tools/apis/get-api-docs.js";
7
10
  import { checkTestApiPermissions, testApiToolFactory, } from "./tools/apis/test-api.js";
8
11
  import { writeApiToolFactory } from "./tools/apis/write-api.js";
9
- import { buildInstallPackagesToolFactory, buildWriteFileToolFactory, buildEditFileToolFactory, buildMultiEditFileToolFactory, buildReadFilesToolFactory, multiFileToolConfig, buildListFilesToolFactory, buildValidateIconsToolFactory, buildDebugToolFactory, buildFinalizeToolFactory, buildManageChecklistToolFactory, buildDeleteFileToolFactory, checkDeleteFilePermissions, buildReloadFileToolFactory, executeRequestToIntegrationToolFactory, grepMetadataToolFactory, searchIntegrationsToolFactory, runCodeToolFactory, exitPlanModeToolFactory, askMultiChoiceToolFactory, buildCaptureScreenshotToolFactory, buildGetRuntimeErrorsToolFactory, buildGetConsoleLogsToolFactory, } from "./tools/index.js";
12
+ import { buildInstallPackagesToolFactory, buildWriteFileToolFactory, buildEditFileToolFactory, buildMultiEditFileToolFactory, buildReadFileToolFactory, buildListFilesToolFactory, buildValidateIconsToolFactory, buildDebugToolFactory, buildFinalizeToolFactory, buildManageChecklistToolFactory, buildDeleteFileToolFactory, checkDeleteFilePermissions, buildReloadFileToolFactory, executeRequestToIntegrationToolFactory, grepMetadataToolFactory, searchIntegrationsToolFactory, runCodeToolFactory, exitPlanModeToolFactory, askMultiChoiceToolFactory, buildCaptureScreenshotToolFactory, buildGetRuntimeErrorsToolFactory, buildGetConsoleLogsToolFactory, startTestRunToolFactory, endTestRunToolFactory, updateTestCaseStatusToolFactory, } from "./tools/index.js";
10
13
  import { presets, blockTools, forTools } from "./tools2/access-control.js";
11
14
  import { globToolFactory, grepToolFactory, lsToolFactory, } from "./tools2/tools/index.js";
12
- import { PermissionLevel, ToolCategory, ToolPermissionResponse, } from "./tools2/types.js";
15
+ import { PermissionLevel, ToolCategory } from "./tools2/types.js";
13
16
  const fileToolConfig = {
14
17
  extractDisplayName: (parameters) => {
15
18
  const params = parameters;
@@ -64,8 +67,12 @@ export const buildTools = async (clark, services) => {
64
67
  registry.setPromptHandler(async (tool, input, permissions, _context, options) => {
65
68
  const actionName = tool.getActionName?.();
66
69
  const formattedInput = tool.formatInput?.(input);
67
- // Generate unique message ID for this permission request
68
- const messageId = crypto.randomUUID();
70
+ const messageId = options?.toolCallId ?? crypto.randomUUID();
71
+ if (clark.context.pendingToolPermissionRequest) {
72
+ clark.logger.info("skipping tool permission request as there is already a pending one", messageId);
73
+ return;
74
+ }
75
+ const signature = getToolCallSignature(tool.name, input);
69
76
  // Store pending permission request in context for replay on reconnect
70
77
  clark.updateContext({
71
78
  pendingToolPermissionRequest: {
@@ -75,37 +82,19 @@ export const buildTools = async (clark, services) => {
75
82
  formattedInput,
76
83
  rawInput: input,
77
84
  permissions,
78
- toolCallId: options?.toolCallId,
85
+ signature,
79
86
  },
80
87
  });
81
88
  try {
82
- const response = await clark.context.peer?.call.aiRequestToolPermission({
89
+ await clark.context.peer?.call.aiRequestToolPermission({
83
90
  messageId,
84
91
  toolName: tool.name,
85
92
  actionName,
86
93
  formattedInput,
87
94
  rawInput: input,
88
95
  permissions,
89
- toolCallId: options?.toolCallId,
96
+ signature,
90
97
  });
91
- // Clear pending request after receiving response
92
- clark.updateContext({
93
- pendingToolPermissionRequest: undefined,
94
- });
95
- // Map response to PromptHandlerResult
96
- if (!response?.approved) {
97
- return {
98
- response: ToolPermissionResponse.DENY,
99
- };
100
- }
101
- // If any permissions are marked for always allow, return ALWAYS_ALLOW with the specific permissions
102
- return {
103
- response: response.alwaysAllowPermissions &&
104
- response.alwaysAllowPermissions.length > 0
105
- ? ToolPermissionResponse.ALWAYS_ALLOW
106
- : ToolPermissionResponse.ALLOW,
107
- alwaysAllowPermissions: response.alwaysAllowPermissions,
108
- };
109
98
  }
110
99
  catch (error) {
111
100
  // Clear pending request on error
@@ -137,7 +126,7 @@ export const buildTools = async (clark, services) => {
137
126
  registry.register(buildWriteFileToolFactory, { clark, services });
138
127
  registry.register(buildEditFileToolFactory, { clark, services });
139
128
  registry.register(buildMultiEditFileToolFactory, { clark, services });
140
- registry.register(buildReadFilesToolFactory, { clark, services });
129
+ registry.register(buildReadFileToolFactory, { clark, services });
141
130
  registry.register(buildListFilesToolFactory, services);
142
131
  registry.register(buildValidateIconsToolFactory, {});
143
132
  registry.register(buildDebugToolFactory, { clark, services });
@@ -164,6 +153,80 @@ export const buildTools = async (clark, services) => {
164
153
  registry.register(lsToolFactory, {});
165
154
  registry.register(buildGetRuntimeErrorsToolFactory, { clark, services });
166
155
  registry.register(buildGetConsoleLogsToolFactory, { clark, services });
156
+ // Initialize Playwright MCP server and register browser tools
157
+ try {
158
+ const { mcpServerManager } = services;
159
+ const logger = clark.logger;
160
+ // Get browser context from Clark (contains iframe URL and init/bootstrap data from UI)
161
+ const browserContext = clark.context.browserContext;
162
+ const isTestingEnabled = clark.context.llmConfig?.flags?.isTestingEnabled;
163
+ if (!browserContext || !isTestingEnabled) {
164
+ // Skip Playwright MCP server initialization but continue to register other tools
165
+ }
166
+ else {
167
+ const { iframeBaseUrl, initData, bootstrapData } = browserContext;
168
+ // Start the MCP server with init and bootstrap data for direct iframe access
169
+ // This simulates the parent window sending sb-init and sb-bootstrap-response messages
170
+ const serverUrl = await mcpServerManager.start({
171
+ appUrl: iframeBaseUrl,
172
+ jwt: clark.context.jwt,
173
+ headless: true,
174
+ initData,
175
+ bootstrapData,
176
+ });
177
+ const mcpClient = new MCPClient(serverUrl, logger);
178
+ await mcpClient.connect();
179
+ const mcpAdapter = new McpToolAdapter(registry, logger);
180
+ const registeredTools = await mcpAdapter.addServer({
181
+ name: "playwright",
182
+ url: serverUrl,
183
+ category: ToolCategory.TEST,
184
+ defaultPermission: PermissionLevel.ALLOW,
185
+ toolNameTransform: (_serverName, toolName) => `browser_${toolName}`,
186
+ skipOutputLimit: (_toolName) => (_output) => true,
187
+ toModelOutput: (_toolName) => (output) => {
188
+ if (output &&
189
+ typeof output === "object" &&
190
+ "screenshot" in output) {
191
+ // Determine media type based on format (defaults to png)
192
+ const format = output.format ?? "png";
193
+ const mediaType = format === "png"
194
+ ? "image/png"
195
+ : format === "jpeg"
196
+ ? "image/jpeg"
197
+ : format === "webp"
198
+ ? "image/webp"
199
+ : "image/png";
200
+ return {
201
+ type: "content",
202
+ value: [
203
+ {
204
+ type: "media",
205
+ data: output.screenshot,
206
+ mediaType,
207
+ },
208
+ ],
209
+ };
210
+ }
211
+ else {
212
+ return {
213
+ type: "json",
214
+ value: output,
215
+ };
216
+ }
217
+ },
218
+ }, mcpClient);
219
+ logger.info(`[Playwright] ✓ Registered ${registeredTools.length} browser tools: ${registeredTools.join(", ")}`);
220
+ // Register test subagent tools only if the mcp server is successfully started
221
+ registry.register(startTestRunToolFactory, { clark, services });
222
+ registry.register(endTestRunToolFactory, { clark, services });
223
+ registry.register(updateTestCaseStatusToolFactory, { clark, services });
224
+ }
225
+ }
226
+ catch (error) {
227
+ const errorMessage = String(error);
228
+ services.logger.error(`[Playwright] ❌ Error initializing Playwright MCP server: ${errorMessage}`);
229
+ }
167
230
  // Add output limiting middleware to all tools
168
231
  registry.addMiddleware(outputLimiter(25_000));
169
232
  // Add profiling middleware
@@ -176,9 +239,6 @@ export const buildTools = async (clark, services) => {
176
239
  case ToolCategory.COMPONENT:
177
240
  profilingConfig = componentToolConfig;
178
241
  break;
179
- case ToolCategory.MULTI_FILE:
180
- profilingConfig = multiFileToolConfig;
181
- break;
182
242
  }
183
243
  return profileTool(tool.name, tool, profilingConfig);
184
244
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { AiMode } from "@superblocksteam/library-shared/types";
2
- import { type AccessControlRule, PermissionLevel, type Tool, type AccessControlContext } from "./types.js";
2
+ import { SubagentType } from "../subagents/types.js";
3
+ import { ToolCategory, type AccessControlRule, PermissionLevel, type Tool, type AccessControlContext } from "./types.js";
3
4
  /**
4
5
  * Access control utilities and common patterns.
5
6
  */
@@ -96,6 +97,27 @@ export declare function require(predicate: AccessControlPredicate, permission?:
96
97
  * Allows tools marked as readOnly, blocks others.
97
98
  */
98
99
  export declare function readOnly(): AccessControlRule;
100
+ export declare function forSubagent(subagent: SubagentType, rule: AccessControlRule): AccessControlRule;
101
+ /**
102
+ * Map subagent types to the tool categories they can access
103
+ *
104
+ * If a subagent is not in the mapping, it has no category restrictions.
105
+ *
106
+ * @param map - Map of subagent types to their allowed categories
107
+ * @returns Access control rule that enforces category restrictions per subagent
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * registry.addAccessRule(
112
+ * subagentCategoryFilter({
113
+ * [SubagentType.MAIN]: [ToolCategory.COMPONENT, ToolCategory.FILE, ToolCategory.GENERAL],
114
+ * [SubagentType.TEST]: [ToolCategory.TEST],
115
+ * // Subagents not listed = no restrictions
116
+ * })
117
+ * );
118
+ * ```
119
+ */
120
+ export declare function subagentCategoryMapping(map: Partial<Record<SubagentType, ToolCategory[]>>): AccessControlRule;
99
121
  /**
100
122
  * Common access control presets.
101
123
  */
@@ -1 +1 @@
1
- {"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAEL,KAAK,iBAAiB,EACtB,eAAe,EACf,KAAK,IAAI,EACT,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAEpB;;GAEG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAWnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAiB1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CASnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED,KAAK,sBAAsB,GAAG,CAAC,MAAM,EAAE;IACrC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,KAAK,OAAO,CAAC;AAEd,wBAAgB,OAAO,CACrB,SAAS,EAAE,sBAAsB,EACjC,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAMnB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAO5C;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;;;;OAKG;gBACO,iBAAiB,EAAE;IAqC7B;;OAEG;uBACc,iBAAiB,EAAE;IAEpC;;OAEG;sBACa,iBAAiB,EAAE;IASnC;;OAEG;sBACa,iBAAiB,EAAE;IAInC;;OAEG;iBACQ,iBAAiB,EAAE;CAG/B,CAAC"}
1
+ {"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,eAAe,EACf,KAAK,IAAI,EACT,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAEpB;;GAEG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAWnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAiB1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CASnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED,KAAK,sBAAsB,GAAG,CAAC,MAAM,EAAE;IACrC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,KAAK,OAAO,CAAC;AAEd,wBAAgB,OAAO,CACrB,SAAS,EAAE,sBAAsB,EACjC,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAMnB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAO5C;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,GACjD,iBAAiB,CAiBnB;AAGD;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;;;;OAKG;gBACO,iBAAiB,EAAE;IA6D7B;;OAEG;uBACc,iBAAiB,EAAE;IAEpC;;OAEG;sBACa,iBAAiB,EAAE;IASnC;;OAEG;sBACa,iBAAiB,EAAE;IAInC;;OAEG;iBACQ,iBAAiB,EAAE;CAG/B,CAAC"}