@agent-native/core 0.7.16 → 0.7.18

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 (466) hide show
  1. package/dist/a2a/agent-card.js.map +1 -1
  2. package/dist/a2a/client.js.map +1 -1
  3. package/dist/a2a/handlers.js.map +1 -1
  4. package/dist/a2a/index.js.map +1 -1
  5. package/dist/a2a/server.js.map +1 -1
  6. package/dist/a2a/task-store.js.map +1 -1
  7. package/dist/a2a/types.js.map +1 -1
  8. package/dist/action.js.map +1 -1
  9. package/dist/adapters/cli/index.js.map +1 -1
  10. package/dist/adapters/cli/registry.js.map +1 -1
  11. package/dist/adapters/cli/shell-adapter.js.map +1 -1
  12. package/dist/adapters/cli/types.js.map +1 -1
  13. package/dist/agent/default-model.js.map +1 -1
  14. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  15. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  16. package/dist/agent/engine/builder-engine.js.map +1 -1
  17. package/dist/agent/engine/builtin.js.map +1 -1
  18. package/dist/agent/engine/index.js.map +1 -1
  19. package/dist/agent/engine/provider-env-vars.js.map +1 -1
  20. package/dist/agent/engine/registry.d.ts +5 -3
  21. package/dist/agent/engine/registry.d.ts.map +1 -1
  22. package/dist/agent/engine/registry.js +6 -5
  23. package/dist/agent/engine/registry.js.map +1 -1
  24. package/dist/agent/engine/translate-ai-sdk.js.map +1 -1
  25. package/dist/agent/engine/translate-anthropic.js.map +1 -1
  26. package/dist/agent/engine/types.js.map +1 -1
  27. package/dist/agent/index.js.map +1 -1
  28. package/dist/agent/production-agent.js.map +1 -1
  29. package/dist/agent/run-manager.js.map +1 -1
  30. package/dist/agent/run-store.js.map +1 -1
  31. package/dist/agent/thread-data-builder.js.map +1 -1
  32. package/dist/agent/types.js.map +1 -1
  33. package/dist/application-state/emitter.js.map +1 -1
  34. package/dist/application-state/handlers.js.map +1 -1
  35. package/dist/application-state/index.js.map +1 -1
  36. package/dist/application-state/script-helpers.js.map +1 -1
  37. package/dist/application-state/store.js.map +1 -1
  38. package/dist/chat-threads/emitter.js.map +1 -1
  39. package/dist/chat-threads/store.js.map +1 -1
  40. package/dist/checkpoints/index.js.map +1 -1
  41. package/dist/checkpoints/service.js.map +1 -1
  42. package/dist/checkpoints/store.js.map +1 -1
  43. package/dist/cli/create-workspace.js.map +1 -1
  44. package/dist/cli/create.d.ts.map +1 -1
  45. package/dist/cli/create.js +11 -0
  46. package/dist/cli/create.js.map +1 -1
  47. package/dist/cli/index.js.map +1 -1
  48. package/dist/cli/info.js.map +1 -1
  49. package/dist/cli/setup-agents.js.map +1 -1
  50. package/dist/cli/templates-meta.js.map +1 -1
  51. package/dist/cli/workspacify.js.map +1 -1
  52. package/dist/client/AgentPanel.js.map +1 -1
  53. package/dist/client/AgentTaskCard.js.map +1 -1
  54. package/dist/client/AssistantChat.d.ts.map +1 -1
  55. package/dist/client/AssistantChat.js.map +1 -1
  56. package/dist/client/ClientOnly.js.map +1 -1
  57. package/dist/client/CommandMenu.js.map +1 -1
  58. package/dist/client/ConnectBuilderCard.js.map +1 -1
  59. package/dist/client/DefaultSpinner.js.map +1 -1
  60. package/dist/client/ErrorBoundary.js.map +1 -1
  61. package/dist/client/FeedbackButton.js.map +1 -1
  62. package/dist/client/IframeEmbed.js.map +1 -1
  63. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  64. package/dist/client/PoweredByBadge.js.map +1 -1
  65. package/dist/client/ProductionAgentPanel.js.map +1 -1
  66. package/dist/client/Turnstile.js.map +1 -1
  67. package/dist/client/active-run-state.js.map +1 -1
  68. package/dist/client/agent-chat-adapter.js.map +1 -1
  69. package/dist/client/agent-chat.js.map +1 -1
  70. package/dist/client/analytics.js.map +1 -1
  71. package/dist/client/api-path.js.map +1 -1
  72. package/dist/client/builder-mark.js.map +1 -1
  73. package/dist/client/components/AgentPresenceChip.js.map +1 -1
  74. package/dist/client/components/ApiKeySettings.js.map +1 -1
  75. package/dist/client/components/CodeAgentIndicator.js.map +1 -1
  76. package/dist/client/components/CodeRequiredDialog.js.map +1 -1
  77. package/dist/client/components/MissingKeyCard.js.map +1 -1
  78. package/dist/client/components/PresenceBar.js.map +1 -1
  79. package/dist/client/components/ui/popover.js.map +1 -1
  80. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  81. package/dist/client/composer/MentionPopover.js.map +1 -1
  82. package/dist/client/composer/TiptapComposer.js.map +1 -1
  83. package/dist/client/composer/VoiceButton.js.map +1 -1
  84. package/dist/client/composer/draft-key.js.map +1 -1
  85. package/dist/client/composer/extensions/FileReference.js.map +1 -1
  86. package/dist/client/composer/extensions/MentionReference.js.map +1 -1
  87. package/dist/client/composer/extensions/SkillReference.js.map +1 -1
  88. package/dist/client/composer/index.js.map +1 -1
  89. package/dist/client/composer/types.js.map +1 -1
  90. package/dist/client/composer/use-file-search.js.map +1 -1
  91. package/dist/client/composer/use-mention-search.js.map +1 -1
  92. package/dist/client/composer/use-skills.js.map +1 -1
  93. package/dist/client/composer/useVoiceDictation.js.map +1 -1
  94. package/dist/client/dev-mode.js.map +1 -1
  95. package/dist/client/dev-overlay/DevOverlay.js.map +1 -1
  96. package/dist/client/dev-overlay/builtins.js.map +1 -1
  97. package/dist/client/dev-overlay/index.js.map +1 -1
  98. package/dist/client/dev-overlay/registry.js.map +1 -1
  99. package/dist/client/dev-overlay/types.js.map +1 -1
  100. package/dist/client/dev-overlay/use-dev-option.js.map +1 -1
  101. package/dist/client/dev-overlay/use-dev-overlay-shortcut.js.map +1 -1
  102. package/dist/client/embed.js.map +1 -1
  103. package/dist/client/error-format.js.map +1 -1
  104. package/dist/client/frame-protocol.js.map +1 -1
  105. package/dist/client/frame.js.map +1 -1
  106. package/dist/client/index.d.ts +0 -1
  107. package/dist/client/index.d.ts.map +1 -1
  108. package/dist/client/index.js +0 -1
  109. package/dist/client/index.js.map +1 -1
  110. package/dist/client/integrations/IntegrationCard.js.map +1 -1
  111. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  112. package/dist/client/integrations/index.js.map +1 -1
  113. package/dist/client/integrations/useIntegrationStatus.js.map +1 -1
  114. package/dist/client/notifications/NotificationsBell.js.map +1 -1
  115. package/dist/client/notifications/index.js.map +1 -1
  116. package/dist/client/observability/ObservabilityDashboard.js.map +1 -1
  117. package/dist/client/observability/ThumbsFeedback.js.map +1 -1
  118. package/dist/client/observability/index.js.map +1 -1
  119. package/dist/client/observability/useObservability.js.map +1 -1
  120. package/dist/client/onboarding/OnboardingBanner.js.map +1 -1
  121. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  122. package/dist/client/onboarding/OnboardingPanel.js +6 -27
  123. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  124. package/dist/client/onboarding/SetupButton.js.map +1 -1
  125. package/dist/client/onboarding/index.js.map +1 -1
  126. package/dist/client/onboarding/use-onboarding.js.map +1 -1
  127. package/dist/client/onboarding/use-preview-mode.js.map +1 -1
  128. package/dist/client/org/InvitationBanner.js.map +1 -1
  129. package/dist/client/org/OrgSwitcher.js.map +1 -1
  130. package/dist/client/org/RequireActiveOrg.js.map +1 -1
  131. package/dist/client/org/TeamPage.js.map +1 -1
  132. package/dist/client/org/hooks.js.map +1 -1
  133. package/dist/client/org/index.js.map +1 -1
  134. package/dist/client/progress/RunsTray.js.map +1 -1
  135. package/dist/client/progress/index.js.map +1 -1
  136. package/dist/client/resources/McpServerDetail.js.map +1 -1
  137. package/dist/client/resources/ResourceEditor.js.map +1 -1
  138. package/dist/client/resources/ResourceTree.js.map +1 -1
  139. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  140. package/dist/client/resources/index.js.map +1 -1
  141. package/dist/client/resources/use-mcp-servers.js.map +1 -1
  142. package/dist/client/resources/use-resources.js.map +1 -1
  143. package/dist/client/settings/AgentsSection.js.map +1 -1
  144. package/dist/client/settings/AutomationsSection.js.map +1 -1
  145. package/dist/client/settings/BackgroundAgentSection.js.map +1 -1
  146. package/dist/client/settings/BrowserSection.js.map +1 -1
  147. package/dist/client/settings/SecretsSection.js.map +1 -1
  148. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  149. package/dist/client/settings/SettingsPanel.js +3 -19
  150. package/dist/client/settings/SettingsPanel.js.map +1 -1
  151. package/dist/client/settings/SettingsSection.js.map +1 -1
  152. package/dist/client/settings/UsageSection.js.map +1 -1
  153. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  154. package/dist/client/settings/index.js.map +1 -1
  155. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  156. package/dist/client/sharing/ShareButton.js.map +1 -1
  157. package/dist/client/sharing/ShareDialog.js.map +1 -1
  158. package/dist/client/sharing/VisibilityBadge.js.map +1 -1
  159. package/dist/client/sharing/index.js.map +1 -1
  160. package/dist/client/sse-event-processor.js.map +1 -1
  161. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  162. package/dist/client/terminal/index.js.map +1 -1
  163. package/dist/client/tools/EmbeddedTool.js.map +1 -1
  164. package/dist/client/tools/ExtensionSlot.js.map +1 -1
  165. package/dist/client/tools/ToolEditor.js.map +1 -1
  166. package/dist/client/tools/ToolViewer.js.map +1 -1
  167. package/dist/client/tools/ToolViewerPage.js.map +1 -1
  168. package/dist/client/tools/ToolsListPage.js.map +1 -1
  169. package/dist/client/tools/ToolsSidebarSection.js.map +1 -1
  170. package/dist/client/tools/iframe-bridge.js.map +1 -1
  171. package/dist/client/tools/index.js.map +1 -1
  172. package/dist/client/transcription/BuilderTranscriptionCta.js.map +1 -1
  173. package/dist/client/transcription/use-live-transcription.js.map +1 -1
  174. package/dist/client/use-action.js.map +1 -1
  175. package/dist/client/use-agent-chat.js.map +1 -1
  176. package/dist/client/use-avatar.js.map +1 -1
  177. package/dist/client/use-chat-threads.js.map +1 -1
  178. package/dist/client/use-db-sync.js.map +1 -1
  179. package/dist/client/use-dev-mode.js.map +1 -1
  180. package/dist/client/use-pausing-interval.js.map +1 -1
  181. package/dist/client/use-send-to-agent-chat.js.map +1 -1
  182. package/dist/client/use-session.js.map +1 -1
  183. package/dist/client/useProductionAgent.js.map +1 -1
  184. package/dist/client/utils.js.map +1 -1
  185. package/dist/collab/agent-identity.js.map +1 -1
  186. package/dist/collab/agent-presence.js.map +1 -1
  187. package/dist/collab/awareness.js.map +1 -1
  188. package/dist/collab/client-struct.js.map +1 -1
  189. package/dist/collab/client.js.map +1 -1
  190. package/dist/collab/emitter.js.map +1 -1
  191. package/dist/collab/index.js.map +1 -1
  192. package/dist/collab/json-to-yjs.js.map +1 -1
  193. package/dist/collab/routes.js.map +1 -1
  194. package/dist/collab/storage.js.map +1 -1
  195. package/dist/collab/struct-routes.js.map +1 -1
  196. package/dist/collab/text-to-yjs.js.map +1 -1
  197. package/dist/collab/xml-ops.js.map +1 -1
  198. package/dist/collab/ydoc-manager.js.map +1 -1
  199. package/dist/credentials/index.js.map +1 -1
  200. package/dist/db/client.js.map +1 -1
  201. package/dist/db/create-get-db.js.map +1 -1
  202. package/dist/db/drizzle-config.js.map +1 -1
  203. package/dist/db/index.js.map +1 -1
  204. package/dist/db/migrations.js.map +1 -1
  205. package/dist/db/schema.js.map +1 -1
  206. package/dist/deploy/build.js.map +1 -1
  207. package/dist/deploy/route-discovery.js.map +1 -1
  208. package/dist/deploy/workspace-core.js.map +1 -1
  209. package/dist/deploy/workspace-deploy.js.map +1 -1
  210. package/dist/event-bus/bus.js.map +1 -1
  211. package/dist/event-bus/index.js.map +1 -1
  212. package/dist/event-bus/registry.js.map +1 -1
  213. package/dist/event-bus/types.js.map +1 -1
  214. package/dist/file-upload/builder.js.map +1 -1
  215. package/dist/file-upload/index.js.map +1 -1
  216. package/dist/file-upload/registry.js.map +1 -1
  217. package/dist/file-upload/types.js.map +1 -1
  218. package/dist/index.browser.js.map +1 -1
  219. package/dist/index.js.map +1 -1
  220. package/dist/integrations/adapters/email.js.map +1 -1
  221. package/dist/integrations/adapters/google-docs.js.map +1 -1
  222. package/dist/integrations/adapters/slack.js.map +1 -1
  223. package/dist/integrations/adapters/telegram.js.map +1 -1
  224. package/dist/integrations/adapters/whatsapp.js.map +1 -1
  225. package/dist/integrations/config-store.js.map +1 -1
  226. package/dist/integrations/google-docs-poller.js.map +1 -1
  227. package/dist/integrations/index.js.map +1 -1
  228. package/dist/integrations/internal-token.js.map +1 -1
  229. package/dist/integrations/pending-tasks-retry-job.js.map +1 -1
  230. package/dist/integrations/pending-tasks-store.js.map +1 -1
  231. package/dist/integrations/plugin.js.map +1 -1
  232. package/dist/integrations/task-queue-stats.js.map +1 -1
  233. package/dist/integrations/thread-mapping-store.js.map +1 -1
  234. package/dist/integrations/types.js.map +1 -1
  235. package/dist/integrations/webhook-handler.js.map +1 -1
  236. package/dist/jobs/cron.js.map +1 -1
  237. package/dist/jobs/index.js.map +1 -1
  238. package/dist/jobs/scheduler.js.map +1 -1
  239. package/dist/jobs/tools.js.map +1 -1
  240. package/dist/mcp/index.js.map +1 -1
  241. package/dist/mcp/server.js.map +1 -1
  242. package/dist/mcp-client/config.js.map +1 -1
  243. package/dist/mcp-client/hub-client.js.map +1 -1
  244. package/dist/mcp-client/hub-routes.js.map +1 -1
  245. package/dist/mcp-client/index.js.map +1 -1
  246. package/dist/mcp-client/manager.js.map +1 -1
  247. package/dist/mcp-client/remote-store.js.map +1 -1
  248. package/dist/mcp-client/routes.js.map +1 -1
  249. package/dist/mcp-client/visibility.js.map +1 -1
  250. package/dist/notifications/actions.js.map +1 -1
  251. package/dist/notifications/channels.js.map +1 -1
  252. package/dist/notifications/index.js.map +1 -1
  253. package/dist/notifications/registry.js.map +1 -1
  254. package/dist/notifications/routes.js.map +1 -1
  255. package/dist/notifications/store.js.map +1 -1
  256. package/dist/notifications/types.js.map +1 -1
  257. package/dist/oauth-tokens/google-refresh.js.map +1 -1
  258. package/dist/oauth-tokens/index.js.map +1 -1
  259. package/dist/oauth-tokens/store.js.map +1 -1
  260. package/dist/observability/cleanup-job.js.map +1 -1
  261. package/dist/observability/evals.js.map +1 -1
  262. package/dist/observability/experiments.js.map +1 -1
  263. package/dist/observability/feedback.js.map +1 -1
  264. package/dist/observability/index.js.map +1 -1
  265. package/dist/observability/plugin.js.map +1 -1
  266. package/dist/observability/routes.js.map +1 -1
  267. package/dist/observability/store.js.map +1 -1
  268. package/dist/observability/traces.js.map +1 -1
  269. package/dist/observability/types.js.map +1 -1
  270. package/dist/onboarding/default-steps.d.ts.map +1 -1
  271. package/dist/onboarding/default-steps.js +0 -1
  272. package/dist/onboarding/default-steps.js.map +1 -1
  273. package/dist/onboarding/index.js.map +1 -1
  274. package/dist/onboarding/plugin.js.map +1 -1
  275. package/dist/onboarding/registry.js.map +1 -1
  276. package/dist/onboarding/types.d.ts +0 -9
  277. package/dist/onboarding/types.d.ts.map +1 -1
  278. package/dist/onboarding/types.js.map +1 -1
  279. package/dist/org/accept-pending.js.map +1 -1
  280. package/dist/org/context.js.map +1 -1
  281. package/dist/org/handlers.js.map +1 -1
  282. package/dist/org/index.js.map +1 -1
  283. package/dist/org/migrations.js.map +1 -1
  284. package/dist/org/plugin.js.map +1 -1
  285. package/dist/org/schema.js.map +1 -1
  286. package/dist/org/types.js.map +1 -1
  287. package/dist/progress/actions.js.map +1 -1
  288. package/dist/progress/index.js.map +1 -1
  289. package/dist/progress/registry.js.map +1 -1
  290. package/dist/progress/routes.js.map +1 -1
  291. package/dist/progress/store.js.map +1 -1
  292. package/dist/progress/types.js.map +1 -1
  293. package/dist/resources/agents.js.map +1 -1
  294. package/dist/resources/emitter.js.map +1 -1
  295. package/dist/resources/handlers.js.map +1 -1
  296. package/dist/resources/index.js.map +1 -1
  297. package/dist/resources/metadata.js.map +1 -1
  298. package/dist/resources/script-helpers.js.map +1 -1
  299. package/dist/resources/store.js.map +1 -1
  300. package/dist/router/index.js.map +1 -1
  301. package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
  302. package/dist/scripts/agent-engines/manage-agent-engine.js.map +1 -1
  303. package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -1
  304. package/dist/scripts/agent-engines/test-agent-engine.js.map +1 -1
  305. package/dist/scripts/call-agent.js.map +1 -1
  306. package/dist/scripts/chat/index.js.map +1 -1
  307. package/dist/scripts/chat/open-chat.js.map +1 -1
  308. package/dist/scripts/chat/search-chats.js.map +1 -1
  309. package/dist/scripts/core-scripts.js.map +1 -1
  310. package/dist/scripts/db/check-scoping.js.map +1 -1
  311. package/dist/scripts/db/exec.js.map +1 -1
  312. package/dist/scripts/db/index.js.map +1 -1
  313. package/dist/scripts/db/migrate-user-api-keys.js.map +1 -1
  314. package/dist/scripts/db/patch.js.map +1 -1
  315. package/dist/scripts/db/query.js.map +1 -1
  316. package/dist/scripts/db/schema.js.map +1 -1
  317. package/dist/scripts/db/scoping.js.map +1 -1
  318. package/dist/scripts/db/wipe-leaked-builder-keys.js.map +1 -1
  319. package/dist/scripts/dev/index.js.map +1 -1
  320. package/dist/scripts/dev/list-files.js.map +1 -1
  321. package/dist/scripts/dev/read-file.js.map +1 -1
  322. package/dist/scripts/dev/search-files.js.map +1 -1
  323. package/dist/scripts/dev/shell.js.map +1 -1
  324. package/dist/scripts/dev/write-file.js.map +1 -1
  325. package/dist/scripts/docs/index.js.map +1 -1
  326. package/dist/scripts/docs/search.js.map +1 -1
  327. package/dist/scripts/index.js.map +1 -1
  328. package/dist/scripts/parse-args.js.map +1 -1
  329. package/dist/scripts/resources/delete-memory.js.map +1 -1
  330. package/dist/scripts/resources/delete.js.map +1 -1
  331. package/dist/scripts/resources/index.js.map +1 -1
  332. package/dist/scripts/resources/list.js.map +1 -1
  333. package/dist/scripts/resources/migrate-learnings.js.map +1 -1
  334. package/dist/scripts/resources/read.js.map +1 -1
  335. package/dist/scripts/resources/save-memory.js.map +1 -1
  336. package/dist/scripts/resources/write.js.map +1 -1
  337. package/dist/scripts/runner.js.map +1 -1
  338. package/dist/scripts/utils.d.ts.map +1 -1
  339. package/dist/scripts/utils.js +3 -2
  340. package/dist/scripts/utils.js.map +1 -1
  341. package/dist/secrets/index.js.map +1 -1
  342. package/dist/secrets/onboarding.js.map +1 -1
  343. package/dist/secrets/register-framework-secrets.js.map +1 -1
  344. package/dist/secrets/register.js.map +1 -1
  345. package/dist/secrets/routes.js.map +1 -1
  346. package/dist/secrets/schema.js.map +1 -1
  347. package/dist/secrets/storage.js.map +1 -1
  348. package/dist/secrets/substitution.js.map +1 -1
  349. package/dist/server/action-discovery.js.map +1 -1
  350. package/dist/server/action-routes.js.map +1 -1
  351. package/dist/server/agent-chat-plugin.js +1 -1
  352. package/dist/server/agent-chat-plugin.js.map +1 -1
  353. package/dist/server/agent-discovery.js.map +1 -1
  354. package/dist/server/agent-teams.js.map +1 -1
  355. package/dist/server/agents-bundle.js.map +1 -1
  356. package/dist/server/analytics.js.map +1 -1
  357. package/dist/server/app-base-path.js.map +1 -1
  358. package/dist/server/app-name.js.map +1 -1
  359. package/dist/server/app-url.js.map +1 -1
  360. package/dist/server/auth-plugin.js.map +1 -1
  361. package/dist/server/auth.js.map +1 -1
  362. package/dist/server/better-auth-instance.js.map +1 -1
  363. package/dist/server/builder-browser.js.map +1 -1
  364. package/dist/server/captcha.js.map +1 -1
  365. package/dist/server/cli-capture.js.map +1 -1
  366. package/dist/server/collab-plugin.js.map +1 -1
  367. package/dist/server/core-routes-plugin.js.map +1 -1
  368. package/dist/server/create-server.js.map +1 -1
  369. package/dist/server/credential-provider.js.map +1 -1
  370. package/dist/server/csrf.js.map +1 -1
  371. package/dist/server/date-utils.js.map +1 -1
  372. package/dist/server/design-token-utils.js.map +1 -1
  373. package/dist/server/desktop-sso.js.map +1 -1
  374. package/dist/server/email-template.js.map +1 -1
  375. package/dist/server/email-templates.js.map +1 -1
  376. package/dist/server/email.js.map +1 -1
  377. package/dist/server/framework-request-handler.js.map +1 -1
  378. package/dist/server/google-auth-plugin.js.map +1 -1
  379. package/dist/server/google-oauth.d.ts +1 -1
  380. package/dist/server/google-oauth.d.ts.map +1 -1
  381. package/dist/server/google-oauth.js +14 -6
  382. package/dist/server/google-oauth.js.map +1 -1
  383. package/dist/server/h3-helpers.js.map +1 -1
  384. package/dist/server/index.js.map +1 -1
  385. package/dist/server/local-migration.js.map +1 -1
  386. package/dist/server/missing-key.js.map +1 -1
  387. package/dist/server/oauth-helpers.js.map +1 -1
  388. package/dist/server/onboarding-html.js.map +1 -1
  389. package/dist/server/poll.js.map +1 -1
  390. package/dist/server/request-context.js.map +1 -1
  391. package/dist/server/resources-plugin.js.map +1 -1
  392. package/dist/server/schema-prompt.js.map +1 -1
  393. package/dist/server/script-discovery.js.map +1 -1
  394. package/dist/server/security-headers.js.map +1 -1
  395. package/dist/server/short-lived-token.js.map +1 -1
  396. package/dist/server/sse.js.map +1 -1
  397. package/dist/server/ssr-handler.js.map +1 -1
  398. package/dist/server/transcribe-voice.js.map +1 -1
  399. package/dist/server/voice-providers-status.js.map +1 -1
  400. package/dist/settings/handlers.js.map +1 -1
  401. package/dist/settings/index.js.map +1 -1
  402. package/dist/settings/org-settings.js.map +1 -1
  403. package/dist/settings/script-helpers.js.map +1 -1
  404. package/dist/settings/store.js.map +1 -1
  405. package/dist/settings/user-settings.js.map +1 -1
  406. package/dist/shared/agent-chat.js.map +1 -1
  407. package/dist/shared/agent-env.js.map +1 -1
  408. package/dist/shared/index.js.map +1 -1
  409. package/dist/shared/runtime.js.map +1 -1
  410. package/dist/shared/truncate.js.map +1 -1
  411. package/dist/sharing/access.d.ts +9 -1
  412. package/dist/sharing/access.d.ts.map +1 -1
  413. package/dist/sharing/access.js +11 -2
  414. package/dist/sharing/access.js.map +1 -1
  415. package/dist/sharing/actions/list-resource-shares.js.map +1 -1
  416. package/dist/sharing/actions/set-resource-visibility.js.map +1 -1
  417. package/dist/sharing/actions/share-resource.js.map +1 -1
  418. package/dist/sharing/actions/unshare-resource.js.map +1 -1
  419. package/dist/sharing/index.js.map +1 -1
  420. package/dist/sharing/registry.js.map +1 -1
  421. package/dist/sharing/schema.js.map +1 -1
  422. package/dist/tailwind.preset.js.map +1 -1
  423. package/dist/terminal/cli-registry.js.map +1 -1
  424. package/dist/terminal/index.js.map +1 -1
  425. package/dist/terminal/pty-server.js.map +1 -1
  426. package/dist/terminal/terminal-plugin.d.ts.map +1 -1
  427. package/dist/terminal/terminal-plugin.js +19 -4
  428. package/dist/terminal/terminal-plugin.js.map +1 -1
  429. package/dist/tools/actions.js.map +1 -1
  430. package/dist/tools/fetch-tool.js.map +1 -1
  431. package/dist/tools/html-shell.js.map +1 -1
  432. package/dist/tools/proxy-security.js.map +1 -1
  433. package/dist/tools/routes.js.map +1 -1
  434. package/dist/tools/schema.js.map +1 -1
  435. package/dist/tools/slots/routes.js.map +1 -1
  436. package/dist/tools/slots/schema.js.map +1 -1
  437. package/dist/tools/slots/store.js.map +1 -1
  438. package/dist/tools/store.js.map +1 -1
  439. package/dist/tools/theme.js.map +1 -1
  440. package/dist/tools/url-safety.js.map +1 -1
  441. package/dist/tracking/index.js.map +1 -1
  442. package/dist/tracking/providers.js.map +1 -1
  443. package/dist/tracking/registry.js.map +1 -1
  444. package/dist/tracking/types.js.map +1 -1
  445. package/dist/transcription/builder-transcription.js.map +1 -1
  446. package/dist/triggers/actions.js.map +1 -1
  447. package/dist/triggers/condition-evaluator.js.map +1 -1
  448. package/dist/triggers/dispatcher.js.map +1 -1
  449. package/dist/triggers/index.js.map +1 -1
  450. package/dist/triggers/types.js.map +1 -1
  451. package/dist/usage/store.js.map +1 -1
  452. package/dist/vite/action-types-plugin.js.map +1 -1
  453. package/dist/vite/agents-bundle-plugin.js.map +1 -1
  454. package/dist/vite/client.d.ts.map +1 -1
  455. package/dist/vite/client.js +4 -0
  456. package/dist/vite/client.js.map +1 -1
  457. package/dist/vite/index.js.map +1 -1
  458. package/package.json +1 -1
  459. package/dist/client/settings/ComingSoonSection.d.ts +0 -13
  460. package/dist/client/settings/ComingSoonSection.d.ts.map +0 -1
  461. package/dist/client/settings/ComingSoonSection.js +0 -10
  462. package/dist/client/settings/ComingSoonSection.js.map +0 -1
  463. package/dist/client/use-builder-enabled.d.ts +0 -17
  464. package/dist/client/use-builder-enabled.d.ts.map +0 -1
  465. package/dist/client/use-builder-enabled.js +0 -37
  466. package/dist/client/use-builder-enabled.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MentionPopover.js","sourceRoot":"","sources":["../../../src/client/composer/MentionPopover.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MentionPopover.js","sourceRoot":"","sources":["../../../src/client/composer/MentionPopover.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {\n useState,\n useEffect,\n useRef,\n useImperativeHandle,\n forwardRef,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport {\n IconFile,\n IconFolder,\n IconStack2,\n IconFileText,\n IconCheckbox,\n IconMail,\n IconUser,\n IconPresentation,\n IconMessageChatbot,\n IconTrash,\n IconPlus,\n IconHelp,\n IconHistory,\n IconTerminal2,\n} from \"@tabler/icons-react\";\nimport type { MentionItem, SkillResult, SlashCommand } from \"./types.js\";\n\nexport interface MentionPopoverRef {\n moveUp: () => void;\n moveDown: () => void;\n getSelectedIndex: () => number;\n getSelectedMention: () => MentionItem | null;\n getSelectedCommand: () => SlashCommand | null;\n}\n\ninterface MentionPopoverProps {\n type: \"@\" | \"/\";\n position: { top: number; left: number } | null;\n mentionItems: MentionItem[];\n skills: SkillResult[];\n commands?: SlashCommand[];\n hint?: string;\n isLoading: boolean;\n query: string;\n onSelectMention: (item: MentionItem) => void;\n onSelectSkill: (skill: SkillResult) => void;\n onSelectCommand?: (command: SlashCommand) => void;\n onClose: () => void;\n}\n\nconst iconProps = { size: 14, className: \"shrink-0 text-muted-foreground\" };\n\nfunction MentionItemIcon({ icon }: { icon?: string }) {\n switch (icon) {\n case \"folder\":\n return <IconFolder {...iconProps} />;\n case \"document\":\n return <IconFileText {...iconProps} />;\n case \"form\":\n return <IconCheckbox {...iconProps} />;\n case \"email\":\n return <IconMail {...iconProps} />;\n case \"user\":\n return <IconUser {...iconProps} />;\n case \"deck\":\n return <IconPresentation {...iconProps} />;\n case \"agent\":\n return <IconMessageChatbot {...iconProps} />;\n case \"file\":\n return <IconFile {...iconProps} />;\n default:\n return <IconFile {...iconProps} />;\n }\n}\n\nfunction CommandIcon({ icon }: { icon?: string }) {\n switch (icon) {\n case \"clear\":\n return <IconTrash {...iconProps} />;\n case \"new\":\n return <IconPlus {...iconProps} />;\n case \"help\":\n return <IconHelp {...iconProps} />;\n case \"history\":\n return <IconHistory {...iconProps} />;\n default:\n return <IconTerminal2 {...iconProps} />;\n }\n}\n\nfunction HintWithLink({ hint }: { hint: string }) {\n // If hint contains a URL, split it and render the URL as a link\n const urlMatch = hint.match(/(https?:\\/\\/\\S+)/);\n if (!urlMatch) return <>{hint}</>;\n const before = hint.slice(0, urlMatch.index);\n const url = urlMatch[1];\n return (\n <>\n {before}\n <a\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"underline hover:text-foreground\"\n >\n Learn more\n </a>\n </>\n );\n}\n\nfunction LoadingSkeleton() {\n return (\n <div className=\"space-y-1 p-1\">\n {[1, 2, 3].map((i) => (\n <div key={i} className=\"flex items-center gap-2 rounded px-2 py-1.5\">\n <div className=\"h-3.5 w-3.5 rounded bg-muted animate-pulse\" />\n <div\n className=\"h-3 rounded bg-muted animate-pulse\"\n style={{ width: `${60 + i * 20}px` }}\n />\n </div>\n ))}\n </div>\n );\n}\n\nfunction LoadingSkeletonRow() {\n return (\n <div className=\"flex items-center gap-2 rounded px-2 py-1.5\">\n <div className=\"h-3.5 w-3.5 rounded bg-muted animate-pulse\" />\n <div className=\"h-3 w-24 rounded bg-muted animate-pulse\" />\n </div>\n );\n}\n\nexport const MentionPopover = forwardRef<\n MentionPopoverRef,\n MentionPopoverProps\n>(function MentionPopover(props, ref) {\n const {\n type,\n position,\n mentionItems,\n skills,\n commands = [],\n hint,\n isLoading,\n query,\n onSelectMention,\n onSelectSkill,\n onSelectCommand,\n onClose,\n } = props;\n\n const [selectedIndex, setSelectedIndex] = useState(0);\n const listRef = useRef<HTMLDivElement>(null);\n\n const itemCount =\n type === \"@\" ? mentionItems.length : commands.length + skills.length;\n\n // Group mention items by section for @ popover\n const groupedMentions = React.useMemo(() => {\n if (type !== \"@\") return [];\n const groups = new Map<string, MentionItem[]>();\n for (const item of mentionItems) {\n const section = item.section || \"Other\";\n if (!groups.has(section)) groups.set(section, []);\n groups.get(section)!.push(item);\n }\n // Sort: Agents first, then Connected Agents, then template-specific,\n // then Files, then Other\n const sorted: { section: string; items: MentionItem[] }[] = [];\n const knownSections = new Set([\n \"Agents\",\n \"Connected Agents\",\n \"Files\",\n \"Other\",\n ]);\n // Agents first\n if (groups.has(\"Agents\")) {\n sorted.push({ section: \"Agents\", items: groups.get(\"Agents\")! });\n groups.delete(\"Agents\");\n }\n if (groups.has(\"Connected Agents\")) {\n sorted.push({\n section: \"Connected Agents\",\n items: groups.get(\"Connected Agents\")!,\n });\n groups.delete(\"Connected Agents\");\n }\n // Template-specific sections (anything not in knownSections)\n for (const [section, items] of groups) {\n if (!knownSections.has(section)) {\n sorted.push({ section, items });\n }\n }\n // Files\n if (groups.has(\"Files\")) {\n sorted.push({ section: \"Files\", items: groups.get(\"Files\")! });\n }\n // Other\n if (groups.has(\"Other\")) {\n sorted.push({ section: \"Other\", items: groups.get(\"Other\")! });\n }\n return sorted;\n }, [type, mentionItems]);\n\n // Flat list of mention items in section order for keyboard index tracking\n const flatMentionItems = React.useMemo(() => {\n return groupedMentions.flatMap((g) => g.items);\n }, [groupedMentions]);\n\n // Reset selection when items change\n useEffect(() => {\n setSelectedIndex(0);\n }, [mentionItems, skills, query]);\n\n // Scroll selected item into view\n useEffect(() => {\n const container = listRef.current;\n if (!container) return;\n // Find the actual item element by data attribute\n const selected = container.querySelector(\n `[data-mention-index=\"${selectedIndex}\"]`,\n ) as HTMLElement | undefined;\n if (selected) {\n selected.scrollIntoView({ block: \"nearest\" });\n }\n }, [selectedIndex]);\n\n useImperativeHandle(ref, () => ({\n moveUp: () => {\n setSelectedIndex((prev) =>\n prev <= 0 ? Math.max(0, itemCount - 1) : prev - 1,\n );\n },\n moveDown: () => {\n setSelectedIndex((prev) => (prev >= itemCount - 1 ? 0 : prev + 1));\n },\n getSelectedIndex: () => selectedIndex,\n getSelectedMention: () => flatMentionItems[selectedIndex] ?? null,\n getSelectedCommand: () => {\n if (type !== \"/\" || selectedIndex >= commands.length) return null;\n return commands[selectedIndex] ?? null;\n },\n }));\n\n if (!position) return null;\n\n const content = (\n <>\n {/* Backdrop to capture outside clicks */}\n <div className=\"fixed inset-0 z-[9998]\" onClick={onClose} />\n <div\n className=\"fixed z-[9999] w-[320px] overflow-y-auto rounded-lg border border-border bg-popover shadow-lg\"\n style={{\n bottom: `calc(100vh - ${position.top}px + 4px)`,\n left: Math.max(8, Math.min(position.left, window.innerWidth - 336)),\n maxHeight: Math.min(320, position.top - 8),\n }}\n >\n {isLoading && itemCount === 0 ? (\n <LoadingSkeleton />\n ) : itemCount === 0 ? (\n <div className=\"px-3 py-4 text-center text-xs text-muted-foreground\">\n {type === \"@\" ? (\n query ? (\n \"No results found\"\n ) : (\n \"Type to search...\"\n )\n ) : hint ? (\n <HintWithLink hint={hint} />\n ) : (\n \"No skills available\"\n )}\n </div>\n ) : (\n <div ref={listRef} className=\"p-1\">\n {isLoading && <LoadingSkeletonRow />}\n {type === \"@\"\n ? (() => {\n let flatIndex = 0;\n return groupedMentions.map((group) => (\n <div key={group.section}>\n <div className=\"px-2 pt-2 pb-1 text-[10px] font-medium text-muted-foreground/70 uppercase tracking-wider\">\n {group.section}\n </div>\n {group.items.map((item) => {\n const idx = flatIndex++;\n return (\n <button\n key={item.id}\n data-mention-index={idx}\n className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm ${\n idx === selectedIndex\n ? \"bg-accent text-accent-foreground\"\n : \"hover:bg-accent/50\"\n }`}\n onMouseEnter={() => setSelectedIndex(idx)}\n onClick={() => onSelectMention(item)}\n >\n <MentionItemIcon icon={item.icon} />\n <span className=\"truncate text-sm\">\n {item.label}\n </span>\n {item.description && (\n <span className=\"ml-auto shrink-0 truncate max-w-[160px] text-xs text-muted-foreground\">\n {item.description}\n </span>\n )}\n </button>\n );\n })}\n </div>\n ));\n })()\n : (() => {\n let idx = 0;\n return (\n <>\n {commands.length > 0 && (\n <div>\n <div className=\"px-2 pt-2 pb-1 text-[10px] font-medium text-muted-foreground/70 uppercase tracking-wider\">\n Commands\n </div>\n {commands.map((cmd) => {\n const i = idx++;\n return (\n <button\n key={cmd.name}\n data-mention-index={i}\n className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm ${\n i === selectedIndex\n ? \"bg-accent text-accent-foreground\"\n : \"hover:bg-accent/50\"\n }`}\n onMouseEnter={() => setSelectedIndex(i)}\n onClick={() => onSelectCommand?.(cmd)}\n >\n <CommandIcon icon={cmd.icon} />\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate text-sm\">\n /{cmd.name}\n </span>\n {cmd.description && (\n <span className=\"block truncate text-xs text-muted-foreground\">\n {cmd.description}\n </span>\n )}\n </span>\n </button>\n );\n })}\n </div>\n )}\n {skills.length > 0 && (\n <div>\n {commands.length > 0 && (\n <div className=\"px-2 pt-2 pb-1 text-[10px] font-medium text-muted-foreground/70 uppercase tracking-wider\">\n Skills\n </div>\n )}\n {(skills as SkillResult[]).map((skill) => {\n const i = idx++;\n return (\n <button\n key={skill.path}\n data-mention-index={i}\n className={`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm ${\n i === selectedIndex\n ? \"bg-accent text-accent-foreground\"\n : \"hover:bg-accent/50\"\n }`}\n onMouseEnter={() => setSelectedIndex(i)}\n onClick={() => onSelectSkill(skill)}\n >\n <IconStack2 {...iconProps} />\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate text-sm\">\n {skill.name}\n </span>\n {skill.description && (\n <span className=\"block truncate text-xs text-muted-foreground\">\n {skill.description}\n </span>\n )}\n </span>\n </button>\n );\n })}\n </div>\n )}\n </>\n );\n })()}\n </div>\n )}\n </div>\n </>\n );\n\n return createPortal(content, document.body);\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TiptapComposer.js","sourceRoot":"","sources":["../../../src/client/composer/TiptapComposer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TiptapComposer.js","sourceRoot":"","sources":["../../../src/client/composer/TiptapComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {\n useState,\n useRef,\n useEffect,\n useCallback,\n useImperativeHandle,\n useMemo,\n} from \"react\";\nimport {\n ComposerPrimitive,\n useComposer,\n useComposerRuntime,\n} from \"@assistant-ui/react\";\nimport { useEditor, EditorContent } from \"@tiptap/react\";\nimport StarterKit from \"@tiptap/starter-kit\";\nimport Placeholder from \"@tiptap/extension-placeholder\";\nimport { FileReference } from \"./extensions/FileReference.js\";\nimport { SkillReference } from \"./extensions/SkillReference.js\";\nimport { MentionReference } from \"./extensions/MentionReference.js\";\nimport { MentionPopover, type MentionPopoverRef } from \"./MentionPopover.js\";\nimport { useMentionSearch } from \"./use-mention-search.js\";\nimport { useSkills } from \"./use-skills.js\";\nimport {\n IconArrowUp,\n IconPlus,\n IconCheck,\n IconChevronDown,\n IconBulb,\n IconClock,\n IconBolt,\n IconTool,\n IconX,\n} from \"@tabler/icons-react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport type {\n MentionItem,\n SkillResult,\n Reference,\n SlashCommand,\n ComposerMode,\n} from \"./types.js\";\nimport { useVoiceDictation } from \"./useVoiceDictation.js\";\nimport { VoiceButton, VoiceRecordingOverlay } from \"./VoiceButton.js\";\nimport { ComposerPlusMenu } from \"./ComposerPlusMenu.js\";\nimport { sendToAgentChat } from \"../agent-chat.js\";\nimport { getComposerDraftKey } from \"./draft-key.js\";\n\nexport interface TiptapComposerHandle {\n focus(): void;\n}\n\nconst BUILT_IN_COMMANDS: SlashCommand[] = [\n { name: \"clear\", description: \"Start a new chat\", icon: \"clear\" },\n { name: \"new\", description: \"Start a new chat\", icon: \"new\" },\n { name: \"history\", description: \"Browse chat history\", icon: \"history\" },\n { name: \"help\", description: \"Show available commands\", icon: \"help\" },\n];\n\nconst COMPOSER_MODE_CONFIGS: Record<\n ComposerMode,\n {\n label: string;\n icon: React.ComponentType<{ className?: string }>;\n placeholder: string;\n messagePrefix: string;\n getContext: (prompt: string) => string;\n beforeSend?: () => void;\n }\n> = {\n skill: {\n label: \"Create Skill\",\n icon: IconBulb,\n placeholder: \"Describe the skill you want to create...\",\n messagePrefix: \"Create a skill: \",\n getContext: (prompt) =>\n `The user wants to create an agent skill. Their description: \"${prompt}\"\n\nFollow the create-skill pattern to build this. Before writing:\n\n1. **Determine the skill name** — derive a hyphen-case name from the description (e.g. \"code review\" → \"code-review\")\n2. **Determine the skill type** — Pattern (architectural rule), Workflow (step-by-step), or Generator (scaffolding)\n3. **Write the skill** as a personal resource at path \"skills/<name>.md\" using resource-write\n\nThe skill file MUST have YAML frontmatter with name and description (under 40 words), then markdown with:\n- Clear rule/purpose statement\n- Why this skill exists\n- How to follow it (with code examples where helpful)\n- Common violations to avoid\n- Related skills\n\nAfter creating, update the shared AGENTS.md resource to reference the new skill in its skills table.\n\nKeep the skill concise (under 500 lines) and actionable.`,\n },\n job: {\n label: \"Scheduled Task\",\n icon: IconClock,\n placeholder: \"Describe what should happen and when...\",\n messagePrefix: \"Create a recurring job: \",\n getContext: (prompt) =>\n `The user wants to create a recurring job. Their description: \"${prompt}\"\n\nUse the manage-jobs tool with action \"create\" to create this. You need to:\n1. Derive a hyphen-case name from the description\n2. Convert the schedule to a cron expression (e.g., \"every weekday at 9am\" → \"0 9 * * 1-5\")\n3. Write clear, self-contained instructions for what the agent should do each time the job runs\n4. Create it in personal scope\n\nThe job will run automatically on the schedule. Make the instructions specific — include which actions to call and what to do with results.`,\n },\n automation: {\n label: \"Create Automation\",\n icon: IconBolt,\n placeholder: \"Describe what you want to automate...\",\n messagePrefix: \"Create an automation: \",\n beforeSend: () => {\n window.dispatchEvent(\n new CustomEvent(\"agent-panel:set-mode\", {\n detail: { mode: \"chat\" },\n }),\n );\n },\n getContext: (prompt) =>\n `The user wants to create a new automation. Scope: personal. Their description: \"${prompt}\"\n\nUse manage-automations with action=define to create it. Ask clarifying questions if needed about what event to trigger on, conditions, and what actions to take.`,\n },\n tool: {\n label: \"Create Tool\",\n icon: IconTool,\n placeholder: \"Describe the interactive tool you want to build...\",\n messagePrefix: \"Create a tool: \",\n getContext: (prompt) =>\n `The user wants to create an interactive tool (mini app). Their description: \"${prompt}\"\n\nUse the create-tool action with Alpine.js HTML content. The tool runs as a sandboxed iframe with Tailwind CSS.\n\nAfter creating the tool, navigate the user to it with set-url-path using pathname \"/tools/<id>\".\n\nMake the tool functional and visually polished. Tools can use toolFetch() for external API calls, appAction()/appFetch() for app operations, toolData for tool-specific persistence, and dbQuery()/dbExec() only for existing app tables.`,\n },\n};\n\nfunction ComposerModeChip({\n mode,\n onRemove,\n}: {\n mode: ComposerMode;\n onRemove: () => void;\n}) {\n const config = COMPOSER_MODE_CONFIGS[mode];\n const Icon = config.icon;\n return (\n <span className=\"inline-flex items-center gap-1 rounded-md border border-border bg-muted/50 px-1.5 py-0.5 text-xs font-medium text-foreground\">\n <Icon className=\"h-3 w-3 text-muted-foreground\" />\n {config.label}\n <button\n type=\"button\"\n onClick={onRemove}\n className=\"ml-0.5 rounded-sm text-muted-foreground hover:text-foreground cursor-pointer\"\n >\n <IconX className=\"h-3 w-3\" />\n </button>\n </span>\n );\n}\n\ntype ExecMode = \"build\" | \"plan\";\n\ninterface TiptapComposerProps {\n placeholder?: string;\n disabled?: boolean;\n focusRef?: React.Ref<TiptapComposerHandle>;\n /** When provided, called instead of composerRuntime.send(). Used for queue mode. */\n onSubmit?: (text: string, references: Reference[]) => void;\n /** Custom action button (e.g. stop button) to render instead of the default send button. */\n actionButton?: React.ReactNode;\n /** Extra button to render alongside the default send button (e.g. stop while running). */\n extraActionButton?: React.ReactNode;\n /** Custom attachment button to render instead of ComposerPrimitive.AddAttachment. */\n attachButton?: React.ReactNode;\n /** Called when a slash command (e.g. /clear, /help) is executed */\n onSlashCommand?: (command: string) => void;\n /** Current execution mode (build/plan) */\n execMode?: ExecMode;\n /** Callback to change execution mode */\n onExecModeChange?: (mode: ExecMode) => void;\n /** Show the microphone button for voice dictation. Default true. */\n voiceEnabled?: boolean;\n /** Selected model override for this conversation */\n selectedModel?: string;\n /** Available models grouped by provider */\n availableModels?: Array<{\n engine: string;\n label: string;\n models: string[];\n configured: boolean;\n }>;\n /** Callback when user picks a model */\n onModelChange?: (model: string, engine: string) => void;\n /** Stable scope for persisted drafts, usually the active thread or tab id. */\n draftScope?: string;\n}\n\nfunction ModeSelector({\n mode,\n onChange,\n}: {\n mode: ExecMode;\n onChange: (mode: ExecMode) => void;\n}) {\n const [open, setOpen] = useState(false);\n\n return (\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <PopoverPrimitive.Trigger asChild>\n <button\n type=\"button\"\n className=\"shrink-0 flex items-center gap-1 rounded-md px-2 py-1 text-[12px] font-medium text-muted-foreground hover:text-foreground hover:bg-accent/50\"\n >\n {mode === \"build\" ? \"Act\" : \"Plan\"}\n <IconChevronDown className=\"h-3 w-3 opacity-60\" />\n </button>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n side=\"top\"\n align=\"end\"\n sideOffset={6}\n className=\"w-60 rounded-lg border border-border bg-popover shadow-lg z-50 py-1 animate-in fade-in-0 zoom-in-95\"\n style={{ fontSize: 13 }}\n >\n <button\n type=\"button\"\n onClick={() => {\n onChange(\"build\");\n setOpen(false);\n }}\n className=\"flex w-full items-center gap-3 px-3 py-2 hover:bg-accent/50 text-left\"\n >\n <div className=\"flex-1 min-w-0\">\n <span className=\"font-medium text-foreground text-[13px]\">\n Act\n </span>\n <p className=\"text-[11px] text-muted-foreground mt-0.5\">\n Generate and make edits directly\n </p>\n </div>\n {mode === \"build\" && (\n <IconCheck className=\"h-3.5 w-3.5 shrink-0 text-blue-500\" />\n )}\n </button>\n <button\n type=\"button\"\n onClick={() => {\n onChange(\"plan\");\n setOpen(false);\n }}\n className=\"flex w-full items-center gap-3 px-3 py-2 hover:bg-accent/50 text-left\"\n >\n <div className=\"flex-1 min-w-0\">\n <span className=\"font-medium text-foreground text-[13px]\">\n Plan\n </span>\n <p className=\"text-[11px] text-muted-foreground mt-0.5\">\n Collaborate on an approach before taking action\n </p>\n </div>\n {mode === \"plan\" && (\n <IconCheck className=\"h-3.5 w-3.5 shrink-0 text-blue-500\" />\n )}\n </button>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n );\n}\n\nconst FRIENDLY_MODEL_NAMES: Record<string, string> = {\n \"grok-code-fast\": \"Grok Code Fast\",\n \"qwen3-coder\": \"Qwen3 Coder\",\n \"kimi-k2-5\": \"Kimi K2.5\",\n \"deepseek-v3-1\": \"DeepSeek v3.1\",\n};\n\nfunction friendlyModelName(model: string): string {\n if (FRIENDLY_MODEL_NAMES[model]) return FRIENDLY_MODEL_NAMES[model];\n // Claude: claude-{tier}-{major}-{minor}[-dateYYYYMMDD] → Tier Major.Minor\n const claude = model.match(\n /^claude-(opus|sonnet|haiku)-(\\d+)-(\\d+)(?:-\\d{8,})?$/,\n );\n if (claude) {\n const tier = claude[1][0].toUpperCase() + claude[1].slice(1);\n return `${tier} ${claude[2]}.${claude[3]}`;\n }\n // GPT: gpt-{major}-{minor}[-suffix] or gpt-{major}.{minor}[-suffix]\n if (model.startsWith(\"gpt-\")) {\n const rest = model.slice(4);\n const gpt = rest.match(/^(\\d+)[.-](\\d+)(?:[.-](.+))?$/);\n if (gpt) {\n const suffix = gpt[3]\n ? \" \" +\n gpt[3]\n .split(\"-\")\n .map((s) => s[0].toUpperCase() + s.slice(1))\n .join(\" \")\n : \"\";\n return `GPT-${gpt[1]}.${gpt[2]}${suffix}`;\n }\n return `GPT-${rest}`;\n }\n if (/^o\\d/.test(model)) return model;\n // Gemini: gemini-{major}-{minor}-{variant}[-preview] → Gemini Major.Minor Variant\n const geminiVersioned = model.match(\n /^gemini-(\\d+)-(\\d+)-(.+?)(?:-preview)?$/,\n );\n if (geminiVersioned) {\n const variant = geminiVersioned[3]\n .split(\"-\")\n .map((s) => s[0].toUpperCase() + s.slice(1))\n .join(\" \");\n return `Gemini ${geminiVersioned[1]}.${geminiVersioned[2]} ${variant}`;\n }\n // Gemini: gemini-{version.parts}[-preview] → Gemini Version Parts\n const gemini = model.match(/^gemini-(.+?)(?:-preview)?$/);\n if (gemini) {\n const parts = gemini[1]\n .split(\"-\")\n .map((s) => s[0].toUpperCase() + s.slice(1))\n .join(\" \");\n return `Gemini ${parts}`;\n }\n return model;\n}\n\n/**\n * Deduplicate models to only the latest version per family.\n * e.g. [opus-4-7, opus-4-6, opus-4-5] → [opus-4-7]\n */\nfunction latestModelsOnly(models: string[]): string[] {\n const seen = new Set<string>();\n return models.filter((m) => {\n // Claude: family = tier (opus/sonnet/haiku)\n const claude = m.match(/^claude-(opus|sonnet|haiku)-/);\n if (claude) {\n if (seen.has(claude[1])) return false;\n seen.add(claude[1]);\n return true;\n }\n // GPT: family = gpt-{major} (e.g. gpt-5.4 and gpt-5.4-mini are different)\n // OpenAI reasoning: each is its own family\n // Gemini: family = gemini-{major} + variant\n const gemini = m.match(/^gemini-(\\d+(?:\\.\\d+)?)-(.+?)(?:-preview)?$/);\n if (gemini) {\n const family = gemini[2]; // flash, pro, etc.\n if (seen.has(`gemini-${family}`)) return false;\n seen.add(`gemini-${family}`);\n return true;\n }\n return true;\n });\n}\n\nfunction ModelSelector({\n model,\n engines,\n onChange,\n}: {\n model: string;\n engines: Array<{\n engine: string;\n label: string;\n models: string[];\n configured: boolean;\n }>;\n onChange: (model: string, engine: string) => void;\n}) {\n const [open, setOpen] = useState(false);\n\n return (\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <PopoverPrimitive.Trigger asChild>\n <button\n type=\"button\"\n className=\"shrink-0 flex items-center gap-1 rounded-md px-2 py-1 text-[12px] font-medium text-muted-foreground hover:text-foreground hover:bg-accent/50\"\n >\n {friendlyModelName(model)}\n <IconChevronDown className=\"h-3 w-3 opacity-60\" />\n </button>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n side=\"top\"\n align=\"end\"\n sideOffset={6}\n className=\"w-64 max-h-72 overflow-y-auto rounded-lg border border-border bg-popover shadow-lg z-50 py-1 animate-in fade-in-0 zoom-in-95\"\n style={{ fontSize: 13 }}\n >\n {engines.map((group) => {\n const models = latestModelsOnly(group.models);\n return (\n <div key={group.engine}>\n <div className=\"flex items-center gap-2 px-3 py-1.5\">\n <span className=\"text-[11px] font-medium text-muted-foreground uppercase tracking-wide\">\n {group.label}\n </span>\n {!group.configured && (\n <button\n type=\"button\"\n className=\"text-[10px] text-muted-foreground/60 hover:text-foreground cursor-pointer\"\n onClick={() => {\n window.dispatchEvent(\n new CustomEvent(\"agent-panel:open-settings\"),\n );\n setOpen(false);\n }}\n >\n needs API key\n </button>\n )}\n </div>\n {models.map((m) => (\n <button\n key={m}\n type=\"button\"\n onClick={() => {\n if (!group.configured) {\n window.dispatchEvent(\n new CustomEvent(\"agent-panel:open-settings\"),\n );\n setOpen(false);\n return;\n }\n onChange(m, group.engine);\n setOpen(false);\n }}\n className={`flex w-full items-center gap-3 px-3 py-1.5 text-left ${\n group.configured\n ? \"hover:bg-accent/50\"\n : \"opacity-40 cursor-default\"\n }`}\n >\n <span className=\"flex-1 min-w-0 text-[13px] text-foreground truncate\">\n {friendlyModelName(m)}\n </span>\n {m === model && group.configured && (\n <IconCheck className=\"h-3.5 w-3.5 shrink-0 text-blue-500\" />\n )}\n </button>\n ))}\n </div>\n );\n })}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n );\n}\n\ntype PopoverState = {\n type: \"@\" | \"/\";\n position: { top: number; left: number };\n startPos: number;\n query: string;\n} | null;\n\nexport function TiptapComposer({\n placeholder = \"Message agent...\",\n disabled = false,\n focusRef,\n onSubmit,\n actionButton,\n extraActionButton,\n attachButton,\n onSlashCommand,\n execMode,\n onExecModeChange,\n voiceEnabled = true,\n selectedModel,\n availableModels,\n onModelChange,\n draftScope,\n}: TiptapComposerProps) {\n const [popover, setPopover] = useState<PopoverState>(null);\n const popoverRef = useRef<MentionPopoverRef>(null);\n const composerRuntime = useComposerRuntime();\n const [editorHasText, setEditorHasText] = useState(false);\n const composerText = useComposer((state) => state.text);\n const canSend = editorHasText && !disabled;\n const [composerMode, setComposerMode] = useState<ComposerMode | null>(null);\n const composerModeRef = useRef<ComposerMode | null>(null);\n const isMac =\n typeof navigator !== \"undefined\" &&\n /Mac|iPhone|iPad/.test(navigator.userAgent);\n\n // Refs for values accessed in handleKeyDown (ProseMirror doesn't re-bind)\n const popoverStateRef = useRef<PopoverState>(null);\n const execModeRef = useRef(execMode);\n execModeRef.current = execMode;\n const onExecModeChangeRef = useRef(onExecModeChange);\n onExecModeChangeRef.current = onExecModeChange;\n\n const { items: mentionItems, isLoading: mentionsLoading } = useMentionSearch(\n popover?.type === \"@\" ? popover.query : \"\",\n popover?.type === \"@\",\n );\n\n const {\n skills,\n hint,\n isLoading: skillsLoading,\n } = useSkills(popover?.type === \"/\");\n\n const filteredCommands = useMemo(() => {\n if (!popover || popover.type !== \"/\") return BUILT_IN_COMMANDS;\n const q = popover.query.toLowerCase();\n if (!q) return BUILT_IN_COMMANDS;\n return BUILT_IN_COMMANDS.filter(\n (c) =>\n c.name.toLowerCase().includes(q) ||\n c.description.toLowerCase().includes(q),\n );\n }, [popover]);\n\n const filteredSkills = useMemo(() => {\n if (!popover || popover.type !== \"/\") return skills;\n const q = popover.query.toLowerCase();\n if (!q) return skills;\n return skills.filter(\n (s) =>\n s.name.toLowerCase().includes(q) ||\n s.description?.toLowerCase().includes(q),\n );\n }, [skills, popover]);\n\n // Keep refs in sync with state\n const mentionItemsRef = useRef(mentionItems);\n mentionItemsRef.current = mentionItems;\n const filteredCommandsRef = useRef(filteredCommands);\n filteredCommandsRef.current = filteredCommands;\n const filteredSkillsRef = useRef(filteredSkills);\n filteredSkillsRef.current = filteredSkills;\n const onSlashCommandRef = useRef(onSlashCommand);\n onSlashCommandRef.current = onSlashCommand;\n\n const closePopover = useCallback(() => {\n setPopover(null);\n popoverStateRef.current = null;\n }, []);\n\n // Persist draft to localStorage so hot-reloads don't lose the prompt\n const draftKey = getComposerDraftKey(draftScope);\n const draftTimerRef = useRef<ReturnType<typeof setTimeout>>(undefined);\n // Tiptap reads extension config once at init; ref keeps runtime prop\n // changes visible to Placeholder's function form.\n const placeholderRef = useRef(placeholder);\n useEffect(() => {\n placeholderRef.current = composerMode\n ? COMPOSER_MODE_CONFIGS[composerMode].placeholder\n : placeholder;\n }, [placeholder, composerMode]);\n\n const editor = useEditor({\n extensions: [\n StarterKit.configure({\n heading: false,\n horizontalRule: false,\n bulletList: false,\n orderedList: false,\n listItem: false,\n blockquote: false,\n codeBlock: false,\n strike: false,\n italic: false,\n bold: false,\n code: false,\n }),\n Placeholder.configure({\n placeholder: () => placeholderRef.current,\n emptyEditorClass: \"is-editor-empty\",\n showOnlyCurrent: false,\n }),\n FileReference,\n SkillReference,\n MentionReference,\n ],\n editable: !disabled,\n onCreate: ({ editor: ed }) => {\n // Restore draft on mount\n try {\n const saved = localStorage.getItem(draftKey);\n if (saved) {\n ed.commands.setContent(saved);\n ed.commands.focus(\"end\");\n setEditorHasText(ed.state.doc.textContent.trim().length > 0);\n }\n } catch {}\n },\n onUpdate: ({ editor: ed }) => {\n // Drive the send button's enabled state from the actual editor contents;\n // the composer runtime is only synced on submit, so its isEmpty lags.\n let hasContent = ed.state.doc.textContent.trim().length > 0;\n if (!hasContent) {\n ed.state.doc.descendants((node: any) => {\n if (\n node.type.name === \"mentionReference\" ||\n node.type.name === \"fileReference\" ||\n node.type.name === \"skillReference\"\n ) {\n hasContent = true;\n return false;\n }\n return true;\n });\n }\n setEditorHasText(hasContent);\n\n // Debounce-save draft to localStorage\n clearTimeout(draftTimerRef.current);\n draftTimerRef.current = setTimeout(() => {\n try {\n const html = ed.getHTML();\n const isEmpty = !ed.state.doc.textContent.trim();\n if (isEmpty) {\n localStorage.removeItem(draftKey);\n } else {\n localStorage.setItem(draftKey, html);\n }\n } catch {}\n }, 300);\n },\n editorProps: {\n attributes: {\n class:\n \"flex-1 resize-none bg-transparent text-sm text-foreground outline-none leading-[1.625rem] min-h-[3.25rem] max-h-[10rem] overflow-y-auto\",\n },\n handlePaste: (_view, event) => {\n const files = Array.from(event.clipboardData?.files ?? []).filter(\n (file) => file.type.startsWith(\"image/\"),\n );\n if (files.length === 0) return false;\n\n event.preventDefault();\n void Promise.all(\n files.map((file) => {\n // SimpleImageAttachmentAdapter uses file.name as the attachment id.\n // Clipboard images (e.g. screenshots) are typically all named\n // \"image.png\", so a second paste would replace the first instead of\n // appending. Prepend a unique token so each paste gets a distinct id.\n const uniqueName = `${Date.now()}-${Math.random().toString(36).slice(2)}-${file.name}`;\n return composerRuntime.addAttachment(\n new File([file], uniqueName, { type: file.type }),\n );\n }),\n ).catch((error) => {\n console.error(\"Error adding pasted attachment:\", error);\n });\n return true;\n },\n handleKeyDown: (view, event) => {\n const pop = popoverStateRef.current;\n\n // Handle popover keyboard nav\n if (pop) {\n if (event.key === \"ArrowUp\") {\n event.preventDefault();\n popoverRef.current?.moveUp();\n return true;\n }\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n popoverRef.current?.moveDown();\n return true;\n }\n if (event.key === \"Enter\") {\n event.preventDefault();\n const idx = popoverRef.current?.getSelectedIndex() ?? 0;\n const currentCommands = filteredCommandsRef.current;\n const currentSkills = filteredSkillsRef.current;\n if (pop.type === \"@\") {\n const item = popoverRef.current?.getSelectedMention();\n if (item) selectMention(view, pop, item);\n } else if (pop.type === \"/\") {\n const cmd = popoverRef.current?.getSelectedCommand();\n if (cmd) {\n executeCommand(view, pop, cmd);\n } else {\n const skillIdx = idx - currentCommands.length;\n if (currentSkills[skillIdx]) {\n selectSkill(view, pop, currentSkills[skillIdx]);\n }\n }\n }\n return true;\n }\n if (event.key === \"Escape\") {\n event.preventDefault();\n popoverStateRef.current = null;\n setPopover(null);\n return true;\n }\n if (event.key === \" \" && pop.query === \"\") {\n popoverStateRef.current = null;\n setPopover(null);\n return false;\n }\n }\n\n // Backspace removes composer mode chip when editor is empty\n if (event.key === \"Backspace\" && composerModeRef.current) {\n const { from, to } = view.state.selection;\n if (\n view.state.doc.textContent.trim() === \"\" &&\n from === to &&\n from <= 1\n ) {\n setComposerMode(null);\n composerModeRef.current = null;\n return true;\n }\n }\n\n // Shift+Tab toggles build/plan mode\n if (event.key === \"Tab\" && event.shiftKey) {\n event.preventDefault();\n const current = execModeRef.current;\n const cb = onExecModeChangeRef.current;\n if (current && cb) {\n cb(current === \"build\" ? \"plan\" : \"build\");\n }\n return true;\n }\n\n // Submit on Enter (Shift+Enter for newline)\n if (\n event.key === \"Enter\" &&\n !event.shiftKey &&\n !event.metaKey &&\n !event.ctrlKey\n ) {\n event.preventDefault();\n submitComposer();\n return true;\n }\n\n // Detect @ trigger — only when preceded by start-of-text, space, or newline\n // (not after alphanumeric chars, which would indicate an email address)\n if (event.key === \"@\") {\n const { from } = view.state.selection;\n const textBefore = view.state.doc.textBetween(\n Math.max(0, from - 1),\n from,\n );\n if (from === 1 || textBefore === \"\" || /\\s/.test(textBefore)) {\n const coords = view.coordsAtPos(from);\n setTimeout(() => {\n const state: PopoverState = {\n type: \"@\",\n position: { top: coords.top, left: coords.left },\n startPos: view.state.selection.from,\n query: \"\",\n };\n popoverStateRef.current = state;\n setPopover(state);\n }, 0);\n }\n return false;\n }\n\n // Detect / trigger (only at start of line or after whitespace)\n if (event.key === \"/\") {\n const { from } = view.state.selection;\n const textBefore = view.state.doc.textBetween(\n Math.max(0, from - 1),\n from,\n );\n if (from === 1 || textBefore === \"\" || /\\s/.test(textBefore)) {\n const coords = view.coordsAtPos(from);\n setTimeout(() => {\n const state: PopoverState = {\n type: \"/\",\n position: { top: coords.top, left: coords.left },\n startPos: view.state.selection.from,\n query: \"\",\n };\n popoverStateRef.current = state;\n setPopover(state);\n }, 0);\n }\n return false;\n }\n\n return false;\n },\n },\n });\n\n useImperativeHandle(focusRef, () => ({\n focus() {\n editor?.commands.focus(\"end\");\n },\n }));\n\n const handleSelectMode = useCallback(\n (mode: ComposerMode) => {\n setComposerMode(mode);\n composerModeRef.current = mode;\n setTimeout(() => editor?.commands.focus(\"end\"), 50);\n },\n [editor],\n );\n\n // --- Live voice transcription: text appears in the editor as the user speaks ---\n const voiceAnchorRef = useRef<number | null>(null);\n const prevVoiceInsertRef = useRef(\"\");\n\n const handleLiveUpdate = useCallback(\n (finalText: string, interimText: string) => {\n const ed = editor;\n if (!ed) return;\n\n if (voiceAnchorRef.current == null) {\n const { from } = ed.state.selection;\n const prevChar =\n from > 1 ? ed.state.doc.textBetween(from - 1, from) : \"\";\n if (prevChar && !/\\s/.test(prevChar)) {\n ed.chain().insertContent(\" \").run();\n }\n voiceAnchorRef.current = ed.state.selection.from;\n prevVoiceInsertRef.current = \"\";\n }\n\n const anchor = voiceAnchorRef.current;\n const prevLen = prevVoiceInsertRef.current.length;\n const newText = finalText + interimText;\n\n if (newText === prevVoiceInsertRef.current) return;\n\n ed.chain()\n .deleteRange({ from: anchor, to: anchor + prevLen })\n .insertContentAt(anchor, newText)\n .run();\n\n prevVoiceInsertRef.current = newText;\n },\n [editor],\n );\n\n const insertTranscript = useCallback(\n (text: string) => {\n const ed = editor;\n if (!ed) return;\n\n const anchor = voiceAnchorRef.current;\n if (anchor != null) {\n const prevLen = prevVoiceInsertRef.current.length;\n if (text) {\n ed.chain()\n .focus()\n .deleteRange({ from: anchor, to: anchor + prevLen })\n .insertContentAt(anchor, text + \" \")\n .run();\n } else if (prevLen > 0) {\n ed.chain()\n .deleteRange({ from: anchor, to: anchor + prevLen })\n .run();\n }\n voiceAnchorRef.current = null;\n prevVoiceInsertRef.current = \"\";\n } else if (text) {\n const { from } = ed.state.selection;\n const prevChar =\n from > 1 ? ed.state.doc.textBetween(from - 1, from) : \"\";\n const needsLead = prevChar && !/\\s/.test(prevChar);\n ed.chain()\n .focus()\n .insertContent((needsLead ? \" \" : \"\") + text + \" \")\n .run();\n }\n },\n [editor],\n );\n\n const voice = useVoiceDictation({\n onTranscript: insertTranscript,\n onLiveUpdate: handleLiveUpdate,\n });\n\n // Clean up live text if voice session ends without a final transcript (cancel/error)\n useEffect(() => {\n if (voice.state === \"idle\" && voiceAnchorRef.current != null) {\n const anchor = voiceAnchorRef.current;\n const prevLen = prevVoiceInsertRef.current.length;\n if (editor && prevLen > 0) {\n editor\n .chain()\n .deleteRange({ from: anchor, to: anchor + prevLen })\n .run();\n }\n voiceAnchorRef.current = null;\n prevVoiceInsertRef.current = \"\";\n }\n }, [voice.state, editor]);\n\n // Global shortcut: Cmd/Ctrl + Shift + M toggles dictation. Escape cancels\n // while recording. Scoped to avoid firing when focus is outside the app.\n useEffect(() => {\n if (!voiceEnabled || !voice.supported) return;\n const handler = (e: KeyboardEvent) => {\n const isToggleCombo =\n e.key.toLowerCase() === \"m\" &&\n e.shiftKey &&\n (e.metaKey || e.ctrlKey) &&\n !e.altKey;\n if (isToggleCombo) {\n e.preventDefault();\n if (voice.state === \"recording\" || voice.state === \"starting\") {\n voice.stop();\n } else if (voice.state !== \"transcribing\") {\n void voice.start();\n }\n return;\n }\n if (\n e.key === \"Escape\" &&\n (voice.state === \"recording\" || voice.state === \"starting\")\n ) {\n e.preventDefault();\n voice.cancel();\n }\n };\n window.addEventListener(\"keydown\", handler);\n return () => window.removeEventListener(\"keydown\", handler);\n }, [voiceEnabled, voice]);\n\n const extractComposerPayload = useCallback(() => {\n const ed = editor;\n if (!ed) {\n return { text: \"\", references: [] as Reference[] };\n }\n\n const references: Reference[] = [];\n\n // Build text that preserves @mentions (getText() strips them).\n // Walk the document and reconstruct with @name for mention/file/skill nodes.\n const textParts: string[] = [];\n ed.state.doc.descendants((node: any) => {\n if (node.isText) {\n textParts.push(node.text);\n } else if (node.type.name === \"mentionReference\") {\n textParts.push(`@[${node.attrs.label}|${node.attrs.icon || \"file\"}]`);\n } else if (node.type.name === \"fileReference\") {\n const label = node.attrs.path?.split(\"/\").pop() || node.attrs.path;\n textParts.push(`@[${label}|file]`);\n } else if (node.type.name === \"skillReference\") {\n textParts.push(`/${node.attrs.name}`);\n } else if (node.type.name === \"hardBreak\") {\n textParts.push(\"\\n\");\n } else if (\n node.type.name === \"paragraph\" &&\n textParts.length > 0 &&\n textParts[textParts.length - 1] !== \"\\n\"\n ) {\n textParts.push(\"\\n\");\n }\n });\n const text = textParts.join(\"\").trim();\n\n ed.state.doc.descendants((node: any) => {\n if (node.type.name === \"fileReference\") {\n // Legacy support\n references.push({\n type: \"file\",\n path: node.attrs.path,\n name: node.attrs.path?.split(\"/\").pop() || node.attrs.path,\n source: node.attrs.source || \"codebase\",\n });\n } else if (node.type.name === \"mentionReference\") {\n const refType = node.attrs.refType;\n references.push({\n type:\n refType === \"file\"\n ? \"file\"\n : refType === \"agent\"\n ? \"agent\"\n : refType === \"custom-agent\"\n ? \"custom-agent\"\n : \"mention\",\n path: node.attrs.refPath || \"\",\n name: node.attrs.label,\n source: node.attrs.source,\n refType: node.attrs.refType,\n refId: node.attrs.refId,\n });\n } else if (node.type.name === \"skillReference\") {\n references.push({\n type: \"skill\",\n path: node.attrs.path,\n name: node.attrs.name,\n source: node.attrs.source || \"codebase\",\n });\n }\n });\n\n return { text, references };\n }, [editor]);\n\n const syncComposerState = useCallback(() => {\n const { text, references } = extractComposerPayload();\n composerRuntime.setText(text);\n composerRuntime.setRunConfig(\n references.length > 0 ? { custom: { references } } : {},\n );\n return { text, references };\n }, [composerRuntime, extractComposerPayload]);\n\n const submitComposer = useCallback(() => {\n const ed = editor;\n if (!ed) return;\n\n const { text, references } = syncComposerState();\n if (!text.trim() && references.length === 0) return;\n\n // Intercept slash commands typed directly (e.g. \"/clear\" + Enter)\n const trimmed = text.trim();\n if (trimmed.startsWith(\"/\") && references.length === 0) {\n const cmdName = trimmed.slice(1).toLowerCase();\n const matched = BUILT_IN_COMMANDS.find((c) => c.name === cmdName);\n if (matched) {\n ed.commands.clearContent();\n try {\n localStorage.removeItem(draftKey);\n } catch {}\n closePopover();\n onSlashCommandRef.current?.(matched.name);\n return;\n }\n }\n\n // Composer mode: send with context via agent chat bridge\n if (composerMode) {\n const config = COMPOSER_MODE_CONFIGS[composerMode];\n config.beforeSend?.();\n sendToAgentChat({\n message: `${config.messagePrefix}${trimmed}`,\n context: config.getContext(trimmed),\n submit: true,\n });\n ed.commands.clearContent();\n setEditorHasText(false);\n setComposerMode(null);\n composerModeRef.current = null;\n try {\n localStorage.removeItem(draftKey);\n } catch {}\n closePopover();\n return;\n }\n\n if (onSubmit) {\n onSubmit(text, references);\n } else {\n composerRuntime.send();\n }\n ed.commands.clearContent();\n setEditorHasText(false);\n try {\n localStorage.removeItem(draftKey);\n } catch {}\n closePopover();\n }, [\n closePopover,\n composerMode,\n composerRuntime,\n editor,\n onSubmit,\n syncComposerState,\n ]);\n\n // Helper functions that operate on the editor view directly\n // These are called from handleKeyDown which can't use React state\n function selectMention(\n view: any,\n pop: NonNullable<PopoverState>,\n item: MentionItem,\n ) {\n const ed = editor;\n if (!ed) return;\n const currentPos = ed.state.selection.from;\n // startPos is after the trigger char, so -1 to include the @ or /\n const deleteFrom = Math.max(0, pop.startPos - 1);\n ed.chain()\n .focus()\n .deleteRange({ from: deleteFrom, to: currentPos })\n .insertContent({\n type: \"mentionReference\",\n attrs: {\n label: item.label,\n icon: item.icon || \"file\",\n source: item.source,\n refType: item.refType,\n refId: item.refId || null,\n refPath: item.refPath || null,\n },\n })\n .insertContent(\" \")\n .run();\n popoverStateRef.current = null;\n setPopover(null);\n }\n\n function executeCommand(\n view: any,\n pop: NonNullable<PopoverState>,\n command: SlashCommand,\n ) {\n const ed = editor;\n if (!ed) return;\n const currentPos = ed.state.selection.from;\n const deleteFrom = Math.max(0, pop.startPos - 1);\n ed.chain().focus().deleteRange({ from: deleteFrom, to: currentPos }).run();\n popoverStateRef.current = null;\n setPopover(null);\n onSlashCommandRef.current?.(command.name);\n }\n\n function selectSkill(\n view: any,\n pop: NonNullable<PopoverState>,\n skill: SkillResult,\n ) {\n const ed = editor;\n if (!ed) return;\n const currentPos = ed.state.selection.from;\n const deleteFrom = Math.max(0, pop.startPos - 1);\n ed.chain()\n .focus()\n .deleteRange({ from: deleteFrom, to: currentPos })\n .insertContent({\n type: \"skillReference\",\n attrs: { name: skill.name, path: skill.path, source: skill.source },\n })\n .insertContent(\" \")\n .run();\n popoverStateRef.current = null;\n setPopover(null);\n }\n\n // Popover select handlers for click-based selection (from MentionPopover)\n const handleSelectMention = useCallback(\n (item: MentionItem) => {\n if (!editor || !popover) return;\n const currentPos = editor.state.selection.from;\n const deleteFrom = Math.max(0, popover.startPos - 1);\n editor\n .chain()\n .focus()\n .deleteRange({ from: deleteFrom, to: currentPos })\n .insertContent({\n type: \"mentionReference\",\n attrs: {\n label: item.label,\n icon: item.icon || \"file\",\n source: item.source,\n refType: item.refType,\n refId: item.refId || null,\n refPath: item.refPath || null,\n },\n })\n .insertContent(\" \")\n .run();\n closePopover();\n },\n [editor, popover, closePopover],\n );\n\n const handleSelectCommand = useCallback(\n (command: SlashCommand) => {\n if (!editor || !popover) return;\n const currentPos = editor.state.selection.from;\n const deleteFrom = Math.max(0, popover.startPos - 1);\n editor\n .chain()\n .focus()\n .deleteRange({ from: deleteFrom, to: currentPos })\n .run();\n closePopover();\n onSlashCommand?.(command.name);\n },\n [editor, popover, closePopover, onSlashCommand],\n );\n\n const handleSelectSkill = useCallback(\n (skill: SkillResult) => {\n if (!editor || !popover) return;\n const currentPos = editor.state.selection.from;\n const deleteFrom = Math.max(0, popover.startPos - 1);\n editor\n .chain()\n .focus()\n .deleteRange({ from: deleteFrom, to: currentPos })\n .insertContent({\n type: \"skillReference\",\n attrs: { name: skill.name, path: skill.path, source: skill.source },\n })\n .insertContent(\" \")\n .run();\n closePopover();\n },\n [editor, popover, closePopover],\n );\n\n // Track query text as user types after trigger\n useEffect(() => {\n if (!editor || !popover) return;\n\n const updateHandler = () => {\n syncComposerState();\n\n const pop = popoverStateRef.current;\n if (!pop) return;\n const { from } = editor.state.selection;\n const { startPos, type } = pop;\n\n if (from < startPos) {\n closePopover();\n return;\n }\n\n const text = editor.state.doc.textBetween(startPos, from);\n\n // Verify the trigger character is still there\n if (startPos > 0) {\n const triggerChar = editor.state.doc.textBetween(\n startPos - 1,\n startPos,\n );\n if (\n (type === \"@\" && triggerChar !== \"@\") ||\n (type === \"/\" && triggerChar !== \"/\")\n ) {\n closePopover();\n return;\n }\n }\n\n const updated = { ...pop, query: text };\n popoverStateRef.current = updated;\n setPopover(updated);\n };\n\n editor.on(\"update\", updateHandler);\n editor.on(\"selectionUpdate\", updateHandler);\n return () => {\n editor.off(\"update\", updateHandler);\n editor.off(\"selectionUpdate\", updateHandler);\n };\n }, [editor, popover, closePopover, syncComposerState]);\n\n useEffect(() => {\n if (!editor) return;\n if (composerText !== \"\") return;\n if (editor.isEmpty) return;\n editor.commands.clearContent();\n }, [composerText, editor]);\n\n // Tiptap only reads `editable` at init; prop changes need setEditable.\n useEffect(() => {\n if (!editor) return;\n editor.setEditable(!disabled);\n if (disabled) editor.commands.blur();\n }, [editor, disabled]);\n\n return (\n <>\n <style>{`\n .aui-composer .ProseMirror p.is-editor-empty:first-child::before {\n content: attr(data-placeholder);\n color: var(--color-muted-foreground);\n opacity: 0.5;\n float: left;\n height: 0;\n pointer-events: none;\n }\n `}</style>\n {composerMode && (\n <div className=\"px-2.5 pt-2 pb-0\">\n <ComposerModeChip\n mode={composerMode}\n onRemove={() => {\n setComposerMode(null);\n composerModeRef.current = null;\n editor?.commands.focus(\"end\");\n }}\n />\n </div>\n )}\n <div className={composerMode ? \"px-2 pt-1 pb-1\" : \"px-2 pt-2 pb-1\"}>\n <EditorContent\n editor={editor}\n className=\"aui-composer flex-1 min-w-0 [&_.ProseMirror]:outline-none [&_.ProseMirror_p]:m-0 px-0.5\"\n />\n </div>\n {voiceEnabled && <VoiceRecordingOverlay voice={voice} />}\n <div className=\"flex items-center gap-1 px-2 py-1.5\">\n {attachButton ?? <ComposerPlusMenu onSelectMode={handleSelectMode} />}\n <div className=\"flex-1\" />\n {actionButton ?? (\n <>\n {selectedModel && availableModels && onModelChange && (\n <ModelSelector\n model={selectedModel}\n engines={availableModels}\n onChange={onModelChange}\n />\n )}\n {execMode && onExecModeChange && (\n <ModeSelector mode={execMode} onChange={onExecModeChange} />\n )}\n {voiceEnabled && (\n <VoiceButton voice={voice} isMac={isMac} disabled={disabled} />\n )}\n {extraActionButton}\n <button\n type=\"button\"\n onClick={submitComposer}\n disabled={!canSend}\n className=\"shrink-0 flex h-7 w-7 items-center justify-center rounded-md bg-primary text-primary-foreground hover:opacity-90 disabled:opacity-30 disabled:cursor-not-allowed\"\n title=\"Send message\"\n >\n <IconArrowUp className=\"h-3.5 w-3.5\" />\n </button>\n </>\n )}\n </div>\n <MentionPopover\n ref={popoverRef}\n type={popover?.type ?? \"@\"}\n position={popover?.position ?? null}\n mentionItems={mentionItems}\n skills={filteredSkills}\n commands={filteredCommands}\n hint={hint}\n isLoading={popover?.type === \"@\" ? mentionsLoading : skillsLoading}\n query={popover?.query ?? \"\"}\n onSelectMention={handleSelectMention}\n onSelectSkill={handleSelectSkill}\n onSelectCommand={handleSelectCommand}\n onClose={closePopover}\n />\n </>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceButton.js","sourceRoot":"","sources":["../../../src/client/composer/VoiceButton.tsx"],"names":[],"mappings":";AAWA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,KAAK,GACN,MAAM,qBAAqB,CAAC;AAS7B,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAoB;IACtE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAEhD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,SAAS,GAAG,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,CAAC;IAChE,MAAM,YAAY,GAAG,KAAK,KAAK,cAAc,CAAC;IAE9C,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,YAAY;YACZ,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC;IAEpD,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,SAAS;YAAE,IAAI,EAAE,CAAC;aACjB,IAAI,CAAC,YAAY;YAAE,KAAK,KAAK,EAAE,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAClC,KAAK,EAAE,KAAK,gBACA,KAAK,kBACH,SAAS,EACvB,SAAS,EAAE,gHACT,SAAS;YACP,CAAC,CAAC,sDAAsD;YACxD,CAAC,CAAC,gEACN,EAAE,YAED,YAAY,CAAC,CAAC,CAAC,CACd,KAAC,WAAW,IAAC,SAAS,EAAC,sBAAsB,GAAG,CACjD,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,KAAC,oBAAoB,IAAC,SAAS,EAAC,aAAa,GAAG,CACjD,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,IAAC,SAAS,EAAC,SAAS,GAAG,CACvC,GACM,CACV,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,qBAAqB,CAAC,EAAE,KAAK,EAA8B;IACzE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAErE,IAAI,KAAK,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;QACtC,OAAO,CACL,cACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,kGAAkG,YAE3G,YAAY,GACT,CACP,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,cAAc;QAC3E,OAAO,IAAI,CAAC;IAEd,OAAO,CACL,eACE,SAAS,EAAC,4GAA4G,eAC5G,QAAQ,aAElB,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAC,0HAA0H,EACpI,KAAK,EAAC,cAAc,gBACT,kBAAkB,YAE7B,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,GACtB,EAET,cAAK,SAAS,EAAC,gDAAgD,YAC5D,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,CAC1B,eAAM,SAAS,EAAC,mCAAmC,mCAE5C,CACR,CAAC,CAAC,CAAC,CACF,KAAC,aAAa,IAAC,SAAS,EAAE,SAAS,GAAI,CACxC,GACG,EAEN,eAAM,SAAS,EAAC,qEAAqE,YAClF,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,CAC1B,KAAC,WAAW,IAAC,SAAS,EAAC,sBAAsB,GAAG,CACjD,CAAC,CAAC,CAAC,CACF,cAAc,CAAC,UAAU,CAAC,CAC3B,GACI,IACH,CACP,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,SAAS,aAAa,CAAC,EAAE,SAAS,EAAyB;IACzD,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,cAAc,GAClB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,SAAS,GACb,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,CAAC,IAAI,CACP,eAEE,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,IAF3C,CAAC,CAGN,CACH,CAAC;IACJ,CAAC;IACD,OAAO,4BAAG,IAAI,GAAI,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;IACrB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"VoiceButton.js","sourceRoot":"","sources":["../../../src/client/composer/VoiceButton.tsx"],"names":[],"mappings":";AAWA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,KAAK,GACN,MAAM,qBAAqB,CAAC;AAS7B,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAoB;IACtE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAEhD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,SAAS,GAAG,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,CAAC;IAChE,MAAM,YAAY,GAAG,KAAK,KAAK,cAAc,CAAC;IAE9C,MAAM,KAAK,GAAG,SAAS;QACrB,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,YAAY;YACZ,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC;IAEpD,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,IAAI,SAAS;YAAE,IAAI,EAAE,CAAC;aACjB,IAAI,CAAC,YAAY;YAAE,KAAK,KAAK,EAAE,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAClC,KAAK,EAAE,KAAK,gBACA,KAAK,kBACH,SAAS,EACvB,SAAS,EAAE,gHACT,SAAS;YACP,CAAC,CAAC,sDAAsD;YACxD,CAAC,CAAC,gEACN,EAAE,YAED,YAAY,CAAC,CAAC,CAAC,CACd,KAAC,WAAW,IAAC,SAAS,EAAC,sBAAsB,GAAG,CACjD,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACd,KAAC,oBAAoB,IAAC,SAAS,EAAC,aAAa,GAAG,CACjD,CAAC,CAAC,CAAC,CACF,KAAC,cAAc,IAAC,SAAS,EAAC,SAAS,GAAG,CACvC,GACM,CACV,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,qBAAqB,CAAC,EAAE,KAAK,EAA8B;IACzE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAErE,IAAI,KAAK,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;QACtC,OAAO,CACL,cACE,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,kGAAkG,YAE3G,YAAY,GACT,CACP,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,cAAc;QAC3E,OAAO,IAAI,CAAC;IAEd,OAAO,CACL,eACE,SAAS,EAAC,4GAA4G,eAC5G,QAAQ,aAElB,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,SAAS,EAAC,0HAA0H,EACpI,KAAK,EAAC,cAAc,gBACT,kBAAkB,YAE7B,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,GACtB,EAET,cAAK,SAAS,EAAC,gDAAgD,YAC5D,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,CAC1B,eAAM,SAAS,EAAC,mCAAmC,mCAE5C,CACR,CAAC,CAAC,CAAC,CACF,KAAC,aAAa,IAAC,SAAS,EAAE,SAAS,GAAI,CACxC,GACG,EAEN,eAAM,SAAS,EAAC,qEAAqE,YAClF,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,CAC1B,KAAC,WAAW,IAAC,SAAS,EAAC,sBAAsB,GAAG,CACjD,CAAC,CAAC,CAAC,CACF,cAAc,CAAC,UAAU,CAAC,CAC3B,GACI,IACH,CACP,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,SAAS,aAAa,CAAC,EAAE,SAAS,EAAyB;IACzD,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,cAAc,GAClB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,SAAS,GACb,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAC9D,IAAI,CAAC,IAAI,CACP,eAEE,SAAS,EAAC,kCAAkC,EAC5C,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,IAF3C,CAAC,CAGN,CACH,CAAC;IACJ,CAAC;IACD,OAAO,4BAAG,IAAI,GAAI,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;IACrB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC","sourcesContent":["/**\n * Voice dictation button + recording overlay for the agent composer.\n *\n * UX mirrors Lovable: click-to-toggle record, a live amplitude bar and\n * MM:SS timer replace the editor area while recording, and a cancel X\n * discards without transcribing. The mic is always visible alongside the\n * send button (Cursor replaces send with mic; their users complain — we\n * don't copy that).\n */\n\nimport React from \"react\";\nimport {\n IconMicrophone,\n IconPlayerStopFilled,\n IconLoader2,\n IconX,\n} from \"@tabler/icons-react\";\nimport type { VoiceDictationApi } from \"./useVoiceDictation.js\";\n\nexport interface VoiceButtonProps {\n voice: VoiceDictationApi;\n isMac: boolean;\n disabled?: boolean;\n}\n\nexport function VoiceButton({ voice, isMac, disabled }: VoiceButtonProps) {\n const { state, start, stop, supported } = voice;\n\n if (!supported) return null;\n\n const recording = state === \"recording\" || state === \"starting\";\n const transcribing = state === \"transcribing\";\n\n const label = recording\n ? \"Stop recording\"\n : transcribing\n ? \"Transcribing…\"\n : `Dictate (${isMac ? \"⌘⇧M\" : \"Ctrl+Shift+M\"})`;\n\n const onClick = () => {\n if (recording) stop();\n else if (!transcribing) void start();\n };\n\n return (\n <button\n type=\"button\"\n onClick={onClick}\n disabled={disabled || transcribing}\n title={label}\n aria-label={label}\n aria-pressed={recording}\n className={`shrink-0 flex h-7 w-7 items-center justify-center rounded-md disabled:opacity-30 disabled:cursor-not-allowed ${\n recording\n ? \"text-[#625DF5] bg-[#625DF5]/10 hover:bg-[#625DF5]/20\"\n : \"text-muted-foreground hover:text-foreground hover:bg-accent/50\"\n }`}\n >\n {transcribing ? (\n <IconLoader2 className=\"h-4 w-4 animate-spin\" />\n ) : recording ? (\n <IconPlayerStopFilled className=\"h-3.5 w-3.5\" />\n ) : (\n <IconMicrophone className=\"h-4 w-4\" />\n )}\n </button>\n );\n}\n\nexport interface VoiceRecordingOverlayProps {\n voice: VoiceDictationApi;\n}\n\nexport function VoiceRecordingOverlay({ voice }: VoiceRecordingOverlayProps) {\n const { state, amplitude, durationMs, errorMessage, cancel } = voice;\n\n if (state === \"error\" && errorMessage) {\n return (\n <div\n role=\"alert\"\n className=\"mx-2 mt-1 rounded-md border border-red-500/40 bg-red-500/10 px-2 py-1.5 text-[11px] text-red-500\"\n >\n {errorMessage}\n </div>\n );\n }\n\n if (state !== \"recording\" && state !== \"starting\" && state !== \"transcribing\")\n return null;\n\n return (\n <div\n className=\"flex items-center gap-2 mx-2 mt-2 mb-1 h-[2rem] rounded-md border border-[#625DF5]/40 bg-[#625DF5]/10 px-2\"\n aria-live=\"polite\"\n >\n <button\n type=\"button\"\n onClick={cancel}\n className=\"shrink-0 flex h-5 w-5 items-center justify-center rounded text-muted-foreground hover:text-foreground hover:bg-accent/40\"\n title=\"Cancel (Esc)\"\n aria-label=\"Cancel recording\"\n >\n <IconX className=\"h-3 w-3\" />\n </button>\n\n <div className=\"flex-1 flex items-center gap-[2px] min-w-0 h-4\">\n {state === \"transcribing\" ? (\n <span className=\"text-[11px] text-muted-foreground\">\n Transcribing…\n </span>\n ) : (\n <AmplitudeBars amplitude={amplitude} />\n )}\n </div>\n\n <span className=\"shrink-0 text-[11px] font-medium tabular-nums text-muted-foreground\">\n {state === \"transcribing\" ? (\n <IconLoader2 className=\"h-3 w-3 animate-spin\" />\n ) : (\n formatDuration(durationMs)\n )}\n </span>\n </div>\n );\n}\n\nconst BAR_COUNT = 24;\n\nfunction AmplitudeBars({ amplitude }: { amplitude: number }) {\n // Render a symmetric meter — the middle bars peak first so the visual\n // matches what voice input looks like in Lovable / iOS dictation.\n const bars = [];\n for (let i = 0; i < BAR_COUNT; i++) {\n const centerDistance =\n Math.abs(i - (BAR_COUNT - 1) / 2) / ((BAR_COUNT - 1) / 2);\n const heightPct =\n Math.max(0.1, amplitude * (1 - centerDistance * 0.6)) * 100;\n bars.push(\n <span\n key={i}\n className=\"flex-1 rounded-full bg-[#625DF5]\"\n style={{ height: `${heightPct}%`, minHeight: 2 }}\n />,\n );\n }\n return <>{bars}</>;\n}\n\nfunction formatDuration(ms: number): string {\n const total = Math.floor(ms / 1000);\n const m = Math.floor(total / 60);\n const s = total % 60;\n return `${m}:${s.toString().padStart(2, \"0\")}`;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"draft-key.js","sourceRoot":"","sources":["../../../src/client/composer/draft-key.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,KAAqB;IACvD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,uBAAuB,CAAC;IAC7C,OAAO,GAAG,uBAAuB,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"draft-key.js","sourceRoot":"","sources":["../../../src/client/composer/draft-key.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAEpD,MAAM,UAAU,mBAAmB,CAAC,KAAqB;IACvD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,uBAAuB,CAAC;IAC7C,OAAO,GAAG,uBAAuB,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;AACrE,CAAC","sourcesContent":["const BASE_COMPOSER_DRAFT_KEY = \"an-composer-draft\";\n\nexport function getComposerDraftKey(scope?: string | null): string {\n const trimmed = scope?.trim();\n if (!trimmed) return BASE_COMPOSER_DRAFT_KEY;\n return `${BASE_COMPOSER_DRAFT_KEY}:${encodeURIComponent(trimmed)}`;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FileReference.js","sourceRoot":"","sources":["../../../../src/client/composer/extensions/FileReference.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAiB,EAAE,EAAE;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC5E,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IAE5D,OAAO,CACL,KAAC,eAAe,IAAC,EAAE,EAAC,MAAM,EAAC,SAAS,EAAC,QAAQ,YAC3C,gBACE,SAAS,EAAC,2KAA2K,EACrL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,aAErB,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,gCAAgC,GAAG,CACpE,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,gCAAgC,GAAG,CAClE,EACD,eAAM,SAAS,EAAC,UAAU,YAAE,WAAW,GAAQ,IAC1C,GACS,CACnB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;SAChC,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,kCAAkC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO;YACL,MAAM;YACN,eAAe,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,cAAc,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"FileReference.js","sourceRoot":"","sources":["../../../../src/client/composer/extensions/FileReference.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAiB,EAAE,EAAE;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC5E,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IAE5D,OAAO,CACL,KAAC,eAAe,IAAC,EAAE,EAAC,MAAM,EAAC,SAAS,EAAC,QAAQ,YAC3C,gBACE,SAAS,EAAC,2KAA2K,EACrL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,aAErB,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,gCAAgC,GAAG,CACpE,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,gCAAgC,GAAG,CAClE,EACD,eAAM,SAAS,EAAC,UAAU,YAAE,WAAW,GAAQ,IAC1C,GACS,CACnB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;SAChC,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,kCAAkC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO;YACL,MAAM;YACN,eAAe,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,cAAc,CAAC;SACnE,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,qBAAqB,CAAC,sBAAsB,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC","sourcesContent":["import { mergeAttributes, Node } from \"@tiptap/core\";\nimport { NodeViewWrapper, ReactNodeViewRenderer } from \"@tiptap/react\";\nimport React from \"react\";\nimport { IconFile, IconFolder } from \"@tabler/icons-react\";\n\nconst FileReferenceComponent = ({ node }: { node: any }) => {\n const isFolder = node.attrs.path?.endsWith(\"/\");\n const cleanPath = isFolder ? node.attrs.path.slice(0, -1) : node.attrs.path;\n const displayName = cleanPath.split(\"/\").pop() || cleanPath;\n\n return (\n <NodeViewWrapper as=\"span\" className=\"inline\">\n <span\n className=\"inline-flex items-center gap-1 rounded-md border border-input bg-muted/50 px-1.5 py-0.5 text-xs font-medium text-foreground align-middle mx-0.5 max-w-[200px] select-none\"\n title={node.attrs.path}\n >\n {isFolder ? (\n <IconFolder size={14} className=\"shrink-0 text-muted-foreground\" />\n ) : (\n <IconFile size={14} className=\"shrink-0 text-muted-foreground\" />\n )}\n <span className=\"truncate\">{displayName}</span>\n </span>\n </NodeViewWrapper>\n );\n};\n\nexport const FileReference = Node.create({\n name: \"fileReference\",\n group: \"inline\",\n inline: true,\n selectable: true,\n atom: true,\n\n addAttributes() {\n return {\n path: { default: null },\n source: { default: \"codebase\" },\n };\n },\n\n parseHTML() {\n return [{ tag: 'span[data-type=\"file-reference\"]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"span\",\n mergeAttributes({ \"data-type\": \"file-reference\" }, HTMLAttributes),\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(FileReferenceComponent);\n },\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MentionReference.js","sourceRoot":"","sources":["../../../../src/client/composer/extensions/MentionReference.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MentionReference.js","sourceRoot":"","sources":["../../../../src/client/composer/extensions/MentionReference.tsx"],"names":[],"mappings":"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","sourcesContent":["import { mergeAttributes, Node } from \"@tiptap/core\";\nimport { NodeViewWrapper, ReactNodeViewRenderer } from \"@tiptap/react\";\nimport React from \"react\";\nimport {\n IconFile,\n IconFolder,\n IconFileText,\n IconCheckbox,\n IconMail,\n IconUser,\n IconPresentation,\n IconStack2,\n IconMessageChatbot,\n} from \"@tabler/icons-react\";\n\nconst iconProps = { size: 14, className: \"shrink-0 text-muted-foreground\" };\n\nfunction MentionIcon({ icon }: { icon?: string }) {\n switch (icon) {\n case \"folder\":\n return <IconFolder {...iconProps} />;\n case \"document\":\n return <IconFileText {...iconProps} />;\n case \"form\":\n return <IconCheckbox {...iconProps} />;\n case \"email\":\n return <IconMail {...iconProps} />;\n case \"user\":\n return <IconUser {...iconProps} />;\n case \"deck\":\n return <IconPresentation {...iconProps} />;\n case \"agent\":\n return <IconMessageChatbot {...iconProps} />;\n case \"file\":\n return <IconFile {...iconProps} />;\n default:\n return <IconStack2 {...iconProps} />;\n }\n}\n\nconst MentionReferenceComponent = ({ node }: { node: any }) => {\n return (\n <NodeViewWrapper as=\"span\" className=\"inline\">\n <span\n className=\"inline-flex items-center gap-1 rounded-md border border-input bg-muted/50 px-1.5 py-0.5 text-xs font-medium text-foreground align-middle mx-0.5 max-w-[200px] select-none\"\n title={node.attrs.refPath || node.attrs.refId || node.attrs.label}\n >\n <MentionIcon icon={node.attrs.icon} />\n <span className=\"truncate\">{node.attrs.label}</span>\n </span>\n </NodeViewWrapper>\n );\n};\n\nexport const MentionReference = Node.create({\n name: \"mentionReference\",\n group: \"inline\",\n inline: true,\n selectable: true,\n atom: true,\n\n addAttributes() {\n return {\n label: { default: null },\n icon: { default: \"file\" },\n source: { default: \"\" },\n refType: { default: \"file\" },\n refId: { default: null },\n refPath: { default: null },\n };\n },\n\n parseHTML() {\n return [{ tag: 'span[data-type=\"mention-reference\"]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"span\",\n mergeAttributes({ \"data-type\": \"mention-reference\" }, HTMLAttributes),\n ];\n },\n\n renderText({ node }) {\n return `@${node.attrs.label}`;\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(MentionReferenceComponent);\n },\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SkillReference.js","sourceRoot":"","sources":["../../../../src/client/composer/extensions/SkillReference.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,uBAAuB,GAAG,CAAC,EAAE,IAAI,EAAiB,EAAE,EAAE;IAC1D,MAAM,WAAW,GACf,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;SACvC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;SACrC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,EAAE,IAAI,OAAO,CAAC;IAEtB,OAAO,CACL,KAAC,eAAe,IAAC,EAAE,EAAC,MAAM,EAAC,SAAS,EAAC,QAAQ,YAC3C,gBACE,SAAS,EAAC,2KAA2K,EACrL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,aAEtB,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,gCAAgC,GAAG,EACnE,eAAM,SAAS,EAAC,UAAU,YAAE,WAAW,GAAQ,IAC1C,GACS,CACnB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;SAChC,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,mCAAmC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO;YACL,MAAM;YACN,eAAe,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,cAAc,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;IACxD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"SkillReference.js","sourceRoot":"","sources":["../../../../src/client/composer/extensions/SkillReference.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,uBAAuB,GAAG,CAAC,EAAE,IAAI,EAAiB,EAAE,EAAE;IAC1D,MAAM,WAAW,GACf,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;SACvC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;SACrC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;SAC5B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,EAAE,IAAI,OAAO,CAAC;IAEtB,OAAO,CACL,KAAC,eAAe,IAAC,EAAE,EAAC,MAAM,EAAC,SAAS,EAAC,QAAQ,YAC3C,gBACE,SAAS,EAAC,2KAA2K,EACrL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,aAEtB,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,gCAAgC,GAAG,EACnE,eAAM,SAAS,EAAC,UAAU,YAAE,WAAW,GAAQ,IAC1C,GACS,CACnB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,IAAI;IAEV,aAAa;QACX,OAAO;YACL,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;SAChC,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,CAAC,EAAE,GAAG,EAAE,mCAAmC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,UAAU,CAAC,EAAE,cAAc,EAAE;QAC3B,OAAO;YACL,MAAM;YACN,eAAe,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE,cAAc,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;IACxD,CAAC;CACF,CAAC,CAAC","sourcesContent":["import { mergeAttributes, Node } from \"@tiptap/core\";\nimport { NodeViewWrapper, ReactNodeViewRenderer } from \"@tiptap/react\";\nimport React from \"react\";\nimport { IconStack2 } from \"@tabler/icons-react\";\n\nconst SkillReferenceComponent = ({ node }: { node: any }) => {\n const displayName =\n (node.attrs.name || node.attrs.path || \"\")\n .replace(/^(\\.agents\\/)?skills\\//, \"\")\n .replace(/\\/SKILL\\.md$/i, \"\")\n .replace(/\\.md$/i, \"\")\n .split(\"/\")\n .pop() || \"skill\";\n\n return (\n <NodeViewWrapper as=\"span\" className=\"inline\">\n <span\n className=\"inline-flex items-center gap-1 rounded-md border border-input bg-muted/50 px-1.5 py-0.5 text-xs font-medium text-foreground align-middle mx-0.5 max-w-[160px] select-none\"\n title={node.attrs.path}\n >\n <IconStack2 size={14} className=\"shrink-0 text-muted-foreground\" />\n <span className=\"truncate\">{displayName}</span>\n </span>\n </NodeViewWrapper>\n );\n};\n\nexport const SkillReference = Node.create({\n name: \"skillReference\",\n group: \"inline\",\n inline: true,\n selectable: true,\n atom: true,\n\n addAttributes() {\n return {\n name: { default: null },\n path: { default: null },\n source: { default: \"codebase\" },\n };\n },\n\n parseHTML() {\n return [{ tag: 'span[data-type=\"skill-reference\"]' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n return [\n \"span\",\n mergeAttributes({ \"data-type\": \"skill-reference\" }, HTMLAttributes),\n ];\n },\n\n addNodeView() {\n return ReactNodeViewRenderer(SkillReferenceComponent);\n },\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/composer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/composer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["export { FileReference } from \"./extensions/FileReference.js\";\nexport { SkillReference } from \"./extensions/SkillReference.js\";\nexport { MentionReference } from \"./extensions/MentionReference.js\";\nexport { TiptapComposer } from \"./TiptapComposer.js\";\nexport { MentionPopover } from \"./MentionPopover.js\";\nexport { useMentionSearch } from \"./use-mention-search.js\";\nexport type {\n FileResult,\n SkillResult,\n MentionItem,\n Reference,\n SlashCommand,\n} from \"./types.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/client/composer/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/client/composer/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface FileResult {\n path: string;\n name: string;\n source: \"codebase\" | \"resource\";\n type: \"file\" | \"folder\";\n}\n\nexport interface SkillResult {\n name: string;\n description: string;\n path: string;\n source: \"codebase\" | \"resource\";\n}\n\nexport interface MentionItem {\n id: string;\n label: string;\n description?: string;\n icon?: string;\n source: string;\n refType: string;\n refPath?: string;\n refId?: string;\n section?: string;\n}\n\nexport interface Reference {\n type: \"file\" | \"skill\" | \"mention\" | \"agent\" | \"custom-agent\";\n path: string;\n name: string;\n source: string;\n refType?: string;\n refId?: string;\n}\n\nexport interface SlashCommand {\n name: string;\n description: string;\n icon?: string;\n}\n\nexport type ComposerMode = \"skill\" | \"job\" | \"automation\" | \"tool\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-file-search.js","sourceRoot":"","sources":["../../../src/client/composer/use-file-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,OAAgB;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;QAElC,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,eAAe,CACb,qCAAqC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CACjE,CACF,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,kDAAkD;gBAClD,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;oBAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;oBAChC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;oBAChC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC,EACD,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAC7B,CAAC;QAEF,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"use-file-search.js","sourceRoot":"","sources":["../../../src/client/composer/use-file-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,OAAgB;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;QAElC,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,eAAe,CACb,qCAAqC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CACjE,CACF,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,kDAAkD;gBAClD,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;oBAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;oBAChC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;oBAChC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC,EACD,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAC7B,CAAC;QAEF,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC","sourcesContent":["import { useState, useEffect, useRef } from \"react\";\nimport type { FileResult } from \"./types.js\";\nimport { agentNativePath } from \"../api-path.js\";\n\nexport function useFileSearch(query: string, enabled: boolean) {\n const [files, setFiles] = useState<FileResult[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const requestIdRef = useRef(0);\n\n useEffect(() => {\n if (!enabled) {\n setFiles([]);\n setIsLoading(false);\n return;\n }\n\n setIsLoading(true);\n const id = ++requestIdRef.current;\n\n const timer = setTimeout(\n async () => {\n try {\n const res = await fetch(\n agentNativePath(\n `/_agent-native/agent-chat/files?q=${encodeURIComponent(query)}`,\n ),\n );\n if (!res.ok) throw new Error();\n const data = await res.json();\n // Only update if this is still the latest request\n if (id === requestIdRef.current) {\n setFiles(data.files || []);\n }\n } catch {\n if (id === requestIdRef.current) {\n setFiles([]);\n }\n } finally {\n if (id === requestIdRef.current) {\n setIsLoading(false);\n }\n }\n },\n query.length === 0 ? 0 : 200,\n );\n\n return () => clearTimeout(timer);\n }, [query, enabled]);\n\n return { files, isLoading };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-mention-search.js","sourceRoot":"","sources":["../../../src/client/composer/use-mention-search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAgB;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;QAElC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACb,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAEhD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,eAAe,CACb,wCAAwC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CACpE,EACD,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;gBAE5C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;gBAClC,IAAI,GAAG,GAAG,EAAE,CAAC;gBAEb,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,IAAI;wBAAE,MAAM;oBAEhB,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9B,GAAG,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC,CAAC,8BAA8B;oBAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;4BAAE,SAAS;wBAC3B,IAAI,CAAC;4BACH,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAEvC,CAAC;4BACF,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;gCACjD,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;oCAChB,oBAAoB;oCACpB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oCAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oCACnD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gCACnD,CAAC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;oBACZ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;oBAAE,OAAO;gBAC9D,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO;oBAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,CAAC;oBAAS,CAAC;gBACT,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC,EAAE,UAAU,CAAC,CAAC;QAEf,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAErB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"use-mention-search.js","sourceRoot":"","sources":["../../../src/client/composer/use-mention-search.ts"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useRef } from \"react\";\nimport type { MentionItem } from \"./types.js\";\nimport { agentNativePath } from \"../api-path.js\";\n\nexport function useMentionSearch(query: string, enabled: boolean) {\n const [items, setItems] = useState<MentionItem[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const abortRef = useRef<AbortController | null>(null);\n const requestIdRef = useRef(0);\n\n useEffect(() => {\n if (!enabled) {\n setItems([]);\n setIsLoading(false);\n return;\n }\n\n // Cancel any in-flight stream\n abortRef.current?.abort();\n const abort = new AbortController();\n abortRef.current = abort;\n const id = ++requestIdRef.current;\n\n setItems([]);\n setIsLoading(true);\n\n const debounceMs = query.length === 0 ? 0 : 150;\n\n const timer = setTimeout(async () => {\n try {\n const res = await fetch(\n agentNativePath(\n `/_agent-native/agent-chat/mentions?q=${encodeURIComponent(query)}`,\n ),\n { signal: abort.signal },\n );\n if (!res.ok || !res.body) throw new Error();\n\n const reader = res.body.getReader();\n const decoder = new TextDecoder();\n let buf = \"\";\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n buf += decoder.decode(value, { stream: true });\n const lines = buf.split(\"\\n\");\n buf = lines.pop()!; // last line may be incomplete\n\n for (const line of lines) {\n if (!line.trim()) continue;\n try {\n const { items: batch } = JSON.parse(line) as {\n items: MentionItem[];\n };\n if (id === requestIdRef.current && batch?.length) {\n setItems((prev) => {\n // Deduplicate by id\n const seen = new Set(prev.map((x) => x.id));\n const fresh = batch.filter((x) => !seen.has(x.id));\n return fresh.length ? [...prev, ...fresh] : prev;\n });\n }\n } catch {}\n }\n }\n } catch (err: unknown) {\n if (err instanceof Error && err.name === \"AbortError\") return;\n if (id === requestIdRef.current) setItems([]);\n } finally {\n if (id === requestIdRef.current) setIsLoading(false);\n }\n }, debounceMs);\n\n return () => {\n clearTimeout(timer);\n abort.abort();\n };\n }, [query, enabled]);\n\n return { items, isLoading };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-skills.js","sourceRoot":"","sources":["../../../src/client/composer/use-skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAsB,CAAC;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;QAElC,KAAK,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;aACvD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAChC,SAAS,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAChC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"use-skills.js","sourceRoot":"","sources":["../../../src/client/composer/use-skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAsB,CAAC;IACvD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC;QAElC,KAAK,CAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;aACvD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAChC,SAAS,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,EAAE,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAChC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC","sourcesContent":["import { useState, useEffect, useRef } from \"react\";\nimport type { SkillResult } from \"./types.js\";\nimport { agentNativePath } from \"../api-path.js\";\n\nexport function useSkills(enabled: boolean) {\n const [skills, setSkills] = useState<SkillResult[]>([]);\n const [hint, setHint] = useState<string | undefined>();\n const [isLoading, setIsLoading] = useState(false);\n const requestIdRef = useRef(0);\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n\n setIsLoading(true);\n const id = ++requestIdRef.current;\n\n fetch(agentNativePath(\"/_agent-native/agent-chat/skills\"))\n .then((res) => {\n if (!res.ok) throw new Error();\n return res.json();\n })\n .then((data) => {\n if (id === requestIdRef.current) {\n setSkills(data.skills || []);\n setHint(data.hint);\n }\n })\n .catch(() => {\n if (id === requestIdRef.current) {\n setSkills([]);\n }\n })\n .finally(() => {\n if (id === requestIdRef.current) {\n setIsLoading(false);\n }\n });\n }, [enabled]);\n\n return { skills, hint, isLoading };\n}\n"]}