@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,105 @@
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
+ * endTestRun - Ends the current test run and reports results.
7
+ *
8
+ * This tool:
9
+ * 1. Reconciles any incomplete test cases (sets their final status)
10
+ * 2. Sends test_run_end message to UI with status
11
+ * 3. Clears test run context
12
+ *
13
+ * Only accessible to the TEST subagent (ToolCategory.TEST).
14
+ */
15
+ export const endTestRunToolFactory = createToolFactory("endTestRun", ({ clark, services, }) => {
16
+ const logger = getLogger();
17
+ return {
18
+ description: `
19
+ End the current test run and report results.
20
+
21
+ **IMPORTANT**: You MUST call this tool when you have finished testing.
22
+
23
+ Call this tool when:
24
+ - All test cases have been executed
25
+ - A critical error prevents further testing
26
+ - You've verified the key functionality
27
+
28
+ The status should reflect the overall test outcome:
29
+ - "completed" - All tests passed or the key functionality works
30
+ - "failed" - Tests found issues or critical errors occurred
31
+ `,
32
+ category: ToolCategory.TEST,
33
+ defaultPermission: PermissionLevel.ALLOW,
34
+ inputSchema: z.object({
35
+ status: z
36
+ .enum(["completed", "failed"])
37
+ .describe("Final status of the test run"),
38
+ summary: z
39
+ .string()
40
+ .describe("Brief summary of test results (1-2 sentences). Example: 'All 5 test steps passed. Form submission and data display work correctly.'"),
41
+ }),
42
+ execute: async ({ status, summary }) => {
43
+ const testRunId = clark.context.currentTestRunId;
44
+ const testCases = clark.context.currentTestCases;
45
+ const testCaseStatuses = clark.context.testCaseStatuses;
46
+ if (!testRunId) {
47
+ logger.warn(`[TestSubagent] No active test run to end`);
48
+ return {
49
+ success: false,
50
+ error: "No active test run to end",
51
+ };
52
+ }
53
+ const sendUserMessage = sendUserMessageChannel(clark, services.chatSessionStore);
54
+ // RECONCILIATION: Finalize any test cases still in not_started or running state
55
+ if (testCases && testCases.length > 0) {
56
+ for (const tc of testCases) {
57
+ const currentStatus = testCaseStatuses?.get(tc.id) ?? "not_started";
58
+ if (currentStatus === "not_started" ||
59
+ currentStatus === "running") {
60
+ // If overall status is "completed", assume untested/running cases passed
61
+ // If overall status is "failed", mark incomplete cases as failed
62
+ const finalStatus = status === "completed" ? "passed" : "failed";
63
+ // Update local tracking
64
+ if (testCaseStatuses) {
65
+ testCaseStatuses.set(tc.id, finalStatus);
66
+ }
67
+ // Send update to UI
68
+ await sendUserMessage({
69
+ type: "test_case_update",
70
+ testRunId,
71
+ testCaseId: tc.id,
72
+ testCaseStatus: finalStatus,
73
+ role: "assistant",
74
+ content: "",
75
+ });
76
+ logger.info(`[TestSubagent] Reconciled test case '${tc.id}' to '${finalStatus}' (was '${currentStatus}')`);
77
+ }
78
+ }
79
+ }
80
+ // Send test_run_end message to UI
81
+ await sendUserMessage({
82
+ type: "test_run_end",
83
+ testRunId,
84
+ testStatus: status,
85
+ summary,
86
+ role: "assistant",
87
+ content: "",
88
+ });
89
+ // Clear test run context
90
+ clark.updateContext({
91
+ currentTestRunId: undefined,
92
+ currentTestCases: undefined,
93
+ testCaseStatuses: undefined,
94
+ });
95
+ logger.info(`[TestSubagent] Test run ended successfully - ${summary}`);
96
+ return {
97
+ success: true,
98
+ testRunId,
99
+ testStatus: status,
100
+ summary,
101
+ };
102
+ },
103
+ };
104
+ });
105
+ //# sourceMappingURL=end-test-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"end-test-run.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/end-test-run.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export declare const exitPlanModeToolFactory: import("../types.js").ToolFactory<
10
10
  complexity: "Extra Small" | "Small" | "Medium" | "Large" | "Extra Large";
11
11
  integrationIds: string[];
12
12
  relevantImageIndices?: number[] | undefined;
13
+ relevantFileAttachmentFileNames?: string[] | undefined;
13
14
  }, {
14
15
  plan: string;
15
16
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"exit-plan-mode.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/exit-plan-mode.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AA2H7C;;GAEG;AACH,eAAO,MAAM,uBAAuB;WAMzB,KAAK;cACF,uBAAuB;;;;;;;;;eAoPpC,CAAC"}
1
+ {"version":3,"file":"exit-plan-mode.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/exit-plan-mode.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAqO7C;;GAEG;AACH,eAAO,MAAM,uBAAuB;WAMzB,KAAK;cACF,uBAAuB;;;;;;;;;;eAuUpC,CAAC"}
@@ -1,10 +1,11 @@
1
- import { AI_PLAN_STREAMING_END_MARKER, } from "@superblocksteam/library-shared/types";
1
+ import { AI_PLAN_STREAMING_END_MARKER, TEXT_ATTACHMENT_MIME_TYPES, } from "@superblocksteam/library-shared/types";
2
2
  import { z } from "zod";
3
3
  import { getErrorMeta, getLogger } from "../../../../util/logger.js";
4
4
  import { sendUserMessageChannel } from "../../../state-machine/helpers/peer.js";
5
5
  import { createToolFactory, PermissionLevel, ToolCategory } from "../types.js";
6
6
  const MAX_ATTEMPTS = 5;
7
7
  const MAX_PLAN_IMAGES = 3;
8
+ const MAX_PLAN_FILE_ATTACHMENTS = 3;
8
9
  const PlanComplexityLevels = [
9
10
  "Extra Small",
10
11
  "Small",
@@ -33,25 +34,96 @@ function extractImageFromMediaPart(part) {
33
34
  return null;
34
35
  }
35
36
  /**
36
- * Extracts images from message history (user-uploaded and tool screenshots).
37
+ * Extracts a text attachment (CSV, JSON, YAML, CSS, TXT) from a text part containing XML wrapper.
37
38
  */
38
- function extractImagesFromMessages(messages) {
39
- const images = [];
39
+ function extractTextAttachmentFromTextPart(text, type) {
40
+ const match = text.match(new RegExp(`<${type}_file name="([^"]+)">\\n([\\s\\S]*?)\\n<\\/${type}_file>`));
41
+ if (match) {
42
+ return {
43
+ type,
44
+ fileName: match[1],
45
+ content: match[2],
46
+ mimeType: TEXT_ATTACHMENT_MIME_TYPES[type],
47
+ };
48
+ }
49
+ return null;
50
+ }
51
+ /**
52
+ * Extracts a PDF attachment from a file part.
53
+ */
54
+ function extractPdfFromFilePart(part) {
55
+ if (part.type === "file" &&
56
+ typeof part.data === "string" &&
57
+ typeof part.mediaType === "string" &&
58
+ part.mediaType.includes("pdf")) {
59
+ const fileName = typeof part.filename === "string" ? part.filename : "document.pdf";
60
+ return {
61
+ type: "pdf",
62
+ fileName,
63
+ data: `data:${part.mediaType};base64,${part.data}`,
64
+ };
65
+ }
66
+ return null;
67
+ }
68
+ function getFileNameFromAttachment(attachment) {
69
+ if (attachment.type === "pdf") {
70
+ return attachment.fileName;
71
+ }
72
+ if (attachment.type === "csv" ||
73
+ attachment.type === "json" ||
74
+ attachment.type === "yaml" ||
75
+ attachment.type === "css" ||
76
+ attachment.type === "txt") {
77
+ return attachment.fileName;
78
+ }
79
+ return null;
80
+ }
81
+ /**
82
+ * Extracts all attachments (images, csv, json, css, txt, pdf) from message history.
83
+ */
84
+ function extractAttachmentsFromMessages(messages) {
85
+ const attachments = [];
40
86
  for (const message of messages) {
41
87
  if (Array.isArray(message.content)) {
42
88
  for (const part of message.content) {
43
89
  if (typeof part !== "object" || part === null || !("type" in part)) {
44
90
  continue;
45
91
  }
92
+ // Extract images
46
93
  if (part.type === "image" && "image" in part) {
47
94
  const imageData = part.image;
48
95
  if (typeof imageData === "string") {
49
- images.push({
96
+ attachments.push({
50
97
  type: "image",
51
98
  image: imageData,
52
99
  });
53
100
  }
54
101
  }
102
+ // Extract text attachments (CSV, JSON, YAML, CSS, TXT) from text parts
103
+ if (part.type === "text" &&
104
+ "text" in part &&
105
+ typeof part.text === "string") {
106
+ for (const textType of [
107
+ "csv",
108
+ "json",
109
+ "yaml",
110
+ "css",
111
+ "txt",
112
+ ]) {
113
+ const textAttachment = extractTextAttachmentFromTextPart(part.text, textType);
114
+ if (textAttachment) {
115
+ attachments.push(textAttachment);
116
+ }
117
+ }
118
+ }
119
+ // Extract PDF from file parts
120
+ if (part.type === "file") {
121
+ const pdf = extractPdfFromFilePart(part);
122
+ if (pdf) {
123
+ attachments.push(pdf);
124
+ }
125
+ }
126
+ // Extract from tool results (screenshots)
55
127
  if (part.type === "tool-result") {
56
128
  const output = ("output" in part
57
129
  ? part.output
@@ -68,7 +140,7 @@ function extractImagesFromMessages(messages) {
68
140
  "type" in valuePart) {
69
141
  const image = extractImageFromMediaPart(valuePart);
70
142
  if (image) {
71
- images.push(image);
143
+ attachments.push(image);
72
144
  }
73
145
  }
74
146
  }
@@ -77,7 +149,7 @@ function extractImagesFromMessages(messages) {
77
149
  }
78
150
  }
79
151
  }
80
- return images;
152
+ return attachments;
81
153
  }
82
154
  /**
83
155
  * Exit Plan Mode - prompts the user to exit Plan mode when they have finished planning and are ready to code.
@@ -106,8 +178,13 @@ export const exitPlanModeToolFactory = createToolFactory("exitPlanMode", ({ clar
106
178
  .max(MAX_PLAN_IMAGES)
107
179
  .optional()
108
180
  .describe(`Indices of up to ${MAX_PLAN_IMAGES} images from the conversation that are ESSENTIAL for implementing this specific plan (0-indexed, from oldest to newest). ONLY include images when they contain visual information that CANNOT be conveyed through text alone, eg: UI mockups, designs, or visual references.`),
181
+ relevantFileAttachmentFileNames: z
182
+ .array(z.string())
183
+ .max(MAX_PLAN_FILE_ATTACHMENTS)
184
+ .optional()
185
+ .describe(`File names of up to ${MAX_PLAN_FILE_ATTACHMENTS} non-image attachments (csv/json/yaml/css/txt/pdf) from the conversation that are ESSENTIAL for implementing this specific plan. Use the exact file name including extension (e.g. "requirements.md", "schema.json"). ONLY include attachments when the plan depends on their exact contents (eg: requirements/spec text, schemas, datasets, or PDFs).`),
109
186
  }),
110
- execute: async ({ complexity, title, integrationIds, relevantImageIndices }, { messages }) => {
187
+ execute: async ({ complexity, title, integrationIds, relevantImageIndices, relevantFileAttachmentFileNames, }, { messages }) => {
111
188
  const { chatSessionStore } = services;
112
189
  const sendUserMessage = sendUserMessageChannel(clark, chatSessionStore);
113
190
  const availableIntegrations = await services.integrationStore.availableIntegrations();
@@ -201,7 +278,13 @@ ${filteredIntegrations
201
278
  throw new Error("Plan generation did not produce any new content.");
202
279
  }
203
280
  fullPlanText = attemptPlanText;
204
- const allImages = extractImagesFromMessages(messages);
281
+ // Extract all attachments (images, csv, json, css, txt, pdf) from messages
282
+ const allAttachments = extractAttachmentsFromMessages(messages);
283
+ getLogger().info(`Extracted ${allAttachments.length} total attachments from messages: ${allAttachments.map((a) => a.type).join(", ")}`);
284
+ // Separate images from file attachments
285
+ const allImages = allAttachments.filter((att) => att.type === "image");
286
+ const allFileAttachments = allAttachments.filter((att) => att.type !== "image");
287
+ // Filter images based on relevantImageIndices (LLM's selection)
205
288
  let filteredImages = [];
206
289
  if (relevantImageIndices && relevantImageIndices.length > 0) {
207
290
  filteredImages = relevantImageIndices
@@ -210,22 +293,63 @@ ${filteredIntegrations
210
293
  .map((idx) => allImages[idx]);
211
294
  getLogger().info(`Plan images: ${allImages.length} total, ${filteredImages.length} selected for execution (max ${MAX_PLAN_IMAGES})`);
212
295
  }
296
+ // Filter non-image attachments based on relevantFileAttachmentFileNames (LLM's selection)
297
+ let filteredFileAttachments = [];
298
+ if (relevantFileAttachmentFileNames &&
299
+ relevantFileAttachmentFileNames.length > 0) {
300
+ // Prefer the most recent attachment for each requested file name.
301
+ // Matching is case-insensitive and trims whitespace for robustness.
302
+ const requestedFileNames = relevantFileAttachmentFileNames
303
+ .map((name) => name.trim())
304
+ .filter((name) => name.length > 0)
305
+ .slice(0, MAX_PLAN_FILE_ATTACHMENTS);
306
+ const requestedFileNamesNormalized = new Set(requestedFileNames.map((name) => name.toLowerCase()));
307
+ const latestByFileName = new Map();
308
+ for (let i = allFileAttachments.length - 1; i >= 0; i--) {
309
+ const attachment = allFileAttachments[i];
310
+ const fileName = getFileNameFromAttachment(attachment);
311
+ if (!fileName) {
312
+ continue;
313
+ }
314
+ const normalizedFileName = fileName.trim().toLowerCase();
315
+ if (!requestedFileNamesNormalized.has(normalizedFileName)) {
316
+ continue;
317
+ }
318
+ if (!latestByFileName.has(normalizedFileName)) {
319
+ latestByFileName.set(normalizedFileName, attachment);
320
+ }
321
+ }
322
+ filteredFileAttachments = requestedFileNames
323
+ .map((requested) => {
324
+ const normalized = requested.toLowerCase();
325
+ return latestByFileName.get(normalized) ?? null;
326
+ })
327
+ .filter((a) => a !== null);
328
+ getLogger().info(`Plan file attachments: ${allFileAttachments.length} total, ${filteredFileAttachments.length} selected for execution (max ${MAX_PLAN_FILE_ATTACHMENTS})`);
329
+ }
330
+ // Combine filtered images with filtered non-image attachments
331
+ const planAttachments = [
332
+ ...filteredImages,
333
+ ...filteredFileAttachments,
334
+ ];
335
+ getLogger().info(`Plan attachments: ${filteredImages.length} images, ${filteredFileAttachments.length} files`);
213
336
  await sendUserMessage({
214
337
  type: "plan-delta",
215
338
  text: AI_PLAN_STREAMING_END_MARKER,
216
339
  streaming: false,
217
340
  group: "clark",
218
- attachments: filteredImages.length > 0 ? filteredImages : undefined,
341
+ attachments: planAttachments.length > 0 ? planAttachments : undefined,
219
342
  });
220
343
  getLogger().info(`Plan generation stream completed. Length: ${attemptPlanText.length}`);
221
344
  clark.updateContext((context) => ({
222
345
  ...context,
223
346
  planContext: {
347
+ enableTesting: context.planContext?.enableTesting ?? false,
224
348
  plan: attemptPlanText,
225
349
  integrations: filteredIntegrations,
226
350
  approved: false,
227
351
  title: sanitizedTitle,
228
- attachments: filteredImages.length > 0 ? filteredImages : undefined,
352
+ attachments: planAttachments.length > 0 ? planAttachments : undefined,
229
353
  },
230
354
  }));
231
355
  getLogger().info(`Plan generation completed successfully on attempt ${attemptNumber}. Plan length: ${attemptPlanText.length}`);
@@ -1 +1 @@
1
- {"version":3,"file":"exit-plan-mode.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/exit-plan-mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exit-plan-mode.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/exit-plan-mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Clark, ClarkStateHandlerParams } from "../../../state-machine/clark-fsm.js";
2
+ /**
3
+ * startTestRun - Invokes the Testing Agent subagent to perform end-to-end testing.
4
+ *
5
+ * This tool:
6
+ * 1. Creates a test run with a unique ID
7
+ * 2. Sends test_run_start message to UI
8
+ * 3. Invokes the TEST subagent with filtered tools
9
+ * 4. Suppresses text/reasoning output (all context in tool descriptions)
10
+ * 5. Streams tool results back to the user
11
+ */
12
+ export declare const startTestRunToolFactory: import("../types.js").ToolFactory<{
13
+ clark: Clark;
14
+ services: ClarkStateHandlerParams;
15
+ }, import("../types.js").Tool<{
16
+ header: string;
17
+ testDescription: string;
18
+ }, {
19
+ success: boolean;
20
+ testRunId: `${string}-${string}-${string}-${string}-${string}`;
21
+ status: string;
22
+ summary: string;
23
+ }>>;
24
+ //# sourceMappingURL=start-test-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start-test-run.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/start-test-run.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,qCAAqC,CAAC;AAG7C;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB;WAMzB,KAAK;cACF,uBAAuB;;;;;;;;;GA0SpC,CAAC"}