glirastes 0.4.0 → 0.5.1

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 (1387) hide show
  1. package/CHANGELOG.md +377 -1
  2. package/README.md +283 -847
  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/approval-card.js +20 -1
  135. package/dist/cjs/react/components/chat-input.js +6 -4
  136. package/dist/cjs/react/components/chat-window-visibility.d.ts +3 -0
  137. package/dist/cjs/react/components/chat-window-visibility.js +7 -0
  138. package/dist/cjs/react/components/chat-window.d.ts +1 -1
  139. package/dist/cjs/react/components/chat-window.js +124 -57
  140. package/dist/cjs/react/components/clarification-card.d.ts +10 -0
  141. package/dist/cjs/react/components/clarification-card.js +35 -0
  142. package/dist/cjs/react/components/command-arguments-form.d.ts +10 -0
  143. package/dist/cjs/react/components/command-arguments-form.js +153 -0
  144. package/dist/cjs/react/components/confirm-dialog.js +1 -1
  145. package/dist/cjs/react/components/floating-chat-ui.d.ts +3 -3
  146. package/dist/cjs/react/components/floating-chat-ui.js +30 -4
  147. package/dist/cjs/react/components/mention-input.d.ts +5 -4
  148. package/dist/cjs/react/components/mention-input.js +64 -7
  149. package/dist/cjs/react/components/message-bubble.js +90 -14
  150. package/dist/cjs/react/components/plan-checklist.d.ts +14 -0
  151. package/dist/cjs/react/components/plan-checklist.js +20 -0
  152. package/dist/cjs/react/components/recording-bar.js +44 -58
  153. package/dist/cjs/react/components/rich-mention-input.js +197 -45
  154. package/dist/cjs/react/components/session-switcher.d.ts +3 -1
  155. package/dist/cjs/react/components/session-switcher.js +26 -11
  156. package/dist/cjs/react/components/status-icon.d.ts +8 -0
  157. package/dist/cjs/react/components/status-icon.js +11 -0
  158. package/dist/cjs/react/components/stream-waveform.d.ts +4 -0
  159. package/dist/cjs/react/components/stream-waveform.js +49 -0
  160. package/dist/cjs/react/components/voice-input-addon.d.ts +16 -1
  161. package/dist/cjs/react/components/voice-input-addon.js +255 -18
  162. package/dist/cjs/react/components/voice-input-button.js +1 -1
  163. package/dist/cjs/react/hooks/use-chat-shortcuts.d.ts +33 -0
  164. package/dist/cjs/react/hooks/use-chat-shortcuts.js +139 -0
  165. package/dist/cjs/react/hooks/use-deepgram-transcription.d.ts +4 -0
  166. package/dist/cjs/react/hooks/use-deepgram-transcription.js +31 -321
  167. package/dist/cjs/react/hooks/use-drag-resize-panel.d.ts +1 -0
  168. package/dist/cjs/react/hooks/use-drag-resize-panel.js +246 -121
  169. package/dist/cjs/react/hooks/use-floating-panel.d.ts +57 -0
  170. package/dist/cjs/react/hooks/use-floating-panel.js +217 -0
  171. package/dist/cjs/react/hooks/use-keyboard-shortcut.js +2 -1
  172. package/dist/cjs/react/hooks/use-push-to-talk-hotkey.d.ts +24 -0
  173. package/dist/cjs/react/hooks/use-push-to-talk-hotkey.js +116 -0
  174. package/dist/cjs/react/hooks/use-sidebar-resize.d.ts +19 -0
  175. package/dist/cjs/react/hooks/use-sidebar-resize.js +109 -0
  176. package/dist/cjs/react/index.d.ts +30 -1
  177. package/dist/cjs/react/index.js +91 -1
  178. package/dist/cjs/react/interactions/definitions.d.ts +67 -0
  179. package/dist/cjs/react/interactions/definitions.js +83 -0
  180. package/dist/cjs/react/interactions/registry.d.ts +74 -0
  181. package/dist/cjs/react/interactions/registry.js +250 -0
  182. package/dist/cjs/react/interactions/use-chat-interactions-data.d.ts +15 -0
  183. package/dist/cjs/react/interactions/use-chat-interactions-data.js +43 -0
  184. package/dist/cjs/react/locale-de.d.ts +3 -0
  185. package/dist/cjs/react/locale-de.js +69 -0
  186. package/dist/cjs/react/provider/ai-chat-provider.d.ts +1 -1
  187. package/dist/cjs/react/provider/ai-chat-provider.js +410 -106
  188. package/dist/cjs/react/provider/chat-context.d.ts +52 -1
  189. package/dist/cjs/react/stt/controller.d.ts +60 -0
  190. package/dist/cjs/react/stt/controller.js +268 -0
  191. package/dist/cjs/react/stt/deepgram.d.ts +30 -0
  192. package/dist/cjs/react/stt/deepgram.js +204 -0
  193. package/dist/cjs/react/stt/recorded.d.ts +29 -0
  194. package/dist/cjs/react/stt/recorded.js +115 -0
  195. package/dist/cjs/react/stt/segments.d.ts +18 -0
  196. package/dist/cjs/react/stt/segments.js +32 -0
  197. package/dist/cjs/react/stt/use-stt.d.ts +17 -0
  198. package/dist/cjs/react/stt/use-stt.js +41 -0
  199. package/dist/cjs/react/stt/waveform.d.ts +5 -0
  200. package/dist/cjs/react/stt/waveform.js +31 -0
  201. package/dist/cjs/react/styles.css +1555 -0
  202. package/dist/cjs/react/tool-renderers/registry.d.ts +31 -0
  203. package/dist/cjs/react/tool-renderers/registry.js +50 -0
  204. package/dist/cjs/react/tool-renderers/renderer-boundary.d.ts +18 -0
  205. package/dist/cjs/react/tool-renderers/renderer-boundary.js +15 -0
  206. package/dist/cjs/react/transports/vercel/vercel-ai-chat.d.ts +1 -1
  207. package/dist/cjs/react/transports/vercel/vercel-ai-chat.js +2 -2
  208. package/dist/cjs/react/transports/vercel.d.ts +6 -0
  209. package/dist/cjs/react/transports/vercel.js +12 -6
  210. package/dist/cjs/react/types.d.ts +269 -6
  211. package/dist/cjs/react/ui.d.ts +18 -17
  212. package/dist/cjs/react/ui.js +50 -45
  213. package/dist/cjs/react/unstyled.d.ts +7 -0
  214. package/dist/cjs/react/unstyled.js +10 -0
  215. package/dist/cjs/react/utils/activity.d.ts +16 -0
  216. package/dist/cjs/react/utils/activity.js +80 -0
  217. package/dist/cjs/react/utils/clarification.d.ts +31 -0
  218. package/dist/cjs/react/utils/clarification.js +104 -0
  219. package/dist/cjs/react/utils/create-approval-description.d.ts +6 -0
  220. package/dist/cjs/react/utils/create-approval-description.js +42 -7
  221. package/dist/cjs/react/utils/create-tool-result-handler.d.ts +1 -1
  222. package/dist/cjs/react/utils/create-tool-result-handler.js +1 -1
  223. package/dist/cjs/react/utils/entity-names.d.ts +6 -0
  224. package/dist/cjs/react/utils/entity-names.js +57 -0
  225. package/dist/cjs/react/utils/followup-suggestions.d.ts +11 -0
  226. package/dist/cjs/react/utils/followup-suggestions.js +39 -0
  227. package/dist/cjs/react/utils/local-session-store.d.ts +30 -0
  228. package/dist/cjs/react/utils/local-session-store.js +165 -0
  229. package/dist/cjs/react/utils/mention-markup.d.ts +44 -1
  230. package/dist/cjs/react/utils/mention-markup.js +144 -10
  231. package/dist/cjs/react/utils/tool-presentation.d.ts +23 -0
  232. package/dist/cjs/react/utils/tool-presentation.js +46 -0
  233. package/dist/cjs/react/utils/tool-result-config.d.ts +10 -0
  234. package/dist/cjs/react/utils/tool-result-config.js +14 -0
  235. package/dist/cjs/runtime/ai-sdk/engine.d.ts +66 -0
  236. package/dist/cjs/runtime/ai-sdk/engine.js +192 -0
  237. package/dist/cjs/runtime/ai-sdk/index.d.ts +1 -0
  238. package/dist/cjs/runtime/ai-sdk/index.js +5 -0
  239. package/dist/cjs/runtime/authorization.d.ts +16 -0
  240. package/dist/cjs/runtime/authorization.js +35 -0
  241. package/dist/cjs/runtime/budget.d.ts +39 -0
  242. package/dist/cjs/runtime/budget.js +100 -0
  243. package/dist/cjs/runtime/contract-bindings.d.ts +52 -0
  244. package/dist/cjs/runtime/contract-bindings.js +95 -0
  245. package/dist/cjs/runtime/engine.d.ts +52 -0
  246. package/dist/cjs/runtime/engine.js +2 -0
  247. package/dist/cjs/runtime/fingerprint.d.ts +6 -0
  248. package/dist/cjs/runtime/fingerprint.js +31 -0
  249. package/dist/cjs/runtime/glirastes.d.ts +113 -0
  250. package/dist/cjs/runtime/glirastes.js +289 -0
  251. package/dist/cjs/runtime/index.d.ts +24 -0
  252. package/dist/cjs/runtime/index.js +74 -0
  253. package/dist/cjs/runtime/json-schema.d.ts +13 -0
  254. package/dist/cjs/runtime/json-schema.js +46 -0
  255. package/dist/cjs/runtime/local-limits.d.ts +6 -0
  256. package/dist/cjs/runtime/local-limits.js +26 -0
  257. package/dist/cjs/runtime/local-runtime-source.d.ts +76 -0
  258. package/dist/cjs/runtime/local-runtime-source.js +0 -0
  259. package/dist/cjs/runtime/local-signer.d.ts +17 -0
  260. package/dist/cjs/runtime/local-signer.js +34 -0
  261. package/dist/cjs/runtime/local-tool-bindings.d.ts +57 -0
  262. package/dist/cjs/runtime/local-tool-bindings.js +197 -0
  263. package/dist/cjs/runtime/managed-turn.d.ts +29 -0
  264. package/dist/cjs/runtime/managed-turn.js +99 -0
  265. package/dist/cjs/runtime/metrics/cost.d.ts +64 -0
  266. package/dist/cjs/runtime/metrics/cost.js +98 -0
  267. package/dist/cjs/runtime/metrics/sink.d.ts +56 -0
  268. package/dist/cjs/runtime/metrics/sink.js +217 -0
  269. package/dist/cjs/runtime/metrics/turn-recorder.d.ts +62 -0
  270. package/dist/cjs/runtime/metrics/turn-recorder.js +172 -0
  271. package/dist/cjs/runtime/offline-execution-lease.d.ts +27 -0
  272. package/dist/cjs/runtime/offline-execution-lease.js +49 -0
  273. package/dist/cjs/runtime/policy-overlay.d.ts +86 -0
  274. package/dist/cjs/runtime/policy-overlay.js +122 -0
  275. package/dist/cjs/runtime/postgres-store.d.ts +111 -0
  276. package/dist/cjs/runtime/postgres-store.js +368 -0
  277. package/dist/cjs/runtime/prompt-bundle-store.d.ts +58 -0
  278. package/dist/cjs/runtime/prompt-bundle-store.js +123 -0
  279. package/dist/cjs/runtime/runtime-mode.d.ts +23 -0
  280. package/dist/cjs/runtime/runtime-mode.js +46 -0
  281. package/dist/cjs/runtime/sdk-version.d.ts +2 -0
  282. package/dist/cjs/runtime/sdk-version.js +5 -0
  283. package/dist/cjs/runtime/tool-discovery.d.ts +51 -0
  284. package/dist/cjs/runtime/tool-discovery.js +141 -0
  285. package/dist/cjs/runtime/tool-search.d.ts +31 -0
  286. package/dist/cjs/runtime/tool-search.js +149 -0
  287. package/dist/cjs/runtime/turn-snapshot.d.ts +44 -0
  288. package/dist/cjs/runtime/turn-snapshot.js +112 -0
  289. package/dist/cjs/server/adapters/nextjs/approval-binding.d.ts +334 -0
  290. package/dist/cjs/server/adapters/nextjs/approval-binding.js +724 -0
  291. package/dist/cjs/server/adapters/nextjs/chat-interactions-handler.d.ts +26 -0
  292. package/dist/cjs/server/adapters/nextjs/chat-interactions-handler.js +67 -0
  293. package/dist/cjs/server/adapters/nextjs/clarification-resume.d.ts +21 -0
  294. package/dist/cjs/server/adapters/nextjs/clarification-resume.js +112 -0
  295. package/dist/cjs/server/adapters/nextjs/context-helpers.d.ts +49 -8
  296. package/dist/cjs/server/adapters/nextjs/context-helpers.js +76 -21
  297. package/dist/cjs/server/adapters/nextjs/create-ai-chat-handler.d.ts +59 -1
  298. package/dist/cjs/server/adapters/nextjs/create-ai-chat-handler.js +648 -94
  299. package/dist/cjs/server/adapters/nextjs/direct-command.d.ts +75 -0
  300. package/dist/cjs/server/adapters/nextjs/direct-command.js +322 -0
  301. package/dist/cjs/server/adapters/nextjs/index.d.ts +10 -2
  302. package/dist/cjs/server/adapters/nextjs/index.js +24 -1
  303. package/dist/cjs/server/adapters/nextjs/prepare-model-messages.d.ts +2 -1
  304. package/dist/cjs/server/adapters/nextjs/prepare-model-messages.js +6 -14
  305. package/dist/cjs/server/adapters/nextjs/recording-transcription-handler.d.ts +31 -0
  306. package/dist/cjs/server/adapters/nextjs/recording-transcription-handler.js +58 -0
  307. package/dist/cjs/server/adapters/nextjs/request-guards.d.ts +41 -0
  308. package/dist/cjs/server/adapters/nextjs/request-guards.js +112 -0
  309. package/dist/cjs/server/adapters/nextjs/sanitize-model-messages.js +12 -6
  310. package/dist/cjs/server/adapters/nextjs/scope-pipeline-tools.d.ts +17 -0
  311. package/dist/cjs/server/adapters/nextjs/scope-pipeline-tools.js +28 -0
  312. package/dist/cjs/server/adapters/nextjs/tool-discovery.d.ts +39 -0
  313. package/dist/cjs/server/adapters/nextjs/tool-discovery.js +50 -0
  314. package/dist/cjs/server/adapters/nextjs/tool-presentation.d.ts +26 -0
  315. package/dist/cjs/server/adapters/nextjs/tool-presentation.js +21 -0
  316. package/dist/cjs/server/adapters/nextjs/types.d.ts +229 -13
  317. package/dist/cjs/server/adapters/nextjs/with-ai-tool.d.ts +2 -2
  318. package/dist/cjs/server/core/adaptive-fast-path.d.ts +3 -0
  319. package/dist/cjs/server/core/adaptive-fast-path.js +188 -0
  320. package/dist/cjs/server/core/clarification-tool.d.ts +29 -0
  321. package/dist/cjs/server/core/clarification-tool.js +64 -0
  322. package/dist/cjs/server/core/generated-ui-tool.d.ts +31 -0
  323. package/dist/cjs/server/core/generated-ui-tool.js +89 -0
  324. package/dist/cjs/server/core/index.d.ts +49 -8
  325. package/dist/cjs/server/core/index.js +208 -17
  326. package/dist/cjs/server/core/local-guardrails.d.ts +6 -0
  327. package/dist/cjs/server/core/local-guardrails.js +70 -0
  328. package/dist/cjs/server/core/module-router.d.ts +3 -1
  329. package/dist/cjs/server/core/module-router.js +22 -2
  330. package/dist/cjs/server/core/plan-tool.d.ts +23 -0
  331. package/dist/cjs/server/core/plan-tool.js +35 -0
  332. package/dist/cjs/server/core/zod-compact.d.ts +2 -2
  333. package/dist/cjs/server/core/zod-compact.js +56 -7
  334. package/dist/cjs/server/index.d.ts +2 -4
  335. package/dist/cjs/server/index.js +4 -5
  336. package/dist/cjs/server/lancer/client.js +2 -1
  337. package/dist/cjs/server/local-pipeline.d.ts +14 -0
  338. package/dist/cjs/server/local-pipeline.js +154 -0
  339. package/dist/cjs/server/pii-shield/index.d.ts +1 -0
  340. package/dist/cjs/server/pii-shield/index.js +3 -1
  341. package/dist/cjs/server/pii-shield/regex-detector.d.ts +13 -0
  342. package/dist/cjs/server/pii-shield/regex-detector.js +111 -0
  343. package/dist/cjs/server/testing/guardrails.js +2 -66
  344. package/dist/cjs/server/testing/helpers.js +1 -62
  345. package/dist/cjs/server/testing/index.d.ts +1 -0
  346. package/dist/cjs/server/testing/index.js +3 -1
  347. package/dist/cjs/server/testing/registry-parity.d.ts +18 -0
  348. package/dist/cjs/server/testing/registry-parity.js +40 -0
  349. package/dist/cjs/server/testing/smoke.d.ts +2 -1
  350. package/dist/cjs/server/testing/smoke.js +7 -3
  351. package/dist/cjs/server/testing/types.d.ts +1 -1
  352. package/dist/cjs/server/testing/zod-introspect.d.ts +1 -1
  353. package/dist/cjs/server/testing/zod-introspect.js +178 -5
  354. package/dist/cjs/stt/index.d.ts +5 -0
  355. package/dist/cjs/stt/index.js +16 -0
  356. package/dist/cjs/sync/app-setup-client.d.ts +46 -0
  357. package/dist/cjs/sync/app-setup-client.js +140 -0
  358. package/dist/cjs/sync/capability-report.d.ts +41 -0
  359. package/dist/cjs/sync/capability-report.js +52 -0
  360. package/dist/cjs/sync/connection-lookup.d.ts +19 -0
  361. package/dist/cjs/sync/connection-lookup.js +58 -0
  362. package/dist/cjs/sync/control-plane-client.d.ts +69 -0
  363. package/dist/cjs/sync/control-plane-client.js +186 -0
  364. package/dist/cjs/sync/deployment-selector.d.ts +9 -0
  365. package/dist/cjs/sync/deployment-selector.js +29 -0
  366. package/dist/cjs/sync/fetch-sse-push.d.ts +6 -0
  367. package/dist/cjs/sync/fetch-sse-push.js +45 -0
  368. package/dist/cjs/sync/index.d.ts +26 -0
  369. package/dist/cjs/sync/index.js +43 -0
  370. package/dist/cjs/sync/jwks-provider.d.ts +14 -0
  371. package/dist/cjs/sync/jwks-provider.js +56 -0
  372. package/dist/cjs/sync/local-deployment-validator.d.ts +30 -0
  373. package/dist/cjs/sync/local-deployment-validator.js +62 -0
  374. package/dist/cjs/sync/managed-sync.d.ts +40 -0
  375. package/dist/cjs/sync/managed-sync.js +96 -0
  376. package/dist/cjs/sync/materialize-deployment.d.ts +7 -0
  377. package/dist/cjs/sync/materialize-deployment.js +65 -0
  378. package/dist/cjs/sync/runtime-connect-client.d.ts +23 -0
  379. package/dist/cjs/sync/runtime-connect-client.js +185 -0
  380. package/dist/cjs/sync/runtime-setup-client.d.ts +62 -0
  381. package/dist/cjs/sync/runtime-setup-client.js +157 -0
  382. package/dist/cjs/sync/signature-verifier.d.ts +39 -0
  383. package/dist/cjs/sync/signature-verifier.js +102 -0
  384. package/dist/cjs/sync/state-store.d.ts +24 -0
  385. package/dist/cjs/sync/state-store.js +51 -0
  386. package/dist/cjs/sync/sync-manager.d.ts +27 -0
  387. package/dist/cjs/sync/sync-manager.js +173 -0
  388. package/dist/cjs/types.d.ts +68 -16
  389. package/dist/cjs/types.js +30 -2
  390. package/dist/cli/bin.js +34 -23
  391. package/dist/cli/bin.js.map +1 -1
  392. package/dist/cli/commands/agent-setup.d.ts +27 -0
  393. package/dist/cli/commands/agent-setup.js +149 -0
  394. package/dist/cli/commands/agent-setup.js.map +1 -0
  395. package/dist/cli/commands/apply-setup-plan.d.ts +21 -0
  396. package/dist/cli/commands/apply-setup-plan.js +100 -0
  397. package/dist/cli/commands/apply-setup-plan.js.map +1 -0
  398. package/dist/cli/commands/atomic-artifact-write.d.ts +19 -0
  399. package/dist/cli/commands/atomic-artifact-write.js +106 -0
  400. package/dist/cli/commands/atomic-artifact-write.js.map +1 -0
  401. package/dist/cli/commands/ci-workflow.d.ts +48 -0
  402. package/dist/cli/commands/ci-workflow.js +209 -0
  403. package/dist/cli/commands/ci-workflow.js.map +1 -0
  404. package/dist/cli/commands/connect.d.ts +47 -0
  405. package/dist/cli/commands/connect.js +216 -0
  406. package/dist/cli/commands/connect.js.map +1 -0
  407. package/dist/cli/commands/connection-descriptor.d.ts +4 -0
  408. package/dist/cli/commands/connection-descriptor.js +47 -0
  409. package/dist/cli/commands/connection-descriptor.js.map +1 -0
  410. package/dist/cli/commands/connection-environment.d.ts +25 -0
  411. package/dist/cli/commands/connection-environment.js +151 -0
  412. package/dist/cli/commands/connection-environment.js.map +1 -0
  413. package/dist/cli/commands/current-setup-manifests.d.ts +7 -0
  414. package/dist/cli/commands/current-setup-manifests.js +16 -0
  415. package/dist/cli/commands/current-setup-manifests.js.map +1 -0
  416. package/dist/cli/commands/doctor-presentation.d.ts +5 -0
  417. package/dist/cli/commands/doctor-presentation.js +86 -0
  418. package/dist/cli/commands/doctor-presentation.js.map +1 -0
  419. package/dist/cli/commands/doctor.d.ts +27 -0
  420. package/dist/cli/commands/doctor.js +220 -0
  421. package/dist/cli/commands/doctor.js.map +1 -0
  422. package/dist/cli/commands/init-scaffold.d.ts +25 -0
  423. package/dist/cli/commands/init-scaffold.js +214 -0
  424. package/dist/cli/commands/init-scaffold.js.map +1 -0
  425. package/dist/cli/commands/install-skills.d.ts +26 -4
  426. package/dist/cli/commands/install-skills.js +165 -80
  427. package/dist/cli/commands/install-skills.js.map +1 -1
  428. package/dist/cli/commands/installed-skills-manifest.d.ts +87 -0
  429. package/dist/cli/commands/installed-skills-manifest.js +124 -0
  430. package/dist/cli/commands/installed-skills-manifest.js.map +1 -0
  431. package/dist/cli/commands/installer-parts.d.ts +31 -0
  432. package/dist/cli/commands/installer-parts.js +94 -0
  433. package/dist/cli/commands/installer-parts.js.map +1 -0
  434. package/dist/cli/commands/project-inspection.d.ts +35 -0
  435. package/dist/cli/commands/project-inspection.js +199 -0
  436. package/dist/cli/commands/project-inspection.js.map +1 -0
  437. package/dist/cli/commands/setup-plan.d.ts +65 -0
  438. package/dist/cli/commands/setup-plan.js +234 -0
  439. package/dist/cli/commands/setup-plan.js.map +1 -0
  440. package/dist/cli/commands/setup-profile.d.ts +28 -0
  441. package/dist/cli/commands/setup-profile.js +152 -0
  442. package/dist/cli/commands/setup-profile.js.map +1 -0
  443. package/dist/cli/commands/setup-wizard.d.ts +66 -0
  444. package/dist/cli/commands/setup-wizard.js +241 -0
  445. package/dist/cli/commands/setup-wizard.js.map +1 -0
  446. package/dist/cli/commands/sync.d.ts +58 -0
  447. package/dist/cli/commands/sync.js +233 -0
  448. package/dist/cli/commands/sync.js.map +1 -0
  449. package/dist/cli/commands/tools/args.d.ts +14 -0
  450. package/dist/cli/commands/tools/args.js +33 -0
  451. package/dist/cli/commands/tools/args.js.map +1 -0
  452. package/dist/cli/commands/tools/check.d.ts +7 -0
  453. package/dist/cli/commands/tools/check.js +35 -0
  454. package/dist/cli/commands/tools/check.js.map +1 -0
  455. package/dist/cli/commands/tools/describe.d.ts +12 -0
  456. package/dist/cli/commands/tools/describe.js +43 -0
  457. package/dist/cli/commands/tools/describe.js.map +1 -0
  458. package/dist/cli/commands/tools/enrich.d.ts +50 -0
  459. package/dist/cli/commands/tools/enrich.js +597 -0
  460. package/dist/cli/commands/tools/enrich.js.map +1 -0
  461. package/dist/cli/commands/tools/eval.d.ts +13 -0
  462. package/dist/cli/commands/tools/eval.js +49 -0
  463. package/dist/cli/commands/tools/eval.js.map +1 -0
  464. package/dist/cli/commands/tools/format.d.ts +42 -0
  465. package/dist/cli/commands/tools/format.js +155 -0
  466. package/dist/cli/commands/tools/format.js.map +1 -0
  467. package/dist/cli/commands/tools/index.d.ts +26 -0
  468. package/dist/cli/commands/tools/index.js +107 -0
  469. package/dist/cli/commands/tools/index.js.map +1 -0
  470. package/dist/cli/commands/tools/policy.d.ts +11 -0
  471. package/dist/cli/commands/tools/policy.js +355 -0
  472. package/dist/cli/commands/tools/policy.js.map +1 -0
  473. package/dist/cli/commands/tools/refresh.d.ts +6 -0
  474. package/dist/cli/commands/tools/refresh.js +87 -0
  475. package/dist/cli/commands/tools/refresh.js.map +1 -0
  476. package/dist/cli/commands/tools/resolve.d.ts +10 -0
  477. package/dist/cli/commands/tools/resolve.js +19 -0
  478. package/dist/cli/commands/tools/resolve.js.map +1 -0
  479. package/dist/cli/commands/tools/status.d.ts +11 -0
  480. package/dist/cli/commands/tools/status.js +76 -0
  481. package/dist/cli/commands/tools/status.js.map +1 -0
  482. package/dist/cli/commands/tools/verify.d.ts +13 -0
  483. package/dist/cli/commands/tools/verify.js +168 -0
  484. package/dist/cli/commands/tools/verify.js.map +1 -0
  485. package/dist/cli/commands/tools/watch.d.ts +27 -0
  486. package/dist/cli/commands/tools/watch.js +148 -0
  487. package/dist/cli/commands/tools/watch.js.map +1 -0
  488. package/dist/cli/commands/validate-build.d.ts +88 -0
  489. package/dist/cli/commands/validate-build.js +213 -0
  490. package/dist/cli/commands/validate-build.js.map +1 -0
  491. package/dist/cli/commands/workspace-sources.d.ts +27 -0
  492. package/dist/cli/commands/workspace-sources.js +159 -0
  493. package/dist/cli/commands/workspace-sources.js.map +1 -0
  494. package/dist/cli/environment-loading.d.ts +6 -0
  495. package/dist/cli/environment-loading.js +18 -0
  496. package/dist/cli/environment-loading.js.map +1 -0
  497. package/dist/cli/index.d.ts +14 -1
  498. package/dist/cli/index.js +558 -574
  499. package/dist/cli/index.js.map +1 -1
  500. package/dist/codegen/execution-inventory.d.ts +63 -0
  501. package/dist/codegen/execution-inventory.js +306 -0
  502. package/dist/codegen/execution-inventory.js.map +1 -0
  503. package/dist/codegen/index.d.ts +4 -13
  504. package/dist/codegen/index.js +4 -12
  505. package/dist/codegen/index.js.map +1 -1
  506. package/dist/codegen/inventory-generation.d.ts +104 -0
  507. package/dist/codegen/inventory-generation.js +119 -0
  508. package/dist/codegen/inventory-generation.js.map +1 -0
  509. package/dist/codegen/next-source-generation.d.ts +17 -0
  510. package/dist/codegen/next-source-generation.js +49 -0
  511. package/dist/codegen/next-source-generation.js.map +1 -0
  512. package/dist/codegen/openapi-document.d.ts +53 -0
  513. package/dist/codegen/openapi-document.js +120 -0
  514. package/dist/codegen/openapi-document.js.map +1 -0
  515. package/dist/codegen/route-exports.d.ts +13 -0
  516. package/dist/codegen/route-exports.js +117 -0
  517. package/dist/codegen/route-exports.js.map +1 -0
  518. package/dist/codegen/route-fingerprint.d.ts +2 -0
  519. package/dist/codegen/route-fingerprint.js +9 -0
  520. package/dist/codegen/route-fingerprint.js.map +1 -0
  521. package/dist/codegen/route-scanner.d.ts +57 -0
  522. package/dist/codegen/route-scanner.js +233 -0
  523. package/dist/codegen/route-scanner.js.map +1 -0
  524. package/dist/codegen/tools/agentic.d.ts +31 -0
  525. package/dist/codegen/tools/agentic.js +110 -0
  526. package/dist/codegen/tools/agentic.js.map +1 -0
  527. package/dist/codegen/tools/artifact.d.ts +139 -0
  528. package/dist/codegen/tools/artifact.js +199 -0
  529. package/dist/codegen/tools/artifact.js.map +1 -0
  530. package/dist/codegen/tools/canonical.d.ts +12 -0
  531. package/dist/codegen/tools/canonical.js +41 -0
  532. package/dist/codegen/tools/canonical.js.map +1 -0
  533. package/dist/codegen/tools/chat-interactions.d.ts +27 -0
  534. package/dist/codegen/tools/chat-interactions.js +377 -0
  535. package/dist/codegen/tools/chat-interactions.js.map +1 -0
  536. package/dist/codegen/tools/config.d.ts +116 -0
  537. package/dist/codegen/tools/config.js +172 -0
  538. package/dist/codegen/tools/config.js.map +1 -0
  539. package/dist/codegen/tools/contract-tiers.d.ts +64 -0
  540. package/dist/codegen/tools/contract-tiers.js +518 -0
  541. package/dist/codegen/tools/contract-tiers.js.map +1 -0
  542. package/dist/codegen/tools/emit-module.d.ts +13 -0
  543. package/dist/codegen/tools/emit-module.js +182 -0
  544. package/dist/codegen/tools/emit-module.js.map +1 -0
  545. package/dist/codegen/tools/evidence.d.ts +13 -0
  546. package/dist/codegen/tools/evidence.js +138 -0
  547. package/dist/codegen/tools/evidence.js.map +1 -0
  548. package/dist/codegen/tools/exclusions.d.ts +30 -0
  549. package/dist/codegen/tools/exclusions.js +95 -0
  550. package/dist/codegen/tools/exclusions.js.map +1 -0
  551. package/dist/codegen/tools/files.d.ts +195 -0
  552. package/dist/codegen/tools/files.js +119 -0
  553. package/dist/codegen/tools/files.js.map +1 -0
  554. package/dist/codegen/tools/findings.d.ts +7 -0
  555. package/dist/codegen/tools/findings.js +106 -0
  556. package/dist/codegen/tools/findings.js.map +1 -0
  557. package/dist/codegen/tools/handler-analysis.d.ts +49 -0
  558. package/dist/codegen/tools/handler-analysis.js +375 -0
  559. package/dist/codegen/tools/handler-analysis.js.map +1 -0
  560. package/dist/codegen/tools/handler-locator.d.ts +21 -0
  561. package/dist/codegen/tools/handler-locator.js +152 -0
  562. package/dist/codegen/tools/handler-locator.js.map +1 -0
  563. package/dist/codegen/tools/identity.d.ts +18 -0
  564. package/dist/codegen/tools/identity.js +100 -0
  565. package/dist/codegen/tools/identity.js.map +1 -0
  566. package/dist/codegen/tools/input-roles.d.ts +32 -0
  567. package/dist/codegen/tools/input-roles.js +283 -0
  568. package/dist/codegen/tools/input-roles.js.map +1 -0
  569. package/dist/codegen/tools/inputs.d.ts +33 -0
  570. package/dist/codegen/tools/inputs.js +101 -0
  571. package/dist/codegen/tools/inputs.js.map +1 -0
  572. package/dist/codegen/tools/interface-digest.d.ts +14 -0
  573. package/dist/codegen/tools/interface-digest.js +24 -0
  574. package/dist/codegen/tools/interface-digest.js.map +1 -0
  575. package/dist/codegen/tools/mcp-names.d.ts +23 -0
  576. package/dist/codegen/tools/mcp-names.js +59 -0
  577. package/dist/codegen/tools/mcp-names.js.map +1 -0
  578. package/dist/codegen/tools/mode.d.ts +7 -0
  579. package/dist/codegen/tools/mode.js +27 -0
  580. package/dist/codegen/tools/mode.js.map +1 -0
  581. package/dist/codegen/tools/output-inference.d.ts +6 -0
  582. package/dist/codegen/tools/output-inference.js +99 -0
  583. package/dist/codegen/tools/output-inference.js.map +1 -0
  584. package/dist/codegen/tools/pipeline.d.ts +85 -0
  585. package/dist/codegen/tools/pipeline.js +733 -0
  586. package/dist/codegen/tools/pipeline.js.map +1 -0
  587. package/dist/codegen/tools/probe-child.mjs +155 -0
  588. package/dist/codegen/tools/probe-loader.mjs +105 -0
  589. package/dist/codegen/tools/program.d.ts +16 -0
  590. package/dist/codegen/tools/program.js +80 -0
  591. package/dist/codegen/tools/program.js.map +1 -0
  592. package/dist/codegen/tools/prose.d.ts +42 -0
  593. package/dist/codegen/tools/prose.js +211 -0
  594. package/dist/codegen/tools/prose.js.map +1 -0
  595. package/dist/codegen/tools/resolutions.d.ts +117 -0
  596. package/dist/codegen/tools/resolutions.js +195 -0
  597. package/dist/codegen/tools/resolutions.js.map +1 -0
  598. package/dist/codegen/tools/routing-eval.d.ts +50 -0
  599. package/dist/codegen/tools/routing-eval.js +81 -0
  600. package/dist/codegen/tools/routing-eval.js.map +1 -0
  601. package/dist/codegen/tools/schema-probe.d.ts +62 -0
  602. package/dist/codegen/tools/schema-probe.js +209 -0
  603. package/dist/codegen/tools/schema-probe.js.map +1 -0
  604. package/dist/codegen/tools/semantics.d.ts +134 -0
  605. package/dist/codegen/tools/semantics.js +206 -0
  606. package/dist/codegen/tools/semantics.js.map +1 -0
  607. package/dist/codegen/tools/sources/app-files.d.ts +35 -0
  608. package/dist/codegen/tools/sources/app-files.js +109 -0
  609. package/dist/codegen/tools/sources/app-files.js.map +1 -0
  610. package/dist/codegen/tools/sources/fastapi-routes.py +177 -0
  611. package/dist/codegen/tools/sources/nest-decorators.d.ts +27 -0
  612. package/dist/codegen/tools/sources/nest-decorators.js +65 -0
  613. package/dist/codegen/tools/sources/nest-decorators.js.map +1 -0
  614. package/dist/codegen/tools/sources/nest-endpoints.d.ts +10 -0
  615. package/dist/codegen/tools/sources/nest-endpoints.js +522 -0
  616. package/dist/codegen/tools/sources/nest-endpoints.js.map +1 -0
  617. package/dist/codegen/tools/sources/next-endpoints.d.ts +5 -0
  618. package/dist/codegen/tools/sources/next-endpoints.js +389 -0
  619. package/dist/codegen/tools/sources/next-endpoints.js.map +1 -0
  620. package/dist/codegen/tools/sources/next-pages.d.ts +18 -0
  621. package/dist/codegen/tools/sources/next-pages.js +88 -0
  622. package/dist/codegen/tools/sources/next-pages.js.map +1 -0
  623. package/dist/codegen/tools/sources/openapi-endpoints.d.ts +17 -0
  624. package/dist/codegen/tools/sources/openapi-endpoints.js +395 -0
  625. package/dist/codegen/tools/sources/openapi-endpoints.js.map +1 -0
  626. package/dist/codegen/tools/sources/page-tree.d.ts +49 -0
  627. package/dist/codegen/tools/sources/page-tree.js +152 -0
  628. package/dist/codegen/tools/sources/page-tree.js.map +1 -0
  629. package/dist/codegen/tools/sources/react-actions.d.ts +12 -0
  630. package/dist/codegen/tools/sources/react-actions.js +341 -0
  631. package/dist/codegen/tools/sources/react-actions.js.map +1 -0
  632. package/dist/codegen/tools/sources/route-config.d.ts +49 -0
  633. package/dist/codegen/tools/sources/route-config.js +427 -0
  634. package/dist/codegen/tools/sources/route-config.js.map +1 -0
  635. package/dist/codegen/tools/sources/ui-controls.d.ts +41 -0
  636. package/dist/codegen/tools/sources/ui-controls.js +360 -0
  637. package/dist/codegen/tools/sources/ui-controls.js.map +1 -0
  638. package/dist/codegen/tools/sources/ui-tools.d.ts +79 -0
  639. package/dist/codegen/tools/sources/ui-tools.js +207 -0
  640. package/dist/codegen/tools/sources/ui-tools.js.map +1 -0
  641. package/dist/codegen/tools/sources/url-filters.d.ts +41 -0
  642. package/dist/codegen/tools/sources/url-filters.js +813 -0
  643. package/dist/codegen/tools/sources/url-filters.js.map +1 -0
  644. package/dist/codegen/tools/sources/vue-sfc.d.ts +22 -0
  645. package/dist/codegen/tools/sources/vue-sfc.js +65 -0
  646. package/dist/codegen/tools/sources/vue-sfc.js.map +1 -0
  647. package/dist/codegen/tools/state.d.ts +37 -0
  648. package/dist/codegen/tools/state.js +249 -0
  649. package/dist/codegen/tools/state.js.map +1 -0
  650. package/dist/codegen/tools/types.d.ts +137 -0
  651. package/dist/codegen/tools/types.js +2 -0
  652. package/dist/codegen/tools/types.js.map +1 -0
  653. package/dist/codegen/tools/worklist.d.ts +157 -0
  654. package/dist/codegen/tools/worklist.js +406 -0
  655. package/dist/codegen/tools/worklist.js.map +1 -0
  656. package/dist/contracts/app-setup.d.ts +346 -0
  657. package/dist/contracts/app-setup.js +205 -0
  658. package/dist/contracts/app-setup.js.map +1 -0
  659. package/dist/contracts/chat-command.d.ts +65 -0
  660. package/dist/contracts/chat-command.js +121 -0
  661. package/dist/contracts/chat-command.js.map +1 -0
  662. package/dist/contracts/chat-interactions.d.ts +126 -0
  663. package/dist/contracts/chat-interactions.js +431 -0
  664. package/dist/contracts/chat-interactions.js.map +1 -0
  665. package/dist/contracts/clarification.d.ts +53 -0
  666. package/dist/contracts/clarification.js +86 -0
  667. package/dist/contracts/clarification.js.map +1 -0
  668. package/dist/contracts/content-boundary.d.ts +3 -0
  669. package/dist/contracts/content-boundary.js +91 -0
  670. package/dist/contracts/content-boundary.js.map +1 -0
  671. package/dist/contracts/events.d.ts +273 -0
  672. package/dist/contracts/events.js +227 -0
  673. package/dist/contracts/events.js.map +1 -0
  674. package/dist/contracts/index.d.ts +18 -0
  675. package/dist/contracts/index.js +10 -0
  676. package/dist/contracts/index.js.map +1 -0
  677. package/dist/contracts/plan.d.ts +20 -0
  678. package/dist/contracts/plan.js +35 -0
  679. package/dist/contracts/plan.js.map +1 -0
  680. package/dist/contracts/platform-connection.d.ts +44 -0
  681. package/dist/contracts/platform-connection.js +64 -0
  682. package/dist/contracts/platform-connection.js.map +1 -0
  683. package/dist/contracts/platform-prompt-revision.d.ts +27 -0
  684. package/dist/contracts/platform-prompt-revision.js +44 -0
  685. package/dist/contracts/platform-prompt-revision.js.map +1 -0
  686. package/dist/contracts/prompt-bundle.d.ts +46 -0
  687. package/dist/contracts/prompt-bundle.js +70 -0
  688. package/dist/contracts/prompt-bundle.js.map +1 -0
  689. package/dist/contracts/revisions.d.ts +716 -0
  690. package/dist/contracts/revisions.js +298 -0
  691. package/dist/contracts/revisions.js.map +1 -0
  692. package/dist/contracts/runtime.d.ts +55 -0
  693. package/dist/contracts/runtime.js +65 -0
  694. package/dist/contracts/runtime.js.map +1 -0
  695. package/dist/contracts/semantic-change.d.ts +27 -0
  696. package/dist/contracts/semantic-change.js +101 -0
  697. package/dist/contracts/semantic-change.js.map +1 -0
  698. package/dist/contracts/tool-exclude-pattern.d.ts +12 -0
  699. package/dist/contracts/tool-exclude-pattern.js +27 -0
  700. package/dist/contracts/tool-exclude-pattern.js.map +1 -0
  701. package/dist/contracts/tool-policy-entry.d.ts +107 -0
  702. package/dist/contracts/tool-policy-entry.js +40 -0
  703. package/dist/contracts/tool-policy-entry.js.map +1 -0
  704. package/dist/contracts/tool-policy.d.ts +198 -0
  705. package/dist/contracts/tool-policy.js +485 -0
  706. package/dist/contracts/tool-policy.js.map +1 -0
  707. package/dist/contracts/url.d.ts +2 -0
  708. package/dist/contracts/url.js +8 -0
  709. package/dist/contracts/url.js.map +1 -0
  710. package/dist/diagnostics/foundation-diagnostic.d.ts +34 -0
  711. package/dist/diagnostics/foundation-diagnostic.js +47 -0
  712. package/dist/diagnostics/foundation-diagnostic.js.map +1 -0
  713. package/dist/diagnostics/index.d.ts +2 -0
  714. package/dist/diagnostics/index.js +2 -0
  715. package/dist/diagnostics/index.js.map +1 -0
  716. package/dist/embed/chat-styles.generated.d.ts +1 -0
  717. package/dist/embed/chat-styles.generated.js +4 -0
  718. package/dist/embed/chat-styles.generated.js.map +1 -0
  719. package/dist/embed/glirastes-chat-element.d.ts +67 -0
  720. package/dist/embed/glirastes-chat-element.js +278 -0
  721. package/dist/embed/glirastes-chat-element.js.map +1 -0
  722. package/dist/embed/index.d.ts +4 -0
  723. package/dist/embed/index.js +11 -0
  724. package/dist/embed/index.js.map +1 -0
  725. package/dist/embed/theme.d.ts +10 -0
  726. package/dist/embed/theme.js +41 -0
  727. package/dist/embed/theme.js.map +1 -0
  728. package/dist/index.d.ts +1 -0
  729. package/dist/index.js +1 -0
  730. package/dist/index.js.map +1 -1
  731. package/dist/react/assistant/assistant-layout.d.ts +55 -0
  732. package/dist/react/assistant/assistant-layout.js +99 -0
  733. package/dist/react/assistant/assistant-layout.js.map +1 -0
  734. package/dist/react/assistant/assistant-shell.d.ts +132 -0
  735. package/dist/react/assistant/assistant-shell.js +262 -0
  736. package/dist/react/assistant/assistant-shell.js.map +1 -0
  737. package/dist/react/assistant/assistant-shortcut-list.d.ts +24 -0
  738. package/dist/react/assistant/assistant-shortcut-list.js +32 -0
  739. package/dist/react/assistant/assistant-shortcut-list.js.map +1 -0
  740. package/dist/react/assistant/assistant-workspace.d.ts +31 -0
  741. package/dist/react/assistant/assistant-workspace.js +31 -0
  742. package/dist/react/assistant/assistant-workspace.js.map +1 -0
  743. package/dist/react/completions/completion-search.d.ts +21 -0
  744. package/dist/react/completions/completion-search.js +109 -0
  745. package/dist/react/completions/completion-search.js.map +1 -0
  746. package/dist/react/completions/ui-tool-command-provider.d.ts +15 -0
  747. package/dist/react/completions/ui-tool-command-provider.js +82 -0
  748. package/dist/react/completions/ui-tool-command-provider.js.map +1 -0
  749. package/dist/react/components/activity-log.d.ts +17 -0
  750. package/dist/react/components/activity-log.js +68 -0
  751. package/dist/react/components/activity-log.js.map +1 -0
  752. package/dist/react/components/ai-chat-panel.js +13 -6
  753. package/dist/react/components/ai-chat-panel.js.map +1 -1
  754. package/dist/react/components/ai-trigger-button.d.ts +1 -1
  755. package/dist/react/components/ai-trigger-button.js +13 -68
  756. package/dist/react/components/ai-trigger-button.js.map +1 -1
  757. package/dist/react/components/approval-card.js +20 -1
  758. package/dist/react/components/approval-card.js.map +1 -1
  759. package/dist/react/components/chat-input.js +7 -5
  760. package/dist/react/components/chat-input.js.map +1 -1
  761. package/dist/react/components/chat-window-visibility.d.ts +3 -0
  762. package/dist/react/components/chat-window-visibility.js +5 -0
  763. package/dist/react/components/chat-window-visibility.js.map +1 -0
  764. package/dist/react/components/chat-window.d.ts +1 -1
  765. package/dist/react/components/chat-window.js +124 -57
  766. package/dist/react/components/chat-window.js.map +1 -1
  767. package/dist/react/components/clarification-card.d.ts +10 -0
  768. package/dist/react/components/clarification-card.js +33 -0
  769. package/dist/react/components/clarification-card.js.map +1 -0
  770. package/dist/react/components/command-arguments-form.d.ts +10 -0
  771. package/dist/react/components/command-arguments-form.js +151 -0
  772. package/dist/react/components/command-arguments-form.js.map +1 -0
  773. package/dist/react/components/confirm-dialog.js +1 -1
  774. package/dist/react/components/confirm-dialog.js.map +1 -1
  775. package/dist/react/components/floating-chat-ui.d.ts +3 -3
  776. package/dist/react/components/floating-chat-ui.js +31 -5
  777. package/dist/react/components/floating-chat-ui.js.map +1 -1
  778. package/dist/react/components/mention-input.d.ts +5 -4
  779. package/dist/react/components/mention-input.js +65 -8
  780. package/dist/react/components/mention-input.js.map +1 -1
  781. package/dist/react/components/message-bubble.js +90 -14
  782. package/dist/react/components/message-bubble.js.map +1 -1
  783. package/dist/react/components/plan-checklist.d.ts +14 -0
  784. package/dist/react/components/plan-checklist.js +18 -0
  785. package/dist/react/components/plan-checklist.js.map +1 -0
  786. package/dist/react/components/recording-bar.js +45 -59
  787. package/dist/react/components/recording-bar.js.map +1 -1
  788. package/dist/react/components/rich-mention-input.js +199 -47
  789. package/dist/react/components/rich-mention-input.js.map +1 -1
  790. package/dist/react/components/session-switcher.d.ts +3 -1
  791. package/dist/react/components/session-switcher.js +27 -12
  792. package/dist/react/components/session-switcher.js.map +1 -1
  793. package/dist/react/components/status-icon.d.ts +8 -0
  794. package/dist/react/components/status-icon.js +9 -0
  795. package/dist/react/components/status-icon.js.map +1 -0
  796. package/dist/react/components/stream-waveform.d.ts +4 -0
  797. package/dist/react/components/stream-waveform.js +47 -0
  798. package/dist/react/components/stream-waveform.js.map +1 -0
  799. package/dist/react/components/voice-input-addon.d.ts +16 -1
  800. package/dist/react/components/voice-input-addon.js +256 -19
  801. package/dist/react/components/voice-input-addon.js.map +1 -1
  802. package/dist/react/components/voice-input-button.js +1 -1
  803. package/dist/react/components/voice-input-button.js.map +1 -1
  804. package/dist/react/hooks/use-chat-shortcuts.d.ts +33 -0
  805. package/dist/react/hooks/use-chat-shortcuts.js +133 -0
  806. package/dist/react/hooks/use-chat-shortcuts.js.map +1 -0
  807. package/dist/react/hooks/use-deepgram-transcription.d.ts +4 -0
  808. package/dist/react/hooks/use-deepgram-transcription.js +32 -322
  809. package/dist/react/hooks/use-deepgram-transcription.js.map +1 -1
  810. package/dist/react/hooks/use-drag-resize-panel.d.ts +1 -0
  811. package/dist/react/hooks/use-drag-resize-panel.js +246 -121
  812. package/dist/react/hooks/use-drag-resize-panel.js.map +1 -1
  813. package/dist/react/hooks/use-floating-panel.d.ts +57 -0
  814. package/dist/react/hooks/use-floating-panel.js +215 -0
  815. package/dist/react/hooks/use-floating-panel.js.map +1 -0
  816. package/dist/react/hooks/use-keyboard-shortcut.js +2 -1
  817. package/dist/react/hooks/use-keyboard-shortcut.js.map +1 -1
  818. package/dist/react/hooks/use-push-to-talk-hotkey.d.ts +24 -0
  819. package/dist/react/hooks/use-push-to-talk-hotkey.js +112 -0
  820. package/dist/react/hooks/use-push-to-talk-hotkey.js.map +1 -0
  821. package/dist/react/hooks/use-sidebar-resize.d.ts +19 -0
  822. package/dist/react/hooks/use-sidebar-resize.js +107 -0
  823. package/dist/react/hooks/use-sidebar-resize.js.map +1 -0
  824. package/dist/react/index.d.ts +30 -1
  825. package/dist/react/index.js +31 -0
  826. package/dist/react/index.js.map +1 -1
  827. package/dist/react/interactions/definitions.d.ts +67 -0
  828. package/dist/react/interactions/definitions.js +78 -0
  829. package/dist/react/interactions/definitions.js.map +1 -0
  830. package/dist/react/interactions/registry.d.ts +74 -0
  831. package/dist/react/interactions/registry.js +248 -0
  832. package/dist/react/interactions/registry.js.map +1 -0
  833. package/dist/react/interactions/use-chat-interactions-data.d.ts +15 -0
  834. package/dist/react/interactions/use-chat-interactions-data.js +41 -0
  835. package/dist/react/interactions/use-chat-interactions-data.js.map +1 -0
  836. package/dist/react/locale-de.d.ts +3 -0
  837. package/dist/react/locale-de.js +67 -0
  838. package/dist/react/locale-de.js.map +1 -0
  839. package/dist/react/provider/ai-chat-provider.d.ts +1 -1
  840. package/dist/react/provider/ai-chat-provider.js +411 -107
  841. package/dist/react/provider/ai-chat-provider.js.map +1 -1
  842. package/dist/react/provider/chat-context.d.ts +52 -1
  843. package/dist/react/provider/chat-context.js.map +1 -1
  844. package/dist/react/stt/controller.d.ts +60 -0
  845. package/dist/react/stt/controller.js +265 -0
  846. package/dist/react/stt/controller.js.map +1 -0
  847. package/dist/react/stt/deepgram.d.ts +30 -0
  848. package/dist/react/stt/deepgram.js +199 -0
  849. package/dist/react/stt/deepgram.js.map +1 -0
  850. package/dist/react/stt/recorded.d.ts +29 -0
  851. package/dist/react/stt/recorded.js +111 -0
  852. package/dist/react/stt/recorded.js.map +1 -0
  853. package/dist/react/stt/segments.d.ts +18 -0
  854. package/dist/react/stt/segments.js +29 -0
  855. package/dist/react/stt/segments.js.map +1 -0
  856. package/dist/react/stt/use-stt.d.ts +17 -0
  857. package/dist/react/stt/use-stt.js +39 -0
  858. package/dist/react/stt/use-stt.js.map +1 -0
  859. package/dist/react/stt/waveform.d.ts +5 -0
  860. package/dist/react/stt/waveform.js +29 -0
  861. package/dist/react/stt/waveform.js.map +1 -0
  862. package/dist/react/styles.css +784 -126
  863. package/dist/react/tool-renderers/registry.d.ts +31 -0
  864. package/dist/react/tool-renderers/registry.js +47 -0
  865. package/dist/react/tool-renderers/registry.js.map +1 -0
  866. package/dist/react/tool-renderers/renderer-boundary.d.ts +18 -0
  867. package/dist/react/tool-renderers/renderer-boundary.js +12 -0
  868. package/dist/react/tool-renderers/renderer-boundary.js.map +1 -0
  869. package/dist/react/transports/vercel/vercel-ai-chat.d.ts +1 -1
  870. package/dist/react/transports/vercel/vercel-ai-chat.js +2 -2
  871. package/dist/react/transports/vercel/vercel-ai-chat.js.map +1 -1
  872. package/dist/react/transports/vercel.d.ts +6 -0
  873. package/dist/react/transports/vercel.js +11 -6
  874. package/dist/react/transports/vercel.js.map +1 -1
  875. package/dist/react/types.d.ts +269 -6
  876. package/dist/react/ui.d.ts +18 -17
  877. package/dist/react/ui.js +46 -43
  878. package/dist/react/ui.js.map +1 -1
  879. package/dist/react/unstyled.d.ts +7 -0
  880. package/dist/react/unstyled.js +8 -0
  881. package/dist/react/unstyled.js.map +1 -0
  882. package/dist/react/utils/activity.d.ts +16 -0
  883. package/dist/react/utils/activity.js +77 -0
  884. package/dist/react/utils/activity.js.map +1 -0
  885. package/dist/react/utils/clarification.d.ts +31 -0
  886. package/dist/react/utils/clarification.js +99 -0
  887. package/dist/react/utils/clarification.js.map +1 -0
  888. package/dist/react/utils/create-approval-description.d.ts +6 -0
  889. package/dist/react/utils/create-approval-description.js +42 -7
  890. package/dist/react/utils/create-approval-description.js.map +1 -1
  891. package/dist/react/utils/create-tool-result-handler.d.ts +1 -1
  892. package/dist/react/utils/create-tool-result-handler.js +1 -1
  893. package/dist/react/utils/create-tool-result-handler.js.map +1 -1
  894. package/dist/react/utils/entity-names.d.ts +6 -0
  895. package/dist/react/utils/entity-names.js +55 -0
  896. package/dist/react/utils/entity-names.js.map +1 -0
  897. package/dist/react/utils/followup-suggestions.d.ts +11 -0
  898. package/dist/react/utils/followup-suggestions.js +37 -0
  899. package/dist/react/utils/followup-suggestions.js.map +1 -0
  900. package/dist/react/utils/local-session-store.d.ts +30 -0
  901. package/dist/react/utils/local-session-store.js +163 -0
  902. package/dist/react/utils/local-session-store.js.map +1 -0
  903. package/dist/react/utils/mention-markup.d.ts +44 -1
  904. package/dist/react/utils/mention-markup.js +140 -10
  905. package/dist/react/utils/mention-markup.js.map +1 -1
  906. package/dist/react/utils/tool-presentation.d.ts +23 -0
  907. package/dist/react/utils/tool-presentation.js +41 -0
  908. package/dist/react/utils/tool-presentation.js.map +1 -0
  909. package/dist/react/utils/tool-result-config.d.ts +10 -0
  910. package/dist/react/utils/tool-result-config.js +12 -0
  911. package/dist/react/utils/tool-result-config.js.map +1 -0
  912. package/dist/runtime/ai-sdk/engine.d.ts +66 -0
  913. package/dist/runtime/ai-sdk/engine.js +188 -0
  914. package/dist/runtime/ai-sdk/engine.js.map +1 -0
  915. package/dist/runtime/ai-sdk/index.d.ts +1 -0
  916. package/dist/runtime/ai-sdk/index.js +2 -0
  917. package/dist/runtime/ai-sdk/index.js.map +1 -0
  918. package/dist/runtime/authorization.d.ts +16 -0
  919. package/dist/runtime/authorization.js +33 -0
  920. package/dist/runtime/authorization.js.map +1 -0
  921. package/dist/runtime/budget.d.ts +39 -0
  922. package/dist/runtime/budget.js +97 -0
  923. package/dist/runtime/budget.js.map +1 -0
  924. package/dist/runtime/contract-bindings.d.ts +52 -0
  925. package/dist/runtime/contract-bindings.js +92 -0
  926. package/dist/runtime/contract-bindings.js.map +1 -0
  927. package/dist/runtime/engine.d.ts +52 -0
  928. package/dist/runtime/engine.js +2 -0
  929. package/dist/runtime/engine.js.map +1 -0
  930. package/dist/runtime/fingerprint.d.ts +6 -0
  931. package/dist/runtime/fingerprint.js +29 -0
  932. package/dist/runtime/fingerprint.js.map +1 -0
  933. package/dist/runtime/glirastes.d.ts +113 -0
  934. package/dist/runtime/glirastes.js +287 -0
  935. package/dist/runtime/glirastes.js.map +1 -0
  936. package/dist/runtime/index.d.ts +24 -0
  937. package/dist/runtime/index.js +24 -0
  938. package/dist/runtime/index.js.map +1 -0
  939. package/dist/runtime/json-schema.d.ts +13 -0
  940. package/dist/runtime/json-schema.js +41 -0
  941. package/dist/runtime/json-schema.js.map +1 -0
  942. package/dist/runtime/local-limits.d.ts +6 -0
  943. package/dist/runtime/local-limits.js +23 -0
  944. package/dist/runtime/local-limits.js.map +1 -0
  945. package/dist/runtime/local-runtime-source.d.ts +76 -0
  946. package/dist/runtime/local-runtime-source.js +0 -0
  947. package/dist/runtime/local-runtime-source.js.map +1 -0
  948. package/dist/runtime/local-signer.d.ts +17 -0
  949. package/dist/runtime/local-signer.js +32 -0
  950. package/dist/runtime/local-signer.js.map +1 -0
  951. package/dist/runtime/local-tool-bindings.d.ts +57 -0
  952. package/dist/runtime/local-tool-bindings.js +190 -0
  953. package/dist/runtime/local-tool-bindings.js.map +1 -0
  954. package/dist/runtime/managed-turn.d.ts +29 -0
  955. package/dist/runtime/managed-turn.js +97 -0
  956. package/dist/runtime/managed-turn.js.map +1 -0
  957. package/dist/runtime/metrics/cost.d.ts +64 -0
  958. package/dist/runtime/metrics/cost.js +92 -0
  959. package/dist/runtime/metrics/cost.js.map +1 -0
  960. package/dist/runtime/metrics/sink.d.ts +56 -0
  961. package/dist/runtime/metrics/sink.js +214 -0
  962. package/dist/runtime/metrics/sink.js.map +1 -0
  963. package/dist/runtime/metrics/turn-recorder.d.ts +62 -0
  964. package/dist/runtime/metrics/turn-recorder.js +170 -0
  965. package/dist/runtime/metrics/turn-recorder.js.map +1 -0
  966. package/dist/runtime/offline-execution-lease.d.ts +27 -0
  967. package/dist/runtime/offline-execution-lease.js +46 -0
  968. package/dist/runtime/offline-execution-lease.js.map +1 -0
  969. package/dist/runtime/policy-overlay.d.ts +86 -0
  970. package/dist/runtime/policy-overlay.js +117 -0
  971. package/dist/runtime/policy-overlay.js.map +1 -0
  972. package/dist/runtime/postgres-store.d.ts +111 -0
  973. package/dist/runtime/postgres-store.js +363 -0
  974. package/dist/runtime/postgres-store.js.map +1 -0
  975. package/dist/runtime/prompt-bundle-store.d.ts +58 -0
  976. package/dist/runtime/prompt-bundle-store.js +120 -0
  977. package/dist/runtime/prompt-bundle-store.js.map +1 -0
  978. package/dist/runtime/runtime-mode.d.ts +23 -0
  979. package/dist/runtime/runtime-mode.js +42 -0
  980. package/dist/runtime/runtime-mode.js.map +1 -0
  981. package/dist/runtime/sdk-version.d.ts +2 -0
  982. package/dist/runtime/sdk-version.js +3 -0
  983. package/dist/runtime/sdk-version.js.map +1 -0
  984. package/dist/runtime/tool-discovery.d.ts +51 -0
  985. package/dist/runtime/tool-discovery.js +138 -0
  986. package/dist/runtime/tool-discovery.js.map +1 -0
  987. package/dist/runtime/tool-search.d.ts +31 -0
  988. package/dist/runtime/tool-search.js +145 -0
  989. package/dist/runtime/tool-search.js.map +1 -0
  990. package/dist/runtime/turn-snapshot.d.ts +44 -0
  991. package/dist/runtime/turn-snapshot.js +108 -0
  992. package/dist/runtime/turn-snapshot.js.map +1 -0
  993. package/dist/server/adapters/nextjs/approval-binding.d.ts +334 -0
  994. package/dist/server/adapters/nextjs/approval-binding.js +707 -0
  995. package/dist/server/adapters/nextjs/approval-binding.js.map +1 -0
  996. package/dist/server/adapters/nextjs/chat-interactions-handler.d.ts +26 -0
  997. package/dist/server/adapters/nextjs/chat-interactions-handler.js +65 -0
  998. package/dist/server/adapters/nextjs/chat-interactions-handler.js.map +1 -0
  999. package/dist/server/adapters/nextjs/clarification-resume.d.ts +21 -0
  1000. package/dist/server/adapters/nextjs/clarification-resume.js +109 -0
  1001. package/dist/server/adapters/nextjs/clarification-resume.js.map +1 -0
  1002. package/dist/server/adapters/nextjs/context-helpers.d.ts +49 -8
  1003. package/dist/server/adapters/nextjs/context-helpers.js +75 -21
  1004. package/dist/server/adapters/nextjs/context-helpers.js.map +1 -1
  1005. package/dist/server/adapters/nextjs/create-ai-chat-handler.d.ts +59 -1
  1006. package/dist/server/adapters/nextjs/create-ai-chat-handler.js +647 -95
  1007. package/dist/server/adapters/nextjs/create-ai-chat-handler.js.map +1 -1
  1008. package/dist/server/adapters/nextjs/direct-command.d.ts +75 -0
  1009. package/dist/server/adapters/nextjs/direct-command.js +316 -0
  1010. package/dist/server/adapters/nextjs/direct-command.js.map +1 -0
  1011. package/dist/server/adapters/nextjs/index.d.ts +10 -2
  1012. package/dist/server/adapters/nextjs/index.js +7 -0
  1013. package/dist/server/adapters/nextjs/index.js.map +1 -1
  1014. package/dist/server/adapters/nextjs/prepare-model-messages.d.ts +2 -1
  1015. package/dist/server/adapters/nextjs/prepare-model-messages.js +7 -15
  1016. package/dist/server/adapters/nextjs/prepare-model-messages.js.map +1 -1
  1017. package/dist/server/adapters/nextjs/recording-transcription-handler.d.ts +31 -0
  1018. package/dist/server/adapters/nextjs/recording-transcription-handler.js +55 -0
  1019. package/dist/server/adapters/nextjs/recording-transcription-handler.js.map +1 -0
  1020. package/dist/server/adapters/nextjs/request-guards.d.ts +41 -0
  1021. package/dist/server/adapters/nextjs/request-guards.js +108 -0
  1022. package/dist/server/adapters/nextjs/request-guards.js.map +1 -0
  1023. package/dist/server/adapters/nextjs/sanitize-model-messages.js +12 -6
  1024. package/dist/server/adapters/nextjs/sanitize-model-messages.js.map +1 -1
  1025. package/dist/server/adapters/nextjs/scope-pipeline-tools.d.ts +17 -0
  1026. package/dist/server/adapters/nextjs/scope-pipeline-tools.js +26 -0
  1027. package/dist/server/adapters/nextjs/scope-pipeline-tools.js.map +1 -0
  1028. package/dist/server/adapters/nextjs/tool-discovery.d.ts +39 -0
  1029. package/dist/server/adapters/nextjs/tool-discovery.js +47 -0
  1030. package/dist/server/adapters/nextjs/tool-discovery.js.map +1 -0
  1031. package/dist/server/adapters/nextjs/tool-presentation.d.ts +26 -0
  1032. package/dist/server/adapters/nextjs/tool-presentation.js +19 -0
  1033. package/dist/server/adapters/nextjs/tool-presentation.js.map +1 -0
  1034. package/dist/server/adapters/nextjs/types.d.ts +229 -13
  1035. package/dist/server/adapters/nextjs/with-ai-tool.d.ts +2 -2
  1036. package/dist/server/core/adaptive-fast-path.d.ts +3 -0
  1037. package/dist/server/core/adaptive-fast-path.js +185 -0
  1038. package/dist/server/core/adaptive-fast-path.js.map +1 -0
  1039. package/dist/server/core/clarification-tool.d.ts +29 -0
  1040. package/dist/server/core/clarification-tool.js +61 -0
  1041. package/dist/server/core/clarification-tool.js.map +1 -0
  1042. package/dist/server/core/generated-ui-tool.d.ts +31 -0
  1043. package/dist/server/core/generated-ui-tool.js +87 -0
  1044. package/dist/server/core/generated-ui-tool.js.map +1 -0
  1045. package/dist/server/core/index.d.ts +49 -8
  1046. package/dist/server/core/index.js +198 -16
  1047. package/dist/server/core/index.js.map +1 -1
  1048. package/dist/server/core/local-guardrails.d.ts +6 -0
  1049. package/dist/server/core/local-guardrails.js +68 -0
  1050. package/dist/server/core/local-guardrails.js.map +1 -0
  1051. package/dist/server/core/module-router.d.ts +3 -1
  1052. package/dist/server/core/module-router.js +22 -2
  1053. package/dist/server/core/module-router.js.map +1 -1
  1054. package/dist/server/core/plan-tool.d.ts +23 -0
  1055. package/dist/server/core/plan-tool.js +32 -0
  1056. package/dist/server/core/plan-tool.js.map +1 -0
  1057. package/dist/server/core/zod-compact.d.ts +2 -2
  1058. package/dist/server/core/zod-compact.js +56 -7
  1059. package/dist/server/core/zod-compact.js.map +1 -1
  1060. package/dist/server/index.d.ts +2 -4
  1061. package/dist/server/index.js +2 -4
  1062. package/dist/server/index.js.map +1 -1
  1063. package/dist/server/lancer/client.js +2 -1
  1064. package/dist/server/lancer/client.js.map +1 -1
  1065. package/dist/server/local-pipeline.d.ts +14 -0
  1066. package/dist/server/local-pipeline.js +152 -0
  1067. package/dist/server/local-pipeline.js.map +1 -0
  1068. package/dist/server/pii-shield/index.d.ts +1 -0
  1069. package/dist/server/pii-shield/index.js +1 -0
  1070. package/dist/server/pii-shield/index.js.map +1 -1
  1071. package/dist/server/pii-shield/regex-detector.d.ts +13 -0
  1072. package/dist/server/pii-shield/regex-detector.js +109 -0
  1073. package/dist/server/pii-shield/regex-detector.js.map +1 -0
  1074. package/dist/server/testing/guardrails.js +1 -65
  1075. package/dist/server/testing/guardrails.js.map +1 -1
  1076. package/dist/server/testing/helpers.js +1 -62
  1077. package/dist/server/testing/helpers.js.map +1 -1
  1078. package/dist/server/testing/index.d.ts +1 -0
  1079. package/dist/server/testing/index.js +1 -0
  1080. package/dist/server/testing/index.js.map +1 -1
  1081. package/dist/server/testing/registry-parity.d.ts +18 -0
  1082. package/dist/server/testing/registry-parity.js +38 -0
  1083. package/dist/server/testing/registry-parity.js.map +1 -0
  1084. package/dist/server/testing/smoke.d.ts +2 -1
  1085. package/dist/server/testing/smoke.js +5 -3
  1086. package/dist/server/testing/smoke.js.map +1 -1
  1087. package/dist/server/testing/types.d.ts +1 -1
  1088. package/dist/server/testing/zod-introspect.d.ts +1 -1
  1089. package/dist/server/testing/zod-introspect.js +178 -5
  1090. package/dist/server/testing/zod-introspect.js.map +1 -1
  1091. package/dist/stt/index.d.ts +5 -0
  1092. package/dist/stt/index.js +6 -0
  1093. package/dist/stt/index.js.map +1 -0
  1094. package/dist/sync/app-setup-client.d.ts +46 -0
  1095. package/dist/sync/app-setup-client.js +137 -0
  1096. package/dist/sync/app-setup-client.js.map +1 -0
  1097. package/dist/sync/capability-report.d.ts +41 -0
  1098. package/dist/sync/capability-report.js +48 -0
  1099. package/dist/sync/capability-report.js.map +1 -0
  1100. package/dist/sync/connection-lookup.d.ts +19 -0
  1101. package/dist/sync/connection-lookup.js +56 -0
  1102. package/dist/sync/connection-lookup.js.map +1 -0
  1103. package/dist/sync/control-plane-client.d.ts +69 -0
  1104. package/dist/sync/control-plane-client.js +182 -0
  1105. package/dist/sync/control-plane-client.js.map +1 -0
  1106. package/dist/sync/deployment-selector.d.ts +9 -0
  1107. package/dist/sync/deployment-selector.js +26 -0
  1108. package/dist/sync/deployment-selector.js.map +1 -0
  1109. package/dist/sync/fetch-sse-push.d.ts +6 -0
  1110. package/dist/sync/fetch-sse-push.js +42 -0
  1111. package/dist/sync/fetch-sse-push.js.map +1 -0
  1112. package/dist/sync/index.d.ts +26 -0
  1113. package/dist/sync/index.js +17 -0
  1114. package/dist/sync/index.js.map +1 -0
  1115. package/dist/sync/jwks-provider.d.ts +14 -0
  1116. package/dist/sync/jwks-provider.js +53 -0
  1117. package/dist/sync/jwks-provider.js.map +1 -0
  1118. package/dist/sync/local-deployment-validator.d.ts +30 -0
  1119. package/dist/sync/local-deployment-validator.js +60 -0
  1120. package/dist/sync/local-deployment-validator.js.map +1 -0
  1121. package/dist/sync/managed-sync.d.ts +40 -0
  1122. package/dist/sync/managed-sync.js +94 -0
  1123. package/dist/sync/managed-sync.js.map +1 -0
  1124. package/dist/sync/materialize-deployment.d.ts +7 -0
  1125. package/dist/sync/materialize-deployment.js +63 -0
  1126. package/dist/sync/materialize-deployment.js.map +1 -0
  1127. package/dist/sync/runtime-connect-client.d.ts +23 -0
  1128. package/dist/sync/runtime-connect-client.js +182 -0
  1129. package/dist/sync/runtime-connect-client.js.map +1 -0
  1130. package/dist/sync/runtime-setup-client.d.ts +62 -0
  1131. package/dist/sync/runtime-setup-client.js +153 -0
  1132. package/dist/sync/runtime-setup-client.js.map +1 -0
  1133. package/dist/sync/signature-verifier.d.ts +39 -0
  1134. package/dist/sync/signature-verifier.js +97 -0
  1135. package/dist/sync/signature-verifier.js.map +1 -0
  1136. package/dist/sync/state-store.d.ts +24 -0
  1137. package/dist/sync/state-store.js +47 -0
  1138. package/dist/sync/state-store.js.map +1 -0
  1139. package/dist/sync/sync-manager.d.ts +27 -0
  1140. package/dist/sync/sync-manager.js +170 -0
  1141. package/dist/sync/sync-manager.js.map +1 -0
  1142. package/dist/types.d.ts +68 -16
  1143. package/dist/types.js +30 -2
  1144. package/dist/types.js.map +1 -1
  1145. package/embed/package.json +5 -0
  1146. package/package.json +187 -46
  1147. package/runtime/ai-sdk/package.json +5 -0
  1148. package/runtime/package.json +5 -0
  1149. package/skills/README.md +26 -92
  1150. package/skills/building-glirastes-chat-ui/SKILL.md +358 -343
  1151. package/skills/describing-glirastes-tools/SKILL.md +180 -0
  1152. package/skills/integrating-glirastes-nextjs/SKILL.md +142 -302
  1153. package/skills/integrating-glirastes-web/SKILL.md +165 -0
  1154. package/skills/maintaining-glirastes-tools/SKILL.md +133 -461
  1155. package/skills/migrating-to-glirastes/SKILL.md +112 -0
  1156. package/skills/setting-up-glirastes/SKILL.md +194 -0
  1157. package/skills/setting-up-glirastes/agents/openai.yaml +4 -0
  1158. package/skills/setting-up-glirastes/references/artifact-contract.md +40 -0
  1159. package/skills/setting-up-glirastes/scripts/validate-artifact.ts +23 -0
  1160. package/skills/setting-up-glirastes/templates/interview.md +19 -0
  1161. package/stt/package.json +5 -0
  1162. package/dist/cjs/codegen/asset-sync.d.ts +0 -20
  1163. package/dist/cjs/codegen/asset-sync.js +0 -28
  1164. package/dist/cjs/codegen/coverage.d.ts +0 -66
  1165. package/dist/cjs/codegen/coverage.js +0 -408
  1166. package/dist/cjs/codegen/endpoint-scanner.d.ts +0 -16
  1167. package/dist/cjs/codegen/endpoint-scanner.js +0 -197
  1168. package/dist/cjs/codegen/mcp-generator.d.ts +0 -50
  1169. package/dist/cjs/codegen/mcp-generator.js +0 -803
  1170. package/dist/cjs/codegen/module-generator.d.ts +0 -11
  1171. package/dist/cjs/codegen/module-generator.js +0 -353
  1172. package/dist/cjs/codegen/nestjs-scanner.d.ts +0 -43
  1173. package/dist/cjs/codegen/nestjs-scanner.js +0 -241
  1174. package/dist/cjs/codegen/output-recommender.d.ts +0 -23
  1175. package/dist/cjs/codegen/output-recommender.js +0 -33
  1176. package/dist/cjs/codegen/scaffolder.d.ts +0 -36
  1177. package/dist/cjs/codegen/scaffolder.js +0 -262
  1178. package/dist/cjs/codegen/skill-generator.d.ts +0 -49
  1179. package/dist/cjs/codegen/skill-generator.js +0 -967
  1180. package/dist/cjs/codegen/ui-scanner.d.ts +0 -24
  1181. package/dist/cjs/codegen/ui-scanner.js +0 -202
  1182. package/dist/cjs/codegen/validator.d.ts +0 -35
  1183. package/dist/cjs/codegen/validator.js +0 -292
  1184. package/dist/cjs/openapi/index.d.ts +0 -78
  1185. package/dist/cjs/openapi/index.js +0 -347
  1186. package/dist/cjs/react/components/wavesurfer-loader.d.ts +0 -5
  1187. package/dist/cjs/react/components/wavesurfer-loader.js +0 -36
  1188. package/dist/cjs/react/transports/langgraph/index.d.ts +0 -2
  1189. package/dist/cjs/react/transports/langgraph/index.js +0 -8
  1190. package/dist/cjs/react/transports/langgraph/langgraph-ai-chat.d.ts +0 -62
  1191. package/dist/cjs/react/transports/langgraph/langgraph-ai-chat.js +0 -94
  1192. package/dist/cjs/react/transports/langgraph.d.ts +0 -71
  1193. package/dist/cjs/react/transports/langgraph.js +0 -369
  1194. package/dist/cjs/server/adapters/nestjs/chat/ai-chat-auth.guard.d.ts +0 -10
  1195. package/dist/cjs/server/adapters/nestjs/chat/ai-chat-auth.guard.js +0 -42
  1196. package/dist/cjs/server/adapters/nestjs/chat/ai-chat-module-options.interface.d.ts +0 -32
  1197. package/dist/cjs/server/adapters/nestjs/chat/ai-chat-module-options.interface.js +0 -4
  1198. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.controller.d.ts +0 -11
  1199. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.controller.js +0 -80
  1200. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.module.d.ts +0 -9
  1201. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.module.js +0 -119
  1202. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.service.d.ts +0 -13
  1203. package/dist/cjs/server/adapters/nestjs/chat/ai-chat.service.js +0 -131
  1204. package/dist/cjs/server/adapters/nestjs/chat/dto/ai-chat-request.dto.d.ts +0 -7
  1205. package/dist/cjs/server/adapters/nestjs/chat/dto/ai-chat-request.dto.js +0 -52
  1206. package/dist/cjs/server/adapters/nestjs/chat/dto/chat-message-part.dto.d.ts +0 -19
  1207. package/dist/cjs/server/adapters/nestjs/chat/dto/chat-message-part.dto.js +0 -108
  1208. package/dist/cjs/server/adapters/nestjs/chat/dto/chat-message.dto.d.ts +0 -8
  1209. package/dist/cjs/server/adapters/nestjs/chat/dto/chat-message.dto.js +0 -59
  1210. package/dist/cjs/server/adapters/nestjs/chat/dto/index.d.ts +0 -3
  1211. package/dist/cjs/server/adapters/nestjs/chat/dto/index.js +0 -9
  1212. package/dist/cjs/server/adapters/nestjs/chat/index.d.ts +0 -3
  1213. package/dist/cjs/server/adapters/nestjs/chat/index.js +0 -9
  1214. package/dist/cjs/server/adapters/nestjs/chat/speech-stream.gateway.d.ts +0 -4
  1215. package/dist/cjs/server/adapters/nestjs/chat/speech-stream.gateway.js +0 -73
  1216. package/dist/cjs/server/adapters/nestjs/chat/ws-loader.d.ts +0 -5
  1217. package/dist/cjs/server/adapters/nestjs/chat/ws-loader.js +0 -72
  1218. package/dist/cjs/server/adapters/nestjs/decorators/ai-module.decorator.d.ts +0 -6
  1219. package/dist/cjs/server/adapters/nestjs/decorators/ai-module.decorator.js +0 -13
  1220. package/dist/cjs/server/adapters/nestjs/decorators/ai-param.decorator.d.ts +0 -5
  1221. package/dist/cjs/server/adapters/nestjs/decorators/ai-param.decorator.js +0 -15
  1222. package/dist/cjs/server/adapters/nestjs/decorators/ai-tool.decorator.d.ts +0 -6
  1223. package/dist/cjs/server/adapters/nestjs/decorators/ai-tool.decorator.js +0 -22
  1224. package/dist/cjs/server/adapters/nestjs/decorators/constants.d.ts +0 -4
  1225. package/dist/cjs/server/adapters/nestjs/decorators/constants.js +0 -7
  1226. package/dist/cjs/server/adapters/nestjs/index.d.ts +0 -14
  1227. package/dist/cjs/server/adapters/nestjs/index.js +0 -42
  1228. package/dist/cjs/server/adapters/nestjs/metadata.d.ts +0 -39
  1229. package/dist/cjs/server/adapters/nestjs/metadata.js +0 -36
  1230. package/dist/cjs/server/adapters/nestjs/module/ai-tools-explorer.service.d.ts +0 -36
  1231. package/dist/cjs/server/adapters/nestjs/module/ai-tools-explorer.service.js +0 -159
  1232. package/dist/cjs/server/adapters/nestjs/module/ai-tools.module.d.ts +0 -37
  1233. package/dist/cjs/server/adapters/nestjs/module/ai-tools.module.js +0 -44
  1234. package/dist/cjs/server/adapters/nestjs/module/ai-tools.service.d.ts +0 -28
  1235. package/dist/cjs/server/adapters/nestjs/module/ai-tools.service.js +0 -41
  1236. package/dist/cjs/server/adapters/nestjs/scanner/nestjs-scanner.d.ts +0 -16
  1237. package/dist/cjs/server/adapters/nestjs/scanner/nestjs-scanner.js +0 -117
  1238. package/dist/cjs/server/adapters/nestjs/scanner/schema-builder.d.ts +0 -26
  1239. package/dist/cjs/server/adapters/nestjs/scanner/schema-builder.js +0 -259
  1240. package/dist/cjs/server/adapters/nestjs/swagger.d.ts +0 -7
  1241. package/dist/cjs/server/adapters/nestjs/swagger.js +0 -39
  1242. package/dist/cli/commands/check-upgrade.d.ts +0 -15
  1243. package/dist/cli/commands/check-upgrade.js +0 -138
  1244. package/dist/cli/commands/check-upgrade.js.map +0 -1
  1245. package/dist/cli/commands/test.d.ts +0 -8
  1246. package/dist/cli/commands/test.js +0 -76
  1247. package/dist/cli/commands/test.js.map +0 -1
  1248. package/dist/cli/utils/changelog-parser.d.ts +0 -13
  1249. package/dist/cli/utils/changelog-parser.js +0 -89
  1250. package/dist/cli/utils/changelog-parser.js.map +0 -1
  1251. package/dist/cli/utils/commit-parser.d.ts +0 -8
  1252. package/dist/cli/utils/commit-parser.js +0 -23
  1253. package/dist/cli/utils/commit-parser.js.map +0 -1
  1254. package/dist/cli/utils/gap-detector.d.ts +0 -14
  1255. package/dist/cli/utils/gap-detector.js +0 -65
  1256. package/dist/cli/utils/gap-detector.js.map +0 -1
  1257. package/dist/cli/utils/get-cli-version.d.ts +0 -2
  1258. package/dist/cli/utils/get-cli-version.js +0 -10
  1259. package/dist/cli/utils/get-cli-version.js.map +0 -1
  1260. package/dist/codegen/asset-sync.d.ts +0 -20
  1261. package/dist/codegen/asset-sync.js +0 -26
  1262. package/dist/codegen/asset-sync.js.map +0 -1
  1263. package/dist/codegen/coverage.d.ts +0 -66
  1264. package/dist/codegen/coverage.js +0 -372
  1265. package/dist/codegen/coverage.js.map +0 -1
  1266. package/dist/codegen/endpoint-scanner.d.ts +0 -16
  1267. package/dist/codegen/endpoint-scanner.js +0 -161
  1268. package/dist/codegen/endpoint-scanner.js.map +0 -1
  1269. package/dist/codegen/mcp-generator.d.ts +0 -50
  1270. package/dist/codegen/mcp-generator.js +0 -801
  1271. package/dist/codegen/mcp-generator.js.map +0 -1
  1272. package/dist/codegen/module-generator.d.ts +0 -11
  1273. package/dist/codegen/module-generator.js +0 -351
  1274. package/dist/codegen/module-generator.js.map +0 -1
  1275. package/dist/codegen/nestjs-scanner.d.ts +0 -43
  1276. package/dist/codegen/nestjs-scanner.js +0 -239
  1277. package/dist/codegen/nestjs-scanner.js.map +0 -1
  1278. package/dist/codegen/output-recommender.d.ts +0 -23
  1279. package/dist/codegen/output-recommender.js +0 -31
  1280. package/dist/codegen/output-recommender.js.map +0 -1
  1281. package/dist/codegen/scaffolder.d.ts +0 -36
  1282. package/dist/codegen/scaffolder.js +0 -259
  1283. package/dist/codegen/scaffolder.js.map +0 -1
  1284. package/dist/codegen/skill-generator.d.ts +0 -49
  1285. package/dist/codegen/skill-generator.js +0 -965
  1286. package/dist/codegen/skill-generator.js.map +0 -1
  1287. package/dist/codegen/ui-scanner.d.ts +0 -24
  1288. package/dist/codegen/ui-scanner.js +0 -197
  1289. package/dist/codegen/ui-scanner.js.map +0 -1
  1290. package/dist/codegen/validator.d.ts +0 -35
  1291. package/dist/codegen/validator.js +0 -256
  1292. package/dist/codegen/validator.js.map +0 -1
  1293. package/dist/openapi/demo-generate.d.ts +0 -1
  1294. package/dist/openapi/demo-generate.js +0 -15
  1295. package/dist/openapi/demo-generate.js.map +0 -1
  1296. package/dist/openapi/index.d.ts +0 -78
  1297. package/dist/openapi/index.js +0 -341
  1298. package/dist/openapi/index.js.map +0 -1
  1299. package/dist/react/components/wavesurfer-loader.d.ts +0 -5
  1300. package/dist/react/components/wavesurfer-loader.js +0 -34
  1301. package/dist/react/components/wavesurfer-loader.js.map +0 -1
  1302. package/dist/react/transports/langgraph/index.d.ts +0 -2
  1303. package/dist/react/transports/langgraph/index.js +0 -3
  1304. package/dist/react/transports/langgraph/index.js.map +0 -1
  1305. package/dist/react/transports/langgraph/langgraph-ai-chat.d.ts +0 -62
  1306. package/dist/react/transports/langgraph/langgraph-ai-chat.js +0 -92
  1307. package/dist/react/transports/langgraph/langgraph-ai-chat.js.map +0 -1
  1308. package/dist/react/transports/langgraph.d.ts +0 -71
  1309. package/dist/react/transports/langgraph.js +0 -366
  1310. package/dist/react/transports/langgraph.js.map +0 -1
  1311. package/dist/server/adapters/nestjs/chat/ai-chat-auth.guard.d.ts +0 -10
  1312. package/dist/server/adapters/nestjs/chat/ai-chat-auth.guard.js +0 -40
  1313. package/dist/server/adapters/nestjs/chat/ai-chat-auth.guard.js.map +0 -1
  1314. package/dist/server/adapters/nestjs/chat/ai-chat-module-options.interface.d.ts +0 -32
  1315. package/dist/server/adapters/nestjs/chat/ai-chat-module-options.interface.js +0 -2
  1316. package/dist/server/adapters/nestjs/chat/ai-chat-module-options.interface.js.map +0 -1
  1317. package/dist/server/adapters/nestjs/chat/ai-chat.controller.d.ts +0 -11
  1318. package/dist/server/adapters/nestjs/chat/ai-chat.controller.js +0 -78
  1319. package/dist/server/adapters/nestjs/chat/ai-chat.controller.js.map +0 -1
  1320. package/dist/server/adapters/nestjs/chat/ai-chat.module.d.ts +0 -9
  1321. package/dist/server/adapters/nestjs/chat/ai-chat.module.js +0 -117
  1322. package/dist/server/adapters/nestjs/chat/ai-chat.module.js.map +0 -1
  1323. package/dist/server/adapters/nestjs/chat/ai-chat.service.d.ts +0 -13
  1324. package/dist/server/adapters/nestjs/chat/ai-chat.service.js +0 -129
  1325. package/dist/server/adapters/nestjs/chat/ai-chat.service.js.map +0 -1
  1326. package/dist/server/adapters/nestjs/chat/dto/ai-chat-request.dto.d.ts +0 -7
  1327. package/dist/server/adapters/nestjs/chat/dto/ai-chat-request.dto.js +0 -49
  1328. package/dist/server/adapters/nestjs/chat/dto/ai-chat-request.dto.js.map +0 -1
  1329. package/dist/server/adapters/nestjs/chat/dto/chat-message-part.dto.d.ts +0 -19
  1330. package/dist/server/adapters/nestjs/chat/dto/chat-message-part.dto.js +0 -105
  1331. package/dist/server/adapters/nestjs/chat/dto/chat-message-part.dto.js.map +0 -1
  1332. package/dist/server/adapters/nestjs/chat/dto/chat-message.dto.d.ts +0 -8
  1333. package/dist/server/adapters/nestjs/chat/dto/chat-message.dto.js +0 -56
  1334. package/dist/server/adapters/nestjs/chat/dto/chat-message.dto.js.map +0 -1
  1335. package/dist/server/adapters/nestjs/chat/dto/index.d.ts +0 -3
  1336. package/dist/server/adapters/nestjs/chat/dto/index.js +0 -4
  1337. package/dist/server/adapters/nestjs/chat/dto/index.js.map +0 -1
  1338. package/dist/server/adapters/nestjs/chat/index.d.ts +0 -3
  1339. package/dist/server/adapters/nestjs/chat/index.js +0 -3
  1340. package/dist/server/adapters/nestjs/chat/index.js.map +0 -1
  1341. package/dist/server/adapters/nestjs/chat/speech-stream.gateway.d.ts +0 -4
  1342. package/dist/server/adapters/nestjs/chat/speech-stream.gateway.js +0 -71
  1343. package/dist/server/adapters/nestjs/chat/speech-stream.gateway.js.map +0 -1
  1344. package/dist/server/adapters/nestjs/chat/ws-loader.d.ts +0 -5
  1345. package/dist/server/adapters/nestjs/chat/ws-loader.js +0 -37
  1346. package/dist/server/adapters/nestjs/chat/ws-loader.js.map +0 -1
  1347. package/dist/server/adapters/nestjs/decorators/ai-module.decorator.d.ts +0 -6
  1348. package/dist/server/adapters/nestjs/decorators/ai-module.decorator.js +0 -11
  1349. package/dist/server/adapters/nestjs/decorators/ai-module.decorator.js.map +0 -1
  1350. package/dist/server/adapters/nestjs/decorators/ai-param.decorator.d.ts +0 -5
  1351. package/dist/server/adapters/nestjs/decorators/ai-param.decorator.js +0 -13
  1352. package/dist/server/adapters/nestjs/decorators/ai-param.decorator.js.map +0 -1
  1353. package/dist/server/adapters/nestjs/decorators/ai-tool.decorator.d.ts +0 -6
  1354. package/dist/server/adapters/nestjs/decorators/ai-tool.decorator.js +0 -20
  1355. package/dist/server/adapters/nestjs/decorators/ai-tool.decorator.js.map +0 -1
  1356. package/dist/server/adapters/nestjs/decorators/constants.d.ts +0 -4
  1357. package/dist/server/adapters/nestjs/decorators/constants.js +0 -5
  1358. package/dist/server/adapters/nestjs/decorators/constants.js.map +0 -1
  1359. package/dist/server/adapters/nestjs/index.d.ts +0 -14
  1360. package/dist/server/adapters/nestjs/index.js +0 -20
  1361. package/dist/server/adapters/nestjs/index.js.map +0 -1
  1362. package/dist/server/adapters/nestjs/metadata.d.ts +0 -39
  1363. package/dist/server/adapters/nestjs/metadata.js +0 -30
  1364. package/dist/server/adapters/nestjs/metadata.js.map +0 -1
  1365. package/dist/server/adapters/nestjs/module/ai-tools-explorer.service.d.ts +0 -36
  1366. package/dist/server/adapters/nestjs/module/ai-tools-explorer.service.js +0 -156
  1367. package/dist/server/adapters/nestjs/module/ai-tools-explorer.service.js.map +0 -1
  1368. package/dist/server/adapters/nestjs/module/ai-tools.module.d.ts +0 -37
  1369. package/dist/server/adapters/nestjs/module/ai-tools.module.js +0 -42
  1370. package/dist/server/adapters/nestjs/module/ai-tools.module.js.map +0 -1
  1371. package/dist/server/adapters/nestjs/module/ai-tools.service.d.ts +0 -28
  1372. package/dist/server/adapters/nestjs/module/ai-tools.service.js +0 -38
  1373. package/dist/server/adapters/nestjs/module/ai-tools.service.js.map +0 -1
  1374. package/dist/server/adapters/nestjs/scanner/nestjs-scanner.d.ts +0 -16
  1375. package/dist/server/adapters/nestjs/scanner/nestjs-scanner.js +0 -115
  1376. package/dist/server/adapters/nestjs/scanner/nestjs-scanner.js.map +0 -1
  1377. package/dist/server/adapters/nestjs/scanner/schema-builder.d.ts +0 -26
  1378. package/dist/server/adapters/nestjs/scanner/schema-builder.js +0 -255
  1379. package/dist/server/adapters/nestjs/scanner/schema-builder.js.map +0 -1
  1380. package/dist/server/adapters/nestjs/swagger.d.ts +0 -7
  1381. package/dist/server/adapters/nestjs/swagger.js +0 -37
  1382. package/dist/server/adapters/nestjs/swagger.js.map +0 -1
  1383. package/openapi/package.json +0 -5
  1384. package/react/langgraph/package.json +0 -5
  1385. package/server/nestjs/package.json +0 -5
  1386. package/skills/integrating-glirastes-nestjs/SKILL.md +0 -346
  1387. package/skills/integrating-glirastes-nextjs-with-nestjs-backend/SKILL.md +0 -359
@@ -8,6 +8,19 @@ const themes_js_1 = require("../themes.js");
8
8
  const chat_context_js_1 = require("./chat-context.js");
9
9
  const mention_markup_js_1 = require("../utils/mention-markup.js");
10
10
  const merge_pipeline_steps_js_1 = require("../utils/merge-pipeline-steps.js");
11
+ const entity_names_js_1 = require("../utils/entity-names.js");
12
+ const create_approval_description_js_1 = require("../utils/create-approval-description.js");
13
+ const tool_presentation_js_1 = require("../utils/tool-presentation.js");
14
+ const tool_result_config_js_1 = require("../utils/tool-result-config.js");
15
+ const followup_suggestions_js_1 = require("../utils/followup-suggestions.js");
16
+ const clarification_js_1 = require("../utils/clarification.js");
17
+ const completion_search_js_1 = require("../completions/completion-search.js");
18
+ const definitions_js_1 = require("../interactions/definitions.js");
19
+ const registry_js_1 = require("../interactions/registry.js");
20
+ const registry_js_2 = require("../tool-renderers/registry.js");
21
+ const client_actions_js_1 = require("../../browser/client-actions.js");
22
+ const ui_action_bus_js_1 = require("../../browser/ui-action-bus.js");
23
+ const clarification_js_2 = require("../../contracts/clarification.js");
11
24
  exports.DEFAULT_LOCALE = {
12
25
  placeholder: 'Type a message...',
13
26
  sendButton: 'Send',
@@ -24,7 +37,11 @@ exports.DEFAULT_LOCALE = {
24
37
  dismissButton: 'Dismiss',
25
38
  cancelButton: 'Cancel',
26
39
  confirmButton: 'Confirm',
40
+ approvalPendingHint: 'Please approve or reject the open request first.',
27
41
  moreItemsLabel: 'more',
42
+ showAllItemsLabel: 'Show all {count}',
43
+ showMoreLabel: 'Show more',
44
+ showLessLabel: 'Show less',
28
45
  allCountLabel: 'All {count}',
29
46
  pipelineTitle: 'Pipeline',
30
47
  pipelineRunningLabel: 'Running',
@@ -34,6 +51,12 @@ exports.DEFAULT_LOCALE = {
34
51
  pipelineErrorLabel: 'Error',
35
52
  pipelineStepLabel: 'Step',
36
53
  pipelineApprovalPendingLabel: 'Approval pending',
54
+ activityWorkingLabel: 'Working',
55
+ activityWaitingLabel: 'Waiting for approval',
56
+ activityDoneLabel: '{count} steps done',
57
+ activityDoneOneLabel: '1 step done',
58
+ activityFailedLabel: '{count} failed',
59
+ planTitle: 'Plan',
37
60
  chatTitle: 'AI Assistant',
38
61
  closeChatAriaLabel: 'Close chat',
39
62
  clearChatAriaLabel: 'Clear conversation',
@@ -45,10 +68,23 @@ exports.DEFAULT_LOCALE = {
45
68
  newChatLabel: 'New chat',
46
69
  noSessionsLabel: 'No conversations yet',
47
70
  sessionsLoadingLabel: 'Loading…',
71
+ untitledSessionLabel: 'Untitled',
48
72
  deleteSessionAriaLabel: 'Delete conversation',
49
73
  confirmDeleteSessionPrompt: 'Delete this conversation?',
74
+ sessionArchiveMessage: '"{title}" will be archived.',
50
75
  renameSessionAriaLabel: 'Rename conversation',
51
76
  renameSessionPlaceholder: 'Conversation title',
77
+ clarificationInputLabel: 'Your answer',
78
+ clarificationSubmitButton: 'Answer',
79
+ retryRecordingAriaLabel: 'Retry recording',
80
+ completionListLabel: 'Suggestions',
81
+ completionResultsLabel: '{count} suggestions',
82
+ commandArgumentsLabel: 'Details for {command}',
83
+ commandArgumentsSubmit: 'Run',
84
+ commandArgumentsInvalid: 'These values are too long.',
85
+ commandArgumentsIncomplete: 'Please complete: {fields}',
86
+ commandArgumentsAnyOption: 'Any',
87
+ commandArgumentsNoMatches: 'No matches',
52
88
  };
53
89
  // ============================================================================
54
90
  // Helpers
@@ -95,16 +131,6 @@ function getMentionTypesForTrigger(types, trigger) {
95
131
  }
96
132
  return types;
97
133
  }
98
- /** Default approval description — returns raw tool name and JSON args */
99
- function defaultApprovalDescription(toolName, approvalId, args) {
100
- return {
101
- id: approvalId,
102
- toolName,
103
- args: isRecord(args) ? args : {},
104
- messageId: '',
105
- description: toolName,
106
- };
107
- }
108
134
  /**
109
135
  * Remove orphaned tool calls (approval-requested without response)
110
136
  * from message history to prevent AI_MissingToolResultsError.
@@ -233,7 +259,8 @@ function normalizePipelineState(data) {
233
259
  }
234
260
  if (data.stepLimitSource !== 'explicit' &&
235
261
  data.stepLimitSource !== 'module' &&
236
- data.stepLimitSource !== 'safety') {
262
+ data.stepLimitSource !== 'safety' &&
263
+ data.stepLimitSource !== 'runtime-budget') {
237
264
  return null;
238
265
  }
239
266
  return {
@@ -277,28 +304,69 @@ function normalizePipelineState(data) {
277
304
  * }
278
305
  * ```
279
306
  */
280
- function AiChatProvider({ transport, mentions, toolResults: userToolResults, voice: userVoice, session, classNames: userClassNames, components: userComponents, suggestions: userSuggestions, locale: userLocale, theme: userTheme, onToolResult, onBeforeSend, approvalDescription: userApprovalDescription, continueMessage = 'Please continue.', toolLabels: userToolLabels, pipelineMessageTranslator, stepSummaryFormatter, children, }) {
281
- // Merge caller-supplied locale overrides with English defaults.
282
- const locale = (0, react_1.useMemo)(() => ({ ...exports.DEFAULT_LOCALE, ...(userLocale ?? {}) }), [userLocale]);
307
+ function AiChatProvider({ transport, mentions, completionProviders, completionContext, onCompletionProviderError, chatInteractions, toolRenderers, toolResults: userToolResults, voice: userVoice, session, classNames: userClassNames, components: userComponents, suggestions: userSuggestions, locale: userLocale, theme: userTheme, themeScope = 'inline', unstyled = false, onToolResult, uiActionBus, onBeforeSend, approvalDescription: userApprovalDescription, continueMessage = 'Please continue.', toolLabels: userToolLabels, pipelineMessageTranslator, stepSummaryFormatter, children, }) {
308
+ // What the chat turn says about its tools (label per model name, app
309
+ // language) and the language of the page: the defaults of a chat that
310
+ // configures neither `locale`, `toolLabels` nor `approvalDescription`.
311
+ const [toolPresentation, setToolPresentation] = (0, react_1.useState)(null);
312
+ const pageLanguage = (0, tool_presentation_js_1.usePageLanguage)();
313
+ const language = toolPresentation?.locale ?? pageLanguage;
314
+ // English defaults, then the built-in texts of the app's language, then the caller's overrides.
315
+ const locale = (0, react_1.useMemo)(() => ({ ...exports.DEFAULT_LOCALE, ...(0, tool_presentation_js_1.languageLocale)(language), ...(userLocale ?? {}) }), [userLocale, language]);
283
316
  // Resolve `theme` prop → CSS variables spread onto widget roots.
284
- const themeVars = (0, react_1.useMemo)(() => (0, themes_js_1.getThemeVars)(userTheme), [userTheme]);
317
+ const themeVars = (0, react_1.useMemo)(() => (themeScope === 'inherit' || unstyled ? {} : (0, themes_js_1.getThemeVars)(userTheme)), [userTheme, themeScope, unstyled]);
285
318
  const themeEffect = (0, react_1.useMemo)(() => (0, themes_js_1.getThemeEffect)(userTheme), [userTheme]);
286
319
  const classNames = (0, react_1.useMemo)(() => userClassNames ?? {}, [userClassNames]);
287
320
  const components = (0, react_1.useMemo)(() => userComponents ?? {}, [userComponents]);
288
321
  const suggestionsConfig = (0, react_1.useMemo)(() => ({ enabled: true, count: 3, autoSuggest: true, ...userSuggestions }), [userSuggestions]);
289
- const toolResultConfig = (0, react_1.useMemo)(() => ({ mode: 'default', allowlist: [], ...userToolResults }), [userToolResults]);
322
+ const toolResultConfig = (0, react_1.useMemo)(() => (0, tool_result_config_js_1.resolveToolResultConfig)(userToolResults, Boolean(toolRenderers && toolRenderers.length > 0)), [userToolResults, toolRenderers]);
323
+ const toolRendererRegistry = (0, react_1.useMemo)(() => (toolRenderers && toolRenderers.length > 0
324
+ ? (0, registry_js_2.createToolResultRendererRegistry)(toolRenderers)
325
+ : undefined), [toolRenderers]);
290
326
  const voiceConfig = (0, react_1.useMemo)(() => ({
291
327
  enabled: false,
292
328
  language: 'de',
293
329
  recordingBar: { enabled: true, variant: 'inline', ...(userVoice?.recordingBar ?? {}) },
294
330
  ...userVoice,
295
331
  }), [userVoice]);
296
- const toolLabels = (0, react_1.useMemo)(() => userToolLabels ?? {}, [userToolLabels]);
297
- const approvalDescriptionFn = userApprovalDescription ?? defaultApprovalDescription;
332
+ // The labels of the turn's tools, each used for one call and for several; the caller's labels win.
333
+ const toolLabels = (0, react_1.useMemo)(() => ({
334
+ labels: {
335
+ ...Object.fromEntries(Object.entries(toolPresentation?.labels ?? {})
336
+ .map(([name, label]) => [name, { singular: label, plural: label }])),
337
+ ...(userToolLabels?.labels ?? {}),
338
+ },
339
+ }), [toolPresentation, userToolLabels]);
340
+ // Without the app's own description, an approval names the action by its
341
+ // label and lists what the call states, instead of the raw tool name alone.
342
+ const derivedApprovalDescription = (0, react_1.useMemo)(() => {
343
+ const actions = Object.fromEntries(Object.entries(toolLabels.labels ?? {})
344
+ .map(([name, label]) => [name, label.singular]));
345
+ const describe = (0, create_approval_description_js_1.createApprovalDescriptionGenerator)({ toolLabels: actions, dateLocale: language ?? 'en-US' });
346
+ return (toolName, approvalId, args, context) => {
347
+ const pending = describe(toolName, approvalId, args, context);
348
+ return actions[toolName] ? pending : { ...pending, description: toolName };
349
+ };
350
+ }, [toolLabels, language]);
351
+ const approvalDescriptionFn = userApprovalDescription ?? derivedApprovalDescription;
298
352
  // Approvals state (Map for O(1) lookup)
299
353
  const [pendingApprovalsMap, setPendingApprovalsMap] = (0, react_1.useState)(new Map());
300
- const [processingApprovalId, setProcessingApprovalId] = (0, react_1.useState)(null);
354
+ // Set when the user sends while an approval waits; cleared once none waits.
355
+ const [approvalReminder, setApprovalReminder] = (0, react_1.useState)(false);
356
+ (0, react_1.useEffect)(() => {
357
+ if (pendingApprovalsMap.size === 0)
358
+ setApprovalReminder(false);
359
+ }, [pendingApprovalsMap]);
360
+ const [processingApprovalIds, setProcessingApprovalIds] = (0, react_1.useState)(new Set());
361
+ const [approvalError, setApprovalError] = (0, react_1.useState)(null);
301
362
  const [isInitialized, setIsInitialized] = (0, react_1.useState)(false);
363
+ // A completed load belongs to one session, not to the provider forever.
364
+ // Otherwise a render with a new id can persist the previous session's rows.
365
+ const [loadedSessionId, setLoadedSessionId] = (0, react_1.useState)(null);
366
+ const [sessionLoadFailure, setSessionLoadFailure] = (0, react_1.useState)(null);
367
+ const [sessionRestoreAttempt, setSessionRestoreAttempt] = (0, react_1.useState)(0);
368
+ const [isSessionMutating, setIsSessionMutating] = (0, react_1.useState)(false);
369
+ const sessionMutationRef = (0, react_1.useRef)(false);
302
370
  // ---------------------------------------------------------------------------
303
371
  // Multi-session state
304
372
  //
@@ -310,6 +378,9 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
310
378
  const [uncontrolledActiveId, setUncontrolledActiveId] = (0, react_1.useState)(() => session?.activeId ?? session?.defaultActiveId ?? 'default');
311
379
  const activeSessionId = session?.activeId ?? uncontrolledActiveId;
312
380
  const [sessions, setSessions] = (0, react_1.useState)([]);
381
+ const isBootstrapSentinel = activeSessionId === 'default'
382
+ && session?.list !== undefined && session.defaultActiveId === undefined
383
+ && session.activeId === undefined && !sessions.some((entry) => entry.id === 'default');
313
384
  const [isSessionsLoading, setIsSessionsLoading] = (0, react_1.useState)(false);
314
385
  const sessionsSupported = Boolean(session && session.list && session.create && session.remove);
315
386
  // Keep a ref so callbacks inside effects read the current session config
@@ -331,16 +402,40 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
331
402
  const [mentionResults, setMentionResults] = (0, react_1.useState)([]);
332
403
  const [activeMentions, setActiveMentions] = (0, react_1.useState)([]);
333
404
  const [isMentionSearching, setIsMentionSearching] = (0, react_1.useState)(false);
405
+ const onCompletionProviderErrorRef = (0, react_1.useRef)(onCompletionProviderError);
406
+ onCompletionProviderErrorRef.current = onCompletionProviderError;
407
+ // Declarative `@` entities and `/` commands join the app's own providers.
408
+ const interactionRegistry = (0, react_1.useMemo)(() => (chatInteractions
409
+ ? (0, registry_js_1.createChatInteractionRegistry)({ ...chatInteractions, context: completionContext })
410
+ : undefined), [chatInteractions, completionContext]);
411
+ const allCompletionProviders = (0, react_1.useMemo)(() => [...(completionProviders ?? []), ...(interactionRegistry?.providers ?? [])], [completionProviders, interactionRegistry]);
412
+ const completionSearch = (0, react_1.useMemo)(() => (allCompletionProviders.length > 0
413
+ ? (0, completion_search_js_1.createCompletionSearch)(allCompletionProviders, {
414
+ context: completionContext,
415
+ onProviderError: (providerId, error) => onCompletionProviderErrorRef.current?.(providerId, error),
416
+ })
417
+ : undefined), [allCompletionProviders, completionContext]);
418
+ const [pendingCommand, setPendingCommand] = (0, react_1.useState)(null);
419
+ const [composerMentions, setComposerMentions] = (0, react_1.useState)([]);
334
420
  // Refs for deduplication
335
421
  const processedToolCallsRef = (0, react_1.useRef)(new Set());
336
422
  const handledApprovalIdsRef = (0, react_1.useRef)(new Set());
337
423
  // Stable refs for callbacks to avoid re-creating transport
338
424
  const onToolResultRef = (0, react_1.useRef)(onToolResult);
339
425
  onToolResultRef.current = onToolResult;
426
+ const uiActionBusRef = (0, react_1.useRef)(uiActionBus);
427
+ uiActionBusRef.current = uiActionBus;
340
428
  const approvalDescriptionRef = (0, react_1.useRef)(approvalDescriptionFn);
341
429
  approvalDescriptionRef.current = approvalDescriptionFn;
342
430
  // Data part handler — processes pipeline and truncation events from any transport
343
431
  const handleDataPart = (0, react_1.useCallback)((dataPart) => {
432
+ if (dataPart.type === 'data-tool-presentation') {
433
+ const next = (0, tool_presentation_js_1.parseToolPresentation)(dataPart.data);
434
+ // Every turn sends it again; keep the object while its content is the same.
435
+ if (next)
436
+ setToolPresentation((current) => (JSON.stringify(current) === JSON.stringify(next) ? current : next));
437
+ return;
438
+ }
344
439
  if (dataPart.type === 'data-truncation') {
345
440
  const data = dataPart.data;
346
441
  setTruncation({
@@ -374,8 +469,12 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
374
469
  (0, react_1.useEffect)(() => {
375
470
  return resolvedTransport.subscribeToData?.(handleDataPart);
376
471
  }, [resolvedTransport, handleDataPart]);
377
- const { messages: rawMessages, sendMessage, status, error, stop: transportStop, setMessages, addToolApprovalResponse, } = resolvedTransport;
472
+ const { messages: rawMessages, sendMessage, status, error: transportError, stop: transportStop, setMessages, addToolApprovalResponse, } = resolvedTransport;
378
473
  const isLoading = status === 'submitted' || status === 'streaming';
474
+ const streamActiveRef = (0, react_1.useRef)(isLoading);
475
+ streamActiveRef.current = isLoading;
476
+ const sessionNotReady = Boolean(session?.load && loadedSessionId !== activeSessionId);
477
+ const error = transportError ?? (sessionLoadFailure?.id === activeSessionId ? sessionLoadFailure.error : null);
379
478
  (0, react_1.useEffect)(() => {
380
479
  if (!error)
381
480
  return;
@@ -386,7 +485,7 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
386
485
  maxSteps: prev?.maxSteps ?? 1,
387
486
  stepLimitSource: prev?.stepLimitSource ?? 'safety',
388
487
  updatedAt: new Date().toISOString(),
389
- message: typeof error.message === 'string' ? error.message : 'Pipeline failed.',
488
+ message: 'Pipeline failed.',
390
489
  }));
391
490
  }, [error, pipelineSteps.length]);
392
491
  // Mark stored messages as already processed (prevents re-dispatching tool results)
@@ -415,11 +514,21 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
415
514
  }
416
515
  }
417
516
  }, []);
517
+ // An open approval belongs to the chat that asked for it. A host that owns
518
+ // the active id switches chats without switchSession(), so drop it here.
519
+ const approvalSessionRef = (0, react_1.useRef)(activeSessionId);
520
+ (0, react_1.useEffect)(() => {
521
+ if (approvalSessionRef.current === activeSessionId)
522
+ return;
523
+ approvalSessionRef.current = activeSessionId;
524
+ setPendingApprovalsMap(new Map());
525
+ }, [activeSessionId]);
418
526
  // Load messages from session whenever the active session changes.
419
527
  // Runs on mount and on every switchSession() call.
420
528
  (0, react_1.useEffect)(() => {
421
529
  const cfg = sessionRef.current;
422
530
  if (!cfg?.load) {
531
+ setLoadedSessionId(activeSessionId);
423
532
  if (!isInitialized)
424
533
  setIsInitialized(true);
425
534
  return;
@@ -428,15 +537,15 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
428
537
  // active — `'default'` is unlikely to be a valid session id in the
429
538
  // consumer's backend, and the auto-select effect (below) will switch
430
539
  // us to the first real session as soon as `list()` resolves.
431
- const isBootstrapSentinel = activeSessionId === 'default' &&
432
- cfg.list !== undefined &&
433
- cfg.activeId === undefined;
434
540
  if (isBootstrapSentinel) {
435
541
  if (!isInitialized)
436
542
  setIsInitialized(true);
437
543
  return;
438
544
  }
439
545
  let cancelled = false;
546
+ setLoadedSessionId(null);
547
+ setSessionLoadFailure(null);
548
+ setMessages([]);
440
549
  (async () => {
441
550
  try {
442
551
  const loaded = await Promise.resolve(cfg.load(activeSessionId));
@@ -444,6 +553,9 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
444
553
  return;
445
554
  processedToolCallsRef.current.clear();
446
555
  handledApprovalIdsRef.current.clear();
556
+ // The transport may still have held the previous chat's messages
557
+ // until now; an approval read from them is not this chat's.
558
+ setPendingApprovalsMap(new Map());
447
559
  // Coerce wire-shape rows (with `content: string`) into SDK
448
560
  // messages (with `parts: [...]`) so bridges don't have to.
449
561
  const coerced = loaded ? coerceLoadedMessages(loaded) : [];
@@ -455,11 +567,13 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
455
567
  else {
456
568
  setMessages([]);
457
569
  }
570
+ setLoadedSessionId(activeSessionId);
458
571
  }
459
- catch (err) {
572
+ catch {
460
573
  if (cancelled)
461
574
  return;
462
- console.warn(`[AiChatProvider] session.load("${activeSessionId}") failed:`, err);
575
+ console.warn('[AiChatProvider] session.load failed');
576
+ setSessionLoadFailure({ id: activeSessionId, error: new Error('Chat history could not be loaded. Reopen this chat to retry.') });
463
577
  setMessages([]);
464
578
  }
465
579
  finally {
@@ -472,18 +586,20 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
472
586
  };
473
587
  // rawMessages intentionally excluded — we only re-load on session switch.
474
588
  // eslint-disable-next-line react-hooks/exhaustive-deps
475
- }, [activeSessionId, setMessages, markStoredMessagesAsProcessed]);
589
+ }, [activeSessionId, setMessages, markStoredMessagesAsProcessed, sessionRestoreAttempt, isBootstrapSentinel]);
476
590
  // Save messages to session on change (scoped to the active session).
477
591
  (0, react_1.useEffect)(() => {
478
592
  if (!isInitialized)
479
593
  return;
594
+ if (loadedSessionId !== activeSessionId)
595
+ return;
480
596
  if (rawMessages.length === 0)
481
597
  return;
482
598
  const cfg = sessionRef.current;
483
599
  if (!cfg?.save)
484
600
  return;
485
601
  void Promise.resolve(cfg.save(activeSessionId, rawMessages));
486
- }, [rawMessages, isInitialized, activeSessionId]);
602
+ }, [rawMessages, isInitialized, activeSessionId, loadedSessionId]);
487
603
  // Process tool results and approvals from streaming messages
488
604
  (0, react_1.useEffect)(() => {
489
605
  if (rawMessages.length === 0)
@@ -503,7 +619,7 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
503
619
  toolPart.approval?.id &&
504
620
  !handledApprovalIdsRef.current.has(toolPart.approval.id)) {
505
621
  handledApprovalIdsRef.current.add(toolPart.approval.id);
506
- const pending = approvalDescriptionRef.current(toolName, toolPart.approval.id, toolPart.input);
622
+ const pending = approvalDescriptionRef.current(toolName, toolPart.approval.id, toolPart.input, { names: (0, entity_names_js_1.collectEntityNames)(rawMessages) });
507
623
  setPendingApprovalsMap(prev => new Map(prev).set(toolPart.approval.id, pending));
508
624
  }
509
625
  // Tool result available — call onToolResult
@@ -512,12 +628,17 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
512
628
  if (!processedToolCallsRef.current.has(toolCallId)) {
513
629
  processedToolCallsRef.current.add(toolCallId);
514
630
  onToolResultRef.current?.(toolName, toolPart.output);
631
+ // Generated UI tools run in the browser through the app's bridge.
632
+ void (0, client_actions_js_1.dispatchToolResultUiActions)(toolPart.output, uiActionBusRef.current ?? (0, ui_action_bus_js_1.getDefaultUiActionBus)()).catch(() => {
633
+ console.warn('[glirastes] A generated UI action failed');
634
+ });
515
635
  }
516
636
  }
517
637
  }
518
638
  }
519
639
  }, [rawMessages]);
520
- // Extract suggestions from suggest_followups tool
640
+ // Extract suggestions from suggest_followups tool, with a strict text
641
+ // fallback for models that append a trailing Markdown suggestion section.
521
642
  (0, react_1.useEffect)(() => {
522
643
  if (rawMessages.length === 0)
523
644
  return;
@@ -527,6 +648,7 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
527
648
  const message = rawMessages[messageIndex];
528
649
  if (message.role !== 'assistant')
529
650
  continue;
651
+ let structuredFollowups = null;
530
652
  for (const part of message.parts) {
531
653
  if (!('type' in part))
532
654
  continue;
@@ -542,7 +664,21 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
542
664
  continue;
543
665
  const followups = result.followups.filter((f) => typeof f === 'string' && f.trim().length > 0);
544
666
  if (followups.length > 0) {
545
- latestFollowups = followups.slice(0, count);
667
+ structuredFollowups = followups.slice(0, count);
668
+ }
669
+ }
670
+ if (structuredFollowups && structuredFollowups.length > 0) {
671
+ latestFollowups = structuredFollowups;
672
+ }
673
+ else {
674
+ for (const part of message.parts) {
675
+ if (!isRecord(part) || part.type !== 'text' || typeof part.text !== 'string') {
676
+ continue;
677
+ }
678
+ const extracted = (0, followup_suggestions_js_1.extractTrailingFollowupSuggestions)(part.text, count);
679
+ if (extracted.suggestions.length > 0) {
680
+ latestFollowups = extracted.suggestions;
681
+ }
546
682
  }
547
683
  }
548
684
  if (latestFollowups && latestFollowups.length > 0) {
@@ -605,21 +741,19 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
605
741
  };
606
742
  }, [mentionQuery, mentionTrigger, mentions]);
607
743
  // Actions
608
- const send = (0, react_1.useCallback)(async (message) => {
744
+ // The shared tail of every send: transport hygiene, then the transport.
745
+ const deliver = (0, react_1.useCallback)(async (processedMessage) => {
746
+ // An open approval is decided on its card. A typed "yes" must not count as
747
+ // approval, and rejecting it on send dropped requests the user wanted.
748
+ if (pendingApprovalsMap.size > 0) {
749
+ setApprovalReminder(true);
750
+ return;
751
+ }
609
752
  // Clear truncation and suggestion chips on new message
610
753
  setTruncation(null);
611
754
  setSuggestionChips([]);
612
755
  setPipelineSteps([]);
613
756
  setPipelineState(null);
614
- // Preprocess message
615
- let processedMessage = message;
616
- const mentionSerializeConfig = mentions?.serialize;
617
- if (mentionSerializeConfig?.enabled !== false) {
618
- processedMessage = (0, mention_markup_js_1.serializeMentionsForSend)(processedMessage, activeMentions, mentionSerializeConfig);
619
- }
620
- if (onBeforeSend) {
621
- processedMessage = onBeforeSend(processedMessage, activeMentions);
622
- }
623
757
  // Sanitize messages before sending to prevent AI_MissingToolResultsError
624
758
  const currentMessages = rawMessages;
625
759
  const sanitized = sanitizeMessages(currentMessages);
@@ -627,18 +761,6 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
627
761
  setMessages(sanitized);
628
762
  setPendingApprovalsMap(new Map());
629
763
  }
630
- // Auto-reject pending approvals when user sends new message
631
- if (pendingApprovalsMap.size > 0) {
632
- const approvalIds = Array.from(pendingApprovalsMap.keys());
633
- setPendingApprovalsMap(new Map());
634
- for (const approvalId of approvalIds) {
635
- await addToolApprovalResponse({
636
- id: approvalId,
637
- approved: false,
638
- reason: 'Auto-rejected: user sent a new message.',
639
- });
640
- }
641
- }
642
764
  await sendMessage({ text: processedMessage });
643
765
  setActiveMentions([]);
644
766
  setMentionQuery('');
@@ -649,12 +771,114 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
649
771
  rawMessages,
650
772
  setMessages,
651
773
  sendMessage,
652
- addToolApprovalResponse,
653
774
  pendingApprovalsMap,
775
+ ]);
776
+ const dispatchSend = (0, react_1.useCallback)(async (message, sendOptions) => {
777
+ const mentionsForSend = sendOptions?.mentions ?? activeMentions;
778
+ // A `/` command alone runs without the model; missing arguments open its form.
779
+ const plan = interactionRegistry?.planMessage(message, mentionsForSend);
780
+ if (plan?.status === 'needs-args') {
781
+ setPendingCommand(plan.request);
782
+ return;
783
+ }
784
+ if (plan?.status === 'send') {
785
+ setPendingCommand(null);
786
+ await deliver(plan.text);
787
+ return;
788
+ }
789
+ // Preprocess message
790
+ let processedMessage = plan?.status === 'prompt' ? plan.text : message;
791
+ const mentionSerializeConfig = mentions?.serialize;
792
+ if (mentionSerializeConfig?.enabled !== false) {
793
+ processedMessage = (0, mention_markup_js_1.serializeMentionsForSend)(processedMessage, mentionsForSend, mentionSerializeConfig);
794
+ }
795
+ if (onBeforeSend) {
796
+ processedMessage = onBeforeSend(processedMessage, mentionsForSend);
797
+ }
798
+ // Typing into the composer while a clarification is open answers it, so
799
+ // the server resumes the original request instead of starting over.
800
+ const openClarification = (0, clarification_js_1.findOpenClarification)(rawMessages);
801
+ if (openClarification?.request.allowFreeText
802
+ && processedMessage.trim().length > 0
803
+ && processedMessage.length <= clarification_js_2.CLARIFICATION_MAX_ANSWER_LENGTH
804
+ && !(0, clarification_js_2.parseClarificationAnswer)(processedMessage)) {
805
+ processedMessage = (0, clarification_js_1.clarificationAnswerMessage)({
806
+ toolCallId: openClarification.toolCallId,
807
+ answer: processedMessage,
808
+ });
809
+ }
810
+ await deliver(processedMessage);
811
+ }, [
812
+ rawMessages,
813
+ deliver,
814
+ interactionRegistry,
654
815
  mentions,
655
816
  onBeforeSend,
656
817
  activeMentions,
657
818
  ]);
819
+ // Decides synchronously whether the message is taken, so any composer can
820
+ // keep the typed text when it is not.
821
+ const send = (0, react_1.useCallback)((message, sendOptions) => {
822
+ if (sessionNotReady || sessionMutationRef.current)
823
+ return false;
824
+ if (pendingApprovalsMap.size > 0) {
825
+ setApprovalReminder(true);
826
+ return false;
827
+ }
828
+ void dispatchSend(message, sendOptions);
829
+ return true;
830
+ }, [sessionNotReady, pendingApprovalsMap, dispatchSend]);
831
+ const submitPendingCommand = (0, react_1.useCallback)((values, valueLabels) => {
832
+ if (!pendingCommand || !interactionRegistry || sessionNotReady || sessionMutationRef.current)
833
+ return false;
834
+ const plan = interactionRegistry.completeCommand(pendingCommand, values, valueLabels);
835
+ if (plan.status !== 'send') {
836
+ setPendingCommand(plan.status === 'needs-args' ? plan.request : null);
837
+ return plan.status !== 'needs-args';
838
+ }
839
+ setPendingCommand(null);
840
+ void deliver(plan.text);
841
+ return true;
842
+ }, [pendingCommand, interactionRegistry, sessionNotReady, deliver]);
843
+ const cancelPendingCommand = (0, react_1.useCallback)(() => setPendingCommand(null), []);
844
+ const runEntityAction = (0, react_1.useCallback)((entity, actionId) => {
845
+ if (sessionNotReady || sessionMutationRef.current)
846
+ return;
847
+ const plan = interactionRegistry?.planAction(entity, actionId);
848
+ if (!plan)
849
+ return;
850
+ if (plan.status === 'needs-args') {
851
+ setPendingCommand(plan.request);
852
+ return;
853
+ }
854
+ setPendingCommand(null);
855
+ void deliver(plan.text);
856
+ }, [interactionRegistry, sessionNotReady, deliver]);
857
+ const mentionEntity = (0, react_1.useCallback)(async (type, id) => {
858
+ const entity = interactionRegistry?.entity(type);
859
+ if (!entity?.resolve)
860
+ return false;
861
+ let item;
862
+ try {
863
+ item = (0, definitions_js_1.toChatEntityItem)(await entity.resolve(id));
864
+ }
865
+ catch {
866
+ return false;
867
+ }
868
+ if (!item)
869
+ return false;
870
+ const resolved = item;
871
+ setComposerMentions((previous) => [...previous, {
872
+ id: resolved.id,
873
+ type,
874
+ label: resolved.label,
875
+ displayName: resolved.label,
876
+ prefix: '@',
877
+ slug: (0, mention_markup_js_1.normalizeMentionSlug)(resolved.label),
878
+ }]);
879
+ return true;
880
+ }, [interactionRegistry]);
881
+ const consumeComposerMentions = (0, react_1.useCallback)(() => setComposerMentions([]), []);
658
882
  const stop = (0, react_1.useCallback)(() => {
659
883
  setPipelineState((prev) => ({
660
884
  status: 'aborted',
@@ -682,6 +906,7 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
682
906
  setMentionResults([]);
683
907
  setActiveMentions([]);
684
908
  setIsMentionSearching(false);
909
+ setPendingCommand(null);
685
910
  setSuggestionChips(suggestionsConfig.staticChips ?? []);
686
911
  }, [setMessages, activeSessionId, suggestionsConfig.staticChips]);
687
912
  // ---------------------------------------------------------------------------
@@ -704,17 +929,17 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
704
929
  setSessions(list);
705
930
  // Auto-select the first session if we're still on the bootstrap
706
931
  // sentinel and the consumer doesn't control `activeId` externally.
707
- if (list.length > 0 &&
932
+ if (!streamActiveRef.current &&
933
+ list.length > 0 &&
708
934
  cfg.activeId === undefined &&
709
- (uncontrolledActiveIdRef.current === 'default' ||
710
- !list.some((s) => s.id === uncontrolledActiveIdRef.current))) {
935
+ !list.some((s) => s.id === uncontrolledActiveIdRef.current)) {
711
936
  const next = list[0].id;
712
937
  setUncontrolledActiveId(next);
713
938
  cfg.onActiveIdChange?.(next);
714
939
  }
715
940
  }
716
- catch (err) {
717
- console.warn('[AiChatProvider] session.list failed:', err);
941
+ catch {
942
+ console.warn('[AiChatProvider] session.list failed');
718
943
  }
719
944
  finally {
720
945
  setIsSessionsLoading(false);
@@ -743,8 +968,13 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
743
968
  wasLoadingRef.current = isLoading;
744
969
  }, [isLoading, sessionsSupported, refreshSessions]);
745
970
  const switchSession = (0, react_1.useCallback)(async (id) => {
746
- if (id === activeSessionId)
971
+ if (streamActiveRef.current)
972
+ return;
973
+ if (id === activeSessionId) {
974
+ if (sessionLoadFailure?.id === id)
975
+ setSessionRestoreAttempt((attempt) => attempt + 1);
747
976
  return;
977
+ }
748
978
  // Reset transient UI state before loading new session
749
979
  setPendingApprovalsMap(new Map());
750
980
  setTruncation(null);
@@ -753,38 +983,58 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
753
983
  setSuggestionChips(suggestionsConfig.staticChips ?? []);
754
984
  setVisibleMessageCount(30);
755
985
  applyActiveId(id);
756
- }, [activeSessionId, applyActiveId, suggestionsConfig.staticChips]);
986
+ }, [activeSessionId, applyActiveId, suggestionsConfig.staticChips, isLoading, sessionLoadFailure]);
757
987
  const createSession = (0, react_1.useCallback)(async (opts) => {
988
+ if (streamActiveRef.current || sessionMutationRef.current)
989
+ return null;
758
990
  const cfg = sessionRef.current;
759
991
  if (!cfg?.create)
760
992
  return null;
761
- const created = await cfg.create(opts);
762
- await refreshSessions();
763
- await switchSession(created.id);
764
- return created;
765
- }, [refreshSessions, switchSession]);
993
+ sessionMutationRef.current = true;
994
+ setIsSessionMutating(true);
995
+ try {
996
+ const created = await cfg.create(opts);
997
+ await refreshSessions();
998
+ await switchSession(created.id);
999
+ return created;
1000
+ }
1001
+ finally {
1002
+ sessionMutationRef.current = false;
1003
+ setIsSessionMutating(false);
1004
+ }
1005
+ }, [refreshSessions, switchSession, isLoading]);
766
1006
  const removeSession = (0, react_1.useCallback)(async (id) => {
1007
+ if (streamActiveRef.current || sessionMutationRef.current)
1008
+ return;
767
1009
  const cfg = sessionRef.current;
768
1010
  if (!cfg?.remove)
769
1011
  return;
770
- await cfg.remove(id);
771
- // Re-fetch first so the fallback target reflects reality
772
- const cfgList = cfg.list ? await cfg.list() : [];
773
- setSessions(cfgList);
774
- if (id === activeSessionId) {
775
- const next = cfgList.find((s) => s.id !== id);
776
- if (next) {
777
- await switchSession(next.id);
778
- }
779
- else if (cfg.create) {
780
- // No sessions left — spin up a fresh one
781
- const created = await cfg.create();
782
- const refreshed = cfg.list ? await cfg.list() : [created];
783
- setSessions(refreshed);
784
- await switchSession(created.id);
1012
+ sessionMutationRef.current = true;
1013
+ setIsSessionMutating(true);
1014
+ try {
1015
+ await cfg.remove(id);
1016
+ // Re-fetch first so the fallback target reflects reality
1017
+ const cfgList = cfg.list ? await cfg.list() : [];
1018
+ setSessions(cfgList);
1019
+ if (id === activeSessionId) {
1020
+ const next = cfgList.find((s) => s.id !== id);
1021
+ if (next) {
1022
+ await switchSession(next.id);
1023
+ }
1024
+ else if (cfg.create) {
1025
+ // No sessions left — spin up a fresh one
1026
+ const created = await cfg.create();
1027
+ const refreshed = cfg.list ? await cfg.list() : [created];
1028
+ setSessions(refreshed);
1029
+ await switchSession(created.id);
1030
+ }
785
1031
  }
786
1032
  }
787
- }, [activeSessionId, switchSession]);
1033
+ finally {
1034
+ sessionMutationRef.current = false;
1035
+ setIsSessionMutating(false);
1036
+ }
1037
+ }, [activeSessionId, switchSession, isLoading]);
788
1038
  const renameSession = (0, react_1.useCallback)(async (id, title) => {
789
1039
  const cfg = sessionRef.current;
790
1040
  if (!cfg?.rename)
@@ -804,28 +1054,52 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
804
1054
  }, []);
805
1055
  // Approval handlers
806
1056
  const approve = (0, react_1.useCallback)(async (id) => {
807
- setProcessingApprovalId(id);
808
- setPendingApprovalsMap(prev => {
809
- const next = new Map(prev);
810
- next.delete(id);
811
- return next;
812
- });
813
- await addToolApprovalResponse({ id, approved: true });
814
- setProcessingApprovalId(null);
1057
+ setApprovalError(null);
1058
+ setProcessingApprovalIds((prev) => new Set(prev).add(id));
1059
+ try {
1060
+ await addToolApprovalResponse({ id, approved: true });
1061
+ setPendingApprovalsMap((prev) => {
1062
+ const next = new Map(prev);
1063
+ next.delete(id);
1064
+ return next;
1065
+ });
1066
+ }
1067
+ catch {
1068
+ setApprovalError(new Error('Tool approval response failed.'));
1069
+ }
1070
+ finally {
1071
+ setProcessingApprovalIds((prev) => {
1072
+ const next = new Set(prev);
1073
+ next.delete(id);
1074
+ return next;
1075
+ });
1076
+ }
815
1077
  }, [addToolApprovalResponse]);
816
1078
  const reject = (0, react_1.useCallback)(async (id) => {
817
- setProcessingApprovalId(id);
818
- setPendingApprovalsMap(prev => {
819
- const next = new Map(prev);
820
- next.delete(id);
821
- return next;
822
- });
823
- await addToolApprovalResponse({
824
- id,
825
- approved: false,
826
- reason: 'Rejected by user.',
827
- });
828
- setProcessingApprovalId(null);
1079
+ setApprovalError(null);
1080
+ setProcessingApprovalIds((prev) => new Set(prev).add(id));
1081
+ try {
1082
+ await addToolApprovalResponse({
1083
+ id,
1084
+ approved: false,
1085
+ reason: 'Rejected by user.',
1086
+ });
1087
+ setPendingApprovalsMap((prev) => {
1088
+ const next = new Map(prev);
1089
+ next.delete(id);
1090
+ return next;
1091
+ });
1092
+ }
1093
+ catch {
1094
+ setApprovalError(new Error('Tool approval response failed.'));
1095
+ }
1096
+ finally {
1097
+ setProcessingApprovalIds((prev) => {
1098
+ const next = new Set(prev);
1099
+ next.delete(id);
1100
+ return next;
1101
+ });
1102
+ }
829
1103
  }, [addToolApprovalResponse]);
830
1104
  // Truncation
831
1105
  const continueTruncation = (0, react_1.useCallback)(async () => {
@@ -915,16 +1189,19 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
915
1189
  locale,
916
1190
  themeVars,
917
1191
  themeEffect,
1192
+ unstyled,
918
1193
  suggestions: suggestionsConfig,
919
1194
  toolLabels,
920
1195
  toolResults: toolResultConfig,
1196
+ toolRendererRegistry,
921
1197
  voice: voiceConfig,
922
1198
  mentionConfig: mentions,
923
1199
  pipelineMessageTranslator,
924
1200
  stepSummaryFormatter,
925
1201
  messages: visibleMessages,
926
- isLoading,
927
- error: error ?? null,
1202
+ isLoading: isLoading || isSessionMutating || sessionNotReady,
1203
+ isSessionChangeBlocked: isLoading || isSessionMutating,
1204
+ error: error ?? approvalError,
928
1205
  send,
929
1206
  stop,
930
1207
  clear,
@@ -933,9 +1210,10 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
933
1210
  pipelineSteps,
934
1211
  pipelineState,
935
1212
  pendingApprovals,
1213
+ approvalReminder,
936
1214
  approve,
937
1215
  reject,
938
- isProcessingApproval: processingApprovalId !== null,
1216
+ isProcessingApproval: processingApprovalIds.size > 0,
939
1217
  approvalDescription: approvalDescriptionRef.current,
940
1218
  truncation,
941
1219
  continueTruncation,
@@ -952,6 +1230,16 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
952
1230
  clearActiveMentions,
953
1231
  isMentionSearching,
954
1232
  hasMentions: !!mentions,
1233
+ completionSearch,
1234
+ hasCompletions: completionSearch !== undefined,
1235
+ interactions: interactionRegistry,
1236
+ pendingCommand,
1237
+ submitPendingCommand,
1238
+ cancelPendingCommand,
1239
+ runEntityAction,
1240
+ mentionEntity,
1241
+ composerMentions,
1242
+ consumeComposerMentions,
955
1243
  suggestionChips,
956
1244
  selectSuggestion,
957
1245
  refreshSuggestions,
@@ -971,16 +1259,22 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
971
1259
  locale,
972
1260
  themeVars,
973
1261
  themeEffect,
1262
+ unstyled,
974
1263
  suggestionsConfig,
975
1264
  toolLabels,
976
1265
  toolResultConfig,
1266
+ toolRendererRegistry,
977
1267
  voiceConfig,
978
1268
  mentions,
979
1269
  pipelineMessageTranslator,
980
1270
  stepSummaryFormatter,
981
1271
  visibleMessages,
982
1272
  isLoading,
1273
+ sessionNotReady,
1274
+ isSessionMutating,
1275
+ isBootstrapSentinel,
983
1276
  error,
1277
+ approvalError,
984
1278
  send,
985
1279
  stop,
986
1280
  clear,
@@ -989,9 +1283,10 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
989
1283
  pipelineSteps,
990
1284
  pipelineState,
991
1285
  pendingApprovals,
1286
+ approvalReminder,
992
1287
  approve,
993
1288
  reject,
994
- processingApprovalId,
1289
+ processingApprovalIds,
995
1290
  truncation,
996
1291
  continueTruncation,
997
1292
  dismissTruncation,
@@ -1006,6 +1301,15 @@ function AiChatProvider({ transport, mentions, toolResults: userToolResults, voi
1006
1301
  removeActiveMention,
1007
1302
  clearActiveMentions,
1008
1303
  isMentionSearching,
1304
+ completionSearch,
1305
+ interactionRegistry,
1306
+ pendingCommand,
1307
+ submitPendingCommand,
1308
+ cancelPendingCommand,
1309
+ runEntityAction,
1310
+ mentionEntity,
1311
+ composerMentions,
1312
+ consumeComposerMentions,
1009
1313
  suggestionChips,
1010
1314
  selectSuggestion,
1011
1315
  refreshSuggestions,