@alneas/appkit-react 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +85 -15
  3. package/consumer-ai/SKILL.md +12 -0
  4. package/consumer-ai/api-index.json +103754 -0
  5. package/consumer-ai/package-context.json +409 -0
  6. package/dist/ai/action/ExecutionHistory.cjs.map +1 -1
  7. package/dist/ai/action/ExecutionHistory.d.cts +32 -2
  8. package/dist/ai/action/ExecutionHistory.d.ts +32 -2
  9. package/dist/ai/action/ExecutionHistory.js.map +1 -1
  10. package/dist/ai/action/ScreenActionContext.cjs.map +1 -1
  11. package/dist/ai/action/ScreenActionContext.d.cts +15 -2
  12. package/dist/ai/action/ScreenActionContext.d.ts +15 -2
  13. package/dist/ai/action/ScreenActionContext.js.map +1 -1
  14. package/dist/ai/action/context.cjs.map +1 -1
  15. package/dist/ai/action/context.d.cts +19 -3
  16. package/dist/ai/action/context.d.ts +19 -3
  17. package/dist/ai/action/context.js.map +1 -1
  18. package/dist/ai/action/types.d.cts +35 -3
  19. package/dist/ai/action/types.d.ts +35 -3
  20. package/dist/ai/action/use-execution-session.cjs.map +1 -1
  21. package/dist/ai/action/use-execution-session.d.cts +17 -1
  22. package/dist/ai/action/use-execution-session.d.ts +17 -1
  23. package/dist/ai/action/use-execution-session.js.map +1 -1
  24. package/dist/ai/action/use-screen-action-registry.cjs.map +1 -1
  25. package/dist/ai/action/use-screen-action-registry.d.cts +77 -8
  26. package/dist/ai/action/use-screen-action-registry.d.ts +77 -8
  27. package/dist/ai/action/use-screen-action-registry.js.map +1 -1
  28. package/dist/ai/action/use-screen-action.cjs.map +1 -1
  29. package/dist/ai/action/use-screen-action.d.cts +23 -6
  30. package/dist/ai/action/use-screen-action.d.ts +23 -6
  31. package/dist/ai/action/use-screen-action.js.map +1 -1
  32. package/dist/ai/action/use-screen-context.cjs.map +1 -1
  33. package/dist/ai/action/use-screen-context.d.cts +42 -5
  34. package/dist/ai/action/use-screen-context.d.ts +42 -5
  35. package/dist/ai/action/use-screen-context.js.map +1 -1
  36. package/dist/ai/ai-chat/transport.cjs.map +1 -1
  37. package/dist/ai/ai-chat/transport.d.cts +35 -8
  38. package/dist/ai/ai-chat/transport.d.ts +35 -8
  39. package/dist/ai/ai-chat/transport.js.map +1 -1
  40. package/dist/ai/generative-ui/GenerativeUIRenderer.cjs.map +1 -1
  41. package/dist/ai/generative-ui/GenerativeUIRenderer.d.cts +21 -3
  42. package/dist/ai/generative-ui/GenerativeUIRenderer.d.ts +21 -3
  43. package/dist/ai/generative-ui/GenerativeUIRenderer.js.map +1 -1
  44. package/dist/ai/generative-ui/error-boundary.cjs.map +1 -1
  45. package/dist/ai/generative-ui/error-boundary.d.cts +98 -2
  46. package/dist/ai/generative-ui/error-boundary.d.ts +98 -2
  47. package/dist/ai/generative-ui/error-boundary.js.map +1 -1
  48. package/dist/ai/generative-ui/registry.cjs.map +1 -1
  49. package/dist/ai/generative-ui/registry.d.cts +96 -7
  50. package/dist/ai/generative-ui/registry.d.ts +96 -7
  51. package/dist/ai/generative-ui/registry.js.map +1 -1
  52. package/dist/ai/proposal/ProposalFieldReview.cjs.map +1 -1
  53. package/dist/ai/proposal/ProposalFieldReview.d.cts +170 -8
  54. package/dist/ai/proposal/ProposalFieldReview.d.ts +170 -8
  55. package/dist/ai/proposal/ProposalFieldReview.js.map +1 -1
  56. package/dist/ai/proposal/types.d.cts +97 -26
  57. package/dist/ai/proposal/types.d.ts +97 -26
  58. package/dist/ai/proposal/use-proposal-batch-review.cjs.map +1 -1
  59. package/dist/ai/proposal/use-proposal-batch-review.d.cts +133 -7
  60. package/dist/ai/proposal/use-proposal-batch-review.d.ts +133 -7
  61. package/dist/ai/proposal/use-proposal-batch-review.js.map +1 -1
  62. package/dist/ai/proposal/use-proposal-review.cjs.map +1 -1
  63. package/dist/ai/proposal/use-proposal-review.d.cts +47 -5
  64. package/dist/ai/proposal/use-proposal-review.d.ts +47 -5
  65. package/dist/ai/proposal/use-proposal-review.js.map +1 -1
  66. package/dist/avatar.svg +1 -0
  67. package/dist/consumer-ai/SKILL.md +6 -0
  68. package/dist/consumer-ai/api-index.json +103754 -0
  69. package/dist/consumer-ai/package-context.json +5 -3
  70. package/dist/mockServiceWorker.js +361 -0
  71. package/dist/styles.css +1 -1
  72. package/dist/tools/components/auth/AuthForms.cjs.map +1 -1
  73. package/dist/tools/components/auth/AuthForms.d.cts +131 -81
  74. package/dist/tools/components/auth/AuthForms.d.ts +131 -81
  75. package/dist/tools/components/auth/AuthForms.js.map +1 -1
  76. package/dist/tools/components/auth/AuthGuard.cjs.map +1 -1
  77. package/dist/tools/components/auth/AuthGuard.d.cts +31 -4
  78. package/dist/tools/components/auth/AuthGuard.d.ts +31 -4
  79. package/dist/tools/components/auth/AuthGuard.js.map +1 -1
  80. package/dist/tools/components/auth/AuthProvider.cjs.map +1 -1
  81. package/dist/tools/components/auth/AuthProvider.d.cts +39 -42
  82. package/dist/tools/components/auth/AuthProvider.d.ts +39 -42
  83. package/dist/tools/components/auth/AuthProvider.js.map +1 -1
  84. package/dist/tools/components/auth/ProtectedRoute.cjs.map +1 -1
  85. package/dist/tools/components/auth/ProtectedRoute.d.cts +75 -60
  86. package/dist/tools/components/auth/ProtectedRoute.d.ts +75 -60
  87. package/dist/tools/components/auth/ProtectedRoute.js.map +1 -1
  88. package/dist/tools/components/auth/SignInButton.cjs.map +1 -1
  89. package/dist/tools/components/auth/SignInButton.d.cts +26 -18
  90. package/dist/tools/components/auth/SignInButton.d.ts +26 -18
  91. package/dist/tools/components/auth/SignInButton.js.map +1 -1
  92. package/dist/tools/components/auth/UserProfileProvider.cjs.map +1 -1
  93. package/dist/tools/components/auth/UserProfileProvider.d.cts +48 -20
  94. package/dist/tools/components/auth/UserProfileProvider.d.ts +48 -20
  95. package/dist/tools/components/auth/UserProfileProvider.js.map +1 -1
  96. package/dist/tools/components/auth/adapters/better-auth-adapter.cjs.map +1 -1
  97. package/dist/tools/components/auth/adapters/better-auth-adapter.d.cts +371 -51
  98. package/dist/tools/components/auth/adapters/better-auth-adapter.d.ts +371 -51
  99. package/dist/tools/components/auth/adapters/better-auth-adapter.js.map +1 -1
  100. package/dist/tools/components/auth/adapters/mock-adapter.cjs.map +1 -1
  101. package/dist/tools/components/auth/adapters/mock-adapter.d.cts +149 -28
  102. package/dist/tools/components/auth/adapters/mock-adapter.d.ts +149 -28
  103. package/dist/tools/components/auth/adapters/mock-adapter.js.map +1 -1
  104. package/dist/tools/components/auth/auth-session.cjs.map +1 -1
  105. package/dist/tools/components/auth/auth-session.d.cts +147 -1
  106. package/dist/tools/components/auth/auth-session.d.ts +147 -1
  107. package/dist/tools/components/auth/auth-session.js.map +1 -1
  108. package/dist/tools/components/auth/session-cache.cjs.map +1 -1
  109. package/dist/tools/components/auth/session-cache.d.cts +88 -24
  110. package/dist/tools/components/auth/session-cache.d.ts +88 -24
  111. package/dist/tools/components/auth/session-cache.js.map +1 -1
  112. package/dist/tools/components/auth/types.cjs.map +1 -1
  113. package/dist/tools/components/auth/types.d.cts +329 -106
  114. package/dist/tools/components/auth/types.d.ts +329 -106
  115. package/dist/tools/components/auth/types.js.map +1 -1
  116. package/dist/tools/components/auth/useAuth.cjs.map +1 -1
  117. package/dist/tools/components/auth/useAuth.d.cts +110 -17
  118. package/dist/tools/components/auth/useAuth.d.ts +110 -17
  119. package/dist/tools/components/auth/useAuth.js.map +1 -1
  120. package/dist/tools/components/auth/useAuthGuard.cjs.map +1 -1
  121. package/dist/tools/components/auth/useAuthGuard.d.cts +49 -38
  122. package/dist/tools/components/auth/useAuthGuard.d.ts +49 -38
  123. package/dist/tools/components/auth/useAuthGuard.js.map +1 -1
  124. package/dist/tools/components/auth/useRoleCheck.cjs.map +1 -1
  125. package/dist/tools/components/auth/useRoleCheck.d.cts +48 -1
  126. package/dist/tools/components/auth/useRoleCheck.d.ts +48 -1
  127. package/dist/tools/components/auth/useRoleCheck.js.map +1 -1
  128. package/dist/tools/components/auth/useUserProfile.cjs.map +1 -1
  129. package/dist/tools/components/auth/useUserProfile.d.cts +66 -1
  130. package/dist/tools/components/auth/useUserProfile.d.ts +66 -1
  131. package/dist/tools/components/auth/useUserProfile.js.map +1 -1
  132. package/dist/tools/components/barcode/BarcodeGenerator.cjs.map +1 -1
  133. package/dist/tools/components/barcode/BarcodeGenerator.d.cts +32 -18
  134. package/dist/tools/components/barcode/BarcodeGenerator.d.ts +32 -18
  135. package/dist/tools/components/barcode/BarcodeGenerator.js.map +1 -1
  136. package/dist/tools/components/barcode/QRCodeGenerator.cjs +1 -1
  137. package/dist/tools/components/barcode/QRCodeGenerator.cjs.map +1 -1
  138. package/dist/tools/components/barcode/QRCodeGenerator.d.cts +20 -13
  139. package/dist/tools/components/barcode/QRCodeGenerator.d.ts +20 -13
  140. package/dist/tools/components/barcode/QRCodeGenerator.js +1 -1
  141. package/dist/tools/components/barcode/QRCodeGenerator.js.map +1 -1
  142. package/dist/tools/components/barcode/QRCodeScanner.cjs.map +1 -1
  143. package/dist/tools/components/barcode/QRCodeScanner.d.cts +32 -1
  144. package/dist/tools/components/barcode/QRCodeScanner.d.ts +32 -1
  145. package/dist/tools/components/barcode/QRCodeScanner.js.map +1 -1
  146. package/dist/tools/components/calendar/ResourceCalendar.cjs.map +1 -1
  147. package/dist/tools/components/calendar/ResourceCalendar.d.cts +17 -42
  148. package/dist/tools/components/calendar/ResourceCalendar.d.ts +17 -42
  149. package/dist/tools/components/calendar/ResourceCalendar.js.map +1 -1
  150. package/dist/tools/components/calendar/views/ResourceView.cjs +1 -1
  151. package/dist/tools/components/calendar/views/ResourceView.cjs.map +1 -1
  152. package/dist/tools/components/calendar/views/ResourceView.js +2 -2
  153. package/dist/tools/components/calendar/views/ResourceView.js.map +1 -1
  154. package/dist/tools/components/chart/ComposedChart.cjs.map +1 -1
  155. package/dist/tools/components/chart/ComposedChart.d.cts +54 -1
  156. package/dist/tools/components/chart/ComposedChart.d.ts +54 -1
  157. package/dist/tools/components/chart/ComposedChart.js.map +1 -1
  158. package/dist/tools/components/chart/SimpleAreaChart.cjs.map +1 -1
  159. package/dist/tools/components/chart/SimpleAreaChart.d.cts +41 -1
  160. package/dist/tools/components/chart/SimpleAreaChart.d.ts +41 -1
  161. package/dist/tools/components/chart/SimpleAreaChart.js.map +1 -1
  162. package/dist/tools/components/chart/SimpleBarChart.cjs.map +1 -1
  163. package/dist/tools/components/chart/SimpleBarChart.d.cts +34 -24
  164. package/dist/tools/components/chart/SimpleBarChart.d.ts +34 -24
  165. package/dist/tools/components/chart/SimpleBarChart.js.map +1 -1
  166. package/dist/tools/components/chart/SimpleLineChart.cjs.map +1 -1
  167. package/dist/tools/components/chart/SimpleLineChart.d.cts +31 -28
  168. package/dist/tools/components/chart/SimpleLineChart.d.ts +31 -28
  169. package/dist/tools/components/chart/SimpleLineChart.js.map +1 -1
  170. package/dist/tools/components/chart/SimplePieChart.cjs.map +1 -1
  171. package/dist/tools/components/chart/SimplePieChart.d.cts +28 -22
  172. package/dist/tools/components/chart/SimplePieChart.d.ts +28 -22
  173. package/dist/tools/components/chart/SimplePieChart.js.map +1 -1
  174. package/dist/tools/components/chart/SimpleRadarChart.cjs.map +1 -1
  175. package/dist/tools/components/chart/SimpleRadarChart.d.cts +38 -1
  176. package/dist/tools/components/chart/SimpleRadarChart.d.ts +38 -1
  177. package/dist/tools/components/chart/SimpleRadarChart.js.map +1 -1
  178. package/dist/tools/components/chart/SimpleScatterChart.cjs.map +1 -1
  179. package/dist/tools/components/chart/SimpleScatterChart.d.cts +44 -1
  180. package/dist/tools/components/chart/SimpleScatterChart.d.ts +44 -1
  181. package/dist/tools/components/chart/SimpleScatterChart.js.map +1 -1
  182. package/dist/tools/components/chart/StackedBarChart.cjs.map +1 -1
  183. package/dist/tools/components/chart/StackedBarChart.d.cts +38 -1
  184. package/dist/tools/components/chart/StackedBarChart.d.ts +38 -1
  185. package/dist/tools/components/chart/StackedBarChart.js.map +1 -1
  186. package/dist/tools/components/data-table/data-table.cjs +1 -1
  187. package/dist/tools/components/data-table/data-table.cjs.map +1 -1
  188. package/dist/tools/components/data-table/data-table.js +286 -263
  189. package/dist/tools/components/data-table/data-table.js.map +1 -1
  190. package/dist/tools/components/data-table/table-utils.cjs.map +1 -1
  191. package/dist/tools/components/data-table/table-utils.d.cts +45 -35
  192. package/dist/tools/components/data-table/table-utils.d.ts +45 -35
  193. package/dist/tools/components/data-table/table-utils.js.map +1 -1
  194. package/dist/tools/components/editable-table/editable-table.cjs +1 -1
  195. package/dist/tools/components/editable-table/editable-table.cjs.map +1 -1
  196. package/dist/tools/components/editable-table/editable-table.js +15 -2
  197. package/dist/tools/components/editable-table/editable-table.js.map +1 -1
  198. package/dist/tools/components/error/ErrorDialog.cjs +1 -1
  199. package/dist/tools/components/error/ErrorDialog.cjs.map +1 -1
  200. package/dist/tools/components/error/ErrorDialog.js +1 -1
  201. package/dist/tools/components/error/ErrorDialog.js.map +1 -1
  202. package/dist/tools/components/error/ErrorInline.cjs +1 -1
  203. package/dist/tools/components/error/ErrorInline.cjs.map +1 -1
  204. package/dist/tools/components/error/ErrorInline.js +1 -1
  205. package/dist/tools/components/error/ErrorInline.js.map +1 -1
  206. package/dist/tools/components/error/ErrorNotification.cjs +1 -1
  207. package/dist/tools/components/error/ErrorNotification.cjs.map +1 -1
  208. package/dist/tools/components/error/ErrorNotification.js +10 -10
  209. package/dist/tools/components/error/ErrorNotification.js.map +1 -1
  210. package/dist/tools/components/file-browser/FilePreview.cjs +1 -1
  211. package/dist/tools/components/file-browser/FilePreview.cjs.map +1 -1
  212. package/dist/tools/components/file-browser/FilePreview.js +28 -26
  213. package/dist/tools/components/file-browser/FilePreview.js.map +1 -1
  214. package/dist/tools/components/filter/filter.cjs.map +1 -1
  215. package/dist/tools/components/filter/filter.d.cts +23 -34
  216. package/dist/tools/components/filter/filter.d.ts +23 -34
  217. package/dist/tools/components/filter/filter.js.map +1 -1
  218. package/dist/tools/components/form/EnhancedDetailPage.cjs.map +1 -1
  219. package/dist/tools/components/form/EnhancedDetailPage.d.cts +47 -42
  220. package/dist/tools/components/form/EnhancedDetailPage.d.ts +47 -42
  221. package/dist/tools/components/form/EnhancedDetailPage.js.map +1 -1
  222. package/dist/tools/components/form/form-grid.cjs.map +1 -1
  223. package/dist/tools/components/form/form-grid.d.cts +44 -22
  224. package/dist/tools/components/form/form-grid.d.ts +44 -22
  225. package/dist/tools/components/form/form-grid.js.map +1 -1
  226. package/dist/tools/components/gantt/GanttChart.cjs +1 -1
  227. package/dist/tools/components/gantt/GanttChart.cjs.map +1 -1
  228. package/dist/tools/components/gantt/GanttChart.d.cts +20 -1
  229. package/dist/tools/components/gantt/GanttChart.d.ts +20 -1
  230. package/dist/tools/components/gantt/GanttChart.js +3 -0
  231. package/dist/tools/components/gantt/GanttChart.js.map +1 -1
  232. package/dist/tools/components/gantt/components/GanttTaskBar.cjs +1 -1
  233. package/dist/tools/components/gantt/components/GanttTaskBar.cjs.map +1 -1
  234. package/dist/tools/components/gantt/components/GanttTaskBar.js +2 -1
  235. package/dist/tools/components/gantt/components/GanttTaskBar.js.map +1 -1
  236. package/dist/tools/components/header/header.cjs +1 -1
  237. package/dist/tools/components/header/header.cjs.map +1 -1
  238. package/dist/tools/components/header/header.d.cts +103 -40
  239. package/dist/tools/components/header/header.d.ts +103 -40
  240. package/dist/tools/components/header/header.js +1 -1
  241. package/dist/tools/components/header/header.js.map +1 -1
  242. package/dist/tools/components/i18n/LanguageSwitcher.cjs.map +1 -1
  243. package/dist/tools/components/i18n/LanguageSwitcher.d.cts +18 -14
  244. package/dist/tools/components/i18n/LanguageSwitcher.d.ts +18 -14
  245. package/dist/tools/components/i18n/LanguageSwitcher.js.map +1 -1
  246. package/dist/tools/components/kanban/KanbanBoard.cjs +1 -1
  247. package/dist/tools/components/kanban/KanbanBoard.cjs.map +1 -1
  248. package/dist/tools/components/kanban/KanbanBoard.d.cts +16 -34
  249. package/dist/tools/components/kanban/KanbanBoard.d.ts +16 -34
  250. package/dist/tools/components/kanban/KanbanBoard.js +3 -0
  251. package/dist/tools/components/kanban/KanbanBoard.js.map +1 -1
  252. package/dist/tools/components/kanban/KanbanColumn.cjs +1 -1
  253. package/dist/tools/components/kanban/KanbanColumn.cjs.map +1 -1
  254. package/dist/tools/components/kanban/KanbanColumn.js +1 -1
  255. package/dist/tools/components/kanban/KanbanColumn.js.map +1 -1
  256. package/dist/tools/components/kanban/kanban-compound.cjs +1 -1
  257. package/dist/tools/components/kanban/kanban-compound.cjs.map +1 -1
  258. package/dist/tools/components/kanban/kanban-compound.js +4 -1
  259. package/dist/tools/components/kanban/kanban-compound.js.map +1 -1
  260. package/dist/tools/components/kanban/kanban-primitives.cjs +1 -1
  261. package/dist/tools/components/kanban/kanban-primitives.cjs.map +1 -1
  262. package/dist/tools/components/kanban/kanban-primitives.js +0 -1
  263. package/dist/tools/components/kanban/kanban-primitives.js.map +1 -1
  264. package/dist/tools/components/priority-queue/PriorityCard.cjs +1 -1
  265. package/dist/tools/components/priority-queue/PriorityCard.cjs.map +1 -1
  266. package/dist/tools/components/priority-queue/PriorityCard.js +3 -1
  267. package/dist/tools/components/priority-queue/PriorityCard.js.map +1 -1
  268. package/dist/tools/components/sidebar/SmartSidebar.cjs.map +1 -1
  269. package/dist/tools/components/sidebar/SmartSidebar.d.cts +41 -43
  270. package/dist/tools/components/sidebar/SmartSidebar.d.ts +41 -43
  271. package/dist/tools/components/sidebar/SmartSidebar.js.map +1 -1
  272. package/dist/tools/components/splash/SplashScreen.cjs.map +1 -1
  273. package/dist/tools/components/splash/SplashScreen.d.cts +43 -68
  274. package/dist/tools/components/splash/SplashScreen.d.ts +43 -68
  275. package/dist/tools/components/splash/SplashScreen.js.map +1 -1
  276. package/dist/tools/components/workflow/WorkflowStatusPanel.cjs +1 -1
  277. package/dist/tools/components/workflow/WorkflowStatusPanel.cjs.map +1 -1
  278. package/dist/tools/components/workflow/WorkflowStatusPanel.js +2 -2
  279. package/dist/tools/components/workflow/WorkflowStatusPanel.js.map +1 -1
  280. package/dist/tools/lib/data-access/data-access-context.cjs.map +1 -1
  281. package/dist/tools/lib/data-access/data-access-context.d.cts +15 -6
  282. package/dist/tools/lib/data-access/data-access-context.d.ts +15 -6
  283. package/dist/tools/lib/data-access/data-access-context.js.map +1 -1
  284. package/dist/tools/lib/data-access/react-query-provider.cjs.map +1 -1
  285. package/dist/tools/lib/data-access/react-query-provider.d.cts +19 -2
  286. package/dist/tools/lib/data-access/react-query-provider.d.ts +19 -2
  287. package/dist/tools/lib/data-access/react-query-provider.js.map +1 -1
  288. package/dist/tools/lib/data-access/react-query.cjs.map +1 -1
  289. package/dist/tools/lib/data-access/react-query.d.cts +365 -90
  290. package/dist/tools/lib/data-access/react-query.d.ts +365 -90
  291. package/dist/tools/lib/data-access/react-query.js.map +1 -1
  292. package/dist/tools/lib/error/AppError.cjs.map +1 -1
  293. package/dist/tools/lib/error/AppError.d.cts +157 -63
  294. package/dist/tools/lib/error/AppError.d.ts +157 -63
  295. package/dist/tools/lib/error/AppError.js.map +1 -1
  296. package/dist/tools/lib/hooks/useAsyncWithTimeout.cjs.map +1 -1
  297. package/dist/tools/lib/hooks/useAsyncWithTimeout.d.cts +79 -26
  298. package/dist/tools/lib/hooks/useAsyncWithTimeout.d.ts +79 -26
  299. package/dist/tools/lib/hooks/useAsyncWithTimeout.js.map +1 -1
  300. package/dist/tools/lib/hooks/useError.cjs.map +1 -1
  301. package/dist/tools/lib/hooks/useError.d.cts +51 -16
  302. package/dist/tools/lib/hooks/useError.d.ts +51 -16
  303. package/dist/tools/lib/hooks/useError.js.map +1 -1
  304. package/dist/tools/lib/schema/ajv.cjs +1 -1
  305. package/dist/tools/lib/schema/ajv.cjs.map +1 -1
  306. package/dist/tools/lib/schema/ajv.d.cts +19 -8
  307. package/dist/tools/lib/schema/ajv.d.ts +19 -8
  308. package/dist/tools/lib/schema/ajv.js +2 -1
  309. package/dist/tools/lib/schema/ajv.js.map +1 -1
  310. package/dist/tools/lib/state/error-store.cjs.map +1 -1
  311. package/dist/tools/lib/state/error-store.d.cts +61 -10
  312. package/dist/tools/lib/state/error-store.d.ts +61 -10
  313. package/dist/tools/lib/state/error-store.js.map +1 -1
  314. package/dist/tools/lib/state/store-factory.cjs.map +1 -1
  315. package/dist/tools/lib/state/store-factory.d.cts +25 -4
  316. package/dist/tools/lib/state/store-factory.d.ts +25 -4
  317. package/dist/tools/lib/state/store-factory.js.map +1 -1
  318. package/dist/tools/lib/state/ui-store.cjs.map +1 -1
  319. package/dist/tools/lib/state/ui-store.d.cts +39 -0
  320. package/dist/tools/lib/state/ui-store.d.ts +39 -0
  321. package/dist/tools/lib/state/ui-store.js.map +1 -1
  322. package/dist/ui/components/theme/theme-context.cjs.map +1 -1
  323. package/dist/ui/components/theme/theme-context.d.cts +171 -1
  324. package/dist/ui/components/theme/theme-context.d.ts +171 -1
  325. package/dist/ui/components/theme/theme-context.js.map +1 -1
  326. package/dist/ui/components/theme/theme-provider.cjs.map +1 -1
  327. package/dist/ui/components/theme/theme-provider.d.cts +31 -19
  328. package/dist/ui/components/theme/theme-provider.d.ts +31 -19
  329. package/dist/ui/components/theme/theme-provider.js.map +1 -1
  330. package/dist/ui/components/theme/theme-script.cjs.map +1 -1
  331. package/dist/ui/components/theme/theme-script.d.cts +16 -1
  332. package/dist/ui/components/theme/theme-script.d.ts +16 -1
  333. package/dist/ui/components/theme/theme-script.js.map +1 -1
  334. package/dist/ui/components/theme/theme-switcher.cjs +1 -1
  335. package/dist/ui/components/theme/theme-switcher.cjs.map +1 -1
  336. package/dist/ui/components/theme/theme-switcher.d.cts +82 -13
  337. package/dist/ui/components/theme/theme-switcher.d.ts +82 -13
  338. package/dist/ui/components/theme/theme-switcher.js +8 -0
  339. package/dist/ui/components/theme/theme-switcher.js.map +1 -1
  340. package/dist/ui/components/ui/accordion.cjs.map +1 -1
  341. package/dist/ui/components/ui/accordion.d.cts +60 -0
  342. package/dist/ui/components/ui/accordion.d.ts +60 -0
  343. package/dist/ui/components/ui/accordion.js.map +1 -1
  344. package/dist/ui/components/ui/adjustable-pane.cjs.map +1 -1
  345. package/dist/ui/components/ui/adjustable-pane.d.cts +44 -26
  346. package/dist/ui/components/ui/adjustable-pane.d.ts +44 -26
  347. package/dist/ui/components/ui/adjustable-pane.js.map +1 -1
  348. package/dist/ui/components/ui/alert-dialog.cjs.map +1 -1
  349. package/dist/ui/components/ui/alert-dialog.d.cts +179 -2
  350. package/dist/ui/components/ui/alert-dialog.d.ts +179 -2
  351. package/dist/ui/components/ui/alert-dialog.js.map +1 -1
  352. package/dist/ui/components/ui/alert.cjs.map +1 -1
  353. package/dist/ui/components/ui/alert.d.cts +52 -4
  354. package/dist/ui/components/ui/alert.d.ts +52 -4
  355. package/dist/ui/components/ui/alert.js.map +1 -1
  356. package/dist/ui/components/ui/aspect-ratio.cjs.map +1 -1
  357. package/dist/ui/components/ui/aspect-ratio.d.cts +16 -1
  358. package/dist/ui/components/ui/aspect-ratio.d.ts +16 -1
  359. package/dist/ui/components/ui/aspect-ratio.js.map +1 -1
  360. package/dist/ui/components/ui/avatar.cjs.map +1 -1
  361. package/dist/ui/components/ui/avatar.d.cts +87 -3
  362. package/dist/ui/components/ui/avatar.d.ts +87 -3
  363. package/dist/ui/components/ui/avatar.js.map +1 -1
  364. package/dist/ui/components/ui/badge-components.cjs.map +1 -1
  365. package/dist/ui/components/ui/badge-components.d.cts +13 -1
  366. package/dist/ui/components/ui/badge-components.d.ts +13 -1
  367. package/dist/ui/components/ui/badge-components.js.map +1 -1
  368. package/dist/ui/components/ui/badge-variants.cjs.map +1 -1
  369. package/dist/ui/components/ui/badge-variants.d.cts +15 -0
  370. package/dist/ui/components/ui/badge-variants.d.ts +15 -0
  371. package/dist/ui/components/ui/badge-variants.js.map +1 -1
  372. package/dist/ui/components/ui/breadcrumb.cjs.map +1 -1
  373. package/dist/ui/components/ui/breadcrumb.d.cts +91 -7
  374. package/dist/ui/components/ui/breadcrumb.d.ts +91 -7
  375. package/dist/ui/components/ui/breadcrumb.js.map +1 -1
  376. package/dist/ui/components/ui/button-components.cjs.map +1 -1
  377. package/dist/ui/components/ui/button-components.d.cts +18 -6
  378. package/dist/ui/components/ui/button-components.d.ts +18 -6
  379. package/dist/ui/components/ui/button-components.js.map +1 -1
  380. package/dist/ui/components/ui/button-group-components.cjs.map +1 -1
  381. package/dist/ui/components/ui/button-group-components.d.cts +39 -3
  382. package/dist/ui/components/ui/button-group-components.d.ts +39 -3
  383. package/dist/ui/components/ui/button-group-components.js.map +1 -1
  384. package/dist/ui/components/ui/button-group-variants.cjs.map +1 -1
  385. package/dist/ui/components/ui/button-group-variants.d.cts +15 -0
  386. package/dist/ui/components/ui/button-group-variants.d.ts +15 -0
  387. package/dist/ui/components/ui/button-group-variants.js.map +1 -1
  388. package/dist/ui/components/ui/button-variants.cjs.map +1 -1
  389. package/dist/ui/components/ui/button-variants.d.cts +13 -2
  390. package/dist/ui/components/ui/button-variants.d.ts +13 -2
  391. package/dist/ui/components/ui/button-variants.js.map +1 -1
  392. package/dist/ui/components/ui/card.cjs.map +1 -1
  393. package/dist/ui/components/ui/card.d.cts +106 -2
  394. package/dist/ui/components/ui/card.d.ts +106 -2
  395. package/dist/ui/components/ui/card.js.map +1 -1
  396. package/dist/ui/components/ui/checkbox-group.cjs.map +1 -1
  397. package/dist/ui/components/ui/checkbox-group.d.cts +13 -1
  398. package/dist/ui/components/ui/checkbox-group.d.ts +13 -1
  399. package/dist/ui/components/ui/checkbox-group.js.map +1 -1
  400. package/dist/ui/components/ui/checkbox.cjs.map +1 -1
  401. package/dist/ui/components/ui/checkbox.d.cts +17 -6
  402. package/dist/ui/components/ui/checkbox.d.ts +17 -6
  403. package/dist/ui/components/ui/checkbox.js.map +1 -1
  404. package/dist/ui/components/ui/collapsible.cjs.map +1 -1
  405. package/dist/ui/components/ui/collapsible.d.cts +39 -3
  406. package/dist/ui/components/ui/collapsible.d.ts +39 -3
  407. package/dist/ui/components/ui/collapsible.js.map +1 -1
  408. package/dist/ui/components/ui/combobox-components.cjs.map +1 -1
  409. package/dist/ui/components/ui/combobox-components.d.cts +209 -14
  410. package/dist/ui/components/ui/combobox-components.d.ts +209 -14
  411. package/dist/ui/components/ui/combobox-components.js.map +1 -1
  412. package/dist/ui/components/ui/combobox-hooks.cjs.map +1 -1
  413. package/dist/ui/components/ui/combobox-hooks.d.cts +13 -1
  414. package/dist/ui/components/ui/combobox-hooks.d.ts +13 -1
  415. package/dist/ui/components/ui/combobox-hooks.js.map +1 -1
  416. package/dist/ui/components/ui/command.cjs.map +1 -1
  417. package/dist/ui/components/ui/command.d.cts +132 -9
  418. package/dist/ui/components/ui/command.d.ts +132 -9
  419. package/dist/ui/components/ui/command.js.map +1 -1
  420. package/dist/ui/components/ui/context-menu.cjs.map +1 -1
  421. package/dist/ui/components/ui/context-menu.d.cts +233 -2
  422. package/dist/ui/components/ui/context-menu.d.ts +233 -2
  423. package/dist/ui/components/ui/context-menu.js.map +1 -1
  424. package/dist/ui/components/ui/dialog.cjs.map +1 -1
  425. package/dist/ui/components/ui/dialog.d.cts +157 -5
  426. package/dist/ui/components/ui/dialog.d.ts +157 -5
  427. package/dist/ui/components/ui/dialog.js.map +1 -1
  428. package/dist/ui/components/ui/drawer.cjs.map +1 -1
  429. package/dist/ui/components/ui/drawer.d.cts +130 -10
  430. package/dist/ui/components/ui/drawer.d.ts +130 -10
  431. package/dist/ui/components/ui/drawer.js.map +1 -1
  432. package/dist/ui/components/ui/dropdown-menu.cjs.map +1 -1
  433. package/dist/ui/components/ui/dropdown-menu.d.cts +225 -6
  434. package/dist/ui/components/ui/dropdown-menu.d.ts +225 -6
  435. package/dist/ui/components/ui/dropdown-menu.js.map +1 -1
  436. package/dist/ui/components/ui/empty.cjs.map +1 -1
  437. package/dist/ui/components/ui/empty.d.cts +78 -6
  438. package/dist/ui/components/ui/empty.d.ts +78 -6
  439. package/dist/ui/components/ui/empty.js.map +1 -1
  440. package/dist/ui/components/ui/field.cjs.map +1 -1
  441. package/dist/ui/components/ui/field.d.cts +180 -6
  442. package/dist/ui/components/ui/field.d.ts +180 -6
  443. package/dist/ui/components/ui/field.js.map +1 -1
  444. package/dist/ui/components/ui/file-icon.cjs.map +1 -1
  445. package/dist/ui/components/ui/file-icon.d.cts +32 -4
  446. package/dist/ui/components/ui/file-icon.d.ts +32 -4
  447. package/dist/ui/components/ui/file-icon.js.map +1 -1
  448. package/dist/ui/components/ui/hover-card.cjs.map +1 -1
  449. package/dist/ui/components/ui/hover-card.d.cts +39 -3
  450. package/dist/ui/components/ui/hover-card.d.ts +39 -3
  451. package/dist/ui/components/ui/hover-card.js.map +1 -1
  452. package/dist/ui/components/ui/input-group.cjs.map +1 -1
  453. package/dist/ui/components/ui/input-group.d.cts +84 -6
  454. package/dist/ui/components/ui/input-group.d.ts +84 -6
  455. package/dist/ui/components/ui/input-group.js.map +1 -1
  456. package/dist/ui/components/ui/input-otp.cjs.map +1 -1
  457. package/dist/ui/components/ui/input-otp.d.cts +58 -4
  458. package/dist/ui/components/ui/input-otp.d.ts +58 -4
  459. package/dist/ui/components/ui/input-otp.js.map +1 -1
  460. package/dist/ui/components/ui/input.cjs.map +1 -1
  461. package/dist/ui/components/ui/input.d.cts +18 -10
  462. package/dist/ui/components/ui/input.d.ts +18 -10
  463. package/dist/ui/components/ui/input.js.map +1 -1
  464. package/dist/ui/components/ui/item.cjs.map +1 -1
  465. package/dist/ui/components/ui/item.d.cts +130 -10
  466. package/dist/ui/components/ui/item.d.ts +130 -10
  467. package/dist/ui/components/ui/item.js.map +1 -1
  468. package/dist/ui/components/ui/kbd.cjs.map +1 -1
  469. package/dist/ui/components/ui/kbd.d.cts +26 -2
  470. package/dist/ui/components/ui/kbd.d.ts +26 -2
  471. package/dist/ui/components/ui/kbd.js.map +1 -1
  472. package/dist/ui/components/ui/label.cjs.map +1 -1
  473. package/dist/ui/components/ui/label.d.cts +15 -0
  474. package/dist/ui/components/ui/label.d.ts +15 -0
  475. package/dist/ui/components/ui/label.js.map +1 -1
  476. package/dist/ui/components/ui/layout.cjs +1 -1
  477. package/dist/ui/components/ui/layout.cjs.map +1 -1
  478. package/dist/ui/components/ui/layout.d.cts +45 -11
  479. package/dist/ui/components/ui/layout.d.ts +45 -11
  480. package/dist/ui/components/ui/layout.js +22 -20
  481. package/dist/ui/components/ui/layout.js.map +1 -1
  482. package/dist/ui/components/ui/menubar.cjs.map +1 -1
  483. package/dist/ui/components/ui/menubar.d.cts +220 -16
  484. package/dist/ui/components/ui/menubar.d.ts +220 -16
  485. package/dist/ui/components/ui/menubar.js.map +1 -1
  486. package/dist/ui/components/ui/meter.cjs.map +1 -1
  487. package/dist/ui/components/ui/meter.d.cts +52 -4
  488. package/dist/ui/components/ui/meter.d.ts +52 -4
  489. package/dist/ui/components/ui/meter.js.map +1 -1
  490. package/dist/ui/components/ui/mobile-form-variants.cjs.map +1 -1
  491. package/dist/ui/components/ui/mobile-form-variants.d.cts +30 -0
  492. package/dist/ui/components/ui/mobile-form-variants.d.ts +30 -0
  493. package/dist/ui/components/ui/mobile-form-variants.js.map +1 -1
  494. package/dist/ui/components/ui/mobile-form.cjs.map +1 -1
  495. package/dist/ui/components/ui/mobile-form.d.cts +186 -9
  496. package/dist/ui/components/ui/mobile-form.d.ts +186 -9
  497. package/dist/ui/components/ui/mobile-form.js.map +1 -1
  498. package/dist/ui/components/ui/navigation-menu-components.cjs.map +1 -1
  499. package/dist/ui/components/ui/navigation-menu-components.d.cts +104 -8
  500. package/dist/ui/components/ui/navigation-menu-components.d.ts +104 -8
  501. package/dist/ui/components/ui/navigation-menu-components.js.map +1 -1
  502. package/dist/ui/components/ui/navigation-menu-variants.cjs.map +1 -1
  503. package/dist/ui/components/ui/navigation-menu-variants.d.cts +15 -0
  504. package/dist/ui/components/ui/navigation-menu-variants.d.ts +15 -0
  505. package/dist/ui/components/ui/navigation-menu-variants.js.map +1 -1
  506. package/dist/ui/components/ui/number-field.cjs.map +1 -1
  507. package/dist/ui/components/ui/number-field.d.cts +78 -6
  508. package/dist/ui/components/ui/number-field.d.ts +78 -6
  509. package/dist/ui/components/ui/number-field.js.map +1 -1
  510. package/dist/ui/components/ui/pagination.cjs.map +1 -1
  511. package/dist/ui/components/ui/pagination.d.cts +99 -7
  512. package/dist/ui/components/ui/pagination.d.ts +99 -7
  513. package/dist/ui/components/ui/pagination.js.map +1 -1
  514. package/dist/ui/components/ui/password-input.cjs.map +1 -1
  515. package/dist/ui/components/ui/password-input.d.cts +10 -7
  516. package/dist/ui/components/ui/password-input.d.ts +10 -7
  517. package/dist/ui/components/ui/password-input.js.map +1 -1
  518. package/dist/ui/components/ui/popover.cjs.map +1 -1
  519. package/dist/ui/components/ui/popover.d.cts +86 -2
  520. package/dist/ui/components/ui/popover.d.ts +86 -2
  521. package/dist/ui/components/ui/popover.js.map +1 -1
  522. package/dist/ui/components/ui/progress.cjs.map +1 -1
  523. package/dist/ui/components/ui/progress.d.cts +72 -2
  524. package/dist/ui/components/ui/progress.d.ts +72 -2
  525. package/dist/ui/components/ui/progress.js.map +1 -1
  526. package/dist/ui/components/ui/radio-card.cjs.map +1 -1
  527. package/dist/ui/components/ui/radio-card.d.cts +32 -4
  528. package/dist/ui/components/ui/radio-card.d.ts +32 -4
  529. package/dist/ui/components/ui/radio-card.js.map +1 -1
  530. package/dist/ui/components/ui/radio-group.cjs.map +1 -1
  531. package/dist/ui/components/ui/radio-group.d.cts +28 -2
  532. package/dist/ui/components/ui/radio-group.d.ts +28 -2
  533. package/dist/ui/components/ui/radio-group.js.map +1 -1
  534. package/dist/ui/components/ui/resizable.cjs.map +1 -1
  535. package/dist/ui/components/ui/resizable.d.cts +42 -3
  536. package/dist/ui/components/ui/resizable.d.ts +42 -3
  537. package/dist/ui/components/ui/resizable.js.map +1 -1
  538. package/dist/ui/components/ui/responsive-list.cjs.map +1 -1
  539. package/dist/ui/components/ui/responsive-list.d.cts +176 -13
  540. package/dist/ui/components/ui/responsive-list.d.ts +176 -13
  541. package/dist/ui/components/ui/responsive-list.js.map +1 -1
  542. package/dist/ui/components/ui/scroll-area.cjs.map +1 -1
  543. package/dist/ui/components/ui/scroll-area.d.cts +28 -1
  544. package/dist/ui/components/ui/scroll-area.d.ts +28 -1
  545. package/dist/ui/components/ui/scroll-area.js.map +1 -1
  546. package/dist/ui/components/ui/searchable-select-input.cjs.map +1 -1
  547. package/dist/ui/components/ui/searchable-select-input.d.cts +199 -49
  548. package/dist/ui/components/ui/searchable-select-input.d.ts +199 -49
  549. package/dist/ui/components/ui/searchable-select-input.js.map +1 -1
  550. package/dist/ui/components/ui/select.cjs.map +1 -1
  551. package/dist/ui/components/ui/select.d.cts +205 -40
  552. package/dist/ui/components/ui/select.d.ts +205 -40
  553. package/dist/ui/components/ui/select.js.map +1 -1
  554. package/dist/ui/components/ui/separator.cjs.map +1 -1
  555. package/dist/ui/components/ui/separator.d.cts +13 -2
  556. package/dist/ui/components/ui/separator.d.ts +13 -2
  557. package/dist/ui/components/ui/separator.js.map +1 -1
  558. package/dist/ui/components/ui/sheet.cjs.map +1 -1
  559. package/dist/ui/components/ui/sheet.d.cts +128 -3
  560. package/dist/ui/components/ui/sheet.d.ts +128 -3
  561. package/dist/ui/components/ui/sheet.js.map +1 -1
  562. package/dist/ui/components/ui/skeleton.cjs.map +1 -1
  563. package/dist/ui/components/ui/skeleton.d.cts +13 -1
  564. package/dist/ui/components/ui/skeleton.d.ts +13 -1
  565. package/dist/ui/components/ui/skeleton.js.map +1 -1
  566. package/dist/ui/components/ui/slider.cjs.map +1 -1
  567. package/dist/ui/components/ui/slider.d.cts +13 -7
  568. package/dist/ui/components/ui/slider.d.ts +13 -7
  569. package/dist/ui/components/ui/slider.js.map +1 -1
  570. package/dist/ui/components/ui/spinner.cjs.map +1 -1
  571. package/dist/ui/components/ui/spinner.d.cts +13 -1
  572. package/dist/ui/components/ui/spinner.d.ts +13 -1
  573. package/dist/ui/components/ui/spinner.js.map +1 -1
  574. package/dist/ui/components/ui/switch.cjs.map +1 -1
  575. package/dist/ui/components/ui/switch.d.cts +26 -0
  576. package/dist/ui/components/ui/switch.d.ts +26 -0
  577. package/dist/ui/components/ui/switch.js.map +1 -1
  578. package/dist/ui/components/ui/table.cjs.map +1 -1
  579. package/dist/ui/components/ui/table.d.cts +118 -2
  580. package/dist/ui/components/ui/table.d.ts +118 -2
  581. package/dist/ui/components/ui/table.js.map +1 -1
  582. package/dist/ui/components/ui/tabs-components.cjs.map +1 -1
  583. package/dist/ui/components/ui/tabs-components.d.cts +52 -5
  584. package/dist/ui/components/ui/tabs-components.d.ts +52 -5
  585. package/dist/ui/components/ui/tabs-components.js.map +1 -1
  586. package/dist/ui/components/ui/tabs-variants.cjs.map +1 -1
  587. package/dist/ui/components/ui/tabs-variants.d.cts +15 -0
  588. package/dist/ui/components/ui/tabs-variants.d.ts +15 -0
  589. package/dist/ui/components/ui/tabs-variants.js.map +1 -1
  590. package/dist/ui/components/ui/textarea.cjs.map +1 -1
  591. package/dist/ui/components/ui/textarea.d.cts +23 -0
  592. package/dist/ui/components/ui/textarea.d.ts +23 -0
  593. package/dist/ui/components/ui/textarea.js.map +1 -1
  594. package/dist/ui/components/ui/toast.cjs.map +1 -1
  595. package/dist/ui/components/ui/toast.d.cts +136 -0
  596. package/dist/ui/components/ui/toast.d.ts +136 -0
  597. package/dist/ui/components/ui/toast.js.map +1 -1
  598. package/dist/ui/components/ui/toaster.cjs.map +1 -1
  599. package/dist/ui/components/ui/toaster.d.cts +12 -3
  600. package/dist/ui/components/ui/toaster.d.ts +12 -3
  601. package/dist/ui/components/ui/toaster.js.map +1 -1
  602. package/dist/ui/components/ui/toggle-components.cjs.map +1 -1
  603. package/dist/ui/components/ui/toggle-components.d.cts +15 -0
  604. package/dist/ui/components/ui/toggle-components.d.ts +15 -0
  605. package/dist/ui/components/ui/toggle-components.js.map +1 -1
  606. package/dist/ui/components/ui/toggle-group.cjs.map +1 -1
  607. package/dist/ui/components/ui/toggle-group.d.cts +33 -0
  608. package/dist/ui/components/ui/toggle-group.d.ts +33 -0
  609. package/dist/ui/components/ui/toggle-group.js.map +1 -1
  610. package/dist/ui/components/ui/toggle-variants.cjs.map +1 -1
  611. package/dist/ui/components/ui/toggle-variants.d.cts +15 -0
  612. package/dist/ui/components/ui/toggle-variants.d.ts +15 -0
  613. package/dist/ui/components/ui/toggle-variants.js.map +1 -1
  614. package/dist/ui/components/ui/toolbar.cjs.map +1 -1
  615. package/dist/ui/components/ui/toolbar.d.cts +94 -7
  616. package/dist/ui/components/ui/toolbar.d.ts +94 -7
  617. package/dist/ui/components/ui/toolbar.js.map +1 -1
  618. package/dist/ui/components/ui/tooltip.cjs.map +1 -1
  619. package/dist/ui/components/ui/tooltip.d.cts +54 -3
  620. package/dist/ui/components/ui/tooltip.d.ts +54 -3
  621. package/dist/ui/components/ui/tooltip.js.map +1 -1
  622. package/dist/ui/lib/hooks/use-gps.cjs.map +1 -1
  623. package/dist/ui/lib/hooks/use-gps.d.cts +29 -4
  624. package/dist/ui/lib/hooks/use-gps.d.ts +29 -4
  625. package/dist/ui/lib/hooks/use-gps.js.map +1 -1
  626. package/dist/ui/lib/hooks/use-is-client.cjs.map +1 -1
  627. package/dist/ui/lib/hooks/use-is-client.d.cts +11 -2
  628. package/dist/ui/lib/hooks/use-is-client.d.ts +11 -2
  629. package/dist/ui/lib/hooks/use-is-client.js.map +1 -1
  630. package/dist/ui/lib/hooks/use-keyboard-shortcut.cjs.map +1 -1
  631. package/dist/ui/lib/hooks/use-keyboard-shortcut.d.cts +48 -18
  632. package/dist/ui/lib/hooks/use-keyboard-shortcut.d.ts +48 -18
  633. package/dist/ui/lib/hooks/use-keyboard-shortcut.js.map +1 -1
  634. package/dist/ui/lib/hooks/use-mobile.cjs.map +1 -1
  635. package/dist/ui/lib/hooks/use-mobile.d.cts +11 -3
  636. package/dist/ui/lib/hooks/use-mobile.d.ts +11 -3
  637. package/dist/ui/lib/hooks/use-mobile.js.map +1 -1
  638. package/dist/ui/lib/hooks/use-toast.cjs.map +1 -1
  639. package/dist/ui/lib/hooks/use-toast.d.cts +184 -15
  640. package/dist/ui/lib/hooks/use-toast.d.ts +184 -15
  641. package/dist/ui/lib/hooks/use-toast.js.map +1 -1
  642. package/dist/ui/lib/ime-utils.cjs.map +1 -1
  643. package/dist/ui/lib/ime-utils.d.cts +40 -13
  644. package/dist/ui/lib/ime-utils.d.ts +40 -13
  645. package/dist/ui/lib/ime-utils.js.map +1 -1
  646. package/dist/ui/lib/utils.cjs.map +1 -1
  647. package/dist/ui/lib/utils.d.cts +9 -6
  648. package/dist/ui/lib/utils.d.ts +9 -6
  649. package/dist/ui/lib/utils.js.map +1 -1
  650. package/docs/ai.md +34 -1
  651. package/docs/exports.md +5 -1
  652. package/docs/index.md +89 -16
  653. package/docs/migration.md +268 -0
  654. package/docs/request-form.md +4 -1
  655. package/docs/tools.md +4 -1
  656. package/docs/ui.md +4 -1
  657. package/llms-full.txt +499 -36
  658. package/llms.txt +4 -0
  659. package/package.json +35 -5
@@ -1,8 +1,24 @@
1
1
  import { ActionRegistry } from '@alneas/appkit-core/ai';
2
- /** Context shared by screen-scoped action hooks. */
2
+ /**
3
+ * Nullable React context holding a screen-owned ActionRegistry.
4
+ *
5
+ * @see ScreenActionProvider for setup and useScreenActionRegistry for consumption.
6
+ */
3
7
  export declare const ScreenActionContext: import('react').Context<ActionRegistry | null>;
4
8
  /**
5
- * Accesses the current screen's ActionRegistry.
6
- * Throws an Error if used outside a ScreenActionProvider.
9
+ * Reads the nearest screen-owned action registry.
10
+ *
11
+ * @returns Current ActionRegistry instance; the hook does not subscribe to changes.
12
+ *
13
+ * @throws Error when used outside ScreenActionProvider.
14
+ *
15
+ * @remarks No styles are required. Use reactive list hooks when registrations affect render.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * import { ScreenActionProvider, useScreenActionRegistry } from '@alneas/appkit-react/ai/action';
20
+ * function Content() { const registry = useScreenActionRegistry(); return <span>{registry.listActions().length}</span>; }
21
+ * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }
22
+ * ```
7
23
  */
8
24
  export declare function useScreenActionRegistry(): ActionRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["ScreenActionContext","createContext","useScreenActionRegistry","context","useContext"],"sources":["../../../src/ai/action/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { ActionRegistry } from \"@alneas/appkit-core/ai\";\n\n/** Context shared by screen-scoped action hooks. */\nexport const ScreenActionContext = createContext<ActionRegistry | null>(null);\n\n/**\n * Accesses the current screen's ActionRegistry.\n * Throws an Error if used outside a ScreenActionProvider.\n */\nexport function useScreenActionRegistry(): ActionRegistry {\n const context = useContext(ScreenActionContext);\n if (!context) {\n throw new Error('useScreenActionRegistry must be used within a <ScreenActionProvider>');\n }\n return context;\n}\n"],"mappings":";;;AAIA,IAAaA,IAAsBC,EAAqC,IAAI;AAM5E,SAAgBC,IAA0C;CACxD,IAAMC,IAAUC,EAAWJ,CAAmB;CAC9C,IAAI,CAACG,GACH,MAAU,MAAM,sEAAsE;CAExF,OAAOA;AACT"}
1
+ {"version":3,"file":"context.js","names":["ScreenActionContext","createContext","useScreenActionRegistry","context","useContext"],"sources":["../../../src/ai/action/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport type { ActionRegistry } from \"@alneas/appkit-core/ai\";\n\n/**\n * Nullable React context holding a screen-owned ActionRegistry.\n *\n * @see ScreenActionProvider for setup and useScreenActionRegistry for consumption.\n */\nexport const ScreenActionContext = createContext<ActionRegistry | null>(null);\n\n/**\n * Reads the nearest screen-owned action registry.\n *\n * @returns Current ActionRegistry instance; the hook does not subscribe to changes.\n *\n * @throws Error when used outside ScreenActionProvider.\n *\n * @remarks No styles are required. Use reactive list hooks when registrations affect render.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenActionRegistry } from '@alneas/appkit-react/ai/action';\n * function Content() { const registry = useScreenActionRegistry(); return <span>{registry.listActions().length}</span>; }\n * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }\n * ```\n */\nexport function useScreenActionRegistry(): ActionRegistry {\n const context = useContext(ScreenActionContext);\n if (!context) {\n throw new Error('useScreenActionRegistry must be used within a <ScreenActionProvider>');\n }\n return context;\n}\n"],"mappings":";;;AAQA,IAAaA,IAAsBC,EAAqC,IAAI;AAkB5E,SAAgBC,IAA0C;CACxD,IAAMC,IAAUC,EAAWJ,CAAmB;CAC9C,IAAI,CAACG,GACH,MAAU,MAAM,sEAAsE;CAExF,OAAOA;AACT"}
@@ -1,7 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ActionRegistry, ActionDefinition, ContextGetter } from '@alneas/appkit-core/ai';
3
- /** Props for ScreenActionProvider. */
3
+ /**
4
+ * Provider inputs for a screen-specific registry.
5
+ *
6
+ * @see ScreenActionProvider for setup.
7
+ */
4
8
  export interface ScreenActionProviderProps {
9
+ /**
10
+ * Descendants that register or consume screen actions.
11
+ */
5
12
  children: ReactNode;
6
13
  /**
7
14
  * Optional custom ActionRegistry instance.
@@ -9,11 +16,36 @@ export interface ScreenActionProviderProps {
9
16
  */
10
17
  registry?: ActionRegistry;
11
18
  }
12
- /** Options for registering an action via useScreenAction. */
19
+ /**
20
+ * Action definition accepted by useScreenAction without changing the Core contract.
21
+ *
22
+ * @typeParam TInput - Validated handler input; defaults to unknown.
23
+ *
24
+ * @typeParam TOutput - Handler result; defaults to unknown.
25
+ *
26
+ * @see useScreenAction for registration.
27
+ */
13
28
  export type UseScreenActionOptions<TInput = unknown, TOutput = unknown> = ActionDefinition<TInput, TOutput>;
14
- /** Options for registering a screen context via useScreenContext. */
29
+ /**
30
+ * Named lazy context source registered by useScreenContext.
31
+ *
32
+ * @typeParam T - Getter result shape; defaults to unknown.
33
+ *
34
+ * @see useScreenContext for usage.
35
+ */
15
36
  export interface UseScreenContextOptions<T = unknown> {
37
+ /**
38
+ * Registry key; use a stable screen-specific value to avoid collisions.
39
+ */
16
40
  key: string;
41
+ /**
42
+ * Optional human/model-facing description.
43
+ */
17
44
  description?: string;
45
+ /**
46
+ * On-demand context getter; latest committed callback is invoked by registry reads.
47
+ *
48
+ * @returns Context value or promise of the value, according to the Core ContextGetter contract.
49
+ */
18
50
  getter: ContextGetter<T>;
19
51
  }
@@ -1,7 +1,14 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ActionRegistry, ActionDefinition, ContextGetter } from '@alneas/appkit-core/ai';
3
- /** Props for ScreenActionProvider. */
3
+ /**
4
+ * Provider inputs for a screen-specific registry.
5
+ *
6
+ * @see ScreenActionProvider for setup.
7
+ */
4
8
  export interface ScreenActionProviderProps {
9
+ /**
10
+ * Descendants that register or consume screen actions.
11
+ */
5
12
  children: ReactNode;
6
13
  /**
7
14
  * Optional custom ActionRegistry instance.
@@ -9,11 +16,36 @@ export interface ScreenActionProviderProps {
9
16
  */
10
17
  registry?: ActionRegistry;
11
18
  }
12
- /** Options for registering an action via useScreenAction. */
19
+ /**
20
+ * Action definition accepted by useScreenAction without changing the Core contract.
21
+ *
22
+ * @typeParam TInput - Validated handler input; defaults to unknown.
23
+ *
24
+ * @typeParam TOutput - Handler result; defaults to unknown.
25
+ *
26
+ * @see useScreenAction for registration.
27
+ */
13
28
  export type UseScreenActionOptions<TInput = unknown, TOutput = unknown> = ActionDefinition<TInput, TOutput>;
14
- /** Options for registering a screen context via useScreenContext. */
29
+ /**
30
+ * Named lazy context source registered by useScreenContext.
31
+ *
32
+ * @typeParam T - Getter result shape; defaults to unknown.
33
+ *
34
+ * @see useScreenContext for usage.
35
+ */
15
36
  export interface UseScreenContextOptions<T = unknown> {
37
+ /**
38
+ * Registry key; use a stable screen-specific value to avoid collisions.
39
+ */
16
40
  key: string;
41
+ /**
42
+ * Optional human/model-facing description.
43
+ */
17
44
  description?: string;
45
+ /**
46
+ * On-demand context getter; latest committed callback is invoked by registry reads.
47
+ *
48
+ * @returns Context value or promise of the value, according to the Core ContextGetter contract.
49
+ */
18
50
  getter: ContextGetter<T>;
19
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-execution-session.cjs","names":["useState","createExecutionSession","useSyncExternalStore","react","_alneas_appkit_core_ai","useExecutionSession","session"],"sources":["../../../src/ai/action/use-execution-session.ts"],"sourcesContent":["import { useLayoutEffect, useState, useSyncExternalStore } from 'react';\nimport { createExecutionSession, type ExecutionRecord, type ExecutionSession } from \"@alneas/appkit-core/ai\";\n\n/** Creates a local session and subscribes to its bounded history. Unmount requests cancellation. */\nexport function useExecutionSession(): { session: ExecutionSession; history: readonly ExecutionRecord[] } {\n const [session] = useState(() => createExecutionSession());\n useLayoutEffect(() => () => { session.cancel(); }, [session]);\n const history = useSyncExternalStore(session.subscribe, session.getSnapshot, session.getSnapshot);\n return { session, history };\n}\n"],"mappings":"A,2IAIA,SAAgBK,GAA0F,CACxG,GAAM,CAACC,IAAA,EAAWN,EAAAA,SAAAA,MAAAA,EAAeC,EAAAA,uBAAAA,CAAuB,CAAC,EAGzD,OAFA,EAAAE,EAAA,gBAAA,SAA4B,CAAEG,EAAQ,OAAO,CAAG,EAAG,CAACA,CAAO,CAAC,EAErD,CAAE,UAAS,SAAA,EADFJ,EAAAA,qBAAAA,CAAqBI,EAAQ,UAAWA,EAAQ,YAAaA,EAAQ,WACnE,CAAQ,CAC5B,C"}
1
+ {"version":3,"file":"use-execution-session.cjs","names":["useState","createExecutionSession","useSyncExternalStore","react","_alneas_appkit_core_ai","useExecutionSession","session"],"sources":["../../../src/ai/action/use-execution-session.ts"],"sourcesContent":["import { useLayoutEffect, useState, useSyncExternalStore } from 'react';\nimport { createExecutionSession, type ExecutionRecord, type ExecutionSession } from \"@alneas/appkit-core/ai\";\n\n/**\n * Creates one local execution session and subscribes to its bounded history.\n *\n * @returns Stable session controls and the current read-only history snapshot.\n *\n * @remarks Requires React; no context/styles. Cleanup requests cancellation but cannot\n * undo backend work or force an uncooperative task to stop. The session controls own\n * execution, cancellation, progress and history; no work starts automatically.\n *\n * @example\n * ```tsx\n * import { useExecutionSession } from '@alneas/appkit-react/ai/action';\n * export function HistoryCount() { const { history } = useExecutionSession(); return <output>{history.length}</output>; }\n * ```\n */\nexport function useExecutionSession(): {\n /** Stable execution-session controls created for this mounted hook. */\n session: ExecutionSession;\n /** Current bounded execution snapshot, updated through subscription. */\n history: readonly ExecutionRecord[];\n} {\n const [session] = useState(() => createExecutionSession());\n useLayoutEffect(() => () => { session.cancel(); }, [session]);\n const history = useSyncExternalStore(session.subscribe, session.getSnapshot, session.getSnapshot);\n return { session, history };\n}\n"],"mappings":"A,2IAkBA,SAAgBK,GAKd,CACA,GAAM,CAACC,IAAA,EAAWN,EAAAA,SAAAA,MAAAA,EAAeC,EAAAA,uBAAAA,CAAuB,CAAC,EAGzD,OAFA,EAAAE,EAAA,gBAAA,SAA4B,CAAEG,EAAQ,OAAO,CAAG,EAAG,CAACA,CAAO,CAAC,EAErD,CAAE,UAAS,SAAA,EADFJ,EAAAA,qBAAAA,CAAqBI,EAAQ,UAAWA,EAAQ,YAAaA,EAAQ,WACnE,CAAQ,CAC5B,C"}
@@ -1,6 +1,22 @@
1
1
  import { ExecutionRecord, ExecutionSession } from '@alneas/appkit-core/ai';
2
- /** Creates a local session and subscribes to its bounded history. Unmount requests cancellation. */
2
+ /**
3
+ * Creates one local execution session and subscribes to its bounded history.
4
+ *
5
+ * @returns Stable session controls and the current read-only history snapshot.
6
+ *
7
+ * @remarks Requires React; no context/styles. Cleanup requests cancellation but cannot
8
+ * undo backend work or force an uncooperative task to stop. The session controls own
9
+ * execution, cancellation, progress and history; no work starts automatically.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { useExecutionSession } from '@alneas/appkit-react/ai/action';
14
+ * export function HistoryCount() { const { history } = useExecutionSession(); return <output>{history.length}</output>; }
15
+ * ```
16
+ */
3
17
  export declare function useExecutionSession(): {
18
+ /** Stable execution-session controls created for this mounted hook. */
4
19
  session: ExecutionSession;
20
+ /** Current bounded execution snapshot, updated through subscription. */
5
21
  history: readonly ExecutionRecord[];
6
22
  };
@@ -1,6 +1,22 @@
1
1
  import { ExecutionRecord, ExecutionSession } from '@alneas/appkit-core/ai';
2
- /** Creates a local session and subscribes to its bounded history. Unmount requests cancellation. */
2
+ /**
3
+ * Creates one local execution session and subscribes to its bounded history.
4
+ *
5
+ * @returns Stable session controls and the current read-only history snapshot.
6
+ *
7
+ * @remarks Requires React; no context/styles. Cleanup requests cancellation but cannot
8
+ * undo backend work or force an uncooperative task to stop. The session controls own
9
+ * execution, cancellation, progress and history; no work starts automatically.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { useExecutionSession } from '@alneas/appkit-react/ai/action';
14
+ * export function HistoryCount() { const { history } = useExecutionSession(); return <output>{history.length}</output>; }
15
+ * ```
16
+ */
3
17
  export declare function useExecutionSession(): {
18
+ /** Stable execution-session controls created for this mounted hook. */
4
19
  session: ExecutionSession;
20
+ /** Current bounded execution snapshot, updated through subscription. */
5
21
  history: readonly ExecutionRecord[];
6
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-execution-session.js","names":["useExecutionSession","session","useState","createExecutionSession","useLayoutEffect","useSyncExternalStore"],"sources":["../../../src/ai/action/use-execution-session.ts"],"sourcesContent":["import { useLayoutEffect, useState, useSyncExternalStore } from 'react';\nimport { createExecutionSession, type ExecutionRecord, type ExecutionSession } from \"@alneas/appkit-core/ai\";\n\n/** Creates a local session and subscribes to its bounded history. Unmount requests cancellation. */\nexport function useExecutionSession(): { session: ExecutionSession; history: readonly ExecutionRecord[] } {\n const [session] = useState(() => createExecutionSession());\n useLayoutEffect(() => () => { session.cancel(); }, [session]);\n const history = useSyncExternalStore(session.subscribe, session.getSnapshot, session.getSnapshot);\n return { session, history };\n}\n"],"mappings":";;;;AAIA,SAAgBA,IAA0F;CACxG,IAAM,CAACC,KAAWC,QAAeC,EAAuB,CAAC;CAGzD,OAFAC,cAA4B;EAAE,EAAQ,OAAO;CAAG,GAAG,CAACH,CAAO,CAAC,GAErD;EAAE;EAAS,SADFI,EAAqBJ,EAAQ,WAAWA,EAAQ,aAAaA,EAAQ,WACnE;CAAQ;AAC5B"}
1
+ {"version":3,"file":"use-execution-session.js","names":["useExecutionSession","session","useState","createExecutionSession","useLayoutEffect","useSyncExternalStore"],"sources":["../../../src/ai/action/use-execution-session.ts"],"sourcesContent":["import { useLayoutEffect, useState, useSyncExternalStore } from 'react';\nimport { createExecutionSession, type ExecutionRecord, type ExecutionSession } from \"@alneas/appkit-core/ai\";\n\n/**\n * Creates one local execution session and subscribes to its bounded history.\n *\n * @returns Stable session controls and the current read-only history snapshot.\n *\n * @remarks Requires React; no context/styles. Cleanup requests cancellation but cannot\n * undo backend work or force an uncooperative task to stop. The session controls own\n * execution, cancellation, progress and history; no work starts automatically.\n *\n * @example\n * ```tsx\n * import { useExecutionSession } from '@alneas/appkit-react/ai/action';\n * export function HistoryCount() { const { history } = useExecutionSession(); return <output>{history.length}</output>; }\n * ```\n */\nexport function useExecutionSession(): {\n /** Stable execution-session controls created for this mounted hook. */\n session: ExecutionSession;\n /** Current bounded execution snapshot, updated through subscription. */\n history: readonly ExecutionRecord[];\n} {\n const [session] = useState(() => createExecutionSession());\n useLayoutEffect(() => () => { session.cancel(); }, [session]);\n const history = useSyncExternalStore(session.subscribe, session.getSnapshot, session.getSnapshot);\n return { session, history };\n}\n"],"mappings":";;;;AAkBA,SAAgBA,IAKd;CACA,IAAM,CAACC,KAAWC,QAAeC,EAAuB,CAAC;CAGzD,OAFAC,cAA4B;EAAE,EAAQ,OAAO;CAAG,GAAG,CAACH,CAAO,CAAC,GAErD;EAAE;EAAS,SADFI,EAAqBJ,EAAQ,WAAWA,EAAQ,aAAaA,EAAQ,WACnE;CAAQ;AAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-screen-action-registry.cjs","names":["useScreenActionRegistry","useCallback","useSyncExternalStore","require_ai_action_context","react","SSR_ACTIONS_SNAPSHOT","SSR_CONTEXTS_SNAPSHOT","useScreenActionList","registry","subscribe","onStoreChange","getSnapshot","getServerSnapshot","useScreenContextList","useScreenActions","id","input","context","key"],"sources":["../../../src/ai/action/use-screen-action-registry.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react';\nimport type {\n ActionDescriptor,\n ExecutionContext,\n ActionResult,\n ContextDescriptor,\n ContextValueResult,\n} from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\n\nconst SSR_ACTIONS_SNAPSHOT: readonly ActionDescriptor[] = Object.freeze([]);\nconst SSR_CONTEXTS_SNAPSHOT: readonly ContextDescriptor[] = Object.freeze([]);\n\n/**\n * Returns a reactive list of currently registered actions on the current screen.\n * Safely integrated with useSyncExternalStore; retains snapshot reference equality\n * until registrations change.\n */\nexport function useScreenActionList(): readonly ActionDescriptor[] {\n const registry = useScreenActionRegistry();\n\n const subscribe = useCallback(\n (onStoreChange: () => void) => registry.subscribe(onStoreChange),\n [registry]\n );\n const getSnapshot = useCallback(() => registry.listActions(), [registry]);\n const getServerSnapshot = useCallback(() => SSR_ACTIONS_SNAPSHOT, []);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n/**\n * Returns a reactive list of currently registered contexts on the current screen.\n * Safely integrated with useSyncExternalStore; retains snapshot reference equality\n * until registrations change.\n */\nexport function useScreenContextList(): readonly ContextDescriptor[] {\n const registry = useScreenActionRegistry();\n\n const subscribe = useCallback(\n (onStoreChange: () => void) => registry.subscribe(onStoreChange),\n [registry]\n );\n const getSnapshot = useCallback(() => registry.listContexts(), [registry]);\n const getServerSnapshot = useCallback(() => SSR_CONTEXTS_SNAPSHOT, []);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n/**\n * Comprehensive hook providing the current screen's actions, contexts,\n * and execution/query helpers.\n */\nexport function useScreenActions(): {\n actions: readonly ActionDescriptor[];\n contexts: readonly ContextDescriptor[];\n executeAction: (id: string, input: unknown, context?: ExecutionContext) => Promise<ActionResult<unknown>>;\n getContext: (key: string) => Promise<ContextValueResult<unknown>>;\n getAllContext: () => Promise<Record<string, ContextValueResult<unknown>>>;\n} {\n const registry = useScreenActionRegistry();\n const actions = useScreenActionList();\n const contexts = useScreenContextList();\n\n const executeAction = useCallback(\n (id: string, input: unknown, context?: ExecutionContext) => registry.executeAction(id, input, context),\n [registry]\n );\n\n const getContext = useCallback(\n (key: string) => registry.getContext(key),\n [registry]\n );\n\n const getAllContext = useCallback(\n () => registry.getAllContext(),\n [registry]\n );\n\n return {\n actions,\n contexts,\n executeAction,\n getContext,\n getAllContext,\n };\n}\n"],"mappings":"A,wIAUA,IAAMK,EAAoD,OAAO,OAAO,CAAC,CAAC,EACpEC,EAAsD,OAAO,OAAO,CAAC,CAAC,EAO5E,SAAgBC,GAAmD,CACjE,IAAMC,EAAWR,EAAAA,wBAAwB,EAEnCS,GAAA,EAAYR,EAAAA,YAAAA,CACf,GAA8BO,EAAS,UAAUE,CAAa,EAC/D,CAACF,CAAQ,CACX,EACMG,GAAA,EAAcV,EAAAA,YAAAA,KAAkBO,EAAS,YAAY,EAAG,CAACA,CAAQ,CAAC,EAClEI,GAAA,EAAoBX,EAAAA,YAAAA,KAAkBI,EAAsB,CAAC,CAAC,EAEpE,OAAA,EAAOH,EAAAA,qBAAAA,CAAqBO,EAAWE,EAAaC,CAAiB,CACvE,CAOA,SAAgBC,GAAqD,CACnE,IAAML,EAAWR,EAAAA,wBAAwB,EAEnCS,GAAA,EAAYR,EAAAA,YAAAA,CACf,GAA8BO,EAAS,UAAUE,CAAa,EAC/D,CAACF,CAAQ,CACX,EACMG,GAAA,EAAcV,EAAAA,YAAAA,KAAkBO,EAAS,aAAa,EAAG,CAACA,CAAQ,CAAC,EACnEI,GAAA,EAAoBX,EAAAA,YAAAA,KAAkBK,EAAuB,CAAC,CAAC,EAErE,OAAA,EAAOJ,EAAAA,qBAAAA,CAAqBO,EAAWE,EAAaC,CAAiB,CACvE,CAMA,SAAgBE,GAMd,CACA,IAAMN,EAAWR,EAAAA,wBAAwB,EAmBzC,MAAO,CACL,QAnBcO,EAmBd,EACA,SAnBeM,EAmBf,EACA,eAAA,EAlBoBZ,EAAAA,YAAAA,EACnB,EAAY,EAAgB,IAA+BO,EAAS,cAAcO,EAAIC,EAAOC,CAAO,EACrG,CAACT,CAAQ,CAgBT,EACA,YAAA,EAdiBP,EAAAA,YAAAA,CAChB,GAAgBO,EAAS,WAAWU,CAAG,EACxC,CAACV,CAAQ,CAYT,EACA,eAAA,EAVoBP,EAAAA,YAAAA,KACdO,EAAS,cAAc,EAC7B,CAACA,CAAQ,CAQT,CACF,CACF,C"}
1
+ {"version":3,"file":"use-screen-action-registry.cjs","names":["useScreenActionRegistry","useCallback","useSyncExternalStore","require_ai_action_context","react","SSR_ACTIONS_SNAPSHOT","SSR_CONTEXTS_SNAPSHOT","useScreenActionList","registry","subscribe","onStoreChange","getSnapshot","getServerSnapshot","useScreenContextList","useScreenActions","id","input","context","key"],"sources":["../../../src/ai/action/use-screen-action-registry.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react';\nimport type {\n ActionDescriptor,\n ExecutionContext,\n ActionResult,\n ContextDescriptor,\n ContextValueResult,\n} from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\n\nconst SSR_ACTIONS_SNAPSHOT: readonly ActionDescriptor[] = Object.freeze([]);\nconst SSR_CONTEXTS_SNAPSHOT: readonly ContextDescriptor[] = Object.freeze([]);\n\n/**\n * Subscribes to action descriptors registered on the current screen.\n *\n * @returns Read-only action descriptors; the server snapshot is empty.\n *\n * @throws Error without ScreenActionProvider.\n *\n * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.\n * List snapshots remain stable until registrations change. Actions execute only on an\n * explicit executeAction call; backend authorization remains host-owned.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenActionList } from '@alneas/appkit-react/ai/action';\n * function Content() { return <output>{useScreenActionList().length}</output>; }\n * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }\n * ```\n */\nexport function useScreenActionList(): readonly ActionDescriptor[] {\n const registry = useScreenActionRegistry();\n\n const subscribe = useCallback(\n (onStoreChange: () => void) => registry.subscribe(onStoreChange),\n [registry]\n );\n const getSnapshot = useCallback(() => registry.listActions(), [registry]);\n const getServerSnapshot = useCallback(() => SSR_ACTIONS_SNAPSHOT, []);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n/**\n * Subscribes to context descriptors registered on the current screen.\n *\n * @returns Read-only context descriptors; the server snapshot is empty.\n *\n * @throws Error without ScreenActionProvider.\n *\n * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.\n * List snapshots remain stable until registrations change. Actions execute only on an\n * explicit executeAction call; backend authorization remains host-owned.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenContextList } from '@alneas/appkit-react/ai/action';\n * function Content() { return <output>{useScreenContextList().length}</output>; }\n * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }\n * ```\n */\nexport function useScreenContextList(): readonly ContextDescriptor[] {\n const registry = useScreenActionRegistry();\n\n const subscribe = useCallback(\n (onStoreChange: () => void) => registry.subscribe(onStoreChange),\n [registry]\n );\n const getSnapshot = useCallback(() => registry.listContexts(), [registry]);\n const getServerSnapshot = useCallback(() => SSR_CONTEXTS_SNAPSHOT, []);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n/**\n * Combines reactive action/context lists with bound execution and context-read helpers.\n *\n * @returns Descriptors plus executeAction, getContext and getAllContext bound to the current registry.\n *\n * @throws Error without ScreenActionProvider.\n *\n * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.\n * List snapshots remain stable until registrations change. Actions execute only on an\n * explicit executeAction call; backend authorization remains host-owned.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenActions } from '@alneas/appkit-react/ai/action';\n * function Content() { const { actions } = useScreenActions(); return <output>{actions.length}</output>; }\n * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }\n * ```\n */\nexport function useScreenActions(): {\n /**\n * Reactive action descriptors.\n */\n actions: readonly ActionDescriptor[];\n /**\n * Reactive lazy-context descriptors.\n */\n contexts: readonly ContextDescriptor[];\n /**\n * Execute a registered action explicitly.\n *\n * @param id - Registered action identifier.\n *\n * @param input - Untrusted input passed to its validator.\n *\n * @param context - Optional abort/progress context.\n *\n * @returns Core ActionResult containing output or a structured failure.\n */\n executeAction: (id: string, input: unknown, context?: ExecutionContext) => Promise<ActionResult<unknown>>;\n /**\n * Read one registered lazy context.\n *\n * @param key - Registered context key.\n *\n * @returns Core context result with a value or structured failure.\n */\n getContext: (key: string) => Promise<ContextValueResult<unknown>>;\n /**\n * Read all registered context getters.\n *\n * @returns Keyed context results, possibly empty.\n */\n getAllContext: () => Promise<Record<string, ContextValueResult<unknown>>>;\n} {\n const registry = useScreenActionRegistry();\n const actions = useScreenActionList();\n const contexts = useScreenContextList();\n\n const executeAction = useCallback(\n (id: string, input: unknown, context?: ExecutionContext) => registry.executeAction(id, input, context),\n [registry]\n );\n\n const getContext = useCallback(\n (key: string) => registry.getContext(key),\n [registry]\n );\n\n const getAllContext = useCallback(\n () => registry.getAllContext(),\n [registry]\n );\n\n return {\n actions,\n contexts,\n executeAction,\n getContext,\n getAllContext,\n };\n}\n"],"mappings":"A,wIAUA,IAAMK,EAAoD,OAAO,OAAO,CAAC,CAAC,EACpEC,EAAsD,OAAO,OAAO,CAAC,CAAC,EAoB5E,SAAgBC,GAAmD,CACjE,IAAMC,EAAWR,EAAAA,wBAAwB,EAEnCS,GAAA,EAAYR,EAAAA,YAAAA,CACf,GAA8BO,EAAS,UAAUE,CAAa,EAC/D,CAACF,CAAQ,CACX,EACMG,GAAA,EAAcV,EAAAA,YAAAA,KAAkBO,EAAS,YAAY,EAAG,CAACA,CAAQ,CAAC,EAClEI,GAAA,EAAoBX,EAAAA,YAAAA,KAAkBI,EAAsB,CAAC,CAAC,EAEpE,OAAA,EAAOH,EAAAA,qBAAAA,CAAqBO,EAAWE,EAAaC,CAAiB,CACvE,CAoBA,SAAgBC,GAAqD,CACnE,IAAML,EAAWR,EAAAA,wBAAwB,EAEnCS,GAAA,EAAYR,EAAAA,YAAAA,CACf,GAA8BO,EAAS,UAAUE,CAAa,EAC/D,CAACF,CAAQ,CACX,EACMG,GAAA,EAAcV,EAAAA,YAAAA,KAAkBO,EAAS,aAAa,EAAG,CAACA,CAAQ,CAAC,EACnEI,GAAA,EAAoBX,EAAAA,YAAAA,KAAkBK,EAAuB,CAAC,CAAC,EAErE,OAAA,EAAOJ,EAAAA,qBAAAA,CAAqBO,EAAWE,EAAaC,CAAiB,CACvE,CAoBA,SAAgBE,GAmCd,CACA,IAAMN,EAAWR,EAAAA,wBAAwB,EAmBzC,MAAO,CACL,QAnBcO,EAmBd,EACA,SAnBeM,EAmBf,EACA,eAAA,EAlBoBZ,EAAAA,YAAAA,EACnB,EAAY,EAAgB,IAA+BO,EAAS,cAAcO,EAAIC,EAAOC,CAAO,EACrG,CAACT,CAAQ,CAgBT,EACA,YAAA,EAdiBP,EAAAA,YAAAA,CAChB,GAAgBO,EAAS,WAAWU,CAAG,EACxC,CAACV,CAAQ,CAYT,EACA,eAAA,EAVoBP,EAAAA,YAAAA,KACdO,EAAS,cAAc,EAC7B,CAACA,CAAQ,CAQT,CACF,CACF,C"}
@@ -1,24 +1,93 @@
1
1
  import { ActionDescriptor, ExecutionContext, ActionResult, ContextDescriptor, ContextValueResult } from '@alneas/appkit-core/ai';
2
2
  /**
3
- * Returns a reactive list of currently registered actions on the current screen.
4
- * Safely integrated with useSyncExternalStore; retains snapshot reference equality
5
- * until registrations change.
3
+ * Subscribes to action descriptors registered on the current screen.
4
+ *
5
+ * @returns Read-only action descriptors; the server snapshot is empty.
6
+ *
7
+ * @throws Error without ScreenActionProvider.
8
+ *
9
+ * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.
10
+ * List snapshots remain stable until registrations change. Actions execute only on an
11
+ * explicit executeAction call; backend authorization remains host-owned.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * import { ScreenActionProvider, useScreenActionList } from '@alneas/appkit-react/ai/action';
16
+ * function Content() { return <output>{useScreenActionList().length}</output>; }
17
+ * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }
18
+ * ```
6
19
  */
7
20
  export declare function useScreenActionList(): readonly ActionDescriptor[];
8
21
  /**
9
- * Returns a reactive list of currently registered contexts on the current screen.
10
- * Safely integrated with useSyncExternalStore; retains snapshot reference equality
11
- * until registrations change.
22
+ * Subscribes to context descriptors registered on the current screen.
23
+ *
24
+ * @returns Read-only context descriptors; the server snapshot is empty.
25
+ *
26
+ * @throws Error without ScreenActionProvider.
27
+ *
28
+ * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.
29
+ * List snapshots remain stable until registrations change. Actions execute only on an
30
+ * explicit executeAction call; backend authorization remains host-owned.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * import { ScreenActionProvider, useScreenContextList } from '@alneas/appkit-react/ai/action';
35
+ * function Content() { return <output>{useScreenContextList().length}</output>; }
36
+ * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }
37
+ * ```
12
38
  */
13
39
  export declare function useScreenContextList(): readonly ContextDescriptor[];
14
40
  /**
15
- * Comprehensive hook providing the current screen's actions, contexts,
16
- * and execution/query helpers.
41
+ * Combines reactive action/context lists with bound execution and context-read helpers.
42
+ *
43
+ * @returns Descriptors plus executeAction, getContext and getAllContext bound to the current registry.
44
+ *
45
+ * @throws Error without ScreenActionProvider.
46
+ *
47
+ * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.
48
+ * List snapshots remain stable until registrations change. Actions execute only on an
49
+ * explicit executeAction call; backend authorization remains host-owned.
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * import { ScreenActionProvider, useScreenActions } from '@alneas/appkit-react/ai/action';
54
+ * function Content() { const { actions } = useScreenActions(); return <output>{actions.length}</output>; }
55
+ * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }
56
+ * ```
17
57
  */
18
58
  export declare function useScreenActions(): {
59
+ /**
60
+ * Reactive action descriptors.
61
+ */
19
62
  actions: readonly ActionDescriptor[];
63
+ /**
64
+ * Reactive lazy-context descriptors.
65
+ */
20
66
  contexts: readonly ContextDescriptor[];
67
+ /**
68
+ * Execute a registered action explicitly.
69
+ *
70
+ * @param id - Registered action identifier.
71
+ *
72
+ * @param input - Untrusted input passed to its validator.
73
+ *
74
+ * @param context - Optional abort/progress context.
75
+ *
76
+ * @returns Core ActionResult containing output or a structured failure.
77
+ */
21
78
  executeAction: (id: string, input: unknown, context?: ExecutionContext) => Promise<ActionResult<unknown>>;
79
+ /**
80
+ * Read one registered lazy context.
81
+ *
82
+ * @param key - Registered context key.
83
+ *
84
+ * @returns Core context result with a value or structured failure.
85
+ */
22
86
  getContext: (key: string) => Promise<ContextValueResult<unknown>>;
87
+ /**
88
+ * Read all registered context getters.
89
+ *
90
+ * @returns Keyed context results, possibly empty.
91
+ */
23
92
  getAllContext: () => Promise<Record<string, ContextValueResult<unknown>>>;
24
93
  };
@@ -1,24 +1,93 @@
1
1
  import { ActionDescriptor, ExecutionContext, ActionResult, ContextDescriptor, ContextValueResult } from '@alneas/appkit-core/ai';
2
2
  /**
3
- * Returns a reactive list of currently registered actions on the current screen.
4
- * Safely integrated with useSyncExternalStore; retains snapshot reference equality
5
- * until registrations change.
3
+ * Subscribes to action descriptors registered on the current screen.
4
+ *
5
+ * @returns Read-only action descriptors; the server snapshot is empty.
6
+ *
7
+ * @throws Error without ScreenActionProvider.
8
+ *
9
+ * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.
10
+ * List snapshots remain stable until registrations change. Actions execute only on an
11
+ * explicit executeAction call; backend authorization remains host-owned.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * import { ScreenActionProvider, useScreenActionList } from '@alneas/appkit-react/ai/action';
16
+ * function Content() { return <output>{useScreenActionList().length}</output>; }
17
+ * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }
18
+ * ```
6
19
  */
7
20
  export declare function useScreenActionList(): readonly ActionDescriptor[];
8
21
  /**
9
- * Returns a reactive list of currently registered contexts on the current screen.
10
- * Safely integrated with useSyncExternalStore; retains snapshot reference equality
11
- * until registrations change.
22
+ * Subscribes to context descriptors registered on the current screen.
23
+ *
24
+ * @returns Read-only context descriptors; the server snapshot is empty.
25
+ *
26
+ * @throws Error without ScreenActionProvider.
27
+ *
28
+ * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.
29
+ * List snapshots remain stable until registrations change. Actions execute only on an
30
+ * explicit executeAction call; backend authorization remains host-owned.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * import { ScreenActionProvider, useScreenContextList } from '@alneas/appkit-react/ai/action';
35
+ * function Content() { return <output>{useScreenContextList().length}</output>; }
36
+ * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }
37
+ * ```
12
38
  */
13
39
  export declare function useScreenContextList(): readonly ContextDescriptor[];
14
40
  /**
15
- * Comprehensive hook providing the current screen's actions, contexts,
16
- * and execution/query helpers.
41
+ * Combines reactive action/context lists with bound execution and context-read helpers.
42
+ *
43
+ * @returns Descriptors plus executeAction, getContext and getAllContext bound to the current registry.
44
+ *
45
+ * @throws Error without ScreenActionProvider.
46
+ *
47
+ * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.
48
+ * List snapshots remain stable until registrations change. Actions execute only on an
49
+ * explicit executeAction call; backend authorization remains host-owned.
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * import { ScreenActionProvider, useScreenActions } from '@alneas/appkit-react/ai/action';
54
+ * function Content() { const { actions } = useScreenActions(); return <output>{actions.length}</output>; }
55
+ * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }
56
+ * ```
17
57
  */
18
58
  export declare function useScreenActions(): {
59
+ /**
60
+ * Reactive action descriptors.
61
+ */
19
62
  actions: readonly ActionDescriptor[];
63
+ /**
64
+ * Reactive lazy-context descriptors.
65
+ */
20
66
  contexts: readonly ContextDescriptor[];
67
+ /**
68
+ * Execute a registered action explicitly.
69
+ *
70
+ * @param id - Registered action identifier.
71
+ *
72
+ * @param input - Untrusted input passed to its validator.
73
+ *
74
+ * @param context - Optional abort/progress context.
75
+ *
76
+ * @returns Core ActionResult containing output or a structured failure.
77
+ */
21
78
  executeAction: (id: string, input: unknown, context?: ExecutionContext) => Promise<ActionResult<unknown>>;
79
+ /**
80
+ * Read one registered lazy context.
81
+ *
82
+ * @param key - Registered context key.
83
+ *
84
+ * @returns Core context result with a value or structured failure.
85
+ */
22
86
  getContext: (key: string) => Promise<ContextValueResult<unknown>>;
87
+ /**
88
+ * Read all registered context getters.
89
+ *
90
+ * @returns Keyed context results, possibly empty.
91
+ */
23
92
  getAllContext: () => Promise<Record<string, ContextValueResult<unknown>>>;
24
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-screen-action-registry.js","names":["SSR_ACTIONS_SNAPSHOT","SSR_CONTEXTS_SNAPSHOT","useScreenActionList","registry","useScreenActionRegistry","subscribe","useCallback","onStoreChange","getSnapshot","getServerSnapshot","useSyncExternalStore","useScreenContextList","useScreenActions","id","input","context","key"],"sources":["../../../src/ai/action/use-screen-action-registry.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react';\nimport type {\n ActionDescriptor,\n ExecutionContext,\n ActionResult,\n ContextDescriptor,\n ContextValueResult,\n} from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\n\nconst SSR_ACTIONS_SNAPSHOT: readonly ActionDescriptor[] = Object.freeze([]);\nconst SSR_CONTEXTS_SNAPSHOT: readonly ContextDescriptor[] = Object.freeze([]);\n\n/**\n * Returns a reactive list of currently registered actions on the current screen.\n * Safely integrated with useSyncExternalStore; retains snapshot reference equality\n * until registrations change.\n */\nexport function useScreenActionList(): readonly ActionDescriptor[] {\n const registry = useScreenActionRegistry();\n\n const subscribe = useCallback(\n (onStoreChange: () => void) => registry.subscribe(onStoreChange),\n [registry]\n );\n const getSnapshot = useCallback(() => registry.listActions(), [registry]);\n const getServerSnapshot = useCallback(() => SSR_ACTIONS_SNAPSHOT, []);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n/**\n * Returns a reactive list of currently registered contexts on the current screen.\n * Safely integrated with useSyncExternalStore; retains snapshot reference equality\n * until registrations change.\n */\nexport function useScreenContextList(): readonly ContextDescriptor[] {\n const registry = useScreenActionRegistry();\n\n const subscribe = useCallback(\n (onStoreChange: () => void) => registry.subscribe(onStoreChange),\n [registry]\n );\n const getSnapshot = useCallback(() => registry.listContexts(), [registry]);\n const getServerSnapshot = useCallback(() => SSR_CONTEXTS_SNAPSHOT, []);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n/**\n * Comprehensive hook providing the current screen's actions, contexts,\n * and execution/query helpers.\n */\nexport function useScreenActions(): {\n actions: readonly ActionDescriptor[];\n contexts: readonly ContextDescriptor[];\n executeAction: (id: string, input: unknown, context?: ExecutionContext) => Promise<ActionResult<unknown>>;\n getContext: (key: string) => Promise<ContextValueResult<unknown>>;\n getAllContext: () => Promise<Record<string, ContextValueResult<unknown>>>;\n} {\n const registry = useScreenActionRegistry();\n const actions = useScreenActionList();\n const contexts = useScreenContextList();\n\n const executeAction = useCallback(\n (id: string, input: unknown, context?: ExecutionContext) => registry.executeAction(id, input, context),\n [registry]\n );\n\n const getContext = useCallback(\n (key: string) => registry.getContext(key),\n [registry]\n );\n\n const getAllContext = useCallback(\n () => registry.getAllContext(),\n [registry]\n );\n\n return {\n actions,\n contexts,\n executeAction,\n getContext,\n getAllContext,\n };\n}\n"],"mappings":";;;;AAUA,IAAMA,IAAoD,OAAO,OAAO,CAAC,CAAC,GACpEC,IAAsD,OAAO,OAAO,CAAC,CAAC;AAO5E,SAAgBC,IAAmD;CACjE,IAAMC,IAAWC,EAAwB,GAEnCC,IAAYC,GACf,MAA8BH,EAAS,UAAUI,CAAa,GAC/D,CAACJ,CAAQ,CACX,GACMK,IAAcF,QAAkBH,EAAS,YAAY,GAAG,CAACA,CAAQ,CAAC,GAClEM,IAAoBH,QAAkBN,GAAsB,CAAC,CAAC;CAEpE,OAAOU,EAAqBL,GAAWG,GAAaC,CAAiB;AACvE;AAOA,SAAgBE,IAAqD;CACnE,IAAMR,IAAWC,EAAwB,GAEnCC,IAAYC,GACf,MAA8BH,EAAS,UAAUI,CAAa,GAC/D,CAACJ,CAAQ,CACX,GACMK,IAAcF,QAAkBH,EAAS,aAAa,GAAG,CAACA,CAAQ,CAAC,GACnEM,IAAoBH,QAAkBL,GAAuB,CAAC,CAAC;CAErE,OAAOS,EAAqBL,GAAWG,GAAaC,CAAiB;AACvE;AAMA,SAAgBG,IAMd;CACA,IAAMT,IAAWC,EAAwB;CAmBzC,OAAO;EACL,SAnBcF,EAmBd;EACA,UAnBeS,EAmBf;EACA,eAlBoBL,GACnB,GAAY,GAAgB,MAA+BH,EAAS,cAAcU,GAAIC,GAAOC,CAAO,GACrG,CAACZ,CAAQ,CAgBT;EACA,YAdiBG,GAChB,MAAgBH,EAAS,WAAWa,CAAG,GACxC,CAACb,CAAQ,CAYT;EACA,eAVoBG,QACdH,EAAS,cAAc,GAC7B,CAACA,CAAQ,CAQT;CACF;AACF"}
1
+ {"version":3,"file":"use-screen-action-registry.js","names":["SSR_ACTIONS_SNAPSHOT","SSR_CONTEXTS_SNAPSHOT","useScreenActionList","registry","useScreenActionRegistry","subscribe","useCallback","onStoreChange","getSnapshot","getServerSnapshot","useSyncExternalStore","useScreenContextList","useScreenActions","id","input","context","key"],"sources":["../../../src/ai/action/use-screen-action-registry.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react';\nimport type {\n ActionDescriptor,\n ExecutionContext,\n ActionResult,\n ContextDescriptor,\n ContextValueResult,\n} from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\n\nconst SSR_ACTIONS_SNAPSHOT: readonly ActionDescriptor[] = Object.freeze([]);\nconst SSR_CONTEXTS_SNAPSHOT: readonly ContextDescriptor[] = Object.freeze([]);\n\n/**\n * Subscribes to action descriptors registered on the current screen.\n *\n * @returns Read-only action descriptors; the server snapshot is empty.\n *\n * @throws Error without ScreenActionProvider.\n *\n * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.\n * List snapshots remain stable until registrations change. Actions execute only on an\n * explicit executeAction call; backend authorization remains host-owned.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenActionList } from '@alneas/appkit-react/ai/action';\n * function Content() { return <output>{useScreenActionList().length}</output>; }\n * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }\n * ```\n */\nexport function useScreenActionList(): readonly ActionDescriptor[] {\n const registry = useScreenActionRegistry();\n\n const subscribe = useCallback(\n (onStoreChange: () => void) => registry.subscribe(onStoreChange),\n [registry]\n );\n const getSnapshot = useCallback(() => registry.listActions(), [registry]);\n const getServerSnapshot = useCallback(() => SSR_ACTIONS_SNAPSHOT, []);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n/**\n * Subscribes to context descriptors registered on the current screen.\n *\n * @returns Read-only context descriptors; the server snapshot is empty.\n *\n * @throws Error without ScreenActionProvider.\n *\n * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.\n * List snapshots remain stable until registrations change. Actions execute only on an\n * explicit executeAction call; backend authorization remains host-owned.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenContextList } from '@alneas/appkit-react/ai/action';\n * function Content() { return <output>{useScreenContextList().length}</output>; }\n * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }\n * ```\n */\nexport function useScreenContextList(): readonly ContextDescriptor[] {\n const registry = useScreenActionRegistry();\n\n const subscribe = useCallback(\n (onStoreChange: () => void) => registry.subscribe(onStoreChange),\n [registry]\n );\n const getSnapshot = useCallback(() => registry.listContexts(), [registry]);\n const getServerSnapshot = useCallback(() => SSR_CONTEXTS_SNAPSHOT, []);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n\n/**\n * Combines reactive action/context lists with bound execution and context-read helpers.\n *\n * @returns Descriptors plus executeAction, getContext and getAllContext bound to the current registry.\n *\n * @throws Error without ScreenActionProvider.\n *\n * @remarks Requires ScreenActionProvider; no styles. Subscriptions are removed on cleanup.\n * List snapshots remain stable until registrations change. Actions execute only on an\n * explicit executeAction call; backend authorization remains host-owned.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenActions } from '@alneas/appkit-react/ai/action';\n * function Content() { const { actions } = useScreenActions(); return <output>{actions.length}</output>; }\n * export function Screen() { return <ScreenActionProvider><Content /></ScreenActionProvider>; }\n * ```\n */\nexport function useScreenActions(): {\n /**\n * Reactive action descriptors.\n */\n actions: readonly ActionDescriptor[];\n /**\n * Reactive lazy-context descriptors.\n */\n contexts: readonly ContextDescriptor[];\n /**\n * Execute a registered action explicitly.\n *\n * @param id - Registered action identifier.\n *\n * @param input - Untrusted input passed to its validator.\n *\n * @param context - Optional abort/progress context.\n *\n * @returns Core ActionResult containing output or a structured failure.\n */\n executeAction: (id: string, input: unknown, context?: ExecutionContext) => Promise<ActionResult<unknown>>;\n /**\n * Read one registered lazy context.\n *\n * @param key - Registered context key.\n *\n * @returns Core context result with a value or structured failure.\n */\n getContext: (key: string) => Promise<ContextValueResult<unknown>>;\n /**\n * Read all registered context getters.\n *\n * @returns Keyed context results, possibly empty.\n */\n getAllContext: () => Promise<Record<string, ContextValueResult<unknown>>>;\n} {\n const registry = useScreenActionRegistry();\n const actions = useScreenActionList();\n const contexts = useScreenContextList();\n\n const executeAction = useCallback(\n (id: string, input: unknown, context?: ExecutionContext) => registry.executeAction(id, input, context),\n [registry]\n );\n\n const getContext = useCallback(\n (key: string) => registry.getContext(key),\n [registry]\n );\n\n const getAllContext = useCallback(\n () => registry.getAllContext(),\n [registry]\n );\n\n return {\n actions,\n contexts,\n executeAction,\n getContext,\n getAllContext,\n };\n}\n"],"mappings":";;;;AAUA,IAAMA,IAAoD,OAAO,OAAO,CAAC,CAAC,GACpEC,IAAsD,OAAO,OAAO,CAAC,CAAC;AAoB5E,SAAgBC,IAAmD;CACjE,IAAMC,IAAWC,EAAwB,GAEnCC,IAAYC,GACf,MAA8BH,EAAS,UAAUI,CAAa,GAC/D,CAACJ,CAAQ,CACX,GACMK,IAAcF,QAAkBH,EAAS,YAAY,GAAG,CAACA,CAAQ,CAAC,GAClEM,IAAoBH,QAAkBN,GAAsB,CAAC,CAAC;CAEpE,OAAOU,EAAqBL,GAAWG,GAAaC,CAAiB;AACvE;AAoBA,SAAgBE,IAAqD;CACnE,IAAMR,IAAWC,EAAwB,GAEnCC,IAAYC,GACf,MAA8BH,EAAS,UAAUI,CAAa,GAC/D,CAACJ,CAAQ,CACX,GACMK,IAAcF,QAAkBH,EAAS,aAAa,GAAG,CAACA,CAAQ,CAAC,GACnEM,IAAoBH,QAAkBL,GAAuB,CAAC,CAAC;CAErE,OAAOS,EAAqBL,GAAWG,GAAaC,CAAiB;AACvE;AAoBA,SAAgBG,IAmCd;CACA,IAAMT,IAAWC,EAAwB;CAmBzC,OAAO;EACL,SAnBcF,EAmBd;EACA,UAnBeS,EAmBf;EACA,eAlBoBL,GACnB,GAAY,GAAgB,MAA+BH,EAAS,cAAcU,GAAIC,GAAOC,CAAO,GACrG,CAACZ,CAAQ,CAgBT;EACA,YAdiBG,GAChB,MAAgBH,EAAS,WAAWa,CAAG,GACxC,CAACb,CAAQ,CAYT;EACA,eAVoBG,QACdH,EAAS,cAAc,GAC7B,CAACA,CAAQ,CAQT;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-screen-action.cjs","names":["useScreenActionRegistry","useRef","require_ai_action_context","react","useScreenAction","registry","actionRef","action","unregister","input","context","id","description","metadata"],"sources":["../../../src/ai/action/use-screen-action.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react';\nimport type { ActionDefinition, ActionValidator, ExecutionContext } from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\n\n/**\n * Registers an action on the current screen's ActionRegistry.\n *\n * Handler and validator automatically capture the latest committed\n * props and state via refs without requiring dependency arrays.\n * Metadata is a registration descriptor; keep it stable and replace it to update the list.\n * The action is automatically unregistered when the component unmounts\n * or when the action ID changes.\n */\nexport function useScreenAction<TInput = unknown, TOutput = unknown>(\n action: ActionDefinition<TInput, TOutput>\n): void {\n const registry = useScreenActionRegistry();\n\n const actionRef = useRef(action);\n useLayoutEffect(() => {\n actionRef.current = action;\n });\n\n const { id, description, metadata } = action;\n\n useLayoutEffect(() => {\n const wrappedValidate: ActionValidator<TInput> = (input) => {\n return actionRef.current.validate(input);\n };\n\n const wrappedHandler = (input: TInput, context?: ExecutionContext) => {\n return context ? actionRef.current.handler(input, context) : actionRef.current.handler(input);\n };\n\n const unregister = registry.registerAction({\n id,\n description,\n validate: wrappedValidate,\n handler: wrappedHandler,\n metadata,\n });\n\n return () => {\n unregister();\n };\n }, [registry, id, description, metadata]);\n}\n"],"mappings":"A,wIAaA,SAAgBI,EACd,EACM,CACN,IAAMC,EAAWL,EAAAA,wBAAwB,EAEnCM,GAAA,EAAYL,EAAAA,OAAAA,CAAOM,CAAM,GAC/B,EAAAJ,EAAA,gBAAA,KAAsB,CACpB,EAAU,QAAUI,CACtB,CAAC,EAED,GAAM,CAAE,KAAI,cAAa,YAAaA,GAEtC,EAAAJ,EAAA,gBAAA,KAAsB,CASpB,IAAMK,EAAaH,EAAS,eAAe,CACzC,KACA,cACA,SAXgD,GACzCC,EAAU,QAAQ,SAASG,CAAK,EAWvC,SARsB,EAAe,IAC9BC,EAAUJ,EAAU,QAAQ,QAAQG,EAAOC,CAAO,EAAIJ,EAAU,QAAQ,QAAQG,CAAK,EAQ5F,UACF,CAAC,EAED,UAAa,CACXD,EAAW,CACb,CACF,EAAG,CAACH,EAAUM,EAAIC,EAAaC,CAAQ,CAAC,CAC1C,C"}
1
+ {"version":3,"file":"use-screen-action.cjs","names":["useScreenActionRegistry","useRef","require_ai_action_context","react","useScreenAction","registry","actionRef","action","unregister","input","context","id","description","metadata"],"sources":["../../../src/ai/action/use-screen-action.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react';\nimport type { ActionDefinition, ActionValidator, ExecutionContext } from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\n\n/**\n * Registers a validated action on the nearest screen registry after commit.\n *\n * @typeParam TInput - Validated input shape; defaults to unknown.\n *\n * @typeParam TOutput - Handler output shape; defaults to unknown.\n *\n * @param action - Stable ID/description/metadata with validator and handler from the host.\n *\n * @returns No value; effect cleanup unregisters this registration.\n *\n * @throws Error without ScreenActionProvider; registration errors propagate from the layout effect.\n *\n * @remarks Latest committed validator/handler are read through refs. ID, description or\n * metadata identity changes trigger re-registration. No action executes automatically;\n * no styles are required. The host owns effects and authorization in its handler.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenAction, type ActionDefinition } from '@alneas/appkit-react/ai/action';\n * function Registration({ action }: { action: ActionDefinition<string, string> }) { useScreenAction(action); return null; }\n * export function Screen({ action }: { action: ActionDefinition<string, string> }) {\n * return <ScreenActionProvider><Registration action={action} /></ScreenActionProvider>;\n * }\n * ```\n */\nexport function useScreenAction<TInput = unknown, TOutput = unknown>(\n action: ActionDefinition<TInput, TOutput>\n): void {\n const registry = useScreenActionRegistry();\n\n const actionRef = useRef(action);\n useLayoutEffect(() => {\n actionRef.current = action;\n });\n\n const { id, description, metadata } = action;\n\n useLayoutEffect(() => {\n const wrappedValidate: ActionValidator<TInput> = (input) => {\n return actionRef.current.validate(input);\n };\n\n const wrappedHandler = (input: TInput, context?: ExecutionContext) => {\n return context ? actionRef.current.handler(input, context) : actionRef.current.handler(input);\n };\n\n const unregister = registry.registerAction({\n id,\n description,\n validate: wrappedValidate,\n handler: wrappedHandler,\n metadata,\n });\n\n return () => {\n unregister();\n };\n }, [registry, id, description, metadata]);\n}\n"],"mappings":"A,wIA8BA,SAAgBI,EACd,EACM,CACN,IAAMC,EAAWL,EAAAA,wBAAwB,EAEnCM,GAAA,EAAYL,EAAAA,OAAAA,CAAOM,CAAM,GAC/B,EAAAJ,EAAA,gBAAA,KAAsB,CACpB,EAAU,QAAUI,CACtB,CAAC,EAED,GAAM,CAAE,KAAI,cAAa,YAAaA,GAEtC,EAAAJ,EAAA,gBAAA,KAAsB,CASpB,IAAMK,EAAaH,EAAS,eAAe,CACzC,KACA,cACA,SAXgD,GACzCC,EAAU,QAAQ,SAASG,CAAK,EAWvC,SARsB,EAAe,IAC9BC,EAAUJ,EAAU,QAAQ,QAAQG,EAAOC,CAAO,EAAIJ,EAAU,QAAQ,QAAQG,CAAK,EAQ5F,UACF,CAAC,EAED,UAAa,CACXD,EAAW,CACb,CACF,EAAG,CAACH,EAAUM,EAAIC,EAAaC,CAAQ,CAAC,CAC1C,C"}
@@ -1,11 +1,28 @@
1
1
  import { ActionDefinition } from '@alneas/appkit-core/ai';
2
2
  /**
3
- * Registers an action on the current screen's ActionRegistry.
3
+ * Registers a validated action on the nearest screen registry after commit.
4
4
  *
5
- * Handler and validator automatically capture the latest committed
6
- * props and state via refs without requiring dependency arrays.
7
- * Metadata is a registration descriptor; keep it stable and replace it to update the list.
8
- * The action is automatically unregistered when the component unmounts
9
- * or when the action ID changes.
5
+ * @typeParam TInput - Validated input shape; defaults to unknown.
6
+ *
7
+ * @typeParam TOutput - Handler output shape; defaults to unknown.
8
+ *
9
+ * @param action - Stable ID/description/metadata with validator and handler from the host.
10
+ *
11
+ * @returns No value; effect cleanup unregisters this registration.
12
+ *
13
+ * @throws Error without ScreenActionProvider; registration errors propagate from the layout effect.
14
+ *
15
+ * @remarks Latest committed validator/handler are read through refs. ID, description or
16
+ * metadata identity changes trigger re-registration. No action executes automatically;
17
+ * no styles are required. The host owns effects and authorization in its handler.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * import { ScreenActionProvider, useScreenAction, type ActionDefinition } from '@alneas/appkit-react/ai/action';
22
+ * function Registration({ action }: { action: ActionDefinition<string, string> }) { useScreenAction(action); return null; }
23
+ * export function Screen({ action }: { action: ActionDefinition<string, string> }) {
24
+ * return <ScreenActionProvider><Registration action={action} /></ScreenActionProvider>;
25
+ * }
26
+ * ```
10
27
  */
11
28
  export declare function useScreenAction<TInput = unknown, TOutput = unknown>(action: ActionDefinition<TInput, TOutput>): void;
@@ -1,11 +1,28 @@
1
1
  import { ActionDefinition } from '@alneas/appkit-core/ai';
2
2
  /**
3
- * Registers an action on the current screen's ActionRegistry.
3
+ * Registers a validated action on the nearest screen registry after commit.
4
4
  *
5
- * Handler and validator automatically capture the latest committed
6
- * props and state via refs without requiring dependency arrays.
7
- * Metadata is a registration descriptor; keep it stable and replace it to update the list.
8
- * The action is automatically unregistered when the component unmounts
9
- * or when the action ID changes.
5
+ * @typeParam TInput - Validated input shape; defaults to unknown.
6
+ *
7
+ * @typeParam TOutput - Handler output shape; defaults to unknown.
8
+ *
9
+ * @param action - Stable ID/description/metadata with validator and handler from the host.
10
+ *
11
+ * @returns No value; effect cleanup unregisters this registration.
12
+ *
13
+ * @throws Error without ScreenActionProvider; registration errors propagate from the layout effect.
14
+ *
15
+ * @remarks Latest committed validator/handler are read through refs. ID, description or
16
+ * metadata identity changes trigger re-registration. No action executes automatically;
17
+ * no styles are required. The host owns effects and authorization in its handler.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * import { ScreenActionProvider, useScreenAction, type ActionDefinition } from '@alneas/appkit-react/ai/action';
22
+ * function Registration({ action }: { action: ActionDefinition<string, string> }) { useScreenAction(action); return null; }
23
+ * export function Screen({ action }: { action: ActionDefinition<string, string> }) {
24
+ * return <ScreenActionProvider><Registration action={action} /></ScreenActionProvider>;
25
+ * }
26
+ * ```
10
27
  */
11
28
  export declare function useScreenAction<TInput = unknown, TOutput = unknown>(action: ActionDefinition<TInput, TOutput>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-screen-action.js","names":["useScreenAction","registry","useScreenActionRegistry","actionRef","useRef","action","unregister","input","context","id","description","metadata"],"sources":["../../../src/ai/action/use-screen-action.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react';\nimport type { ActionDefinition, ActionValidator, ExecutionContext } from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\n\n/**\n * Registers an action on the current screen's ActionRegistry.\n *\n * Handler and validator automatically capture the latest committed\n * props and state via refs without requiring dependency arrays.\n * Metadata is a registration descriptor; keep it stable and replace it to update the list.\n * The action is automatically unregistered when the component unmounts\n * or when the action ID changes.\n */\nexport function useScreenAction<TInput = unknown, TOutput = unknown>(\n action: ActionDefinition<TInput, TOutput>\n): void {\n const registry = useScreenActionRegistry();\n\n const actionRef = useRef(action);\n useLayoutEffect(() => {\n actionRef.current = action;\n });\n\n const { id, description, metadata } = action;\n\n useLayoutEffect(() => {\n const wrappedValidate: ActionValidator<TInput> = (input) => {\n return actionRef.current.validate(input);\n };\n\n const wrappedHandler = (input: TInput, context?: ExecutionContext) => {\n return context ? actionRef.current.handler(input, context) : actionRef.current.handler(input);\n };\n\n const unregister = registry.registerAction({\n id,\n description,\n validate: wrappedValidate,\n handler: wrappedHandler,\n metadata,\n });\n\n return () => {\n unregister();\n };\n }, [registry, id, description, metadata]);\n}\n"],"mappings":";;;;AAaA,SAAgBA,EACd,GACM;CACN,IAAMC,IAAWC,EAAwB,GAEnCC,IAAYC,EAAOC,CAAM;CAC/B,QAAsB;EACpB,EAAU,UAAUA;CACtB,CAAC;CAED,IAAM,EAAE,OAAI,gBAAa,gBAAaA;CAEtC,QAAsB;EASpB,IAAMC,IAAaL,EAAS,eAAe;GACzC;GACA;GACA,WAXgD,MACzCE,EAAU,QAAQ,SAASI,CAAK;GAWvC,UARsB,GAAe,MAC9BC,IAAUL,EAAU,QAAQ,QAAQI,GAAOC,CAAO,IAAIL,EAAU,QAAQ,QAAQI,CAAK;GAQ5F;EACF,CAAC;EAED,aAAa;GACX,EAAW;EACb;CACF,GAAG;EAACN;EAAUQ;EAAIC;EAAaC;CAAQ,CAAC;AAC1C"}
1
+ {"version":3,"file":"use-screen-action.js","names":["useScreenAction","registry","useScreenActionRegistry","actionRef","useRef","action","unregister","input","context","id","description","metadata"],"sources":["../../../src/ai/action/use-screen-action.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react';\nimport type { ActionDefinition, ActionValidator, ExecutionContext } from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\n\n/**\n * Registers a validated action on the nearest screen registry after commit.\n *\n * @typeParam TInput - Validated input shape; defaults to unknown.\n *\n * @typeParam TOutput - Handler output shape; defaults to unknown.\n *\n * @param action - Stable ID/description/metadata with validator and handler from the host.\n *\n * @returns No value; effect cleanup unregisters this registration.\n *\n * @throws Error without ScreenActionProvider; registration errors propagate from the layout effect.\n *\n * @remarks Latest committed validator/handler are read through refs. ID, description or\n * metadata identity changes trigger re-registration. No action executes automatically;\n * no styles are required. The host owns effects and authorization in its handler.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenAction, type ActionDefinition } from '@alneas/appkit-react/ai/action';\n * function Registration({ action }: { action: ActionDefinition<string, string> }) { useScreenAction(action); return null; }\n * export function Screen({ action }: { action: ActionDefinition<string, string> }) {\n * return <ScreenActionProvider><Registration action={action} /></ScreenActionProvider>;\n * }\n * ```\n */\nexport function useScreenAction<TInput = unknown, TOutput = unknown>(\n action: ActionDefinition<TInput, TOutput>\n): void {\n const registry = useScreenActionRegistry();\n\n const actionRef = useRef(action);\n useLayoutEffect(() => {\n actionRef.current = action;\n });\n\n const { id, description, metadata } = action;\n\n useLayoutEffect(() => {\n const wrappedValidate: ActionValidator<TInput> = (input) => {\n return actionRef.current.validate(input);\n };\n\n const wrappedHandler = (input: TInput, context?: ExecutionContext) => {\n return context ? actionRef.current.handler(input, context) : actionRef.current.handler(input);\n };\n\n const unregister = registry.registerAction({\n id,\n description,\n validate: wrappedValidate,\n handler: wrappedHandler,\n metadata,\n });\n\n return () => {\n unregister();\n };\n }, [registry, id, description, metadata]);\n}\n"],"mappings":";;;;AA8BA,SAAgBA,EACd,GACM;CACN,IAAMC,IAAWC,EAAwB,GAEnCC,IAAYC,EAAOC,CAAM;CAC/B,QAAsB;EACpB,EAAU,UAAUA;CACtB,CAAC;CAED,IAAM,EAAE,OAAI,gBAAa,gBAAaA;CAEtC,QAAsB;EASpB,IAAMC,IAAaL,EAAS,eAAe;GACzC;GACA;GACA,WAXgD,MACzCE,EAAU,QAAQ,SAASI,CAAK;GAWvC,UARsB,GAAe,MAC9BC,IAAUL,EAAU,QAAQ,QAAQI,GAAOC,CAAO,IAAIL,EAAU,QAAQ,QAAQI,CAAK;GAQ5F;EACF,CAAC;EAED,aAAa;GACX,EAAW;EACb;CACF,GAAG;EAACN;EAAUQ;EAAIC;EAAaC;CAAQ,CAAC;AAC1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-screen-context.cjs","names":["useScreenActionRegistry","useRef","require_ai_action_context","react","useScreenContext","registry","key","keyOrOptions","getter","maybeGetter","description","maybeDescription","getterRef","unregister"],"sources":["../../../src/ai/action/use-screen-context.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react';\nimport type { ContextGetter } from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\nimport type { UseScreenContextOptions } from './types';\n\n/**\n * Registers an on-demand context getter on the current screen's ActionRegistry.\n *\n * The getter function automatically captures the latest committed props and state\n * via refs without requiring dependency arrays.\n * The context is automatically unregistered when the component unmounts\n * or when the context key changes.\n */\nexport function useScreenContext<T = unknown>(\n key: string,\n getter: ContextGetter<T>,\n description?: string\n): void;\nexport function useScreenContext<T = unknown>(\n options: UseScreenContextOptions<T>\n): void;\nexport function useScreenContext<T = unknown>(\n keyOrOptions: string | UseScreenContextOptions<T>,\n maybeGetter?: ContextGetter<T>,\n maybeDescription?: string\n): void {\n const registry = useScreenActionRegistry();\n\n const key = typeof keyOrOptions === 'string' ? keyOrOptions : keyOrOptions.key;\n const getter =\n typeof keyOrOptions === 'string' ? maybeGetter! : keyOrOptions.getter;\n const description =\n typeof keyOrOptions === 'string'\n ? maybeDescription\n : keyOrOptions.description;\n\n const getterRef = useRef(getter);\n useLayoutEffect(() => {\n getterRef.current = getter;\n });\n\n useLayoutEffect(() => {\n const wrappedGetter: ContextGetter<T> = () => {\n return getterRef.current();\n };\n\n const unregister = registry.registerContext({\n key,\n description,\n getter: wrappedGetter,\n });\n\n return () => {\n unregister();\n };\n }, [registry, key, description]);\n}\n"],"mappings":"A,wIAqBA,SAAgBI,EACd,EACA,EACA,EACM,CACN,IAAMC,EAAWL,EAAAA,wBAAwB,EAEnCM,EAAM,OAAOC,GAAiB,SAAWA,EAAeA,EAAa,IACrEC,EACJ,OAAOD,GAAiB,SAAWE,EAAeF,EAAa,OAC3DG,EACJ,OAAOH,GAAiB,SACpBI,EACAJ,EAAa,YAEbK,GAAA,EAAYX,EAAAA,OAAAA,CAAOO,CAAM,GAC/B,EAAAL,EAAA,gBAAA,KAAsB,CACpB,EAAU,QAAUK,CACtB,CAAC,GAED,EAAAL,EAAA,gBAAA,KAAsB,CAKpB,IAAMU,EAAaR,EAAS,gBAAgB,CAC1C,MACA,cACA,WANOO,EAAU,QAAQ,CAO3B,CAAC,EAED,UAAa,CACXC,EAAW,CACb,CACF,EAAG,CAACR,EAAUC,EAAKI,CAAW,CAAC,CACjC,C"}
1
+ {"version":3,"file":"use-screen-context.cjs","names":["useScreenActionRegistry","useRef","require_ai_action_context","react","useScreenContext","registry","key","keyOrOptions","getter","maybeGetter","description","maybeDescription","getterRef","unregister"],"sources":["../../../src/ai/action/use-screen-context.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react';\nimport type { ContextGetter } from \"@alneas/appkit-core/ai\";\nimport { useScreenActionRegistry } from './context';\nimport type { UseScreenContextOptions } from './types';\n\n/**\n * Registers an on-demand context getter using positional arguments.\n *\n * @typeParam T - Context getter result shape; defaults to unknown.\n *\n * @param key - Stable registry key.\n *\n * @param getter - Pure host getter invoked by registry context reads, using its latest committed version.\n *\n * @param description - Optional human/model-facing description.\n *\n * @returns No value; cleanup unregisters the context.\n *\n * @throws Error without ScreenActionProvider; registry registration failures propagate from the layout effect.\n *\n * @remarks Requires ScreenActionProvider; no styles. Key/description/registry changes\n * re-register the context, while getter changes update a ref after commit.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenContext } from '@alneas/appkit-react/ai/action';\n * function Context() { useScreenContext('selection', () => ({ ids: [] as string[] })); return null; }\n * export function Screen() { return <ScreenActionProvider><Context /></ScreenActionProvider>; }\n * ```\n */\nexport function useScreenContext<T = unknown>(\n key: string,\n getter: ContextGetter<T>,\n description?: string\n): void;\n/**\n * Registers an on-demand context getter using an options object.\n *\n * @typeParam T - Context getter result shape; defaults to unknown.\n *\n * @param options - Stable key, optional description and latest committed getter.\n *\n * @returns No value; cleanup unregisters the context.\n *\n * @throws Error without ScreenActionProvider; registry registration errors propagate from the layout effect.\n *\n * @remarks Requires ScreenActionProvider; no styles. Lifecycle matches the positional overload.\n *\n * @example\n * ```tsx\n * import { ScreenActionProvider, useScreenContext } from '@alneas/appkit-react/ai/action';\n * function Context() { useScreenContext({ key: 'selection', getter: () => ({ ids: [] as string[] }) }); return null; }\n * export function Screen() { return <ScreenActionProvider><Context /></ScreenActionProvider>; }\n * ```\n */\nexport function useScreenContext<T = unknown>(\n options: UseScreenContextOptions<T>\n): void;\nexport function useScreenContext<T = unknown>(\n keyOrOptions: string | UseScreenContextOptions<T>,\n maybeGetter?: ContextGetter<T>,\n maybeDescription?: string\n): void {\n const registry = useScreenActionRegistry();\n\n const key = typeof keyOrOptions === 'string' ? keyOrOptions : keyOrOptions.key;\n const getter =\n typeof keyOrOptions === 'string' ? maybeGetter! : keyOrOptions.getter;\n const description =\n typeof keyOrOptions === 'string'\n ? maybeDescription\n : keyOrOptions.description;\n\n const getterRef = useRef(getter);\n useLayoutEffect(() => {\n getterRef.current = getter;\n });\n\n useLayoutEffect(() => {\n const wrappedGetter: ContextGetter<T> = () => {\n return getterRef.current();\n };\n\n const unregister = registry.registerContext({\n key,\n description,\n getter: wrappedGetter,\n });\n\n return () => {\n unregister();\n };\n }, [registry, key, description]);\n}\n"],"mappings":"A,wIA0DA,SAAgBI,EACd,EACA,EACA,EACM,CACN,IAAMC,EAAWL,EAAAA,wBAAwB,EAEnCM,EAAM,OAAOC,GAAiB,SAAWA,EAAeA,EAAa,IACrEC,EACJ,OAAOD,GAAiB,SAAWE,EAAeF,EAAa,OAC3DG,EACJ,OAAOH,GAAiB,SACpBI,EACAJ,EAAa,YAEbK,GAAA,EAAYX,EAAAA,OAAAA,CAAOO,CAAM,GAC/B,EAAAL,EAAA,gBAAA,KAAsB,CACpB,EAAU,QAAUK,CACtB,CAAC,GAED,EAAAL,EAAA,gBAAA,KAAsB,CAKpB,IAAMU,EAAaR,EAAS,gBAAgB,CAC1C,MACA,cACA,WANOO,EAAU,QAAQ,CAO3B,CAAC,EAED,UAAa,CACXC,EAAW,CACb,CACF,EAAG,CAACR,EAAUC,EAAKI,CAAW,CAAC,CACjC,C"}