@superblocksteam/vite-plugin-file-sync 2.0.89 → 2.0.90

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 (182) hide show
  1. package/dist/ai-service/agent/prompts/api-prompts.js +1 -1
  2. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -2
  3. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +132 -28
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  6. package/dist/ai-service/agent/tool-message-utils.js +1 -1
  7. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  8. package/dist/ai-service/agent/tools/apis/test-api.d.ts +44 -0
  9. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  10. package/dist/ai-service/agent/tools/apis/test-api.js +226 -92
  11. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  12. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +13 -11
  13. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/build-capture-screenshot.js +33 -3
  15. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  16. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/build-debug.js +8 -3
  18. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  19. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  20. package/dist/ai-service/agent/tools/build-edit-file.js +12 -2
  21. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  22. package/dist/ai-service/agent/tools/build-list-files.js +1 -1
  23. package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
  24. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  25. package/dist/ai-service/agent/tools/build-multi-edit-file.js +6 -1
  26. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  27. package/dist/ai-service/agent/tools/get-logs.d.ts +1 -1
  28. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  29. package/dist/ai-service/agent/tools.js +5 -1
  30. package/dist/ai-service/agent/tools.js.map +1 -1
  31. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  32. package/dist/ai-service/agent/tools2/access-control.js +3 -0
  33. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  34. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -2
  35. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +3 -3
  36. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  37. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
  38. package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
  39. package/dist/ai-service/agent/tools2/tools/index.d.ts +1 -0
  40. package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
  41. package/dist/ai-service/agent/tools2/tools/index.js +1 -0
  42. package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
  43. package/dist/ai-service/agent/tools2/tools/remember-facts.d.ts +29 -0
  44. package/dist/ai-service/agent/tools2/tools/remember-facts.d.ts.map +1 -0
  45. package/dist/ai-service/agent/tools2/tools/remember-facts.js +104 -0
  46. package/dist/ai-service/agent/tools2/tools/remember-facts.js.map +1 -0
  47. package/dist/ai-service/agent/tools2/types.d.ts +1 -0
  48. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  49. package/dist/ai-service/agent/tools2/types.js +1 -0
  50. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  51. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  52. package/dist/ai-service/agent/utils.js +77 -0
  53. package/dist/ai-service/agent/utils.js.map +1 -1
  54. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +22 -1
  55. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
  56. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +121 -11
  57. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
  58. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.d.ts +1 -1
  59. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.d.ts.map +1 -1
  60. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.js +4 -2
  61. package/dist/ai-service/app-interface/filesystem/sdk-path-validator.js.map +1 -1
  62. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts +2 -0
  63. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts.map +1 -1
  64. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js +28 -3
  65. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js.map +1 -1
  66. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  67. package/dist/ai-service/app-interface/shell.js +9 -3
  68. package/dist/ai-service/app-interface/shell.js.map +1 -1
  69. package/dist/ai-service/app-skills/helpers.d.ts +32 -0
  70. package/dist/ai-service/app-skills/helpers.d.ts.map +1 -0
  71. package/dist/ai-service/app-skills/helpers.js +262 -0
  72. package/dist/ai-service/app-skills/helpers.js.map +1 -0
  73. package/dist/ai-service/app-skills/manager.d.ts +60 -0
  74. package/dist/ai-service/app-skills/manager.d.ts.map +1 -0
  75. package/dist/ai-service/app-skills/manager.js +203 -0
  76. package/dist/ai-service/app-skills/manager.js.map +1 -0
  77. package/dist/ai-service/app-skills/parser.d.ts +53 -0
  78. package/dist/ai-service/app-skills/parser.d.ts.map +1 -0
  79. package/dist/ai-service/app-skills/parser.js +82 -0
  80. package/dist/ai-service/app-skills/parser.js.map +1 -0
  81. package/dist/ai-service/attachment-upload.d.ts +24 -0
  82. package/dist/ai-service/attachment-upload.d.ts.map +1 -0
  83. package/dist/ai-service/attachment-upload.js +75 -0
  84. package/dist/ai-service/attachment-upload.js.map +1 -0
  85. package/dist/ai-service/chat/chat-session-store.d.ts +1 -1
  86. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  87. package/dist/ai-service/chat/chat-session-store.js +82 -0
  88. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  89. package/dist/ai-service/facts/helpers.d.ts +8 -1
  90. package/dist/ai-service/facts/helpers.d.ts.map +1 -1
  91. package/dist/ai-service/facts/helpers.js +89 -7
  92. package/dist/ai-service/facts/helpers.js.map +1 -1
  93. package/dist/ai-service/facts/knowledge-manager.d.ts +39 -3
  94. package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -1
  95. package/dist/ai-service/facts/knowledge-manager.js +108 -27
  96. package/dist/ai-service/facts/knowledge-manager.js.map +1 -1
  97. package/dist/ai-service/features.d.ts +5 -0
  98. package/dist/ai-service/features.d.ts.map +1 -1
  99. package/dist/ai-service/features.js +5 -0
  100. package/dist/ai-service/features.js.map +1 -1
  101. package/dist/ai-service/index.d.ts +20 -0
  102. package/dist/ai-service/index.d.ts.map +1 -1
  103. package/dist/ai-service/index.js +38 -1
  104. package/dist/ai-service/index.js.map +1 -1
  105. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  106. package/dist/ai-service/integrations/store.js +3 -1
  107. package/dist/ai-service/integrations/store.js.map +1 -1
  108. package/dist/ai-service/llm/context-v2/context.d.ts +2 -0
  109. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  110. package/dist/ai-service/llm/context-v2/context.js +65 -0
  111. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  112. package/dist/ai-service/recording/block-traversal.d.ts +30 -0
  113. package/dist/ai-service/recording/block-traversal.d.ts.map +1 -0
  114. package/dist/ai-service/recording/block-traversal.js +118 -0
  115. package/dist/ai-service/recording/block-traversal.js.map +1 -0
  116. package/dist/ai-service/recording/index.d.ts +1 -0
  117. package/dist/ai-service/recording/index.d.ts.map +1 -1
  118. package/dist/ai-service/recording/index.js +2 -0
  119. package/dist/ai-service/recording/index.js.map +1 -1
  120. package/dist/ai-service/recording/snapshot-manager.d.ts +200 -0
  121. package/dist/ai-service/recording/snapshot-manager.d.ts.map +1 -0
  122. package/dist/ai-service/recording/snapshot-manager.js +708 -0
  123. package/dist/ai-service/recording/snapshot-manager.js.map +1 -0
  124. package/dist/ai-service/recording/storage/session-recording-storage.d.ts +5 -1
  125. package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +1 -1
  126. package/dist/ai-service/recording/storage/session-recording-storage.js +46 -21
  127. package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -1
  128. package/dist/ai-service/sdk-api-templates.d.ts +2 -0
  129. package/dist/ai-service/sdk-api-templates.d.ts.map +1 -0
  130. package/dist/ai-service/sdk-api-templates.js +2 -0
  131. package/dist/ai-service/sdk-api-templates.js.map +1 -0
  132. package/dist/ai-service/skills/index.d.ts +3 -1
  133. package/dist/ai-service/skills/index.d.ts.map +1 -1
  134. package/dist/ai-service/skills/index.js +5 -2
  135. package/dist/ai-service/skills/index.js.map +1 -1
  136. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  137. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +4 -4
  138. package/dist/ai-service/state-machine/clark-fsm.d.ts +18 -1
  139. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  140. package/dist/ai-service/state-machine/clark-fsm.js +1 -0
  141. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  142. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  143. package/dist/ai-service/state-machine/handlers/agent-planning.js +93 -11
  144. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  145. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  146. package/dist/ai-service/state-machine/handlers/llm-generating.js +67 -7
  147. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  148. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  149. package/dist/ai-service/state-machine/mocks.js +2 -0
  150. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  151. package/dist/ai-service/types.d.ts +3 -0
  152. package/dist/ai-service/types.d.ts.map +1 -1
  153. package/dist/ai-service/types.js.map +1 -1
  154. package/dist/ai-service/util/mode-message.d.ts.map +1 -1
  155. package/dist/ai-service/util/mode-message.js +3 -0
  156. package/dist/ai-service/util/mode-message.js.map +1 -1
  157. package/dist/ai-service/util/rpc-timeout.d.ts +37 -0
  158. package/dist/ai-service/util/rpc-timeout.d.ts.map +1 -0
  159. package/dist/ai-service/util/rpc-timeout.js +58 -0
  160. package/dist/ai-service/util/rpc-timeout.js.map +1 -0
  161. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  162. package/dist/file-sync-vite-plugin.js +72 -21
  163. package/dist/file-sync-vite-plugin.js.map +1 -1
  164. package/dist/file-system-helpers.d.ts +9 -0
  165. package/dist/file-system-helpers.d.ts.map +1 -1
  166. package/dist/file-system-helpers.js +21 -0
  167. package/dist/file-system-helpers.js.map +1 -1
  168. package/dist/injected-index.d.ts.map +1 -1
  169. package/dist/injected-index.js +4 -3
  170. package/dist/injected-index.js.map +1 -1
  171. package/dist/plugin-options.d.ts +2 -0
  172. package/dist/plugin-options.d.ts.map +1 -1
  173. package/dist/plugin-options.js.map +1 -1
  174. package/dist/snapshot-routes.d.ts +17 -0
  175. package/dist/snapshot-routes.d.ts.map +1 -0
  176. package/dist/snapshot-routes.js +247 -0
  177. package/dist/snapshot-routes.js.map +1 -0
  178. package/dist/socket-manager.d.ts +1 -0
  179. package/dist/socket-manager.d.ts.map +1 -1
  180. package/dist/socket-manager.js +34 -0
  181. package/dist/socket-manager.js.map +1 -1
  182. package/package.json +9 -5
@@ -8,6 +8,214 @@ import { codeBlock } from "../../tools2/utils.js";
8
8
  import { containsMutations, extractIntegrationIdsFromSource, extractMutations, } from "./analysis.js";
9
9
  import { runApiValidationPipeline } from "./api-validation-orchestrator.js";
10
10
  import { safeSampleJson } from "./sample-json.js";
11
+ /**
12
+ * Execute an SDK API via the editor socket (aiExecuteSdkApi).
13
+ * Runs a TypeScript typecheck first to catch errors before execution.
14
+ */
15
+ async function executeSdkApi({ apiName, inputs, clark, services, logger, }) {
16
+ // Run TypeScript check before execution to catch type errors
17
+ const apiTsPath = `server/apis/${apiName}/api.ts`;
18
+ logger.info(`Starting TypeScript check for API file: ${apiTsPath}`);
19
+ try {
20
+ const typecheckErrors = await services.appShell.runTypecheck(clark.context.abortController?.signal);
21
+ logger.info(`TypeScript check completed. Has errors: ${!!typecheckErrors}, error file count: ${typecheckErrors ? Object.keys(typecheckErrors).length : 0}`);
22
+ if (typecheckErrors) {
23
+ const apiErrors = [];
24
+ for (const [filePath, errors] of Object.entries(typecheckErrors)) {
25
+ if (filePath.includes(apiTsPath) || filePath.endsWith(apiTsPath)) {
26
+ apiErrors.push(...errors);
27
+ }
28
+ }
29
+ if (apiErrors.length > 0) {
30
+ const errorPreview = apiErrors.slice(0, 5).join("\n");
31
+ const moreErrors = apiErrors.length > 5
32
+ ? `\n... and ${apiErrors.length - 5} more error(s)`
33
+ : "";
34
+ logger.error(`Blocking execution due to TypeScript errors`);
35
+ throw new Error(`TypeScript errors in API "${apiName}" must be fixed before testing:\n\n${errorPreview}${moreErrors}\n\nFix these type errors and try again.`);
36
+ }
37
+ }
38
+ logger.info(`TypeScript check passed for ${apiName}`);
39
+ }
40
+ catch (error) {
41
+ if (error instanceof Error &&
42
+ error.message.includes("TypeScript errors in API")) {
43
+ throw error;
44
+ }
45
+ logger.warn(`TypeScript check failed, proceeding with execution: ${error instanceof Error ? error.message : String(error)}`);
46
+ }
47
+ logger.info(`Executing SDK API ${apiName} with inputs:`, safeJsonStringify(inputs));
48
+ const editorClient = clark.context.peer;
49
+ if (!editorClient) {
50
+ throw new Error("No editor client available");
51
+ }
52
+ try {
53
+ const result = await editorClient.call.aiExecuteSdkApi({
54
+ apiName,
55
+ input: inputs ?? {},
56
+ });
57
+ logger.info(`aiExecuteSdkApi returned for ${apiName}: success=${result.success}, hasOutput=${!!result.output}, hasError=${!!result.error}`);
58
+ if (result.success === undefined) {
59
+ logger.error(`aiExecuteSdkApi returned malformed result (no success field) for ${apiName}`);
60
+ return {
61
+ message: `API ${apiName} execution returned unexpected result format. This may indicate the API file failed to load or has syntax errors. Check the browser console for details.`,
62
+ result: {
63
+ success: false,
64
+ systemError: "Malformed response from API execution",
65
+ rawResult: result,
66
+ },
67
+ apiName,
68
+ };
69
+ }
70
+ if (result.success === false) {
71
+ logger.warn(`SDK API execution returned error for ${apiName}: ${result.error?.message ?? "Unknown error"}`);
72
+ clark.context.apiTestingState ??= {
73
+ untested: new Set(),
74
+ failed: new Set(),
75
+ passed: new Set(),
76
+ };
77
+ clark.context.apiTestingState.failed.add(apiName);
78
+ clark.context.apiTestingState.passed.delete(apiName);
79
+ const errorSummary = result.error?.message ?? "";
80
+ return {
81
+ message: `API ${apiName} FAILED with unhandled errors. Do NOT show a success message to the user - investigate and fix the error.
82
+
83
+ Error summary:
84
+ ${errorSummary || "No specific error details available."}`,
85
+ result: {
86
+ success: false,
87
+ error: result.error,
88
+ },
89
+ apiName,
90
+ };
91
+ }
92
+ const outputSample = safeSampleJson(result.output);
93
+ logger.info(`API ${apiName} executed successfully, output sample: ${safeJsonStringify(outputSample)}`);
94
+ clark.context.apiTestingState ??= {
95
+ untested: new Set(),
96
+ failed: new Set(),
97
+ passed: new Set(),
98
+ };
99
+ clark.context.apiTestingState.passed.add(apiName);
100
+ clark.context.apiTestingState.failed.delete(apiName);
101
+ return {
102
+ message: `API ${apiName} executed without throwing exceptions. This does NOT guarantee the outputs are correct - verify the data before showing success to the user.
103
+ If the API is meant to be run off a useEffect, call build_reloadFile to reload the appropriate file to propagate the changes to the UI.`,
104
+ result: {
105
+ success: true,
106
+ outputs: outputSample,
107
+ },
108
+ apiName,
109
+ };
110
+ }
111
+ catch (error) {
112
+ const errorMeta = getErrorMeta(error);
113
+ logger.warn(`API execution failed for ${apiName}:`, errorMeta);
114
+ const errorMessage = error instanceof Error ? error.message : String(error);
115
+ return {
116
+ message: `API execution failed for ${apiName}. The error details are included in the result below - analyze them to understand and fix the issue.
117
+
118
+ Error: ${errorMessage}`,
119
+ result: {
120
+ success: false,
121
+ systemError: errorMessage,
122
+ },
123
+ apiName,
124
+ };
125
+ }
126
+ }
127
+ /**
128
+ * Execute a YAML API via the validation pipeline.
129
+ */
130
+ async function executeYamlApi({ apiName, inputs, omitStepOutputs, timeout, clark, services, logger, }) {
131
+ try {
132
+ const result = (await runApiValidationPipeline({
133
+ clark,
134
+ services,
135
+ identifier: apiName,
136
+ inputs,
137
+ options: {
138
+ omitStepOutputs,
139
+ timeout,
140
+ },
141
+ })).executionResult;
142
+ if (!result) {
143
+ logger.error("BUG! No execution result returned by api validation pipeline");
144
+ throw new Error("No API execution result received, please try again");
145
+ }
146
+ if (!result.success) {
147
+ logger.warn(`api execution returned errors for ${apiName}:`, result);
148
+ clark.context.apiTestingState ??= {
149
+ untested: new Set(),
150
+ failed: new Set(),
151
+ passed: new Set(),
152
+ };
153
+ clark.context.apiTestingState.failed.add(apiName);
154
+ clark.context.apiTestingState.passed.delete(apiName);
155
+ const errors = result.errors ?? [];
156
+ const errorSummary = errors
157
+ .map((e) => {
158
+ const parts = [e.message];
159
+ if (e.suggestion) {
160
+ parts.push(`Suggestion: ${e.suggestion}`);
161
+ }
162
+ return parts.join("\n");
163
+ })
164
+ .join("\n\n");
165
+ return {
166
+ message: `API ${apiName} FAILED with unhandled errors. Do NOT show a success message to the user - investigate and fix the error.
167
+
168
+ Error summary:
169
+ ${errorSummary || "No specific error details available."}`,
170
+ result,
171
+ apiName,
172
+ };
173
+ }
174
+ const outputSample = safeSampleJson(result.outputs);
175
+ let stepOutputs = result.stepOutputs;
176
+ if (stepOutputs) {
177
+ stepOutputs = { ...result.stepOutputs };
178
+ for (const [key, value] of Object.entries(stepOutputs)) {
179
+ const stepOutputSample = safeSampleJson(value.output);
180
+ stepOutputs[key] = {
181
+ ...value,
182
+ output: stepOutputSample,
183
+ };
184
+ }
185
+ }
186
+ clark.context.apiTestingState ??= {
187
+ untested: new Set(),
188
+ failed: new Set(),
189
+ passed: new Set(),
190
+ };
191
+ clark.context.apiTestingState.passed.add(apiName);
192
+ clark.context.apiTestingState.failed.delete(apiName);
193
+ return {
194
+ message: `API ${apiName} executed without throwing exceptions. This does NOT guarantee the outputs are correct - verify the data before showing success to the user.
195
+ If the API is meant to be run off a useEffect, call build_reloadFile to reload the appropriate file to propagate the changes to the UI.`,
196
+ result: {
197
+ ...result,
198
+ stepOutputs,
199
+ outputs: outputSample,
200
+ },
201
+ apiName,
202
+ };
203
+ }
204
+ catch (error) {
205
+ logger.warn(`API execution failed for ${apiName}:`, getErrorMeta(error));
206
+ const errorMessage = error instanceof Error ? error.message : String(error);
207
+ return {
208
+ message: `API execution failed for ${apiName}. The error details are included in the result below - analyze them to understand and fix the issue.
209
+
210
+ Error: ${errorMessage}`,
211
+ result: {
212
+ success: false,
213
+ systemError: errorMessage,
214
+ },
215
+ apiName,
216
+ };
217
+ }
218
+ }
11
219
  /**
12
220
  * Validates testApi inputs before permission check.
13
221
  * Throws if validation fails (e.g., mutations detected but no description provided).
@@ -55,7 +263,9 @@ export const checkTestApiPermissions = async (services, input) => {
55
263
  }
56
264
  let mutations = [];
57
265
  try {
58
- const apiTsPath = `apis/${input.apiName}.ts`;
266
+ const apiTsPath = services.features.sdkApiEnabled
267
+ ? `server/apis/${input.apiName}/api.ts`
268
+ : `apis/${input.apiName}.ts`;
59
269
  const apiSourceContent = await services.appShell.readFile(apiTsPath);
60
270
  mutations = extractMutations(apiSourceContent);
61
271
  }
@@ -140,7 +350,9 @@ The description will be shown to the user in an approval prompt, so it must be c
140
350
  return [];
141
351
  }
142
352
  try {
143
- const apiTsPath = `apis/${apiName}.ts`;
353
+ const apiTsPath = services.features.sdkApiEnabled
354
+ ? `server/apis/${apiName}/api.ts`
355
+ : `apis/${apiName}.ts`;
144
356
  const apiSourceContent = await services.appShell.readFile(apiTsPath);
145
357
  const hasWrites = containsMutations(apiSourceContent);
146
358
  if (!hasWrites) {
@@ -163,97 +375,19 @@ The description will be shown to the user in an approval prompt, so it must be c
163
375
  execute: async ({ apiName, inputs, omitStepOutputs, timeout }) => {
164
376
  const logger = getPrefixedLogger(`[testApi-${apiName}]`);
165
377
  logger.info(`Executing API ${apiName} with inputs:`, safeJsonStringify(inputs));
166
- try {
167
- const result = (await runApiValidationPipeline({
168
- clark,
169
- services,
170
- identifier: apiName,
171
- inputs,
172
- options: {
173
- omitStepOutputs,
174
- timeout,
175
- },
176
- })).executionResult;
177
- if (!result) {
178
- logger.error("BUG! No execution result returned by api validation pipeline");
179
- throw new Error("No API execution result received, please try again");
180
- }
181
- if (!result.success) {
182
- // log technical error details
183
- logger.warn(`api execution returned errors for ${apiName}:`, result);
184
- // Track the failed test (lazily initialize state so pre-existing APIs are tracked too)
185
- clark.context.apiTestingState ??= {
186
- untested: new Set(),
187
- failed: new Set(),
188
- passed: new Set(),
189
- };
190
- clark.context.apiTestingState.failed.add(apiName);
191
- clark.context.apiTestingState.passed.delete(apiName);
192
- // Build a helpful message that includes error details so the model doesn't need to read the API file
193
- const errors = result.errors ?? [];
194
- const errorSummary = errors
195
- .map((e) => {
196
- const parts = [e.message];
197
- if (e.suggestion) {
198
- parts.push(`Suggestion: ${e.suggestion}`);
199
- }
200
- return parts.join("\n");
201
- })
202
- .join("\n\n");
203
- return {
204
- message: `API ${apiName} FAILED with unhandled errors. Do NOT show a success message to the user - investigate and fix the error.
205
-
206
- Error summary:
207
- ${errorSummary || "No specific error details available."}`,
208
- result,
209
- apiName,
210
- };
211
- }
212
- const outputSample = safeSampleJson(result.outputs);
213
- let stepOutputs = result.stepOutputs;
214
- if (stepOutputs) {
215
- stepOutputs = { ...result.stepOutputs };
216
- for (const [key, value] of Object.entries(stepOutputs)) {
217
- const stepOutputSample = safeSampleJson(value.output);
218
- stepOutputs[key] = {
219
- ...value,
220
- output: stepOutputSample,
221
- };
222
- }
223
- }
224
- // Track the successful test (lazily initialize state so pre-existing APIs are tracked too)
225
- clark.context.apiTestingState ??= {
226
- untested: new Set(),
227
- failed: new Set(),
228
- passed: new Set(),
229
- };
230
- clark.context.apiTestingState.passed.add(apiName);
231
- clark.context.apiTestingState.failed.delete(apiName);
232
- return {
233
- message: `API ${apiName} executed without throwing exceptions. This does NOT guarantee the outputs are correct - verify the data before showing success to the user.
234
- If the API is meant to be run off a useEffect, call build_reloadFile to reload the appropriate file to propagate the changes to the UI.`,
235
- result: {
236
- ...result,
237
- stepOutputs,
238
- outputs: outputSample,
239
- },
240
- apiName,
241
- };
242
- }
243
- catch (error) {
244
- logger.warn(`API execution failed for ${apiName}:`, getErrorMeta(error));
245
- const errorMessage = error instanceof Error ? error.message : String(error);
246
- return {
247
- message: `API execution failed for ${apiName}. The error details are included in the result below - analyze them to understand and fix the issue.
248
-
249
- Error: ${errorMessage}`,
250
- result: {
251
- success: false,
252
- systemError: errorMessage,
253
- },
254
- apiName,
255
- };
378
+ clark.context.apiTestingState?.untested.delete(apiName);
379
+ if (services.features.sdkApiEnabled) {
380
+ return executeSdkApi({ apiName, inputs, clark, services, logger });
256
381
  }
382
+ return executeYamlApi({
383
+ apiName,
384
+ inputs,
385
+ omitStepOutputs,
386
+ timeout,
387
+ clark,
388
+ services,
389
+ logger,
390
+ });
257
391
  },
258
392
  getSummary: (_input, output) => {
259
393
  // Explicitly check for true - undefined/null means failure
@@ -1 +1 @@
1
- {"version":3,"file":"test-api.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/test-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-api.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/test-api.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
- import type { Clark } from "../../state-machine/clark-fsm.js";
1
+ import type { Clark, ClarkStateHandlerParams } from "../../state-machine/clark-fsm.js";
2
+ export interface ScreenshotToolOutput {
3
+ dataUrl?: string;
4
+ shortLivedUrl?: string;
5
+ fileName?: string;
6
+ mimeType?: string;
7
+ expirationAt?: number;
8
+ message?: string;
9
+ }
2
10
  export declare const buildCaptureScreenshotToolFactory: import("../tools2/types.js").ToolFactory<{
3
11
  clark: Clark;
12
+ services: ClarkStateHandlerParams;
4
13
  }, import("../tools2/types.js").Tool<{
5
14
  selector?: string | undefined;
6
- }, {
7
- dataUrl: string;
8
- message: string;
9
- }>>;
15
+ }, ScreenshotToolOutput>>;
10
16
  /**
11
17
  * Validates a screenshot capture response and throws if invalid.
12
18
  * @param response The response from the screenshot RPC call
@@ -23,9 +29,7 @@ export declare function validateScreenshotResponse(response: {
23
29
  /**
24
30
  * Converts screenshot tool output to model output format.
25
31
  * Extracts base64 data from data URL and formats as content type with media.
26
- * @param output The tool output containing dataUrl
27
- * @param toolName Tool name prefix for logging (e.g., "build_captureScreenshot")
28
- * @returns Formatted output for the model
32
+ * Idempotent: already-transformed outputs pass through unchanged.
29
33
  */
30
34
  type ScreenshotModelOutput = {
31
35
  type: "content";
@@ -41,8 +45,6 @@ type ScreenshotModelOutput = {
41
45
  type: "error-text";
42
46
  value: string;
43
47
  };
44
- export declare function screenshotToModelOutput(output: {
45
- dataUrl?: string;
46
- } | ScreenshotModelOutput, toolName: string): ScreenshotModelOutput;
48
+ export declare function screenshotToModelOutput(output: ScreenshotToolOutput | ScreenshotModelOutput, toolName: string): ScreenshotModelOutput;
47
49
  export {};
48
50
  //# sourceMappingURL=build-capture-screenshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-capture-screenshot.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-capture-screenshot.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D,eAAO,MAAM,iCAAiC;WAEvB,KAAK;;;;;;GAwH3B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EACjE,QAAQ,EAAE,MAAM,GACf;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CA0BrB;AAED;;;;;;GAMG;AACH,KAAK,qBAAqB,GACtB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,wBAAgB,uBAAuB,CACrC,MAAM,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,qBAAqB,EACpD,QAAQ,EAAE,MAAM,GACf,qBAAqB,CAmFvB"}
1
+ {"version":3,"file":"build-capture-screenshot.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-capture-screenshot.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,iCAAiC;WAMnC,KAAK;cACF,uBAAuB;;;yBAgKpC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EACjE,QAAQ,EAAE,MAAM,GACf;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CA0BrB;AAED;;;;GAIG;AACH,KAAK,qBAAqB,GACtB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,oBAAoB,GAAG,qBAAqB,EACpD,QAAQ,EAAE,MAAM,GACf,qBAAqB,CAiFvB"}
@@ -1,8 +1,9 @@
1
1
  import z from "zod";
2
2
  import { safeJsonStringify } from "../../../util/log-sanitizer.js";
3
3
  import { getErrorMeta, getPrefixedLogger } from "../../../util/logger.js";
4
+ import { uploadAttachmentToBucketeer } from "../../attachment-upload.js";
4
5
  import { createToolFactory, ToolCategory, PermissionLevel, } from "../tools2/types.js";
5
- export const buildCaptureScreenshotToolFactory = createToolFactory("build_captureScreenshot", ({ clark }) => {
6
+ export const buildCaptureScreenshotToolFactory = createToolFactory("build_captureScreenshot", ({ clark, services, }) => {
6
7
  return {
7
8
  category: ToolCategory.DEBUG,
8
9
  defaultPermission: PermissionLevel.ALLOW,
@@ -69,6 +70,37 @@ export const buildCaptureScreenshotToolFactory = createToolFactory("build_captur
69
70
  logger.info(`[build_captureScreenshot] Received RPC response after ${requestDuration}ms`);
70
71
  const { dataUrl } = validateScreenshotResponse(response, "build_captureScreenshot");
71
72
  logger.info(`[build_captureScreenshot] Successfully captured screenshot (${dataUrl.length} chars)`);
73
+ const jwt = clark.context.jwt;
74
+ if (jwt) {
75
+ try {
76
+ const uploadResult = await uploadAttachmentToBucketeer({
77
+ applicationId: services.applicationId,
78
+ file: { data: dataUrl, mimeType: "image/webp" },
79
+ prefix: "captured-screenshot",
80
+ superblocksBaseUrl: services.superblocksBaseUrl,
81
+ jwt,
82
+ logger,
83
+ });
84
+ logger.info(`[build_captureScreenshot] Uploaded to S3: ${uploadResult.fileName}`);
85
+ return {
86
+ dataUrl,
87
+ fileName: uploadResult.fileName,
88
+ shortLivedUrl: uploadResult.url,
89
+ mimeType: "image/webp",
90
+ expirationAt: uploadResult.expirationDate,
91
+ message: `Successfully captured screenshot.
92
+ REMINDER: Before making any conclusions, check this screenshot for loading indicators (skeletons, spinners, empty tables/charts, grey placeholder boxes). If ANY are visible, you MUST wait a few seconds and take another screenshot — do NOT treat a loading-state screenshot as the final result.
93
+ If the screenshot is blank, check error logs. If there is nothing reported, consider using the reloadFile tool to reload the entire app.`,
94
+ };
95
+ }
96
+ catch (uploadError) {
97
+ logger.warn(`[build_captureScreenshot] S3 upload failed, falling back to base64`, getErrorMeta(uploadError));
98
+ // Fall through to base64 fallback
99
+ }
100
+ }
101
+ else {
102
+ logger.warn(`[build_captureScreenshot] No JWT available, falling back to base64`);
103
+ }
72
104
  return {
73
105
  dataUrl,
74
106
  message: `Successfully captured screenshot.
@@ -134,7 +166,6 @@ export function screenshotToModelOutput(output, toolName) {
134
166
  return output;
135
167
  }
136
168
  if ("dataUrl" in output && output.dataUrl !== undefined) {
137
- // Extract base64 data from data URL
138
169
  const dataUrl = output.dataUrl;
139
170
  if (typeof dataUrl !== "string") {
140
171
  logger.debug(`dataUrl is missing or invalid. Output: ${safeJsonStringify(output)}`);
@@ -146,7 +177,6 @@ export function screenshotToModelOutput(output, toolName) {
146
177
  const parts = dataUrl.split(",");
147
178
  if (parts.length < 2) {
148
179
  logger.debug(`data URL format is unexpected. dataUrl length: ${dataUrl.length}`);
149
- // Fallback if data URL format is unexpected
150
180
  return {
151
181
  type: "text",
152
182
  value: "Screenshot captured (data URL format error)",
@@ -1 +1 @@
1
- {"version":3,"file":"build-capture-screenshot.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-capture-screenshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-capture-screenshot.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-capture-screenshot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-debug.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-debug.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,qBAAqB;WAMvB,KAAK;cACF,uBAAuB;yFAoQpC,CAAC"}
1
+ {"version":3,"file":"build-debug.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-debug.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAEhF,eAAO,MAAM,qBAAqB;WAMvB,KAAK;cACF,uBAAuB;yFA0QpC,CAAC"}
@@ -4,7 +4,7 @@ import z from "zod";
4
4
  import { needsAppProviderFixInAppTsx } from "../../../ensure-app-provider.js";
5
5
  import { getLogger } from "../../../util/logger.js";
6
6
  import { Paths } from "../../const.js";
7
- import { createToolFactory, ToolCategory } from "../tools2/types.js";
7
+ import { createToolFactory, ToolCategory, ToolExecutionError, } from "../tools2/types.js";
8
8
  import { debugCache, createTypeScriptCheckFunction, createRuntimeAndBuildErrorsFunction, } from "./debug-cache.js";
9
9
  export const buildDebugToolFactory = createToolFactory("build_debug", ({ clark, services, }) => {
10
10
  return {
@@ -132,8 +132,13 @@ export const buildDebugToolFactory = createToolFactory("build_debug", ({ clark,
132
132
  const untestedList = Array.from(untestedApis)
133
133
  .map((api) => ` - ${api}`)
134
134
  .join("\n");
135
- throw new Error(`${untestedApis.size} API(s) have not been tested yet:\n${untestedList}\n\n` +
136
- "You must call testApi for each untested API before finalizing.");
135
+ throw new ToolExecutionError(`${untestedApis.size} API(s) have not been tested yet:\n${untestedList}\n\n` +
136
+ "You must call testApi for each untested API before finalizing.", {
137
+ toolName: "build_debug",
138
+ input: {},
139
+ context: {},
140
+ severity: "warn",
141
+ });
137
142
  }
138
143
  // Add warning about failed API tests
139
144
  const failedApiTests = clark.context.apiTestingState?.failed;
@@ -1 +1 @@
1
- {"version":3,"file":"build-debug.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-debug.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-debug.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-edit-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-edit-file.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAqChF,MAAM,MAAM,QAAQ,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,KACT,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,cAAc,EAAE,QAE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAkCjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAyGjC,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,QAkD1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,QA6BzC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,QA8CtC,CAAC;AAwCF,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,GACjB,MAAM,CA2CR;AAED,eAAO,MAAM,wBAAwB;WAM1B,KAAK;cACF,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;GAkKtD,CAAC"}
1
+ {"version":3,"file":"build-edit-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-edit-file.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAqChF,MAAM,MAAM,QAAQ,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,KACT,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,cAAc,EAAE,QAE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAkCjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAyGjC,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,QAkD1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,QA6BzC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,QA8CtC,CAAC;AAwCF,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,UAAQ,GACjB,MAAM,CA2CR;AAED,eAAO,MAAM,wBAAwB;WAM1B,KAAK;cACF,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;GA6KtD,CAAC"}
@@ -365,12 +365,22 @@ export const buildEditFileToolFactory = createToolFactory("build_editFile", ({ c
365
365
  }),
366
366
  execute: async ({ filePath, oldString, newString, replaceAll = false, }) => {
367
367
  if (!filePath) {
368
- throw new Error("filePath is required");
368
+ throw new ToolExecutionError("filePath is required", {
369
+ toolName: "build_editFile",
370
+ input: {},
371
+ context: {},
372
+ severity: "warn",
373
+ });
369
374
  }
370
375
  // Prevent editing API source code - use writeApi + buildApi instead
371
376
  // Match apis/*.ts but not apis/*.d.ts (type definitions are allowed)
372
377
  if (/^apis\/[^/]+\.ts$/.test(filePath) && !filePath.endsWith(".d.ts")) {
373
- throw new Error(`Cannot edit API source code directly. Use the writeApi tool to modify "${filePath}", then buildApi to compile and validate it.`);
378
+ throw new ToolExecutionError(`Cannot edit API source code directly. Use the writeApi tool to modify "${filePath}", then buildApi to compile and validate it.`, {
379
+ toolName: "build_editFile",
380
+ input: { filePath },
381
+ context: {},
382
+ severity: "warn",
383
+ });
374
384
  }
375
385
  if (oldString === newString) {
376
386
  throw new ToolExecutionError("oldString and newString must be different", { toolName: "", input: {}, context: {}, severity: "warn" });