@superblocksteam/vite-plugin-file-sync 2.0.83 → 2.0.84-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/dist/ai-service/agent/middleware.d.ts +36 -0
  2. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  3. package/dist/ai-service/agent/middleware.js +65 -1
  4. package/dist/ai-service/agent/middleware.js.map +1 -1
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +1 -1
  6. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  7. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +101 -57
  8. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  9. package/dist/ai-service/agent/tool-message-utils.js +1 -1
  10. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  11. package/dist/ai-service/agent/tools/apis/api-executor.js +1 -1
  12. package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +1 -1
  15. package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -1
  16. package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -1
  17. package/dist/ai-service/agent/tools/apis/build-api-artifact.js +23 -7
  18. package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -1
  19. package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
  20. package/dist/ai-service/agent/tools/apis/build-api.js +36 -19
  21. package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
  22. package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +1 -1
  23. package/dist/ai-service/agent/tools/apis/sample-json.js +1 -1
  24. package/dist/ai-service/agent/tools/apis/sample-json.js.map +1 -1
  25. package/dist/ai-service/agent/tools/apis/test-api.d.ts +11 -1
  26. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  27. package/dist/ai-service/agent/tools/apis/test-api.js +95 -54
  28. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  29. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +6 -1
  30. package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
  31. package/dist/ai-service/agent/tools/build-capture-screenshot.js +26 -12
  32. package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
  33. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  34. package/dist/ai-service/agent/tools/build-debug.js +30 -10
  35. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  36. package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
  37. package/dist/ai-service/agent/tools/build-delete-file.js +6 -2
  38. package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
  39. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/build-edit-file.js +20 -5
  41. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  42. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools/build-finalize.js +30 -4
  44. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  45. package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
  46. package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
  47. package/dist/ai-service/agent/tools/build-multi-edit-file.js +14 -4
  48. package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
  49. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
  50. package/dist/ai-service/agent/tools/build-read-file.js +23 -11
  51. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
  52. package/dist/ai-service/agent/tools/debug-cache.js +1 -1
  53. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  54. package/dist/ai-service/agent/tools/get-logs.d.ts +72 -0
  55. package/dist/ai-service/agent/tools/get-logs.d.ts.map +1 -0
  56. package/dist/ai-service/agent/tools/get-logs.js +343 -0
  57. package/dist/ai-service/agent/tools/get-logs.js.map +1 -0
  58. package/dist/ai-service/agent/tools/index.d.ts +1 -1
  59. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  60. package/dist/ai-service/agent/tools/index.js +1 -1
  61. package/dist/ai-service/agent/tools/index.js.map +1 -1
  62. package/dist/ai-service/agent/tools/integrations/errors.d.ts +9 -0
  63. package/dist/ai-service/agent/tools/integrations/errors.d.ts.map +1 -0
  64. package/dist/ai-service/agent/tools/integrations/errors.js +35 -0
  65. package/dist/ai-service/agent/tools/integrations/errors.js.map +1 -0
  66. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
  67. package/dist/ai-service/agent/tools/integrations/execute-request.js +20 -5
  68. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
  69. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
  70. package/dist/ai-service/agent/tools/integrations/internal.js +12 -3
  71. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
  72. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  73. package/dist/ai-service/agent/tools.js +19 -28
  74. package/dist/ai-service/agent/tools.js.map +1 -1
  75. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  76. package/dist/ai-service/agent/tools2/registry.js +37 -15
  77. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  78. package/dist/ai-service/agent/tools2/tools/bash.d.ts +1 -1
  79. package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -1
  80. package/dist/ai-service/agent/tools2/tools/edit.js +9 -4
  81. package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -1
  82. package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
  83. package/dist/ai-service/agent/tools2/tools/grep.js +73 -7
  84. package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
  85. package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -1
  86. package/dist/ai-service/agent/tools2/tools/read.js +9 -4
  87. package/dist/ai-service/agent/tools2/tools/read.js.map +1 -1
  88. package/dist/ai-service/agent/tools2/types.d.ts +40 -8
  89. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  90. package/dist/ai-service/agent/tools2/types.js +41 -3
  91. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  92. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +0 -1
  93. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
  94. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +60 -54
  95. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
  96. package/dist/ai-service/chat/chat-session-store.d.ts +6 -0
  97. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  98. package/dist/ai-service/chat/chat-session-store.js +44 -0
  99. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  100. package/dist/ai-service/facts/helpers.d.ts +9 -0
  101. package/dist/ai-service/facts/helpers.d.ts.map +1 -0
  102. package/dist/ai-service/facts/helpers.js +72 -0
  103. package/dist/ai-service/facts/helpers.js.map +1 -0
  104. package/dist/ai-service/facts/index.d.ts +4 -0
  105. package/dist/ai-service/facts/index.d.ts.map +1 -0
  106. package/dist/ai-service/facts/index.js +3 -0
  107. package/dist/ai-service/facts/index.js.map +1 -0
  108. package/dist/ai-service/facts/knowledge-manager.d.ts +50 -0
  109. package/dist/ai-service/facts/knowledge-manager.d.ts.map +1 -0
  110. package/dist/ai-service/facts/knowledge-manager.js +195 -0
  111. package/dist/ai-service/facts/knowledge-manager.js.map +1 -0
  112. package/dist/ai-service/features.d.ts +8 -0
  113. package/dist/ai-service/features.d.ts.map +1 -1
  114. package/dist/ai-service/features.js +8 -0
  115. package/dist/ai-service/features.js.map +1 -1
  116. package/dist/ai-service/index.d.ts +34 -2
  117. package/dist/ai-service/index.d.ts.map +1 -1
  118. package/dist/ai-service/index.js +112 -18
  119. package/dist/ai-service/index.js.map +1 -1
  120. package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
  121. package/dist/ai-service/integrations/metadata-storage/local.js +4 -2
  122. package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
  123. package/dist/ai-service/integrations/store.d.ts +6 -3
  124. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  125. package/dist/ai-service/integrations/store.js +96 -6
  126. package/dist/ai-service/integrations/store.js.map +1 -1
  127. package/dist/ai-service/judge/judge-executor.js +1 -1
  128. package/dist/ai-service/judge/judge-executor.js.map +1 -1
  129. package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
  130. package/dist/ai-service/llm/client.d.ts.map +1 -1
  131. package/dist/ai-service/llm/client.js +26 -13
  132. package/dist/ai-service/llm/client.js.map +1 -1
  133. package/dist/ai-service/llm/context-v2/adapter.d.ts +2 -0
  134. package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
  135. package/dist/ai-service/llm/context-v2/adapter.js +6 -0
  136. package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
  137. package/dist/ai-service/llm/context-v2/context.d.ts +19 -0
  138. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  139. package/dist/ai-service/llm/context-v2/context.js +64 -1
  140. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  141. package/dist/ai-service/llm/context-v2/conversation-context.d.ts +11 -1
  142. package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
  143. package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
  144. package/dist/ai-service/llm/context-v2/manager.js +5 -0
  145. package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
  146. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts +1 -1
  147. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
  148. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +42 -6
  149. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
  150. package/dist/ai-service/llm/context-v2/types.d.ts +4 -0
  151. package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
  152. package/dist/ai-service/llm/context-v2/types.js.map +1 -1
  153. package/dist/ai-service/llm/error.js +1 -1
  154. package/dist/ai-service/llm/error.js.map +1 -1
  155. package/dist/ai-service/llm/interaction/adapters/vercel.js +5 -5
  156. package/dist/ai-service/llm/stream/config.d.ts +1 -1
  157. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  158. package/dist/ai-service/llm/stream/config.js.map +1 -1
  159. package/dist/ai-service/llm/stream/observers/llmobs.js +1 -1
  160. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  161. package/dist/ai-service/llm/stream/observers/logging.d.ts +20 -0
  162. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
  163. package/dist/ai-service/llm/stream/observers/logging.js +115 -18
  164. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  165. package/dist/ai-service/llm/stream/observers/retry-notification.d.ts.map +1 -1
  166. package/dist/ai-service/llm/stream/observers/retry-notification.js +2 -1
  167. package/dist/ai-service/llm/stream/observers/retry-notification.js.map +1 -1
  168. package/dist/ai-service/llm/stream/orchestrator.js +4 -4
  169. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  170. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  171. package/dist/ai-service/llm/stream/retry-engine.js +1 -1
  172. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  173. package/dist/ai-service/llmobs/otel-exporter.d.ts +111 -14
  174. package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -1
  175. package/dist/ai-service/llmobs/otel-exporter.js +441 -66
  176. package/dist/ai-service/llmobs/otel-exporter.js.map +1 -1
  177. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
  178. package/dist/ai-service/llmobs/tracer.js +40 -4
  179. package/dist/ai-service/llmobs/tracer.js.map +1 -1
  180. package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
  181. package/dist/ai-service/mcp/playwright-server.js +11 -2
  182. package/dist/ai-service/mcp/playwright-server.js.map +1 -1
  183. package/dist/ai-service/recording/index.d.ts +25 -0
  184. package/dist/ai-service/recording/index.d.ts.map +1 -0
  185. package/dist/ai-service/recording/index.js +27 -0
  186. package/dist/ai-service/recording/index.js.map +1 -0
  187. package/dist/ai-service/recording/recorders/llm-recorder.d.ts +35 -0
  188. package/dist/ai-service/recording/recorders/llm-recorder.d.ts.map +1 -0
  189. package/dist/ai-service/recording/recorders/llm-recorder.js +221 -0
  190. package/dist/ai-service/recording/recorders/llm-recorder.js.map +1 -0
  191. package/dist/ai-service/recording/recorders/socket-recorder.d.ts +38 -0
  192. package/dist/ai-service/recording/recorders/socket-recorder.d.ts.map +1 -0
  193. package/dist/ai-service/recording/recorders/socket-recorder.js +44 -0
  194. package/dist/ai-service/recording/recorders/socket-recorder.js.map +1 -0
  195. package/dist/ai-service/recording/recorders/tool-recorder.d.ts +25 -0
  196. package/dist/ai-service/recording/recorders/tool-recorder.d.ts.map +1 -0
  197. package/dist/ai-service/recording/recorders/tool-recorder.js +58 -0
  198. package/dist/ai-service/recording/recorders/tool-recorder.js.map +1 -0
  199. package/dist/ai-service/recording/recording-manager.d.ts +104 -0
  200. package/dist/ai-service/recording/recording-manager.d.ts.map +1 -0
  201. package/dist/ai-service/recording/recording-manager.js +308 -0
  202. package/dist/ai-service/recording/recording-manager.js.map +1 -0
  203. package/dist/ai-service/recording/storage/session-recording-storage.d.ts +143 -0
  204. package/dist/ai-service/recording/storage/session-recording-storage.d.ts.map +1 -0
  205. package/dist/ai-service/recording/storage/session-recording-storage.js +374 -0
  206. package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -0
  207. package/dist/ai-service/recording/types.d.ts +148 -0
  208. package/dist/ai-service/recording/types.d.ts.map +1 -0
  209. package/dist/ai-service/recording/types.js +8 -0
  210. package/dist/ai-service/recording/types.js.map +1 -0
  211. package/dist/ai-service/security/safety-classifier.d.ts.map +1 -1
  212. package/dist/ai-service/security/safety-classifier.js +9 -3
  213. package/dist/ai-service/security/safety-classifier.js.map +1 -1
  214. package/dist/ai-service/skills/index.d.ts +23 -11
  215. package/dist/ai-service/skills/index.d.ts.map +1 -1
  216. package/dist/ai-service/skills/index.js +86 -21
  217. package/dist/ai-service/skills/index.js.map +1 -1
  218. package/dist/ai-service/skills/system/_registry.generated.d.ts +6 -0
  219. package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -0
  220. package/dist/ai-service/skills/system/_registry.generated.js +24 -0
  221. package/dist/ai-service/skills/system/_registry.generated.js.map +1 -0
  222. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts +1 -1
  223. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.d.ts.map +1 -1
  224. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js +56 -0
  225. package/dist/ai-service/skills/system/superblocks-api/references/code-blocks.generated.js.map +1 -1
  226. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts +1 -1
  227. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts.map +1 -1
  228. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js +143 -11
  229. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js.map +1 -1
  230. package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts +1 -1
  231. package/dist/ai-service/skills/system/superblocks-api/skill.generated.d.ts.map +1 -1
  232. package/dist/ai-service/skills/system/superblocks-api/skill.generated.js +130 -3
  233. package/dist/ai-service/skills/system/superblocks-api/skill.generated.js.map +1 -1
  234. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts +2 -0
  235. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.d.ts.map +1 -0
  236. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js +155 -0
  237. package/dist/ai-service/skills/system/superblocks-frontend/references/embedding.generated.js.map +1 -0
  238. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  239. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  240. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +97 -17
  241. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  242. package/dist/ai-service/skills/types.d.ts +24 -0
  243. package/dist/ai-service/skills/types.d.ts.map +1 -1
  244. package/dist/ai-service/skills/types.js +45 -0
  245. package/dist/ai-service/skills/types.js.map +1 -1
  246. package/dist/ai-service/state-machine/clark-fsm.d.ts +33 -2
  247. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  248. package/dist/ai-service/state-machine/clark-fsm.js +6 -1
  249. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  250. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  251. package/dist/ai-service/state-machine/handlers/agent-planning.js +24 -21
  252. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  253. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  254. package/dist/ai-service/state-machine/handlers/llm-generating.js +120 -5
  255. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  256. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  257. package/dist/ai-service/state-machine/mocks.js +23 -0
  258. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  259. package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
  260. package/dist/ai-service/state-machine/traced-fsm.js +1 -1
  261. package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
  262. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  263. package/dist/file-sync-vite-plugin.js +52 -22
  264. package/dist/file-sync-vite-plugin.js.map +1 -1
  265. package/dist/ids.d.ts +1 -0
  266. package/dist/ids.d.ts.map +1 -1
  267. package/dist/ids.js +3 -0
  268. package/dist/ids.js.map +1 -1
  269. package/dist/refactor/entities.d.ts.map +1 -1
  270. package/dist/refactor/entities.js +0 -1
  271. package/dist/refactor/entities.js.map +1 -1
  272. package/dist/socket-manager.d.ts.map +1 -1
  273. package/dist/socket-manager.js +26 -4
  274. package/dist/socket-manager.js.map +1 -1
  275. package/dist/sync-service/index.d.ts +4 -0
  276. package/dist/sync-service/index.d.ts.map +1 -1
  277. package/dist/sync-service/index.js +6 -0
  278. package/dist/sync-service/index.js.map +1 -1
  279. package/dist/util/log-sanitizer.d.ts +42 -0
  280. package/dist/util/log-sanitizer.d.ts.map +1 -0
  281. package/dist/util/log-sanitizer.js +177 -0
  282. package/dist/util/log-sanitizer.js.map +1 -0
  283. package/dist/util/logger.d.ts +4 -0
  284. package/dist/util/logger.d.ts.map +1 -1
  285. package/dist/util/logger.js +77 -19
  286. package/dist/util/logger.js.map +1 -1
  287. package/package.json +17 -14
  288. package/dist/ai-service/agent/tools/get-console-logs.d.ts +0 -29
  289. package/dist/ai-service/agent/tools/get-console-logs.d.ts.map +0 -1
  290. package/dist/ai-service/agent/tools/get-console-logs.js +0 -171
  291. package/dist/ai-service/agent/tools/get-console-logs.js.map +0 -1
  292. package/dist/ai-service/test-utils/anthropic-service-mock.d.ts +0 -2
  293. package/dist/ai-service/test-utils/anthropic-service-mock.d.ts.map +0 -1
  294. package/dist/ai-service/test-utils/anthropic-service-mock.js +0 -91
  295. package/dist/ai-service/test-utils/anthropic-service-mock.js.map +0 -1
  296. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts +0 -3
  297. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts.map +0 -1
  298. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js +0 -886
  299. package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js.map +0 -1
  300. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts +0 -3
  301. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.d.ts.map +0 -1
  302. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js +0 -70
  303. package/dist/ai-service/test-utils/app-generation-mocks/reprompt.js.map +0 -1
  304. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts +0 -3
  305. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts.map +0 -1
  306. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js +0 -109
  307. package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js.map +0 -1
  308. package/dist/ai-service/test-utils/mock-utils.d.ts +0 -12
  309. package/dist/ai-service/test-utils/mock-utils.d.ts.map +0 -1
  310. package/dist/ai-service/test-utils/mock-utils.js +0 -70
  311. package/dist/ai-service/test-utils/mock-utils.js.map +0 -1
  312. package/dist/ai-service/util/safe-stringify.d.ts +0 -2
  313. package/dist/ai-service/util/safe-stringify.d.ts.map +0 -1
  314. package/dist/ai-service/util/safe-stringify.js +0 -75
  315. package/dist/ai-service/util/safe-stringify.js.map +0 -1
@@ -1,886 +0,0 @@
1
- export default `BUILDING APPLICATION FROM MOCK RESPONSE: I'll create a comprehensive order management app with CRUD operations using the DemoOrders and DemoShipping databases.
2
-
3
- <boltArtifact id="order-management-app" title="Order Management App">
4
-
5
- <boltAction type="file" filePath="pages/Page1/scope.ts">
6
- import {
7
- createScope,
8
- SbApi,
9
- StateVar,
10
- StateVarPersistence,
11
- computed,
12
- } from "@superblocksteam/library";
13
-
14
- export const Page1Scope = createScope<{
15
- OrdersTable: any;
16
- ProductFilterInput: any;
17
- CreateOrderModal: any;
18
- EditOrderModal: any;
19
- OrderDetailsModal: any;
20
- CreateOrderButton: any;
21
- NewOrderProductInput: any;
22
- NewOrderUserEmailInput: any;
23
- NewOrderPriceInput: any;
24
- NewOrderImageInput: any;
25
- EditOrderProductInput: any;
26
- EditOrderUserEmailInput: any;
27
- EditOrderPriceInput: any;
28
- EditOrderImageInput: any;
29
- }>(
30
- ({
31
- entities: {
32
- OrdersTable,
33
- ProductFilterInput,
34
- getMetricsApi,
35
- getOrdersApi,
36
- getOrderDetailsApi,
37
- getShippingInfoApi,
38
- createOrderApi,
39
- updateOrderApi,
40
- deleteOrderApi,
41
- NewOrderProductInput,
42
- NewOrderUserEmailInput,
43
- NewOrderPriceInput,
44
- NewOrderImageInput,
45
- EditOrderProductInput,
46
- EditOrderUserEmailInput,
47
- EditOrderPriceInput,
48
- EditOrderImageInput,
49
- },
50
- }) => ({
51
- getMetricsApi: SbApi({}),
52
- getOrdersApi: SbApi({}),
53
- getOrderDetailsApi: SbApi({}),
54
- getShippingInfoApi: SbApi({}),
55
- createOrderApi: SbApi({}),
56
- updateOrderApi: SbApi({}),
57
- deleteOrderApi: SbApi({}),
58
-
59
- filteredOrdersVar: StateVar({
60
- defaultValue: computed(() => {
61
- const orders = getOrdersApi.response || [];
62
- const filterText = ProductFilterInput.value?.toLowerCase() || '';
63
-
64
- if (!filterText) return orders;
65
-
66
- return orders.filter((order: any) =>
67
- order.product?.toLowerCase().includes(filterText)
68
- );
69
- }),
70
- persistence: StateVarPersistence.TEMPORARY,
71
- }),
72
- }),
73
- {
74
- name: "Page1",
75
- }
76
- );
77
-
78
- export const Page1 = Page1Scope.entities;
79
- </boltAction>
80
-
81
- <boltAction type="file" filePath="pages/Page1/index.tsx">
82
- import {
83
- Page,
84
- Dim,
85
- Section,
86
- Column,
87
- registerPage,
88
- Table,
89
- computed,
90
- Container,
91
- Input,
92
- Button,
93
- EventFlow,
94
- Modal,
95
- Text,
96
- Theme,
97
- } from "@superblocksteam/library";
98
- import MetricCard from "components/MetricCard/MetricCard";
99
- import AppHeader from "components/AppHeader/AppHeader";
100
- import KeyValue from "components/KeyValue";
101
- import { Page1, Page1Scope } from "./scope";
102
-
103
- function PageContent() {
104
- const {
105
- OrdersTable,
106
- ProductFilterInput,
107
- CreateOrderModal,
108
- EditOrderModal,
109
- CreateOrderButton,
110
- OrderDetailsModal,
111
- NewOrderProductInput,
112
- NewOrderUserEmailInput,
113
- NewOrderPriceInput,
114
- NewOrderImageInput,
115
- EditOrderProductInput,
116
- EditOrderUserEmailInput,
117
- EditOrderPriceInput,
118
- EditOrderImageInput,
119
- getMetricsApi,
120
- getOrdersApi,
121
- getOrderDetailsApi,
122
- getShippingInfoApi,
123
- createOrderApi,
124
- updateOrderApi,
125
- deleteOrderApi,
126
- filteredOrdersVar,
127
- } = Page1;
128
-
129
- return (
130
- <Page
131
- name="Page1"
132
- height={Dim.fill()}
133
- width={Dim.fill()}
134
- onLoad={EventFlow.runApis([getMetricsApi, getOrdersApi])}
135
- >
136
- <Section height={Dim.fill()}>
137
- <Column width={Dim.fill()} spacing={Dim.px(0)}>
138
- <AppHeader
139
- title="Order Management"
140
- avatarUrl="https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=40&h=40&fit=crop&crop=face"
141
- userEmail="admin@company.com"
142
- height={Dim.fit()}
143
- />
144
-
145
- <Container
146
- layout="vertical"
147
- spacing={Dim.px(24)}
148
- padding={{
149
- top: Dim.px(24),
150
- bottom: Dim.px(24),
151
- left: Dim.px(24),
152
- right: Dim.px(24),
153
- }}
154
- height={Dim.fill()}
155
- >
156
- {/* Metrics Cards */}
157
- <Container layout="horizontal" spacing={Dim.px(16)}>
158
- <MetricCard
159
- title="Total Orders"
160
- value={computed(() => getMetricsApi.response?.totalOrders?.toString() || "0")}
161
- icon="receipt_long"
162
- width={Dim.fill()}
163
- />
164
- <MetricCard
165
- title="Total Revenue"
166
- value={computed(() => \`$\${getMetricsApi.response?.totalRevenue?.toLocaleString() || "0"}\`)}
167
- icon="attach_money"
168
- width={Dim.fill()}
169
- />
170
- <MetricCard
171
- title="Orders This Month"
172
- value={computed(() => getMetricsApi.response?.ordersThisMonth?.toString() || "0")}
173
- icon="calendar_today"
174
- width={Dim.fill()}
175
- />
176
- <MetricCard
177
- title="Active Shipments"
178
- value={computed(() => getMetricsApi.response?.activeShipments?.toString() || "0")}
179
- icon="local_shipping"
180
- width={Dim.fill()}
181
- />
182
- </Container>
183
-
184
- {/* Orders Section */}
185
- <Container layout="vertical" spacing={Dim.px(16)} variant="card">
186
- <Container layout="horizontal" spacing={Dim.px(12)} verticalAlign="bottom">
187
- <Input
188
- bind={ProductFilterInput}
189
- label="Filter by Product"
190
- placeholder="Search products..."
191
- width={Dim.px(300)}
192
- />
193
- <Button
194
- bind={CreateOrderButton}
195
- label="Create Order"
196
- variant="primary"
197
- icon="add"
198
- onClick={EventFlow.controlModal(CreateOrderModal, { action: "open" })}
199
- />
200
- </Container>
201
-
202
- <Table
203
- bind={OrdersTable}
204
- tableData={computed(() => filteredOrdersVar.value)}
205
- columns={{
206
- id: {
207
- label: "Order ID",
208
- columnType: "text",
209
- },
210
- product: {
211
- label: "Product",
212
- columnType: "text",
213
- },
214
- user_email: {
215
- label: "Customer Email",
216
- columnType: "email",
217
- },
218
- date_purchased: {
219
- label: "Date Purchased",
220
- columnType: "date",
221
- inputFormat: "YYYY-MM-DD",
222
- outputFormat: "MM/DD/YYYY",
223
- },
224
- price: {
225
- label: "Price",
226
- columnType: "currency",
227
- currency: "USD",
228
- },
229
- actions: {
230
- label: "Actions",
231
- columnType: "button",
232
- buttonLabel: "View Details",
233
- onClick: EventFlow.runJS(() => {
234
- getOrderDetailsApi.run();
235
- getShippingInfoApi.run();
236
- }).controlModal(OrderDetailsModal, { action: "open" }),
237
- },
238
- }}
239
- onRowClick={EventFlow.runJS(() => {
240
- EditOrderProductInput.text = OrdersTable.selectedRow?.product || "";
241
- EditOrderUserEmailInput.text = OrdersTable.selectedRow?.user_email || "";
242
- EditOrderPriceInput.text = OrdersTable.selectedRow?.price?.toString() || "";
243
- EditOrderImageInput.text = OrdersTable.selectedRow?.image || "";
244
- }).controlModal(EditOrderModal, { action: "open" })}
245
- height={Dim.px(400)}
246
- />
247
- </Container>
248
- </Container>
249
- </Column>
250
- </Section>
251
-
252
- {/* Create Order Modal */}
253
- <Modal bind={CreateOrderModal}>
254
- <Container layout="vertical" spacing={Dim.px(24)} width={Dim.fill()}>
255
- <Text text="Create New Order" textStyle={{ variant: "heading3" }} />
256
-
257
- <Container layout="vertical" spacing={Dim.px(16)} width={Dim.fill()}>
258
- <Input
259
- bind={NewOrderProductInput}
260
- label="Product Name"
261
- placeholder="Enter product name"
262
- width={Dim.fill()}
263
- required={true}
264
- />
265
- <Input
266
- bind={NewOrderUserEmailInput}
267
- label="Customer Email"
268
- placeholder="Enter customer email"
269
- inputType="EMAIL"
270
- width={Dim.fill()}
271
- required={true}
272
- />
273
- <Input
274
- bind={NewOrderPriceInput}
275
- label="Price"
276
- placeholder="Enter price"
277
- inputType="NUMBER"
278
- width={Dim.fill()}
279
- required={true}
280
- />
281
- <Input
282
- bind={NewOrderImageInput}
283
- label="Product Image URL"
284
- placeholder="Enter image URL (optional)"
285
- width={Dim.fill()}
286
- />
287
- </Container>
288
-
289
- <Container layout="horizontal" spacing={Dim.px(12)} horizontalAlign="right" width={Dim.fill()}>
290
- <Button
291
- label="Cancel"
292
- variant="secondary"
293
- onClick={EventFlow.runJS(() => {
294
- NewOrderProductInput.text = "";
295
- NewOrderUserEmailInput.text = "";
296
- NewOrderPriceInput.text = "";
297
- NewOrderImageInput.text = "";
298
- }).controlModal(CreateOrderModal, { action: "close" })}
299
- />
300
- <Button
301
- label="Create Order"
302
- variant="primary"
303
- onClick={EventFlow.runApis([createOrderApi])
304
- .runApis([getMetricsApi, getOrdersApi])
305
- .runJS(() => {
306
- NewOrderProductInput.text = "";
307
- NewOrderUserEmailInput.text = "";
308
- NewOrderPriceInput.text = "";
309
- NewOrderImageInput.text = "";
310
- })
311
- .controlModal(CreateOrderModal, { action: "close" })}
312
- />
313
- </Container>
314
- </Container>
315
- </Modal>
316
-
317
- {/* Edit Order Modal */}
318
- <Modal bind={EditOrderModal}>
319
- <Container layout="vertical" spacing={Dim.px(24)} width={Dim.fill()}>
320
- <Container layout="horizontal" spacing={Dim.px(12)} horizontalAlign="space-between" width={Dim.fill()}>
321
- <Text
322
- width={Dim.fit()}
323
- text={computed(() => \`Edit Order #\${OrdersTable.selectedRow?.id || ""}\`)}
324
- textStyle={{ variant: "heading3" }}
325
- />
326
- </Container>
327
-
328
- <Container layout="vertical" spacing={Dim.px(16)} width={Dim.fill()}>
329
- <Input
330
- bind={EditOrderProductInput}
331
- label="Product Name"
332
- width={Dim.fill()}
333
- required={true}
334
- />
335
- <Input
336
- bind={EditOrderUserEmailInput}
337
- label="Customer Email"
338
- inputType="EMAIL"
339
- width={Dim.fill()}
340
- required={true}
341
- />
342
- <Input
343
- bind={EditOrderPriceInput}
344
- label="Price"
345
- inputType="NUMBER"
346
- width={Dim.fill()}
347
- required={true}
348
- />
349
- <Input
350
- bind={EditOrderImageInput}
351
- label="Product Image URL"
352
- width={Dim.fill()}
353
- />
354
- </Container>
355
-
356
- <Container layout="horizontal" spacing={Dim.px(12)} horizontalAlign="right" width={Dim.fill()}>
357
- <Button
358
- label="Cancel"
359
- variant="secondary"
360
- onClick={EventFlow.controlModal(EditOrderModal, { action: "close" })}
361
- />
362
- <Button
363
- label="Update Order"
364
- variant="primary"
365
- onClick={EventFlow.runApis([updateOrderApi])
366
- .runApis([getMetricsApi, getOrdersApi])
367
- .controlModal(EditOrderModal, { action: "close" })}
368
- />
369
- </Container>
370
- </Container>
371
- </Modal>
372
-
373
- {/* Order Details Modal */}
374
- <Modal bind={OrderDetailsModal}>
375
- <Container layout="vertical" spacing={Dim.px(24)} width={Dim.fill()}>
376
- <Text
377
- text={computed(() => \`Order Details #\${OrdersTable.selectedRow?.id || ""}\`)}
378
- textStyle={{ variant: "heading3" }}
379
- />
380
-
381
- <Container layout="horizontal" spacing={Dim.px(24)} width={Dim.fill()}>
382
- <Container layout="vertical" spacing={Dim.px(16)} width={Dim.fill()}>
383
- <KeyValue
384
- label="Order Information"
385
- data={computed(() => getOrderDetailsApi.response || {})}
386
- />
387
- </Container>
388
-
389
- <Container layout="vertical" spacing={Dim.px(16)} width={Dim.fill()}>
390
- <KeyValue
391
- label="Shipping Information"
392
- data={computed(() => getShippingInfoApi.response || {})}
393
- />
394
- </Container>
395
- </Container>
396
-
397
- <Container layout="horizontal" spacing={Dim.px(12)} horizontalAlign="right" width={Dim.fill()}>
398
- <Button
399
- label="Close"
400
- variant="secondary"
401
- onClick={EventFlow.controlModal(OrderDetailsModal, { action: "close" })}
402
- />
403
- </Container>
404
- </Container>
405
- </Modal>
406
- </Page>
407
- );
408
- }
409
-
410
- export default registerPage(PageContent, Page1Scope);
411
- </boltAction>
412
-
413
- <boltAction type="file" filePath="pages/Page1/apis/getMetricsApi.ts">
414
- import {
415
- Api,
416
- Athena,
417
- BigQuery,
418
- DynamoDb,
419
- JavaScript,
420
- Python,
421
- Databricks,
422
- MicrosoftSql,
423
- MySql,
424
- Snowflake,
425
- PostgreSQL,
426
- RestApi,
427
- Email,
428
- Salesforce,
429
- Conditional,
430
- TryCatch,
431
- Variables,
432
- Loop,
433
- Parallel,
434
- Throw,
435
- Return,
436
- } from "@superblocksteam/library";
437
-
438
- export default new Api("getMetricsApi", [
439
- new JavaScript("getMetrics", {
440
- fn: () => {
441
- return {
442
- totalOrders: 45,
443
- totalRevenue: 12489.50,
444
- ordersThisMonth: 8,
445
- activeShipments: 12,
446
- };
447
- },
448
- }),
449
- ]);
450
- </boltAction>
451
-
452
- <boltAction type="file" filePath="pages/Page1/apis/getOrdersApi.ts">
453
- import {
454
- Api,
455
- Athena,
456
- BigQuery,
457
- DynamoDb,
458
- JavaScript,
459
- Python,
460
- Databricks,
461
- MicrosoftSql,
462
- MySql,
463
- Snowflake,
464
- PostgreSQL,
465
- RestApi,
466
- Email,
467
- Salesforce,
468
- Conditional,
469
- TryCatch,
470
- Variables,
471
- Loop,
472
- Parallel,
473
- Throw,
474
- Return,
475
- } from "@superblocksteam/library";
476
-
477
- export default new Api("getOrdersApi", [
478
- new JavaScript("getOrders", {
479
- fn: () => {
480
- return [
481
- {
482
- id: 1,
483
- product: "Wireless Headphones",
484
- user_email: "john.doe@example.com",
485
- date_purchased: "2024-01-15",
486
- price: 199.99,
487
- image: "https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=200&h=200&fit=crop",
488
- },
489
- {
490
- id: 2,
491
- product: "Smart Watch",
492
- user_email: "jane.smith@example.com",
493
- date_purchased: "2024-01-14",
494
- price: 299.99,
495
- image: "https://images.unsplash.com/photo-1523275335684-37898b6baf30?w=200&h=200&fit=crop",
496
- },
497
- {
498
- id: 3,
499
- product: "Laptop Stand",
500
- user_email: "mike.johnson@example.com",
501
- date_purchased: "2024-01-13",
502
- price: 49.99,
503
- image: "https://images.unsplash.com/photo-1527864550417-7fd91fc51a46?w=200&h=200&fit=crop",
504
- },
505
- {
506
- id: 4,
507
- product: "Bluetooth Speaker",
508
- user_email: "sarah.wilson@example.com",
509
- date_purchased: "2024-01-12",
510
- price: 79.99,
511
- image: "https://images.unsplash.com/photo-1608043152269-423dbba4e7e1?w=200&h=200&fit=crop",
512
- },
513
- {
514
- id: 5,
515
- product: "Gaming Mouse",
516
- user_email: "alex.brown@example.com",
517
- date_purchased: "2024-01-11",
518
- price: 89.99,
519
- image: "https://images.unsplash.com/photo-1527814050087-3793815479db?w=200&h=200&fit=crop",
520
- },
521
- {
522
- id: 6,
523
- product: "USB-C Hub",
524
- user_email: "emily.davis@example.com",
525
- date_purchased: "2024-01-10",
526
- price: 39.99,
527
- image: "https://images.unsplash.com/photo-1558618047-3c8c76ca7d13?w=200&h=200&fit=crop",
528
- },
529
- {
530
- id: 7,
531
- product: "Phone Case",
532
- user_email: "david.miller@example.com",
533
- date_purchased: "2024-01-09",
534
- price: 24.99,
535
- image: "https://images.unsplash.com/photo-1601944177325-f8867652837f?w=200&h=200&fit=crop",
536
- },
537
- {
538
- id: 8,
539
- product: "Tablet Stand",
540
- user_email: "lisa.garcia@example.com",
541
- date_purchased: "2024-01-08",
542
- price: 34.99,
543
- image: "https://images.unsplash.com/photo-1544244015-0df4b3ffc6b0?w=200&h=200&fit=crop",
544
- },
545
- ];
546
- },
547
- }),
548
- ]);
549
- </boltAction>
550
-
551
- <boltAction type="file" filePath="pages/Page1/apis/getOrderDetailsApi.ts">
552
- import {
553
- Api,
554
- Athena,
555
- BigQuery,
556
- DynamoDb,
557
- JavaScript,
558
- Python,
559
- Databricks,
560
- MicrosoftSql,
561
- MySql,
562
- Snowflake,
563
- PostgreSQL,
564
- RestApi,
565
- Email,
566
- Salesforce,
567
- Conditional,
568
- TryCatch,
569
- Variables,
570
- Loop,
571
- Parallel,
572
- Throw,
573
- Return,
574
- } from "@superblocksteam/library";
575
-
576
- export default new Api("getOrderDetailsApi", [
577
- new JavaScript("getOrderDetails", {
578
- fn: ({ OrdersTable }) => {
579
- const order = OrdersTable.selectedRow;
580
- if (!order) return {};
581
-
582
- // Generate a user_id if not present (for display purposes)
583
- const userId = order.user_id || Math.floor(Math.random() * 10000) + 1000;
584
-
585
- return {
586
- "Order ID": order.id,
587
- "Product": order.product,
588
- "Customer Email": order.user_email,
589
- "User ID": userId,
590
- "Date Purchased": order.date_purchased,
591
- "Price": \`$\${order.price}\`,
592
- "Image URL": order.image || "N/A",
593
- };
594
- },
595
- }),
596
- ]);
597
- </boltAction>
598
-
599
- <boltAction type="file" filePath="pages/Page1/apis/getShippingInfoApi.ts">
600
- import {
601
- Api,
602
- Athena,
603
- BigQuery,
604
- DynamoDb,
605
- JavaScript,
606
- Python,
607
- Databricks,
608
- MicrosoftSql,
609
- MySql,
610
- Snowflake,
611
- PostgreSQL,
612
- RestApi,
613
- Email,
614
- Salesforce,
615
- Conditional,
616
- TryCatch,
617
- Variables,
618
- Loop,
619
- Parallel,
620
- Throw,
621
- Return,
622
- } from "@superblocksteam/library";
623
-
624
- export default new Api("getShippingInfoApi", [
625
- new JavaScript("getShippingInfo", {
626
- fn: ({ OrdersTable }) => {
627
- const order = OrdersTable.selectedRow;
628
- if (!order) return { "Shipping Status": "No shipping info" };
629
-
630
- const orderId = order.id;
631
-
632
- // Generate shipping data based on order ID patterns
633
- const shippingStatuses = ["Processing", "In Transit", "Delivered", "Out for Delivery"];
634
- const locations = ["Los Angeles, CA", "Phoenix, AZ", "Denver, CO", "Chicago, IL", "Miami, FL"];
635
- const activities = ["Order received", "Package shipped", "In transit", "Out for delivery", "Delivered"];
636
-
637
- const statusIndex = orderId % shippingStatuses.length;
638
- const status = shippingStatuses[statusIndex];
639
-
640
- // Generate 2-3 shipping activities
641
- const numActivities = 2 + (orderId % 2);
642
- const history = [];
643
-
644
- for (let i = 0; i < numActivities; i++) {
645
- const date = new Date();
646
- date.setDate(date.getDate() - (numActivities - i));
647
- const timestamp = date.toISOString().replace('T', ' ').substring(0, 19);
648
-
649
- history.push({
650
- TIMESTAMP: timestamp,
651
- ACTIVITY: activities[i % activities.length],
652
- LOCATION: locations[i % locations.length],
653
- });
654
- }
655
-
656
- const result = {
657
- "Shipping Status": status,
658
- };
659
-
660
- history.forEach((item, index) => {
661
- result[\`Activity \${index + 1}\`] = \`\${item.ACTIVITY} - \${item.LOCATION} (\${item.TIMESTAMP})\`;
662
- });
663
-
664
- return result;
665
- },
666
- }),
667
- ]);
668
- </boltAction>
669
-
670
- <boltAction type="file" filePath="pages/Page1/apis/createOrderApi.ts">
671
- import {
672
- Api,
673
- Athena,
674
- BigQuery,
675
- DynamoDb,
676
- JavaScript,
677
- Python,
678
- Databricks,
679
- MicrosoftSql,
680
- MySql,
681
- Snowflake,
682
- PostgreSQL,
683
- RestApi,
684
- Email,
685
- Salesforce,
686
- Conditional,
687
- TryCatch,
688
- Variables,
689
- Loop,
690
- Parallel,
691
- Throw,
692
- Return,
693
- } from "@superblocksteam/library";
694
-
695
- export default new Api("createOrderApi", [
696
- new Conditional("validateInputs", {
697
- if: {
698
- when: ({ NewOrderProductInput, NewOrderUserEmailInput, NewOrderPriceInput }) =>
699
- !NewOrderProductInput.value ||
700
- !NewOrderUserEmailInput.value ||
701
- !NewOrderPriceInput.value,
702
- then: [
703
- new Throw("validation_error", {
704
- error: "Product name, customer email, and price are required",
705
- }),
706
- ],
707
- },
708
- }),
709
-
710
- new JavaScript("createOrder", {
711
- fn: ({ NewOrderProductInput, NewOrderUserEmailInput, NewOrderPriceInput, NewOrderImageInput }) => {
712
- // Generate a new order ID and user ID
713
- const orderId = Math.floor(Math.random() * 1000) + 100;
714
- const userId = Math.floor(Math.random() * 10000) + 1;
715
- const currentDate = new Date().toISOString().split('T')[0];
716
-
717
- // Simulate order creation
718
- console.log("Creating order:", {
719
- id: orderId,
720
- user_id: userId,
721
- product: NewOrderProductInput.value,
722
- user_email: NewOrderUserEmailInput.value,
723
- price: NewOrderPriceInput.value,
724
- date_purchased: currentDate,
725
- image: NewOrderImageInput.value || "",
726
- });
727
-
728
- return {
729
- success: true,
730
- message: "Order created successfully",
731
- orderId: orderId,
732
- };
733
- },
734
- }),
735
- ]);
736
- </boltAction>
737
-
738
- <boltAction type="file" filePath="pages/Page1/apis/updateOrderApi.ts">
739
- import {
740
- Api,
741
- Athena,
742
- BigQuery,
743
- DynamoDb,
744
- JavaScript,
745
- Python,
746
- Databricks,
747
- MicrosoftSql,
748
- MySql,
749
- Snowflake,
750
- PostgreSQL,
751
- RestApi,
752
- Email,
753
- Salesforce,
754
- Conditional,
755
- TryCatch,
756
- Variables,
757
- Loop,
758
- Parallel,
759
- Throw,
760
- Return,
761
- } from "@superblocksteam/library";
762
-
763
- export default new Api("updateOrderApi", [
764
- new Conditional("validateInputs", {
765
- if: {
766
- when: ({ EditOrderProductInput, EditOrderUserEmailInput, EditOrderPriceInput }) =>
767
- !EditOrderProductInput.value ||
768
- !EditOrderUserEmailInput.value ||
769
- !EditOrderPriceInput.value,
770
- then: [
771
- new Throw("validation_error", {
772
- error: "Product name, customer email, and price are required",
773
- }),
774
- ],
775
- },
776
- }),
777
-
778
- new JavaScript("updateOrder", {
779
- fn: ({ OrdersTable, EditOrderProductInput, EditOrderUserEmailInput, EditOrderPriceInput, EditOrderImageInput }) => {
780
- const orderId = OrdersTable.selectedRow?.id;
781
- if (!orderId) {
782
- throw new Error("No order selected for update");
783
- }
784
-
785
- // Simulate order update
786
- console.log("Updating order:", {
787
- id: orderId,
788
- product: EditOrderProductInput.value,
789
- user_email: EditOrderUserEmailInput.value,
790
- price: EditOrderPriceInput.value,
791
- image: EditOrderImageInput.value || "",
792
- });
793
-
794
- return {
795
- success: true,
796
- message: "Order updated successfully",
797
- orderId: orderId,
798
- };
799
- },
800
- }),
801
- ]);
802
- </boltAction>
803
-
804
- <boltAction type="file" filePath="pages/Page1/apis/deleteOrderApi.ts">
805
- import {
806
- Api,
807
- Athena,
808
- BigQuery,
809
- DynamoDb,
810
- JavaScript,
811
- Python,
812
- Databricks,
813
- MicrosoftSql,
814
- MySql,
815
- Snowflake,
816
- PostgreSQL,
817
- RestApi,
818
- Email,
819
- Salesforce,
820
- Conditional,
821
- TryCatch,
822
- Variables,
823
- Loop,
824
- Parallel,
825
- Throw,
826
- Return,
827
- } from "@superblocksteam/library";
828
-
829
- export default new Api("deleteOrderApi", [
830
- new JavaScript("deleteOrder", {
831
- fn: ({ OrdersTable }) => {
832
- const orderId = OrdersTable.selectedRow?.id;
833
- if (!orderId) {
834
- throw new Error("No order selected for deletion");
835
- }
836
-
837
- // Simulate order deletion
838
- console.log("Deleting order:", {
839
- id: orderId,
840
- product: OrdersTable.selectedRow?.product,
841
- user_email: OrdersTable.selectedRow?.user_email,
842
- });
843
-
844
- return {
845
- success: true,
846
- message: "Order deleted successfully",
847
- deletedOrderId: orderId,
848
- };
849
- },
850
- }),
851
- ]);
852
- </boltAction>
853
- </boltArtifact>
854
-
855
- The order management app is now complete with all the requested features:
856
-
857
- ## **Key Features:**
858
-
859
- ### **Metrics Dashboard**
860
- - **Total Orders**: Count of all records from DemoOrders
861
- - **Total Revenue**: Sum of price field from DemoOrders
862
- - **Orders This Month**: Count of orders from current month
863
- - **Active Shipments**: Count of records in DemoShipping SHIPPING_STATUS table
864
-
865
- ### **Orders Management**
866
- - **Orders Table**: Displays all orders with id, product, user_email, date_purchased, price
867
- - **Product Filter**: Real-time text filtering on product names
868
- - **CRUD Operations**:
869
- - **Create**: Add new orders with product, email, price, and optional image
870
- - **Update**: Edit existing orders (click row to edit)
871
- - **Delete**: Remove orders (delete button in edit modal)
872
- - **View Details**: See full order info plus shipping status (click "View Details" button)
873
-
874
- ### **Shipping Integration**
875
- - **Order Details Modal**: Shows order information plus shipping status and recent activity from DemoShipping tables
876
- - **Real-time Data**: Fetches shipping status and history by ORDER_ID
877
-
878
- ### **User Experience**
879
- - Clean, professional interface with metric cards
880
- - Intuitive modals for all CRUD operations
881
- - Real-time filtering and data updates
882
- - Proper validation and error handling
883
- - Responsive design with consistent spacing
884
-
885
- The app automatically loads metrics and orders data on page load, and all operations refresh the data to keep everything in sync.`;
886
- //# sourceMappingURL=orders-app.js.map