@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,258 @@
1
+ import { generateObject } from "ai";
2
+ import { z } from "zod";
3
+ import { getLogger } from "../../../../util/logger.js";
4
+ import { sendUserMessageChannel } from "../../../state-machine/helpers/peer.js";
5
+ import { buildTestSubagentSystemPrompt } from "../../subagents/testing/prompt-builder.js";
6
+ import { SubagentType } from "../../subagents/types.js";
7
+ import { processTestStreamChunk } from "../../utils.js";
8
+ import { createToolFactory, ToolCategory, PermissionLevel } from "../types.js";
9
+ /**
10
+ * startTestRun - Invokes the Testing Agent subagent to perform end-to-end testing.
11
+ *
12
+ * This tool:
13
+ * 1. Creates a test run with a unique ID
14
+ * 2. Sends test_run_start message to UI
15
+ * 3. Invokes the TEST subagent with filtered tools
16
+ * 4. Suppresses text/reasoning output (all context in tool descriptions)
17
+ * 5. Streams tool results back to the user
18
+ */
19
+ export const startTestRunToolFactory = createToolFactory("startTestRun", ({ clark, services, }) => {
20
+ const logger = getLogger();
21
+ return {
22
+ description: `
23
+ Invoke the Testing Agent to perform end-to-end testing of the application.
24
+
25
+ Use this tool to start a test run when:
26
+ - The plan has enableTesting set to true
27
+ - The user explicitly asks to test (e.g., "test this", "make sure it works", "verify the changes")
28
+
29
+ The Testing Agent will:
30
+ - Take screenshots to verify UI state
31
+ - Interact with form fields, buttons, etc.
32
+ - Validate that the plan was executed correctly
33
+ - Report test results
34
+
35
+ **IMPORTANT**: Call this tool when:
36
+ - enableTesting is set on the plan context (REQUIRED)
37
+ - User explicitly asks to test the app
38
+ - After completing a significant feature build
39
+ - When the user says things like "make sure it works", "verify", "test it out"
40
+
41
+ The Testing Agent has access to Playwright browser automation and can interact with the running application.
42
+ `,
43
+ category: ToolCategory.SUBAGENT,
44
+ defaultPermission: PermissionLevel.ALLOW,
45
+ readOnly: true,
46
+ inputSchema: z.object({
47
+ header: z
48
+ .string()
49
+ .describe("Short, concise header for display (e.g., 'Calculator Test', 'Login Flow', 'Form Validation')"),
50
+ testDescription: z
51
+ .string()
52
+ .describe("Detailed description of what to test for the prompt (e.g., 'Test basic arithmetic operations, special functions, and edge cases') based on the the user prompt and/or the plan to verify"),
53
+ }),
54
+ execute: async ({ header, testDescription }) => {
55
+ const testRunId = crypto.randomUUID();
56
+ const displayHeader = header || "End-to-end testing";
57
+ logger.info(`[TestSubagent] Test description: ${testDescription}`);
58
+ // Phase 1: Generate test cases via LLM call (before subagent execution)
59
+ const testCaseSchema = z.object({
60
+ testCases: z
61
+ .array(z.object({
62
+ id: z.string().describe("Unique ID for this test case"),
63
+ name: z.string().describe("Short name for the test case"),
64
+ description: z
65
+ .string()
66
+ .describe("Brief description of what this test verifies"),
67
+ }))
68
+ .min(1)
69
+ .max(7)
70
+ .describe("1-7 test cases covering the key functionality to verify"),
71
+ });
72
+ let generatedTestCases = [];
73
+ try {
74
+ const { object: testCasesResult } = await generateObject({
75
+ model: services.llmProvider.modelForTask("classifyPrompt"),
76
+ schema: testCaseSchema,
77
+ prompt: `You are a QA expert. Generate 3-7 test cases to verify the following functionality.
78
+
79
+ Test Description: ${testDescription}
80
+
81
+ ${clark.context.planContext?.plan ? `Plan Context:\n${clark.context.planContext.plan}` : ""}
82
+
83
+ Guidelines:
84
+ - Each test case should verify ONE specific piece of functionality
85
+ - Test cases should be feature-level, not click-level (e.g., "Login form submission" not "Click login button")
86
+ - Use unique IDs like "test-1", "test-2", etc.
87
+ - Keep names concise (max 50 chars)
88
+ - Cover both happy path and edge cases where relevant
89
+
90
+ Generate test cases that would be useful for verifying this functionality works correctly.`,
91
+ });
92
+ generatedTestCases = testCasesResult.testCases;
93
+ logger.info(`[TestSubagent] Generated ${generatedTestCases.length} test cases`);
94
+ }
95
+ catch (error) {
96
+ // If test case generation fails, continue without predefined cases
97
+ logger.warn(`[TestSubagent] Failed to generate test cases: ${error instanceof Error ? error.message : String(error)}`);
98
+ }
99
+ // Prepare test cases with initial status
100
+ const testCases = generatedTestCases.map((tc) => ({
101
+ ...tc,
102
+ status: "not_started",
103
+ }));
104
+ // Store test run ID and test cases in context
105
+ clark.updateContext({
106
+ currentTestRunId: testRunId,
107
+ currentTestCases: testCases,
108
+ testCaseStatuses: new Map(testCases.map((tc) => [tc.id, "not_started"])),
109
+ });
110
+ // Send test_run_start message to UI with test cases
111
+ const sendUserMessage = sendUserMessageChannel(clark, services.chatSessionStore);
112
+ await sendUserMessage({
113
+ type: "test_run_start",
114
+ testRunId,
115
+ header: displayHeader,
116
+ testCases: testCases.length > 0 ? testCases : undefined,
117
+ role: "assistant",
118
+ content: "",
119
+ });
120
+ // Build test-specific system prompt with test cases
121
+ const testSystemPrompt = buildTestSubagentSystemPrompt({
122
+ testRunId,
123
+ header: displayHeader,
124
+ planContext: clark.context.planContext,
125
+ testCases,
126
+ });
127
+ // Get tools filtered for TEST subagent
128
+ const accessControl = clark.getAccessControl();
129
+ const testTools = await services.toolRegistry.getToolsRecord({
130
+ ...accessControl,
131
+ subagent: SubagentType.TEST,
132
+ });
133
+ // Invoke the test subagent
134
+ try {
135
+ // Maximum steps for test subagent (matches judge default)
136
+ const maxSteps = 30;
137
+ const result = await clark.streamText(services, {
138
+ system: testSystemPrompt,
139
+ user: {
140
+ role: "user",
141
+ content: `Test the application. Focus on: ${testDescription}`,
142
+ },
143
+ tools: testTools,
144
+ context: {
145
+ // don't send over the full chat history to improve performance
146
+ messages: [],
147
+ },
148
+ maxSteps,
149
+ // Stop when endTestRun is called (like judge stops on submitFeedback)
150
+ stopWhen: ({ steps }) => {
151
+ const lastStep = steps[steps.length - 1];
152
+ const hasEndTestRun = lastStep?.toolCalls?.some((tc) => tc.toolName === "endTestRun");
153
+ return hasEndTestRun ?? false;
154
+ },
155
+ // Warn about remaining steps and force endTestRun on final step
156
+ prepareStep: (step) => {
157
+ const remainingSteps = maxSteps - step.stepNumber - 1;
158
+ const halfwayPoint = Math.floor(maxSteps / 2);
159
+ // Final step: restrict to endTestRun only
160
+ if (step.stepNumber === maxSteps - 1) {
161
+ const warningMessage = {
162
+ role: "user",
163
+ content: [
164
+ {
165
+ type: "text",
166
+ text: "**CRITICAL: This is your FINAL step. You MUST call `endTestRun` now. No other tools are available.**",
167
+ },
168
+ ],
169
+ };
170
+ return {
171
+ ...step,
172
+ messages: [...step.messages, warningMessage],
173
+ activeTools: ["endTestRun"],
174
+ };
175
+ }
176
+ // Warn from halfway point onwards
177
+ else if (step.stepNumber >= halfwayPoint && remainingSteps > 0) {
178
+ const warningMessage = {
179
+ role: "user",
180
+ content: [
181
+ {
182
+ type: "text",
183
+ text: `**IMPORTANT: You have ${remainingSteps} step${remainingSteps === 1 ? "" : "s"} remaining. Wrap up testing and call \`endTestRun\` soon.**`,
184
+ },
185
+ ],
186
+ };
187
+ return {
188
+ ...step,
189
+ messages: [...step.messages, warningMessage],
190
+ };
191
+ }
192
+ return step;
193
+ },
194
+ });
195
+ let testSummary = null;
196
+ // Process stream chunks with test-specific handling
197
+ // - Text/reasoning is suppressed (not sent to UI)
198
+ // - browser_playwright_action results become test steps
199
+ // - endTestRun handles sending test_run_end message with reconciliation
200
+ for await (const chunk of result.fullStream) {
201
+ // Extract summary from endTestRun result for the return value
202
+ if (chunk.type === "tool-result" &&
203
+ "toolName" in chunk &&
204
+ chunk.toolName === "endTestRun") {
205
+ const output = chunk.output;
206
+ if (output?.success) {
207
+ testSummary = {
208
+ testStatus: output.testStatus,
209
+ summary: output.summary,
210
+ };
211
+ logger.info(`[TestSubagent] Test summary extracted - ${output.summary}`);
212
+ }
213
+ }
214
+ await processTestStreamChunk(chunk, clark, services);
215
+ }
216
+ logger.info(`[TestSubagent] Test run completed: ${testRunId}`);
217
+ // Build the final result from testSummary, using defaults for missing values
218
+ const status = testSummary?.testStatus ?? "completed";
219
+ const summary = testSummary?.summary ?? "Testing completed without summary.";
220
+ // Note: test_run_end message is sent by endTestRun tool with reconciliation
221
+ // We need to send it here only if endTestRun wasn't called (shouldn't happen normally)
222
+ if (!testSummary) {
223
+ void sendUserMessage({
224
+ type: "test_run_end",
225
+ testRunId,
226
+ testStatus: "completed",
227
+ summary: "Testing completed.",
228
+ role: "assistant",
229
+ content: "",
230
+ });
231
+ }
232
+ return {
233
+ success: true,
234
+ testRunId,
235
+ status,
236
+ summary,
237
+ };
238
+ }
239
+ catch (error) {
240
+ logger.error(`[TestSubagent] Test run failed: ${error instanceof Error ? error.message : String(error)}`);
241
+ // Send test_run_end with failed status
242
+ await sendUserMessage({
243
+ type: "test_run_end",
244
+ testRunId,
245
+ testStatus: "failed",
246
+ role: "assistant",
247
+ content: "",
248
+ });
249
+ // Clear test run context
250
+ clark.updateContext({
251
+ currentTestRunId: undefined,
252
+ });
253
+ throw error;
254
+ }
255
+ },
256
+ };
257
+ });
258
+ //# sourceMappingURL=start-test-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-test-run.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/start-test-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Clark, ClarkStateHandlerParams } from "../../../state-machine/clark-fsm.js";
2
+ /**
3
+ * updateTestCaseStatus - Updates the status of a specific test case during a test run.
4
+ *
5
+ * This tool:
6
+ * 1. Validates that the test case ID exists
7
+ * 2. Updates the status in clark context (server-side tracking)
8
+ * 3. Sends test_case_update message to UI
9
+ *
10
+ * Only accessible to the TEST subagent (ToolCategory.TEST).
11
+ */
12
+ export declare const updateTestCaseStatusToolFactory: import("../types.js").ToolFactory<{
13
+ clark: Clark;
14
+ services: ClarkStateHandlerParams;
15
+ }, import("../types.js").Tool<{
16
+ status: "failed" | "running" | "passed";
17
+ testCaseId: string;
18
+ }, {
19
+ success: boolean;
20
+ error: string;
21
+ testCaseId?: undefined;
22
+ status?: undefined;
23
+ } | {
24
+ success: boolean;
25
+ testCaseId: string;
26
+ status: "failed" | "running" | "passed";
27
+ error?: undefined;
28
+ }>>;
29
+ //# sourceMappingURL=update-test-case-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-test-case-status.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/update-test-case-status.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B;WAMjC,KAAK;cACF,uBAAuB;;;;;;;;;;;;;;GA4FpC,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { z } from "zod";
2
+ import { getLogger } from "../../../../util/logger.js";
3
+ import { sendUserMessageChannel } from "../../../state-machine/helpers/peer.js";
4
+ import { createToolFactory, ToolCategory, PermissionLevel } from "../types.js";
5
+ /**
6
+ * updateTestCaseStatus - Updates the status of a specific test case during a test run.
7
+ *
8
+ * This tool:
9
+ * 1. Validates that the test case ID exists
10
+ * 2. Updates the status in clark context (server-side tracking)
11
+ * 3. Sends test_case_update message to UI
12
+ *
13
+ * Only accessible to the TEST subagent (ToolCategory.TEST).
14
+ */
15
+ export const updateTestCaseStatusToolFactory = createToolFactory("updateTestCaseStatus", ({ clark, services, }) => {
16
+ const logger = getLogger();
17
+ return {
18
+ description: `
19
+ Update the status of a specific test case during the test run.
20
+
21
+ **IMPORTANT**: You MUST call this tool:
22
+ 1. BEFORE starting each test case - set status to "running"
23
+ 2. AFTER completing each test case - set status to "passed" or "failed"
24
+
25
+ Example workflow for test case "test-1":
26
+ 1. updateTestCaseStatus({ testCaseId: "test-1", status: "running" })
27
+ 2. ... perform browser actions for the test ...
28
+ 3. updateTestCaseStatus({ testCaseId: "test-1", status: "passed" })
29
+
30
+ This ensures the UI shows real-time progress of which tests are running and their results.
31
+ `,
32
+ category: ToolCategory.TEST,
33
+ defaultPermission: PermissionLevel.ALLOW,
34
+ readOnly: true,
35
+ inputSchema: z.object({
36
+ testCaseId: z
37
+ .string()
38
+ .describe("ID of the test case to update (e.g., 'test-1')"),
39
+ status: z
40
+ .enum(["running", "passed", "failed"])
41
+ .describe("New status for the test case: 'running' when starting, 'passed' or 'failed' when complete"),
42
+ }),
43
+ execute: async ({ testCaseId, status }) => {
44
+ const testRunId = clark.context.currentTestRunId;
45
+ const testCases = clark.context.currentTestCases;
46
+ if (!testRunId) {
47
+ logger.warn(`[TestSubagent] No active test run for updateTestCaseStatus`);
48
+ return {
49
+ success: false,
50
+ error: "No active test run",
51
+ };
52
+ }
53
+ // Validate that the test case exists
54
+ if (testCases && testCases.length > 0) {
55
+ const testCaseExists = testCases.some((tc) => tc.id === testCaseId);
56
+ if (!testCaseExists) {
57
+ logger.warn(`[TestSubagent] Test case ID '${testCaseId}' not found in current test cases`);
58
+ // Don't fail - allow the update anyway in case of LLM inconsistency
59
+ }
60
+ }
61
+ // Update status in context for server-side tracking
62
+ const testCaseStatuses = clark.context.testCaseStatuses ??
63
+ new Map();
64
+ testCaseStatuses.set(testCaseId, status);
65
+ clark.updateContext({
66
+ testCaseStatuses,
67
+ });
68
+ // Send test_case_update message to UI
69
+ const sendUserMessage = sendUserMessageChannel(clark, services.chatSessionStore);
70
+ await sendUserMessage({
71
+ type: "test_case_update",
72
+ testRunId,
73
+ testCaseId,
74
+ testCaseStatus: status,
75
+ role: "assistant",
76
+ content: "",
77
+ });
78
+ logger.info(`[TestSubagent] Test case '${testCaseId}' status updated to '${status}'`);
79
+ return {
80
+ success: true,
81
+ testCaseId,
82
+ status,
83
+ };
84
+ },
85
+ };
86
+ });
87
+ //# sourceMappingURL=update-test-case-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-test-case-status.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/update-test-case-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAM/E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,iBAAiB,CAC9D,sBAAsB,EACtB,CAAC,EACC,KAAK,EACL,QAAQ,GAIT,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,OAAO;QACL,WAAW,EAAE;;;;;;;;;;;;;CAalB;QACK,QAAQ,EAAE,YAAY,CAAC,IAAI;QAC3B,iBAAiB,EAAE,eAAe,CAAC,KAAK;QACxC,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBACrC,QAAQ,CACP,2FAA2F,CAC5F;SACJ,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACjD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAEjD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,4DAA4D,CAC7D,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,oBAAoB;iBAC5B,CAAC;YACJ,CAAC;YAED,qCAAqC;YACrC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;gBACpE,IAAI,CAAC,cAAc,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CACT,gCAAgC,UAAU,mCAAmC,CAC9E,CAAC;oBACF,oEAAoE;gBACtE,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,MAAM,gBAAgB,GACpB,KAAK,CAAC,OAAO,CAAC,gBAAgB;gBAC9B,IAAI,GAAG,EAA2D,CAAC;YACrE,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACzC,KAAK,CAAC,aAAa,CAAC;gBAClB,gBAAgB;aACjB,CAAC,CAAC;YAEH,sCAAsC;YACtC,MAAM,eAAe,GAAG,sBAAsB,CAC5C,KAAK,EACL,QAAQ,CAAC,gBAAgB,CAC1B,CAAC;YACF,MAAM,eAAe,CAAC;gBACpB,IAAI,EAAE,kBAAkB;gBACxB,SAAS;gBACT,UAAU;gBACV,cAAc,EAAE,MAAM;gBACtB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CACT,6BAA6B,UAAU,wBAAwB,MAAM,GAAG,CACzE,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU;gBACV,MAAM;aACP,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { SubagentType } from "../subagents/types.js";
2
- import type { AiMode, AiEntityType, PlanContext, PromptContextEntity, PromptContextIntegration, AiPermissionType, AiToolPermission } from "@superblocksteam/library-shared/types";
2
+ import type { AiMode, AiEntityType, PlanContext, PromptContextEntity, PromptContextIntegration, AiPermissionType, AiToolPermission, AiToolExecutionErrorCode } from "@superblocksteam/library-shared/types";
3
3
  import type { ToolCallOptions } from "ai";
4
4
  import type z from "zod";
5
5
  /**
@@ -15,7 +15,8 @@ export declare enum ToolCategory {
15
15
  METADATA = "metadata",
16
16
  DATA = "data",
17
17
  PLAN = "plan",
18
- TEST = "test"
18
+ TEST = "test",
19
+ DEBUG = "debug"
19
20
  }
20
21
  /**
21
22
  * Entity reference extracted from tool input.
@@ -147,20 +148,6 @@ export declare enum PermissionLevel {
147
148
  /** Block execution completely */
148
149
  BLOCK = "block"
149
150
  }
150
- /**
151
- * User response to a tool permission prompt.
152
- *
153
- * Controls both execution and whether the permission should be stored
154
- * in the entity permission store for future use.
155
- */
156
- export declare enum ToolPermissionResponse {
157
- /** Execute the tool once, but don't store permission (user will be prompted again next time) */
158
- ALLOW = "allow",
159
- /** Execute the tool AND store permission in the entity store (never prompt again for this entity) */
160
- ALWAYS_ALLOW = "always_allow",
161
- /** Block execution completely */
162
- DENY = "deny"
163
- }
164
151
  /**
165
152
  * Factory for creating tool instances.
166
153
  *
@@ -255,13 +242,6 @@ export interface AccessControlContext {
255
242
  * Rules are evaluated in order, most restrictive wins.
256
243
  */
257
244
  export type AccessControlRule = (tool: Tool, context: AccessControlContext, input?: any) => PermissionLevel | Promise<PermissionLevel>;
258
- /**
259
- * Result from a prompt handler, including the response and which permissions to always allow.
260
- */
261
- export interface PromptHandlerResult {
262
- response: ToolPermissionResponse;
263
- alwaysAllowPermissions?: AiToolPermission[];
264
- }
265
245
  /**
266
246
  * Handler for prompting user for confirmation.
267
247
  *
@@ -279,7 +259,7 @@ export interface PromptHandlerResult {
279
259
  * - ALWAYS_ALLOW: Execute and store permission for future use (with alwaysAllowPermissions indicating which specific permissions to store)
280
260
  * - DENY: Block execution
281
261
  */
282
- export type PromptHandler = (tool: Tool, input: any, permissions: AiToolPermission[], context: AccessControlContext, options?: ToolCallOptions) => Promise<PromptHandlerResult>;
262
+ export type PromptHandler = (tool: Tool, input: any, permissions: AiToolPermission[], context: AccessControlContext, options?: ToolCallOptions) => Promise<void>;
283
263
  /**
284
264
  * Middleware function that can transform tools.
285
265
  * Receives the tool name and tool instance, returns transformed tool.
@@ -302,6 +282,7 @@ export interface ToolExecutionErrorOptions {
302
282
  input: any;
303
283
  context: AccessControlContext;
304
284
  cause?: unknown;
285
+ code?: AiToolExecutionErrorCode;
305
286
  }
306
287
  export declare class ToolExecutionError extends Error {
307
288
  readonly name: string;
@@ -310,6 +291,7 @@ export declare class ToolExecutionError extends Error {
310
291
  constructor(message: string, options?: ToolExecutionErrorOptions);
311
292
  constructor(options?: ToolExecutionErrorOptions);
312
293
  private getMessage;
294
+ get code(): AiToolExecutionErrorCode | undefined;
313
295
  get toolName(): string | undefined;
314
296
  get input(): any;
315
297
  get message(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/types.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export var ToolCategory;
14
14
  ToolCategory["DATA"] = "data";
15
15
  ToolCategory["PLAN"] = "plan";
16
16
  ToolCategory["TEST"] = "test";
17
+ ToolCategory["DEBUG"] = "debug";
17
18
  })(ToolCategory || (ToolCategory = {}));
18
19
  /**
19
20
  * Permission levels for tool execution.
@@ -27,21 +28,6 @@ export var PermissionLevel;
27
28
  /** Block execution completely */
28
29
  PermissionLevel["BLOCK"] = "block";
29
30
  })(PermissionLevel || (PermissionLevel = {}));
30
- /**
31
- * User response to a tool permission prompt.
32
- *
33
- * Controls both execution and whether the permission should be stored
34
- * in the entity permission store for future use.
35
- */
36
- export var ToolPermissionResponse;
37
- (function (ToolPermissionResponse) {
38
- /** Execute the tool once, but don't store permission (user will be prompted again next time) */
39
- ToolPermissionResponse["ALLOW"] = "allow";
40
- /** Execute the tool AND store permission in the entity store (never prompt again for this entity) */
41
- ToolPermissionResponse["ALWAYS_ALLOW"] = "always_allow";
42
- /** Block execution completely */
43
- ToolPermissionResponse["DENY"] = "deny";
44
- })(ToolPermissionResponse || (ToolPermissionResponse = {}));
45
31
  /**
46
32
  * Helper function to create a tool factory without name duplication.
47
33
  *
@@ -121,6 +107,9 @@ export class ToolExecutionError extends Error {
121
107
  }
122
108
  return message;
123
109
  }
110
+ get code() {
111
+ return this.options?.code;
112
+ }
124
113
  get toolName() {
125
114
  return this.options?.toolName;
126
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/types.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,14 @@ import type { TextStreamPart, ToolSet } from "ai";
3
3
  export declare const getFilesChangedInDraftState: (services: ClarkStateHandlerParams) => Promise<string[]>;
4
4
  export declare const normalizeToBlockStatement: (value: any) => string;
5
5
  export declare const processStreamChunk: (chunk: TextStreamPart<ToolSet>, clark: Clark, services: ClarkStateHandlerParams, group?: string) => Promise<void>;
6
+ /**
7
+ * Process stream chunks specifically for the test subagent.
8
+ *
9
+ * Key differences from processStreamChunk:
10
+ * - Text/reasoning messages are suppressed (not sent to UI)
11
+ * - browser_playwright_action results are processed as test steps
12
+ * - endTestRun is processed normally
13
+ * - Other tool calls are logged but not displayed prominently
14
+ */
15
+ export declare const processTestStreamChunk: (chunk: TextStreamPart<ToolSet>, clark: Clark, services: ClarkStateHandlerParams) => Promise<void>;
6
16
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/utils.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAKvC,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAElD,eAAO,MAAM,2BAA2B,GACtC,UAAU,uBAAuB,sBAIlC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO,GAAG,KAAG,MA0FtD,CAAC;AAiBF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,cAAc,CAAC,OAAO,CAAC,EAC9B,OAAO,KAAK,EACZ,UAAU,uBAAuB,EACjC,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAmId,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/utils.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAKvC,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAElD,eAAO,MAAM,2BAA2B,GACtC,UAAU,uBAAuB,sBAIlC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO,GAAG,KAAG,MA0FtD,CAAC;AAiBF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,cAAc,CAAC,OAAO,CAAC,EAC9B,OAAO,KAAK,EACZ,UAAU,uBAAuB,EACjC,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CAiJd,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,cAAc,CAAC,OAAO,CAAC,EAC9B,OAAO,KAAK,EACZ,UAAU,uBAAuB,KAChC,OAAO,CAAC,IAAI,CAkId,CAAC"}