@superblocksteam/vite-plugin-file-sync 2.0.162-next.2 → 2.0.163-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 (420) hide show
  1. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  2. package/dist/ai-service/agent/middleware.js +18 -7
  3. package/dist/ai-service/agent/middleware.js.map +1 -1
  4. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  5. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +43 -29
  6. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  7. package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +1 -1
  8. package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +25 -0
  9. package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -1
  10. package/dist/ai-service/agent/subagents/coding/run-coding-subagent.d.ts.map +1 -1
  11. package/dist/ai-service/agent/subagents/coding/run-coding-subagent.js +15 -0
  12. package/dist/ai-service/agent/subagents/coding/run-coding-subagent.js.map +1 -1
  13. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  14. package/dist/ai-service/agent/tools/apis/test-api.js +4 -2
  15. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  16. package/dist/ai-service/agent/tools/app-environment/switch-selected-environment.d.ts +18 -0
  17. package/dist/ai-service/agent/tools/app-environment/switch-selected-environment.d.ts.map +1 -0
  18. package/dist/ai-service/agent/tools/app-environment/switch-selected-environment.js +61 -0
  19. package/dist/ai-service/agent/tools/app-environment/switch-selected-environment.js.map +1 -0
  20. package/dist/ai-service/agent/tools/build-capture-screenshot.js +1 -1
  21. package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
  22. package/dist/ai-service/agent/tools/build-install-packages.js +21 -8
  23. package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
  24. package/dist/ai-service/agent/tools/build-read-file.d.ts +87 -1
  25. package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
  26. package/dist/ai-service/agent/tools/build-read-file.js +453 -82
  27. package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
  28. package/dist/ai-service/agent/tools/build-write-file.d.ts +1 -0
  29. package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
  30. package/dist/ai-service/agent/tools/build-write-file.js +18 -2
  31. package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
  32. package/dist/ai-service/agent/tools/debug-cache.d.ts +11 -0
  33. package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
  34. package/dist/ai-service/agent/tools/debug-cache.js +62 -14
  35. package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
  36. package/dist/ai-service/agent/tools/index.d.ts +2 -1
  37. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  38. package/dist/ai-service/agent/tools/index.js +2 -1
  39. package/dist/ai-service/agent/tools/index.js.map +1 -1
  40. package/dist/ai-service/agent/tools/integrations/metadata.d.ts +1 -0
  41. package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -1
  42. package/dist/ai-service/agent/tools/integrations/metadata.js +7 -2
  43. package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
  44. package/dist/ai-service/agent/tools/read-file-metrics.d.ts +30 -0
  45. package/dist/ai-service/agent/tools/read-file-metrics.d.ts.map +1 -0
  46. package/dist/ai-service/agent/tools/read-file-metrics.js +158 -0
  47. package/dist/ai-service/agent/tools/read-file-metrics.js.map +1 -0
  48. package/dist/ai-service/agent/tools/subagent-isolation.d.ts +27 -0
  49. package/dist/ai-service/agent/tools/subagent-isolation.d.ts.map +1 -0
  50. package/dist/ai-service/agent/tools/subagent-isolation.js +57 -0
  51. package/dist/ai-service/agent/tools/subagent-isolation.js.map +1 -0
  52. package/dist/ai-service/agent/tools.d.ts +4 -1
  53. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  54. package/dist/ai-service/agent/tools.js +51 -5
  55. package/dist/ai-service/agent/tools.js.map +1 -1
  56. package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts.map +1 -1
  57. package/dist/ai-service/agent/tools2/tools/download-attachments.js +1 -0
  58. package/dist/ai-service/agent/tools2/tools/download-attachments.js.map +1 -1
  59. package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -1
  60. package/dist/ai-service/agent/tools2/tools/start-test-run.js +14 -0
  61. package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -1
  62. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  63. package/dist/ai-service/agent/utils.js +2 -2
  64. package/dist/ai-service/agent/utils.js.map +1 -1
  65. package/dist/ai-service/app-interface/filesystem/draft-manager.d.ts +2 -1
  66. package/dist/ai-service/app-interface/filesystem/draft-manager.d.ts.map +1 -1
  67. package/dist/ai-service/app-interface/filesystem/draft-manager.js +3 -0
  68. package/dist/ai-service/app-interface/filesystem/draft-manager.js.map +1 -1
  69. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts +2 -1
  70. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.d.ts.map +1 -1
  71. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js +13 -11
  72. package/dist/ai-service/app-interface/filesystem/handlers/skill-handler.js.map +1 -1
  73. package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts.map +1 -1
  74. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js +1 -1
  75. package/dist/ai-service/app-interface/filesystem/virtual-file-system.js.map +1 -1
  76. package/dist/ai-service/app-interface/shell.d.ts +18 -9
  77. package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
  78. package/dist/ai-service/app-interface/shell.js +92 -112
  79. package/dist/ai-service/app-interface/shell.js.map +1 -1
  80. package/dist/ai-service/app-interface/typecheck-output-parser.d.ts +9 -0
  81. package/dist/ai-service/app-interface/typecheck-output-parser.d.ts.map +1 -0
  82. package/dist/ai-service/app-interface/typecheck-output-parser.js +21 -0
  83. package/dist/ai-service/app-interface/typecheck-output-parser.js.map +1 -0
  84. package/dist/ai-service/app-interface/vulnerability-gate.d.ts +5 -0
  85. package/dist/ai-service/app-interface/vulnerability-gate.d.ts.map +1 -1
  86. package/dist/ai-service/app-interface/vulnerability-gate.js +9 -2
  87. package/dist/ai-service/app-interface/vulnerability-gate.js.map +1 -1
  88. package/dist/ai-service/app-layout.d.ts +13 -0
  89. package/dist/ai-service/app-layout.d.ts.map +1 -0
  90. package/dist/ai-service/app-layout.js +25 -0
  91. package/dist/ai-service/app-layout.js.map +1 -0
  92. package/dist/ai-service/app-skills/manager.d.ts +2 -0
  93. package/dist/ai-service/app-skills/manager.d.ts.map +1 -1
  94. package/dist/ai-service/app-skills/manager.js +13 -6
  95. package/dist/ai-service/app-skills/manager.js.map +1 -1
  96. package/dist/ai-service/attachment-label-metrics.d.ts +5 -0
  97. package/dist/ai-service/attachment-label-metrics.d.ts.map +1 -0
  98. package/dist/ai-service/attachment-label-metrics.js +26 -0
  99. package/dist/ai-service/attachment-label-metrics.js.map +1 -0
  100. package/dist/ai-service/attachment-upload.d.ts.map +1 -1
  101. package/dist/ai-service/attachment-upload.js +6 -1
  102. package/dist/ai-service/attachment-upload.js.map +1 -1
  103. package/dist/ai-service/attachments/validate-prompt-attachments.d.ts +7 -0
  104. package/dist/ai-service/attachments/validate-prompt-attachments.d.ts.map +1 -0
  105. package/dist/ai-service/attachments/validate-prompt-attachments.js +96 -0
  106. package/dist/ai-service/attachments/validate-prompt-attachments.js.map +1 -0
  107. package/dist/ai-service/chat/chat-push-metrics.d.ts +17 -0
  108. package/dist/ai-service/chat/chat-push-metrics.d.ts.map +1 -1
  109. package/dist/ai-service/chat/chat-push-metrics.js +45 -0
  110. package/dist/ai-service/chat/chat-push-metrics.js.map +1 -1
  111. package/dist/ai-service/chat/chat-session-store.d.ts +51 -0
  112. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  113. package/dist/ai-service/chat/chat-session-store.js +181 -4
  114. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  115. package/dist/ai-service/features.d.ts +32 -0
  116. package/dist/ai-service/features.d.ts.map +1 -1
  117. package/dist/ai-service/features.js +32 -0
  118. package/dist/ai-service/features.js.map +1 -1
  119. package/dist/ai-service/helper-system-ai-attributes.d.ts +1 -1
  120. package/dist/ai-service/helper-system-ai-attributes.d.ts.map +1 -1
  121. package/dist/ai-service/helper-system-ai-attributes.js.map +1 -1
  122. package/dist/ai-service/index.d.ts +19 -4
  123. package/dist/ai-service/index.d.ts.map +1 -1
  124. package/dist/ai-service/index.js +176 -23
  125. package/dist/ai-service/index.js.map +1 -1
  126. package/dist/ai-service/llm/client.d.ts +9 -0
  127. package/dist/ai-service/llm/client.d.ts.map +1 -1
  128. package/dist/ai-service/llm/client.js +13 -43
  129. package/dist/ai-service/llm/client.js.map +1 -1
  130. package/dist/ai-service/llm/context-v2/adapter.d.ts +2 -0
  131. package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
  132. package/dist/ai-service/llm/context-v2/adapter.js +6 -0
  133. package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
  134. package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts +8 -0
  135. package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts.map +1 -1
  136. package/dist/ai-service/llm/context-v2/compaction/server-side.js +8 -0
  137. package/dist/ai-service/llm/context-v2/compaction/server-side.js.map +1 -1
  138. package/dist/ai-service/llm/context-v2/context-component-partition.d.ts +24 -0
  139. package/dist/ai-service/llm/context-v2/context-component-partition.d.ts.map +1 -0
  140. package/dist/ai-service/llm/context-v2/context-component-partition.js +222 -0
  141. package/dist/ai-service/llm/context-v2/context-component-partition.js.map +1 -0
  142. package/dist/ai-service/llm/context-v2/context-metrics.d.ts +9 -0
  143. package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
  144. package/dist/ai-service/llm/context-v2/context-metrics.js +40 -2
  145. package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
  146. package/dist/ai-service/llm/context-v2/context.d.ts +116 -4
  147. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  148. package/dist/ai-service/llm/context-v2/context.js +276 -64
  149. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  150. package/dist/ai-service/llm/context-v2/conversation-context.d.ts +18 -0
  151. package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
  152. package/dist/ai-service/llm/context-v2/file-read-ledger.d.ts +218 -0
  153. package/dist/ai-service/llm/context-v2/file-read-ledger.d.ts.map +1 -0
  154. package/dist/ai-service/llm/context-v2/file-read-ledger.js +275 -0
  155. package/dist/ai-service/llm/context-v2/file-read-ledger.js.map +1 -0
  156. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.d.ts.map +1 -1
  157. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js +5 -2
  158. package/dist/ai-service/llm/context-v2/phase1-tool-summarizer.js.map +1 -1
  159. package/dist/ai-service/llm/context-v2/token-tracker.d.ts +2 -0
  160. package/dist/ai-service/llm/context-v2/token-tracker.d.ts.map +1 -1
  161. package/dist/ai-service/llm/context-v2/token-tracker.js +4 -0
  162. package/dist/ai-service/llm/context-v2/token-tracker.js.map +1 -1
  163. package/dist/ai-service/llm/context-v2/tool-schema-tokens.d.ts +22 -0
  164. package/dist/ai-service/llm/context-v2/tool-schema-tokens.d.ts.map +1 -0
  165. package/dist/ai-service/llm/context-v2/tool-schema-tokens.js +36 -0
  166. package/dist/ai-service/llm/context-v2/tool-schema-tokens.js.map +1 -0
  167. package/dist/ai-service/llm/context-v2/types.d.ts +8 -0
  168. package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
  169. package/dist/ai-service/llm/context-v2/types.js +48 -0
  170. package/dist/ai-service/llm/context-v2/types.js.map +1 -1
  171. package/dist/ai-service/llm/error.d.ts +2 -0
  172. package/dist/ai-service/llm/error.d.ts.map +1 -1
  173. package/dist/ai-service/llm/error.js +1 -0
  174. package/dist/ai-service/llm/error.js.map +1 -1
  175. package/dist/ai-service/llm/retry-exhaustion-reason.d.ts +2 -0
  176. package/dist/ai-service/llm/retry-exhaustion-reason.d.ts.map +1 -0
  177. package/dist/ai-service/llm/retry-exhaustion-reason.js +2 -0
  178. package/dist/ai-service/llm/retry-exhaustion-reason.js.map +1 -0
  179. package/dist/ai-service/llm/stream/errors.d.ts +6 -7
  180. package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
  181. package/dist/ai-service/llm/stream/errors.js +7 -1
  182. package/dist/ai-service/llm/stream/errors.js.map +1 -1
  183. package/dist/ai-service/llm/stream/event-bus.d.ts +9 -1
  184. package/dist/ai-service/llm/stream/event-bus.d.ts.map +1 -1
  185. package/dist/ai-service/llm/stream/event-bus.js.map +1 -1
  186. package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
  187. package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
  188. package/dist/ai-service/llm/stream/observers/context.d.ts.map +1 -1
  189. package/dist/ai-service/llm/stream/observers/context.js +13 -0
  190. package/dist/ai-service/llm/stream/observers/context.js.map +1 -1
  191. package/dist/ai-service/llm/stream/observers/llmobs.d.ts +14 -1
  192. package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
  193. package/dist/ai-service/llm/stream/observers/llmobs.js +91 -7
  194. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  195. package/dist/ai-service/llm/stream/observers/logging.d.ts +3 -1
  196. package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
  197. package/dist/ai-service/llm/stream/observers/logging.js +73 -52
  198. package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
  199. package/dist/ai-service/llm/stream/observers/retry-notification.d.ts.map +1 -1
  200. package/dist/ai-service/llm/stream/observers/retry-notification.js +16 -9
  201. package/dist/ai-service/llm/stream/observers/retry-notification.js.map +1 -1
  202. package/dist/ai-service/llm/stream/orchestrator.d.ts +5 -1
  203. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  204. package/dist/ai-service/llm/stream/orchestrator.js +103 -12
  205. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  206. package/dist/ai-service/llm/stream/retry-engine.d.ts +3 -1
  207. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  208. package/dist/ai-service/llm/stream/retry-engine.js +9 -0
  209. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  210. package/dist/ai-service/llm/stream/session.d.ts +8 -1
  211. package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
  212. package/dist/ai-service/llm/stream/session.js +19 -0
  213. package/dist/ai-service/llm/stream/session.js.map +1 -1
  214. package/dist/ai-service/llm/stream/types.d.ts +13 -0
  215. package/dist/ai-service/llm/stream/types.d.ts.map +1 -1
  216. package/dist/ai-service/llm/stream/wait-state-tracker.d.ts +5 -14
  217. package/dist/ai-service/llm/stream/wait-state-tracker.d.ts.map +1 -1
  218. package/dist/ai-service/llm/stream/wait-state-tracker.js +25 -0
  219. package/dist/ai-service/llm/stream/wait-state-tracker.js.map +1 -1
  220. package/dist/ai-service/mcp/embedded-playwright-mcp-server.js +8 -8
  221. package/dist/ai-service/mcp/embedded-playwright-mcp-server.js.map +1 -1
  222. package/dist/ai-service/policy-gate-remediation-usage.d.ts +2 -0
  223. package/dist/ai-service/policy-gate-remediation-usage.d.ts.map +1 -0
  224. package/dist/ai-service/policy-gate-remediation-usage.js +56 -0
  225. package/dist/ai-service/policy-gate-remediation-usage.js.map +1 -0
  226. package/dist/ai-service/prompts/summarize-destructive-migration.d.ts +12 -0
  227. package/dist/ai-service/prompts/summarize-destructive-migration.d.ts.map +1 -0
  228. package/dist/ai-service/prompts/summarize-destructive-migration.js +37 -0
  229. package/dist/ai-service/prompts/summarize-destructive-migration.js.map +1 -0
  230. package/dist/ai-service/recording/storage/session-recording-storage.js +2 -2
  231. package/dist/ai-service/recording/storage/session-recording-storage.js.map +1 -1
  232. package/dist/ai-service/security/secret-scanner-service.d.ts.map +1 -1
  233. package/dist/ai-service/security/secret-scanner-service.js +88 -23
  234. package/dist/ai-service/security/secret-scanner-service.js.map +1 -1
  235. package/dist/ai-service/skills/index.d.ts +0 -7
  236. package/dist/ai-service/skills/index.d.ts.map +1 -1
  237. package/dist/ai-service/skills/index.js +0 -9
  238. package/dist/ai-service/skills/index.js.map +1 -1
  239. package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -1
  240. package/dist/ai-service/skills/system/_registry.generated.js +4 -0
  241. package/dist/ai-service/skills/system/_registry.generated.js.map +1 -1
  242. package/dist/ai-service/skills/system/resolve.d.ts +2 -0
  243. package/dist/ai-service/skills/system/resolve.d.ts.map +1 -0
  244. package/dist/ai-service/skills/system/resolve.js +32 -0
  245. package/dist/ai-service/skills/system/resolve.js.map +1 -0
  246. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-legacy.generated.d.ts +2 -0
  247. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-legacy.generated.d.ts.map +1 -0
  248. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-legacy.generated.js +9 -0
  249. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-legacy.generated.js.map +1 -0
  250. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-sdk.generated.d.ts +2 -0
  251. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-sdk.generated.d.ts.map +1 -0
  252. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-sdk.generated.js +11 -0
  253. package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-imports-sdk.generated.js.map +1 -0
  254. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  255. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  256. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +16 -24
  257. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  258. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
  259. package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
  260. package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +1 -1
  261. package/dist/ai-service/state-machine/clark-fsm.d.ts +11 -0
  262. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  263. package/dist/ai-service/state-machine/clark-fsm.js +7 -1
  264. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  265. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  266. package/dist/ai-service/state-machine/handlers/agent-planning.js +21 -0
  267. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  268. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  269. package/dist/ai-service/state-machine/handlers/llm-generating.js +32 -9
  270. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  271. package/dist/ai-service/state-machine/handlers/runtime-reviewing.d.ts.map +1 -1
  272. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +21 -2
  273. package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
  274. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts +11 -2
  275. package/dist/ai-service/state-machine/helpers/stable-peer.d.ts.map +1 -1
  276. package/dist/ai-service/state-machine/helpers/stable-peer.js +105 -18
  277. package/dist/ai-service/state-machine/helpers/stable-peer.js.map +1 -1
  278. package/dist/ai-service/state-machine/mocks.d.ts +3 -1
  279. package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
  280. package/dist/ai-service/state-machine/mocks.js +52 -13
  281. package/dist/ai-service/state-machine/mocks.js.map +1 -1
  282. package/dist/ai-service/tasks/peer-push.d.ts +3 -0
  283. package/dist/ai-service/tasks/peer-push.d.ts.map +1 -1
  284. package/dist/ai-service/tasks/peer-push.js +33 -0
  285. package/dist/ai-service/tasks/peer-push.js.map +1 -1
  286. package/dist/ai-service/util/call-peer.d.ts +2 -0
  287. package/dist/ai-service/util/call-peer.d.ts.map +1 -1
  288. package/dist/ai-service/util/call-peer.js +17 -4
  289. package/dist/ai-service/util/call-peer.js.map +1 -1
  290. package/dist/ai-service/util/line-ranges.d.ts +21 -0
  291. package/dist/ai-service/util/line-ranges.d.ts.map +1 -0
  292. package/dist/ai-service/util/line-ranges.js +36 -0
  293. package/dist/ai-service/util/line-ranges.js.map +1 -0
  294. package/dist/ai-service/util/peer-liveness.d.ts +1 -0
  295. package/dist/ai-service/util/peer-liveness.d.ts.map +1 -1
  296. package/dist/ai-service/util/peer-liveness.js +2 -0
  297. package/dist/ai-service/util/peer-liveness.js.map +1 -1
  298. package/dist/dev-server-ws-smoke-client.d.ts.map +1 -1
  299. package/dist/dev-server-ws-smoke-client.js +7 -0
  300. package/dist/dev-server-ws-smoke-client.js.map +1 -1
  301. package/dist/draft-interface.d.ts +8 -0
  302. package/dist/draft-interface.d.ts.map +1 -1
  303. package/dist/early-error-relay.d.ts +2 -0
  304. package/dist/early-error-relay.d.ts.map +1 -1
  305. package/dist/early-error-relay.js +7 -3
  306. package/dist/early-error-relay.js.map +1 -1
  307. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  308. package/dist/file-sync-vite-plugin.js +43 -15
  309. package/dist/file-sync-vite-plugin.js.map +1 -1
  310. package/dist/file-system-helpers.d.ts +2 -2
  311. package/dist/file-system-helpers.d.ts.map +1 -1
  312. package/dist/file-system-helpers.js +3 -3
  313. package/dist/file-system-helpers.js.map +1 -1
  314. package/dist/git-service/errors.d.ts +9 -0
  315. package/dist/git-service/errors.d.ts.map +1 -1
  316. package/dist/git-service/errors.js +15 -0
  317. package/dist/git-service/errors.js.map +1 -1
  318. package/dist/git-service/index.d.ts +2 -2
  319. package/dist/git-service/index.d.ts.map +1 -1
  320. package/dist/git-service/index.js +2 -2
  321. package/dist/git-service/index.js.map +1 -1
  322. package/dist/index.d.ts +1 -0
  323. package/dist/index.d.ts.map +1 -1
  324. package/dist/index.js +1 -0
  325. package/dist/index.js.map +1 -1
  326. package/dist/lock-service/activity-tracker.d.ts +5 -0
  327. package/dist/lock-service/activity-tracker.d.ts.map +1 -1
  328. package/dist/lock-service/activity-tracker.js +10 -0
  329. package/dist/lock-service/activity-tracker.js.map +1 -1
  330. package/dist/lock-service/index.d.ts +69 -4
  331. package/dist/lock-service/index.d.ts.map +1 -1
  332. package/dist/lock-service/index.js +139 -29
  333. package/dist/lock-service/index.js.map +1 -1
  334. package/dist/migration-templates/app-fullstack/client/components/ui/accordion.tsx +9 -65
  335. package/dist/migration-templates/app-fullstack/client/components/ui/area-chart.tsx +36 -156
  336. package/dist/migration-templates/app-fullstack/client/components/ui/aspect-ratio.tsx +1 -5
  337. package/dist/migration-templates/app-fullstack/client/components/ui/avatar.tsx +4 -18
  338. package/dist/migration-templates/app-fullstack/client/components/ui/badge.tsx +6 -29
  339. package/dist/migration-templates/app-fullstack/client/components/ui/bar-chart.tsx +41 -167
  340. package/dist/migration-templates/app-fullstack/client/components/ui/breadcrumb.tsx +1 -4
  341. package/dist/migration-templates/app-fullstack/client/components/ui/button.tsx +5 -64
  342. package/dist/migration-templates/app-fullstack/client/components/ui/calendar.tsx +6 -42
  343. package/dist/migration-templates/app-fullstack/client/components/ui/card.tsx +1 -4
  344. package/dist/migration-templates/app-fullstack/client/components/ui/checkbox.tsx +4 -29
  345. package/dist/migration-templates/app-fullstack/client/components/ui/date-range-picker.tsx +13 -154
  346. package/dist/migration-templates/app-fullstack/client/components/ui/dialog.tsx +7 -34
  347. package/dist/migration-templates/app-fullstack/client/components/ui/file-dropzone.tsx +12 -95
  348. package/dist/migration-templates/app-fullstack/client/components/ui/file-input.tsx +12 -73
  349. package/dist/migration-templates/app-fullstack/client/components/ui/hover-card.tsx +10 -66
  350. package/dist/migration-templates/app-fullstack/client/components/ui/icon.tsx +3 -16
  351. package/dist/migration-templates/app-fullstack/client/components/ui/image.tsx +4 -16
  352. package/dist/migration-templates/app-fullstack/client/components/ui/input.tsx +18 -159
  353. package/dist/migration-templates/app-fullstack/client/components/ui/label.tsx +1 -4
  354. package/dist/migration-templates/app-fullstack/client/components/ui/line-chart.tsx +32 -148
  355. package/dist/migration-templates/app-fullstack/client/components/ui/link.tsx +4 -24
  356. package/dist/migration-templates/app-fullstack/client/components/ui/navigation-menu.tsx +3 -24
  357. package/dist/migration-templates/app-fullstack/client/components/ui/pagination.tsx +4 -24
  358. package/dist/migration-templates/app-fullstack/client/components/ui/pie-chart.tsx +28 -142
  359. package/dist/migration-templates/app-fullstack/client/components/ui/popover.tsx +9 -61
  360. package/dist/migration-templates/app-fullstack/client/components/ui/progress.tsx +2 -11
  361. package/dist/migration-templates/app-fullstack/client/components/ui/radar-chart.tsx +37 -171
  362. package/dist/migration-templates/app-fullstack/client/components/ui/radial-chart.tsx +50 -202
  363. package/dist/migration-templates/app-fullstack/client/components/ui/select.tsx +5 -35
  364. package/dist/migration-templates/app-fullstack/client/components/ui/separator.tsx +1 -8
  365. package/dist/migration-templates/app-fullstack/client/components/ui/sheet.tsx +7 -40
  366. package/dist/migration-templates/app-fullstack/client/components/ui/sidebar.tsx +3 -35
  367. package/dist/migration-templates/app-fullstack/client/components/ui/slider.tsx +11 -95
  368. package/dist/migration-templates/app-fullstack/client/components/ui/switch.tsx +5 -32
  369. package/dist/migration-templates/app-fullstack/client/components/ui/textarea.tsx +13 -90
  370. package/dist/migration-templates/app-fullstack/client/components/ui/toggle-group.tsx +11 -75
  371. package/dist/migration-templates/app-fullstack/client/components/ui/toggle.tsx +8 -70
  372. package/dist/migration-templates/app-fullstack/client/components/ui/tooltip.tsx +9 -62
  373. package/dist/parsing/imports.d.ts +22 -0
  374. package/dist/parsing/imports.d.ts.map +1 -1
  375. package/dist/parsing/imports.js +71 -0
  376. package/dist/parsing/imports.js.map +1 -1
  377. package/dist/reconnect-guard-plugin.d.ts +53 -0
  378. package/dist/reconnect-guard-plugin.d.ts.map +1 -0
  379. package/dist/reconnect-guard-plugin.js +203 -0
  380. package/dist/reconnect-guard-plugin.js.map +1 -0
  381. package/dist/resolver.d.ts +2 -1
  382. package/dist/resolver.d.ts.map +1 -1
  383. package/dist/resolver.js +4 -6
  384. package/dist/resolver.js.map +1 -1
  385. package/dist/router-parser-metrics.d.ts +2 -1
  386. package/dist/router-parser-metrics.d.ts.map +1 -1
  387. package/dist/router-parser-metrics.js.map +1 -1
  388. package/dist/router-parser.d.ts +10 -1
  389. package/dist/router-parser.d.ts.map +1 -1
  390. package/dist/router-parser.js +306 -69
  391. package/dist/router-parser.js.map +1 -1
  392. package/dist/scan-scope-merge-metrics.d.ts +2 -0
  393. package/dist/scan-scope-merge-metrics.d.ts.map +1 -0
  394. package/dist/scan-scope-merge-metrics.js +18 -0
  395. package/dist/scan-scope-merge-metrics.js.map +1 -0
  396. package/dist/scan-scope-merge.d.ts +2 -2
  397. package/dist/scan-scope-merge.d.ts.map +1 -1
  398. package/dist/scan-scope-merge.js +64 -14
  399. package/dist/scan-scope-merge.js.map +1 -1
  400. package/dist/server-rpc/index.d.ts.map +1 -1
  401. package/dist/server-rpc/index.js +12 -2
  402. package/dist/server-rpc/index.js.map +1 -1
  403. package/dist/socket-manager.d.ts +1 -1
  404. package/dist/socket-manager.d.ts.map +1 -1
  405. package/dist/socket-manager.js +276 -15
  406. package/dist/socket-manager.js.map +1 -1
  407. package/dist/sync-service/download.js +2 -2
  408. package/dist/sync-service/download.js.map +1 -1
  409. package/dist/sync-service/index.d.ts +95 -22
  410. package/dist/sync-service/index.d.ts.map +1 -1
  411. package/dist/sync-service/index.js +402 -56
  412. package/dist/sync-service/index.js.map +1 -1
  413. package/dist/sync-service/page-reference-guard.d.ts +17 -0
  414. package/dist/sync-service/page-reference-guard.d.ts.map +1 -0
  415. package/dist/sync-service/page-reference-guard.js +170 -0
  416. package/dist/sync-service/page-reference-guard.js.map +1 -0
  417. package/dist/util.d.ts.map +1 -1
  418. package/dist/util.js +16 -2
  419. package/dist/util.js.map +1 -1
  420. package/package.json +15 -14
@@ -130,36 +130,16 @@ function PaginationEllipsis({
130
130
  const paginationLinkPropertiesDefinition: PropertiesPanelDefinition<PaginationLinkProps> =
131
131
  {
132
132
  general: Section.category(PropsCategory.Content).children({
133
- isActive: Prop.boolean().propertiesPanel({
134
- label: "Is active",
135
- description: "Whether the link is active",
136
- controlType: "SWITCH",
137
- }),
133
+ isActive: Prop.boolean(),
138
134
  }),
139
135
  appearance: Section.category(PropsCategory.Appearance).children({
140
- size: Prop.string<"sm" | "default" | "lg">().propertiesPanel({
141
- label: "Size",
142
- controlType: "DROP_DOWN",
143
- options: [
144
- { label: "Small", value: "sm" },
145
- { label: "Default", value: "default" },
146
- { label: "Large", value: "lg" },
147
- ],
148
- description: "Size variant of the pagination link",
149
- }),
136
+ size: Prop.string<"sm" | "default" | "lg">(),
150
137
  }),
151
138
  interaction: Section.category(PropsCategory.Interaction).children({
152
- disabled: Prop.boolean().propertiesPanel({
153
- label: "Disabled",
154
- description: "Whether the link is disabled",
155
- controlType: "SWITCH",
156
- }),
139
+ disabled: Prop.boolean(),
157
140
  }),
158
141
  events: Section.category(PropsCategory.EventHandlers).children({
159
- onClick: Prop.eventHandler().propertiesPanel({
160
- label: "onClick",
161
- description: "Triggered when the link is clicked",
162
- }),
142
+ onClick: Prop.eventHandler(),
163
143
  }),
164
144
  };
165
145
 
@@ -138,157 +138,43 @@ const PieChart = ({ className, ...props }: ComponentProps) => {
138
138
 
139
139
  registerComponent(PieChart, {
140
140
  general: Section.category(PropsCategory.Content).children({
141
- data: Prop.array<any>()
142
- .propertiesPanel({
143
- label: "Data",
144
- description: "Array of data objects for the pie chart",
145
- controlType: "FUNCTION_CODE_EDITOR",
146
- isJSConvertible: false,
147
- })
148
- .docs({
149
- description:
150
- "Array of objects where each object represents a pie slice. Each object should have properties for the slice name/label and numeric value. Example: [{name: 'Chrome', value: 275, color: '#4285F4'}, {name: 'Safari', value: 200}]. The nameKey, valueKey, and colorKey props specify which properties to use.",
151
- }),
152
- nameKey: Prop.string()
153
- .propertiesPanel({
154
- label: "Name data key",
155
- description: " name for slice names/identifiers",
156
- placeholder: "name",
157
- controlType: "DROP_DOWN",
158
- options: function (this) {
159
- if (!this.data || !Array.isArray(this.data) || !this.data.length) {
160
- return [];
161
- }
162
- return Object.keys(this.data[0]).map((key) => ({
163
- label: key,
164
- value: key,
165
- }));
166
- },
167
- })
168
- .docs({
169
- description:
170
- "The property name in your data objects that contains unique identifiers for each slice. Used to generate consistent colors and match data across renders.",
171
- }),
172
- valueKey: Prop.string()
173
- .propertiesPanel({
174
- label: "Value data key",
175
- description: " name for slice values",
176
- placeholder: "value",
177
- controlType: "DROP_DOWN",
178
- options: function (this) {
179
- if (!this.data || !Array.isArray(this.data) || !this.data.length) {
180
- return [];
181
- }
182
- return Object.keys(this.data[0]).map((key) => ({
183
- label: key,
184
- value: key,
185
- }));
186
- },
187
- })
188
- .docs({
189
- description:
190
- "The property name in your data objects that contains the numeric values for each slice. These values determine slice sizes and are used in calculations for percentages and display.",
191
- }),
192
- labelKey: Prop.string()
193
- .propertiesPanel({
194
- label: "Label data key",
195
- description: " name for display labels (optional, defaults to nameKey)",
196
- placeholder: "label",
197
- controlType: "DROP_DOWN",
198
- options: function (this) {
199
- if (!this.data || !Array.isArray(this.data) || !this.data.length) {
200
- return [];
201
- }
202
- return Object.keys(this.data[0]).map((key) => ({
203
- label: key,
204
- value: key,
205
- }));
206
- },
207
- })
208
- .docs({
209
- description:
210
- "Optional property name for human-readable labels shown in tooltips and legends. If not specified, the nameKey value is used as the label.",
211
- }),
212
- colorKey: Prop.string()
213
- .propertiesPanel({
214
- label: "Color data key",
215
- description: " name for slice colors (optional)",
216
- placeholder: "color",
217
- controlType: "DROP_DOWN",
218
- options: function (this) {
219
- if (!this.data || !Array.isArray(this.data) || !this.data.length) {
220
- return [];
221
- }
222
- return Object.keys(this.data[0]).map((key) => ({
223
- label: key,
224
- value: key,
225
- }));
226
- },
227
- })
228
- .docs({
229
- description:
230
- "Optional property name in your data objects that contains color values (hex, rgb, or CSS variable). If not specified, colors are auto-assigned from the theme.",
231
- }),
232
- colors: Prop.array<string>()
233
- .propertiesPanel({
234
- label: "Colors",
235
- description: "Array of colors to use for slices (optional)",
236
- controlType: "FUNCTION_CODE_EDITOR",
237
- isJSConvertible: false,
238
- })
239
- .docs({
240
- description:
241
- "Optional array of color values to use for slices in order. Can be hex codes, rgb values, or CSS variables like 'var(--chart-1)'. Falls back to theme colors if not provided.",
242
- }),
243
- }),
244
- appearance: Section.category(PropsCategory.Appearance).children({
245
- startAngle: Prop.number().propertiesPanel({
246
- label: "Start angle",
247
- description: "Start angle in degrees (90 = top, 0 = right)",
248
- visibility: "SHOW_NAME",
249
- defaultOnAdd: 90,
141
+ data: Prop.array<any>().docs({
142
+ description:
143
+ "Array of objects where each object represents a pie slice. Each object should have properties for the slice name/label and numeric value. Example: [{name: 'Chrome', value: 275, color: '#4285F4'}, {name: 'Safari', value: 200}]. The nameKey, valueKey, and colorKey props specify which properties to use.",
250
144
  }),
251
- endAngle: Prop.number().propertiesPanel({
252
- label: "End angle",
253
- description: "End angle in degrees (450 = full circle from 90°)",
254
- visibility: "SHOW_NAME",
255
- defaultOnAdd: 450,
145
+ nameKey: Prop.string().docs({
146
+ description:
147
+ "The property name in your data objects that contains unique identifiers for each slice. Used to generate consistent colors and match data across renders.",
256
148
  }),
257
- showTooltip: Prop.boolean().propertiesPanel({
258
- label: "Show tooltip",
259
- description: "Display tooltip on hover",
260
- controlType: "SWITCH",
149
+ valueKey: Prop.string().docs({
150
+ description:
151
+ "The property name in your data objects that contains the numeric values for each slice. These values determine slice sizes and are used in calculations for percentages and display.",
261
152
  }),
262
- showLegend: Prop.boolean().propertiesPanel({
263
- label: "Show legend",
264
- description: "Display chart legend",
265
- controlType: "SWITCH",
153
+ labelKey: Prop.string().docs({
154
+ description:
155
+ "Optional property name for human-readable labels shown in tooltips and legends. If not specified, the nameKey value is used as the label.",
266
156
  }),
267
- showLabels: Prop.boolean().propertiesPanel({
268
- label: "Show labels",
269
- description: "Display value labels on pie slices",
270
- controlType: "SWITCH",
157
+ colorKey: Prop.string().docs({
158
+ description:
159
+ "Optional property name in your data objects that contains color values (hex, rgb, or CSS variable). If not specified, colors are auto-assigned from the theme.",
160
+ }),
161
+ colors: Prop.array<string>().docs({
162
+ description:
163
+ "Optional array of color values to use for slices in order. Can be hex codes, rgb values, or CSS variables like 'var(--chart-1)'. Falls back to theme colors if not provided.",
271
164
  }),
272
165
  }),
166
+ appearance: Section.category(PropsCategory.Appearance).children({
167
+ startAngle: Prop.number(),
168
+ endAngle: Prop.number(),
169
+ showTooltip: Prop.boolean(),
170
+ showLegend: Prop.boolean(),
171
+ showLabels: Prop.boolean(),
172
+ }),
273
173
  interaction: Section.category(PropsCategory.Interaction).children({
274
- enableAnimation: Prop.boolean().propertiesPanel({
275
- label: "Enable animation",
276
- description: "Enable chart animations on load",
277
- controlType: "SWITCH",
278
- }),
174
+ enableAnimation: Prop.boolean(),
279
175
  }),
280
176
  events: Section.category(PropsCategory.EventHandlers).children({
281
- onDataClick: Prop.eventHandler().propertiesPanel({
282
- label: "onDataClick",
283
- description: "Triggered when a pie slice is clicked",
284
- computedArgs: [
285
- {
286
- name: "data",
287
- type: "object",
288
- description: "The data point that was clicked",
289
- },
290
- ],
291
- }),
177
+ onDataClick: Prop.eventHandler(),
292
178
  }),
293
179
  }).editorConfig({ icon: "chart" });
294
180
 
@@ -59,38 +59,15 @@ const popoverPropertiesDefinition: PropertiesPanelDefinition<
59
59
  React.ComponentPropsWithoutRef<typeof Popover>
60
60
  > = {
61
61
  general: Section.category(PropsCategory.Content).children({
62
- open: Prop.boolean().propertiesPanel({
63
- label: "Open",
64
- controlType: "SWITCH",
65
- description:
66
- "The controlled open state of the popover. Must be used in conjunction with `onOpenChange`.",
67
- isRemovable: true,
68
- visibility: "SHOW_NAME",
69
- }),
62
+ open: Prop.boolean(),
70
63
  children: Prop.jsx(),
71
64
  }),
72
65
  interaction: Section.category(PropsCategory.Interaction).children({
73
- defaultOpen: Prop.boolean().propertiesPanel({
74
- label: "Default open",
75
- description: "Whether the popover is open by default",
76
- }),
77
- modal: Prop.boolean().propertiesPanel({
78
- label: "Modal",
79
- description:
80
- "Whether the popover should be modal, trapping focus and blocking interaction with other elements.",
81
- }),
66
+ defaultOpen: Prop.boolean(),
67
+ modal: Prop.boolean(),
82
68
  }),
83
69
  events: Section.category(PropsCategory.EventHandlers).children({
84
- onOpenChange: Prop.eventHandler().propertiesPanel({
85
- label: "onOpenChange",
86
- computedArgs: [
87
- {
88
- name: "open",
89
- type: "boolean",
90
- description: "Whether the popover is open",
91
- },
92
- ],
93
- }),
70
+ onOpenChange: Prop.eventHandler(),
94
71
  }),
95
72
  };
96
73
 
@@ -110,40 +87,11 @@ const popoverContentPropertiesDefinition: PropertiesPanelDefinition<
110
87
  children: Prop.jsx(),
111
88
  }),
112
89
  appearance: Section.category(PropsCategory.Appearance).children({
113
- side: Prop.string<"top" | "right" | "bottom" | "left">().propertiesPanel({
114
- label: "Side",
115
- controlType: "DROP_DOWN",
116
- description: "The preferred side of the trigger to render against",
117
- options: [
118
- { label: "Top", value: "top" },
119
- { label: "Right", value: "right" },
120
- { label: "Bottom", value: "bottom" },
121
- { label: "Left", value: "left" },
122
- ],
123
- }),
124
- align: Prop.string<"start" | "center" | "end">().propertiesPanel({
125
- label: "Align",
126
- controlType: "DROP_DOWN",
127
- description: "The preferred alignment against the trigger",
128
- options: [
129
- { label: "Start", value: "start" },
130
- { label: "Center", value: "center" },
131
- { label: "End", value: "end" },
132
- ],
133
- }),
134
- sideOffset: Prop.number().propertiesPanel({
135
- label: "Side offset",
136
- description: "The distance in pixels from the trigger",
137
- }),
138
- alignOffset: Prop.number().propertiesPanel({
139
- label: "Align offset",
140
- description: "An offset in pixels from the alignment axis",
141
- }),
142
- avoidCollisions: Prop.boolean().propertiesPanel({
143
- label: "Avoid collisions",
144
- description:
145
- "Whether the content should avoid collisions with other elements",
146
- }),
90
+ side: Prop.string<"top" | "right" | "bottom" | "left">(),
91
+ align: Prop.string<"start" | "center" | "end">(),
92
+ sideOffset: Prop.number(),
93
+ alignOffset: Prop.number(),
94
+ avoidCollisions: Prop.boolean(),
147
95
  }),
148
96
  };
149
97
 
@@ -41,17 +41,8 @@ type ProgressProps = React.ComponentProps<typeof Progress>;
41
41
  // Properties Definition
42
42
  const propertiesDefinition: PropertiesPanelDefinition<ProgressProps> = {
43
43
  general: Section.category(PropsCategory.Content).children({
44
- value: Prop.number().propertiesPanel({
45
- label: "Value",
46
- controlType: "INPUT_TEXT",
47
- description: "The current progress value (0-100)",
48
- isRemovable: true,
49
- visibility: "SHOW_NAME",
50
- }),
51
- max: Prop.number().propertiesPanel({
52
- label: "Max value",
53
- description: "The maximum progress value",
54
- }),
44
+ value: Prop.number(),
45
+ max: Prop.number(),
55
46
  }),
56
47
  };
57
48
 
@@ -198,188 +198,54 @@ const RadarChart = ({ className, ...props }: ComponentProps) => {
198
198
 
199
199
  registerComponent(RadarChart, {
200
200
  general: Section.category(PropsCategory.Content).children({
201
- data: Prop.array<any>()
202
- .propertiesPanel({
203
- label: "Data",
204
- description: "Array of data objects for the radar chart",
205
- controlType: "FUNCTION_CODE_EDITOR",
206
- isJSConvertible: false,
207
- })
208
- .docs({
209
- description:
210
- "Array of objects where each object represents a radar point with category and value data. Each object should contain the categoryKey property and properties for each data series defined in categories. Radar charts are ideal for multi-dimensional data comparison. Example: [{category: 'Speed', performance: 85, quality: 78}, {category: 'Efficiency', performance: 92, quality: 85}]. Multiple value properties create multiple overlapping radar shapes for comparison.",
211
- }),
212
- categoryKey: Prop.string()
213
- .propertiesPanel({
214
- label: "Category data key",
215
- description: " name for category/axis labels",
216
- placeholder: "category",
217
- controlType: "DROP_DOWN",
218
- options: function (this) {
219
- if (!this.data || !Array.isArray(this.data) || !this.data.length) {
220
- return [];
221
- }
222
- return Object.keys(this.data[0]).map((key) => ({
223
- label: key,
224
- value: key,
225
- }));
226
- },
227
- })
228
- .docs({
229
- description:
230
- "The property name in your data objects that contains the category labels for each radar axis point. These categories form the angular (perimeter) axis of the radar chart, with labels positioned around the circle. Should represent the dimensions or criteria being measured (e.g., 'Speed', 'Quality', 'Price').",
231
- }),
232
- categories: Prop.array<string>()
233
- .propertiesPanel({
234
- label: "Categories",
235
- description:
236
- "Array of data keys to plot as radar series (optional, auto-detects numeric properties if not provided)",
237
- controlType: "FUNCTION_CODE_EDITOR",
238
- isJSConvertible: false,
239
- })
240
- .docs({
241
- description:
242
- "Array of property names from your data objects to plot as separate radar series. Example: ['performance', 'quality'] will create two overlapping radar shapes. Each category should correspond to a numeric property in your data. If not provided, automatically detects all numeric properties (excluding categoryKey) from the data.",
243
- }),
244
- seriesLabels: Prop.any<Record<string, string>>()
245
- .propertiesPanel({
246
- label: "Series labels",
247
- description:
248
- "Optional labels for series (optional, defaults to category names)",
249
- controlType: "FUNCTION_CODE_EDITOR",
250
- isJSConvertible: false,
251
- })
252
- .docs({
253
- description:
254
- "Optional object mapping category keys to display labels. Example: {performance: 'Performance Score', quality: 'Quality Score'}. If not provided, the category keys are used as labels.",
255
- }),
256
- colors: Prop.array<string>()
257
- .propertiesPanel({
258
- label: "Colors",
259
- description: "Array of colors for series (optional)",
260
- controlType: "FUNCTION_CODE_EDITOR",
261
- isJSConvertible: false,
262
- })
263
- .docs({
264
- description:
265
- "Optional array of color values to use for series in order. Can be hex codes, rgb values, or CSS variables like 'var(--chart-1)'. Falls back to theme colors if not provided.",
266
- }),
267
- }),
268
- appearance: Section.category(PropsCategory.Appearance).children({
269
- showGrid: Prop.boolean().propertiesPanel({
270
- label: "Show grid",
271
- description: "Display chart grid lines",
272
- controlType: "SWITCH",
273
- }),
274
- gridType: Prop.string<"polygon" | "circle">()
275
- .propertiesPanel({
276
- isVisible: function (this: any) {
277
- return this.showGrid;
278
- },
279
- label: "Grid type",
280
- description: "Type of grid to display",
281
- controlType: "DROP_DOWN",
282
- options: [
283
- { label: "Polygon", value: "polygon" },
284
- { label: "Circle", value: "circle" },
285
- ],
286
- })
287
- .docs({
288
- description:
289
- "Visual style of the radar grid. 'polygon' creates straight-line grid segments connecting angular points (traditional radar appearance). 'circle' creates concentric circular grid lines. Polygon grids emphasize the multi-dimensional nature of data, while circular grids provide smoother visual flow.",
290
- }),
291
- showAngleAxis: Prop.boolean().propertiesPanel({
292
- label: "Show angle axis",
293
- description: "Display category labels around the perimeter",
294
- controlType: "SWITCH",
295
- }),
296
- showRadiusAxis: Prop.boolean().propertiesPanel({
297
- label: "Show radius axis",
298
- description: "Display radial axis with value labels",
299
- controlType: "SWITCH",
300
- }),
301
- radiusAxisTickCount: Prop.number().propertiesPanel({
302
- label: "Radius axis tick count",
303
- description: "Number of tick marks on radius axis",
304
- isVisible: function (this: any) {
305
- return this.showRadiusAxis;
306
- },
307
- }),
308
- radiusDomain: Prop.any<[number, number | "auto"]>()
309
- .propertiesPanel({
310
- label: "Radius domain",
311
- description:
312
- "Min and max values for radius axis (e.g., [0, 100] or [0, 'auto'])",
313
- controlType: "FUNCTION_CODE_EDITOR",
314
- isJSConvertible: false,
315
- })
316
- .docs({
317
- description:
318
- "Range of values for the radial (distance from center) axis. Array with [min, max] values. Use numbers for fixed ranges like [0, 100] for percentage scales, or [0, 'auto'] to automatically determine maximum based on data. The radial axis determines how far each data point extends from the center.",
319
- }),
320
- showTooltip: Prop.boolean().propertiesPanel({
321
- label: "Show tooltip",
322
- description: "Display tooltip on hover",
323
- controlType: "SWITCH",
201
+ data: Prop.array<any>().docs({
202
+ description:
203
+ "Array of objects where each object represents a radar point with category and value data. Each object should contain the categoryKey property and properties for each data series defined in categories. Radar charts are ideal for multi-dimensional data comparison. Example: [{category: 'Speed', performance: 85, quality: 78}, {category: 'Efficiency', performance: 92, quality: 85}]. Multiple value properties create multiple overlapping radar shapes for comparison.",
324
204
  }),
325
- showLegend: Prop.boolean().propertiesPanel({
326
- label: "Show legend",
327
- description: "Display chart legend",
328
- controlType: "SWITCH",
205
+ categoryKey: Prop.string().docs({
206
+ description:
207
+ "The property name in your data objects that contains the category labels for each radar axis point. These categories form the angular (perimeter) axis of the radar chart, with labels positioned around the circle. Should represent the dimensions or criteria being measured (e.g., 'Speed', 'Quality', 'Price').",
329
208
  }),
330
- fillRadar: Prop.boolean().propertiesPanel({
331
- label: "Fill radar",
332
- description: "Fill the radar areas with color",
333
- controlType: "SWITCH",
209
+ categories: Prop.array<string>().docs({
210
+ description:
211
+ "Array of property names from your data objects to plot as separate radar series. Example: ['performance', 'quality'] will create two overlapping radar shapes. Each category should correspond to a numeric property in your data. If not provided, automatically detects all numeric properties (excluding categoryKey) from the data.",
334
212
  }),
335
- fillOpacity: Prop.number().propertiesPanel({
336
- label: "Fill opacity",
337
- description: "Opacity of the radar fill (0-1)",
338
- isVisible: function (this: any) {
339
- return this.fillRadar;
340
- },
213
+ seriesLabels: Prop.any<Record<string, string>>().docs({
214
+ description:
215
+ "Optional object mapping category keys to display labels. Example: {performance: 'Performance Score', quality: 'Quality Score'}. If not provided, the category keys are used as labels.",
341
216
  }),
342
- strokeWidth: Prop.number().propertiesPanel({
343
- label: "Stroke width",
344
- description: "Width of the radar stroke lines",
217
+ colors: Prop.array<string>().docs({
218
+ description:
219
+ "Optional array of color values to use for series in order. Can be hex codes, rgb values, or CSS variables like 'var(--chart-1)'. Falls back to theme colors if not provided.",
345
220
  }),
346
- showDots: Prop.boolean().propertiesPanel({
347
- label: "Show dots",
348
- description: "Display dots at data points",
349
- controlType: "SWITCH",
350
- }),
351
- dotSize: Prop.number().propertiesPanel({
352
- label: "Dot size",
353
- description: "Size of dots at data points",
354
- isVisible: function (this: any) {
355
- return this.showDots;
356
- },
221
+ }),
222
+ appearance: Section.category(PropsCategory.Appearance).children({
223
+ showGrid: Prop.boolean(),
224
+ gridType: Prop.string<"polygon" | "circle">().docs({
225
+ description:
226
+ "Visual style of the radar grid. 'polygon' creates straight-line grid segments connecting angular points (traditional radar appearance). 'circle' creates concentric circular grid lines. Polygon grids emphasize the multi-dimensional nature of data, while circular grids provide smoother visual flow.",
357
227
  }),
358
- showPointLabels: Prop.boolean().propertiesPanel({
359
- label: "Show point labels",
360
- description: "Display value labels at data points",
361
- controlType: "SWITCH",
228
+ showAngleAxis: Prop.boolean(),
229
+ showRadiusAxis: Prop.boolean(),
230
+ radiusAxisTickCount: Prop.number(),
231
+ radiusDomain: Prop.any<[number, number | "auto"]>().docs({
232
+ description:
233
+ "Range of values for the radial (distance from center) axis. Array with [min, max] values. Use numbers for fixed ranges like [0, 100] for percentage scales, or [0, 'auto'] to automatically determine maximum based on data. The radial axis determines how far each data point extends from the center.",
362
234
  }),
235
+ showTooltip: Prop.boolean(),
236
+ showLegend: Prop.boolean(),
237
+ fillRadar: Prop.boolean(),
238
+ fillOpacity: Prop.number(),
239
+ strokeWidth: Prop.number(),
240
+ showDots: Prop.boolean(),
241
+ dotSize: Prop.number(),
242
+ showPointLabels: Prop.boolean(),
363
243
  }),
364
244
  interaction: Section.category(PropsCategory.Interaction).children({
365
- enableAnimation: Prop.boolean().propertiesPanel({
366
- label: "Enable animation",
367
- description: "Enable chart animations on load",
368
- controlType: "SWITCH",
369
- }),
245
+ enableAnimation: Prop.boolean(),
370
246
  }),
371
247
  events: Section.category(PropsCategory.EventHandlers).children({
372
- onDataClick: Prop.eventHandler().propertiesPanel({
373
- label: "onDataClick",
374
- description: "Triggered when a radar segment is clicked",
375
- computedArgs: [
376
- {
377
- name: "data",
378
- type: "object",
379
- description: "The data point that was clicked",
380
- },
381
- ],
382
- }),
248
+ onDataClick: Prop.eventHandler(),
383
249
  }),
384
250
  }).editorConfig({ icon: "chart" });
385
251