glirastes 0.3.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1377) hide show
  1. package/CHANGELOG.md +386 -1
  2. package/README.md +304 -853
  3. package/adapter/nextjs/package.json +5 -0
  4. package/ai-sdk/package.json +5 -0
  5. package/browser/package.json +5 -0
  6. package/contracts/package.json +5 -0
  7. package/dist/agent/git.d.ts +65 -0
  8. package/dist/agent/git.js +122 -0
  9. package/dist/agent/git.js.map +1 -0
  10. package/dist/agent/openrouter.d.ts +56 -0
  11. package/dist/agent/openrouter.js +74 -0
  12. package/dist/agent/openrouter.js.map +1 -0
  13. package/dist/agent/platform-jobs.d.ts +102 -0
  14. package/dist/agent/platform-jobs.js +122 -0
  15. package/dist/agent/platform-jobs.js.map +1 -0
  16. package/dist/agent/runner.d.ts +150 -0
  17. package/dist/agent/runner.js +250 -0
  18. package/dist/agent/runner.js.map +1 -0
  19. package/dist/agent/workspace.d.ts +65 -0
  20. package/dist/agent/workspace.js +264 -0
  21. package/dist/agent/workspace.js.map +1 -0
  22. package/dist/browser/client-actions.d.ts +26 -0
  23. package/dist/browser/client-actions.js +42 -0
  24. package/dist/browser/client-actions.js.map +1 -0
  25. package/dist/browser/index.d.ts +4 -0
  26. package/dist/browser/index.js +5 -0
  27. package/dist/browser/index.js.map +1 -0
  28. package/dist/browser/navigation.d.ts +32 -0
  29. package/dist/browser/navigation.js +79 -0
  30. package/dist/browser/navigation.js.map +1 -0
  31. package/dist/browser/query-filters.d.ts +30 -0
  32. package/dist/browser/query-filters.js +85 -0
  33. package/dist/browser/query-filters.js.map +1 -0
  34. package/dist/browser/ui-action-bus.d.ts +26 -0
  35. package/dist/browser/ui-action-bus.js +66 -0
  36. package/dist/browser/ui-action-bus.js.map +1 -0
  37. package/dist/cjs/browser/client-actions.d.ts +26 -0
  38. package/dist/cjs/browser/client-actions.js +45 -0
  39. package/dist/cjs/browser/index.d.ts +4 -0
  40. package/dist/cjs/browser/index.js +16 -0
  41. package/dist/cjs/browser/navigation.d.ts +32 -0
  42. package/dist/cjs/browser/navigation.js +84 -0
  43. package/dist/cjs/browser/query-filters.d.ts +30 -0
  44. package/dist/cjs/browser/query-filters.js +87 -0
  45. package/dist/cjs/browser/ui-action-bus.d.ts +26 -0
  46. package/dist/cjs/browser/ui-action-bus.js +70 -0
  47. package/dist/cjs/codegen/execution-inventory.d.ts +63 -0
  48. package/dist/cjs/codegen/execution-inventory.js +312 -0
  49. package/dist/cjs/codegen/index.d.ts +4 -13
  50. package/dist/cjs/codegen/index.js +13 -31
  51. package/dist/cjs/codegen/inventory-generation.d.ts +104 -0
  52. package/dist/cjs/codegen/inventory-generation.js +122 -0
  53. package/dist/cjs/codegen/next-source-generation.d.ts +17 -0
  54. package/dist/cjs/codegen/next-source-generation.js +51 -0
  55. package/dist/cjs/codegen/openapi-document.d.ts +53 -0
  56. package/dist/cjs/codegen/openapi-document.js +127 -0
  57. package/dist/cjs/codegen/route-exports.d.ts +13 -0
  58. package/dist/cjs/codegen/route-exports.js +122 -0
  59. package/dist/cjs/codegen/route-fingerprint.d.ts +2 -0
  60. package/dist/cjs/codegen/route-fingerprint.js +11 -0
  61. package/dist/cjs/codegen/route-scanner.d.ts +57 -0
  62. package/dist/cjs/codegen/route-scanner.js +239 -0
  63. package/dist/cjs/codegen/tools/canonical.d.ts +12 -0
  64. package/dist/cjs/codegen/tools/canonical.js +49 -0
  65. package/dist/cjs/codegen/tools/sources/nest-decorators.d.ts +27 -0
  66. package/dist/cjs/codegen/tools/sources/nest-decorators.js +73 -0
  67. package/dist/cjs/contracts/app-setup.d.ts +346 -0
  68. package/dist/cjs/contracts/app-setup.js +208 -0
  69. package/dist/cjs/contracts/chat-command.d.ts +65 -0
  70. package/dist/cjs/contracts/chat-command.js +128 -0
  71. package/dist/cjs/contracts/chat-interactions.d.ts +126 -0
  72. package/dist/cjs/contracts/chat-interactions.js +439 -0
  73. package/dist/cjs/contracts/clarification.d.ts +53 -0
  74. package/dist/cjs/contracts/clarification.js +91 -0
  75. package/dist/cjs/contracts/content-boundary.d.ts +3 -0
  76. package/dist/cjs/contracts/content-boundary.js +95 -0
  77. package/dist/cjs/contracts/events.d.ts +273 -0
  78. package/dist/cjs/contracts/events.js +229 -0
  79. package/dist/cjs/contracts/index.d.ts +18 -0
  80. package/dist/cjs/contracts/index.js +83 -0
  81. package/dist/cjs/contracts/plan.d.ts +20 -0
  82. package/dist/cjs/contracts/plan.js +38 -0
  83. package/dist/cjs/contracts/platform-connection.d.ts +44 -0
  84. package/dist/cjs/contracts/platform-connection.js +66 -0
  85. package/dist/cjs/contracts/platform-prompt-revision.d.ts +27 -0
  86. package/dist/cjs/contracts/platform-prompt-revision.js +46 -0
  87. package/dist/cjs/contracts/prompt-bundle.d.ts +46 -0
  88. package/dist/cjs/contracts/prompt-bundle.js +74 -0
  89. package/dist/cjs/contracts/revisions.d.ts +716 -0
  90. package/dist/cjs/contracts/revisions.js +301 -0
  91. package/dist/cjs/contracts/runtime.d.ts +55 -0
  92. package/dist/cjs/contracts/runtime.js +67 -0
  93. package/dist/cjs/contracts/semantic-change.d.ts +27 -0
  94. package/dist/cjs/contracts/semantic-change.js +103 -0
  95. package/dist/cjs/contracts/tool-exclude-pattern.d.ts +12 -0
  96. package/dist/cjs/contracts/tool-exclude-pattern.js +29 -0
  97. package/dist/cjs/contracts/tool-policy-entry.d.ts +107 -0
  98. package/dist/cjs/contracts/tool-policy-entry.js +42 -0
  99. package/dist/cjs/contracts/tool-policy.d.ts +198 -0
  100. package/dist/cjs/contracts/tool-policy.js +500 -0
  101. package/dist/cjs/contracts/url.d.ts +2 -0
  102. package/dist/cjs/contracts/url.js +10 -0
  103. package/dist/cjs/diagnostics/foundation-diagnostic.d.ts +34 -0
  104. package/dist/cjs/diagnostics/foundation-diagnostic.js +52 -0
  105. package/dist/cjs/diagnostics/index.d.ts +2 -0
  106. package/dist/cjs/diagnostics/index.js +7 -0
  107. package/dist/cjs/embed/chat-styles.generated.d.ts +1 -0
  108. package/dist/cjs/embed/chat-styles.generated.js +6 -0
  109. package/dist/cjs/embed/glirastes-chat-element.d.ts +67 -0
  110. package/dist/cjs/embed/glirastes-chat-element.js +282 -0
  111. package/dist/cjs/embed/index.d.ts +4 -0
  112. package/dist/cjs/embed/index.js +20 -0
  113. package/dist/cjs/embed/theme.d.ts +10 -0
  114. package/dist/cjs/embed/theme.js +45 -0
  115. package/dist/cjs/index.d.ts +1 -0
  116. package/dist/cjs/index.js +1 -0
  117. package/dist/cjs/react/assistant/assistant-layout.d.ts +55 -0
  118. package/dist/cjs/react/assistant/assistant-layout.js +107 -0
  119. package/dist/cjs/react/assistant/assistant-shell.d.ts +132 -0
  120. package/dist/cjs/react/assistant/assistant-shell.js +267 -0
  121. package/dist/cjs/react/assistant/assistant-shortcut-list.d.ts +24 -0
  122. package/dist/cjs/react/assistant/assistant-shortcut-list.js +35 -0
  123. package/dist/cjs/react/assistant/assistant-workspace.d.ts +31 -0
  124. package/dist/cjs/react/assistant/assistant-workspace.js +33 -0
  125. package/dist/cjs/react/completions/completion-search.d.ts +21 -0
  126. package/dist/cjs/react/completions/completion-search.js +111 -0
  127. package/dist/cjs/react/completions/ui-tool-command-provider.d.ts +15 -0
  128. package/dist/cjs/react/completions/ui-tool-command-provider.js +84 -0
  129. package/dist/cjs/react/components/activity-log.d.ts +17 -0
  130. package/dist/cjs/react/components/activity-log.js +70 -0
  131. package/dist/cjs/react/components/ai-chat-panel.js +13 -6
  132. package/dist/cjs/react/components/ai-trigger-button.d.ts +1 -1
  133. package/dist/cjs/react/components/ai-trigger-button.js +11 -66
  134. package/dist/cjs/react/components/chat-input.js +6 -4
  135. package/dist/cjs/react/components/chat-window-visibility.d.ts +3 -0
  136. package/dist/cjs/react/components/chat-window-visibility.js +7 -0
  137. package/dist/cjs/react/components/chat-window.d.ts +1 -1
  138. package/dist/cjs/react/components/chat-window.js +124 -57
  139. package/dist/cjs/react/components/clarification-card.d.ts +10 -0
  140. package/dist/cjs/react/components/clarification-card.js +35 -0
  141. package/dist/cjs/react/components/command-arguments-form.d.ts +10 -0
  142. package/dist/cjs/react/components/command-arguments-form.js +153 -0
  143. package/dist/cjs/react/components/confirm-dialog.js +1 -1
  144. package/dist/cjs/react/components/floating-chat-ui.d.ts +3 -3
  145. package/dist/cjs/react/components/floating-chat-ui.js +30 -4
  146. package/dist/cjs/react/components/mention-input.d.ts +5 -4
  147. package/dist/cjs/react/components/mention-input.js +64 -7
  148. package/dist/cjs/react/components/message-bubble.js +90 -14
  149. package/dist/cjs/react/components/plan-checklist.d.ts +14 -0
  150. package/dist/cjs/react/components/plan-checklist.js +20 -0
  151. package/dist/cjs/react/components/recording-bar.js +44 -58
  152. package/dist/cjs/react/components/rich-mention-input.js +197 -45
  153. package/dist/cjs/react/components/session-switcher.d.ts +3 -1
  154. package/dist/cjs/react/components/session-switcher.js +26 -11
  155. package/dist/cjs/react/components/status-icon.d.ts +8 -0
  156. package/dist/cjs/react/components/status-icon.js +11 -0
  157. package/dist/cjs/react/components/stream-waveform.d.ts +4 -0
  158. package/dist/cjs/react/components/stream-waveform.js +49 -0
  159. package/dist/cjs/react/components/voice-input-addon.d.ts +16 -1
  160. package/dist/cjs/react/components/voice-input-addon.js +255 -18
  161. package/dist/cjs/react/components/voice-input-button.js +1 -1
  162. package/dist/cjs/react/hooks/use-chat-shortcuts.d.ts +33 -0
  163. package/dist/cjs/react/hooks/use-chat-shortcuts.js +139 -0
  164. package/dist/cjs/react/hooks/use-deepgram-transcription.d.ts +4 -0
  165. package/dist/cjs/react/hooks/use-deepgram-transcription.js +31 -321
  166. package/dist/cjs/react/hooks/use-drag-resize-panel.d.ts +1 -0
  167. package/dist/cjs/react/hooks/use-drag-resize-panel.js +246 -121
  168. package/dist/cjs/react/hooks/use-floating-panel.d.ts +57 -0
  169. package/dist/cjs/react/hooks/use-floating-panel.js +217 -0
  170. package/dist/cjs/react/hooks/use-keyboard-shortcut.js +2 -1
  171. package/dist/cjs/react/hooks/use-push-to-talk-hotkey.d.ts +24 -0
  172. package/dist/cjs/react/hooks/use-push-to-talk-hotkey.js +116 -0
  173. package/dist/cjs/react/hooks/use-sidebar-resize.d.ts +19 -0
  174. package/dist/cjs/react/hooks/use-sidebar-resize.js +109 -0
  175. package/dist/cjs/react/index.d.ts +30 -1
  176. package/dist/cjs/react/index.js +91 -1
  177. package/dist/cjs/react/interactions/definitions.d.ts +67 -0
  178. package/dist/cjs/react/interactions/definitions.js +83 -0
  179. package/dist/cjs/react/interactions/registry.d.ts +74 -0
  180. package/dist/cjs/react/interactions/registry.js +250 -0
  181. package/dist/cjs/react/interactions/use-chat-interactions-data.d.ts +15 -0
  182. package/dist/cjs/react/interactions/use-chat-interactions-data.js +43 -0
  183. package/dist/cjs/react/locale-de.d.ts +3 -0
  184. package/dist/cjs/react/locale-de.js +66 -0
  185. package/dist/cjs/react/provider/ai-chat-provider.d.ts +1 -1
  186. package/dist/cjs/react/provider/ai-chat-provider.js +407 -106
  187. package/dist/cjs/react/provider/chat-context.d.ts +52 -1
  188. package/dist/cjs/react/stt/controller.d.ts +60 -0
  189. package/dist/cjs/react/stt/controller.js +268 -0
  190. package/dist/cjs/react/stt/deepgram.d.ts +30 -0
  191. package/dist/cjs/react/stt/deepgram.js +204 -0
  192. package/dist/cjs/react/stt/recorded.d.ts +29 -0
  193. package/dist/cjs/react/stt/recorded.js +115 -0
  194. package/dist/cjs/react/stt/segments.d.ts +18 -0
  195. package/dist/cjs/react/stt/segments.js +32 -0
  196. package/dist/cjs/react/stt/use-stt.d.ts +17 -0
  197. package/dist/cjs/react/stt/use-stt.js +41 -0
  198. package/dist/cjs/react/stt/waveform.d.ts +5 -0
  199. package/dist/cjs/react/stt/waveform.js +31 -0
  200. package/dist/cjs/react/styles.css +1529 -0
  201. package/dist/cjs/react/tool-renderers/registry.d.ts +31 -0
  202. package/dist/cjs/react/tool-renderers/registry.js +50 -0
  203. package/dist/cjs/react/tool-renderers/renderer-boundary.d.ts +18 -0
  204. package/dist/cjs/react/tool-renderers/renderer-boundary.js +15 -0
  205. package/dist/cjs/react/transports/vercel/vercel-ai-chat.d.ts +1 -1
  206. package/dist/cjs/react/transports/vercel/vercel-ai-chat.js +2 -2
  207. package/dist/cjs/react/transports/vercel.d.ts +6 -0
  208. package/dist/cjs/react/transports/vercel.js +12 -6
  209. package/dist/cjs/react/types.d.ts +264 -6
  210. package/dist/cjs/react/ui.d.ts +18 -17
  211. package/dist/cjs/react/ui.js +50 -45
  212. package/dist/cjs/react/unstyled.d.ts +7 -0
  213. package/dist/cjs/react/unstyled.js +10 -0
  214. package/dist/cjs/react/utils/activity.d.ts +16 -0
  215. package/dist/cjs/react/utils/activity.js +80 -0
  216. package/dist/cjs/react/utils/clarification.d.ts +31 -0
  217. package/dist/cjs/react/utils/clarification.js +104 -0
  218. package/dist/cjs/react/utils/create-approval-description.d.ts +6 -0
  219. package/dist/cjs/react/utils/create-approval-description.js +32 -3
  220. package/dist/cjs/react/utils/create-tool-result-handler.d.ts +1 -1
  221. package/dist/cjs/react/utils/create-tool-result-handler.js +1 -1
  222. package/dist/cjs/react/utils/entity-names.d.ts +6 -0
  223. package/dist/cjs/react/utils/entity-names.js +57 -0
  224. package/dist/cjs/react/utils/followup-suggestions.d.ts +11 -0
  225. package/dist/cjs/react/utils/followup-suggestions.js +39 -0
  226. package/dist/cjs/react/utils/local-session-store.d.ts +30 -0
  227. package/dist/cjs/react/utils/local-session-store.js +165 -0
  228. package/dist/cjs/react/utils/mention-markup.d.ts +44 -1
  229. package/dist/cjs/react/utils/mention-markup.js +144 -10
  230. package/dist/cjs/react/utils/tool-presentation.d.ts +23 -0
  231. package/dist/cjs/react/utils/tool-presentation.js +46 -0
  232. package/dist/cjs/react/utils/tool-result-config.d.ts +10 -0
  233. package/dist/cjs/react/utils/tool-result-config.js +14 -0
  234. package/dist/cjs/runtime/ai-sdk/engine.d.ts +66 -0
  235. package/dist/cjs/runtime/ai-sdk/engine.js +192 -0
  236. package/dist/cjs/runtime/ai-sdk/index.d.ts +1 -0
  237. package/dist/cjs/runtime/ai-sdk/index.js +5 -0
  238. package/dist/cjs/runtime/authorization.d.ts +16 -0
  239. package/dist/cjs/runtime/authorization.js +35 -0
  240. package/dist/cjs/runtime/budget.d.ts +39 -0
  241. package/dist/cjs/runtime/budget.js +100 -0
  242. package/dist/cjs/runtime/contract-bindings.d.ts +52 -0
  243. package/dist/cjs/runtime/contract-bindings.js +95 -0
  244. package/dist/cjs/runtime/engine.d.ts +52 -0
  245. package/dist/cjs/runtime/engine.js +2 -0
  246. package/dist/cjs/runtime/fingerprint.d.ts +6 -0
  247. package/dist/cjs/runtime/fingerprint.js +31 -0
  248. package/dist/cjs/runtime/glirastes.d.ts +112 -0
  249. package/dist/cjs/runtime/glirastes.js +287 -0
  250. package/dist/cjs/runtime/index.d.ts +23 -0
  251. package/dist/cjs/runtime/index.js +71 -0
  252. package/dist/cjs/runtime/json-schema.d.ts +13 -0
  253. package/dist/cjs/runtime/json-schema.js +46 -0
  254. package/dist/cjs/runtime/local-runtime-source.d.ts +76 -0
  255. package/dist/cjs/runtime/local-runtime-source.js +0 -0
  256. package/dist/cjs/runtime/local-signer.d.ts +17 -0
  257. package/dist/cjs/runtime/local-signer.js +34 -0
  258. package/dist/cjs/runtime/local-tool-bindings.d.ts +57 -0
  259. package/dist/cjs/runtime/local-tool-bindings.js +197 -0
  260. package/dist/cjs/runtime/managed-turn.d.ts +29 -0
  261. package/dist/cjs/runtime/managed-turn.js +99 -0
  262. package/dist/cjs/runtime/metrics/cost.d.ts +64 -0
  263. package/dist/cjs/runtime/metrics/cost.js +98 -0
  264. package/dist/cjs/runtime/metrics/sink.d.ts +56 -0
  265. package/dist/cjs/runtime/metrics/sink.js +217 -0
  266. package/dist/cjs/runtime/metrics/turn-recorder.d.ts +62 -0
  267. package/dist/cjs/runtime/metrics/turn-recorder.js +172 -0
  268. package/dist/cjs/runtime/offline-execution-lease.d.ts +27 -0
  269. package/dist/cjs/runtime/offline-execution-lease.js +49 -0
  270. package/dist/cjs/runtime/policy-overlay.d.ts +86 -0
  271. package/dist/cjs/runtime/policy-overlay.js +122 -0
  272. package/dist/cjs/runtime/postgres-store.d.ts +111 -0
  273. package/dist/cjs/runtime/postgres-store.js +368 -0
  274. package/dist/cjs/runtime/prompt-bundle-store.d.ts +58 -0
  275. package/dist/cjs/runtime/prompt-bundle-store.js +123 -0
  276. package/dist/cjs/runtime/runtime-mode.d.ts +23 -0
  277. package/dist/cjs/runtime/runtime-mode.js +46 -0
  278. package/dist/cjs/runtime/tool-discovery.d.ts +51 -0
  279. package/dist/cjs/runtime/tool-discovery.js +141 -0
  280. package/dist/cjs/runtime/tool-search.d.ts +31 -0
  281. package/dist/cjs/runtime/tool-search.js +149 -0
  282. package/dist/cjs/runtime/turn-snapshot.d.ts +44 -0
  283. package/dist/cjs/runtime/turn-snapshot.js +112 -0
  284. package/dist/cjs/server/adapters/nextjs/approval-binding.d.ts +334 -0
  285. package/dist/cjs/server/adapters/nextjs/approval-binding.js +724 -0
  286. package/dist/cjs/server/adapters/nextjs/chat-interactions-handler.d.ts +26 -0
  287. package/dist/cjs/server/adapters/nextjs/chat-interactions-handler.js +67 -0
  288. package/dist/cjs/server/adapters/nextjs/clarification-resume.d.ts +21 -0
  289. package/dist/cjs/server/adapters/nextjs/clarification-resume.js +112 -0
  290. package/dist/cjs/server/adapters/nextjs/context-helpers.d.ts +49 -8
  291. package/dist/cjs/server/adapters/nextjs/context-helpers.js +76 -21
  292. package/dist/cjs/server/adapters/nextjs/create-ai-chat-handler.d.ts +59 -1
  293. package/dist/cjs/server/adapters/nextjs/create-ai-chat-handler.js +648 -94
  294. package/dist/cjs/server/adapters/nextjs/direct-command.d.ts +75 -0
  295. package/dist/cjs/server/adapters/nextjs/direct-command.js +322 -0
  296. package/dist/cjs/server/adapters/nextjs/index.d.ts +10 -2
  297. package/dist/cjs/server/adapters/nextjs/index.js +24 -1
  298. package/dist/cjs/server/adapters/nextjs/prepare-model-messages.d.ts +2 -1
  299. package/dist/cjs/server/adapters/nextjs/prepare-model-messages.js +6 -14
  300. package/dist/cjs/server/adapters/nextjs/recording-transcription-handler.d.ts +31 -0
  301. package/dist/cjs/server/adapters/nextjs/recording-transcription-handler.js +58 -0
  302. package/dist/cjs/server/adapters/nextjs/request-guards.d.ts +41 -0
  303. package/dist/cjs/server/adapters/nextjs/request-guards.js +112 -0
  304. package/dist/cjs/server/adapters/nextjs/sanitize-model-messages.js +12 -6
  305. package/dist/cjs/server/adapters/nextjs/scope-pipeline-tools.d.ts +17 -0
  306. package/dist/cjs/server/adapters/nextjs/scope-pipeline-tools.js +28 -0
  307. package/dist/cjs/server/adapters/nextjs/tool-discovery.d.ts +39 -0
  308. package/dist/cjs/server/adapters/nextjs/tool-discovery.js +50 -0
  309. package/dist/cjs/server/adapters/nextjs/tool-presentation.d.ts +26 -0
  310. package/dist/cjs/server/adapters/nextjs/tool-presentation.js +21 -0
  311. package/dist/cjs/server/adapters/nextjs/types.d.ts +229 -13
  312. package/dist/cjs/server/adapters/nextjs/with-ai-tool.d.ts +2 -2
  313. package/dist/cjs/server/core/adaptive-fast-path.d.ts +3 -0
  314. package/dist/cjs/server/core/adaptive-fast-path.js +188 -0
  315. package/dist/cjs/server/core/clarification-tool.d.ts +29 -0
  316. package/dist/cjs/server/core/clarification-tool.js +64 -0
  317. package/dist/cjs/server/core/generated-ui-tool.d.ts +31 -0
  318. package/dist/cjs/server/core/generated-ui-tool.js +89 -0
  319. package/dist/cjs/server/core/index.d.ts +49 -8
  320. package/dist/cjs/server/core/index.js +208 -17
  321. package/dist/cjs/server/core/local-guardrails.d.ts +6 -0
  322. package/dist/cjs/server/core/local-guardrails.js +70 -0
  323. package/dist/cjs/server/core/module-router.d.ts +3 -1
  324. package/dist/cjs/server/core/module-router.js +22 -2
  325. package/dist/cjs/server/core/plan-tool.d.ts +23 -0
  326. package/dist/cjs/server/core/plan-tool.js +35 -0
  327. package/dist/cjs/server/core/zod-compact.d.ts +3 -3
  328. package/dist/cjs/server/core/zod-compact.js +126 -54
  329. package/dist/cjs/server/index.d.ts +2 -4
  330. package/dist/cjs/server/index.js +4 -5
  331. package/dist/cjs/server/local-pipeline.d.ts +14 -0
  332. package/dist/cjs/server/local-pipeline.js +154 -0
  333. package/dist/cjs/server/pii-shield/index.d.ts +1 -0
  334. package/dist/cjs/server/pii-shield/index.js +3 -1
  335. package/dist/cjs/server/pii-shield/regex-detector.d.ts +13 -0
  336. package/dist/cjs/server/pii-shield/regex-detector.js +111 -0
  337. package/dist/cjs/server/testing/edge-cases.js +52 -101
  338. package/dist/cjs/server/testing/guardrails.js +2 -66
  339. package/dist/cjs/server/testing/helpers.js +1 -62
  340. package/dist/cjs/server/testing/index.d.ts +1 -0
  341. package/dist/cjs/server/testing/index.js +3 -1
  342. package/dist/cjs/server/testing/registry-parity.d.ts +18 -0
  343. package/dist/cjs/server/testing/registry-parity.js +40 -0
  344. package/dist/cjs/server/testing/schema-consistency.js +5 -26
  345. package/dist/cjs/server/testing/smoke.d.ts +2 -1
  346. package/dist/cjs/server/testing/smoke.js +7 -3
  347. package/dist/cjs/server/testing/types.d.ts +1 -1
  348. package/dist/cjs/server/testing/zod-introspect.d.ts +38 -0
  349. package/dist/cjs/server/testing/zod-introspect.js +297 -0
  350. package/dist/cjs/stt/index.d.ts +5 -0
  351. package/dist/cjs/stt/index.js +16 -0
  352. package/dist/cjs/sync/app-setup-client.d.ts +46 -0
  353. package/dist/cjs/sync/app-setup-client.js +140 -0
  354. package/dist/cjs/sync/capability-report.d.ts +41 -0
  355. package/dist/cjs/sync/capability-report.js +52 -0
  356. package/dist/cjs/sync/connection-lookup.d.ts +19 -0
  357. package/dist/cjs/sync/connection-lookup.js +58 -0
  358. package/dist/cjs/sync/control-plane-client.d.ts +69 -0
  359. package/dist/cjs/sync/control-plane-client.js +186 -0
  360. package/dist/cjs/sync/deployment-selector.d.ts +9 -0
  361. package/dist/cjs/sync/deployment-selector.js +29 -0
  362. package/dist/cjs/sync/fetch-sse-push.d.ts +6 -0
  363. package/dist/cjs/sync/fetch-sse-push.js +45 -0
  364. package/dist/cjs/sync/index.d.ts +26 -0
  365. package/dist/cjs/sync/index.js +43 -0
  366. package/dist/cjs/sync/jwks-provider.d.ts +14 -0
  367. package/dist/cjs/sync/jwks-provider.js +56 -0
  368. package/dist/cjs/sync/local-deployment-validator.d.ts +30 -0
  369. package/dist/cjs/sync/local-deployment-validator.js +62 -0
  370. package/dist/cjs/sync/managed-sync.d.ts +40 -0
  371. package/dist/cjs/sync/managed-sync.js +96 -0
  372. package/dist/cjs/sync/materialize-deployment.d.ts +7 -0
  373. package/dist/cjs/sync/materialize-deployment.js +65 -0
  374. package/dist/cjs/sync/runtime-connect-client.d.ts +23 -0
  375. package/dist/cjs/sync/runtime-connect-client.js +185 -0
  376. package/dist/cjs/sync/runtime-setup-client.d.ts +62 -0
  377. package/dist/cjs/sync/runtime-setup-client.js +157 -0
  378. package/dist/cjs/sync/signature-verifier.d.ts +39 -0
  379. package/dist/cjs/sync/signature-verifier.js +102 -0
  380. package/dist/cjs/sync/state-store.d.ts +24 -0
  381. package/dist/cjs/sync/state-store.js +51 -0
  382. package/dist/cjs/sync/sync-manager.d.ts +27 -0
  383. package/dist/cjs/sync/sync-manager.js +173 -0
  384. package/dist/cjs/types.d.ts +68 -16
  385. package/dist/cjs/types.js +31 -3
  386. package/dist/cli/bin.js +34 -23
  387. package/dist/cli/bin.js.map +1 -1
  388. package/dist/cli/commands/agent-setup.d.ts +27 -0
  389. package/dist/cli/commands/agent-setup.js +149 -0
  390. package/dist/cli/commands/agent-setup.js.map +1 -0
  391. package/dist/cli/commands/apply-setup-plan.d.ts +21 -0
  392. package/dist/cli/commands/apply-setup-plan.js +100 -0
  393. package/dist/cli/commands/apply-setup-plan.js.map +1 -0
  394. package/dist/cli/commands/atomic-artifact-write.d.ts +19 -0
  395. package/dist/cli/commands/atomic-artifact-write.js +106 -0
  396. package/dist/cli/commands/atomic-artifact-write.js.map +1 -0
  397. package/dist/cli/commands/ci-workflow.d.ts +48 -0
  398. package/dist/cli/commands/ci-workflow.js +209 -0
  399. package/dist/cli/commands/ci-workflow.js.map +1 -0
  400. package/dist/cli/commands/connect.d.ts +47 -0
  401. package/dist/cli/commands/connect.js +216 -0
  402. package/dist/cli/commands/connect.js.map +1 -0
  403. package/dist/cli/commands/connection-descriptor.d.ts +4 -0
  404. package/dist/cli/commands/connection-descriptor.js +47 -0
  405. package/dist/cli/commands/connection-descriptor.js.map +1 -0
  406. package/dist/cli/commands/connection-environment.d.ts +25 -0
  407. package/dist/cli/commands/connection-environment.js +151 -0
  408. package/dist/cli/commands/connection-environment.js.map +1 -0
  409. package/dist/cli/commands/current-setup-manifests.d.ts +7 -0
  410. package/dist/cli/commands/current-setup-manifests.js +16 -0
  411. package/dist/cli/commands/current-setup-manifests.js.map +1 -0
  412. package/dist/cli/commands/doctor-presentation.d.ts +5 -0
  413. package/dist/cli/commands/doctor-presentation.js +86 -0
  414. package/dist/cli/commands/doctor-presentation.js.map +1 -0
  415. package/dist/cli/commands/doctor.d.ts +27 -0
  416. package/dist/cli/commands/doctor.js +220 -0
  417. package/dist/cli/commands/doctor.js.map +1 -0
  418. package/dist/cli/commands/init-scaffold.d.ts +25 -0
  419. package/dist/cli/commands/init-scaffold.js +214 -0
  420. package/dist/cli/commands/init-scaffold.js.map +1 -0
  421. package/dist/cli/commands/install-skills.d.ts +26 -4
  422. package/dist/cli/commands/install-skills.js +165 -80
  423. package/dist/cli/commands/install-skills.js.map +1 -1
  424. package/dist/cli/commands/installed-skills-manifest.d.ts +87 -0
  425. package/dist/cli/commands/installed-skills-manifest.js +124 -0
  426. package/dist/cli/commands/installed-skills-manifest.js.map +1 -0
  427. package/dist/cli/commands/installer-parts.d.ts +31 -0
  428. package/dist/cli/commands/installer-parts.js +94 -0
  429. package/dist/cli/commands/installer-parts.js.map +1 -0
  430. package/dist/cli/commands/project-inspection.d.ts +35 -0
  431. package/dist/cli/commands/project-inspection.js +199 -0
  432. package/dist/cli/commands/project-inspection.js.map +1 -0
  433. package/dist/cli/commands/setup-plan.d.ts +65 -0
  434. package/dist/cli/commands/setup-plan.js +234 -0
  435. package/dist/cli/commands/setup-plan.js.map +1 -0
  436. package/dist/cli/commands/setup-profile.d.ts +28 -0
  437. package/dist/cli/commands/setup-profile.js +152 -0
  438. package/dist/cli/commands/setup-profile.js.map +1 -0
  439. package/dist/cli/commands/setup-wizard.d.ts +66 -0
  440. package/dist/cli/commands/setup-wizard.js +241 -0
  441. package/dist/cli/commands/setup-wizard.js.map +1 -0
  442. package/dist/cli/commands/sync.d.ts +58 -0
  443. package/dist/cli/commands/sync.js +233 -0
  444. package/dist/cli/commands/sync.js.map +1 -0
  445. package/dist/cli/commands/tools/args.d.ts +14 -0
  446. package/dist/cli/commands/tools/args.js +33 -0
  447. package/dist/cli/commands/tools/args.js.map +1 -0
  448. package/dist/cli/commands/tools/check.d.ts +7 -0
  449. package/dist/cli/commands/tools/check.js +35 -0
  450. package/dist/cli/commands/tools/check.js.map +1 -0
  451. package/dist/cli/commands/tools/describe.d.ts +12 -0
  452. package/dist/cli/commands/tools/describe.js +43 -0
  453. package/dist/cli/commands/tools/describe.js.map +1 -0
  454. package/dist/cli/commands/tools/enrich.d.ts +50 -0
  455. package/dist/cli/commands/tools/enrich.js +597 -0
  456. package/dist/cli/commands/tools/enrich.js.map +1 -0
  457. package/dist/cli/commands/tools/eval.d.ts +13 -0
  458. package/dist/cli/commands/tools/eval.js +49 -0
  459. package/dist/cli/commands/tools/eval.js.map +1 -0
  460. package/dist/cli/commands/tools/format.d.ts +42 -0
  461. package/dist/cli/commands/tools/format.js +155 -0
  462. package/dist/cli/commands/tools/format.js.map +1 -0
  463. package/dist/cli/commands/tools/index.d.ts +26 -0
  464. package/dist/cli/commands/tools/index.js +107 -0
  465. package/dist/cli/commands/tools/index.js.map +1 -0
  466. package/dist/cli/commands/tools/policy.d.ts +11 -0
  467. package/dist/cli/commands/tools/policy.js +355 -0
  468. package/dist/cli/commands/tools/policy.js.map +1 -0
  469. package/dist/cli/commands/tools/refresh.d.ts +6 -0
  470. package/dist/cli/commands/tools/refresh.js +87 -0
  471. package/dist/cli/commands/tools/refresh.js.map +1 -0
  472. package/dist/cli/commands/tools/resolve.d.ts +10 -0
  473. package/dist/cli/commands/tools/resolve.js +19 -0
  474. package/dist/cli/commands/tools/resolve.js.map +1 -0
  475. package/dist/cli/commands/tools/status.d.ts +11 -0
  476. package/dist/cli/commands/tools/status.js +76 -0
  477. package/dist/cli/commands/tools/status.js.map +1 -0
  478. package/dist/cli/commands/tools/verify.d.ts +13 -0
  479. package/dist/cli/commands/tools/verify.js +168 -0
  480. package/dist/cli/commands/tools/verify.js.map +1 -0
  481. package/dist/cli/commands/tools/watch.d.ts +27 -0
  482. package/dist/cli/commands/tools/watch.js +148 -0
  483. package/dist/cli/commands/tools/watch.js.map +1 -0
  484. package/dist/cli/commands/validate-build.d.ts +88 -0
  485. package/dist/cli/commands/validate-build.js +213 -0
  486. package/dist/cli/commands/validate-build.js.map +1 -0
  487. package/dist/cli/commands/workspace-sources.d.ts +27 -0
  488. package/dist/cli/commands/workspace-sources.js +159 -0
  489. package/dist/cli/commands/workspace-sources.js.map +1 -0
  490. package/dist/cli/environment-loading.d.ts +6 -0
  491. package/dist/cli/environment-loading.js +18 -0
  492. package/dist/cli/environment-loading.js.map +1 -0
  493. package/dist/cli/index.d.ts +14 -1
  494. package/dist/cli/index.js +558 -574
  495. package/dist/cli/index.js.map +1 -1
  496. package/dist/codegen/execution-inventory.d.ts +63 -0
  497. package/dist/codegen/execution-inventory.js +306 -0
  498. package/dist/codegen/execution-inventory.js.map +1 -0
  499. package/dist/codegen/index.d.ts +4 -13
  500. package/dist/codegen/index.js +4 -12
  501. package/dist/codegen/index.js.map +1 -1
  502. package/dist/codegen/inventory-generation.d.ts +104 -0
  503. package/dist/codegen/inventory-generation.js +119 -0
  504. package/dist/codegen/inventory-generation.js.map +1 -0
  505. package/dist/codegen/next-source-generation.d.ts +17 -0
  506. package/dist/codegen/next-source-generation.js +49 -0
  507. package/dist/codegen/next-source-generation.js.map +1 -0
  508. package/dist/codegen/openapi-document.d.ts +53 -0
  509. package/dist/codegen/openapi-document.js +120 -0
  510. package/dist/codegen/openapi-document.js.map +1 -0
  511. package/dist/codegen/route-exports.d.ts +13 -0
  512. package/dist/codegen/route-exports.js +117 -0
  513. package/dist/codegen/route-exports.js.map +1 -0
  514. package/dist/codegen/route-fingerprint.d.ts +2 -0
  515. package/dist/codegen/route-fingerprint.js +9 -0
  516. package/dist/codegen/route-fingerprint.js.map +1 -0
  517. package/dist/codegen/route-scanner.d.ts +57 -0
  518. package/dist/codegen/route-scanner.js +233 -0
  519. package/dist/codegen/route-scanner.js.map +1 -0
  520. package/dist/codegen/tools/agentic.d.ts +31 -0
  521. package/dist/codegen/tools/agentic.js +110 -0
  522. package/dist/codegen/tools/agentic.js.map +1 -0
  523. package/dist/codegen/tools/artifact.d.ts +139 -0
  524. package/dist/codegen/tools/artifact.js +199 -0
  525. package/dist/codegen/tools/artifact.js.map +1 -0
  526. package/dist/codegen/tools/canonical.d.ts +12 -0
  527. package/dist/codegen/tools/canonical.js +41 -0
  528. package/dist/codegen/tools/canonical.js.map +1 -0
  529. package/dist/codegen/tools/chat-interactions.d.ts +27 -0
  530. package/dist/codegen/tools/chat-interactions.js +377 -0
  531. package/dist/codegen/tools/chat-interactions.js.map +1 -0
  532. package/dist/codegen/tools/config.d.ts +116 -0
  533. package/dist/codegen/tools/config.js +172 -0
  534. package/dist/codegen/tools/config.js.map +1 -0
  535. package/dist/codegen/tools/contract-tiers.d.ts +64 -0
  536. package/dist/codegen/tools/contract-tiers.js +518 -0
  537. package/dist/codegen/tools/contract-tiers.js.map +1 -0
  538. package/dist/codegen/tools/emit-module.d.ts +13 -0
  539. package/dist/codegen/tools/emit-module.js +182 -0
  540. package/dist/codegen/tools/emit-module.js.map +1 -0
  541. package/dist/codegen/tools/evidence.d.ts +13 -0
  542. package/dist/codegen/tools/evidence.js +138 -0
  543. package/dist/codegen/tools/evidence.js.map +1 -0
  544. package/dist/codegen/tools/exclusions.d.ts +30 -0
  545. package/dist/codegen/tools/exclusions.js +95 -0
  546. package/dist/codegen/tools/exclusions.js.map +1 -0
  547. package/dist/codegen/tools/files.d.ts +195 -0
  548. package/dist/codegen/tools/files.js +119 -0
  549. package/dist/codegen/tools/files.js.map +1 -0
  550. package/dist/codegen/tools/findings.d.ts +7 -0
  551. package/dist/codegen/tools/findings.js +106 -0
  552. package/dist/codegen/tools/findings.js.map +1 -0
  553. package/dist/codegen/tools/handler-analysis.d.ts +49 -0
  554. package/dist/codegen/tools/handler-analysis.js +375 -0
  555. package/dist/codegen/tools/handler-analysis.js.map +1 -0
  556. package/dist/codegen/tools/handler-locator.d.ts +21 -0
  557. package/dist/codegen/tools/handler-locator.js +152 -0
  558. package/dist/codegen/tools/handler-locator.js.map +1 -0
  559. package/dist/codegen/tools/identity.d.ts +18 -0
  560. package/dist/codegen/tools/identity.js +100 -0
  561. package/dist/codegen/tools/identity.js.map +1 -0
  562. package/dist/codegen/tools/input-roles.d.ts +32 -0
  563. package/dist/codegen/tools/input-roles.js +283 -0
  564. package/dist/codegen/tools/input-roles.js.map +1 -0
  565. package/dist/codegen/tools/inputs.d.ts +33 -0
  566. package/dist/codegen/tools/inputs.js +101 -0
  567. package/dist/codegen/tools/inputs.js.map +1 -0
  568. package/dist/codegen/tools/interface-digest.d.ts +14 -0
  569. package/dist/codegen/tools/interface-digest.js +24 -0
  570. package/dist/codegen/tools/interface-digest.js.map +1 -0
  571. package/dist/codegen/tools/mcp-names.d.ts +23 -0
  572. package/dist/codegen/tools/mcp-names.js +59 -0
  573. package/dist/codegen/tools/mcp-names.js.map +1 -0
  574. package/dist/codegen/tools/mode.d.ts +7 -0
  575. package/dist/codegen/tools/mode.js +27 -0
  576. package/dist/codegen/tools/mode.js.map +1 -0
  577. package/dist/codegen/tools/output-inference.d.ts +6 -0
  578. package/dist/codegen/tools/output-inference.js +99 -0
  579. package/dist/codegen/tools/output-inference.js.map +1 -0
  580. package/dist/codegen/tools/pipeline.d.ts +85 -0
  581. package/dist/codegen/tools/pipeline.js +733 -0
  582. package/dist/codegen/tools/pipeline.js.map +1 -0
  583. package/dist/codegen/tools/probe-child.mjs +155 -0
  584. package/dist/codegen/tools/probe-loader.mjs +105 -0
  585. package/dist/codegen/tools/program.d.ts +16 -0
  586. package/dist/codegen/tools/program.js +80 -0
  587. package/dist/codegen/tools/program.js.map +1 -0
  588. package/dist/codegen/tools/prose.d.ts +42 -0
  589. package/dist/codegen/tools/prose.js +211 -0
  590. package/dist/codegen/tools/prose.js.map +1 -0
  591. package/dist/codegen/tools/resolutions.d.ts +117 -0
  592. package/dist/codegen/tools/resolutions.js +195 -0
  593. package/dist/codegen/tools/resolutions.js.map +1 -0
  594. package/dist/codegen/tools/routing-eval.d.ts +50 -0
  595. package/dist/codegen/tools/routing-eval.js +81 -0
  596. package/dist/codegen/tools/routing-eval.js.map +1 -0
  597. package/dist/codegen/tools/schema-probe.d.ts +62 -0
  598. package/dist/codegen/tools/schema-probe.js +209 -0
  599. package/dist/codegen/tools/schema-probe.js.map +1 -0
  600. package/dist/codegen/tools/semantics.d.ts +134 -0
  601. package/dist/codegen/tools/semantics.js +206 -0
  602. package/dist/codegen/tools/semantics.js.map +1 -0
  603. package/dist/codegen/tools/sources/app-files.d.ts +35 -0
  604. package/dist/codegen/tools/sources/app-files.js +109 -0
  605. package/dist/codegen/tools/sources/app-files.js.map +1 -0
  606. package/dist/codegen/tools/sources/fastapi-routes.py +177 -0
  607. package/dist/codegen/tools/sources/nest-decorators.d.ts +27 -0
  608. package/dist/codegen/tools/sources/nest-decorators.js +65 -0
  609. package/dist/codegen/tools/sources/nest-decorators.js.map +1 -0
  610. package/dist/codegen/tools/sources/nest-endpoints.d.ts +10 -0
  611. package/dist/codegen/tools/sources/nest-endpoints.js +522 -0
  612. package/dist/codegen/tools/sources/nest-endpoints.js.map +1 -0
  613. package/dist/codegen/tools/sources/next-endpoints.d.ts +5 -0
  614. package/dist/codegen/tools/sources/next-endpoints.js +389 -0
  615. package/dist/codegen/tools/sources/next-endpoints.js.map +1 -0
  616. package/dist/codegen/tools/sources/next-pages.d.ts +18 -0
  617. package/dist/codegen/tools/sources/next-pages.js +88 -0
  618. package/dist/codegen/tools/sources/next-pages.js.map +1 -0
  619. package/dist/codegen/tools/sources/openapi-endpoints.d.ts +17 -0
  620. package/dist/codegen/tools/sources/openapi-endpoints.js +395 -0
  621. package/dist/codegen/tools/sources/openapi-endpoints.js.map +1 -0
  622. package/dist/codegen/tools/sources/page-tree.d.ts +49 -0
  623. package/dist/codegen/tools/sources/page-tree.js +152 -0
  624. package/dist/codegen/tools/sources/page-tree.js.map +1 -0
  625. package/dist/codegen/tools/sources/react-actions.d.ts +12 -0
  626. package/dist/codegen/tools/sources/react-actions.js +341 -0
  627. package/dist/codegen/tools/sources/react-actions.js.map +1 -0
  628. package/dist/codegen/tools/sources/route-config.d.ts +49 -0
  629. package/dist/codegen/tools/sources/route-config.js +427 -0
  630. package/dist/codegen/tools/sources/route-config.js.map +1 -0
  631. package/dist/codegen/tools/sources/ui-controls.d.ts +41 -0
  632. package/dist/codegen/tools/sources/ui-controls.js +360 -0
  633. package/dist/codegen/tools/sources/ui-controls.js.map +1 -0
  634. package/dist/codegen/tools/sources/ui-tools.d.ts +79 -0
  635. package/dist/codegen/tools/sources/ui-tools.js +207 -0
  636. package/dist/codegen/tools/sources/ui-tools.js.map +1 -0
  637. package/dist/codegen/tools/sources/url-filters.d.ts +41 -0
  638. package/dist/codegen/tools/sources/url-filters.js +813 -0
  639. package/dist/codegen/tools/sources/url-filters.js.map +1 -0
  640. package/dist/codegen/tools/sources/vue-sfc.d.ts +22 -0
  641. package/dist/codegen/tools/sources/vue-sfc.js +65 -0
  642. package/dist/codegen/tools/sources/vue-sfc.js.map +1 -0
  643. package/dist/codegen/tools/state.d.ts +37 -0
  644. package/dist/codegen/tools/state.js +249 -0
  645. package/dist/codegen/tools/state.js.map +1 -0
  646. package/dist/codegen/tools/types.d.ts +137 -0
  647. package/dist/codegen/tools/types.js +2 -0
  648. package/dist/codegen/tools/types.js.map +1 -0
  649. package/dist/codegen/tools/worklist.d.ts +157 -0
  650. package/dist/codegen/tools/worklist.js +406 -0
  651. package/dist/codegen/tools/worklist.js.map +1 -0
  652. package/dist/contracts/app-setup.d.ts +346 -0
  653. package/dist/contracts/app-setup.js +205 -0
  654. package/dist/contracts/app-setup.js.map +1 -0
  655. package/dist/contracts/chat-command.d.ts +65 -0
  656. package/dist/contracts/chat-command.js +121 -0
  657. package/dist/contracts/chat-command.js.map +1 -0
  658. package/dist/contracts/chat-interactions.d.ts +126 -0
  659. package/dist/contracts/chat-interactions.js +431 -0
  660. package/dist/contracts/chat-interactions.js.map +1 -0
  661. package/dist/contracts/clarification.d.ts +53 -0
  662. package/dist/contracts/clarification.js +86 -0
  663. package/dist/contracts/clarification.js.map +1 -0
  664. package/dist/contracts/content-boundary.d.ts +3 -0
  665. package/dist/contracts/content-boundary.js +91 -0
  666. package/dist/contracts/content-boundary.js.map +1 -0
  667. package/dist/contracts/events.d.ts +273 -0
  668. package/dist/contracts/events.js +227 -0
  669. package/dist/contracts/events.js.map +1 -0
  670. package/dist/contracts/index.d.ts +18 -0
  671. package/dist/contracts/index.js +10 -0
  672. package/dist/contracts/index.js.map +1 -0
  673. package/dist/contracts/plan.d.ts +20 -0
  674. package/dist/contracts/plan.js +35 -0
  675. package/dist/contracts/plan.js.map +1 -0
  676. package/dist/contracts/platform-connection.d.ts +44 -0
  677. package/dist/contracts/platform-connection.js +64 -0
  678. package/dist/contracts/platform-connection.js.map +1 -0
  679. package/dist/contracts/platform-prompt-revision.d.ts +27 -0
  680. package/dist/contracts/platform-prompt-revision.js +44 -0
  681. package/dist/contracts/platform-prompt-revision.js.map +1 -0
  682. package/dist/contracts/prompt-bundle.d.ts +46 -0
  683. package/dist/contracts/prompt-bundle.js +70 -0
  684. package/dist/contracts/prompt-bundle.js.map +1 -0
  685. package/dist/contracts/revisions.d.ts +716 -0
  686. package/dist/contracts/revisions.js +298 -0
  687. package/dist/contracts/revisions.js.map +1 -0
  688. package/dist/contracts/runtime.d.ts +55 -0
  689. package/dist/contracts/runtime.js +65 -0
  690. package/dist/contracts/runtime.js.map +1 -0
  691. package/dist/contracts/semantic-change.d.ts +27 -0
  692. package/dist/contracts/semantic-change.js +101 -0
  693. package/dist/contracts/semantic-change.js.map +1 -0
  694. package/dist/contracts/tool-exclude-pattern.d.ts +12 -0
  695. package/dist/contracts/tool-exclude-pattern.js +27 -0
  696. package/dist/contracts/tool-exclude-pattern.js.map +1 -0
  697. package/dist/contracts/tool-policy-entry.d.ts +107 -0
  698. package/dist/contracts/tool-policy-entry.js +40 -0
  699. package/dist/contracts/tool-policy-entry.js.map +1 -0
  700. package/dist/contracts/tool-policy.d.ts +198 -0
  701. package/dist/contracts/tool-policy.js +485 -0
  702. package/dist/contracts/tool-policy.js.map +1 -0
  703. package/dist/contracts/url.d.ts +2 -0
  704. package/dist/contracts/url.js +8 -0
  705. package/dist/contracts/url.js.map +1 -0
  706. package/dist/diagnostics/foundation-diagnostic.d.ts +34 -0
  707. package/dist/diagnostics/foundation-diagnostic.js +47 -0
  708. package/dist/diagnostics/foundation-diagnostic.js.map +1 -0
  709. package/dist/diagnostics/index.d.ts +2 -0
  710. package/dist/diagnostics/index.js +2 -0
  711. package/dist/diagnostics/index.js.map +1 -0
  712. package/dist/embed/chat-styles.generated.d.ts +1 -0
  713. package/dist/embed/chat-styles.generated.js +4 -0
  714. package/dist/embed/chat-styles.generated.js.map +1 -0
  715. package/dist/embed/glirastes-chat-element.d.ts +67 -0
  716. package/dist/embed/glirastes-chat-element.js +278 -0
  717. package/dist/embed/glirastes-chat-element.js.map +1 -0
  718. package/dist/embed/index.d.ts +4 -0
  719. package/dist/embed/index.js +11 -0
  720. package/dist/embed/index.js.map +1 -0
  721. package/dist/embed/theme.d.ts +10 -0
  722. package/dist/embed/theme.js +41 -0
  723. package/dist/embed/theme.js.map +1 -0
  724. package/dist/index.d.ts +1 -0
  725. package/dist/index.js +1 -0
  726. package/dist/index.js.map +1 -1
  727. package/dist/react/assistant/assistant-layout.d.ts +55 -0
  728. package/dist/react/assistant/assistant-layout.js +99 -0
  729. package/dist/react/assistant/assistant-layout.js.map +1 -0
  730. package/dist/react/assistant/assistant-shell.d.ts +132 -0
  731. package/dist/react/assistant/assistant-shell.js +262 -0
  732. package/dist/react/assistant/assistant-shell.js.map +1 -0
  733. package/dist/react/assistant/assistant-shortcut-list.d.ts +24 -0
  734. package/dist/react/assistant/assistant-shortcut-list.js +32 -0
  735. package/dist/react/assistant/assistant-shortcut-list.js.map +1 -0
  736. package/dist/react/assistant/assistant-workspace.d.ts +31 -0
  737. package/dist/react/assistant/assistant-workspace.js +31 -0
  738. package/dist/react/assistant/assistant-workspace.js.map +1 -0
  739. package/dist/react/completions/completion-search.d.ts +21 -0
  740. package/dist/react/completions/completion-search.js +109 -0
  741. package/dist/react/completions/completion-search.js.map +1 -0
  742. package/dist/react/completions/ui-tool-command-provider.d.ts +15 -0
  743. package/dist/react/completions/ui-tool-command-provider.js +82 -0
  744. package/dist/react/completions/ui-tool-command-provider.js.map +1 -0
  745. package/dist/react/components/activity-log.d.ts +17 -0
  746. package/dist/react/components/activity-log.js +68 -0
  747. package/dist/react/components/activity-log.js.map +1 -0
  748. package/dist/react/components/ai-chat-panel.js +13 -6
  749. package/dist/react/components/ai-chat-panel.js.map +1 -1
  750. package/dist/react/components/ai-trigger-button.d.ts +1 -1
  751. package/dist/react/components/ai-trigger-button.js +13 -68
  752. package/dist/react/components/ai-trigger-button.js.map +1 -1
  753. package/dist/react/components/chat-input.js +7 -5
  754. package/dist/react/components/chat-input.js.map +1 -1
  755. package/dist/react/components/chat-window-visibility.d.ts +3 -0
  756. package/dist/react/components/chat-window-visibility.js +5 -0
  757. package/dist/react/components/chat-window-visibility.js.map +1 -0
  758. package/dist/react/components/chat-window.d.ts +1 -1
  759. package/dist/react/components/chat-window.js +124 -57
  760. package/dist/react/components/chat-window.js.map +1 -1
  761. package/dist/react/components/clarification-card.d.ts +10 -0
  762. package/dist/react/components/clarification-card.js +33 -0
  763. package/dist/react/components/clarification-card.js.map +1 -0
  764. package/dist/react/components/command-arguments-form.d.ts +10 -0
  765. package/dist/react/components/command-arguments-form.js +151 -0
  766. package/dist/react/components/command-arguments-form.js.map +1 -0
  767. package/dist/react/components/confirm-dialog.js +1 -1
  768. package/dist/react/components/confirm-dialog.js.map +1 -1
  769. package/dist/react/components/floating-chat-ui.d.ts +3 -3
  770. package/dist/react/components/floating-chat-ui.js +31 -5
  771. package/dist/react/components/floating-chat-ui.js.map +1 -1
  772. package/dist/react/components/mention-input.d.ts +5 -4
  773. package/dist/react/components/mention-input.js +65 -8
  774. package/dist/react/components/mention-input.js.map +1 -1
  775. package/dist/react/components/message-bubble.js +90 -14
  776. package/dist/react/components/message-bubble.js.map +1 -1
  777. package/dist/react/components/plan-checklist.d.ts +14 -0
  778. package/dist/react/components/plan-checklist.js +18 -0
  779. package/dist/react/components/plan-checklist.js.map +1 -0
  780. package/dist/react/components/recording-bar.js +45 -59
  781. package/dist/react/components/recording-bar.js.map +1 -1
  782. package/dist/react/components/rich-mention-input.js +199 -47
  783. package/dist/react/components/rich-mention-input.js.map +1 -1
  784. package/dist/react/components/session-switcher.d.ts +3 -1
  785. package/dist/react/components/session-switcher.js +27 -12
  786. package/dist/react/components/session-switcher.js.map +1 -1
  787. package/dist/react/components/status-icon.d.ts +8 -0
  788. package/dist/react/components/status-icon.js +9 -0
  789. package/dist/react/components/status-icon.js.map +1 -0
  790. package/dist/react/components/stream-waveform.d.ts +4 -0
  791. package/dist/react/components/stream-waveform.js +47 -0
  792. package/dist/react/components/stream-waveform.js.map +1 -0
  793. package/dist/react/components/voice-input-addon.d.ts +16 -1
  794. package/dist/react/components/voice-input-addon.js +256 -19
  795. package/dist/react/components/voice-input-addon.js.map +1 -1
  796. package/dist/react/components/voice-input-button.js +1 -1
  797. package/dist/react/components/voice-input-button.js.map +1 -1
  798. package/dist/react/hooks/use-chat-shortcuts.d.ts +33 -0
  799. package/dist/react/hooks/use-chat-shortcuts.js +133 -0
  800. package/dist/react/hooks/use-chat-shortcuts.js.map +1 -0
  801. package/dist/react/hooks/use-deepgram-transcription.d.ts +4 -0
  802. package/dist/react/hooks/use-deepgram-transcription.js +32 -322
  803. package/dist/react/hooks/use-deepgram-transcription.js.map +1 -1
  804. package/dist/react/hooks/use-drag-resize-panel.d.ts +1 -0
  805. package/dist/react/hooks/use-drag-resize-panel.js +246 -121
  806. package/dist/react/hooks/use-drag-resize-panel.js.map +1 -1
  807. package/dist/react/hooks/use-floating-panel.d.ts +57 -0
  808. package/dist/react/hooks/use-floating-panel.js +215 -0
  809. package/dist/react/hooks/use-floating-panel.js.map +1 -0
  810. package/dist/react/hooks/use-keyboard-shortcut.js +2 -1
  811. package/dist/react/hooks/use-keyboard-shortcut.js.map +1 -1
  812. package/dist/react/hooks/use-push-to-talk-hotkey.d.ts +24 -0
  813. package/dist/react/hooks/use-push-to-talk-hotkey.js +112 -0
  814. package/dist/react/hooks/use-push-to-talk-hotkey.js.map +1 -0
  815. package/dist/react/hooks/use-sidebar-resize.d.ts +19 -0
  816. package/dist/react/hooks/use-sidebar-resize.js +107 -0
  817. package/dist/react/hooks/use-sidebar-resize.js.map +1 -0
  818. package/dist/react/index.d.ts +30 -1
  819. package/dist/react/index.js +31 -0
  820. package/dist/react/index.js.map +1 -1
  821. package/dist/react/interactions/definitions.d.ts +67 -0
  822. package/dist/react/interactions/definitions.js +78 -0
  823. package/dist/react/interactions/definitions.js.map +1 -0
  824. package/dist/react/interactions/registry.d.ts +74 -0
  825. package/dist/react/interactions/registry.js +248 -0
  826. package/dist/react/interactions/registry.js.map +1 -0
  827. package/dist/react/interactions/use-chat-interactions-data.d.ts +15 -0
  828. package/dist/react/interactions/use-chat-interactions-data.js +41 -0
  829. package/dist/react/interactions/use-chat-interactions-data.js.map +1 -0
  830. package/dist/react/locale-de.d.ts +3 -0
  831. package/dist/react/locale-de.js +64 -0
  832. package/dist/react/locale-de.js.map +1 -0
  833. package/dist/react/provider/ai-chat-provider.d.ts +1 -1
  834. package/dist/react/provider/ai-chat-provider.js +408 -107
  835. package/dist/react/provider/ai-chat-provider.js.map +1 -1
  836. package/dist/react/provider/chat-context.d.ts +52 -1
  837. package/dist/react/provider/chat-context.js.map +1 -1
  838. package/dist/react/stt/controller.d.ts +60 -0
  839. package/dist/react/stt/controller.js +265 -0
  840. package/dist/react/stt/controller.js.map +1 -0
  841. package/dist/react/stt/deepgram.d.ts +30 -0
  842. package/dist/react/stt/deepgram.js +199 -0
  843. package/dist/react/stt/deepgram.js.map +1 -0
  844. package/dist/react/stt/recorded.d.ts +29 -0
  845. package/dist/react/stt/recorded.js +111 -0
  846. package/dist/react/stt/recorded.js.map +1 -0
  847. package/dist/react/stt/segments.d.ts +18 -0
  848. package/dist/react/stt/segments.js +29 -0
  849. package/dist/react/stt/segments.js.map +1 -0
  850. package/dist/react/stt/use-stt.d.ts +17 -0
  851. package/dist/react/stt/use-stt.js +39 -0
  852. package/dist/react/stt/use-stt.js.map +1 -0
  853. package/dist/react/stt/waveform.d.ts +5 -0
  854. package/dist/react/stt/waveform.js +29 -0
  855. package/dist/react/stt/waveform.js.map +1 -0
  856. package/dist/react/styles.css +758 -126
  857. package/dist/react/tool-renderers/registry.d.ts +31 -0
  858. package/dist/react/tool-renderers/registry.js +47 -0
  859. package/dist/react/tool-renderers/registry.js.map +1 -0
  860. package/dist/react/tool-renderers/renderer-boundary.d.ts +18 -0
  861. package/dist/react/tool-renderers/renderer-boundary.js +12 -0
  862. package/dist/react/tool-renderers/renderer-boundary.js.map +1 -0
  863. package/dist/react/transports/vercel/vercel-ai-chat.d.ts +1 -1
  864. package/dist/react/transports/vercel/vercel-ai-chat.js +2 -2
  865. package/dist/react/transports/vercel/vercel-ai-chat.js.map +1 -1
  866. package/dist/react/transports/vercel.d.ts +6 -0
  867. package/dist/react/transports/vercel.js +11 -6
  868. package/dist/react/transports/vercel.js.map +1 -1
  869. package/dist/react/types.d.ts +264 -6
  870. package/dist/react/ui.d.ts +18 -17
  871. package/dist/react/ui.js +46 -43
  872. package/dist/react/ui.js.map +1 -1
  873. package/dist/react/unstyled.d.ts +7 -0
  874. package/dist/react/unstyled.js +8 -0
  875. package/dist/react/unstyled.js.map +1 -0
  876. package/dist/react/utils/activity.d.ts +16 -0
  877. package/dist/react/utils/activity.js +77 -0
  878. package/dist/react/utils/activity.js.map +1 -0
  879. package/dist/react/utils/clarification.d.ts +31 -0
  880. package/dist/react/utils/clarification.js +99 -0
  881. package/dist/react/utils/clarification.js.map +1 -0
  882. package/dist/react/utils/create-approval-description.d.ts +6 -0
  883. package/dist/react/utils/create-approval-description.js +32 -3
  884. package/dist/react/utils/create-approval-description.js.map +1 -1
  885. package/dist/react/utils/create-tool-result-handler.d.ts +1 -1
  886. package/dist/react/utils/create-tool-result-handler.js +1 -1
  887. package/dist/react/utils/create-tool-result-handler.js.map +1 -1
  888. package/dist/react/utils/entity-names.d.ts +6 -0
  889. package/dist/react/utils/entity-names.js +55 -0
  890. package/dist/react/utils/entity-names.js.map +1 -0
  891. package/dist/react/utils/followup-suggestions.d.ts +11 -0
  892. package/dist/react/utils/followup-suggestions.js +37 -0
  893. package/dist/react/utils/followup-suggestions.js.map +1 -0
  894. package/dist/react/utils/local-session-store.d.ts +30 -0
  895. package/dist/react/utils/local-session-store.js +163 -0
  896. package/dist/react/utils/local-session-store.js.map +1 -0
  897. package/dist/react/utils/mention-markup.d.ts +44 -1
  898. package/dist/react/utils/mention-markup.js +140 -10
  899. package/dist/react/utils/mention-markup.js.map +1 -1
  900. package/dist/react/utils/tool-presentation.d.ts +23 -0
  901. package/dist/react/utils/tool-presentation.js +41 -0
  902. package/dist/react/utils/tool-presentation.js.map +1 -0
  903. package/dist/react/utils/tool-result-config.d.ts +10 -0
  904. package/dist/react/utils/tool-result-config.js +12 -0
  905. package/dist/react/utils/tool-result-config.js.map +1 -0
  906. package/dist/runtime/ai-sdk/engine.d.ts +66 -0
  907. package/dist/runtime/ai-sdk/engine.js +188 -0
  908. package/dist/runtime/ai-sdk/engine.js.map +1 -0
  909. package/dist/runtime/ai-sdk/index.d.ts +1 -0
  910. package/dist/runtime/ai-sdk/index.js +2 -0
  911. package/dist/runtime/ai-sdk/index.js.map +1 -0
  912. package/dist/runtime/authorization.d.ts +16 -0
  913. package/dist/runtime/authorization.js +33 -0
  914. package/dist/runtime/authorization.js.map +1 -0
  915. package/dist/runtime/budget.d.ts +39 -0
  916. package/dist/runtime/budget.js +97 -0
  917. package/dist/runtime/budget.js.map +1 -0
  918. package/dist/runtime/contract-bindings.d.ts +52 -0
  919. package/dist/runtime/contract-bindings.js +92 -0
  920. package/dist/runtime/contract-bindings.js.map +1 -0
  921. package/dist/runtime/engine.d.ts +52 -0
  922. package/dist/runtime/engine.js +2 -0
  923. package/dist/runtime/engine.js.map +1 -0
  924. package/dist/runtime/fingerprint.d.ts +6 -0
  925. package/dist/runtime/fingerprint.js +29 -0
  926. package/dist/runtime/fingerprint.js.map +1 -0
  927. package/dist/runtime/glirastes.d.ts +112 -0
  928. package/dist/runtime/glirastes.js +285 -0
  929. package/dist/runtime/glirastes.js.map +1 -0
  930. package/dist/runtime/index.d.ts +23 -0
  931. package/dist/runtime/index.js +23 -0
  932. package/dist/runtime/index.js.map +1 -0
  933. package/dist/runtime/json-schema.d.ts +13 -0
  934. package/dist/runtime/json-schema.js +41 -0
  935. package/dist/runtime/json-schema.js.map +1 -0
  936. package/dist/runtime/local-runtime-source.d.ts +76 -0
  937. package/dist/runtime/local-runtime-source.js +0 -0
  938. package/dist/runtime/local-runtime-source.js.map +1 -0
  939. package/dist/runtime/local-signer.d.ts +17 -0
  940. package/dist/runtime/local-signer.js +32 -0
  941. package/dist/runtime/local-signer.js.map +1 -0
  942. package/dist/runtime/local-tool-bindings.d.ts +57 -0
  943. package/dist/runtime/local-tool-bindings.js +190 -0
  944. package/dist/runtime/local-tool-bindings.js.map +1 -0
  945. package/dist/runtime/managed-turn.d.ts +29 -0
  946. package/dist/runtime/managed-turn.js +97 -0
  947. package/dist/runtime/managed-turn.js.map +1 -0
  948. package/dist/runtime/metrics/cost.d.ts +64 -0
  949. package/dist/runtime/metrics/cost.js +92 -0
  950. package/dist/runtime/metrics/cost.js.map +1 -0
  951. package/dist/runtime/metrics/sink.d.ts +56 -0
  952. package/dist/runtime/metrics/sink.js +214 -0
  953. package/dist/runtime/metrics/sink.js.map +1 -0
  954. package/dist/runtime/metrics/turn-recorder.d.ts +62 -0
  955. package/dist/runtime/metrics/turn-recorder.js +170 -0
  956. package/dist/runtime/metrics/turn-recorder.js.map +1 -0
  957. package/dist/runtime/offline-execution-lease.d.ts +27 -0
  958. package/dist/runtime/offline-execution-lease.js +46 -0
  959. package/dist/runtime/offline-execution-lease.js.map +1 -0
  960. package/dist/runtime/policy-overlay.d.ts +86 -0
  961. package/dist/runtime/policy-overlay.js +117 -0
  962. package/dist/runtime/policy-overlay.js.map +1 -0
  963. package/dist/runtime/postgres-store.d.ts +111 -0
  964. package/dist/runtime/postgres-store.js +363 -0
  965. package/dist/runtime/postgres-store.js.map +1 -0
  966. package/dist/runtime/prompt-bundle-store.d.ts +58 -0
  967. package/dist/runtime/prompt-bundle-store.js +120 -0
  968. package/dist/runtime/prompt-bundle-store.js.map +1 -0
  969. package/dist/runtime/runtime-mode.d.ts +23 -0
  970. package/dist/runtime/runtime-mode.js +42 -0
  971. package/dist/runtime/runtime-mode.js.map +1 -0
  972. package/dist/runtime/tool-discovery.d.ts +51 -0
  973. package/dist/runtime/tool-discovery.js +138 -0
  974. package/dist/runtime/tool-discovery.js.map +1 -0
  975. package/dist/runtime/tool-search.d.ts +31 -0
  976. package/dist/runtime/tool-search.js +145 -0
  977. package/dist/runtime/tool-search.js.map +1 -0
  978. package/dist/runtime/turn-snapshot.d.ts +44 -0
  979. package/dist/runtime/turn-snapshot.js +108 -0
  980. package/dist/runtime/turn-snapshot.js.map +1 -0
  981. package/dist/server/adapters/nextjs/approval-binding.d.ts +334 -0
  982. package/dist/server/adapters/nextjs/approval-binding.js +707 -0
  983. package/dist/server/adapters/nextjs/approval-binding.js.map +1 -0
  984. package/dist/server/adapters/nextjs/chat-interactions-handler.d.ts +26 -0
  985. package/dist/server/adapters/nextjs/chat-interactions-handler.js +65 -0
  986. package/dist/server/adapters/nextjs/chat-interactions-handler.js.map +1 -0
  987. package/dist/server/adapters/nextjs/clarification-resume.d.ts +21 -0
  988. package/dist/server/adapters/nextjs/clarification-resume.js +109 -0
  989. package/dist/server/adapters/nextjs/clarification-resume.js.map +1 -0
  990. package/dist/server/adapters/nextjs/context-helpers.d.ts +49 -8
  991. package/dist/server/adapters/nextjs/context-helpers.js +75 -21
  992. package/dist/server/adapters/nextjs/context-helpers.js.map +1 -1
  993. package/dist/server/adapters/nextjs/create-ai-chat-handler.d.ts +59 -1
  994. package/dist/server/adapters/nextjs/create-ai-chat-handler.js +647 -95
  995. package/dist/server/adapters/nextjs/create-ai-chat-handler.js.map +1 -1
  996. package/dist/server/adapters/nextjs/direct-command.d.ts +75 -0
  997. package/dist/server/adapters/nextjs/direct-command.js +316 -0
  998. package/dist/server/adapters/nextjs/direct-command.js.map +1 -0
  999. package/dist/server/adapters/nextjs/index.d.ts +10 -2
  1000. package/dist/server/adapters/nextjs/index.js +7 -0
  1001. package/dist/server/adapters/nextjs/index.js.map +1 -1
  1002. package/dist/server/adapters/nextjs/prepare-model-messages.d.ts +2 -1
  1003. package/dist/server/adapters/nextjs/prepare-model-messages.js +7 -15
  1004. package/dist/server/adapters/nextjs/prepare-model-messages.js.map +1 -1
  1005. package/dist/server/adapters/nextjs/recording-transcription-handler.d.ts +31 -0
  1006. package/dist/server/adapters/nextjs/recording-transcription-handler.js +55 -0
  1007. package/dist/server/adapters/nextjs/recording-transcription-handler.js.map +1 -0
  1008. package/dist/server/adapters/nextjs/request-guards.d.ts +41 -0
  1009. package/dist/server/adapters/nextjs/request-guards.js +108 -0
  1010. package/dist/server/adapters/nextjs/request-guards.js.map +1 -0
  1011. package/dist/server/adapters/nextjs/sanitize-model-messages.js +12 -6
  1012. package/dist/server/adapters/nextjs/sanitize-model-messages.js.map +1 -1
  1013. package/dist/server/adapters/nextjs/scope-pipeline-tools.d.ts +17 -0
  1014. package/dist/server/adapters/nextjs/scope-pipeline-tools.js +26 -0
  1015. package/dist/server/adapters/nextjs/scope-pipeline-tools.js.map +1 -0
  1016. package/dist/server/adapters/nextjs/tool-discovery.d.ts +39 -0
  1017. package/dist/server/adapters/nextjs/tool-discovery.js +47 -0
  1018. package/dist/server/adapters/nextjs/tool-discovery.js.map +1 -0
  1019. package/dist/server/adapters/nextjs/tool-presentation.d.ts +26 -0
  1020. package/dist/server/adapters/nextjs/tool-presentation.js +19 -0
  1021. package/dist/server/adapters/nextjs/tool-presentation.js.map +1 -0
  1022. package/dist/server/adapters/nextjs/types.d.ts +229 -13
  1023. package/dist/server/adapters/nextjs/with-ai-tool.d.ts +2 -2
  1024. package/dist/server/core/adaptive-fast-path.d.ts +3 -0
  1025. package/dist/server/core/adaptive-fast-path.js +185 -0
  1026. package/dist/server/core/adaptive-fast-path.js.map +1 -0
  1027. package/dist/server/core/clarification-tool.d.ts +29 -0
  1028. package/dist/server/core/clarification-tool.js +61 -0
  1029. package/dist/server/core/clarification-tool.js.map +1 -0
  1030. package/dist/server/core/generated-ui-tool.d.ts +31 -0
  1031. package/dist/server/core/generated-ui-tool.js +87 -0
  1032. package/dist/server/core/generated-ui-tool.js.map +1 -0
  1033. package/dist/server/core/index.d.ts +49 -8
  1034. package/dist/server/core/index.js +198 -16
  1035. package/dist/server/core/index.js.map +1 -1
  1036. package/dist/server/core/local-guardrails.d.ts +6 -0
  1037. package/dist/server/core/local-guardrails.js +68 -0
  1038. package/dist/server/core/local-guardrails.js.map +1 -0
  1039. package/dist/server/core/module-router.d.ts +3 -1
  1040. package/dist/server/core/module-router.js +22 -2
  1041. package/dist/server/core/module-router.js.map +1 -1
  1042. package/dist/server/core/plan-tool.d.ts +23 -0
  1043. package/dist/server/core/plan-tool.js +32 -0
  1044. package/dist/server/core/plan-tool.js.map +1 -0
  1045. package/dist/server/core/zod-compact.d.ts +3 -3
  1046. package/dist/server/core/zod-compact.js +126 -54
  1047. package/dist/server/core/zod-compact.js.map +1 -1
  1048. package/dist/server/index.d.ts +2 -4
  1049. package/dist/server/index.js +2 -4
  1050. package/dist/server/index.js.map +1 -1
  1051. package/dist/server/local-pipeline.d.ts +14 -0
  1052. package/dist/server/local-pipeline.js +152 -0
  1053. package/dist/server/local-pipeline.js.map +1 -0
  1054. package/dist/server/pii-shield/index.d.ts +1 -0
  1055. package/dist/server/pii-shield/index.js +1 -0
  1056. package/dist/server/pii-shield/index.js.map +1 -1
  1057. package/dist/server/pii-shield/regex-detector.d.ts +13 -0
  1058. package/dist/server/pii-shield/regex-detector.js +109 -0
  1059. package/dist/server/pii-shield/regex-detector.js.map +1 -0
  1060. package/dist/server/testing/edge-cases.js +46 -95
  1061. package/dist/server/testing/edge-cases.js.map +1 -1
  1062. package/dist/server/testing/guardrails.js +1 -65
  1063. package/dist/server/testing/guardrails.js.map +1 -1
  1064. package/dist/server/testing/helpers.js +1 -62
  1065. package/dist/server/testing/helpers.js.map +1 -1
  1066. package/dist/server/testing/index.d.ts +1 -0
  1067. package/dist/server/testing/index.js +1 -0
  1068. package/dist/server/testing/index.js.map +1 -1
  1069. package/dist/server/testing/registry-parity.d.ts +18 -0
  1070. package/dist/server/testing/registry-parity.js +38 -0
  1071. package/dist/server/testing/registry-parity.js.map +1 -0
  1072. package/dist/server/testing/schema-consistency.js +5 -26
  1073. package/dist/server/testing/schema-consistency.js.map +1 -1
  1074. package/dist/server/testing/smoke.d.ts +2 -1
  1075. package/dist/server/testing/smoke.js +5 -3
  1076. package/dist/server/testing/smoke.js.map +1 -1
  1077. package/dist/server/testing/types.d.ts +1 -1
  1078. package/dist/server/testing/zod-introspect.d.ts +38 -0
  1079. package/dist/server/testing/zod-introspect.js +286 -0
  1080. package/dist/server/testing/zod-introspect.js.map +1 -0
  1081. package/dist/stt/index.d.ts +5 -0
  1082. package/dist/stt/index.js +6 -0
  1083. package/dist/stt/index.js.map +1 -0
  1084. package/dist/sync/app-setup-client.d.ts +46 -0
  1085. package/dist/sync/app-setup-client.js +137 -0
  1086. package/dist/sync/app-setup-client.js.map +1 -0
  1087. package/dist/sync/capability-report.d.ts +41 -0
  1088. package/dist/sync/capability-report.js +48 -0
  1089. package/dist/sync/capability-report.js.map +1 -0
  1090. package/dist/sync/connection-lookup.d.ts +19 -0
  1091. package/dist/sync/connection-lookup.js +56 -0
  1092. package/dist/sync/connection-lookup.js.map +1 -0
  1093. package/dist/sync/control-plane-client.d.ts +69 -0
  1094. package/dist/sync/control-plane-client.js +182 -0
  1095. package/dist/sync/control-plane-client.js.map +1 -0
  1096. package/dist/sync/deployment-selector.d.ts +9 -0
  1097. package/dist/sync/deployment-selector.js +26 -0
  1098. package/dist/sync/deployment-selector.js.map +1 -0
  1099. package/dist/sync/fetch-sse-push.d.ts +6 -0
  1100. package/dist/sync/fetch-sse-push.js +42 -0
  1101. package/dist/sync/fetch-sse-push.js.map +1 -0
  1102. package/dist/sync/index.d.ts +26 -0
  1103. package/dist/sync/index.js +17 -0
  1104. package/dist/sync/index.js.map +1 -0
  1105. package/dist/sync/jwks-provider.d.ts +14 -0
  1106. package/dist/sync/jwks-provider.js +53 -0
  1107. package/dist/sync/jwks-provider.js.map +1 -0
  1108. package/dist/sync/local-deployment-validator.d.ts +30 -0
  1109. package/dist/sync/local-deployment-validator.js +60 -0
  1110. package/dist/sync/local-deployment-validator.js.map +1 -0
  1111. package/dist/sync/managed-sync.d.ts +40 -0
  1112. package/dist/sync/managed-sync.js +94 -0
  1113. package/dist/sync/managed-sync.js.map +1 -0
  1114. package/dist/sync/materialize-deployment.d.ts +7 -0
  1115. package/dist/sync/materialize-deployment.js +63 -0
  1116. package/dist/sync/materialize-deployment.js.map +1 -0
  1117. package/dist/sync/runtime-connect-client.d.ts +23 -0
  1118. package/dist/sync/runtime-connect-client.js +182 -0
  1119. package/dist/sync/runtime-connect-client.js.map +1 -0
  1120. package/dist/sync/runtime-setup-client.d.ts +62 -0
  1121. package/dist/sync/runtime-setup-client.js +153 -0
  1122. package/dist/sync/runtime-setup-client.js.map +1 -0
  1123. package/dist/sync/signature-verifier.d.ts +39 -0
  1124. package/dist/sync/signature-verifier.js +97 -0
  1125. package/dist/sync/signature-verifier.js.map +1 -0
  1126. package/dist/sync/state-store.d.ts +24 -0
  1127. package/dist/sync/state-store.js +47 -0
  1128. package/dist/sync/state-store.js.map +1 -0
  1129. package/dist/sync/sync-manager.d.ts +27 -0
  1130. package/dist/sync/sync-manager.js +170 -0
  1131. package/dist/sync/sync-manager.js.map +1 -0
  1132. package/dist/types.d.ts +68 -16
  1133. package/dist/types.js +31 -3
  1134. package/dist/types.js.map +1 -1
  1135. package/embed/package.json +5 -0
  1136. package/package.json +188 -47
  1137. package/runtime/ai-sdk/package.json +5 -0
  1138. package/runtime/package.json +5 -0
  1139. package/skills/README.md +26 -92
  1140. package/skills/building-glirastes-chat-ui/SKILL.md +358 -343
  1141. package/skills/describing-glirastes-tools/SKILL.md +180 -0
  1142. package/skills/integrating-glirastes-nextjs/SKILL.md +149 -302
  1143. package/skills/integrating-glirastes-web/SKILL.md +165 -0
  1144. package/skills/maintaining-glirastes-tools/SKILL.md +133 -461
  1145. package/skills/migrating-to-glirastes/SKILL.md +112 -0
  1146. package/skills/setting-up-glirastes/SKILL.md +158 -0
  1147. package/skills/setting-up-glirastes/agents/openai.yaml +4 -0
  1148. package/skills/setting-up-glirastes/references/artifact-contract.md +40 -0
  1149. package/skills/setting-up-glirastes/scripts/validate-artifact.ts +23 -0
  1150. package/skills/setting-up-glirastes/templates/interview.md +19 -0
  1151. package/stt/package.json +5 -0
  1152. package/dist/cjs/codegen/asset-sync.d.ts +0 -20
  1153. package/dist/cjs/codegen/asset-sync.js +0 -28
  1154. package/dist/cjs/codegen/coverage.d.ts +0 -66
  1155. package/dist/cjs/codegen/coverage.js +0 -408
  1156. package/dist/cjs/codegen/endpoint-scanner.d.ts +0 -16
  1157. package/dist/cjs/codegen/endpoint-scanner.js +0 -197
  1158. package/dist/cjs/codegen/mcp-generator.d.ts +0 -50
  1159. package/dist/cjs/codegen/mcp-generator.js +0 -803
  1160. package/dist/cjs/codegen/module-generator.d.ts +0 -11
  1161. package/dist/cjs/codegen/module-generator.js +0 -353
  1162. package/dist/cjs/codegen/nestjs-scanner.d.ts +0 -43
  1163. package/dist/cjs/codegen/nestjs-scanner.js +0 -241
  1164. package/dist/cjs/codegen/output-recommender.d.ts +0 -23
  1165. package/dist/cjs/codegen/output-recommender.js +0 -33
  1166. package/dist/cjs/codegen/scaffolder.d.ts +0 -36
  1167. package/dist/cjs/codegen/scaffolder.js +0 -262
  1168. package/dist/cjs/codegen/skill-generator.d.ts +0 -49
  1169. package/dist/cjs/codegen/skill-generator.js +0 -967
  1170. package/dist/cjs/codegen/ui-scanner.d.ts +0 -24
  1171. package/dist/cjs/codegen/ui-scanner.js +0 -202
  1172. package/dist/cjs/codegen/validator.d.ts +0 -35
  1173. package/dist/cjs/codegen/validator.js +0 -292
  1174. package/dist/cjs/openapi/index.d.ts +0 -78
  1175. package/dist/cjs/openapi/index.js +0 -347
  1176. package/dist/cjs/react/components/wavesurfer-loader.d.ts +0 -5
  1177. package/dist/cjs/react/components/wavesurfer-loader.js +0 -36
  1178. package/dist/cjs/react/transports/langgraph/index.d.ts +0 -2
  1179. package/dist/cjs/react/transports/langgraph/index.js +0 -8
  1180. package/dist/cjs/react/transports/langgraph/langgraph-ai-chat.d.ts +0 -62
  1181. package/dist/cjs/react/transports/langgraph/langgraph-ai-chat.js +0 -94
  1182. package/dist/cjs/react/transports/langgraph.d.ts +0 -71
  1183. package/dist/cjs/react/transports/langgraph.js +0 -369
  1184. package/dist/cjs/server/adapters/nestjs/chat/ai-chat-auth.guard.d.ts +0 -10
  1185. package/dist/cjs/server/adapters/nestjs/chat/ai-chat-auth.guard.js +0 -42
  1186. package/dist/cjs/server/adapters/nestjs/chat/ai-chat-module-options.interface.d.ts +0 -32
  1187. package/dist/cjs/server/adapters/nestjs/chat/ai-chat-module-options.interface.js +0 -4
  1188. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.controller.d.ts +0 -11
  1189. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.controller.js +0 -80
  1190. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.module.d.ts +0 -9
  1191. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.module.js +0 -119
  1192. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.service.d.ts +0 -13
  1193. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.service.js +0 -131
  1194. package/dist/cjs/server/adapters/nestjs/chat/dto/ai-chat-request.dto.d.ts +0 -7
  1195. package/dist/cjs/server/adapters/nestjs/chat/dto/ai-chat-request.dto.js +0 -52
  1196. package/dist/cjs/server/adapters/nestjs/chat/dto/chat-message-part.dto.d.ts +0 -19
  1197. package/dist/cjs/server/adapters/nestjs/chat/dto/chat-message-part.dto.js +0 -108
  1198. package/dist/cjs/server/adapters/nestjs/chat/dto/chat-message.dto.d.ts +0 -8
  1199. package/dist/cjs/server/adapters/nestjs/chat/dto/chat-message.dto.js +0 -59
  1200. package/dist/cjs/server/adapters/nestjs/chat/dto/index.d.ts +0 -3
  1201. package/dist/cjs/server/adapters/nestjs/chat/dto/index.js +0 -9
  1202. package/dist/cjs/server/adapters/nestjs/chat/index.d.ts +0 -3
  1203. package/dist/cjs/server/adapters/nestjs/chat/index.js +0 -9
  1204. package/dist/cjs/server/adapters/nestjs/chat/speech-stream.gateway.d.ts +0 -4
  1205. package/dist/cjs/server/adapters/nestjs/chat/speech-stream.gateway.js +0 -73
  1206. package/dist/cjs/server/adapters/nestjs/chat/ws-loader.d.ts +0 -5
  1207. package/dist/cjs/server/adapters/nestjs/chat/ws-loader.js +0 -72
  1208. package/dist/cjs/server/adapters/nestjs/decorators/ai-module.decorator.d.ts +0 -6
  1209. package/dist/cjs/server/adapters/nestjs/decorators/ai-module.decorator.js +0 -13
  1210. package/dist/cjs/server/adapters/nestjs/decorators/ai-param.decorator.d.ts +0 -5
  1211. package/dist/cjs/server/adapters/nestjs/decorators/ai-param.decorator.js +0 -15
  1212. package/dist/cjs/server/adapters/nestjs/decorators/ai-tool.decorator.d.ts +0 -6
  1213. package/dist/cjs/server/adapters/nestjs/decorators/ai-tool.decorator.js +0 -22
  1214. package/dist/cjs/server/adapters/nestjs/decorators/constants.d.ts +0 -4
  1215. package/dist/cjs/server/adapters/nestjs/decorators/constants.js +0 -7
  1216. package/dist/cjs/server/adapters/nestjs/index.d.ts +0 -14
  1217. package/dist/cjs/server/adapters/nestjs/index.js +0 -42
  1218. package/dist/cjs/server/adapters/nestjs/metadata.d.ts +0 -39
  1219. package/dist/cjs/server/adapters/nestjs/metadata.js +0 -36
  1220. package/dist/cjs/server/adapters/nestjs/module/ai-tools-explorer.service.d.ts +0 -36
  1221. package/dist/cjs/server/adapters/nestjs/module/ai-tools-explorer.service.js +0 -159
  1222. package/dist/cjs/server/adapters/nestjs/module/ai-tools.module.d.ts +0 -37
  1223. package/dist/cjs/server/adapters/nestjs/module/ai-tools.module.js +0 -44
  1224. package/dist/cjs/server/adapters/nestjs/module/ai-tools.service.d.ts +0 -28
  1225. package/dist/cjs/server/adapters/nestjs/module/ai-tools.service.js +0 -41
  1226. package/dist/cjs/server/adapters/nestjs/scanner/nestjs-scanner.d.ts +0 -16
  1227. package/dist/cjs/server/adapters/nestjs/scanner/nestjs-scanner.js +0 -117
  1228. package/dist/cjs/server/adapters/nestjs/scanner/schema-builder.d.ts +0 -26
  1229. package/dist/cjs/server/adapters/nestjs/scanner/schema-builder.js +0 -259
  1230. package/dist/cjs/server/adapters/nestjs/swagger.d.ts +0 -7
  1231. package/dist/cjs/server/adapters/nestjs/swagger.js +0 -39
  1232. package/dist/cli/commands/check-upgrade.d.ts +0 -15
  1233. package/dist/cli/commands/check-upgrade.js +0 -138
  1234. package/dist/cli/commands/check-upgrade.js.map +0 -1
  1235. package/dist/cli/commands/test.d.ts +0 -8
  1236. package/dist/cli/commands/test.js +0 -76
  1237. package/dist/cli/commands/test.js.map +0 -1
  1238. package/dist/cli/utils/changelog-parser.d.ts +0 -13
  1239. package/dist/cli/utils/changelog-parser.js +0 -89
  1240. package/dist/cli/utils/changelog-parser.js.map +0 -1
  1241. package/dist/cli/utils/commit-parser.d.ts +0 -8
  1242. package/dist/cli/utils/commit-parser.js +0 -23
  1243. package/dist/cli/utils/commit-parser.js.map +0 -1
  1244. package/dist/cli/utils/gap-detector.d.ts +0 -14
  1245. package/dist/cli/utils/gap-detector.js +0 -65
  1246. package/dist/cli/utils/gap-detector.js.map +0 -1
  1247. package/dist/cli/utils/get-cli-version.d.ts +0 -2
  1248. package/dist/cli/utils/get-cli-version.js +0 -10
  1249. package/dist/cli/utils/get-cli-version.js.map +0 -1
  1250. package/dist/codegen/asset-sync.d.ts +0 -20
  1251. package/dist/codegen/asset-sync.js +0 -26
  1252. package/dist/codegen/asset-sync.js.map +0 -1
  1253. package/dist/codegen/coverage.d.ts +0 -66
  1254. package/dist/codegen/coverage.js +0 -372
  1255. package/dist/codegen/coverage.js.map +0 -1
  1256. package/dist/codegen/endpoint-scanner.d.ts +0 -16
  1257. package/dist/codegen/endpoint-scanner.js +0 -161
  1258. package/dist/codegen/endpoint-scanner.js.map +0 -1
  1259. package/dist/codegen/mcp-generator.d.ts +0 -50
  1260. package/dist/codegen/mcp-generator.js +0 -801
  1261. package/dist/codegen/mcp-generator.js.map +0 -1
  1262. package/dist/codegen/module-generator.d.ts +0 -11
  1263. package/dist/codegen/module-generator.js +0 -351
  1264. package/dist/codegen/module-generator.js.map +0 -1
  1265. package/dist/codegen/nestjs-scanner.d.ts +0 -43
  1266. package/dist/codegen/nestjs-scanner.js +0 -239
  1267. package/dist/codegen/nestjs-scanner.js.map +0 -1
  1268. package/dist/codegen/output-recommender.d.ts +0 -23
  1269. package/dist/codegen/output-recommender.js +0 -31
  1270. package/dist/codegen/output-recommender.js.map +0 -1
  1271. package/dist/codegen/scaffolder.d.ts +0 -36
  1272. package/dist/codegen/scaffolder.js +0 -259
  1273. package/dist/codegen/scaffolder.js.map +0 -1
  1274. package/dist/codegen/skill-generator.d.ts +0 -49
  1275. package/dist/codegen/skill-generator.js +0 -965
  1276. package/dist/codegen/skill-generator.js.map +0 -1
  1277. package/dist/codegen/ui-scanner.d.ts +0 -24
  1278. package/dist/codegen/ui-scanner.js +0 -197
  1279. package/dist/codegen/ui-scanner.js.map +0 -1
  1280. package/dist/codegen/validator.d.ts +0 -35
  1281. package/dist/codegen/validator.js +0 -256
  1282. package/dist/codegen/validator.js.map +0 -1
  1283. package/dist/openapi/demo-generate.d.ts +0 -1
  1284. package/dist/openapi/demo-generate.js +0 -15
  1285. package/dist/openapi/demo-generate.js.map +0 -1
  1286. package/dist/openapi/index.d.ts +0 -78
  1287. package/dist/openapi/index.js +0 -341
  1288. package/dist/openapi/index.js.map +0 -1
  1289. package/dist/react/components/wavesurfer-loader.d.ts +0 -5
  1290. package/dist/react/components/wavesurfer-loader.js +0 -34
  1291. package/dist/react/components/wavesurfer-loader.js.map +0 -1
  1292. package/dist/react/transports/langgraph/index.d.ts +0 -2
  1293. package/dist/react/transports/langgraph/index.js +0 -3
  1294. package/dist/react/transports/langgraph/index.js.map +0 -1
  1295. package/dist/react/transports/langgraph/langgraph-ai-chat.d.ts +0 -62
  1296. package/dist/react/transports/langgraph/langgraph-ai-chat.js +0 -92
  1297. package/dist/react/transports/langgraph/langgraph-ai-chat.js.map +0 -1
  1298. package/dist/react/transports/langgraph.d.ts +0 -71
  1299. package/dist/react/transports/langgraph.js +0 -366
  1300. package/dist/react/transports/langgraph.js.map +0 -1
  1301. package/dist/server/adapters/nestjs/chat/ai-chat-auth.guard.d.ts +0 -10
  1302. package/dist/server/adapters/nestjs/chat/ai-chat-auth.guard.js +0 -40
  1303. package/dist/server/adapters/nestjs/chat/ai-chat-auth.guard.js.map +0 -1
  1304. package/dist/server/adapters/nestjs/chat/ai-chat-module-options.interface.d.ts +0 -32
  1305. package/dist/server/adapters/nestjs/chat/ai-chat-module-options.interface.js +0 -2
  1306. package/dist/server/adapters/nestjs/chat/ai-chat-module-options.interface.js.map +0 -1
  1307. package/dist/server/adapters/nestjs/chat/ai-chat.controller.d.ts +0 -11
  1308. package/dist/server/adapters/nestjs/chat/ai-chat.controller.js +0 -78
  1309. package/dist/server/adapters/nestjs/chat/ai-chat.controller.js.map +0 -1
  1310. package/dist/server/adapters/nestjs/chat/ai-chat.module.d.ts +0 -9
  1311. package/dist/server/adapters/nestjs/chat/ai-chat.module.js +0 -117
  1312. package/dist/server/adapters/nestjs/chat/ai-chat.module.js.map +0 -1
  1313. package/dist/server/adapters/nestjs/chat/ai-chat.service.d.ts +0 -13
  1314. package/dist/server/adapters/nestjs/chat/ai-chat.service.js +0 -129
  1315. package/dist/server/adapters/nestjs/chat/ai-chat.service.js.map +0 -1
  1316. package/dist/server/adapters/nestjs/chat/dto/ai-chat-request.dto.d.ts +0 -7
  1317. package/dist/server/adapters/nestjs/chat/dto/ai-chat-request.dto.js +0 -49
  1318. package/dist/server/adapters/nestjs/chat/dto/ai-chat-request.dto.js.map +0 -1
  1319. package/dist/server/adapters/nestjs/chat/dto/chat-message-part.dto.d.ts +0 -19
  1320. package/dist/server/adapters/nestjs/chat/dto/chat-message-part.dto.js +0 -105
  1321. package/dist/server/adapters/nestjs/chat/dto/chat-message-part.dto.js.map +0 -1
  1322. package/dist/server/adapters/nestjs/chat/dto/chat-message.dto.d.ts +0 -8
  1323. package/dist/server/adapters/nestjs/chat/dto/chat-message.dto.js +0 -56
  1324. package/dist/server/adapters/nestjs/chat/dto/chat-message.dto.js.map +0 -1
  1325. package/dist/server/adapters/nestjs/chat/dto/index.d.ts +0 -3
  1326. package/dist/server/adapters/nestjs/chat/dto/index.js +0 -4
  1327. package/dist/server/adapters/nestjs/chat/dto/index.js.map +0 -1
  1328. package/dist/server/adapters/nestjs/chat/index.d.ts +0 -3
  1329. package/dist/server/adapters/nestjs/chat/index.js +0 -3
  1330. package/dist/server/adapters/nestjs/chat/index.js.map +0 -1
  1331. package/dist/server/adapters/nestjs/chat/speech-stream.gateway.d.ts +0 -4
  1332. package/dist/server/adapters/nestjs/chat/speech-stream.gateway.js +0 -71
  1333. package/dist/server/adapters/nestjs/chat/speech-stream.gateway.js.map +0 -1
  1334. package/dist/server/adapters/nestjs/chat/ws-loader.d.ts +0 -5
  1335. package/dist/server/adapters/nestjs/chat/ws-loader.js +0 -37
  1336. package/dist/server/adapters/nestjs/chat/ws-loader.js.map +0 -1
  1337. package/dist/server/adapters/nestjs/decorators/ai-module.decorator.d.ts +0 -6
  1338. package/dist/server/adapters/nestjs/decorators/ai-module.decorator.js +0 -11
  1339. package/dist/server/adapters/nestjs/decorators/ai-module.decorator.js.map +0 -1
  1340. package/dist/server/adapters/nestjs/decorators/ai-param.decorator.d.ts +0 -5
  1341. package/dist/server/adapters/nestjs/decorators/ai-param.decorator.js +0 -13
  1342. package/dist/server/adapters/nestjs/decorators/ai-param.decorator.js.map +0 -1
  1343. package/dist/server/adapters/nestjs/decorators/ai-tool.decorator.d.ts +0 -6
  1344. package/dist/server/adapters/nestjs/decorators/ai-tool.decorator.js +0 -20
  1345. package/dist/server/adapters/nestjs/decorators/ai-tool.decorator.js.map +0 -1
  1346. package/dist/server/adapters/nestjs/decorators/constants.d.ts +0 -4
  1347. package/dist/server/adapters/nestjs/decorators/constants.js +0 -5
  1348. package/dist/server/adapters/nestjs/decorators/constants.js.map +0 -1
  1349. package/dist/server/adapters/nestjs/index.d.ts +0 -14
  1350. package/dist/server/adapters/nestjs/index.js +0 -20
  1351. package/dist/server/adapters/nestjs/index.js.map +0 -1
  1352. package/dist/server/adapters/nestjs/metadata.d.ts +0 -39
  1353. package/dist/server/adapters/nestjs/metadata.js +0 -30
  1354. package/dist/server/adapters/nestjs/metadata.js.map +0 -1
  1355. package/dist/server/adapters/nestjs/module/ai-tools-explorer.service.d.ts +0 -36
  1356. package/dist/server/adapters/nestjs/module/ai-tools-explorer.service.js +0 -156
  1357. package/dist/server/adapters/nestjs/module/ai-tools-explorer.service.js.map +0 -1
  1358. package/dist/server/adapters/nestjs/module/ai-tools.module.d.ts +0 -37
  1359. package/dist/server/adapters/nestjs/module/ai-tools.module.js +0 -42
  1360. package/dist/server/adapters/nestjs/module/ai-tools.module.js.map +0 -1
  1361. package/dist/server/adapters/nestjs/module/ai-tools.service.d.ts +0 -28
  1362. package/dist/server/adapters/nestjs/module/ai-tools.service.js +0 -38
  1363. package/dist/server/adapters/nestjs/module/ai-tools.service.js.map +0 -1
  1364. package/dist/server/adapters/nestjs/scanner/nestjs-scanner.d.ts +0 -16
  1365. package/dist/server/adapters/nestjs/scanner/nestjs-scanner.js +0 -115
  1366. package/dist/server/adapters/nestjs/scanner/nestjs-scanner.js.map +0 -1
  1367. package/dist/server/adapters/nestjs/scanner/schema-builder.d.ts +0 -26
  1368. package/dist/server/adapters/nestjs/scanner/schema-builder.js +0 -255
  1369. package/dist/server/adapters/nestjs/scanner/schema-builder.js.map +0 -1
  1370. package/dist/server/adapters/nestjs/swagger.d.ts +0 -7
  1371. package/dist/server/adapters/nestjs/swagger.js +0 -37
  1372. package/dist/server/adapters/nestjs/swagger.js.map +0 -1
  1373. package/openapi/package.json +0 -5
  1374. package/react/langgraph/package.json +0 -5
  1375. package/server/nestjs/package.json +0 -5
  1376. package/skills/integrating-glirastes-nestjs/SKILL.md +0 -346
  1377. package/skills/integrating-glirastes-nextjs-with-nestjs-backend/SKILL.md +0 -359
@@ -0,0 +1,1529 @@
1
+ /* glirastes — default chat panel styles.
2
+ Auto-injected when you render <AiChat /> or <AiChatPanel />.
3
+ Themes: every color / radius / font below is driven by CSS variables
4
+ that can be overridden per-instance via the `theme` prop, which emits
5
+ inline `--cm-*` vars on the root elements. The defaults below act as
6
+ the fallback when no `theme` prop is given. */
7
+
8
+ :where(
9
+ [data-component="ai-chat-panel"],
10
+ [data-component="chat-window"],
11
+ [data-component="ai-trigger-button"],
12
+ [data-component="assistant-shell"],
13
+ [data-component="assistant-bubble"],
14
+ [data-component="assistant-toggle"]
15
+ ):where(:not([data-unstyled], [data-unstyled] *)) {
16
+ --cm-primary: #6366f1;
17
+ --cm-primary-soft: #818cf8;
18
+ --cm-primary-tint: rgba(99, 102, 241, 0.12);
19
+ --cm-primary-ring: rgba(99, 102, 241, 0.18);
20
+ --cm-bg: #ffffff;
21
+ --cm-bg-muted: #f9fafb;
22
+ --cm-bubble-user: #e0e7ff;
23
+ --cm-bubble-assistant: #f3f4f6;
24
+ --cm-border: #e5e7eb;
25
+ --cm-text: #111827;
26
+ --cm-text-muted: #6b7280;
27
+ --cm-danger: #dc2626;
28
+ --cm-radius: 0.875rem;
29
+ --cm-radius-sm: 0.5rem;
30
+ --cm-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
31
+ }
32
+
33
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) {
34
+ box-sizing: border-box;
35
+ display: flex;
36
+ flex-direction: column;
37
+ width: 100%;
38
+ height: 100%;
39
+ min-height: 520px;
40
+ max-height: 100%;
41
+ background: var(--cm-bg);
42
+ color: var(--cm-text);
43
+ border: 1px solid var(--cm-border);
44
+ border-radius: var(--cm-radius);
45
+ overflow: hidden;
46
+ font-family: var(--cm-font);
47
+ font-size: 14px;
48
+ line-height: 1.5;
49
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.03);
50
+ }
51
+
52
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) *,
53
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) *::before,
54
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) *::after {
55
+ box-sizing: border-box;
56
+ }
57
+
58
+ /* ---------- Error banner ---------- */
59
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="error-banner"] {
60
+ padding: 0.75rem 1rem;
61
+ background: #fef2f2;
62
+ color: #991b1b;
63
+ border-bottom: 1px solid #fecaca;
64
+ font-size: 13px;
65
+ }
66
+
67
+ /* ---------- Empty state ---------- */
68
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="empty-state"] {
69
+ flex: 1;
70
+ display: grid;
71
+ place-items: center;
72
+ padding: 2rem;
73
+ color: var(--cm-text-muted);
74
+ text-align: center;
75
+ }
76
+
77
+ /* ---------- Message list ---------- */
78
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="message-list"] {
79
+ flex: 1;
80
+ min-height: 0;
81
+ overflow-y: auto;
82
+ padding: 1rem;
83
+ display: flex;
84
+ flex-direction: column;
85
+ gap: 0.75rem;
86
+ scroll-behavior: smooth;
87
+ }
88
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="message-list"] > [data-action="load-more"] {
89
+ align-self: center;
90
+ padding: 0.375rem 0.75rem;
91
+ font: inherit;
92
+ font-size: 12px;
93
+ background: transparent;
94
+ border: 1px solid var(--cm-border);
95
+ border-radius: var(--cm-radius-sm);
96
+ color: var(--cm-text-muted);
97
+ cursor: pointer;
98
+ }
99
+
100
+ /* ---------- Message bubble ---------- */
101
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="message-bubble"] {
102
+ max-width: 85%;
103
+ padding: 0.625rem 0.875rem;
104
+ border-radius: var(--cm-radius);
105
+ word-wrap: break-word;
106
+ overflow-wrap: anywhere;
107
+ }
108
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="message-bubble"][data-role="user"] {
109
+ align-self: flex-end;
110
+ background: var(--cm-bubble-user);
111
+ color: var(--cm-text);
112
+ }
113
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="message-bubble"][data-role="assistant"] {
114
+ align-self: flex-start;
115
+ background: var(--cm-bubble-assistant);
116
+ }
117
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="message-bubble"][data-role="system"] {
118
+ align-self: center;
119
+ background: var(--cm-bg-muted);
120
+ color: var(--cm-text-muted);
121
+ font-style: italic;
122
+ font-size: 13px;
123
+ }
124
+
125
+ /* ---------- Markdown content ---------- */
126
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="markdown"] p {
127
+ margin: 0 0 0.5rem 0;
128
+ }
129
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="markdown"] p:last-child {
130
+ margin: 0;
131
+ }
132
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="markdown"] pre {
133
+ background: rgba(0, 0, 0, 0.05);
134
+ padding: 0.625rem 0.75rem;
135
+ border-radius: var(--cm-radius-sm);
136
+ overflow-x: auto;
137
+ font-size: 12px;
138
+ margin: 0.5rem 0;
139
+ }
140
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="markdown"] code {
141
+ background: rgba(0, 0, 0, 0.06);
142
+ padding: 0.125rem 0.25rem;
143
+ border-radius: 3px;
144
+ font-size: 0.9em;
145
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
146
+ }
147
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="markdown"] pre code {
148
+ background: transparent;
149
+ padding: 0;
150
+ }
151
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="markdown"] ul,
152
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="markdown"] ol {
153
+ margin: 0.25rem 0 0.5rem 1.25rem;
154
+ padding: 0;
155
+ }
156
+
157
+ /* ---------- Chat input / mention input ---------- */
158
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="chat-input"],
159
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-input"] {
160
+ flex-shrink: 0;
161
+ display: flex;
162
+ gap: 0.5rem;
163
+ align-items: flex-end;
164
+ padding: 0.75rem 1rem;
165
+ border-top: 1px solid var(--cm-border);
166
+ background: var(--cm-bg);
167
+ }
168
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="chat-input"] textarea,
169
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-input"] textarea {
170
+ flex: 1;
171
+ min-height: 40px;
172
+ max-height: 160px;
173
+ resize: none;
174
+ padding: 0.5rem 0.75rem;
175
+ background: var(--cm-bg-muted);
176
+ border: 1px solid var(--cm-border);
177
+ border-radius: var(--cm-radius-sm);
178
+ color: var(--cm-text);
179
+ font: inherit;
180
+ outline: none;
181
+ transition: border-color 0.15s, box-shadow 0.15s;
182
+ }
183
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="chat-input"] textarea:focus,
184
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-input"] textarea:focus {
185
+ border-color: var(--cm-primary);
186
+ box-shadow: 0 0 0 3px var(--cm-primary-ring);
187
+ }
188
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="chat-input"] textarea::placeholder,
189
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-input"] textarea::placeholder {
190
+ color: var(--cm-text-muted);
191
+ }
192
+
193
+ /* ---------- Send / stop buttons ---------- */
194
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="send"] {
195
+ padding: 0.5rem 1rem;
196
+ background: var(--cm-primary);
197
+ color: #fff;
198
+ border: none;
199
+ border-radius: var(--cm-radius-sm);
200
+ font: inherit;
201
+ font-weight: 500;
202
+ cursor: pointer;
203
+ transition: opacity 0.15s, transform 0.05s;
204
+ }
205
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="send"]:hover:not(:disabled) {
206
+ opacity: 0.92;
207
+ }
208
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="send"]:active:not(:disabled) {
209
+ transform: translateY(1px);
210
+ }
211
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="send"]:disabled {
212
+ opacity: 0.5;
213
+ cursor: not-allowed;
214
+ }
215
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="stop"] {
216
+ padding: 0.5rem 0.875rem;
217
+ background: transparent;
218
+ color: var(--cm-text);
219
+ border: 1px solid var(--cm-border);
220
+ border-radius: var(--cm-radius-sm);
221
+ font: inherit;
222
+ cursor: pointer;
223
+ }
224
+
225
+ /* ---------- Suggestion bar ---------- */
226
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="suggestion-bar"] {
227
+ display: flex;
228
+ flex-wrap: wrap;
229
+ gap: 0.5rem;
230
+ padding: 0.5rem 1rem 0.25rem 1rem;
231
+ }
232
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="suggestion-chip"] {
233
+ padding: 0.375rem 0.75rem;
234
+ background: var(--cm-bg-muted);
235
+ border: 1px solid var(--cm-border);
236
+ border-radius: 9999px;
237
+ font: inherit;
238
+ font-size: 12px;
239
+ color: var(--cm-text);
240
+ cursor: pointer;
241
+ transition: background 0.15s, border-color 0.15s;
242
+ }
243
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="suggestion-chip"]:hover {
244
+ background: var(--cm-bubble-user);
245
+ border-color: var(--cm-primary);
246
+ }
247
+
248
+ /* ---------- Typing indicator ---------- */
249
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="typing-indicator"] {
250
+ display: flex;
251
+ gap: 4px;
252
+ padding: 0.5rem 1rem;
253
+ align-items: center;
254
+ }
255
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="typing-indicator"] [data-element="dot"] {
256
+ width: 6px;
257
+ height: 6px;
258
+ background: var(--cm-text-muted);
259
+ border-radius: 50%;
260
+ animation: cm-chat-typing 1.4s infinite ease-in-out both;
261
+ }
262
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="typing-indicator"] [data-element="dot"]:nth-child(2) {
263
+ animation-delay: 0.16s;
264
+ }
265
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="typing-indicator"] [data-element="dot"]:nth-child(3) {
266
+ animation-delay: 0.32s;
267
+ }
268
+ @keyframes cm-chat-typing {
269
+ 0%, 80%, 100% { transform: scale(0.7); opacity: 0.5; }
270
+ 40% { transform: scale(1); opacity: 1; }
271
+ }
272
+
273
+ /* ---------- Truncation banner ---------- */
274
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="truncation-banner"] {
275
+ padding: 0.75rem 1rem;
276
+ background: #fef9c3;
277
+ color: #713f12;
278
+ border-top: 1px solid #fde047;
279
+ display: flex;
280
+ justify-content: space-between;
281
+ align-items: center;
282
+ gap: 1rem;
283
+ font-size: 13px;
284
+ }
285
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="truncation-banner"] [data-element="actions"] {
286
+ display: flex;
287
+ gap: 0.5rem;
288
+ }
289
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="truncation-banner"] button {
290
+ padding: 0.3125rem 0.625rem;
291
+ background: #fff;
292
+ border: 1px solid #d4a574;
293
+ border-radius: var(--cm-radius-sm);
294
+ font: inherit;
295
+ font-size: 12px;
296
+ cursor: pointer;
297
+ }
298
+
299
+ /* ---------- Approval cards ---------- */
300
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="approval-card"],
301
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="bulk-approval-card"] {
302
+ margin: 0 1rem 0.75rem 1rem;
303
+ padding: 0.875rem 1rem;
304
+ background: #fffbeb;
305
+ border: 1px solid #fcd34d;
306
+ border-radius: var(--cm-radius);
307
+ font-size: 13px;
308
+ }
309
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="approval-card"] [data-element="header"],
310
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="bulk-approval-card"] [data-element="header"] {
311
+ font-weight: 500;
312
+ color: #713f12;
313
+ margin-bottom: 0.5rem;
314
+ }
315
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="approval-card"] [data-element="details"],
316
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="bulk-approval-card"] [data-element="details"] {
317
+ background: rgba(255, 255, 255, 0.6);
318
+ border: 1px solid rgba(252, 211, 77, 0.6);
319
+ border-radius: var(--cm-radius-sm);
320
+ padding: 0.5rem 0.625rem;
321
+ margin-bottom: 0.625rem;
322
+ font-size: 12px;
323
+ color: #78350f;
324
+ }
325
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="detail-line"] {
326
+ display: flex;
327
+ gap: 0.5rem;
328
+ line-height: 1.5;
329
+ }
330
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="detail-label"] {
331
+ flex: 0 0 auto;
332
+ min-width: 5.5rem;
333
+ opacity: 0.75;
334
+ }
335
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="detail-label"]::after {
336
+ content: ":";
337
+ }
338
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="detail-value"] {
339
+ min-width: 0;
340
+ font-weight: 500;
341
+ overflow-wrap: anywhere;
342
+ }
343
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="approval-card"] [data-element="actions"],
344
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="bulk-approval-card"] [data-element="actions"] {
345
+ display: flex;
346
+ gap: 0.5rem;
347
+ }
348
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="approve"] {
349
+ padding: 0.375rem 0.875rem;
350
+ background: #16a34a;
351
+ color: #fff;
352
+ border: none;
353
+ border-radius: var(--cm-radius-sm);
354
+ font: inherit;
355
+ font-size: 12px;
356
+ font-weight: 500;
357
+ cursor: pointer;
358
+ }
359
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="approve"]:hover:not(:disabled) {
360
+ background: #15803d;
361
+ }
362
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="reject"] {
363
+ padding: 0.375rem 0.875rem;
364
+ background: #fff;
365
+ color: #dc2626;
366
+ border: 1px solid #fca5a5;
367
+ border-radius: var(--cm-radius-sm);
368
+ font: inherit;
369
+ font-size: 12px;
370
+ cursor: pointer;
371
+ }
372
+
373
+ /* ---------- Mention chip ---------- */
374
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-chip"] {
375
+ display: inline-flex;
376
+ align-items: center;
377
+ padding: 0.125rem 0.5rem;
378
+ background: var(--cm-bubble-user);
379
+ color: #3730a3;
380
+ border-radius: 9999px;
381
+ font-size: 12px;
382
+ font-weight: 500;
383
+ }
384
+
385
+ /* ---------- Pipeline timeline ---------- */
386
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="pipeline-timeline"] {
387
+ padding: 0.5rem 1rem;
388
+ border-bottom: 1px solid var(--cm-border);
389
+ background: var(--cm-bg-muted);
390
+ font-size: 12px;
391
+ color: var(--cm-text-muted);
392
+ }
393
+
394
+ /* ---------- Activity log and plan ---------- */
395
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"],
396
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="plan-checklist"] {
397
+ margin: 0 0 0.375rem;
398
+ font-size: 12px;
399
+ color: var(--cm-text-muted);
400
+ }
401
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="activity-summary"] {
402
+ display: inline-flex;
403
+ align-items: center;
404
+ gap: 0.375rem;
405
+ cursor: pointer;
406
+ list-style: none;
407
+ user-select: none;
408
+ }
409
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="activity-summary"]::-webkit-details-marker {
410
+ display: none;
411
+ }
412
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"][data-state="running"] [data-element="activity-summary"] {
413
+ color: var(--cm-text);
414
+ }
415
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="activity-steps"],
416
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="plan-checklist"] [data-element="plan-items"] {
417
+ list-style: none;
418
+ margin: 0.25rem 0 0;
419
+ padding: 0 0 0 0.375rem;
420
+ display: flex;
421
+ flex-direction: column;
422
+ gap: 0.125rem;
423
+ }
424
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="activity-steps"] {
425
+ border-left: 1px solid var(--cm-border);
426
+ margin-left: 0.375rem;
427
+ }
428
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="activity-step"],
429
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="plan-checklist"] [data-element="plan-item"] {
430
+ display: flex;
431
+ align-items: baseline;
432
+ gap: 0.375rem;
433
+ }
434
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="icon"],
435
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="plan-checklist"] [data-element="icon"] {
436
+ flex-shrink: 0;
437
+ align-self: center;
438
+ }
439
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="activity-step"][data-status="done"] [data-element="icon"],
440
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="plan-checklist"] [data-element="plan-item"][data-status="completed"] [data-element="icon"] {
441
+ color: var(--cm-primary);
442
+ }
443
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="activity-step"][data-status="error"] [data-element="icon"],
444
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"][data-state="error"] [data-element="activity-summary"] [data-element="icon"] {
445
+ color: #dc2626;
446
+ }
447
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="detail"] {
448
+ opacity: 0.8;
449
+ overflow-wrap: anywhere;
450
+ }
451
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="detail"]::before {
452
+ content: "· ";
453
+ }
454
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="activity-log"] [data-element="activity-notice"] {
455
+ margin: 0.25rem 0 0;
456
+ }
457
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="plan-checklist"] [data-element="title"] {
458
+ font-weight: 600;
459
+ color: var(--cm-text);
460
+ }
461
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="plan-checklist"] [data-element="plan-item"][data-status="in_progress"] {
462
+ color: var(--cm-text);
463
+ }
464
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="plan-checklist"] [data-element="plan-item"][data-status="pending"] {
465
+ opacity: 0.55;
466
+ }
467
+
468
+ /* ---------- Tool result ---------- */
469
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="tool-result"] {
470
+ margin: 0.375rem 0;
471
+ padding: 0.5rem 0.75rem;
472
+ background: rgba(0, 0, 0, 0.03);
473
+ border: 1px solid var(--cm-border);
474
+ border-radius: var(--cm-radius-sm);
475
+ font-size: 12px;
476
+ color: var(--cm-text-muted);
477
+ }
478
+
479
+ /* ---------- Provider composer, '/' and '@' list ---------- */
480
+ /* The wrapper above is flex, but the editor, mic and Send sit inside a bare
481
+ <form> (classNames.input is empty by default). Without this rule the form
482
+ shrink-wraps its contents and the editor and its list collapse to ~111px. */
483
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-input"][data-mode="providers"] > form {
484
+ display: flex;
485
+ flex: 1;
486
+ min-width: 0;
487
+ gap: 0.5rem;
488
+ align-items: flex-end;
489
+ flex-wrap: wrap;
490
+ }
491
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="rich-mention-input"] {
492
+ position: relative;
493
+ flex: 1;
494
+ min-width: 0;
495
+ }
496
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="rich-mention-input"] [data-element="editor"] {
497
+ box-sizing: border-box;
498
+ min-height: 40px;
499
+ max-height: 160px;
500
+ overflow-y: auto;
501
+ overflow-wrap: anywhere;
502
+ padding: 0.5rem 0.75rem;
503
+ background: var(--cm-bg-muted);
504
+ border: 1px solid var(--cm-border);
505
+ border-radius: var(--cm-radius-sm);
506
+ color: var(--cm-text);
507
+ outline: none;
508
+ }
509
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="rich-mention-input"] [data-element="editor"]:focus {
510
+ border-color: var(--cm-primary);
511
+ box-shadow: 0 0 0 3px var(--cm-primary-ring);
512
+ }
513
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="rich-mention-input"] [data-element="placeholder"] {
514
+ position: absolute;
515
+ top: 0.5rem;
516
+ left: 0.75rem;
517
+ color: var(--cm-text-muted);
518
+ pointer-events: none;
519
+ }
520
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="rich-mention-input"] [data-component="mention-dropdown"] {
521
+ position: absolute;
522
+ left: 0;
523
+ right: 0;
524
+ bottom: calc(100% + 0.25rem);
525
+ z-index: 20;
526
+ display: flex;
527
+ flex-direction: column;
528
+ max-height: min(40vh, 16rem);
529
+ overflow-y: auto;
530
+ background: var(--cm-bg);
531
+ border: 1px solid var(--cm-border);
532
+ border-radius: var(--cm-radius-sm);
533
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
534
+ }
535
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-dropdown-item"] {
536
+ display: flex;
537
+ flex-direction: column;
538
+ align-items: flex-start;
539
+ gap: 0.125rem;
540
+ width: 100%;
541
+ padding: 0.5rem 0.75rem;
542
+ background: transparent;
543
+ border: none;
544
+ color: var(--cm-text);
545
+ font: inherit;
546
+ text-align: left;
547
+ cursor: pointer;
548
+ }
549
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-dropdown-item"][data-selected="true"] {
550
+ background: var(--cm-primary-tint);
551
+ }
552
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-dropdown-item"] [data-element="description"] {
553
+ font-size: 12px;
554
+ color: var(--cm-text-muted);
555
+ }
556
+
557
+ /* ---------- Chat interactions: entity actions and command arguments ---------- */
558
+ /* The item keeps `width: 100%` from its own rule, so it gets a small flex basis here: with the full
559
+ row as basis the shrink is shared by basis and squeezes the chips below their own width. The row
560
+ wraps instead, which keeps the chips on one line beside the result and drops them below it only
561
+ when the result cannot keep 8rem. */
562
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-dropdown"] [data-element="result-row"] {
563
+ display: flex;
564
+ flex-wrap: wrap;
565
+ align-items: center;
566
+ gap: 0.25rem;
567
+ padding-right: 0.5rem;
568
+ }
569
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="result-row"] > [data-component="mention-dropdown-item"] {
570
+ flex: 1 1 8rem;
571
+ min-width: 0;
572
+ }
573
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="entity-actions"] {
574
+ display: flex;
575
+ flex: 0 0 auto;
576
+ flex-wrap: wrap;
577
+ justify-content: flex-end;
578
+ gap: 0.25rem;
579
+ }
580
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-action"] {
581
+ padding: 0.125rem 0.5rem;
582
+ background: var(--cm-bg-muted);
583
+ border: 1px solid var(--cm-border);
584
+ border-radius: 999px;
585
+ color: var(--cm-text);
586
+ font: inherit;
587
+ font-size: 12px;
588
+ white-space: nowrap;
589
+ cursor: pointer;
590
+ }
591
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-action"][data-selected="true"] {
592
+ background: var(--cm-primary-tint);
593
+ border-color: var(--cm-primary);
594
+ }
595
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="command-arguments"] {
596
+ box-sizing: border-box;
597
+ display: flex;
598
+ flex-wrap: wrap;
599
+ align-items: flex-end;
600
+ gap: 0.5rem;
601
+ max-width: 100%;
602
+ margin: 0 0 0.5rem;
603
+ padding: 0.75rem;
604
+ background: var(--cm-bg);
605
+ border: 1px solid var(--cm-border);
606
+ border-radius: var(--cm-radius-sm);
607
+ }
608
+ /* The composer wrapper is one flex row and its `> form` rule (flex: 1) outranks the rule above,
609
+ which would park the argument form beside the editor. The wrapper wraps and the form takes
610
+ the full first row; the wrapper's gap supplies the space below it. */
611
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-input"][data-mode="providers"] {
612
+ flex-wrap: wrap;
613
+ }
614
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-input"][data-mode="providers"] > form[data-component="command-arguments"] {
615
+ flex: 1 1 100%;
616
+ margin: 0;
617
+ }
618
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="title"] {
619
+ flex: 1 1 100%;
620
+ margin: 0;
621
+ font-weight: 500;
622
+ overflow-wrap: anywhere;
623
+ }
624
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="error"] {
625
+ flex: 1 1 100%;
626
+ margin: 0;
627
+ color: var(--cm-danger);
628
+ font-size: 12px;
629
+ }
630
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="field"] {
631
+ position: relative;
632
+ display: flex;
633
+ flex: 1 1 10rem;
634
+ flex-direction: column;
635
+ gap: 0.25rem;
636
+ min-width: 0;
637
+ color: var(--cm-text-muted);
638
+ font-size: 12px;
639
+ }
640
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) input,
641
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) select {
642
+ box-sizing: border-box;
643
+ width: 100%;
644
+ padding: 0.375rem 0.5rem;
645
+ background: var(--cm-bg-muted);
646
+ border: 1px solid var(--cm-border);
647
+ border-radius: var(--cm-radius-sm);
648
+ color: var(--cm-text);
649
+ font: inherit;
650
+ font-size: 14px;
651
+ }
652
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) input:focus,
653
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) select:focus {
654
+ outline: none;
655
+ border-color: var(--cm-primary);
656
+ box-shadow: 0 0 0 3px var(--cm-primary-ring);
657
+ }
658
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="options"] {
659
+ position: absolute;
660
+ left: 0;
661
+ right: 0;
662
+ bottom: calc(100% + 0.25rem);
663
+ z-index: 20;
664
+ max-height: 12rem;
665
+ margin: 0;
666
+ padding: 0;
667
+ overflow-y: auto;
668
+ list-style: none;
669
+ background: var(--cm-bg);
670
+ border: 1px solid var(--cm-border);
671
+ border-radius: var(--cm-radius-sm);
672
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
673
+ }
674
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="options"] [role="option"] {
675
+ padding: 0.375rem 0.5rem;
676
+ color: var(--cm-text);
677
+ cursor: pointer;
678
+ }
679
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="options"] [role="option"][data-selected="true"] {
680
+ background: var(--cm-primary-tint);
681
+ }
682
+ /* The dropdown rule for descriptions is scoped to the mention items; without this one the span runs
683
+ on after the label (`Alice Examplealice@example.com`). */
684
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="options"] [data-element="description"] {
685
+ display: block;
686
+ font-size: 12px;
687
+ color: var(--cm-text-muted);
688
+ }
689
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="actions"] {
690
+ display: flex;
691
+ gap: 0.375rem;
692
+ }
693
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="run"],
694
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="cancel"] {
695
+ padding: 0.375rem 0.75rem;
696
+ border-radius: var(--cm-radius-sm);
697
+ font: inherit;
698
+ font-size: 14px;
699
+ cursor: pointer;
700
+ }
701
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="run"] {
702
+ background: var(--cm-primary);
703
+ border: 1px solid var(--cm-primary);
704
+ color: #ffffff;
705
+ }
706
+ [data-component="command-arguments"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="cancel"] {
707
+ background: transparent;
708
+ border: 1px solid var(--cm-border);
709
+ color: var(--cm-text);
710
+ }
711
+
712
+ /* ---------- Structured clarification ---------- */
713
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="clarification-card"] {
714
+ box-sizing: border-box;
715
+ display: flex;
716
+ flex-direction: column;
717
+ gap: 0.5rem;
718
+ max-width: 100%;
719
+ margin: 0.375rem 0;
720
+ padding: 0.75rem;
721
+ background: var(--cm-bg);
722
+ border: 1px solid var(--cm-border);
723
+ border-radius: var(--cm-radius-sm);
724
+ }
725
+ [data-component="clarification-card"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="question"] {
726
+ margin: 0;
727
+ font-weight: 500;
728
+ overflow-wrap: anywhere;
729
+ }
730
+ [data-component="clarification-card"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="options"] {
731
+ display: flex;
732
+ flex-wrap: wrap;
733
+ gap: 0.375rem;
734
+ }
735
+ [data-component="clarification-card"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="answer-option"] {
736
+ display: inline-flex;
737
+ flex-direction: column;
738
+ align-items: flex-start;
739
+ max-width: 100%;
740
+ padding: 0.375rem 0.75rem;
741
+ background: var(--cm-bg-muted);
742
+ border: 1px solid var(--cm-border);
743
+ border-radius: 9999px;
744
+ color: var(--cm-text);
745
+ font: inherit;
746
+ font-size: 13px;
747
+ text-align: left;
748
+ overflow-wrap: anywhere;
749
+ cursor: pointer;
750
+ }
751
+ [data-component="clarification-card"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="answer-option"]:disabled {
752
+ opacity: 0.6;
753
+ cursor: default;
754
+ }
755
+ [data-component="clarification-card"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="description"] {
756
+ font-size: 11px;
757
+ color: var(--cm-text-muted);
758
+ }
759
+ [data-component="clarification-card"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="free-text"] {
760
+ display: flex;
761
+ gap: 0.375rem;
762
+ }
763
+ [data-component="clarification-card"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="free-text"] input {
764
+ flex: 1;
765
+ min-width: 0;
766
+ padding: 0.375rem 0.625rem;
767
+ background: var(--cm-bg-muted);
768
+ border: 1px solid var(--cm-border);
769
+ border-radius: var(--cm-radius-sm);
770
+ color: var(--cm-text);
771
+ font: inherit;
772
+ }
773
+ [data-component="clarification-card"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="answer-free-text"] {
774
+ padding: 0.375rem 0.75rem;
775
+ background: var(--cm-primary);
776
+ border: none;
777
+ border-radius: var(--cm-radius-sm);
778
+ color: #fff;
779
+ font: inherit;
780
+ cursor: pointer;
781
+ }
782
+ [data-component="clarification-card"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="answer-free-text"]:disabled {
783
+ opacity: 0.5;
784
+ cursor: not-allowed;
785
+ }
786
+
787
+ /* ---------- Voice: mic, push-to-talk, retry, recording bar ---------- */
788
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="voice-input-addon"],
789
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="retry-recording"] {
790
+ flex-shrink: 0;
791
+ min-width: 40px;
792
+ min-height: 40px;
793
+ padding: 0 0.625rem;
794
+ background: var(--cm-bg-muted);
795
+ border: 1px solid var(--cm-border);
796
+ border-radius: var(--cm-radius-sm);
797
+ color: var(--cm-text);
798
+ font: inherit;
799
+ cursor: pointer;
800
+ touch-action: none;
801
+ user-select: none;
802
+ -webkit-user-select: none;
803
+ -webkit-touch-callout: none;
804
+ }
805
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="voice-input-addon"][data-state="recording"] {
806
+ border-color: var(--cm-danger);
807
+ color: var(--cm-danger);
808
+ }
809
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="recording-bar"] {
810
+ min-width: 0;
811
+ }
812
+ /* The inline bar is `width: 100%` (inline style). Next to the editor, mic and
813
+ Send it would get ~100px at 375px wide, too little for the live words. A
814
+ non-auto flex-basis beats that width, so the bar takes a row of its own
815
+ below them (form wraps; `order` moves it behind Send, which stays beside
816
+ the editor). The row exists only while the bar is mounted. */
817
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="mention-input"][data-mode="providers"] > form > [data-component="recording-bar"] {
818
+ flex: 1 1 100%;
819
+ order: 1;
820
+ }
821
+
822
+ /* ===========================================================================
823
+ Drop-in defaults for the floating trigger button and chat window.
824
+ These exist so <LangGraphAiChat /> / <VercelAiChat /> "just work" with
825
+ zero consumer styling. Override by passing className/buttonClassName.
826
+ =========================================================================== */
827
+
828
+ [data-component="ai-trigger-button"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="button-pill"] {
829
+ background: linear-gradient(135deg, var(--cm-primary) 0%, var(--cm-primary-soft) 100%);
830
+ color: #ffffff;
831
+ box-shadow:
832
+ 0 10px 25px -5px var(--cm-primary-tint),
833
+ 0 4px 10px -3px var(--cm-primary-tint),
834
+ 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
835
+ transition: transform 150ms ease, box-shadow 150ms ease;
836
+ font-family: var(--cm-font);
837
+ }
838
+
839
+ [data-component="ai-trigger-button"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="button-pill"]:hover {
840
+ transform: translateY(-1px);
841
+ box-shadow:
842
+ 0 14px 30px -5px var(--cm-primary-tint),
843
+ 0 6px 12px -3px var(--cm-primary-tint),
844
+ 0 0 0 1px rgba(255, 255, 255, 0.16) inset;
845
+ }
846
+
847
+ [data-component="ai-trigger-button"][data-dragging="true"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="button-pill"] {
848
+ transform: scale(1.04);
849
+ }
850
+
851
+ [data-component="ai-trigger-button"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="mic-trigger"] {
852
+ background: rgba(255, 255, 255, 0.22) !important;
853
+ color: #ffffff;
854
+ transition: background 150ms ease;
855
+ }
856
+
857
+ [data-component="ai-trigger-button"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="mic-trigger"]:hover {
858
+ background: rgba(255, 255, 255, 0.34) !important;
859
+ }
860
+
861
+ /* ---------- Chat window shell ---------- */
862
+ [data-component="chat-window"]:where(:not([data-unstyled], [data-unstyled] *)) {
863
+ box-sizing: border-box;
864
+ background: var(--cm-bg);
865
+ color: var(--cm-text);
866
+ border: 1px solid var(--cm-border);
867
+ border-radius: var(--cm-radius);
868
+ box-shadow:
869
+ 0 25px 50px -12px rgba(0, 0, 0, 0.25),
870
+ 0 0 0 1px rgba(0, 0, 0, 0.04);
871
+ display: flex;
872
+ flex-direction: column;
873
+ overflow: hidden;
874
+ z-index: 10000;
875
+ font-family: var(--cm-font);
876
+ font-size: 14px;
877
+ }
878
+
879
+ [data-component="chat-window"][data-mode="sidebar"]:where(:not([data-unstyled], [data-unstyled] *)) {
880
+ border-radius: 0;
881
+ box-shadow: none;
882
+ }
883
+ [data-component="chat-window"][data-mode="sidebar"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="chat-window-header"] {
884
+ cursor: default;
885
+ }
886
+ [data-component="chat-window-sidebar-resize"]:where(:not([data-unstyled], [data-unstyled] *)) {
887
+ position: absolute;
888
+ inset: 0 auto 0 0;
889
+ width: 8px;
890
+ z-index: 11;
891
+ cursor: ew-resize;
892
+ touch-action: none;
893
+ }
894
+ [data-component="chat-window-sidebar-resize"]:hover:where(:not([data-unstyled], [data-unstyled] *)),
895
+ [data-component="chat-window-sidebar-resize"]:focus-visible:where(:not([data-unstyled], [data-unstyled] *)) {
896
+ background: var(--cm-primary-tint);
897
+ outline: 2px solid var(--cm-primary);
898
+ outline-offset: -2px;
899
+ }
900
+ [data-component="chat-window-rail"]:where(:not([data-unstyled], [data-unstyled] *)) {
901
+ display: flex;
902
+ flex-direction: column;
903
+ align-items: center;
904
+ gap: 12px;
905
+ padding: 8px 0;
906
+ height: 100%;
907
+ }
908
+ [data-component="chat-window-rail"]:where(:not([data-unstyled], [data-unstyled] *)) span {
909
+ writing-mode: vertical-rl;
910
+ flex: 1;
911
+ overflow: hidden;
912
+ text-overflow: ellipsis;
913
+ white-space: nowrap;
914
+ }
915
+ [data-component="chat-window-rail"]:where(:not([data-unstyled], [data-unstyled] *)) button {
916
+ appearance: none;
917
+ border: 0;
918
+ border-radius: var(--cm-radius-sm);
919
+ width: 32px;
920
+ min-height: 32px;
921
+ background: transparent;
922
+ color: inherit;
923
+ cursor: pointer;
924
+ font-size: 20px;
925
+ }
926
+ [data-component="chat-window-rail"]:where(:not([data-unstyled], [data-unstyled] *)) button:hover {
927
+ background: var(--cm-primary-tint);
928
+ }
929
+
930
+ /* ---------- Glassmorphism theme effect ----------
931
+ Applied when the resolved theme sets `effect: 'glass'` (e.g. the
932
+ `liquid-glass` preset). Adds a real backdrop blur so translucent
933
+ backgrounds read as frosted glass instead of a flat wash. */
934
+ [data-component="chat-window"][data-theme-effect="glass"]:where(:not([data-unstyled], [data-unstyled] *)),
935
+ [data-component="ai-chat-panel"][data-theme-effect="glass"]:where(:not([data-unstyled], [data-unstyled] *)) {
936
+ backdrop-filter: blur(24px) saturate(180%);
937
+ -webkit-backdrop-filter: blur(24px) saturate(180%);
938
+ }
939
+ [data-component="ai-trigger-button"][data-theme-effect="glass"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="button-pill"] {
940
+ backdrop-filter: blur(16px) saturate(180%);
941
+ -webkit-backdrop-filter: blur(16px) saturate(180%);
942
+ }
943
+
944
+ /* ---------- Mobile: take over the whole screen ----------
945
+ Below 640px the floating window pattern breaks down — the
946
+ window is too small to contain a useful conversation and
947
+ edge-resize handles/drag headers don't map to touch gestures.
948
+ Pin to the viewport, kill the radius, and disable edge handles. */
949
+ @media (max-width: 640px) {
950
+ [data-component="chat-window"]:where(:not([data-unstyled], [data-unstyled] *)) {
951
+ position: fixed !important;
952
+ left: 0 !important;
953
+ top: 0 !important;
954
+ right: 0 !important;
955
+ bottom: 0 !important;
956
+ width: 100vw !important;
957
+ height: 100dvh !important;
958
+ transform: none !important;
959
+ border: none !important;
960
+ border-radius: 0 !important;
961
+ box-shadow: none !important;
962
+ max-width: none !important;
963
+ max-height: none !important;
964
+ }
965
+ [data-component="chat-window"][data-collapsed="true"]:where(:not([data-unstyled], [data-unstyled] *)) {
966
+ left: auto !important;
967
+ width: 44px !important;
968
+ }
969
+ [data-component="chat-window-resize-handle"]:where(:not([data-unstyled], [data-unstyled] *)),
970
+ [data-component="chat-window-sidebar-resize"]:where(:not([data-unstyled], [data-unstyled] *)) {
971
+ display: none !important;
972
+ }
973
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) {
974
+ cursor: default !important;
975
+ padding-top: max(0.75rem, env(safe-area-inset-top));
976
+ padding-left: max(1rem, env(safe-area-inset-left));
977
+ padding-right: max(1rem, env(safe-area-inset-right));
978
+ }
979
+ [data-component="chat-window-body"]:where(:not([data-unstyled], [data-unstyled] *)) {
980
+ padding-bottom: env(safe-area-inset-bottom);
981
+ }
982
+ /* Hide the pill while the chat is open — on mobile we own the
983
+ whole viewport, so the pill would overlap the input bar. */
984
+ [data-component="ai-trigger-button"]:where(:not([data-unstyled], [data-unstyled] *)) {
985
+ z-index: 9998;
986
+ }
987
+ }
988
+
989
+ [data-component="chat-window"]:where(:not([data-unstyled], [data-unstyled] *)) *,
990
+ [data-component="chat-window"]:where(:not([data-unstyled], [data-unstyled] *)) *::before,
991
+ [data-component="chat-window"]:where(:not([data-unstyled], [data-unstyled] *)) *::after {
992
+ box-sizing: border-box;
993
+ }
994
+
995
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) {
996
+ display: flex;
997
+ align-items: center;
998
+ justify-content: space-between;
999
+ padding: 0.75rem 1rem;
1000
+ border-bottom: 1px solid var(--cm-border);
1001
+ background: var(--cm-bg-muted);
1002
+ cursor: grab;
1003
+ user-select: none;
1004
+ flex-shrink: 0;
1005
+ }
1006
+
1007
+ [data-component="chat-window-header"]:active:where(:not([data-unstyled], [data-unstyled] *)) {
1008
+ cursor: grabbing;
1009
+ }
1010
+
1011
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="title"] {
1012
+ font-size: 14px;
1013
+ font-weight: 600;
1014
+ color: var(--cm-text);
1015
+ white-space: nowrap;
1016
+ overflow: hidden;
1017
+ text-overflow: ellipsis;
1018
+ }
1019
+
1020
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="title-wrap"] {
1021
+ flex: 1 1 auto;
1022
+ min-width: 0;
1023
+ display: flex;
1024
+ align-items: center;
1025
+ }
1026
+
1027
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="actions"] {
1028
+ display: inline-flex;
1029
+ align-items: center;
1030
+ gap: 0.25rem;
1031
+ flex-shrink: 0;
1032
+ margin-left: 0.5rem;
1033
+ }
1034
+
1035
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="close"],
1036
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="layout"],
1037
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="clear"] {
1038
+ appearance: none;
1039
+ border: none;
1040
+ background: transparent;
1041
+ width: 1.75rem;
1042
+ height: 1.75rem;
1043
+ border-radius: var(--cm-radius-sm);
1044
+ line-height: 1;
1045
+ color: var(--cm-text-muted);
1046
+ cursor: pointer;
1047
+ display: inline-flex;
1048
+ align-items: center;
1049
+ justify-content: center;
1050
+ transition: background 120ms ease, color 120ms ease;
1051
+ }
1052
+
1053
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="close"]:hover,
1054
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="layout"]:hover,
1055
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="clear"]:hover:not(:disabled) {
1056
+ background: var(--cm-primary-tint);
1057
+ color: var(--cm-text);
1058
+ }
1059
+
1060
+ [data-component="chat-window-header"]:where(:not([data-unstyled], [data-unstyled] *)) [data-action="clear"]:disabled {
1061
+ opacity: 0.35;
1062
+ cursor: not-allowed;
1063
+ }
1064
+
1065
+ /* ---------- Session switcher ---------- */
1066
+
1067
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) {
1068
+ position: relative;
1069
+ display: inline-flex;
1070
+ flex: 0 0 auto;
1071
+ min-width: 0;
1072
+ font-family: var(--cm-font);
1073
+ pointer-events: none;
1074
+ }
1075
+
1076
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="trigger"],
1077
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="popover"] {
1078
+ pointer-events: auto;
1079
+ }
1080
+
1081
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="trigger"] {
1082
+ appearance: none;
1083
+ border: 1px solid transparent;
1084
+ background: transparent;
1085
+ padding: 0.25rem 0.5rem;
1086
+ border-radius: var(--cm-radius-sm);
1087
+ display: inline-flex;
1088
+ align-items: center;
1089
+ gap: 0.375rem;
1090
+ max-width: 100%;
1091
+ color: var(--cm-text);
1092
+ font-size: 14px;
1093
+ font-weight: 600;
1094
+ cursor: pointer;
1095
+ transition: background 120ms ease, border-color 120ms ease;
1096
+ }
1097
+
1098
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="trigger"]:hover {
1099
+ background: var(--cm-primary-tint);
1100
+ }
1101
+
1102
+ [data-component="session-switcher"][data-open]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="trigger"] {
1103
+ background: var(--cm-primary-tint);
1104
+ border-color: var(--cm-primary);
1105
+ }
1106
+
1107
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="trigger-title"] {
1108
+ white-space: nowrap;
1109
+ overflow: hidden;
1110
+ text-overflow: ellipsis;
1111
+ max-width: 14rem;
1112
+ }
1113
+
1114
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="popover"] {
1115
+ position: absolute;
1116
+ top: calc(100% + 0.375rem);
1117
+ left: 0;
1118
+ min-width: 16rem;
1119
+ max-width: 22rem;
1120
+ max-height: 22rem;
1121
+ overflow: hidden;
1122
+ display: flex;
1123
+ flex-direction: column;
1124
+ background: var(--cm-bg);
1125
+ border: 1px solid var(--cm-border);
1126
+ border-radius: var(--cm-radius);
1127
+ box-shadow: 0 18px 40px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.04);
1128
+ z-index: 10001;
1129
+ font-weight: 400;
1130
+ }
1131
+
1132
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="new-session"] {
1133
+ appearance: none;
1134
+ border: none;
1135
+ background: transparent;
1136
+ width: 100%;
1137
+ text-align: left;
1138
+ padding: 0.625rem 0.875rem;
1139
+ display: flex;
1140
+ align-items: center;
1141
+ gap: 0.5rem;
1142
+ font-size: 13px;
1143
+ font-weight: 600;
1144
+ color: var(--cm-primary);
1145
+ cursor: pointer;
1146
+ border-bottom: 1px solid var(--cm-border);
1147
+ }
1148
+
1149
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="new-session"]:hover {
1150
+ background: var(--cm-primary-tint);
1151
+ }
1152
+
1153
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="new-session"] [data-element="plus"] {
1154
+ display: inline-flex;
1155
+ width: 1.25rem;
1156
+ height: 1.25rem;
1157
+ border-radius: 9999px;
1158
+ align-items: center;
1159
+ justify-content: center;
1160
+ background: var(--cm-primary);
1161
+ color: #ffffff;
1162
+ font-size: 14px;
1163
+ line-height: 1;
1164
+ }
1165
+
1166
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="session-list"] {
1167
+ flex: 1 1 auto;
1168
+ overflow-y: auto;
1169
+ padding: 0.25rem 0;
1170
+ }
1171
+
1172
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="empty"] {
1173
+ padding: 1rem 0.875rem;
1174
+ color: var(--cm-text-muted);
1175
+ font-size: 13px;
1176
+ text-align: center;
1177
+ }
1178
+
1179
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="session-row"] {
1180
+ display: flex;
1181
+ align-items: center;
1182
+ gap: 0.5rem;
1183
+ padding: 0.5rem 0.875rem;
1184
+ cursor: pointer;
1185
+ transition: background 120ms ease;
1186
+ }
1187
+
1188
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="session-row"]:hover {
1189
+ background: var(--cm-primary-tint);
1190
+ }
1191
+
1192
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="session-row"][data-active] {
1193
+ background: var(--cm-primary-tint);
1194
+ }
1195
+
1196
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="row-main"] {
1197
+ flex: 1 1 auto;
1198
+ min-width: 0;
1199
+ }
1200
+
1201
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="row-title"] {
1202
+ font-size: 13px;
1203
+ font-weight: 600;
1204
+ color: var(--cm-text);
1205
+ white-space: nowrap;
1206
+ overflow: hidden;
1207
+ text-overflow: ellipsis;
1208
+ }
1209
+
1210
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="row-subtitle"] {
1211
+ font-size: 11px;
1212
+ color: var(--cm-text-muted);
1213
+ margin-top: 0.125rem;
1214
+ }
1215
+
1216
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="row-delete"],
1217
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="row-edit"] {
1218
+ appearance: none;
1219
+ border: none;
1220
+ background: transparent;
1221
+ width: 1.5rem;
1222
+ height: 1.5rem;
1223
+ border-radius: var(--cm-radius-sm);
1224
+ color: var(--cm-text-muted);
1225
+ cursor: pointer;
1226
+ display: inline-flex;
1227
+ align-items: center;
1228
+ justify-content: center;
1229
+ opacity: 0;
1230
+ transition: opacity 120ms ease, background 120ms ease, color 120ms ease;
1231
+ flex-shrink: 0;
1232
+ }
1233
+
1234
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="session-row"]:hover [data-element="row-delete"],
1235
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="session-row"]:hover [data-element="row-edit"] {
1236
+ opacity: 1;
1237
+ }
1238
+
1239
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="row-edit"]:hover {
1240
+ background: var(--cm-primary-tint);
1241
+ color: var(--cm-text);
1242
+ }
1243
+
1244
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="row-delete"]:hover {
1245
+ background: rgba(220, 38, 38, 0.1);
1246
+ color: var(--cm-danger);
1247
+ }
1248
+
1249
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="session-row"][data-editing] {
1250
+ background: var(--cm-primary-tint);
1251
+ cursor: text;
1252
+ }
1253
+
1254
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="row-title-input"] {
1255
+ width: 100%;
1256
+ appearance: none;
1257
+ background: transparent;
1258
+ border: none;
1259
+ outline: none;
1260
+ padding: 0;
1261
+ margin: 0;
1262
+ font: inherit;
1263
+ font-size: 13px;
1264
+ font-weight: 600;
1265
+ color: var(--cm-text);
1266
+ caret-color: var(--cm-primary);
1267
+ }
1268
+
1269
+ [data-component="session-switcher"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="row-title-input"]::placeholder {
1270
+ color: var(--cm-text-muted);
1271
+ }
1272
+
1273
+ /* ---------- Confirm dialog ---------- */
1274
+
1275
+ [data-component="confirm-dialog-backdrop"]:where(:not([data-unstyled], [data-unstyled] *)) {
1276
+ position: fixed;
1277
+ inset: 0;
1278
+ z-index: 10010;
1279
+ background: rgba(0, 0, 0, 0.55);
1280
+ backdrop-filter: blur(4px);
1281
+ -webkit-backdrop-filter: blur(4px);
1282
+ display: flex;
1283
+ align-items: center;
1284
+ justify-content: center;
1285
+ padding: 1rem;
1286
+ font-family: var(--cm-font);
1287
+ animation: cm-confirm-fade 140ms ease-out;
1288
+ }
1289
+
1290
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) {
1291
+ background: var(--cm-bg);
1292
+ color: var(--cm-text);
1293
+ border: 1px solid var(--cm-border);
1294
+ border-radius: var(--cm-radius);
1295
+ box-shadow:
1296
+ 0 25px 50px -12px rgba(0, 0, 0, 0.6),
1297
+ 0 0 0 1px rgba(255, 255, 255, 0.04);
1298
+ padding: 1.25rem 1.25rem 1rem;
1299
+ min-width: min(22rem, calc(100vw - 2rem));
1300
+ max-width: 26rem;
1301
+ display: flex;
1302
+ flex-direction: column;
1303
+ gap: 0.5rem;
1304
+ animation: cm-confirm-pop 160ms cubic-bezier(0.2, 0.9, 0.3, 1.1);
1305
+ }
1306
+
1307
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="title"] {
1308
+ font-size: 15px;
1309
+ font-weight: 600;
1310
+ color: var(--cm-text);
1311
+ line-height: 1.4;
1312
+ }
1313
+
1314
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="message"] {
1315
+ font-size: 13px;
1316
+ color: var(--cm-text-muted);
1317
+ line-height: 1.5;
1318
+ margin-bottom: 0.25rem;
1319
+ }
1320
+
1321
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="actions"] {
1322
+ display: flex;
1323
+ justify-content: flex-end;
1324
+ gap: 0.5rem;
1325
+ margin-top: 0.75rem;
1326
+ }
1327
+
1328
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="actions"] button {
1329
+ appearance: none;
1330
+ border: 1px solid var(--cm-border);
1331
+ background: transparent;
1332
+ color: var(--cm-text);
1333
+ padding: 0.5rem 1rem;
1334
+ border-radius: var(--cm-radius-sm);
1335
+ font-size: 13px;
1336
+ font-weight: 600;
1337
+ cursor: pointer;
1338
+ transition: background 120ms ease, border-color 120ms ease, color 120ms ease, transform 120ms ease;
1339
+ font-family: inherit;
1340
+ }
1341
+
1342
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="cancel"]:hover {
1343
+ background: var(--cm-primary-tint);
1344
+ border-color: var(--cm-primary);
1345
+ }
1346
+
1347
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="confirm"] {
1348
+ background: var(--cm-primary);
1349
+ border-color: var(--cm-primary);
1350
+ color: #ffffff;
1351
+ }
1352
+
1353
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="confirm"]:hover:not(:disabled) {
1354
+ filter: brightness(1.1);
1355
+ transform: translateY(-1px);
1356
+ }
1357
+
1358
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="confirm"][data-destructive] {
1359
+ background: var(--cm-danger);
1360
+ border-color: var(--cm-danger);
1361
+ }
1362
+
1363
+ [data-component="confirm-dialog"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="confirm"]:disabled {
1364
+ opacity: 0.5;
1365
+ cursor: not-allowed;
1366
+ }
1367
+
1368
+ @keyframes cm-confirm-fade {
1369
+ from { opacity: 0; }
1370
+ to { opacity: 1; }
1371
+ }
1372
+
1373
+ @keyframes cm-confirm-pop {
1374
+ from { opacity: 0; transform: scale(0.95) translateY(6px); }
1375
+ to { opacity: 1; transform: scale(1) translateY(0); }
1376
+ }
1377
+
1378
+ [data-component="chat-window-body"]:where(:not([data-unstyled], [data-unstyled] *)) {
1379
+ flex: 1 1 auto;
1380
+ min-height: 0;
1381
+ display: flex;
1382
+ flex-direction: column;
1383
+ overflow: hidden;
1384
+ }
1385
+
1386
+ /* When ai-chat-panel is a direct child of chat-window-body, drop its own
1387
+ border/radius/shadow so the window shell owns the framing. */
1388
+ [data-component="chat-window-body"]:where(:not([data-unstyled], [data-unstyled] *)) > [data-component="ai-chat-panel"] {
1389
+ border: none;
1390
+ border-radius: 0;
1391
+ box-shadow: none;
1392
+ min-height: 0;
1393
+ height: 100%;
1394
+ }
1395
+
1396
+ /* ---------- Approval reminder ---------- */
1397
+ [data-component="ai-chat-panel"]:where(:not([data-unstyled], [data-unstyled] *)) [data-component="approval-reminder"] {
1398
+ margin: 0 1rem 0.5rem;
1399
+ padding: 0.5rem 0.75rem;
1400
+ border-radius: var(--cm-radius-sm);
1401
+ background: var(--cm-primary-tint);
1402
+ color: var(--cm-text);
1403
+ font-size: 0.8125rem;
1404
+ }
1405
+
1406
+ /* ---------------------------------------------------------------------------
1407
+ AssistantShell — docked sidebar or detached window. The handle geometry
1408
+ is inline, so it also works unstyled; these rules are only the look.
1409
+ --------------------------------------------------------------------------- */
1410
+ [data-component="assistant-shell"][data-floating-gesture]:where(:not([data-unstyled], [data-unstyled] *)) { transition: none; will-change: transform, width, height; }
1411
+ @media (pointer: coarse) {
1412
+ [data-component="assistant-shell-window-handle"]:where(:not([data-unstyled], [data-unstyled] *)):is([data-resize-edge="n"], [data-resize-edge="s"]) { height: 16px !important; }
1413
+ [data-component="assistant-shell-window-handle"]:where(:not([data-unstyled], [data-unstyled] *)):is([data-resize-edge="e"], [data-resize-edge="w"]) { width: 16px !important; }
1414
+ [data-component="assistant-shell-window-handle"]:where(:not([data-unstyled], [data-unstyled] *)):is([data-resize-edge="ne"], [data-resize-edge="nw"], [data-resize-edge="se"], [data-resize-edge="sw"]) { width: 28px !important; height: 28px !important; }
1415
+ }
1416
+
1417
+ [data-component="assistant-shell"]:where(:not([data-unstyled], [data-unstyled] *)) {
1418
+ box-sizing: border-box;
1419
+ z-index: 60;
1420
+ background: var(--cm-bg);
1421
+ color: var(--cm-text);
1422
+ font-family: var(--cm-font);
1423
+ border-left: 1px solid var(--cm-border);
1424
+ }
1425
+ [data-component="assistant-shell"][data-mode="floating"]:where(:not([data-unstyled], [data-unstyled] *)) {
1426
+ border: 1px solid var(--cm-border);
1427
+ border-radius: var(--cm-radius);
1428
+ box-shadow: 0 12px 32px -12px rgba(17, 24, 39, 0.25);
1429
+ overflow: hidden;
1430
+ }
1431
+ [data-component="assistant-shell"][data-floating-gesture="move"]:where(:not([data-unstyled], [data-unstyled] *)) {
1432
+ box-shadow: 0 16px 40px -12px rgba(17, 24, 39, 0.35);
1433
+ }
1434
+ [data-component="assistant-shell"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="header"] {
1435
+ display: flex;
1436
+ align-items: center;
1437
+ gap: 0.5rem;
1438
+ height: 2.75rem;
1439
+ flex-shrink: 0;
1440
+ padding: 0 0.75rem;
1441
+ border-bottom: 1px solid var(--cm-border);
1442
+ }
1443
+ [data-component="assistant-shell"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="header"] > [data-element="icon"] {
1444
+ display: inline-flex;
1445
+ color: var(--cm-primary);
1446
+ }
1447
+ [data-component="assistant-shell"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="title"] {
1448
+ flex: 1 1 0%;
1449
+ min-width: 0;
1450
+ overflow: hidden;
1451
+ text-overflow: ellipsis;
1452
+ white-space: nowrap;
1453
+ font-size: 0.875rem;
1454
+ font-weight: 600;
1455
+ }
1456
+ [data-component="assistant-shell"]:where(:not([data-unstyled], [data-unstyled] *)) :is(header[data-element="header"], [data-element="rail"]) > [data-action] {
1457
+ display: inline-flex;
1458
+ align-items: center;
1459
+ justify-content: center;
1460
+ flex-shrink: 0;
1461
+ width: 1.75rem;
1462
+ height: 1.75rem;
1463
+ padding: 0;
1464
+ border: 0;
1465
+ border-radius: var(--cm-radius-sm);
1466
+ background: transparent;
1467
+ color: var(--cm-text-muted);
1468
+ cursor: pointer;
1469
+ }
1470
+ [data-component="assistant-shell"]:where(:not([data-unstyled], [data-unstyled] *)) :is(header[data-element="header"], [data-element="rail"]) > [data-action]:hover {
1471
+ background: var(--cm-primary-tint);
1472
+ color: var(--cm-text);
1473
+ }
1474
+ [data-component="assistant-shell"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="rail"] {
1475
+ display: flex;
1476
+ flex-direction: column;
1477
+ align-items: center;
1478
+ height: 100%;
1479
+ padding: 0.5rem 0;
1480
+ }
1481
+ [data-component="assistant-shell"]:where(:not([data-unstyled], [data-unstyled] *)) [data-element="rail"] > [data-action="expand"] {
1482
+ flex: 1 1 0%;
1483
+ width: 100%;
1484
+ height: auto;
1485
+ flex-direction: column;
1486
+ justify-content: flex-start;
1487
+ gap: 1rem;
1488
+ padding-top: 0.25rem;
1489
+ font-size: 0.75rem;
1490
+ font-weight: 500;
1491
+ }
1492
+ [data-component="assistant-shell-resize"]:where(:not([data-unstyled], [data-unstyled] *)):is(:hover, :focus-visible, [data-dragging]) {
1493
+ background: linear-gradient(to right, transparent 3px, var(--cm-primary) 3px, var(--cm-primary) 5px, transparent 5px);
1494
+ outline: none;
1495
+ }
1496
+ [data-component="assistant-bubble"]:where(:not([data-unstyled], [data-unstyled] *)) {
1497
+ position: fixed;
1498
+ right: 1rem;
1499
+ bottom: 1rem;
1500
+ z-index: 40;
1501
+ display: inline-flex;
1502
+ align-items: center;
1503
+ justify-content: center;
1504
+ width: 2.75rem;
1505
+ height: 2.75rem;
1506
+ border: 0;
1507
+ border-radius: 9999px;
1508
+ background: var(--cm-primary);
1509
+ color: #fff;
1510
+ box-shadow: 0 8px 20px -8px rgba(17, 24, 39, 0.4);
1511
+ cursor: pointer;
1512
+ }
1513
+ [data-component="assistant-toggle"]:where(:not([data-unstyled], [data-unstyled] *)) {
1514
+ display: inline-flex;
1515
+ align-items: center;
1516
+ gap: 0.5rem;
1517
+ height: 2.25rem;
1518
+ padding: 0 0.75rem;
1519
+ border: 0;
1520
+ border-radius: var(--cm-radius-sm);
1521
+ background: transparent;
1522
+ color: var(--cm-text);
1523
+ font: inherit;
1524
+ font-size: 0.875rem;
1525
+ cursor: pointer;
1526
+ }
1527
+ [data-component="assistant-toggle"]:where(:not([data-unstyled], [data-unstyled] *)):is(:hover, [aria-pressed="true"]) {
1528
+ background: var(--cm-primary-tint);
1529
+ }