@kortix/ui 0.14.8 → 0.14.9

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 (528) hide show
  1. package/README.md +2 -2
  2. package/dist/_vendor/kortix-shared.js +63 -3
  3. package/dist/_vendor/shared/app-config.d.ts +175 -0
  4. package/dist/_vendor/shared/channel-message.d.ts +34 -5
  5. package/dist/_vendor/shared/index.d.ts +1 -0
  6. package/dist/_vendor/shared/space-slug.d.ts +37 -0
  7. package/dist/access/access/access-detail-shell.js +1 -1
  8. package/dist/access/access/principal-picker.d.ts +11 -0
  9. package/dist/access/access/principal-picker.js +3 -2
  10. package/dist/apps/app-preview-pool.d.ts +7 -2
  11. package/dist/apps/app-preview-pool.js +11 -5
  12. package/dist/apps/app-shared.d.ts +22 -15
  13. package/dist/apps/app-shared.js +37 -19
  14. package/dist/apps/index.d.ts +2 -2
  15. package/dist/apps/index.js +2 -2
  16. package/dist/artifacts/artifact-frame.d.ts +16 -0
  17. package/dist/artifacts/artifact-frame.js +51 -0
  18. package/dist/artifacts/artifact-session.d.ts +18 -0
  19. package/dist/artifacts/artifact-session.js +101 -0
  20. package/dist/artifacts/frame-policy.d.ts +30 -0
  21. package/dist/artifacts/frame-policy.js +61 -0
  22. package/dist/artifacts/index.d.ts +3 -0
  23. package/dist/artifacts/index.js +5 -0
  24. package/dist/browser/sandbox-browser-chrome.d.ts +4 -1
  25. package/dist/browser/sandbox-browser-chrome.js +2 -2
  26. package/dist/customize/agents/agent-grant-pages.d.ts +5 -1
  27. package/dist/customize/agents/agent-grant-pages.js +30 -4
  28. package/dist/customize/agents/agent-page.js +3 -1
  29. package/dist/customize/agents/agent-policy-sets.d.ts +43 -0
  30. package/dist/customize/agents/agent-policy-sets.js +72 -0
  31. package/dist/customize/agents/agent-triggers-section.js +2 -1
  32. package/dist/customize/connectors/add-mcp/add-mcp-server-dialog.d.ts +6 -1
  33. package/dist/customize/connectors/add-mcp/add-mcp-server-dialog.js +10 -4
  34. package/dist/customize/connectors/agent-access.d.ts +35 -0
  35. package/dist/customize/connectors/agent-access.js +77 -0
  36. package/dist/customize/connectors/catalog/browse-sections.d.ts +2 -29
  37. package/dist/customize/connectors/catalog/browse-sections.js +7 -74
  38. package/dist/customize/connectors/catalog/catalog-entry.d.ts +18 -37
  39. package/dist/customize/connectors/catalog/catalog-entry.js +28 -40
  40. package/dist/customize/connectors/catalog/connector-browse.d.ts +3 -32
  41. package/dist/customize/connectors/catalog/connector-browse.js +19 -50
  42. package/dist/customize/connectors/catalog/use-catalog.d.ts +20 -59
  43. package/dist/customize/connectors/catalog/use-catalog.js +48 -175
  44. package/dist/customize/connectors/connector-identity.d.ts +9 -11
  45. package/dist/customize/connectors/connector-identity.js +13 -42
  46. package/dist/customize/connectors/connector-moves-banner.d.ts +2 -1
  47. package/dist/customize/connectors/connector-moves-banner.js +4 -6
  48. package/dist/customize/connectors/connector-routes.d.ts +21 -9
  49. package/dist/customize/connectors/connector-routes.js +29 -20
  50. package/dist/customize/connectors/connectors-page.js +53 -82
  51. package/dist/customize/connectors/detail/app-page.js +226 -98
  52. package/dist/customize/connectors/detail/computer-app-page.d.ts +16 -0
  53. package/dist/customize/connectors/detail/computer-app-page.js +39 -0
  54. package/dist/customize/connectors/detail/connector-accounts.js +3 -1
  55. package/dist/customize/connectors/detail/connector-advanced-tools.d.ts +4 -1
  56. package/dist/customize/connectors/detail/connector-advanced-tools.js +2 -2
  57. package/dist/customize/connectors/detail/connector-agents.d.ts +14 -0
  58. package/dist/customize/connectors/detail/connector-agents.js +69 -0
  59. package/dist/customize/connectors/detail/connector-detail-tabs.js +2 -1
  60. package/dist/customize/connectors/detail/connector-move-row.d.ts +8 -5
  61. package/dist/customize/connectors/detail/connector-move-row.js +23 -14
  62. package/dist/customize/connectors/detail/connector-page.d.ts +4 -1
  63. package/dist/customize/connectors/detail/connector-page.js +14 -10
  64. package/dist/customize/connectors/detail/connector-policy-sets.d.ts +28 -0
  65. package/dist/customize/connectors/detail/connector-policy-sets.js +203 -0
  66. package/dist/customize/connectors/detail/connector-settings.d.ts +4 -1
  67. package/dist/customize/connectors/detail/connector-settings.js +7 -3
  68. package/dist/customize/connectors/detail/connector-status.d.ts +19 -6
  69. package/dist/customize/connectors/detail/connector-status.js +34 -10
  70. package/dist/customize/connectors/detail/connector-tabs.d.ts +4 -1
  71. package/dist/customize/connectors/detail/connector-tabs.js +8 -2
  72. package/dist/customize/connectors/detail/connector-tools.d.ts +3 -3
  73. package/dist/customize/connectors/detail/connector-tools.js +105 -48
  74. package/dist/customize/connectors/detail/email-inboxes.d.ts +43 -0
  75. package/dist/customize/connectors/detail/email-inboxes.js +184 -0
  76. package/dist/customize/connectors/detail/provider-info.d.ts +1 -1
  77. package/dist/customize/connectors/detail/provider-info.js +2 -2
  78. package/dist/customize/connectors/detail/status-badge.d.ts +1 -1
  79. package/dist/customize/connectors/detail/status-badge.js +4 -5
  80. package/dist/customize/connectors/detail/use-connector-detail.d.ts +6 -0
  81. package/dist/customize/connectors/detail/use-connector-detail.js +14 -4
  82. package/dist/customize/connectors/install/install-dialog.d.ts +23 -0
  83. package/dist/customize/connectors/install/install-dialog.js +40 -0
  84. package/dist/customize/connectors/install/install.d.ts +13 -2
  85. package/dist/customize/connectors/install/install.js +9 -4
  86. package/dist/customize/connectors/install/use-install.d.ts +19 -2
  87. package/dist/customize/connectors/install/use-install.js +65 -37
  88. package/dist/customize/connectors/install/way-kind.d.ts +5 -0
  89. package/dist/customize/connectors/install/way-kind.js +16 -0
  90. package/dist/customize/connectors/provider-label.d.ts +2 -1
  91. package/dist/customize/connectors/provider-label.js +13 -3
  92. package/dist/customize/connectors/tools/pattern-rule-draft.d.ts +4 -0
  93. package/dist/customize/connectors/tools/pattern-rule-draft.js +12 -3
  94. package/dist/customize/connectors/tools/policy-sets.d.ts +27 -0
  95. package/dist/customize/connectors/tools/policy-sets.js +41 -0
  96. package/dist/customize/connectors/tools/tool-groups.d.ts +32 -9
  97. package/dist/customize/connectors/tools/tool-groups.js +78 -16
  98. package/dist/customize/connectors/tools/tool-policy-control.d.ts +11 -10
  99. package/dist/customize/connectors/tools/tool-policy-control.js +15 -16
  100. package/dist/customize/connectors/tools/tool-policy-labels.d.ts +6 -5
  101. package/dist/customize/connectors/tools/tool-policy-labels.js +17 -16
  102. package/dist/customize/connectors/tools/tool-policy.d.ts +50 -4
  103. package/dist/customize/connectors/tools/tool-policy.js +74 -8
  104. package/dist/customize/connectors/use-agent-access.d.ts +85 -0
  105. package/dist/customize/connectors/use-agent-access.js +72 -0
  106. package/dist/customize/migrate-to-v2/index.d.ts +1 -2
  107. package/dist/customize/migrate-to-v2/index.js +1 -2
  108. package/dist/customize/migrate-to-v2/migration-prompt.d.ts +12 -25
  109. package/dist/customize/migrate-to-v2/migration-prompt.js +34 -236
  110. package/dist/customize/migrate-to-v2/upgrade-defs.d.ts +1 -1
  111. package/dist/customize/migrate-to-v2/upgrade-defs.js +7 -6
  112. package/dist/customize/migrate-to-v2/upgrade-view.js +7 -7
  113. package/dist/customize/migrate-to-v2/use-run-upgrade.d.ts +3 -3
  114. package/dist/customize/providers/provider-accordion.js +17 -2
  115. package/dist/customize/sections/component/channel-access-panel.d.ts +16 -0
  116. package/dist/customize/sections/component/channel-access-panel.js +146 -0
  117. package/dist/customize/sections/component/channel-connect-hero.d.ts +3 -2
  118. package/dist/customize/sections/component/channel-connect-hero.js +3 -2
  119. package/dist/customize/sections/component/channel-hero-frame.d.ts +31 -0
  120. package/dist/customize/sections/component/channel-hero-frame.js +40 -0
  121. package/dist/customize/sections/component/channel-mocks.d.ts +6 -0
  122. package/dist/customize/sections/component/channel-mocks.js +46 -0
  123. package/dist/customize/sections/component/channel-row.d.ts +13 -3
  124. package/dist/customize/sections/component/channel-row.js +10 -4
  125. package/dist/customize/sections/component/email-connect-form.d.ts +27 -0
  126. package/dist/customize/sections/component/email-connect-form.js +183 -0
  127. package/dist/customize/sections/component/slack-connect-card.d.ts +7 -0
  128. package/dist/customize/sections/component/slack-connect-card.js +2 -3
  129. package/dist/customize/sections/component/teams-connect-card.d.ts +7 -0
  130. package/dist/customize/sections/component/teams-connect-card.js +2 -3
  131. package/dist/customize/sections/component/telegram-channel-row.js +16 -25
  132. package/dist/customize/sections/connectors-view.d.ts +1 -15
  133. package/dist/customize/sections/connectors-view.js +81 -314
  134. package/dist/customize/sections/view/agent-editor-catalog.js +5 -0
  135. package/dist/customize/sections/view/channels-view.d.ts +5 -1
  136. package/dist/customize/sections/view/channels-view.js +61 -75
  137. package/dist/customize/sections/view/gateway/gateway-overview.js +10 -2
  138. package/dist/customize/settings/tabs/experimental-tab.js +35 -16
  139. package/dist/customize/shared/catalog/catalog-empty-state.d.ts +1 -12
  140. package/dist/customize/shared/catalog/catalog-empty-state.js +3 -3
  141. package/dist/customize/shared/channels-switch-dialog.d.ts +18 -0
  142. package/dist/customize/shared/channels-switch-dialog.js +30 -0
  143. package/dist/customize/shared/feature-gate-screen.js +27 -9
  144. package/dist/customize/shared/use-customize-prefetch.d.ts +2 -3
  145. package/dist/customize/shared/use-customize-prefetch.js +9 -27
  146. package/dist/customize/triggers/schedule/post-to-field.d.ts +18 -0
  147. package/dist/customize/triggers/schedule/post-to-field.js +49 -0
  148. package/dist/customize/triggers/schedule/schedule-copy.d.ts +10 -6
  149. package/dist/customize/triggers/schedule/schedule-copy.js +42 -11
  150. package/dist/customize/triggers/schedule/schedule-detail-sheet.js +2 -1
  151. package/dist/customize/triggers/schedule/trigger-composer-logic.d.ts +22 -0
  152. package/dist/customize/triggers/schedule/trigger-composer-logic.js +25 -0
  153. package/dist/customize/triggers/schedule/trigger-composer.d.ts +5 -0
  154. package/dist/customize/triggers/schedule/trigger-composer.js +23 -14
  155. package/dist/customize/triggers/schedule/trigger-edit-logic.js +3 -0
  156. package/dist/customize/triggers/schedule/trigger-filter.js +1 -1
  157. package/dist/customize/triggers/schedule/trigger-runs-logic.d.ts +2 -2
  158. package/dist/customize/triggers/schedule/trigger-runs-panel.js +1 -0
  159. package/dist/customize/triggers/schedule/trigger-toast.js +2 -1
  160. package/dist/customize/triggers/schedule-view.js +5 -2
  161. package/dist/files/index.d.ts +1 -0
  162. package/dist/files/index.js +1 -0
  163. package/dist/files/project/change-request-recovery.d.ts +1 -26
  164. package/dist/files/project/change-request-recovery.js +1 -59
  165. package/dist/files/project/components/change-request-detail-dialog.js +13 -3
  166. package/dist/files/project/components/drive-explorer.js +15 -15
  167. package/dist/files/project/components/drive-toolbar.d.ts +16 -2
  168. package/dist/files/project/components/drive-toolbar.js +14 -5
  169. package/dist/files/project/hooks/use-change-request-recovery.js +3 -19
  170. package/dist/files/project/hooks/use-change-requests.d.ts +1 -0
  171. package/dist/files/project/hooks/use-change-requests.js +11 -2
  172. package/dist/files/renderers/image-frame.d.ts +46 -0
  173. package/dist/files/renderers/image-frame.js +59 -0
  174. package/dist/files/renderers/image-renderer.d.ts +11 -1
  175. package/dist/files/renderers/image-renderer.js +13 -3
  176. package/dist/files/renderers/pdf/pdf-clipboard.d.ts +2 -0
  177. package/dist/files/renderers/pdf/pdf-clipboard.js +21 -0
  178. package/dist/files/renderers/pdf/pdf-viewer.js +4 -2
  179. package/dist/files/renderers/show-content-renderer.d.ts +9 -1
  180. package/dist/files/renderers/show-content-renderer.js +56 -14
  181. package/dist/files/runtime/file-source.js +2 -0
  182. package/dist/files/runtime/hooks/use-binary-blob.d.ts +10 -1
  183. package/dist/files/runtime/hooks/use-binary-blob.js +10 -4
  184. package/dist/files/runtime/hooks/use-shared-image.d.ts +41 -0
  185. package/dist/files/runtime/hooks/use-shared-image.js +177 -0
  186. package/dist/files/viewer/file-content-renderer.d.ts +22 -1
  187. package/dist/files/viewer/file-content-renderer.js +50 -7
  188. package/dist/files/viewer/file-header.d.ts +7 -3
  189. package/dist/files/viewer/file-header.js +20 -11
  190. package/dist/files/viewer/file-preview-modal.d.ts +1 -1
  191. package/dist/files/viewer/file-preview-modal.js +10 -22
  192. package/dist/files/viewer/file-source.d.ts +13 -0
  193. package/dist/files/viewer/use-file-content-state.d.ts +2 -0
  194. package/dist/files/viewer/use-file-content-state.js +28 -10
  195. package/dist/files/viewer/viewer-actions.d.ts +3 -1
  196. package/dist/files/viewer/viewer-actions.js +2 -2
  197. package/dist/hooks/use-media-query.d.ts +1 -0
  198. package/dist/hooks/use-mobile.d.ts +5 -0
  199. package/dist/hooks/use-mobile.js +8 -0
  200. package/dist/i18n/en.d.ts +873 -85
  201. package/dist/i18n/en.js +888 -100
  202. package/dist/i18n/ui-catalog/localize-ui-catalog.js +4 -0
  203. package/dist/i18n/ui-catalog/remaining-ui-translation-keys.generated.js +15 -3
  204. package/dist/index.d.ts +2 -2
  205. package/dist/index.js +2 -2
  206. package/dist/internal/account-hub/account-settings-sidebar.js +1 -1
  207. package/dist/internal/account-hub/hub-sheet.d.ts +9 -1
  208. package/dist/internal/account-hub/hub-sheet.js +21 -5
  209. package/dist/internal/account-hub/sections.d.ts +1 -1
  210. package/dist/internal/account-hub/sections.js +2 -1
  211. package/dist/internal/auth/auth-card-shell.js +3 -3
  212. package/dist/internal/components/agent-mark.js +5 -2
  213. package/dist/internal/connector-logo/connector-logo-source.d.ts +63 -0
  214. package/dist/internal/connector-logo/connector-logo-source.js +48 -0
  215. package/dist/internal/connector-logo/connector-logo.d.ts +39 -0
  216. package/dist/internal/connector-logo/connector-logo.js +56 -0
  217. package/dist/internal/connector-logo/connector-mark-files.d.ts +11 -0
  218. package/dist/internal/connector-logo/connector-mark-files.js +35 -0
  219. package/dist/internal/files/file-read-retry.d.ts +13 -0
  220. package/dist/internal/files/file-read-retry.js +23 -3
  221. package/dist/internal/files/session-drive-files.d.ts +5 -1
  222. package/dist/internal/files/session-drive-files.js +7 -2
  223. package/dist/internal/hooks/channels/use-channels-installations.d.ts +32 -5
  224. package/dist/internal/hooks/channels/use-channels-installations.js +55 -7
  225. package/dist/internal/hooks/channels/use-email-inboxes.d.ts +19 -0
  226. package/dist/internal/hooks/channels/use-email-inboxes.js +48 -0
  227. package/dist/internal/hooks/connectors/use-add-account.js +1 -1
  228. package/dist/internal/hooks/index.d.ts +1 -1
  229. package/dist/internal/hooks/index.js +1 -1
  230. package/dist/internal/hooks/projects/use-new-project-session.d.ts +9 -0
  231. package/dist/internal/hooks/projects/use-new-project-session.js +28 -12
  232. package/dist/internal/hooks/use-auto-scroll.d.ts +8 -1
  233. package/dist/internal/hooks/use-auto-scroll.js +4 -4
  234. package/dist/internal/icons/telegram.d.ts +5 -0
  235. package/dist/internal/icons/telegram.js +6 -1
  236. package/dist/internal/layout/nav-hover-card.d.ts +35 -0
  237. package/dist/internal/layout/nav-hover-card.js +84 -0
  238. package/dist/internal/layout/project-nav-row.d.ts +3 -1
  239. package/dist/internal/layout/project-nav-row.js +3 -2
  240. package/dist/internal/layout/project-page-header.d.ts +4 -2
  241. package/dist/internal/layout/project-page-header.js +4 -3
  242. package/dist/internal/layout/project-settings-nav.js +59 -2
  243. package/dist/internal/lib/browser-error-noise.d.ts +1 -1
  244. package/dist/internal/lib/browser-error-noise.js +1 -1
  245. package/dist/internal/lib/browser-noise/rules/injected-scripts.d.ts +7 -0
  246. package/dist/internal/lib/browser-noise/rules/injected-scripts.js +15 -0
  247. package/dist/internal/lib/manifest-version.d.ts +1 -1
  248. package/dist/internal/lib/manifest-version.js +2 -2
  249. package/dist/internal/lib/memory-href.d.ts +16 -0
  250. package/dist/internal/lib/memory-href.js +46 -0
  251. package/dist/internal/lib/use-project-feature-flags.js +9 -9
  252. package/dist/internal/lib/utils/heic-convert.d.ts +1 -1
  253. package/dist/internal/lib/utils/heic-convert.js +3 -4
  254. package/dist/internal/lib/web-notifications.d.ts +20 -0
  255. package/dist/internal/lib/web-notifications.js +48 -4
  256. package/dist/internal/notifications/notification-bell.d.ts +4 -1
  257. package/dist/internal/notifications/notification-bell.js +2 -2
  258. package/dist/internal/selection/selection-bar.d.ts +2 -1
  259. package/dist/internal/selection/selection-bar.js +1 -1
  260. package/dist/internal/stores/file-preview-store.d.ts +29 -2
  261. package/dist/internal/stores/file-preview-store.js +19 -1
  262. package/dist/internal/stores/kortix-computer-store.js +3 -0
  263. package/dist/internal/stores/sidebar-nav-store.d.ts +1 -1
  264. package/dist/internal/stores/sidebar-nav-store.js +3 -1
  265. package/dist/lib/routes.d.ts +13 -1
  266. package/dist/lib/routes.js +13 -0
  267. package/dist/markdown/index.d.ts +2 -1
  268. package/dist/markdown/index.js +2 -1
  269. package/dist/markdown/setup-links/approval-decision.d.ts +1 -0
  270. package/dist/markdown/setup-links/approval-decision.js +6 -2
  271. package/dist/markdown/setup-links/connector-handshake.d.ts +3 -1
  272. package/dist/markdown/setup-links/connector-handshake.js +12 -10
  273. package/dist/markdown/setup-links/secret-intake-form.d.ts +0 -10
  274. package/dist/markdown/setup-links/secret-intake-form.js +1 -1
  275. package/dist/markdown/setup-links/show-connect-hero.d.ts +28 -0
  276. package/dist/markdown/setup-links/show-connect-hero.js +91 -0
  277. package/dist/markdown/unified-markdown.js +5 -5
  278. package/dist/primitives/badge.d.ts +1 -1
  279. package/dist/primitives/badge.js +2 -0
  280. package/dist/primitives/disclosure.js +14 -2
  281. package/dist/primitives/empty-art.d.ts +12 -0
  282. package/dist/primitives/empty-art.js +11 -0
  283. package/dist/primitives/mermaid-renderer.d.ts +2 -0
  284. package/dist/primitives/mermaid-renderer.js +21 -15
  285. package/dist/primitives/resizable.js +6 -1
  286. package/dist/primitives/resize-seam.d.ts +11 -0
  287. package/dist/primitives/resize-seam.js +12 -0
  288. package/dist/primitives/sidebar-panel.js +4 -7
  289. package/dist/primitives/tabs.d.ts +14 -1
  290. package/dist/primitives/tabs.js +1 -1
  291. package/dist/providers/ui-provider.d.ts +9 -0
  292. package/dist/session/composer/ComposerAboveCard.d.ts +1 -1
  293. package/dist/session/composer/ComposerAboveCard.js +2 -2
  294. package/dist/session/composer/ComposerCard.d.ts +1 -1
  295. package/dist/session/composer/ComposerCard.js +3 -3
  296. package/dist/session/composer/agent-selector.d.ts +13 -1
  297. package/dist/session/composer/agent-selector.js +25 -5
  298. package/dist/session/composer/composer-agent-access.d.ts +15 -0
  299. package/dist/session/composer/composer-agent-access.js +27 -0
  300. package/dist/session/composer/composer-chat-input.d.ts +8 -2
  301. package/dist/session/composer/composer-chat-input.js +8 -6
  302. package/dist/session/composer/composer-logic.d.ts +16 -0
  303. package/dist/session/composer/composer-logic.js +12 -0
  304. package/dist/session/composer/composer-underbar.d.ts +3 -1
  305. package/dist/session/composer/composer-underbar.js +4 -3
  306. package/dist/session/composer/composer.d.ts +15 -1
  307. package/dist/session/composer/composer.js +19 -1
  308. package/dist/session/composer/draft/composer-draft.d.ts +6 -2
  309. package/dist/session/composer/draft/composer-draft.js +5 -1
  310. package/dist/session/composer/reasoning-effort-selector.js +1 -1
  311. package/dist/session/models/chatgpt-connection-button.d.ts +11 -0
  312. package/dist/session/models/chatgpt-connection-button.js +54 -0
  313. package/dist/session/models/model-selector.js +5 -2
  314. package/dist/session/models/use-model-connection-gate.d.ts +5 -5
  315. package/dist/session/models/use-model-connection-gate.js +5 -5
  316. package/dist/session/outcomes/jump-to-outcome.d.ts +10 -0
  317. package/dist/session/outcomes/jump-to-outcome.js +11 -0
  318. package/dist/session/outcomes/session-outcomes-bridge.d.ts +14 -0
  319. package/dist/session/outcomes/session-outcomes-bridge.js +12 -0
  320. package/dist/session/outcomes/session-outcomes-provider.d.ts +3 -1
  321. package/dist/session/outcomes/session-outcomes-provider.js +33 -3
  322. package/dist/session/panel/easy/app-preview.d.ts +10 -0
  323. package/dist/session/panel/easy/app-preview.js +31 -12
  324. package/dist/session/panel/easy/change-requests-card.d.ts +7 -0
  325. package/dist/session/panel/easy/change-requests-card.js +17 -0
  326. package/dist/session/panel/easy/easy-panel-logic.js +7 -1
  327. package/dist/session/panel/easy/easy-panel.js +5 -2
  328. package/dist/session/panel/easy/file-preview.js +1 -1
  329. package/dist/session/panel/easy/outputs-card.d.ts +2 -1
  330. package/dist/session/panel/easy/outputs-card.js +3 -2
  331. package/dist/session/panel/mobile-tool-drawer.js +7 -1
  332. package/dist/session/panel/session-audit-panel.js +9 -2
  333. package/dist/session/panel/session-detail-panel.js +9 -3
  334. package/dist/session/panel/session-files-explorer.d.ts +9 -0
  335. package/dist/session/panel/session-files-explorer.js +12 -3
  336. package/dist/session/panel/session-panel-provider.d.ts +15 -1
  337. package/dist/session/panel/session-panel-provider.js +32 -7
  338. package/dist/session/panel/shared/derive-panels.d.ts +8 -1
  339. package/dist/session/panel/shared/derive-panels.js +12 -2
  340. package/dist/session/panel/shared/output-priority.js +2 -0
  341. package/dist/session/participants/session-participants.d.ts +5 -1
  342. package/dist/session/participants/session-participants.js +9 -2
  343. package/dist/session/prompts/approval-request.d.ts +5 -0
  344. package/dist/session/prompts/approval-request.js +7 -1
  345. package/dist/session/prompts/session-approval-review.d.ts +9 -0
  346. package/dist/session/prompts/session-approval-review.js +18 -0
  347. package/dist/session/status/session-error-banner.js +2 -49
  348. package/dist/session/status/session-starting-loader.d.ts +14 -2
  349. package/dist/session/status/session-starting-loader.js +16 -4
  350. package/dist/session/thread/after-first-prompt.d.ts +7 -0
  351. package/dist/session/thread/after-first-prompt.js +8 -0
  352. package/dist/session/thread/detect-command.d.ts +12 -0
  353. package/dist/session/thread/detect-command.js +20 -0
  354. package/dist/session/thread/session-chat.d.ts +3 -1
  355. package/dist/session/thread/session-chat.js +377 -252
  356. package/dist/session/thread/session-thread.d.ts +3 -1
  357. package/dist/session/thread/session-thread.js +9 -2
  358. package/dist/session/thread/thread-boot-rows.d.ts +36 -0
  359. package/dist/session/thread/thread-boot-rows.js +89 -0
  360. package/dist/session/thread/transcript-rows.d.ts +31 -0
  361. package/dist/session/thread/transcript-rows.js +3 -0
  362. package/dist/session/thread/transcript.d.ts +0 -9
  363. package/dist/session/thread/transcript.js +104 -19
  364. package/dist/session/tool/shared/infrastructure-contexts.d.ts +28 -0
  365. package/dist/session/tool/shared/infrastructure-contexts.js +31 -3
  366. package/dist/session/tool/tool-part-renderer.d.ts +5 -4
  367. package/dist/session/tool/tool-part-renderer.js +8 -3
  368. package/dist/session/tool/tools/bash-tool.js +7 -6
  369. package/dist/session/tool/tools/channel-send-card.d.ts +1 -2
  370. package/dist/session/tool/tools/channel-send.d.ts +2 -1
  371. package/dist/session/tool/tools/codemode-tool.js +1 -1
  372. package/dist/session/tool/tools/connector-tools.js +1 -1
  373. package/dist/session/tool/tools/image-gen-tool.d.ts +1 -1
  374. package/dist/session/tool/tools/image-gen-tool.js +240 -53
  375. package/dist/session/tool/tools/show-tool.js +19 -8
  376. package/dist/session/turn/channel-brand.d.ts +8 -3
  377. package/dist/session/turn/channel-brand.js +20 -4
  378. package/dist/session/turn/message-author.d.ts +8 -0
  379. package/dist/session/turn/message-author.js +24 -0
  380. package/dist/session/turn/message-row.d.ts +52 -0
  381. package/dist/session/turn/message-row.js +44 -0
  382. package/dist/session/turn/plan-anchor.d.ts +1 -1
  383. package/dist/session/turn/plan-anchor.js +1 -1
  384. package/dist/session/turn/user-message.d.ts +7 -1
  385. package/dist/session/turn/user-message.js +21 -7
  386. package/dist/styles.css +1 -1
  387. package/dist/workspace/home/access-requests-bell.d.ts +9 -2
  388. package/dist/workspace/home/access-requests-bell.js +20 -6
  389. package/dist/workspace/home/first-chat.d.ts +8 -21
  390. package/dist/workspace/home/first-chat.js +22 -72
  391. package/dist/workspace/index.d.ts +6 -0
  392. package/dist/workspace/index.js +6 -0
  393. package/dist/workspace/layout/project-home.d.ts +14 -2
  394. package/dist/workspace/layout/project-home.js +60 -21
  395. package/dist/workspace/layout/use-project-home-send.d.ts +9 -1
  396. package/dist/workspace/layout/use-project-home-send.js +82 -3
  397. package/dist/workspace/memory/body-doc.d.ts +17 -0
  398. package/dist/workspace/memory/body-doc.js +208 -0
  399. package/dist/workspace/memory/body-extensions.d.ts +38 -0
  400. package/dist/workspace/memory/body-extensions.js +103 -0
  401. package/dist/workspace/memory/company-memory-page.d.ts +8 -0
  402. package/dist/workspace/memory/company-memory-page.js +16 -0
  403. package/dist/workspace/memory/memory-all.d.ts +20 -0
  404. package/dist/workspace/memory/memory-all.js +27 -0
  405. package/dist/workspace/memory/memory-body.d.ts +19 -0
  406. package/dist/workspace/memory/memory-body.js +139 -0
  407. package/dist/workspace/memory/memory-empty.d.ts +13 -0
  408. package/dist/workspace/memory/memory-empty.js +28 -0
  409. package/dist/workspace/memory/memory-history.d.ts +27 -0
  410. package/dist/workspace/memory/memory-history.js +108 -0
  411. package/dist/workspace/memory/memory-labels.d.ts +16 -0
  412. package/dist/workspace/memory/memory-labels.js +47 -0
  413. package/dist/workspace/memory/memory-page-list.d.ts +34 -0
  414. package/dist/workspace/memory/memory-page-list.js +156 -0
  415. package/dist/workspace/memory/memory-reader.d.ts +58 -0
  416. package/dist/workspace/memory/memory-reader.js +123 -0
  417. package/dist/workspace/memory/memory-view.d.ts +21 -0
  418. package/dist/workspace/memory/memory-view.js +124 -0
  419. package/dist/workspace/memory/remember-popover.d.ts +19 -0
  420. package/dist/workspace/memory/remember-popover.js +61 -0
  421. package/dist/workspace/memory/remember-this.d.ts +12 -0
  422. package/dist/workspace/memory/remember-this.js +89 -0
  423. package/dist/workspace/memory/source-mark.d.ts +18 -0
  424. package/dist/workspace/memory/source-mark.js +79 -0
  425. package/dist/workspace/memory/used-memory-chip.d.ts +14 -0
  426. package/dist/workspace/memory/used-memory-chip.js +61 -0
  427. package/dist/workspace/new/advanced-fields.d.ts +2 -1
  428. package/dist/workspace/new/advanced-fields.js +2 -2
  429. package/dist/workspace/new/source-param.d.ts +1 -1
  430. package/dist/workspace/new/source-param.js +3 -1
  431. package/dist/workspace/new/use-create-workspace.d.ts +8 -10
  432. package/dist/workspace/new/use-create-workspace.js +3 -3
  433. package/dist/workspace/projects/onboarding/app-logo.d.ts +7 -2
  434. package/dist/workspace/projects/onboarding/app-logo.js +6 -13
  435. package/dist/workspace/projects/policies-panel.js +5 -3
  436. package/dist/workspace/review/review-actions.d.ts +4 -2
  437. package/dist/workspace/review/review-actions.js +8 -2
  438. package/dist/workspace/review/review-center.js +11 -7
  439. package/dist/workspace/review/review-detail.d.ts +10 -0
  440. package/dist/workspace/review/review-detail.js +101 -13
  441. package/dist/workspace/saved-session-skeleton.d.ts +2 -2
  442. package/dist/workspace/saved-session-skeleton.js +3 -3
  443. package/dist/workspace/session-workspace.js +15 -13
  444. package/dist/workspace/sessions/project-sessions-view.js +3 -2
  445. package/dist/workspace/sessions/sessions-toolbar.d.ts +3 -1
  446. package/dist/workspace/sessions/sessions-toolbar.js +2 -2
  447. package/dist/workspace/sidebar/footer/project-apps-nav.d.ts +5 -0
  448. package/dist/workspace/sidebar/footer/project-apps-nav.js +41 -2
  449. package/dist/workspace/sidebar/footer/project-artifacts-nav.d.ts +6 -0
  450. package/dist/workspace/sidebar/footer/project-artifacts-nav.js +22 -0
  451. package/dist/workspace/sidebar/footer/project-manifest-upgrade-alert.js +13 -13
  452. package/dist/workspace/sidebar/footer/project-memory-nav.d.ts +7 -0
  453. package/dist/workspace/sidebar/footer/project-memory-nav.js +19 -0
  454. package/dist/workspace/sidebar/nav-row-meta.js +14 -2
  455. package/dist/workspace/sidebar/project-nav-items.js +3 -0
  456. package/dist/workspace/sidebar/project-session-list.js +68 -56
  457. package/dist/workspace/sidebar/project-sidebar.js +9 -2
  458. package/dist/workspace/sidebar/project-spaces-nav.d.ts +8 -0
  459. package/dist/workspace/sidebar/project-spaces-nav.js +69 -0
  460. package/dist/workspace/sidebar/session-group-order.d.ts +9 -0
  461. package/dist/workspace/sidebar/session-group-order.js +25 -0
  462. package/dist/workspace/sidebar/session-group-sections.d.ts +62 -0
  463. package/dist/workspace/sidebar/session-group-sections.js +267 -0
  464. package/dist/workspace/sidebar/session-list-chrome.d.ts +28 -0
  465. package/dist/workspace/sidebar/session-list-chrome.js +50 -0
  466. package/dist/workspace/spaces/channel-glyph.d.ts +5 -0
  467. package/dist/workspace/spaces/channel-glyph.js +6 -0
  468. package/dist/workspace/spaces/channel-setup.d.ts +16 -0
  469. package/dist/workspace/spaces/channel-setup.js +105 -0
  470. package/dist/workspace/spaces/channels-onboarding.d.ts +13 -0
  471. package/dist/workspace/spaces/channels-onboarding.js +37 -0
  472. package/dist/workspace/spaces/create-channel-dialog.d.ts +16 -0
  473. package/dist/workspace/spaces/create-channel-dialog.js +158 -0
  474. package/dist/workspace/spaces/private-channels-not-in.d.ts +9 -0
  475. package/dist/workspace/spaces/private-channels-not-in.js +69 -0
  476. package/dist/workspace/spaces/space-agents.d.ts +10 -0
  477. package/dist/workspace/spaces/space-agents.js +10 -0
  478. package/dist/workspace/spaces/space-details-dialog.d.ts +20 -0
  479. package/dist/workspace/spaces/space-details-dialog.js +176 -0
  480. package/dist/workspace/spaces/space-link-label.d.ts +49 -0
  481. package/dist/workspace/spaces/space-link-label.js +73 -0
  482. package/dist/workspace/spaces/space-links.d.ts +19 -0
  483. package/dist/workspace/spaces/space-links.js +230 -0
  484. package/dist/workspace/spaces/space-members.d.ts +46 -0
  485. package/dist/workspace/spaces/space-members.js +182 -0
  486. package/dist/workspace/spaces/space-roster.d.ts +15 -0
  487. package/dist/workspace/spaces/space-roster.js +44 -0
  488. package/dist/workspace/spaces/space-threads-tab.d.ts +56 -0
  489. package/dist/workspace/spaces/space-threads-tab.js +156 -0
  490. package/dist/workspace/spaces/space-timeline-view.d.ts +254 -0
  491. package/dist/workspace/spaces/space-timeline-view.js +235 -0
  492. package/dist/workspace/spaces/space-timeline.d.ts +106 -0
  493. package/dist/workspace/spaces/space-timeline.js +183 -0
  494. package/dist/workspace/spaces/space-triggers.d.ts +13 -0
  495. package/dist/workspace/spaces/space-triggers.js +78 -0
  496. package/dist/workspace/spaces/space-view.d.ts +37 -0
  497. package/dist/workspace/spaces/space-view.js +436 -0
  498. package/package.json +27 -36
  499. package/skills/kortix-ui/SKILL.md +3 -3
  500. package/skills/kortix-ui/references/custom-dashboard.md +3 -3
  501. package/skills/kortix-ui/references/modules.md +28 -4
  502. package/skills/kortix-ui/references/theming.md +1 -1
  503. package/dist/customize/connectors/catalog/merge-search.d.ts +0 -10
  504. package/dist/customize/connectors/catalog/merge-search.js +0 -26
  505. package/dist/customize/connectors/detail/find-easy-connect-app.d.ts +0 -29
  506. package/dist/customize/connectors/detail/find-easy-connect-app.js +0 -22
  507. package/dist/customize/migrate-to-v2/use-migrate-to-v2.d.ts +0 -9
  508. package/dist/customize/migrate-to-v2/use-migrate-to-v2.js +0 -24
  509. package/dist/customize/sections/connector-connection-header.d.ts +0 -36
  510. package/dist/customize/sections/connector-connection-header.js +0 -33
  511. package/dist/customize/sections/connector-connection-modal.d.ts +0 -34
  512. package/dist/customize/sections/connector-connection-modal.js +0 -72
  513. package/dist/customize/sections/discover-catalogue-card.d.ts +0 -19
  514. package/dist/customize/sections/discover-catalogue-card.js +0 -26
  515. package/dist/customize/sections/discover-catalogue-detail.d.ts +0 -15
  516. package/dist/customize/sections/discover-catalogue-detail.js +0 -24
  517. package/dist/customize/sections/discover-catalogue.d.ts +0 -17
  518. package/dist/customize/sections/discover-catalogue.js +0 -132
  519. package/dist/customize/sections/llm-provider/provider-access-menu.d.ts +0 -10
  520. package/dist/customize/sections/llm-provider/provider-access-menu.js +0 -23
  521. package/dist/files/project/components/drive-empty-art.d.ts +0 -2
  522. package/dist/files/project/components/drive-empty-art.js +0 -5
  523. package/dist/internal/hooks/use-media-query.d.ts +0 -2
  524. package/dist/internal/share/public-share-link-button.d.ts +0 -14
  525. package/dist/internal/share/public-share-link-button.js +0 -17
  526. package/dist/markdown/setup-links/app-credentials-form.d.ts +0 -12
  527. package/dist/markdown/setup-links/app-credentials-form.js +0 -115
  528. /package/dist/{internal/hooks → hooks}/use-media-query.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kortix/ui",
3
- "version": "0.14.8",
3
+ "version": "0.14.9",
4
4
  "description": "Kortix UI: the shared React component library for apps/web, Kortix Apps and SDK hosts. Tailwind v4 classes, themed by CSS variables.",
5
5
  "type": "module",
6
6
  "license": "Elastic-2.0",
@@ -88,6 +88,10 @@
88
88
  "types": "./dist/apps/index.d.ts",
89
89
  "import": "./dist/apps/index.js"
90
90
  },
91
+ "./artifacts": {
92
+ "types": "./dist/artifacts/index.d.ts",
93
+ "import": "./dist/artifacts/index.js"
94
+ },
91
95
  "./avatar": {
92
96
  "types": "./dist/primitives/avatar.d.ts",
93
97
  "import": "./dist/primitives/avatar.js"
@@ -189,10 +193,6 @@
189
193
  "types": "./dist/customize/agents/agents-page.d.ts",
190
194
  "import": "./dist/customize/agents/agents-page.js"
191
195
  },
192
- "./customize/connectors/catalog/use-catalog": {
193
- "types": "./dist/customize/connectors/catalog/use-catalog.d.ts",
194
- "import": "./dist/customize/connectors/catalog/use-catalog.js"
195
- },
196
196
  "./customize/connectors/connector-routes": {
197
197
  "types": "./dist/customize/connectors/connector-routes.d.ts",
198
198
  "import": "./dist/customize/connectors/connector-routes.js"
@@ -233,6 +233,10 @@
233
233
  "types": "./dist/customize/sections/add-account-fields.d.ts",
234
234
  "import": "./dist/customize/sections/add-account-fields.js"
235
235
  },
236
+ "./customize/sections/component/email-connect-form": {
237
+ "types": "./dist/customize/sections/component/email-connect-form.d.ts",
238
+ "import": "./dist/customize/sections/component/email-connect-form.js"
239
+ },
236
240
  "./customize/sections/component/manifest-copy-block": {
237
241
  "types": "./dist/customize/sections/component/manifest-copy-block.d.ts",
238
242
  "import": "./dist/customize/sections/component/manifest-copy-block.js"
@@ -257,10 +261,6 @@
257
261
  "types": "./dist/customize/sections/component/telegram-channel-row.d.ts",
258
262
  "import": "./dist/customize/sections/component/telegram-channel-row.js"
259
263
  },
260
- "./customize/sections/connector-connection-form": {
261
- "types": "./dist/customize/sections/connector-connection-form.d.ts",
262
- "import": "./dist/customize/sections/connector-connection-form.js"
263
- },
264
264
  "./customize/sections/connector-oauth2": {
265
265
  "types": "./dist/customize/sections/connector-oauth2.d.ts",
266
266
  "import": "./dist/customize/sections/connector-oauth2.js"
@@ -273,10 +273,6 @@
273
273
  "types": "./dist/customize/sections/connector-oauth2-fields.d.ts",
274
274
  "import": "./dist/customize/sections/connector-oauth2-fields.js"
275
275
  },
276
- "./customize/sections/connectors-view": {
277
- "types": "./dist/customize/sections/connectors-view.d.ts",
278
- "import": "./dist/customize/sections/connectors-view.js"
279
- },
280
276
  "./customize/sections/gateway-view": {
281
277
  "types": "./dist/customize/sections/gateway-view.d.ts",
282
278
  "import": "./dist/customize/sections/gateway-view.js"
@@ -682,6 +678,10 @@
682
678
  "types": "./dist/primitives/empty.d.ts",
683
679
  "import": "./dist/primitives/empty.js"
684
680
  },
681
+ "./empty-art": {
682
+ "types": "./dist/primitives/empty-art.d.ts",
683
+ "import": "./dist/primitives/empty-art.js"
684
+ },
685
685
  "./empty-state": {
686
686
  "types": "./dist/primitives/empty-state.d.ts",
687
687
  "import": "./dist/primitives/empty-state.js"
@@ -955,6 +955,10 @@
955
955
  "types": "./dist/internal/hooks/channels/use-channels-installations.d.ts",
956
956
  "import": "./dist/internal/hooks/channels/use-channels-installations.js"
957
957
  },
958
+ "./internal/hooks/channels/use-email-inboxes": {
959
+ "types": "./dist/internal/hooks/channels/use-email-inboxes.d.ts",
960
+ "import": "./dist/internal/hooks/channels/use-email-inboxes.js"
961
+ },
958
962
  "./internal/hooks/connectors/use-add-managed-account": {
959
963
  "types": "./dist/internal/hooks/connectors/use-add-managed-account.d.ts",
960
964
  "import": "./dist/internal/hooks/connectors/use-add-managed-account.js"
@@ -1027,10 +1031,6 @@
1027
1031
  "types": "./dist/internal/icons/home.d.ts",
1028
1032
  "import": "./dist/internal/icons/home.js"
1029
1033
  },
1030
- "./internal/icons/kortix": {
1031
- "types": "./dist/internal/icons/kortix.d.ts",
1032
- "import": "./dist/internal/icons/kortix.js"
1033
- },
1034
1034
  "./internal/icons/microsoft-teams": {
1035
1035
  "types": "./dist/internal/icons/microsoft-teams.d.ts",
1036
1036
  "import": "./dist/internal/icons/microsoft-teams.js"
@@ -1467,10 +1467,6 @@
1467
1467
  "types": "./dist/markdown/setup-links/api-base.d.ts",
1468
1468
  "import": "./dist/markdown/setup-links/api-base.js"
1469
1469
  },
1470
- "./markdown/setup-links/app-credentials-form": {
1471
- "types": "./dist/markdown/setup-links/app-credentials-form.d.ts",
1472
- "import": "./dist/markdown/setup-links/app-credentials-form.js"
1473
- },
1474
1470
  "./markdown/setup-links/approval-decision": {
1475
1471
  "types": "./dist/markdown/setup-links/approval-decision.d.ts",
1476
1472
  "import": "./dist/markdown/setup-links/approval-decision.js"
@@ -1561,10 +1557,6 @@
1561
1557
  "types": "./dist/primitives/project-icon-picker.d.ts",
1562
1558
  "import": "./dist/primitives/project-icon-picker.js"
1563
1559
  },
1564
- "./providers/session-ids": {
1565
- "types": "./dist/providers/session-ids.d.ts",
1566
- "import": "./dist/providers/session-ids.js"
1567
- },
1568
1560
  "./providers/ui-provider": {
1569
1561
  "types": "./dist/providers/ui-provider.d.ts",
1570
1562
  "import": "./dist/providers/ui-provider.js"
@@ -1577,6 +1569,10 @@
1577
1569
  "types": "./dist/primitives/resizable.d.ts",
1578
1570
  "import": "./dist/primitives/resizable.js"
1579
1571
  },
1572
+ "./resize-seam": {
1573
+ "types": "./dist/primitives/resize-seam.d.ts",
1574
+ "import": "./dist/primitives/resize-seam.js"
1575
+ },
1580
1576
  "./scroll-area": {
1581
1577
  "types": "./dist/primitives/scroll-area.d.ts",
1582
1578
  "import": "./dist/primitives/scroll-area.js"
@@ -2025,14 +2021,6 @@
2025
2021
  "types": "./dist/workspace/projects/modal/project-icon-field.d.ts",
2026
2022
  "import": "./dist/workspace/projects/modal/project-icon-field.js"
2027
2023
  },
2028
- "./workspace/projects/onboarding/app-logo": {
2029
- "types": "./dist/workspace/projects/onboarding/app-logo.d.ts",
2030
- "import": "./dist/workspace/projects/onboarding/app-logo.js"
2031
- },
2032
- "./workspace/projects/onboarding/connect-app": {
2033
- "types": "./dist/workspace/projects/onboarding/connect-app.d.ts",
2034
- "import": "./dist/workspace/projects/onboarding/connect-app.js"
2035
- },
2036
2024
  "./workspace/projects/policies-panel": {
2037
2025
  "types": "./dist/workspace/projects/policies-panel.d.ts",
2038
2026
  "import": "./dist/workspace/projects/policies-panel.js"
@@ -2165,7 +2153,7 @@
2165
2153
  "@extend-ai/react-docx": "^0.7.5",
2166
2154
  "@extend-ai/react-xlsx": "0.13.4",
2167
2155
  "@glideapps/glide-data-grid": "6.0.4-alpha24",
2168
- "@kortix/llm-catalog": "0.14.8",
2156
+ "@kortix/llm-catalog": "0.14.9",
2169
2157
  "@lezer/highlight": "1.2.3",
2170
2158
  "@paper-design/shaders-react": "^0.0.76",
2171
2159
  "@phosphor-icons/react": "2.1.10",
@@ -2197,12 +2185,15 @@
2197
2185
  "@tiptap/extension-document": "3.30.5",
2198
2186
  "@tiptap/extension-floating-menu": "3.30.5",
2199
2187
  "@tiptap/extension-hard-break": "3.30.5",
2188
+ "@tiptap/extension-list": "3.30.5",
2200
2189
  "@tiptap/extension-paragraph": "3.30.5",
2201
2190
  "@tiptap/extension-placeholder": "3.30.5",
2191
+ "@tiptap/extension-table": "3.30.5",
2202
2192
  "@tiptap/extension-text": "3.30.5",
2203
2193
  "@tiptap/extensions": "3.30.5",
2204
2194
  "@tiptap/pm": "3.30.5",
2205
2195
  "@tiptap/react": "3.30.5",
2196
+ "@tiptap/starter-kit": "3.30.5",
2206
2197
  "@tiptap/suggestion": "3.30.5",
2207
2198
  "@uiw/codemirror-extensions-langs": "^4.23.10",
2208
2199
  "@uiw/codemirror-themes": "4.23.10",
@@ -2219,7 +2210,7 @@
2219
2210
  "date-fns": "^3.6.0",
2220
2211
  "diff": "^8.0.3",
2221
2212
  "frimousse": "^0.3.0",
2222
- "heic2any": "0.0.4",
2213
+ "heic-to": "1.6.7",
2223
2214
  "i18next": "^26.3.6",
2224
2215
  "jszip": "^3.10.1",
2225
2216
  "katex": "^0.18.7",
@@ -2254,7 +2245,7 @@
2254
2245
  "zustand": "^5.0.3"
2255
2246
  },
2256
2247
  "peerDependencies": {
2257
- "@kortix/sdk": "^0.14.8",
2248
+ "@kortix/sdk": "^0.14.9",
2258
2249
  "@tanstack/react-query": "^5.75.2",
2259
2250
  "@types/react": ">=18",
2260
2251
  "react": ">=19",
@@ -7,7 +7,7 @@ description: "Build React UI with @kortix/ui, the Kortix component library and t
7
7
 
8
8
  `@kortix/ui` is the one React component library for every Kortix surface: `apps/web`, Kortix Apps, the
9
9
  white-label demo and SDK customer apps. Components are Tailwind v4 class strings that read CSS variables.
10
- Docs: https://kortix.com/docs/sdk/ui. Live catalog: https://kortix.com/design-system.
10
+ Docs: https://kortix.com/docs/developers#kortix-ui. Live catalog: https://kortix.com/design-system.
11
11
 
12
12
  Install: `npm i @kortix/ui @kortix/sdk`, the same version of each (peers: `references/custom-dashboard.md`).
13
13
  Module entries and `@kortix/ui/theme` need 0.14.4+. Inside `kortix-ai/suna`: `"workspace:*"`. Never copy component source.
@@ -91,7 +91,7 @@ Theme with `@kortix/ui/theme`, never by forking a component: `themeToCss(theme)`
91
91
  | `@kortix/ui` (primitives, not for feature code: section 3) | `Dialog`, `DialogClose`, `DialogContent`, `DialogDescription`, `DialogFooter`, `DialogHeader`, `DialogOverlay`, `DialogPortal`, `DialogTitle`, `DialogTrigger`, `Tooltip`, `TooltipContent`, `TooltipProvider`, `TooltipTrigger` |
92
92
  | `@kortix/ui` (navigation) | `FilterBar`, `FilterBarItem`, `Tabs`, `TabsContent`, `TabsList`, `TabsListCompact`, `TabsTrigger`, `TabsTriggerCompact`, `tabsTriggerHeightVariants`, `tabsTriggerPaddingVariants`, `tabsTriggerTextVariants`, `TabsListType`, `TabsSize`, `TabsTriggerSize`, `TabsTriggerVariant`, `TabsUnderlineSize` |
93
93
  | `@kortix/ui` (conversation) | `Bubble`, `BubbleContent`, `BubbleGroup`, `BubbleReactions`, `bubbleVariants`, `Message`, `MessageAvatar`, `MessageContent`, `MessageFooter`, `MessageGroup`, `MessageHeader`, `Marker`, `MarkerContent`, `MarkerIcon`, `markerVariants` |
94
- | `@kortix/ui` (hooks, helpers) | `UiLink`, `UiImage`, `useUiViewer`, `UiViewer`, `UiHostComponents`, `UiPreviewUrlResolver`, `UiPreviewRequest`, `useDebounce`, `useIsMobile`, `useMediaQuery`, `useSlashFocus`, `lazyClient`, `spring`, `floatingZ`, `dialogContentZ`, `dialogOverlayZ`, `useDialogDepth`, `hasOpenFloatingLayer`, `hasOpenNestedDialog`, `DEFAULT_ICON_WEIGHT`, `ICON_WEIGHTS`, `SHIPPED_ICON_WEIGHTS`, `faviconUrlForHostname`, `setUiTelemetry`, `setUiHostEnv`, `setUiRoutes`, `uiRoutes`, `defaultUiRoutes`, `UiRoutes` |
94
+ | `@kortix/ui` (hooks, helpers) | `UiLink`, `UiImage`, `useUiViewer`, `UiViewer`, `UiHostComponents`, `UiPreviewUrlResolver`, `UiPreviewRequest`, `useDebounce`, `useIsMobile`, `useMediaQuery`, `useSlashFocus`, `lazyClient`, `spring`, `floatingZ`, `dialogContentZ`, `dialogOverlayZ`, `useDialogDepth`, `hasOpenFloatingLayer`, `hasOpenNestedDialog`, `DEFAULT_ICON_WEIGHT`, `ICON_WEIGHTS`, `SHIPPED_ICON_WEIGHTS`, `faviconUrlForHostname`, `setUiTelemetry`, `setUiHostEnv`, `setUiRoutes`, `uiRoutes`, `defaultUiRoutes`, `decodeSpaceSegment`, `UiRoutes` |
95
95
  | `@kortix/ui/theme` | `KortixTheme`, `themeToCss`, `themeToCssVars`, `ThemeScope`, `ThemeScopeProps`, `THEME_COLOR_VARS`, `ThemeColor`, `ThemeColors`, `ThemeCssVars`, `ThemeTextStep`, `ThemeShadowStep`, `ThemeDurationStep`, `ThemeEasing`, `WALLPAPERS`, `DEFAULT_WALLPAPER_ID`, `getWallpaperById`, `Wallpaper` |
96
96
  | `@kortix/ui/session` (whole thread) | `SessionThread`, `SessionThreadProps` |
97
97
  | `@kortix/ui/session` (blocks) | `UserMessage`, `ThrottledMarkdown`, `UnifiedMarkdown`, `UnifiedMarkdownProps`, `ToolPartRenderer`, `SessionChatInput`, `SessionChatInputProps`, `AgentSelector`, `ModelSelector`, `ModelSelectorProps`, `SessionPermissionPrompt`, `QuestionPrompt`, `QuestionPromptHandle`, `TurnErrorDisplay`, `SessionBusyIndicator`, `SessionStartingLoader` |
@@ -116,7 +116,7 @@ One entry per module. Its curated names are the public API (semver). Every name,
116
116
  | `@kortix/ui/terminal`, `@kortix/ui/browser` | The session shell; the sandbox browser | the runtime ids of a mounted `useSession` |
117
117
  | `@kortix/ui/markdown`, `@kortix/ui/genui` | Markdown with code, math, links; GenUI blocks | `<UnifiedMarkdown content trust="agent" />` |
118
118
  | `@kortix/ui/diff`, `@kortix/ui/changes` | One diff; a change list | `<DiffView before after />` |
119
- | `@kortix/ui/apps` | App frames, the frame pool, the App view model | none |
119
+ | `@kortix/ui/apps`, `@kortix/ui/artifacts` | App frames, the frame pool, the App view model; artifact frames and session cards | none |
120
120
  | `@kortix/ui/access`, `@kortix/ui/customize` | Sharing and roles; project configuration pages | `<ConnectorsPage projectId />` |
121
121
  | `@kortix/ui/theme`, `@kortix/ui/i18n`, `@kortix/ui/icons` | Theme; `useTranslations`, `useLocale` (next-intl signatures); glyphs | none |
122
122
 
@@ -201,7 +201,7 @@ A Next.js host passes `next/link` and `{ useRouter, usePathname, useSearchParams
201
201
 
202
202
  ## 5. The project shell
203
203
 
204
- Your sidebar chrome around Kortix's session list. Every URL the components link to comes from one route table, `setUiRoutes` (`@kortix/ui`), called once at module load. The defaults are Kortix's own paths: `project` `/projects/<id>`, `session` `/projects/<id>/sessions/<sessionId>`, `sessions` `/projects/<id>/sessions` (`?view=archived|deleted`), `files` `/projects/<id>/files`, `drive` `/projects/<id>/drive`, `apps` `/projects/<id>/apps`, `members` `/projects/<id>/members`, `sandboxSettings` `/projects/<id>/config?section=sandbox`, `customize` `/projects/<id>/customize/<page>` (agents, skills, connectors, triggers, reminders, models, secrets, review, settings). Return your own path for a page you serve elsewhere. Return `null` for a page you do not serve: every link to it is hidden. `project` and `session` cannot be null. This app serves the project
204
+ Your sidebar chrome around Kortix's session list. Every URL the components link to comes from one route table, `setUiRoutes` (`@kortix/ui`), called once at module load. The defaults are Kortix's own paths: `project` `/projects/<id>`, `session` `/projects/<id>/sessions/<sessionId>`, `sessions` `/projects/<id>/sessions` (`?view=archived|deleted`), `files` `/projects/<id>/files`, `drive` `/projects/<id>/drive`, `apps` `/projects/<id>/apps`, `members` `/projects/<id>/members`, `sandboxSettings` `/projects/<id>/config?section=sandbox`, `customize` `/projects/<id>/customize/<page>` (agents, skills, connectors, triggers, reminders, models, secrets, review, settings), `channel` `/projects/<id>/c/<slug>` and `dm` `/projects/<id>/dm/<agent>` (the sidebar links them while the project's `project_channels` flag is on). Return your own path for a page you serve elsewhere. Return `null` for a page you do not serve: every link to it is hidden. `project`, `session`, `channel` and `dm` cannot be null. This app serves the project
205
205
  home, its files and a session (section 7), so it maps the other pages to `null`.
206
206
 
207
207
  ```tsx
@@ -456,9 +456,9 @@ The modules compose at any depth (`modules.md` has every entry with its props an
456
456
  composed screens need the two scopes those screens mount: `KortixProjectProvider` (`@kortix/sdk/react`)
457
457
  and `SessionIdsProvider` (`@kortix/ui`) with the project and session ids.
458
458
  - To draw every part yourself: `useChatTurns` and `renderParts` from `@kortix/sdk/react`
459
- (https://kortix.com/docs/sdk/react#build-a-chat-ui).
459
+ (https://kortix.com/docs/developers#react).
460
460
  - Other data for a dashboard: `useProjectApps`, `useProjectTriggers`, `useChangeRequests`,
461
- `useGatewayOverview`, `useCan` (https://kortix.com/docs/sdk/react#hooks).
461
+ `useGatewayOverview`, `useCan` (https://kortix.com/docs/developers#react-hooks).
462
462
 
463
463
  ## 10. Verify
464
464
 
@@ -87,7 +87,9 @@ export function Answer({ text }: { text: string }) {
87
87
  }
88
88
  ```
89
89
 
90
- Names: `markdownPolicy`, `MarkdownPolicy`, `MarkdownTrust`, `MarkdownVariant`, `UnifiedMarkdown`, `UnifiedMarkdownProps`, `CopyOverlay`, `HighlightedCode`, `CopyButton`, `MarkdownWithFrontmatter`, `languageLabel`, `normalizeLanguage`
90
+ Code outside markdown: `CodeHighlight` (`code`, `language`) draws one highlighted block without the markdown parser; `INLINE_CODE` is the class string of an inline code chip.
91
+
92
+ Names: `markdownPolicy`, `MarkdownPolicy`, `MarkdownTrust`, `MarkdownVariant`, `UnifiedMarkdown`, `UnifiedMarkdownProps`, `CopyOverlay`, `CodeHighlight`, `HighlightedCode`, `INLINE_CODE`, `CopyButton`, `MarkdownWithFrontmatter`, `languageLabel`, `normalizeLanguage`
91
93
 
92
94
  ## `@kortix/ui/genui`
93
95
 
@@ -177,7 +179,7 @@ export function PreviewHost() {
177
179
  }
178
180
  ```
179
181
 
180
- Names: `saveDriveFile`, `useDismissDriveConflict`, `useDriveAvailability`, `useDriveConflicts`, `useDriveFolder`, `useFolderAccess`, `useFolderPrincipals`, `useInvalidateDrives`, `useProjectDrive`, `useShareFolder`, `useUnshareFolder`, `FilesStoreProvider`, `getFileIcon`, `FilePreviewHost`, `ChangeRequestDetailDialog`, `DiffRenderer`, `DriveExplorer`, `DriveUploadTray`, `FileExplorerPage`, `FileThumbnail`, `ProjectFilesProvider`, `useProjectContext`, `FileExplorerSourceProvider`, `ExplorerQueryResult`, `FileExplorerSource`, `gitRefExplorerSource`, `useChangeRequestRecovery`, `changeRequestKeys`, `openChangeRequestListQuery`, `useChangeRequestDiff`, `useChangeRequestMergePreview`, `useCloseChangeRequest`, `useMergeChangeRequest`, `useRequestChangesOnChangeRequest`, `useSelectedVersion`, `workspaceFileSource`, `useWorkspaceSearch`, `SandboxFileExplorer`
182
+ Names: `saveDriveFile`, `useDismissDriveConflict`, `useDriveAvailability`, `useDriveConflicts`, `useDriveFolder`, `useFolderAccess`, `useFolderPrincipals`, `useInvalidateDrives`, `useProjectDrive`, `useShareFolder`, `useUnshareFolder`, `FilesStoreProvider`, `getFileIcon`, `FilePreviewHost`, `ChangeRequestDetailDialog`, `DiffRenderer`, `DriveExplorer`, `DriveUploadTray`, `FileExplorerPage`, `FileThumbnail`, `ProjectFilesProvider`, `useProjectContext`, `FileExplorerSourceProvider`, `ExplorerQueryResult`, `FileExplorerSource`, `gitRefExplorerSource`, `useChangeRequestRecovery`, `changeRequestKeys`, `openChangeRequestListQuery`, `useChangeRequestDiff`, `useChangeRequestMergePreview`, `useCloseChangeRequest`, `useMergeChangeRequest`, `useRequestChangesOnChangeRequest`, `useSelectedVersion`, `workspaceFileSource`, `useWorkspaceSearch`, `SandboxFileExplorer`, `CodeEditor` (the CodeMirror editor, loaded as its own chunk on first render)
181
183
 
182
184
  ## `@kortix/ui/file-viewer`
183
185
 
@@ -256,6 +258,26 @@ export function AppLink({ url }: { url: string }) {
256
258
 
257
259
  Names: `AppPreview`, `AppPreviewOverlay`, `PREVIEW_SPINNER_DELAY_MS`, `PREVIEW_TILE_ASPECT`, `PREVIEW_VIEWPORT_HEIGHT`, `PREVIEW_VIEWPORT_WIDTH`, `framePlacement`, `previewScale`, `scheduleSlowPreview`, `ensureFrame`, `frameKey`, `framesKeepAlive`, `pruneFrames`, `reloadFrame`, `ANONYMOUS_MODES`, `DEPLOYMENT_COPY`, `appCan`, `appCommand`, `appHost`, `appStatus`, `appTabLabel`, `cardPreviewApp`, `childApps`, `deployNotice`, `gridApps`, `localizedAppCopy`, `isKortixAppUrl`
258
260
 
261
+ The frame pool: `ensureFrame` creates a parked frame, `claimFrame` (`key`, `slot`, `placement`) shows it in `slot` and returns the release, `restyleFrame` restyles the current claim, `useFrameStatus` (`key`) reads `loading`, `loaded` or `failed`; `FramePlacement` is a slot's class, style and `interactive`. The Apps page: `hiddenApps` (neither a card nor a tab), `appTriggers` (the triggers that call an App and the ones its events start), `backgroundSummary` (running, asleep, undeployed, external counts), `appSizeLabel` ("2 vCPU · 4 GB · 20 GB"), `DeployCommand` (`code`: a shell command with a copy button).
262
+
263
+ ## `@kortix/ui/artifacts`
264
+
265
+ Source: `src/artifacts/index.ts`. Kortix Artifacts in any host: the frame policy and link parsing (server-safe), the pooled page frame, and the session views. Artifact frames share the `@kortix/ui/apps` frame pool; their keys start with `ARTIFACT_FRAME_PREFIX`.
266
+
267
+ Props: `ArtifactFrame`: `frameKey` (`artifactFrameKey(artifact, version)`), `src`, `title`, `preview` (no input), `className`. `ShowArtifactCard`: `url`, `fallback` (drawn when the viewer cannot open it). `ArtifactPanelPreview`: `url`, `onClose`.
268
+
269
+ ```tsx
270
+ import { parseArtifactUrl } from '@kortix/ui/artifacts';
271
+
272
+ // A link to an artifact opens it in your viewer; any other link stays a link.
273
+ export function ArtifactLink({ url }: { url: string }) {
274
+ const artifact = parseArtifactUrl(url);
275
+ return <a href={url}>{artifact ? `Artifact ${artifact.artifactId}` : url}</a>;
276
+ }
277
+ ```
278
+
279
+ Names: `ARTIFACT_FRAME_ALLOW`, `ARTIFACT_FRAME_PREFIX`, `ARTIFACT_IFRAME_SANDBOX`, `artifactFrameKey`, `parseArtifactUrl`, `printArtifact` (a doc's print view in a hidden frame: Export as PDF), `ArtifactFrame`, `ensureArtifactFrame`, `ArtifactPanelPreview`, `ShowArtifactCard`
280
+
259
281
  ## `@kortix/ui/composer`
260
282
 
261
283
  Source: `src/session/composer/index.ts`. The message composer: drop-in inputs, chrome, tiptap editor parts and the send pipeline.
@@ -344,7 +366,7 @@ Mount: `SessionWorkspace` takes `session` (the `useSession` result): the thread
344
366
  Props:
345
367
  - `SessionWorkspace`: `session` (the `useSession` result, required), `children` (replaces the thread), `hideHeader`, `readOnly`, `className`.
346
368
  - `SessionLayout`: `sessionId` (runtime id), `projectId`, `projectSessionId`, `children` (the thread), `bootStage`, `transient`.
347
- - `ProjectHome`: `projectId`; `beforeSend` (runs first, throw to refuse); `onSend` + `busy` (replace the send).
369
+ - `ProjectHome`: `projectId`; `beforeSend` (runs first, throw to refuse); `onSend` + `busy` (replace the send); `onboarding` (opt in: a project not yet onboarded opens on the onboarding chat and sends "Onboard me" once a model is usable).
348
370
  - `useProjectHomeSend(projectId, { beforeSend })` returns `{ send, sending }`.
349
371
  - `ProjectSessionList`, `ProjectSessionsView`, `ProjectFilesView`: `projectId`. `ProjectSidebar`: `projectId`, `menu`, `onOpenSearch` (the header shows Search only with it); its Files, Apps and Customize rows read `projectId`, not the route.
350
372
 
@@ -375,7 +397,9 @@ export function Sessions({ projectId }: { projectId: string }) {
375
397
 
376
398
  Goals (behind the `goals` flag): `GoalStatusBadge` (a goal's status), `GoalHealthDot` (green running, orange needs attention, grey closed), `useGoalIssueText` (one sentence per health issue), `goalProgress` (met and total criteria), `goalOpenAsks` (asks waiting on a person), `goalNeedsYou` (an open ask or a health issue), `formatGoalTime` (the reminders time format), `goalHref` (the goal's page, or null), `useGoalClock` (the current time, re-read every 30 s).
377
399
 
378
- Names: `ProjectPageHeader`, `useCapabilityAccess`, `useProjectNavRows`, `SidebarToggle`, `activeCapabilityTab`, `agentHref`, `capabilityTabHref`, `channelsHref`, `remindersHref`, `reviewHref`, `detectManifestVersion`, `manifestFilename`, `manifestNeedsUpgrade`, `useProjectManifestVersion`, `ManifestVersion`, `CUSTOMIZE_SECTION_ACCESS`, `CUSTOMIZE_SECTION_GATE_ACTIONS`, `PROJECT_ACTIONS`, `isCustomizeSectionVisible`, `CustomizeSection`, `ProjectAction`, `usePermission`, `usePermissions`, `usePermissionsFor`, `PROJECT_PAGE_ACTIONS`, `useProjectCan`, `useProjectCans`, `useProjectPageCans`, `CanResult`, `formatFireTime`, `nearestFire`, `reminderTitle`, `scheduleLabel`, `ProjectHomeWallpaper`, `ProjectHomeWelcomeBody`, `InstantSessionShell`, `ProjectFilesView`, `ProjectHome`, `ProjectHomeSendOptions`, `useProjectHomeSend`, `UseProjectHomeSendOptions`, `SavedSessionSkeleton`, `SessionLayout`, `SessionWorkspace`, `SessionLayoutProps`, `SessionWorkspaceProps`, `ProjectSessionsView`, `ProjectSessionList`, `ProjectSidebar`, `ShareSessionModal`
400
+ Channels and memory (behind the `project_channels` flag): `SpaceView` (`projectId`, `target`: a `SpaceTarget`, `{ kind: 'channel', slug }` or `{ kind: 'dm', agentName }`; `beforeSend`; `renderFolder` draws a `SpaceFolder`, one space's Files tab; `renderApps`) is a channel or DM page with its threads, files, memory, apps, links and triggers. `ChannelGlyph` (`visibility`) is `#` or a lock. `agentLabel` (`name`) is an agent's display name. `MemoryView` (`projectId`, `layerKey`: `company` or a space id, `place`) is one memory layer's pages; `CompanyMemoryPage` (`projectId`) is the project's Company memory. `useMemoryPageHref` (`projectId`) returns `(layer: MemoryLayerRef, pageId) => href | null`: the page's link, null when the host serves no such page.
401
+
402
+ Names: `SpaceView`, `SpaceViewProps`, `SpaceTarget`, `SpaceFolder`, `ChannelGlyph`, `agentLabel`, `MemoryView`, `MemoryViewProps`, `CompanyMemoryPage`, `MemoryLayerRef`, `useMemoryPageHref`, `ProjectPageHeader`, `useCapabilityAccess`, `useProjectNavRows`, `SidebarToggle`, `activeCapabilityTab`, `agentHref`, `capabilityTabHref`, `channelsHref`, `remindersHref`, `reviewHref`, `detectManifestVersion`, `manifestFilename`, `manifestNeedsUpgrade`, `useProjectManifestVersion`, `ManifestVersion`, `CUSTOMIZE_SECTION_ACCESS`, `CUSTOMIZE_SECTION_GATE_ACTIONS`, `PROJECT_ACTIONS`, `isCustomizeSectionVisible`, `CustomizeSection`, `ProjectAction`, `usePermission`, `usePermissions`, `usePermissionsFor`, `PROJECT_PAGE_ACTIONS`, `useProjectCan`, `useProjectCans`, `useProjectPageCans`, `CanResult`, `formatFireTime`, `nearestFire`, `reminderTitle`, `scheduleLabel`, `ProjectHomeWallpaper`, `ProjectHomeWelcomeBody`, `InstantSessionShell`, `ProjectFilesView`, `ProjectHome`, `ProjectHomeSendOptions`, `useProjectHomeSend`, `UseProjectHomeSendOptions`, `SavedSessionSkeleton`, `SessionLayout`, `SessionWorkspace`, `SessionLayoutProps`, `SessionWorkspaceProps`, `ProjectSessionsView`, `ProjectSessionList`, `ProjectSidebar`, `ShareSessionModal`
379
403
 
380
404
  ## `@kortix/ui/access`
381
405
 
@@ -95,7 +95,7 @@ Shared values (both modes):
95
95
  | `durations.<step>`, `easing.<curve>` | `--duration-*`, `--ease-*` | Motion: `fast` … `slower`; `default`, `in`, `out`, `inOut` |
96
96
  | `vars` | any `--name` | Anything else |
97
97
 
98
- Defaults and the fixed values (scrims, 10–12px captions, a few keyframe durations): https://kortix.com/docs/sdk/ui#tokens.
98
+ Defaults and the fixed values (scrims, 10–12px captions, a few keyframe durations): https://kortix.com/docs/developers#tokens.
99
99
 
100
100
  ## 5. Rules
101
101
 
@@ -1,10 +0,0 @@
1
- import { type CatalogEntry } from './catalog-entry.js';
2
- /**
3
- * One search result list from both catalogues.
4
- *
5
- * Managed results keep their order. An app both list shows once, as its
6
- * API/MCP entry (MCP is the default way to connect) with the managed logo,
7
- * which is sharp where the catalogue's favicon is not. API/MCP-only apps
8
- * follow.
9
- */
10
- export declare function mergeSearchEntries(managed: readonly CatalogEntry[], direct: readonly CatalogEntry[]): CatalogEntry[];
@@ -1,26 +0,0 @@
1
- import { appNameKey as appKey } from './catalog-entry.js';
2
- /**
3
- * One search result list from both catalogues.
4
- *
5
- * Managed results keep their order. An app both list shows once, as its
6
- * API/MCP entry (MCP is the default way to connect) with the managed logo,
7
- * which is sharp where the catalogue's favicon is not. API/MCP-only apps
8
- * follow.
9
- */
10
- export function mergeSearchEntries(managed, direct) {
11
- const directByName = new Map();
12
- for (const entry of direct) {
13
- const key = appKey(entry.name);
14
- if (!directByName.has(key))
15
- directByName.set(key, entry);
16
- }
17
- const used = new Set();
18
- const merged = managed.map((entry) => {
19
- const twin = directByName.get(appKey(entry.name));
20
- if (!twin || used.has(twin))
21
- return entry;
22
- used.add(twin);
23
- return { ...twin, icon: entry.icon ?? twin.icon, alsoApp: true };
24
- });
25
- return merged.concat(direct.filter((entry) => !used.has(entry)));
26
- }
@@ -1,29 +0,0 @@
1
- /** One page of the managed catalogue, as `listConnectCatalogPage` returns it. */
2
- type ListApps<A> = (input: {
3
- projectId: string;
4
- provider: 'composio' | 'pipedream';
5
- q: string;
6
- limit: number;
7
- }) => Promise<{
8
- apps: A[];
9
- }>;
10
- /**
11
- * Resolve one managed (Composio or Pipedream) app from its slug.
12
- *
13
- * The catalogue has no by-slug route, so this searches and keeps the exact
14
- * slug match. The second query spells the slug as words, for a catalogue whose
15
- * search matches names and not slugs (`google_sheets` → "google sheets").
16
- *
17
- * `list` is passed in so this module stays free of the catalogue hook's
18
- * imports and can be tested with a fake.
19
- */
20
- export declare function findEasyConnectApp<A extends {
21
- slug: string;
22
- }>(list: ListApps<A>, input: {
23
- projectId: string;
24
- provider: 'composio' | 'pipedream';
25
- slug: string;
26
- }): Promise<(A & {
27
- provider: 'composio' | 'pipedream';
28
- }) | null>;
29
- export {};
@@ -1,22 +0,0 @@
1
- /**
2
- * Resolve one managed (Composio or Pipedream) app from its slug.
3
- *
4
- * The catalogue has no by-slug route, so this searches and keeps the exact
5
- * slug match. The second query spells the slug as words, for a catalogue whose
6
- * search matches names and not slugs (`google_sheets` → "google sheets").
7
- *
8
- * `list` is passed in so this module stays free of the catalogue hook's
9
- * imports and can be tested with a fake.
10
- */
11
- export async function findEasyConnectApp(list, input) {
12
- const words = input.slug.replace(/[_-]+/g, ' ');
13
- for (const q of words === input.slug ? [input.slug] : [input.slug, words]) {
14
- // ponytail: one page of 48 per query; an exact slug ranked below 48 results
15
- // reads as not found. Add a by-slug API route if that happens.
16
- const page = await list({ projectId: input.projectId, provider: input.provider, q, limit: 48 });
17
- const app = page.apps.find((candidate) => candidate.slug === input.slug);
18
- if (app)
19
- return { ...app, provider: input.provider };
20
- }
21
- return null;
22
- }
@@ -1,9 +0,0 @@
1
- export interface MigrateToV2 {
2
- /** Mint + navigate to the migration session. Safe to call repeatedly —
3
- * ignored while a session is already being created. */
4
- start: () => void;
5
- /** True while a session is being created — callers should disable their
6
- * trigger and/or show a spinner. */
7
- pending: boolean;
8
- }
9
- export declare function useMigrateToV2(projectId: string): MigrateToV2;
@@ -1,24 +0,0 @@
1
- 'use client';
2
- /**
3
- * useMigrateToV2 — start an agent-led "migrate this project's manifest to v2"
4
- * session from anywhere in Customize.
5
- *
6
- * Same shape as `useConfigureThread` (the sibling "Create new agent/skill/
7
- * command" flow): the only way config changes land is through a session that
8
- * edits the repo on a branch and opens a change request, so this mints a
9
- * fresh session, stashes the migration prompt as its first message, closes
10
- * the Customize overlay, and drops the user into the thread — the instant
11
- * shell auto-sends the stashed prompt once the runtime is ready.
12
- *
13
- * Deliberately does NOT pass `agent_name` — the session boots the project's
14
- * default agent (the one with git/CR powers), matching how the migration
15
- * prompt expects to be run.
16
- */
17
- import { useCallback } from 'react';
18
- import { MIGRATE_TO_V2_PROMPT } from './migration-prompt.js';
19
- import { useRunUpgrade } from './use-run-upgrade.js';
20
- export function useMigrateToV2(projectId) {
21
- const run = useRunUpgrade(projectId);
22
- const start = useCallback(() => run.start(MIGRATE_TO_V2_PROMPT), [run]);
23
- return { start, pending: run.pending };
24
- }
@@ -1,36 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- /**
3
- * The icon tile for a connector that does not exist yet. `ConnectorAppIcon`
4
- * (`connectors-view.tsx:729`) needs an `AdminConnector`; the add flow has a
5
- * catalogue app — an image URL and a name, nothing more. Same 40px bordered
6
- * tile, same `object-contain` treatment, so the two are indistinguishable on
7
- * screen.
8
- */
9
- export declare function ConnectorConnectionIcon({ src, name }: {
10
- src?: string | null;
11
- name: string;
12
- }): import("react").JSX.Element;
13
- /**
14
- * A connector's identity block — icon, name, byline, description —
15
- * shared by the add flow (`ConnectorConnectionModal`) and the detail modal
16
- * (`connector-modal.tsx`), so "what is this thing?" is answered by the same
17
- * layout in both places.
18
- *
19
- * Everything except `icon` and `name` is optional; a custom connector with
20
- * no catalogue record simply renders less. `nameSlot` swaps the plain name
21
- * for a caller-owned control (the detail modal's inline rename, or Radix's
22
- * `ModalTitle`) without changing the rhythm around it.
23
- */
24
- export declare function ConnectorConnectionHeader({ icon, name, nameSlot, byline, meta, status, description, className, }: {
25
- icon: ReactNode;
26
- name: string;
27
- nameSlot?: ReactNode;
28
- /** e.g. "by Pipedream" — the catalogue the app came from. */
29
- byline?: string | null;
30
- /** Small muted facts after the byline: tool count, slug. */
31
- meta?: ReactNode;
32
- /** Badges trailing the name: provider, connection status. */
33
- status?: ReactNode;
34
- description?: string | null;
35
- className?: string;
36
- }): import("react").JSX.Element;
@@ -1,33 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { PlugIcon } from '@phosphor-icons/react';
4
- import { UiImage as Image } from '../../providers/ui-provider.js';
5
- import { EntityAvatar } from '../../primitives/entity-avatar.js';
6
- import { cn } from '../../internal/lib/utils.js';
7
- /**
8
- * The icon tile for a connector that does not exist yet. `ConnectorAppIcon`
9
- * (`connectors-view.tsx:729`) needs an `AdminConnector`; the add flow has a
10
- * catalogue app — an image URL and a name, nothing more. Same 40px bordered
11
- * tile, same `object-contain` treatment, so the two are indistinguishable on
12
- * screen.
13
- */
14
- export function ConnectorConnectionIcon({ src, name }) {
15
- if (src) {
16
- return (_jsx("span", { className: "border-border/60 bg-card relative flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-sm border", children: _jsx(Image, { src: src, alt: "", referrerPolicy: "no-referrer", fill: true, sizes: "40px", className: "object-contain", unoptimized: true }) }));
17
- }
18
- return _jsx(EntityAvatar, { icon: PlugIcon, size: "lg", label: name });
19
- }
20
- /**
21
- * A connector's identity block — icon, name, byline, description —
22
- * shared by the add flow (`ConnectorConnectionModal`) and the detail modal
23
- * (`connector-modal.tsx`), so "what is this thing?" is answered by the same
24
- * layout in both places.
25
- *
26
- * Everything except `icon` and `name` is optional; a custom connector with
27
- * no catalogue record simply renders less. `nameSlot` swaps the plain name
28
- * for a caller-owned control (the detail modal's inline rename, or Radix's
29
- * `ModalTitle`) without changing the rhythm around it.
30
- */
31
- export function ConnectorConnectionHeader({ icon, name, nameSlot, byline, meta, status, description, className, }) {
32
- return (_jsxs("div", { className: cn('flex items-start gap-3.5', className), children: [icon, _jsxs("div", { className: "min-w-0 flex-1 space-y-0", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-x-2 gap-y-1", children: [nameSlot ?? (_jsx("span", { className: "text-foreground truncate text-lg font-semibold", children: name })), status] }), byline || meta ? (_jsxs("div", { className: "text-muted-foreground flex flex-wrap items-center gap-x-2 gap-y-1 text-xs", children: [byline ? _jsx("span", { children: byline }) : null, meta] })) : null, description ? (_jsx("p", { className: "text-muted-foreground text-sm text-pretty", children: description })) : null] })] }));
33
- }
@@ -1,34 +0,0 @@
1
- import { type EasyConnectConnectionInput } from './connector-connection-form.js';
2
- /**
3
- * The "Add connector" dialog: connection header + one primary button.
4
- *
5
- * Defaults (app name, proposed slug) are always valid, so a non-technical user
6
- * reads the header and presses "+ Add connector" without meeting "slug". That
7
- * field stays behind a collapsed disclosure for the rare rename case. The
8
- * disclosure force-opens when the slug inside it becomes invalid, so a submit
9
- * that would silently refuse never hides its reason.
10
- *
11
- * There is no owner choice here any more. A connector is a capability with no
12
- * identity; WHO it runs as is a property of each account on its Accounts tab,
13
- * where both a shared and a private account can exist at the same time.
14
- */
15
- export declare function ConnectorConnectionModal({ open, idPrefix, title, initialName, initialSlug, existingSlugs, pending, icon, byline, summary, submitLabel, onOpenChange, onSubmit, }: {
16
- open: boolean;
17
- idPrefix: string;
18
- title: string;
19
- description: string;
20
- initialName: string;
21
- initialSlug: string;
22
- existingSlugs: readonly string[];
23
- pending: boolean;
24
- /** The app tile — `ConnectorConnectionIcon` over the catalogue record. */
25
- icon?: React.ReactNode;
26
- /** e.g. "by Pipedream". */
27
- byline?: string | null;
28
- /** The catalogue description, when the source publishes one. */
29
- summary?: string | null;
30
- /** Defaults to `+ Add connector`. */
31
- submitLabel?: string;
32
- onOpenChange: (open: boolean) => void;
33
- onSubmit: (connection: EasyConnectConnectionInput) => void;
34
- }): import("react").JSX.Element;