@kortix/ui 0.0.0-stage → 0.14.4

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 (2897) hide show
  1. package/README.md +347 -2
  2. package/dist/_vendor/kortix-shared.js +10838 -0
  3. package/dist/_vendor/shared/channel-header.d.ts +12 -0
  4. package/dist/_vendor/shared/channel-message.d.ts +38 -0
  5. package/dist/_vendor/shared/chat-mention.d.ts +6 -0
  6. package/dist/_vendor/shared/code-language.d.ts +25 -0
  7. package/dist/_vendor/shared/connector-sections.d.ts +180 -0
  8. package/dist/_vendor/shared/constants/auto-topup.d.ts +13 -0
  9. package/dist/_vendor/shared/constants/upload-limits.d.ts +23 -0
  10. package/dist/_vendor/shared/file-tags.d.ts +28 -0
  11. package/dist/_vendor/shared/index.d.ts +28 -0
  12. package/dist/_vendor/shared/markdown-math.d.ts +46 -0
  13. package/dist/_vendor/shared/meta-agent.d.ts +7 -0
  14. package/dist/_vendor/shared/pasted-content.d.ts +38 -0
  15. package/dist/_vendor/shared/project-glyphs.d.ts +93 -0
  16. package/dist/_vendor/shared/prompt-attachments.d.ts +20 -0
  17. package/dist/_vendor/shared/reminder-prompt.d.ts +21 -0
  18. package/dist/_vendor/shared/room-prompt.d.ts +66 -0
  19. package/dist/_vendor/shared/runtime-versions.d.ts +57 -0
  20. package/dist/_vendor/shared/session-attachments.d.ts +8 -0
  21. package/dist/_vendor/shared/slack-text.d.ts +21 -0
  22. package/dist/_vendor/shared/tag-blocks.d.ts +118 -0
  23. package/dist/_vendor/shared/tool-output/background-workers.d.ts +11 -0
  24. package/dist/_vendor/shared/tool-output/diagnostics.d.ts +25 -0
  25. package/dist/_vendor/shared/tool-output/index.d.ts +25 -0
  26. package/dist/_vendor/shared/tool-output/markdown-detect.d.ts +18 -0
  27. package/dist/_vendor/shared/tool-output/media-path.d.ts +15 -0
  28. package/dist/_vendor/shared/tool-output/memory-entry.d.ts +55 -0
  29. package/dist/_vendor/shared/tool-output/memory-search.d.ts +41 -0
  30. package/dist/_vendor/shared/tool-output/projects.d.ts +81 -0
  31. package/dist/_vendor/shared/tool-output/scan.d.ts +39 -0
  32. package/dist/_vendor/shared/tool-output/session-dump.d.ts +62 -0
  33. package/dist/_vendor/shared/tool-output/session-get.d.ts +47 -0
  34. package/dist/_vendor/shared/tool-output/session-search.d.ts +15 -0
  35. package/dist/_vendor/shared/tool-output/skill.d.ts +6 -0
  36. package/dist/_vendor/shared/tool-output/tags.d.ts +19 -0
  37. package/dist/_vendor/shared/tool-output/triggers.d.ts +22 -0
  38. package/dist/_vendor/shared/tools/html-text.d.ts +12 -0
  39. package/dist/_vendor/shared/tools/index.d.ts +6 -0
  40. package/dist/_vendor/shared/tools/safe-url.d.ts +9 -0
  41. package/dist/_vendor/shared/tools/tool-registry-lookup.d.ts +2 -0
  42. package/dist/_vendor/shared/trigger-event.d.ts +21 -0
  43. package/dist/_vendor/shared/utils/ambiguous-write.d.ts +32 -0
  44. package/dist/_vendor/shared/utils/chalk-colors.d.ts +15 -0
  45. package/dist/_vendor/shared/utils/configure-prompts.d.ts +11 -0
  46. package/dist/_vendor/shared/utils/credit-formatter.d.ts +53 -0
  47. package/dist/_vendor/shared/utils/format-relative.d.ts +27 -0
  48. package/dist/_vendor/shared/utils/index.d.ts +12 -0
  49. package/dist/_vendor/shared/utils/json.d.ts +24 -0
  50. package/dist/_vendor/shared/utils/string.d.ts +18 -0
  51. package/dist/_vendor/shared/utils/unicode.d.ts +41 -0
  52. package/dist/_vendor/shared/utils/url-autolink.d.ts +48 -0
  53. package/dist/_vendor/shared/webhook-signing.d.ts +14 -0
  54. package/dist/access/access/access-detail-shell.d.ts +34 -0
  55. package/dist/access/access/access-detail-shell.js +22 -0
  56. package/dist/access/access/access-dialog-share.d.ts +54 -0
  57. package/dist/access/access/access-dialog-share.js +206 -0
  58. package/dist/access/access/access-dialog.d.ts +207 -0
  59. package/dist/access/access/access-dialog.js +982 -0
  60. package/dist/access/access/access-row.d.ts +106 -0
  61. package/dist/access/access/access-row.js +79 -0
  62. package/dist/access/access/access-shared.d.ts +86 -0
  63. package/dist/access/access/access-shared.js +143 -0
  64. package/dist/access/access/account-role-editor.d.ts +52 -0
  65. package/dist/access/access/account-role-editor.js +63 -0
  66. package/dist/access/access/agent-principals.d.ts +97 -0
  67. package/dist/access/access/agent-principals.js +210 -0
  68. package/dist/access/access/copy-row.d.ts +19 -0
  69. package/dist/access/access/copy-row.js +41 -0
  70. package/dist/access/access/index.d.ts +9 -0
  71. package/dist/access/access/index.js +16 -0
  72. package/dist/access/access/principal-picker.d.ts +90 -0
  73. package/dist/access/access/principal-picker.js +271 -0
  74. package/dist/access/access/project-select.d.ts +41 -0
  75. package/dist/access/access/project-select.js +59 -0
  76. package/dist/access/access/role-select.d.ts +108 -0
  77. package/dist/access/access/role-select.js +199 -0
  78. package/dist/access/iam/add-github-account-dialog.d.ts +33 -0
  79. package/dist/access/iam/add-github-account-dialog.js +51 -0
  80. package/dist/access/iam/api-key-expiry.d.ts +53 -0
  81. package/dist/access/iam/api-key-expiry.js +68 -0
  82. package/dist/access/iam/api-key-rows.d.ts +161 -0
  83. package/dist/access/iam/api-key-rows.js +178 -0
  84. package/dist/access/iam/managed-git-notice.d.ts +2 -0
  85. package/dist/access/iam/managed-git-notice.js +44 -0
  86. package/dist/access/iam/session-oversight-card.d.ts +4 -0
  87. package/dist/access/iam/session-oversight-card.js +52 -0
  88. package/dist/access/index.d.ts +7 -0
  89. package/dist/access/index.js +7 -0
  90. package/dist/access/sandbox-template-menu.d.ts +41 -0
  91. package/dist/access/sandbox-template-menu.js +69 -0
  92. package/dist/access/sharing-intent.d.ts +31 -0
  93. package/dist/access/sharing-intent.js +28 -0
  94. package/dist/access/sharing-picker.d.ts +55 -0
  95. package/dist/access/sharing-picker.js +61 -0
  96. package/dist/animated-copy-icon.d.ts +5 -0
  97. package/dist/animated-copy-icon.js +6 -0
  98. package/dist/apps/app-preview-pool.d.ts +31 -0
  99. package/dist/apps/app-preview-pool.js +157 -0
  100. package/dist/apps/app-preview.d.ts +128 -0
  101. package/dist/apps/app-preview.js +258 -0
  102. package/dist/apps/app-shared.d.ts +154 -0
  103. package/dist/apps/app-shared.js +213 -0
  104. package/dist/apps/index.d.ts +7 -0
  105. package/dist/apps/index.js +7 -0
  106. package/dist/apps/kortix-app-url.d.ts +7 -0
  107. package/dist/apps/kortix-app-url.js +20 -0
  108. package/dist/browser/app-in-browser.d.ts +20 -0
  109. package/dist/browser/app-in-browser.js +79 -0
  110. package/dist/browser/browser-landing.d.ts +32 -0
  111. package/dist/browser/browser-landing.js +103 -0
  112. package/dist/browser/browser-panel.d.ts +15 -0
  113. package/dist/browser/browser-panel.js +317 -0
  114. package/dist/browser/index.d.ts +5 -0
  115. package/dist/browser/index.js +5 -0
  116. package/dist/browser/sandbox-browser-chrome.d.ts +69 -0
  117. package/dist/browser/sandbox-browser-chrome.js +149 -0
  118. package/dist/changes/change-list.d.ts +50 -0
  119. package/dist/changes/change-list.js +129 -0
  120. package/dist/changes/change-vocabulary.d.ts +154 -0
  121. package/dist/changes/change-vocabulary.js +289 -0
  122. package/dist/changes/index.d.ts +2 -0
  123. package/dist/changes/index.js +2 -0
  124. package/dist/customize/agents/agent-apps-grant.d.ts +19 -0
  125. package/dist/customize/agents/agent-apps-grant.js +23 -0
  126. package/dist/customize/agents/agent-authority-card.d.ts +8 -0
  127. package/dist/customize/agents/agent-authority-card.js +46 -0
  128. package/dist/customize/agents/agent-detail-aside.d.ts +81 -0
  129. package/dist/customize/agents/agent-detail-aside.js +249 -0
  130. package/dist/customize/agents/agent-drives-section.d.ts +11 -0
  131. package/dist/customize/agents/agent-drives-section.js +67 -0
  132. package/dist/customize/agents/agent-filter.d.ts +27 -0
  133. package/dist/customize/agents/agent-filter.js +32 -0
  134. package/dist/customize/agents/agent-grant-pages.d.ts +33 -0
  135. package/dist/customize/agents/agent-grant-pages.js +203 -0
  136. package/dist/customize/agents/agent-page.d.ts +4 -0
  137. package/dist/customize/agents/agent-page.js +453 -0
  138. package/dist/customize/agents/agent-people-section.d.ts +8 -0
  139. package/dist/customize/agents/agent-people-section.js +152 -0
  140. package/dist/customize/agents/agent-share-control.d.ts +6 -0
  141. package/dist/customize/agents/agent-share-control.js +63 -0
  142. package/dist/customize/agents/agent-status.d.ts +7 -0
  143. package/dist/customize/agents/agent-status.js +9 -0
  144. package/dist/customize/agents/agent-triggers-section.d.ts +17 -0
  145. package/dist/customize/agents/agent-triggers-section.js +107 -0
  146. package/dist/customize/agents/agents-page.d.ts +24 -0
  147. package/dist/customize/agents/agents-page.js +214 -0
  148. package/dist/customize/agents/use-agent-grants.d.ts +1 -0
  149. package/dist/customize/agents/use-agent-grants.js +13 -0
  150. package/dist/customize/agents/use-default-agent.d.ts +1 -0
  151. package/dist/customize/agents/use-default-agent.js +19 -0
  152. package/dist/customize/connectors/add-mcp/add-mcp-server-deps.d.ts +3 -0
  153. package/dist/customize/connectors/add-mcp/add-mcp-server-deps.js +25 -0
  154. package/dist/customize/connectors/add-mcp/add-mcp-server-dialog.d.ts +20 -0
  155. package/dist/customize/connectors/add-mcp/add-mcp-server-dialog.js +114 -0
  156. package/dist/customize/connectors/add-mcp/add-mcp-server.d.ts +77 -0
  157. package/dist/customize/connectors/add-mcp/add-mcp-server.js +97 -0
  158. package/dist/customize/connectors/catalog/browse-sections.d.ts +62 -0
  159. package/dist/customize/connectors/catalog/browse-sections.js +119 -0
  160. package/dist/customize/connectors/catalog/catalog-entry.d.ts +111 -0
  161. package/dist/customize/connectors/catalog/catalog-entry.js +172 -0
  162. package/dist/customize/connectors/catalog/catalog-foot.d.ts +24 -0
  163. package/dist/customize/connectors/catalog/catalog-foot.js +39 -0
  164. package/dist/customize/connectors/catalog/catalog-paging.d.ts +34 -0
  165. package/dist/customize/connectors/catalog/catalog-paging.js +33 -0
  166. package/dist/customize/connectors/catalog/connector-browse.d.ts +34 -0
  167. package/dist/customize/connectors/catalog/connector-browse.js +151 -0
  168. package/dist/customize/connectors/catalog/connector-categories.d.ts +20 -0
  169. package/dist/customize/connectors/catalog/connector-categories.js +25 -0
  170. package/dist/customize/connectors/catalog/merge-search.d.ts +10 -0
  171. package/dist/customize/connectors/catalog/merge-search.js +26 -0
  172. package/dist/customize/connectors/catalog/use-catalog-autoload.d.ts +29 -0
  173. package/dist/customize/connectors/catalog/use-catalog-autoload.js +79 -0
  174. package/dist/customize/connectors/catalog/use-catalog.d.ts +161 -0
  175. package/dist/customize/connectors/catalog/use-catalog.js +336 -0
  176. package/dist/customize/connectors/connector-filter.d.ts +80 -0
  177. package/dist/customize/connectors/connector-filter.js +79 -0
  178. package/dist/customize/connectors/connector-identity.d.ts +35 -0
  179. package/dist/customize/connectors/connector-identity.js +67 -0
  180. package/dist/customize/connectors/connector-moves-banner.d.ts +4 -0
  181. package/dist/customize/connectors/connector-moves-banner.js +25 -0
  182. package/dist/customize/connectors/connector-routes.d.ts +40 -0
  183. package/dist/customize/connectors/connector-routes.js +74 -0
  184. package/dist/customize/connectors/connectors-app-return-bar.d.ts +18 -0
  185. package/dist/customize/connectors/connectors-app-return-bar.js +56 -0
  186. package/dist/customize/connectors/connectors-page.d.ts +40 -0
  187. package/dist/customize/connectors/connectors-page.js +412 -0
  188. package/dist/customize/connectors/detail/account-info.d.ts +5 -0
  189. package/dist/customize/connectors/detail/account-info.js +24 -0
  190. package/dist/customize/connectors/detail/app-page.d.ts +4 -0
  191. package/dist/customize/connectors/detail/app-page.js +263 -0
  192. package/dist/customize/connectors/detail/connector-accounts.d.ts +51 -0
  193. package/dist/customize/connectors/detail/connector-accounts.js +42 -0
  194. package/dist/customize/connectors/detail/connector-advanced-tools.d.ts +13 -0
  195. package/dist/customize/connectors/detail/connector-advanced-tools.js +75 -0
  196. package/dist/customize/connectors/detail/connector-detail-tabs.d.ts +10 -0
  197. package/dist/customize/connectors/detail/connector-detail-tabs.js +18 -0
  198. package/dist/customize/connectors/detail/connector-header-cta.d.ts +23 -0
  199. package/dist/customize/connectors/detail/connector-header-cta.js +9 -0
  200. package/dist/customize/connectors/detail/connector-modal.d.ts +32 -0
  201. package/dist/customize/connectors/detail/connector-modal.js +117 -0
  202. package/dist/customize/connectors/detail/connector-move-row.d.ts +17 -0
  203. package/dist/customize/connectors/detail/connector-move-row.js +73 -0
  204. package/dist/customize/connectors/detail/connector-notice-view.d.ts +22 -0
  205. package/dist/customize/connectors/detail/connector-notice-view.js +22 -0
  206. package/dist/customize/connectors/detail/connector-notice.d.ts +76 -0
  207. package/dist/customize/connectors/detail/connector-notice.js +79 -0
  208. package/dist/customize/connectors/detail/connector-page-state.d.ts +57 -0
  209. package/dist/customize/connectors/detail/connector-page-state.js +51 -0
  210. package/dist/customize/connectors/detail/connector-page.d.ts +19 -0
  211. package/dist/customize/connectors/detail/connector-page.js +343 -0
  212. package/dist/customize/connectors/detail/connector-settings.d.ts +36 -0
  213. package/dist/customize/connectors/detail/connector-settings.js +81 -0
  214. package/dist/customize/connectors/detail/connector-status.d.ts +20 -0
  215. package/dist/customize/connectors/detail/connector-status.js +42 -0
  216. package/dist/customize/connectors/detail/connector-tabs.d.ts +29 -0
  217. package/dist/customize/connectors/detail/connector-tabs.js +39 -0
  218. package/dist/customize/connectors/detail/connector-tools.d.ts +37 -0
  219. package/dist/customize/connectors/detail/connector-tools.js +224 -0
  220. package/dist/customize/connectors/detail/connector-triggers.d.ts +24 -0
  221. package/dist/customize/connectors/detail/connector-triggers.js +57 -0
  222. package/dist/customize/connectors/detail/detail-page-shell.d.ts +6 -0
  223. package/dist/customize/connectors/detail/detail-page-shell.js +5 -0
  224. package/dist/customize/connectors/detail/find-easy-connect-app.d.ts +29 -0
  225. package/dist/customize/connectors/detail/find-easy-connect-app.js +22 -0
  226. package/dist/customize/connectors/detail/provider-info.d.ts +14 -0
  227. package/dist/customize/connectors/detail/provider-info.js +32 -0
  228. package/dist/customize/connectors/detail/status-badge.d.ts +5 -0
  229. package/dist/customize/connectors/detail/status-badge.js +16 -0
  230. package/dist/customize/connectors/detail/use-connector-detail.d.ts +37 -0
  231. package/dist/customize/connectors/detail/use-connector-detail.js +134 -0
  232. package/dist/customize/connectors/install/install-menu.d.ts +19 -0
  233. package/dist/customize/connectors/install/install-menu.js +14 -0
  234. package/dist/customize/connectors/install/install.d.ts +71 -0
  235. package/dist/customize/connectors/install/install.js +97 -0
  236. package/dist/customize/connectors/install/mcp-first.d.ts +15 -0
  237. package/dist/customize/connectors/install/mcp-first.js +17 -0
  238. package/dist/customize/connectors/install/pick-surface.d.ts +22 -0
  239. package/dist/customize/connectors/install/pick-surface.js +32 -0
  240. package/dist/customize/connectors/install/use-install.d.ts +28 -0
  241. package/dist/customize/connectors/install/use-install.js +126 -0
  242. package/dist/customize/connectors/invalidate-connections.d.ts +2 -0
  243. package/dist/customize/connectors/invalidate-connections.js +4 -0
  244. package/dist/customize/connectors/provider-label.d.ts +20 -0
  245. package/dist/customize/connectors/provider-label.js +41 -0
  246. package/dist/customize/connectors/tools/pattern-rule-draft.d.ts +40 -0
  247. package/dist/customize/connectors/tools/pattern-rule-draft.js +43 -0
  248. package/dist/customize/connectors/tools/tool-groups.d.ts +46 -0
  249. package/dist/customize/connectors/tools/tool-groups.js +55 -0
  250. package/dist/customize/connectors/tools/tool-policy-control.d.ts +30 -0
  251. package/dist/customize/connectors/tools/tool-policy-control.js +47 -0
  252. package/dist/customize/connectors/tools/tool-policy-labels.d.ts +30 -0
  253. package/dist/customize/connectors/tools/tool-policy-labels.js +42 -0
  254. package/dist/customize/connectors/tools/tool-policy.d.ts +83 -0
  255. package/dist/customize/connectors/tools/tool-policy.js +116 -0
  256. package/dist/customize/index.d.ts +13 -0
  257. package/dist/customize/index.js +13 -0
  258. package/dist/customize/migrate-to-v2/index.d.ts +6 -0
  259. package/dist/customize/migrate-to-v2/index.js +6 -0
  260. package/dist/customize/migrate-to-v2/migration-prompt.d.ts +28 -0
  261. package/dist/customize/migrate-to-v2/migration-prompt.js +260 -0
  262. package/dist/customize/migrate-to-v2/upgrade-defs.d.ts +30 -0
  263. package/dist/customize/migrate-to-v2/upgrade-defs.js +42 -0
  264. package/dist/customize/migrate-to-v2/upgrade-view.d.ts +32 -0
  265. package/dist/customize/migrate-to-v2/upgrade-view.js +152 -0
  266. package/dist/customize/migrate-to-v2/use-migrate-to-v2.d.ts +9 -0
  267. package/dist/customize/migrate-to-v2/use-migrate-to-v2.js +24 -0
  268. package/dist/customize/migrate-to-v2/use-run-upgrade.d.ts +18 -0
  269. package/dist/customize/migrate-to-v2/use-run-upgrade.js +16 -0
  270. package/dist/customize/models/app-return-bar.d.ts +20 -0
  271. package/dist/customize/models/app-return-bar.js +42 -0
  272. package/dist/customize/models/app-return.d.ts +8 -0
  273. package/dist/customize/models/app-return.js +11 -0
  274. package/dist/customize/models/models-page.d.ts +28 -0
  275. package/dist/customize/models/models-page.js +35 -0
  276. package/dist/customize/project-settings/project-settings-page.d.ts +106 -0
  277. package/dist/customize/project-settings/project-settings-page.js +286 -0
  278. package/dist/customize/project-settings/project-settings-sections.d.ts +84 -0
  279. package/dist/customize/project-settings/project-settings-sections.js +99 -0
  280. package/dist/customize/providers/provider-accordion.d.ts +54 -0
  281. package/dist/customize/providers/provider-accordion.js +296 -0
  282. package/dist/customize/providers/provider-connect.d.ts +106 -0
  283. package/dist/customize/providers/provider-connect.js +277 -0
  284. package/dist/customize/providers/provider-sheet.d.ts +88 -0
  285. package/dist/customize/providers/provider-sheet.js +301 -0
  286. package/dist/customize/secrets/secrets-page.d.ts +29 -0
  287. package/dist/customize/secrets/secrets-page.js +35 -0
  288. package/dist/customize/sections/add-account-fields.d.ts +39 -0
  289. package/dist/customize/sections/add-account-fields.js +39 -0
  290. package/dist/customize/sections/component/byo-wizard-modal.d.ts +13 -0
  291. package/dist/customize/sections/component/byo-wizard-modal.js +18 -0
  292. package/dist/customize/sections/component/channel-connect-hero.d.ts +27 -0
  293. package/dist/customize/sections/component/channel-connect-hero.js +19 -0
  294. package/dist/customize/sections/component/channel-row.d.ts +29 -0
  295. package/dist/customize/sections/component/channel-row.js +62 -0
  296. package/dist/customize/sections/component/config-entity-source-path.d.ts +1 -0
  297. package/dist/customize/sections/component/config-entity-source-path.js +3 -0
  298. package/dist/customize/sections/component/manifest-copy-block.d.ts +12 -0
  299. package/dist/customize/sections/component/manifest-copy-block.js +81 -0
  300. package/dist/customize/sections/component/section-wrapper.d.ts +32 -0
  301. package/dist/customize/sections/component/section-wrapper.js +52 -0
  302. package/dist/customize/sections/component/slack-byo-wizard.d.ts +5 -0
  303. package/dist/customize/sections/component/slack-byo-wizard.js +120 -0
  304. package/dist/customize/sections/component/slack-connect-card.d.ts +5 -0
  305. package/dist/customize/sections/component/slack-connect-card.js +54 -0
  306. package/dist/customize/sections/component/teams-byo-wizard.d.ts +7 -0
  307. package/dist/customize/sections/component/teams-byo-wizard.js +155 -0
  308. package/dist/customize/sections/component/teams-connect-card.d.ts +6 -0
  309. package/dist/customize/sections/component/teams-connect-card.js +49 -0
  310. package/dist/customize/sections/component/telegram-channel-row.d.ts +6 -0
  311. package/dist/customize/sections/component/telegram-channel-row.js +77 -0
  312. package/dist/customize/sections/connector-connection-form.d.ts +56 -0
  313. package/dist/customize/sections/connector-connection-form.js +148 -0
  314. package/dist/customize/sections/connector-connection-header.d.ts +36 -0
  315. package/dist/customize/sections/connector-connection-header.js +33 -0
  316. package/dist/customize/sections/connector-connection-modal.d.ts +34 -0
  317. package/dist/customize/sections/connector-connection-modal.js +70 -0
  318. package/dist/customize/sections/connector-credential-target.d.ts +29 -0
  319. package/dist/customize/sections/connector-credential-target.js +23 -0
  320. package/dist/customize/sections/connector-oauth2-application-fields.d.ts +6 -0
  321. package/dist/customize/sections/connector-oauth2-application-fields.js +14 -0
  322. package/dist/customize/sections/connector-oauth2-auto.d.ts +45 -0
  323. package/dist/customize/sections/connector-oauth2-auto.js +78 -0
  324. package/dist/customize/sections/connector-oauth2-fields.d.ts +7 -0
  325. package/dist/customize/sections/connector-oauth2-fields.js +14 -0
  326. package/dist/customize/sections/connector-oauth2-scope-fields.d.ts +7 -0
  327. package/dist/customize/sections/connector-oauth2-scope-fields.js +10 -0
  328. package/dist/customize/sections/connector-oauth2-start.d.ts +22 -0
  329. package/dist/customize/sections/connector-oauth2-start.js +40 -0
  330. package/dist/customize/sections/connector-oauth2.d.ts +50 -0
  331. package/dist/customize/sections/connector-oauth2.js +165 -0
  332. package/dist/customize/sections/connectors-view.d.ts +103 -0
  333. package/dist/customize/sections/connectors-view.js +1267 -0
  334. package/dist/customize/sections/discover-catalogue-card.d.ts +19 -0
  335. package/dist/customize/sections/discover-catalogue-card.js +26 -0
  336. package/dist/customize/sections/discover-catalogue-detail.d.ts +15 -0
  337. package/dist/customize/sections/discover-catalogue-detail.js +24 -0
  338. package/dist/customize/sections/discover-catalogue.d.ts +17 -0
  339. package/dist/customize/sections/discover-catalogue.js +132 -0
  340. package/dist/customize/sections/gateway-access-tab.d.ts +6 -0
  341. package/dist/customize/sections/gateway-access-tab.js +66 -0
  342. package/dist/customize/sections/gateway-view.d.ts +176 -0
  343. package/dist/customize/sections/gateway-view.js +244 -0
  344. package/dist/customize/sections/llm-provider/chatgpt-device-challenge.d.ts +6 -0
  345. package/dist/customize/sections/llm-provider/chatgpt-device-challenge.js +11 -0
  346. package/dist/customize/sections/llm-provider/chatgpt-subscription-connect.d.ts +66 -0
  347. package/dist/customize/sections/llm-provider/chatgpt-subscription-connect.js +163 -0
  348. package/dist/customize/sections/llm-provider/constants.d.ts +3 -0
  349. package/dist/customize/sections/llm-provider/constants.js +4 -0
  350. package/dist/customize/sections/llm-provider/custom-provider-form.d.ts +16 -0
  351. package/dist/customize/sections/llm-provider/custom-provider-form.js +114 -0
  352. package/dist/customize/sections/llm-provider/custom-provider-panel.d.ts +12 -0
  353. package/dist/customize/sections/llm-provider/custom-provider-panel.js +179 -0
  354. package/dist/customize/sections/llm-provider/device-grant.d.ts +15 -0
  355. package/dist/customize/sections/llm-provider/device-grant.js +53 -0
  356. package/dist/customize/sections/llm-provider/llm-provider-modal.d.ts +3 -0
  357. package/dist/customize/sections/llm-provider/llm-provider-modal.js +86 -0
  358. package/dist/customize/sections/llm-provider/model-capability-icons.d.ts +13 -0
  359. package/dist/customize/sections/llm-provider/model-capability-icons.js +23 -0
  360. package/dist/customize/sections/llm-provider/model-rows.d.ts +23 -0
  361. package/dist/customize/sections/llm-provider/model-rows.js +73 -0
  362. package/dist/customize/sections/llm-provider/models-tab-group.d.ts +6 -0
  363. package/dist/customize/sections/llm-provider/models-tab-group.js +36 -0
  364. package/dist/customize/sections/llm-provider/models-tab-row.d.ts +28 -0
  365. package/dist/customize/sections/llm-provider/models-tab-row.js +109 -0
  366. package/dist/customize/sections/llm-provider/models-tab.d.ts +13 -0
  367. package/dist/customize/sections/llm-provider/models-tab.js +94 -0
  368. package/dist/customize/sections/llm-provider/provider-access-menu.d.ts +10 -0
  369. package/dist/customize/sections/llm-provider/provider-access-menu.js +23 -0
  370. package/dist/customize/sections/llm-provider/provider-loading-state.d.ts +10 -0
  371. package/dist/customize/sections/llm-provider/provider-loading-state.js +3 -0
  372. package/dist/customize/sections/llm-provider/subscription-control.d.ts +42 -0
  373. package/dist/customize/sections/llm-provider/subscription-control.js +42 -0
  374. package/dist/customize/sections/llm-provider/types.d.ts +43 -0
  375. package/dist/customize/sections/llm-provider/types.js +1 -0
  376. package/dist/customize/sections/llm-provider/use-connected-providers.d.ts +6 -0
  377. package/dist/customize/sections/llm-provider/use-connected-providers.js +70 -0
  378. package/dist/customize/sections/llm-provider/use-live-catalog.d.ts +23 -0
  379. package/dist/customize/sections/llm-provider/use-live-catalog.js +44 -0
  380. package/dist/customize/sections/llm-provider/utils.d.ts +141 -0
  381. package/dist/customize/sections/llm-provider/utils.js +276 -0
  382. package/dist/customize/sections/models-page-sheet.d.ts +24 -0
  383. package/dist/customize/sections/models-page-sheet.js +34 -0
  384. package/dist/customize/sections/use-add-request.d.ts +11 -0
  385. package/dist/customize/sections/use-add-request.js +23 -0
  386. package/dist/customize/sections/use-create-custom-connector.d.ts +19 -0
  387. package/dist/customize/sections/use-create-custom-connector.js +36 -0
  388. package/dist/customize/sections/view/account-secret-resources-panel.d.ts +18 -0
  389. package/dist/customize/sections/view/account-secret-resources-panel.js +295 -0
  390. package/dist/customize/sections/view/agent-editor-access-fields.d.ts +63 -0
  391. package/dist/customize/sections/view/agent-editor-access-fields.js +129 -0
  392. package/dist/customize/sections/view/agent-editor-basics-fields.d.ts +37 -0
  393. package/dist/customize/sections/view/agent-editor-basics-fields.js +102 -0
  394. package/dist/customize/sections/view/agent-editor-catalog.d.ts +64 -0
  395. package/dist/customize/sections/view/agent-editor-catalog.js +234 -0
  396. package/dist/customize/sections/view/agent-editor-primitives.d.ts +73 -0
  397. package/dist/customize/sections/view/agent-editor-primitives.js +66 -0
  398. package/dist/customize/sections/view/agent-editor.d.ts +330 -0
  399. package/dist/customize/sections/view/agent-editor.js +358 -0
  400. package/dist/customize/sections/view/audience-badge.d.ts +18 -0
  401. package/dist/customize/sections/view/audience-badge.js +40 -0
  402. package/dist/customize/sections/view/channel-binding-tabs.d.ts +9 -0
  403. package/dist/customize/sections/view/channel-binding-tabs.js +14 -0
  404. package/dist/customize/sections/view/channel-settings-patch.d.ts +19 -0
  405. package/dist/customize/sections/view/channel-settings-patch.js +19 -0
  406. package/dist/customize/sections/view/channels-view.d.ts +3 -0
  407. package/dist/customize/sections/view/channels-view.js +611 -0
  408. package/dist/customize/sections/view/connector-connections.d.ts +87 -0
  409. package/dist/customize/sections/view/connector-connections.js +101 -0
  410. package/dist/customize/sections/view/connectors-personal.d.ts +13 -0
  411. package/dist/customize/sections/view/connectors-personal.js +22 -0
  412. package/dist/customize/sections/view/gateway/_metrics.d.ts +101 -0
  413. package/dist/customize/sections/view/gateway/_metrics.js +99 -0
  414. package/dist/customize/sections/view/gateway/_shared.d.ts +35 -0
  415. package/dist/customize/sections/view/gateway/_shared.js +50 -0
  416. package/dist/customize/sections/view/gateway/gateway-api-reference.d.ts +27 -0
  417. package/dist/customize/sections/view/gateway/gateway-api-reference.js +173 -0
  418. package/dist/customize/sections/view/gateway/gateway-budgets.d.ts +38 -0
  419. package/dist/customize/sections/view/gateway/gateway-budgets.js +270 -0
  420. package/dist/customize/sections/view/gateway/gateway-keys.d.ts +24 -0
  421. package/dist/customize/sections/view/gateway/gateway-keys.js +133 -0
  422. package/dist/customize/sections/view/gateway/gateway-logs.d.ts +111 -0
  423. package/dist/customize/sections/view/gateway/gateway-logs.js +500 -0
  424. package/dist/customize/sections/view/gateway/gateway-overview.d.ts +31 -0
  425. package/dist/customize/sections/view/gateway/gateway-overview.js +189 -0
  426. package/dist/customize/sections/view/gateway/gateway-routing.d.ts +30 -0
  427. package/dist/customize/sections/view/gateway/gateway-routing.js +500 -0
  428. package/dist/customize/sections/view/gateway/generation-controls.d.ts +22 -0
  429. package/dist/customize/sections/view/gateway/generation-controls.js +60 -0
  430. package/dist/customize/sections/view/git-view-helpers.d.ts +65 -0
  431. package/dist/customize/sections/view/git-view-helpers.js +81 -0
  432. package/dist/customize/sections/view/git-view.d.ts +38 -0
  433. package/dist/customize/sections/view/git-view.js +510 -0
  434. package/dist/customize/sections/view/grant-mode-field.d.ts +54 -0
  435. package/dist/customize/sections/view/grant-mode-field.js +97 -0
  436. package/dist/customize/sections/view/permission-editor.d.ts +13 -0
  437. package/dist/customize/sections/view/permission-editor.js +117 -0
  438. package/dist/customize/sections/view/review-center-connected.d.ts +3 -0
  439. package/dist/customize/sections/view/review-center-connected.js +250 -0
  440. package/dist/customize/sections/view/review-view.d.ts +8 -0
  441. package/dist/customize/sections/view/review-view.js +19 -0
  442. package/dist/customize/sections/view/sandbox-provider-coverage.d.ts +52 -0
  443. package/dist/customize/sections/view/sandbox-provider-coverage.js +85 -0
  444. package/dist/customize/sections/view/sandbox-provider-result.d.ts +47 -0
  445. package/dist/customize/sections/view/sandbox-provider-result.js +79 -0
  446. package/dist/customize/sections/view/secret-audience.d.ts +12 -0
  447. package/dist/customize/sections/view/secret-audience.js +42 -0
  448. package/dist/customize/sections/view/secret-delivery.d.ts +449 -0
  449. package/dist/customize/sections/view/secret-delivery.js +720 -0
  450. package/dist/customize/sections/view/secret-optimistic-cache.d.ts +19 -0
  451. package/dist/customize/sections/view/secret-optimistic-cache.js +60 -0
  452. package/dist/customize/sections/view/secrets-view.d.ts +60 -0
  453. package/dist/customize/sections/view/secrets-view.js +699 -0
  454. package/dist/customize/sections/view/undecryptable-value.d.ts +13 -0
  455. package/dist/customize/sections/view/undecryptable-value.js +18 -0
  456. package/dist/customize/settings/rail-copy-context.d.ts +20 -0
  457. package/dist/customize/settings/rail-copy-context.js +29 -0
  458. package/dist/customize/settings/rail.d.ts +51 -0
  459. package/dist/customize/settings/rail.js +246 -0
  460. package/dist/customize/settings/settings-tab-header.d.ts +30 -0
  461. package/dist/customize/settings/settings-tab-header.js +42 -0
  462. package/dist/customize/settings/settings-tabs.d.ts +121 -0
  463. package/dist/customize/settings/settings-tabs.js +353 -0
  464. package/dist/customize/settings/tabs/connected-apps.d.ts +13 -0
  465. package/dist/customize/settings/tabs/connected-apps.js +85 -0
  466. package/dist/customize/settings/tabs/experimental-tab.d.ts +110 -0
  467. package/dist/customize/settings/tabs/experimental-tab.js +277 -0
  468. package/dist/customize/settings/tabs/fact-cell.d.ts +10 -0
  469. package/dist/customize/settings/tabs/fact-cell.js +5 -0
  470. package/dist/customize/settings/tabs/general-tab.d.ts +102 -0
  471. package/dist/customize/settings/tabs/general-tab.js +290 -0
  472. package/dist/customize/settings/tabs/project-edit-patch.d.ts +83 -0
  473. package/dist/customize/settings/tabs/project-edit-patch.js +76 -0
  474. package/dist/customize/settings/tabs/sandbox-tab.d.ts +123 -0
  475. package/dist/customize/settings/tabs/sandbox-tab.js +338 -0
  476. package/dist/customize/settings/tabs/sandbox-template-form.d.ts +9 -0
  477. package/dist/customize/settings/tabs/sandbox-template-form.js +162 -0
  478. package/dist/customize/settings/tabs/snapshots-query.d.ts +11 -0
  479. package/dist/customize/settings/tabs/snapshots-query.js +16 -0
  480. package/dist/customize/settings/tabs/snapshots-tab.d.ts +142 -0
  481. package/dist/customize/settings/tabs/snapshots-tab.js +358 -0
  482. package/dist/customize/settings/tabs/tokens-tab.d.ts +32 -0
  483. package/dist/customize/settings/tabs/tokens-tab.js +418 -0
  484. package/dist/customize/settings/type.d.ts +42 -0
  485. package/dist/customize/settings/type.js +1 -0
  486. package/dist/customize/shared/app-return-url.d.ts +7 -0
  487. package/dist/customize/shared/app-return-url.js +36 -0
  488. package/dist/customize/shared/capability-access-gate.d.ts +19 -0
  489. package/dist/customize/shared/capability-access-gate.js +52 -0
  490. package/dist/customize/shared/capability-page-shell.d.ts +43 -0
  491. package/dist/customize/shared/capability-page-shell.js +26 -0
  492. package/dist/customize/shared/capability-scroll-root.d.ts +12 -0
  493. package/dist/customize/shared/capability-scroll-root.js +43 -0
  494. package/dist/customize/shared/capability-skeleton.d.ts +14 -0
  495. package/dist/customize/shared/capability-skeleton.js +19 -0
  496. package/dist/customize/shared/capability-tabs.d.ts +3 -0
  497. package/dist/customize/shared/capability-tabs.js +136 -0
  498. package/dist/customize/shared/catalog/catalog-card.d.ts +45 -0
  499. package/dist/customize/shared/catalog/catalog-card.js +31 -0
  500. package/dist/customize/shared/catalog/catalog-empty-state.d.ts +31 -0
  501. package/dist/customize/shared/catalog/catalog-empty-state.js +22 -0
  502. package/dist/customize/shared/catalog/catalog-empty.d.ts +18 -0
  503. package/dist/customize/shared/catalog/catalog-empty.js +22 -0
  504. package/dist/customize/shared/catalog/catalog-error.d.ts +9 -0
  505. package/dist/customize/shared/catalog/catalog-error.js +65 -0
  506. package/dist/customize/shared/catalog/catalog-grid-tokens.d.ts +58 -0
  507. package/dist/customize/shared/catalog/catalog-grid-tokens.js +58 -0
  508. package/dist/customize/shared/catalog/catalog-grid.d.ts +53 -0
  509. package/dist/customize/shared/catalog/catalog-grid.js +66 -0
  510. package/dist/customize/shared/detail-selection.d.ts +54 -0
  511. package/dist/customize/shared/detail-selection.js +11 -0
  512. package/dist/customize/shared/entity/entity-files.d.ts +26 -0
  513. package/dist/customize/shared/entity/entity-files.js +121 -0
  514. package/dist/customize/shared/entity/entity-modal.d.ts +58 -0
  515. package/dist/customize/shared/entity/entity-modal.js +144 -0
  516. package/dist/customize/shared/feature-gate-screen.d.ts +11 -0
  517. package/dist/customize/shared/feature-gate-screen.js +44 -0
  518. package/dist/customize/shared/new-entity-menu.d.ts +61 -0
  519. package/dist/customize/shared/new-entity-menu.js +41 -0
  520. package/dist/customize/shared/standalone-settings-nav.d.ts +38 -0
  521. package/dist/customize/shared/standalone-settings-nav.js +129 -0
  522. package/dist/customize/shared/use-customize-prefetch.d.ts +67 -0
  523. package/dist/customize/shared/use-customize-prefetch.js +231 -0
  524. package/dist/customize/shared/utils.d.ts +21 -0
  525. package/dist/customize/shared/utils.js +23 -0
  526. package/dist/customize/shared/with-search.d.ts +2 -0
  527. package/dist/customize/shared/with-search.js +10 -0
  528. package/dist/customize/skills/new-skill-modal.d.ts +12 -0
  529. package/dist/customize/skills/new-skill-modal.js +57 -0
  530. package/dist/customize/skills/skill-scope.d.ts +14 -0
  531. package/dist/customize/skills/skill-scope.js +18 -0
  532. package/dist/customize/skills/skills-page.d.ts +22 -0
  533. package/dist/customize/skills/skills-page.js +117 -0
  534. package/dist/customize/triggers/schedule/composer-parts.d.ts +12 -0
  535. package/dist/customize/triggers/schedule/composer-parts.js +16 -0
  536. package/dist/customize/triggers/schedule/event-account-picker.d.ts +16 -0
  537. package/dist/customize/triggers/schedule/event-account-picker.js +82 -0
  538. package/dist/customize/triggers/schedule/event-apps-strip.d.ts +7 -0
  539. package/dist/customize/triggers/schedule/event-apps-strip.js +21 -0
  540. package/dist/customize/triggers/schedule/event-check-times.d.ts +11 -0
  541. package/dist/customize/triggers/schedule/event-check-times.js +41 -0
  542. package/dist/customize/triggers/schedule/event-count.d.ts +5 -0
  543. package/dist/customize/triggers/schedule/event-count.js +11 -0
  544. package/dist/customize/triggers/schedule/event-trigger-copy.d.ts +176 -0
  545. package/dist/customize/triggers/schedule/event-trigger-copy.js +451 -0
  546. package/dist/customize/triggers/schedule/event-trigger-fields.d.ts +17 -0
  547. package/dist/customize/triggers/schedule/event-trigger-fields.js +47 -0
  548. package/dist/customize/triggers/schedule/schedule-builder.d.ts +25 -0
  549. package/dist/customize/triggers/schedule/schedule-builder.js +284 -0
  550. package/dist/customize/triggers/schedule/schedule-copy.d.ts +139 -0
  551. package/dist/customize/triggers/schedule/schedule-copy.js +368 -0
  552. package/dist/customize/triggers/schedule/schedule-detail-sheet.d.ts +37 -0
  553. package/dist/customize/triggers/schedule/schedule-detail-sheet.js +287 -0
  554. package/dist/customize/triggers/schedule/schedule-fields.d.ts +97 -0
  555. package/dist/customize/triggers/schedule/schedule-fields.js +172 -0
  556. package/dist/customize/triggers/schedule/then-fields.d.ts +12 -0
  557. package/dist/customize/triggers/schedule/then-fields.js +36 -0
  558. package/dist/customize/triggers/schedule/trigger-callouts.d.ts +12 -0
  559. package/dist/customize/triggers/schedule/trigger-callouts.js +34 -0
  560. package/dist/customize/triggers/schedule/trigger-composer-logic.d.ts +149 -0
  561. package/dist/customize/triggers/schedule/trigger-composer-logic.js +252 -0
  562. package/dist/customize/triggers/schedule/trigger-composer.d.ts +24 -0
  563. package/dist/customize/triggers/schedule/trigger-composer.js +273 -0
  564. package/dist/customize/triggers/schedule/trigger-controls.d.ts +3 -0
  565. package/dist/customize/triggers/schedule/trigger-controls.js +19 -0
  566. package/dist/customize/triggers/schedule/trigger-edit-logic.d.ts +18 -0
  567. package/dist/customize/triggers/schedule/trigger-edit-logic.js +133 -0
  568. package/dist/customize/triggers/schedule/trigger-filter.d.ts +54 -0
  569. package/dist/customize/triggers/schedule/trigger-filter.js +77 -0
  570. package/dist/customize/triggers/schedule/trigger-list.d.ts +28 -0
  571. package/dist/customize/triggers/schedule/trigger-list.js +87 -0
  572. package/dist/customize/triggers/schedule/trigger-options.d.ts +14 -0
  573. package/dist/customize/triggers/schedule/trigger-options.js +38 -0
  574. package/dist/customize/triggers/schedule/trigger-readonly.d.ts +8 -0
  575. package/dist/customize/triggers/schedule/trigger-readonly.js +51 -0
  576. package/dist/customize/triggers/schedule/trigger-runs-histogram.d.ts +14 -0
  577. package/dist/customize/triggers/schedule/trigger-runs-histogram.js +68 -0
  578. package/dist/customize/triggers/schedule/trigger-runs-logic.d.ts +49 -0
  579. package/dist/customize/triggers/schedule/trigger-runs-logic.js +90 -0
  580. package/dist/customize/triggers/schedule/trigger-runs-panel.d.ts +32 -0
  581. package/dist/customize/triggers/schedule/trigger-runs-panel.js +216 -0
  582. package/dist/customize/triggers/schedule/trigger-selection-bar.d.ts +22 -0
  583. package/dist/customize/triggers/schedule/trigger-selection-bar.js +47 -0
  584. package/dist/customize/triggers/schedule/trigger-selection.d.ts +33 -0
  585. package/dist/customize/triggers/schedule/trigger-selection.js +42 -0
  586. package/dist/customize/triggers/schedule/trigger-session-access-copy.d.ts +46 -0
  587. package/dist/customize/triggers/schedule/trigger-session-access-copy.js +35 -0
  588. package/dist/customize/triggers/schedule/trigger-status-badge.d.ts +13 -0
  589. package/dist/customize/triggers/schedule/trigger-status-badge.js +34 -0
  590. package/dist/customize/triggers/schedule/trigger-test-dialog.d.ts +7 -0
  591. package/dist/customize/triggers/schedule/trigger-test-dialog.js +61 -0
  592. package/dist/customize/triggers/schedule/trigger-tile.d.ts +51 -0
  593. package/dist/customize/triggers/schedule/trigger-tile.js +67 -0
  594. package/dist/customize/triggers/schedule/trigger-toast.d.ts +15 -0
  595. package/dist/customize/triggers/schedule/trigger-toast.js +50 -0
  596. package/dist/customize/triggers/schedule/use-event-app-connect.d.ts +8 -0
  597. package/dist/customize/triggers/schedule/use-event-app-connect.js +205 -0
  598. package/dist/customize/triggers/schedule/use-event-titles.d.ts +11 -0
  599. package/dist/customize/triggers/schedule/use-event-titles.js +28 -0
  600. package/dist/customize/triggers/schedule/use-trigger-mutations.d.ts +33 -0
  601. package/dist/customize/triggers/schedule/use-trigger-mutations.js +67 -0
  602. package/dist/customize/triggers/schedule/when-event-summary.d.ts +13 -0
  603. package/dist/customize/triggers/schedule/when-event-summary.js +28 -0
  604. package/dist/customize/triggers/schedule/when-event.d.ts +18 -0
  605. package/dist/customize/triggers/schedule/when-event.js +162 -0
  606. package/dist/customize/triggers/schedule/when-schedule.d.ts +8 -0
  607. package/dist/customize/triggers/schedule/when-schedule.js +11 -0
  608. package/dist/customize/triggers/schedule/when-webhook-address.d.ts +10 -0
  609. package/dist/customize/triggers/schedule/when-webhook-address.js +20 -0
  610. package/dist/customize/triggers/schedule/when-webhook.d.ts +8 -0
  611. package/dist/customize/triggers/schedule/when-webhook.js +16 -0
  612. package/dist/customize/triggers/schedule-view.d.ts +56 -0
  613. package/dist/customize/triggers/schedule-view.js +421 -0
  614. package/dist/customize/triggers/triggers-page.d.ts +21 -0
  615. package/dist/customize/triggers/triggers-page.js +24 -0
  616. package/dist/customize/use-configure-thread.d.ts +15 -0
  617. package/dist/customize/use-configure-thread.js +47 -0
  618. package/dist/diff/diff-view.d.ts +49 -0
  619. package/dist/diff/diff-view.js +61 -0
  620. package/dist/diff/index.d.ts +4 -0
  621. package/dist/diff/index.js +4 -0
  622. package/dist/files/drives/session-drives-chip.d.ts +19 -0
  623. package/dist/files/drives/session-drives-chip.js +71 -0
  624. package/dist/files/drives/use-drives.d.ts +10 -0
  625. package/dist/files/drives/use-drives.js +32 -0
  626. package/dist/files/editor/code-editor.d.ts +28 -0
  627. package/dist/files/editor/code-editor.js +518 -0
  628. package/dist/files/editor/codemirror-diagnostics.d.ts +29 -0
  629. package/dist/files/editor/codemirror-diagnostics.js +243 -0
  630. package/dist/files/editor/external-content.d.ts +19 -0
  631. package/dist/files/editor/external-content.js +17 -0
  632. package/dist/files/editor/lazy-code-editor.d.ts +9 -0
  633. package/dist/files/editor/lazy-code-editor.js +14 -0
  634. package/dist/files/editor/target-line.d.ts +9 -0
  635. package/dist/files/editor/target-line.js +35 -0
  636. package/dist/files/file-preview-dialog.d.ts +2 -0
  637. package/dist/files/file-preview-dialog.js +43 -0
  638. package/dist/files/file-preview-host.d.ts +5 -0
  639. package/dist/files/file-preview-host.js +18 -0
  640. package/dist/files/index.d.ts +23 -0
  641. package/dist/files/index.js +23 -0
  642. package/dist/files/project/api/branches.d.ts +8 -0
  643. package/dist/files/project/api/branches.js +10 -0
  644. package/dist/files/project/api/change-requests.d.ts +36 -0
  645. package/dist/files/project/api/change-requests.js +42 -0
  646. package/dist/files/project/api/commits.d.ts +15 -0
  647. package/dist/files/project/api/commits.js +14 -0
  648. package/dist/files/project/api/git-history.d.ts +14 -0
  649. package/dist/files/project/api/git-history.js +63 -0
  650. package/dist/files/project/api/runtime-files.d.ts +103 -0
  651. package/dist/files/project/api/runtime-files.js +289 -0
  652. package/dist/files/project/change-request-recovery.d.ts +26 -0
  653. package/dist/files/project/change-request-recovery.js +59 -0
  654. package/dist/files/project/components/change-request-detail-dialog.d.ts +13 -0
  655. package/dist/files/project/components/change-request-detail-dialog.js +187 -0
  656. package/dist/files/project/components/change-requests-panel.d.ts +14 -0
  657. package/dist/files/project/components/change-requests-panel.js +94 -0
  658. package/dist/files/project/components/checkpoint-detail-dialog.d.ts +11 -0
  659. package/dist/files/project/components/checkpoint-detail-dialog.js +201 -0
  660. package/dist/files/project/components/checkpoints-panel.d.ts +18 -0
  661. package/dist/files/project/components/checkpoints-panel.js +76 -0
  662. package/dist/files/project/components/diff-preview-banner.d.ts +30 -0
  663. package/dist/files/project/components/diff-preview-banner.js +45 -0
  664. package/dist/files/project/components/diff-renderer.d.ts +19 -0
  665. package/dist/files/project/components/diff-renderer.js +14 -0
  666. package/dist/files/project/components/drive-create-dialog.d.ts +26 -0
  667. package/dist/files/project/components/drive-create-dialog.js +52 -0
  668. package/dist/files/project/components/drive-empty-art.d.ts +2 -0
  669. package/dist/files/project/components/drive-empty-art.js +5 -0
  670. package/dist/files/project/components/drive-explorer.d.ts +84 -0
  671. package/dist/files/project/components/drive-explorer.js +1055 -0
  672. package/dist/files/project/components/drive-folder-thumbnail.d.ts +27 -0
  673. package/dist/files/project/components/drive-folder-thumbnail.js +63 -0
  674. package/dist/files/project/components/drive-grid-view.d.ts +72 -0
  675. package/dist/files/project/components/drive-grid-view.js +133 -0
  676. package/dist/files/project/components/drive-header.d.ts +61 -0
  677. package/dist/files/project/components/drive-header.js +75 -0
  678. package/dist/files/project/components/drive-list-view.d.ts +37 -0
  679. package/dist/files/project/components/drive-list-view.js +128 -0
  680. package/dist/files/project/components/drive-rename-dialog.d.ts +19 -0
  681. package/dist/files/project/components/drive-rename-dialog.js +57 -0
  682. package/dist/files/project/components/drive-selection-bar.d.ts +22 -0
  683. package/dist/files/project/components/drive-selection-bar.js +30 -0
  684. package/dist/files/project/components/drive-selection-ui.d.ts +18 -0
  685. package/dist/files/project/components/drive-selection-ui.js +17 -0
  686. package/dist/files/project/components/drive-selection.d.ts +68 -0
  687. package/dist/files/project/components/drive-selection.js +73 -0
  688. package/dist/files/project/components/drive-toolbar.d.ts +121 -0
  689. package/dist/files/project/components/drive-toolbar.js +185 -0
  690. package/dist/files/project/components/drive-upload-tray.d.ts +9 -0
  691. package/dist/files/project/components/drive-upload-tray.js +74 -0
  692. package/dist/files/project/components/file-breadcrumbs.d.ts +23 -0
  693. package/dist/files/project/components/file-breadcrumbs.js +147 -0
  694. package/dist/files/project/components/file-content-renderer.d.ts +5 -0
  695. package/dist/files/project/components/file-content-renderer.js +11 -0
  696. package/dist/files/project/components/file-explorer-page.d.ts +11 -0
  697. package/dist/files/project/components/file-explorer-page.js +367 -0
  698. package/dist/files/project/components/file-history-popover.d.ts +6 -0
  699. package/dist/files/project/components/file-history-popover.js +103 -0
  700. package/dist/files/project/components/file-icon.d.ts +16 -0
  701. package/dist/files/project/components/file-icon.js +203 -0
  702. package/dist/files/project/components/file-preview-modal.d.ts +14 -0
  703. package/dist/files/project/components/file-preview-modal.js +46 -0
  704. package/dist/files/project/components/file-route-state.d.ts +2 -0
  705. package/dist/files/project/components/file-route-state.js +3 -0
  706. package/dist/files/project/components/file-search.d.ts +1 -0
  707. package/dist/files/project/components/file-search.js +135 -0
  708. package/dist/files/project/components/file-thumbnail.d.ts +28 -0
  709. package/dist/files/project/components/file-thumbnail.js +81 -0
  710. package/dist/files/project/components/index.d.ts +18 -0
  711. package/dist/files/project/components/index.js +17 -0
  712. package/dist/files/project/components/load-more-row.d.ts +18 -0
  713. package/dist/files/project/components/load-more-row.js +35 -0
  714. package/dist/files/project/components/open-change-request-dialog.d.ts +12 -0
  715. package/dist/files/project/components/open-change-request-dialog.js +129 -0
  716. package/dist/files/project/components/own-clicks.d.ts +12 -0
  717. package/dist/files/project/components/own-clicks.js +20 -0
  718. package/dist/files/project/components/review-panel.d.ts +73 -0
  719. package/dist/files/project/components/review-panel.js +72 -0
  720. package/dist/files/project/components/use-drive-row-interactions.d.ts +27 -0
  721. package/dist/files/project/components/use-drive-row-interactions.js +121 -0
  722. package/dist/files/project/components/version-selector.d.ts +1 -0
  723. package/dist/files/project/components/version-selector.js +66 -0
  724. package/dist/files/project/context.d.ts +32 -0
  725. package/dist/files/project/context.js +38 -0
  726. package/dist/files/project/drop-tree.d.ts +34 -0
  727. package/dist/files/project/drop-tree.js +63 -0
  728. package/dist/files/project/explorer-source.d.ts +163 -0
  729. package/dist/files/project/explorer-source.js +14 -0
  730. package/dist/files/project/file-source.d.ts +11 -0
  731. package/dist/files/project/file-source.js +30 -0
  732. package/dist/files/project/git-ref-explorer-source.d.ts +6 -0
  733. package/dist/files/project/git-ref-explorer-source.js +50 -0
  734. package/dist/files/project/hooks/index.d.ts +14 -0
  735. package/dist/files/project/hooks/index.js +24 -0
  736. package/dist/files/project/hooks/use-binary-blob.d.ts +26 -0
  737. package/dist/files/project/hooks/use-binary-blob.js +72 -0
  738. package/dist/files/project/hooks/use-branches.d.ts +14 -0
  739. package/dist/files/project/hooks/use-branches.js +23 -0
  740. package/dist/files/project/hooks/use-change-request-recovery.d.ts +5 -0
  741. package/dist/files/project/hooks/use-change-request-recovery.js +53 -0
  742. package/dist/files/project/hooks/use-change-requests.d.ts +140 -0
  743. package/dist/files/project/hooks/use-change-requests.js +298 -0
  744. package/dist/files/project/hooks/use-commits.d.ts +30 -0
  745. package/dist/files/project/hooks/use-commits.js +57 -0
  746. package/dist/files/project/hooks/use-directory-download.d.ts +10 -0
  747. package/dist/files/project/hooks/use-directory-download.js +46 -0
  748. package/dist/files/project/hooks/use-file-content.d.ts +13 -0
  749. package/dist/files/project/hooks/use-file-content.js +52 -0
  750. package/dist/files/project/hooks/use-file-history.d.ts +31 -0
  751. package/dist/files/project/hooks/use-file-history.js +55 -0
  752. package/dist/files/project/hooks/use-file-list.d.ts +39 -0
  753. package/dist/files/project/hooks/use-file-list.js +83 -0
  754. package/dist/files/project/hooks/use-file-mutations.d.ts +22 -0
  755. package/dist/files/project/hooks/use-file-mutations.js +46 -0
  756. package/dist/files/project/hooks/use-file-search.d.ts +23 -0
  757. package/dist/files/project/hooks/use-file-search.js +54 -0
  758. package/dist/files/project/hooks/use-git-status.d.ts +21 -0
  759. package/dist/files/project/hooks/use-git-status.js +36 -0
  760. package/dist/files/project/hooks/use-server-health.d.ts +27 -0
  761. package/dist/files/project/hooks/use-server-health.js +36 -0
  762. package/dist/files/project/index.d.ts +20 -0
  763. package/dist/files/project/index.js +32 -0
  764. package/dist/files/project/search/workspace-search-service.d.ts +18 -0
  765. package/dist/files/project/search/workspace-search-service.js +19 -0
  766. package/dist/files/project/store/upload-store.d.ts +25 -0
  767. package/dist/files/project/store/upload-store.js +16 -0
  768. package/dist/files/project/store/version-store.d.ts +19 -0
  769. package/dist/files/project/store/version-store.js +25 -0
  770. package/dist/files/project/upload-batch.d.ts +92 -0
  771. package/dist/files/project/upload-batch.js +105 -0
  772. package/dist/files/renderers/csv/csv-copy.d.ts +8 -0
  773. package/dist/files/renderers/csv/csv-copy.js +36 -0
  774. package/dist/files/renderers/csv/csv-renderer.d.ts +15 -0
  775. package/dist/files/renderers/csv/csv-renderer.js +18 -0
  776. package/dist/files/renderers/csv/csv-viewer.d.ts +18 -0
  777. package/dist/files/renderers/csv/csv-viewer.js +342 -0
  778. package/dist/files/renderers/docx/docx-annotation-card.d.ts +4 -0
  779. package/dist/files/renderers/docx/docx-annotation-card.js +62 -0
  780. package/dist/files/renderers/docx/docx-renderer.d.ts +38 -0
  781. package/dist/files/renderers/docx/docx-renderer.js +49 -0
  782. package/dist/files/renderers/docx/docx-viewer.d.ts +13 -0
  783. package/dist/files/renderers/docx/docx-viewer.js +621 -0
  784. package/dist/files/renderers/image-renderer.d.ts +29 -0
  785. package/dist/files/renderers/image-renderer.js +285 -0
  786. package/dist/files/renderers/mermaid/mermaid-diagram.d.ts +10 -0
  787. package/dist/files/renderers/mermaid/mermaid-diagram.js +159 -0
  788. package/dist/files/renderers/mermaid/mermaid-utils.d.ts +44 -0
  789. package/dist/files/renderers/mermaid/mermaid-utils.js +119 -0
  790. package/dist/files/renderers/pdf/pdf-engine-loader.d.ts +2 -0
  791. package/dist/files/renderers/pdf/pdf-engine-loader.js +15 -0
  792. package/dist/files/renderers/pdf/pdf-renderer.d.ts +21 -0
  793. package/dist/files/renderers/pdf/pdf-renderer.js +54 -0
  794. package/dist/files/renderers/pdf/pdf-viewer.d.ts +83 -0
  795. package/dist/files/renderers/pdf/pdf-viewer.js +1352 -0
  796. package/dist/files/renderers/pptx-i18n.d.ts +2 -0
  797. package/dist/files/renderers/pptx-i18n.js +33 -0
  798. package/dist/files/renderers/pptx-renderer.d.ts +26 -0
  799. package/dist/files/renderers/pptx-renderer.js +153 -0
  800. package/dist/files/renderers/pptx-viewer.css +147 -0
  801. package/dist/files/renderers/presentation/FullScreenPresentationViewer.d.ts +10 -0
  802. package/dist/files/renderers/presentation/FullScreenPresentationViewer.js +337 -0
  803. package/dist/files/renderers/presentation/presentation-utils.d.ts +20 -0
  804. package/dist/files/renderers/presentation/presentation-utils.js +53 -0
  805. package/dist/files/renderers/presentation/presentation-viewer-store.d.ts +27 -0
  806. package/dist/files/renderers/presentation/presentation-viewer-store.js +37 -0
  807. package/dist/files/renderers/shared/document-viewer-sidebar.d.ts +15 -0
  808. package/dist/files/renderers/shared/document-viewer-sidebar.js +61 -0
  809. package/dist/files/renderers/shared/file-thumbnail.d.ts +17 -0
  810. package/dist/files/renderers/shared/file-thumbnail.js +71 -0
  811. package/dist/files/renderers/shared/scroll-area-compat.d.ts +45 -0
  812. package/dist/files/renderers/shared/scroll-area-compat.js +41 -0
  813. package/dist/files/renderers/shared/select-compat.d.ts +11 -0
  814. package/dist/files/renderers/shared/select-compat.js +19 -0
  815. package/dist/files/renderers/shared/spinner.d.ts +3 -0
  816. package/dist/files/renderers/shared/spinner.js +7 -0
  817. package/dist/files/renderers/shared/use-viewer-search.d.ts +13 -0
  818. package/dist/files/renderers/shared/use-viewer-search.js +86 -0
  819. package/dist/files/renderers/shared/viewer-copy-menu.d.ts +9 -0
  820. package/dist/files/renderers/shared/viewer-copy-menu.js +16 -0
  821. package/dist/files/renderers/shared/viewer-download-button.d.ts +10 -0
  822. package/dist/files/renderers/shared/viewer-download-button.js +27 -0
  823. package/dist/files/renderers/shared/viewer-file-name.d.ts +11 -0
  824. package/dist/files/renderers/shared/viewer-file-name.js +16 -0
  825. package/dist/files/renderers/shared/viewer-frame.d.ts +6 -0
  826. package/dist/files/renderers/shared/viewer-frame.js +26 -0
  827. package/dist/files/renderers/show-content-renderer.d.ts +116 -0
  828. package/dist/files/renderers/show-content-renderer.js +707 -0
  829. package/dist/files/renderers/show-type-utils.d.ts +45 -0
  830. package/dist/files/renderers/show-type-utils.js +85 -0
  831. package/dist/files/renderers/sqlite-renderer.d.ts +14 -0
  832. package/dist/files/renderers/sqlite-renderer.js +727 -0
  833. package/dist/files/renderers/video-renderer.d.ts +14 -0
  834. package/dist/files/renderers/video-renderer.js +181 -0
  835. package/dist/files/renderers/xlsx/xlsx-renderer.d.ts +25 -0
  836. package/dist/files/renderers/xlsx/xlsx-renderer.js +72 -0
  837. package/dist/files/renderers/xlsx/xlsx-viewer.d.ts +39 -0
  838. package/dist/files/renderers/xlsx/xlsx-viewer.js +722 -0
  839. package/dist/files/renderers/zip/zip-entries.d.ts +154 -0
  840. package/dist/files/renderers/zip/zip-entries.js +271 -0
  841. package/dist/files/renderers/zip/zip-renderer.d.ts +20 -0
  842. package/dist/files/renderers/zip/zip-renderer.js +317 -0
  843. package/dist/files/runtime/components/file-content-renderer.d.ts +5 -0
  844. package/dist/files/runtime/components/file-content-renderer.js +10 -0
  845. package/dist/files/runtime/file-source.d.ts +6 -0
  846. package/dist/files/runtime/file-source.js +22 -0
  847. package/dist/files/runtime/hooks/blob-identity.d.ts +12 -0
  848. package/dist/files/runtime/hooks/blob-identity.js +23 -0
  849. package/dist/files/runtime/hooks/index.d.ts +12 -0
  850. package/dist/files/runtime/hooks/index.js +21 -0
  851. package/dist/files/runtime/hooks/server-health-state.d.ts +18 -0
  852. package/dist/files/runtime/hooks/server-health-state.js +20 -0
  853. package/dist/files/runtime/hooks/system-dir.d.ts +1 -0
  854. package/dist/files/runtime/hooks/system-dir.js +16 -0
  855. package/dist/files/runtime/hooks/use-binary-blob.d.ts +29 -0
  856. package/dist/files/runtime/hooks/use-binary-blob.js +102 -0
  857. package/dist/files/runtime/hooks/use-directory-download.d.ts +16 -0
  858. package/dist/files/runtime/hooks/use-directory-download.js +59 -0
  859. package/dist/files/runtime/hooks/use-file-content.d.ts +17 -0
  860. package/dist/files/runtime/hooks/use-file-content.js +53 -0
  861. package/dist/files/runtime/hooks/use-file-history.d.ts +35 -0
  862. package/dist/files/runtime/hooks/use-file-history.js +75 -0
  863. package/dist/files/runtime/hooks/use-file-list.d.ts +172 -0
  864. package/dist/files/runtime/hooks/use-file-list.js +67 -0
  865. package/dist/files/runtime/hooks/use-file-mutations.d.ts +22 -0
  866. package/dist/files/runtime/hooks/use-file-mutations.js +122 -0
  867. package/dist/files/runtime/hooks/use-file-refresh.d.ts +16 -0
  868. package/dist/files/runtime/hooks/use-file-refresh.js +32 -0
  869. package/dist/files/runtime/hooks/use-file-search.d.ts +14 -0
  870. package/dist/files/runtime/hooks/use-file-search.js +26 -0
  871. package/dist/files/runtime/hooks/use-git-status.d.ts +16 -0
  872. package/dist/files/runtime/hooks/use-git-status.js +61 -0
  873. package/dist/files/runtime/hooks/use-server-health.d.ts +33 -0
  874. package/dist/files/runtime/hooks/use-server-health.js +49 -0
  875. package/dist/files/runtime/hooks/use-workspace-search.d.ts +54 -0
  876. package/dist/files/runtime/hooks/use-workspace-search.js +91 -0
  877. package/dist/files/runtime/index.d.ts +15 -0
  878. package/dist/files/runtime/index.js +25 -0
  879. package/dist/files/runtime/path-utils.d.ts +15 -0
  880. package/dist/files/runtime/path-utils.js +20 -0
  881. package/dist/files/runtime/sandbox-explorer-source.d.ts +7 -0
  882. package/dist/files/runtime/sandbox-explorer-source.js +74 -0
  883. package/dist/files/runtime/sandbox-file-explorer.d.ts +30 -0
  884. package/dist/files/runtime/sandbox-file-explorer.js +77 -0
  885. package/dist/files/runtime/search/workspace-search-service.d.ts +3 -0
  886. package/dist/files/runtime/search/workspace-search-service.js +7 -0
  887. package/dist/files/tree/components/file-tree-item.d.ts +31 -0
  888. package/dist/files/tree/components/file-tree-item.js +176 -0
  889. package/dist/files/tree/hooks/use-file-events.d.ts +11 -0
  890. package/dist/files/tree/hooks/use-file-events.js +14 -0
  891. package/dist/files/viewer/file-content-renderer.d.ts +45 -0
  892. package/dist/files/viewer/file-content-renderer.js +128 -0
  893. package/dist/files/viewer/file-header.d.ts +37 -0
  894. package/dist/files/viewer/file-header.js +21 -0
  895. package/dist/files/viewer/file-preview-modal.d.ts +63 -0
  896. package/dist/files/viewer/file-preview-modal.js +320 -0
  897. package/dist/files/viewer/file-source.d.ts +116 -0
  898. package/dist/files/viewer/file-source.js +14 -0
  899. package/dist/files/viewer/file-viewer.d.ts +36 -0
  900. package/dist/files/viewer/file-viewer.js +196 -0
  901. package/dist/files/viewer/html-preview.d.ts +32 -0
  902. package/dist/files/viewer/html-preview.js +101 -0
  903. package/dist/files/viewer/index.d.ts +20 -0
  904. package/dist/files/viewer/index.js +15 -0
  905. package/dist/files/viewer/json-tree-view.d.ts +3 -0
  906. package/dist/files/viewer/json-tree-view.js +49 -0
  907. package/dist/files/viewer/markdown-pdf.d.ts +38 -0
  908. package/dist/files/viewer/markdown-pdf.js +111 -0
  909. package/dist/files/viewer/preview-fit.d.ts +50 -0
  910. package/dist/files/viewer/preview-fit.js +51 -0
  911. package/dist/files/viewer/preview-policy.d.ts +46 -0
  912. package/dist/files/viewer/preview-policy.js +190 -0
  913. package/dist/files/viewer/print-document.d.ts +29 -0
  914. package/dist/files/viewer/print-document.js +88 -0
  915. package/dist/files/viewer/save-as-pdf-button.d.ts +22 -0
  916. package/dist/files/viewer/save-as-pdf-button.js +63 -0
  917. package/dist/files/viewer/use-content-revision.d.ts +18 -0
  918. package/dist/files/viewer/use-content-revision.js +29 -0
  919. package/dist/files/viewer/use-file-content-state.d.ts +60 -0
  920. package/dist/files/viewer/use-file-content-state.js +352 -0
  921. package/dist/files/viewer/viewer-actions.d.ts +99 -0
  922. package/dist/files/viewer/viewer-actions.js +262 -0
  923. package/dist/files/viewer/viewer-chrome.d.ts +27 -0
  924. package/dist/files/viewer/viewer-chrome.js +61 -0
  925. package/dist/hooks/use-debounce.d.ts +4 -0
  926. package/dist/hooks/use-debounce.js +17 -0
  927. package/dist/hooks/use-is-dark.d.ts +8 -0
  928. package/dist/hooks/use-is-dark.js +22 -0
  929. package/dist/hooks/use-mobile.d.ts +2 -0
  930. package/dist/hooks/use-mobile.js +15 -0
  931. package/dist/hooks/use-proximity-hover.d.ts +52 -0
  932. package/dist/hooks/use-proximity-hover.js +232 -0
  933. package/dist/i18n/en.d.ts +6921 -0
  934. package/dist/i18n/en.js +6922 -0
  935. package/dist/i18n/index.d.ts +18 -0
  936. package/dist/i18n/index.js +33 -0
  937. package/dist/i18n/ui-catalog/account-hub-translation-keys.generated.d.ts +1 -0
  938. package/dist/i18n/ui-catalog/account-hub-translation-keys.generated.js +30 -0
  939. package/dist/i18n/ui-catalog/app-registry-translation-keys.generated.d.ts +1 -0
  940. package/dist/i18n/ui-catalog/app-registry-translation-keys.generated.js +109 -0
  941. package/dist/i18n/ui-catalog/localize-ui-catalog.d.ts +4 -0
  942. package/dist/i18n/ui-catalog/localize-ui-catalog.js +49 -0
  943. package/dist/i18n/ui-catalog/product-catalog-translation-keys.generated.d.ts +1 -0
  944. package/dist/i18n/ui-catalog/product-catalog-translation-keys.generated.js +149 -0
  945. package/dist/i18n/ui-catalog/remaining-ui-translation-keys.generated.d.ts +1 -0
  946. package/dist/i18n/ui-catalog/remaining-ui-translation-keys.generated.js +902 -0
  947. package/dist/i18n/ui-catalog/review-meta-translation-keys.generated.d.ts +1 -0
  948. package/dist/i18n/ui-catalog/review-meta-translation-keys.generated.js +21 -0
  949. package/dist/i18n/ui-catalog/review-mock-translation-keys.generated.d.ts +1 -0
  950. package/dist/i18n/ui-catalog/review-mock-translation-keys.generated.js +43 -0
  951. package/dist/i18n/ui-catalog/use-localized-ui-catalog.d.ts +1 -0
  952. package/dist/i18n/ui-catalog/use-localized-ui-catalog.js +9 -0
  953. package/dist/icons/close.d.ts +2 -0
  954. package/dist/icons/close.js +7 -0
  955. package/dist/icons/copy.d.ts +3 -0
  956. package/dist/icons/copy.js +6 -0
  957. package/dist/icons/index.d.ts +6 -0
  958. package/dist/icons/index.js +6 -0
  959. package/dist/icons/sidebar-toggle.d.ts +13 -0
  960. package/dist/icons/sidebar-toggle.js +13 -0
  961. package/dist/index.d.ts +38 -0
  962. package/dist/index.js +47 -0
  963. package/dist/internal/account-hub/account-hub-entry.d.ts +5 -0
  964. package/dist/internal/account-hub/account-hub-entry.js +22 -0
  965. package/dist/internal/account-hub/account-hub-location.d.ts +54 -0
  966. package/dist/internal/account-hub/account-hub-location.js +113 -0
  967. package/dist/internal/account-hub/account-settings-shell.d.ts +7 -0
  968. package/dist/internal/account-hub/account-settings-shell.js +87 -0
  969. package/dist/internal/account-hub/account-settings-sidebar.d.ts +2 -0
  970. package/dist/internal/account-hub/account-settings-sidebar.js +169 -0
  971. package/dist/internal/account-hub/hub-sheet.d.ts +39 -0
  972. package/dist/internal/account-hub/hub-sheet.js +46 -0
  973. package/dist/internal/account-hub/sections.d.ts +95 -0
  974. package/dist/internal/account-hub/sections.js +232 -0
  975. package/dist/internal/account-hub/use-account-detail.d.ts +2 -0
  976. package/dist/internal/account-hub/use-account-detail.js +20 -0
  977. package/dist/internal/account-hub/use-account-hub-access.d.ts +56 -0
  978. package/dist/internal/account-hub/use-account-hub-access.js +156 -0
  979. package/dist/internal/account-hub/use-account-members.d.ts +2 -0
  980. package/dist/internal/account-hub/use-account-members.js +24 -0
  981. package/dist/internal/auth/auth-card-shell.d.ts +36 -0
  982. package/dist/internal/auth/auth-card-shell.js +66 -0
  983. package/dist/internal/auth/auth-consent.d.ts +71 -0
  984. package/dist/internal/auth/auth-consent.js +75 -0
  985. package/dist/internal/auth/auth-primitives.d.ts +67 -0
  986. package/dist/internal/auth/auth-primitives.js +94 -0
  987. package/dist/internal/auth/code-input-logic.d.ts +23 -0
  988. package/dist/internal/auth/code-input-logic.js +33 -0
  989. package/dist/internal/auth/mfa-pending-action.d.ts +8 -0
  990. package/dist/internal/auth/mfa-pending-action.js +24 -0
  991. package/dist/internal/billing/account-state-gating.d.ts +23 -0
  992. package/dist/internal/billing/account-state-gating.js +21 -0
  993. package/dist/internal/billing/compute-pricing.d.ts +88 -0
  994. package/dist/internal/billing/compute-pricing.js +119 -0
  995. package/dist/internal/billing/index.d.ts +20 -0
  996. package/dist/internal/billing/index.js +36 -0
  997. package/dist/internal/billing/session-cost-format.d.ts +4 -0
  998. package/dist/internal/billing/session-cost-format.js +37 -0
  999. package/dist/internal/billing/use-account-state.d.ts +64 -0
  1000. package/dist/internal/billing/use-account-state.js +231 -0
  1001. package/dist/internal/billing/use-cost-explorer.d.ts +73 -0
  1002. package/dist/internal/billing/use-cost-explorer.js +90 -0
  1003. package/dist/internal/billing/use-download-restriction.d.ts +33 -0
  1004. package/dist/internal/billing/use-download-restriction.js +60 -0
  1005. package/dist/internal/billing/use-session-costs.d.ts +75 -0
  1006. package/dist/internal/billing/use-session-costs.js +105 -0
  1007. package/dist/internal/billing/use-transactions.d.ts +5 -0
  1008. package/dist/internal/billing/use-transactions.js +34 -0
  1009. package/dist/internal/branding/branding-provider.d.ts +39 -0
  1010. package/dist/internal/branding/branding-provider.js +203 -0
  1011. package/dist/internal/capture/use-capture-area.d.ts +51 -0
  1012. package/dist/internal/capture/use-capture-area.js +96 -0
  1013. package/dist/internal/components/clickable-path.d.ts +64 -0
  1014. package/dist/internal/components/clickable-path.js +170 -0
  1015. package/dist/internal/components/hover-prefetch-link.d.ts +32 -0
  1016. package/dist/internal/components/hover-prefetch-link.js +39 -0
  1017. package/dist/internal/components/mobile-store-qr.d.ts +18 -0
  1018. package/dist/internal/components/mobile-store-qr.js +40 -0
  1019. package/dist/internal/components/repository-disconnected.d.ts +46 -0
  1020. package/dist/internal/components/repository-disconnected.js +80 -0
  1021. package/dist/internal/desktop/desktop-back-button.d.ts +93 -0
  1022. package/dist/internal/desktop/desktop-back-button.js +128 -0
  1023. package/dist/internal/desktop/titlebar-control.d.ts +16 -0
  1024. package/dist/internal/desktop/titlebar-control.js +15 -0
  1025. package/dist/internal/files/file-availability.d.ts +34 -0
  1026. package/dist/internal/files/file-availability.js +81 -0
  1027. package/dist/internal/files/file-read-retry.d.ts +28 -0
  1028. package/dist/internal/files/file-read-retry.js +109 -0
  1029. package/dist/internal/files/git-history.d.ts +35 -0
  1030. package/dist/internal/files/git-history.js +221 -0
  1031. package/dist/internal/files/runtime-file-read.d.ts +5 -0
  1032. package/dist/internal/files/runtime-file-read.js +29 -0
  1033. package/dist/internal/files/runtime-files.d.ts +52 -0
  1034. package/dist/internal/files/runtime-files.js +193 -0
  1035. package/dist/internal/files/session-drive-files.d.ts +63 -0
  1036. package/dist/internal/files/session-drive-files.js +109 -0
  1037. package/dist/internal/files/types.d.ts +137 -0
  1038. package/dist/internal/files/types.js +5 -0
  1039. package/dist/internal/files/use-oc-file-open.d.ts +25 -0
  1040. package/dist/internal/files/use-oc-file-open.js +234 -0
  1041. package/dist/internal/hooks/account/use-accounts-list.d.ts +105 -0
  1042. package/dist/internal/hooks/account/use-accounts-list.js +103 -0
  1043. package/dist/internal/hooks/account/use-my-invites.d.ts +15 -0
  1044. package/dist/internal/hooks/account/use-my-invites.js +22 -0
  1045. package/dist/internal/hooks/admin/use-admin-role.d.ts +6 -0
  1046. package/dist/internal/hooks/admin/use-admin-role.js +6 -0
  1047. package/dist/internal/hooks/channels/use-channels-installations.d.ts +49 -0
  1048. package/dist/internal/hooks/channels/use-channels-installations.js +151 -0
  1049. package/dist/internal/hooks/connectors/use-add-account.d.ts +38 -0
  1050. package/dist/internal/hooks/connectors/use-add-account.js +138 -0
  1051. package/dist/internal/hooks/connectors/use-add-managed-account.d.ts +18 -0
  1052. package/dist/internal/hooks/connectors/use-add-managed-account.js +33 -0
  1053. package/dist/internal/hooks/connectors/use-connect-link.d.ts +20 -0
  1054. package/dist/internal/hooks/connectors/use-connect-link.js +115 -0
  1055. package/dist/internal/hooks/connectors/use-oauth2-return.d.ts +8 -0
  1056. package/dist/internal/hooks/connectors/use-oauth2-return.js +33 -0
  1057. package/dist/internal/hooks/connectors/use-pipedream-connect-member.d.ts +10 -0
  1058. package/dist/internal/hooks/connectors/use-pipedream-connect-member.js +38 -0
  1059. package/dist/internal/hooks/connectors/use-pipedream-connect-project.d.ts +67 -0
  1060. package/dist/internal/hooks/connectors/use-pipedream-connect-project.js +112 -0
  1061. package/dist/internal/hooks/connectors/use-tool-connect.d.ts +45 -0
  1062. package/dist/internal/hooks/connectors/use-tool-connect.js +50 -0
  1063. package/dist/internal/hooks/index.d.ts +7 -0
  1064. package/dist/internal/hooks/index.js +6 -0
  1065. package/dist/internal/hooks/projects/new-session-failure.d.ts +26 -0
  1066. package/dist/internal/hooks/projects/new-session-failure.js +72 -0
  1067. package/dist/internal/hooks/projects/new-session-guard.d.ts +48 -0
  1068. package/dist/internal/hooks/projects/new-session-guard.js +63 -0
  1069. package/dist/internal/hooks/projects/project-rename-cache.d.ts +42 -0
  1070. package/dist/internal/hooks/projects/project-rename-cache.js +51 -0
  1071. package/dist/internal/hooks/projects/session-reload-progress.d.ts +10 -0
  1072. package/dist/internal/hooks/projects/session-reload-progress.js +28 -0
  1073. package/dist/internal/hooks/projects/use-agent-config.d.ts +49 -0
  1074. package/dist/internal/hooks/projects/use-agent-config.js +73 -0
  1075. package/dist/internal/hooks/projects/use-new-project-session.d.ts +65 -0
  1076. package/dist/internal/hooks/projects/use-new-project-session.js +296 -0
  1077. package/dist/internal/hooks/projects/use-project-can-run.d.ts +8 -0
  1078. package/dist/internal/hooks/projects/use-project-can-run.js +46 -0
  1079. package/dist/internal/hooks/projects/use-restart-project-session.d.ts +49 -0
  1080. package/dist/internal/hooks/projects/use-restart-project-session.js +90 -0
  1081. package/dist/internal/hooks/projects/use-session-config-freshness.d.ts +106 -0
  1082. package/dist/internal/hooks/projects/use-session-config-freshness.js +291 -0
  1083. package/dist/internal/hooks/projects/use-warm-project-session.d.ts +270 -0
  1084. package/dist/internal/hooks/projects/use-warm-project-session.js +362 -0
  1085. package/dist/internal/hooks/projects/warm-session-seed.d.ts +66 -0
  1086. package/dist/internal/hooks/projects/warm-session-seed.js +80 -0
  1087. package/dist/internal/hooks/projects/warm-session-taken-registry.d.ts +61 -0
  1088. package/dist/internal/hooks/projects/warm-session-taken-registry.js +141 -0
  1089. package/dist/internal/hooks/use-auto-scroll-physics.d.ts +129 -0
  1090. package/dist/internal/hooks/use-auto-scroll-physics.js +191 -0
  1091. package/dist/internal/hooks/use-auto-scroll.d.ts +30 -0
  1092. package/dist/internal/hooks/use-auto-scroll.js +469 -0
  1093. package/dist/internal/hooks/use-bounded-runtime-wait.d.ts +4 -0
  1094. package/dist/internal/hooks/use-bounded-runtime-wait.js +20 -0
  1095. package/dist/internal/hooks/use-channel-bindings.d.ts +8 -0
  1096. package/dist/internal/hooks/use-channel-bindings.js +27 -0
  1097. package/dist/internal/hooks/use-copy.d.ts +11 -0
  1098. package/dist/internal/hooks/use-copy.js +38 -0
  1099. package/dist/internal/hooks/use-debounced-value.d.ts +2 -0
  1100. package/dist/internal/hooks/use-debounced-value.js +9 -0
  1101. package/dist/internal/hooks/use-heic-url.d.ts +9 -0
  1102. package/dist/internal/hooks/use-heic-url.js +49 -0
  1103. package/dist/internal/hooks/use-media-query.d.ts +2 -0
  1104. package/dist/internal/hooks/use-media-query.js +15 -0
  1105. package/dist/internal/hooks/use-notification-center.d.ts +43 -0
  1106. package/dist/internal/hooks/use-notification-center.js +111 -0
  1107. package/dist/internal/hooks/use-open-preview-link.d.ts +30 -0
  1108. package/dist/internal/hooks/use-open-preview-link.js +42 -0
  1109. package/dist/internal/hooks/use-opened-once.d.ts +9 -0
  1110. package/dist/internal/hooks/use-opened-once.js +15 -0
  1111. package/dist/internal/hooks/use-preview-frame-url.d.ts +13 -0
  1112. package/dist/internal/hooks/use-preview-frame-url.js +24 -0
  1113. package/dist/internal/hooks/use-review-session-summary.d.ts +53 -0
  1114. package/dist/internal/hooks/use-review-session-summary.js +84 -0
  1115. package/dist/internal/hooks/use-sandbox-proxy.d.ts +31 -0
  1116. package/dist/internal/hooks/use-sandbox-proxy.js +40 -0
  1117. package/dist/internal/hooks/use-slash-focus.d.ts +15 -0
  1118. package/dist/internal/hooks/use-slash-focus.js +44 -0
  1119. package/dist/internal/hooks/use-stable-callback.d.ts +15 -0
  1120. package/dist/internal/hooks/use-stable-callback.js +22 -0
  1121. package/dist/internal/icons/claude-code.d.ts +5 -0
  1122. package/dist/internal/icons/claude-code.js +7 -0
  1123. package/dist/internal/icons/claude.d.ts +4 -0
  1124. package/dist/internal/icons/claude.js +8 -0
  1125. package/dist/internal/icons/codex.d.ts +5 -0
  1126. package/dist/internal/icons/codex.js +14 -0
  1127. package/dist/internal/icons/cursor.d.ts +5 -0
  1128. package/dist/internal/icons/cursor.js +11 -0
  1129. package/dist/internal/icons/customize.d.ts +5 -0
  1130. package/dist/internal/icons/customize.js +6 -0
  1131. package/dist/internal/icons/download.d.ts +2 -0
  1132. package/dist/internal/icons/download.js +6 -0
  1133. package/dist/internal/icons/email.d.ts +5 -0
  1134. package/dist/internal/icons/email.js +7 -0
  1135. package/dist/internal/icons/github.d.ts +4 -0
  1136. package/dist/internal/icons/github.js +8 -0
  1137. package/dist/internal/icons/home.d.ts +5 -0
  1138. package/dist/internal/icons/home.js +7 -0
  1139. package/dist/internal/icons/kortix.d.ts +14 -0
  1140. package/dist/internal/icons/kortix.js +25 -0
  1141. package/dist/internal/icons/mcp.d.ts +9 -0
  1142. package/dist/internal/icons/mcp.js +9 -0
  1143. package/dist/internal/icons/microsoft-teams.d.ts +4 -0
  1144. package/dist/internal/icons/microsoft-teams.js +11 -0
  1145. package/dist/internal/icons/open-ai.d.ts +4 -0
  1146. package/dist/internal/icons/open-ai.js +8 -0
  1147. package/dist/internal/icons/plus.d.ts +4 -0
  1148. package/dist/internal/icons/plus.js +6 -0
  1149. package/dist/internal/icons/schedule.d.ts +5 -0
  1150. package/dist/internal/icons/schedule.js +7 -0
  1151. package/dist/internal/icons/slack.d.ts +4 -0
  1152. package/dist/internal/icons/slack.js +6 -0
  1153. package/dist/internal/icons/solid-check-icon.d.ts +2 -0
  1154. package/dist/internal/icons/solid-check-icon.js +6 -0
  1155. package/dist/internal/icons/telegram.d.ts +4 -0
  1156. package/dist/internal/icons/telegram.js +6 -0
  1157. package/dist/internal/layout/connect-mcp-modal.d.ts +35 -0
  1158. package/dist/internal/layout/connect-mcp-modal.js +78 -0
  1159. package/dist/internal/layout/files-nav-label.d.ts +14 -0
  1160. package/dist/internal/layout/files-nav-label.js +10 -0
  1161. package/dist/internal/layout/open-command-palette.d.ts +22 -0
  1162. package/dist/internal/layout/open-command-palette.js +34 -0
  1163. package/dist/internal/layout/project-nav-row.d.ts +9 -0
  1164. package/dist/internal/layout/project-nav-row.js +15 -0
  1165. package/dist/internal/layout/project-page-header.d.ts +16 -0
  1166. package/dist/internal/layout/project-page-header.js +19 -0
  1167. package/dist/internal/layout/project-settings-nav.d.ts +125 -0
  1168. package/dist/internal/layout/project-settings-nav.js +206 -0
  1169. package/dist/internal/layout/settings-nav-context.d.ts +74 -0
  1170. package/dist/internal/layout/settings-nav-context.js +58 -0
  1171. package/dist/internal/layout/sidebar-opener.d.ts +74 -0
  1172. package/dist/internal/layout/sidebar-opener.js +86 -0
  1173. package/dist/internal/layout/sidebar-toggle.d.ts +44 -0
  1174. package/dist/internal/layout/sidebar-toggle.js +56 -0
  1175. package/dist/internal/lib/account-secret-access.d.ts +42 -0
  1176. package/dist/internal/lib/account-secret-access.js +46 -0
  1177. package/dist/internal/lib/approval-expired.d.ts +3 -0
  1178. package/dist/internal/lib/approval-expired.js +4 -0
  1179. package/dist/internal/lib/attachment-mime.d.ts +30 -0
  1180. package/dist/internal/lib/attachment-mime.js +123 -0
  1181. package/dist/internal/lib/billing/billing-gate-state.d.ts +126 -0
  1182. package/dist/internal/lib/billing/billing-gate-state.js +217 -0
  1183. package/dist/internal/lib/browser-error-noise.d.ts +23 -0
  1184. package/dist/internal/lib/browser-error-noise.js +68 -0
  1185. package/dist/internal/lib/browser-noise/evidence.d.ts +73 -0
  1186. package/dist/internal/lib/browser-noise/evidence.js +101 -0
  1187. package/dist/internal/lib/browser-noise/rules/chunk-load.d.ts +37 -0
  1188. package/dist/internal/lib/browser-noise/rules/chunk-load.js +158 -0
  1189. package/dist/internal/lib/browser-noise/rules/expected-states.d.ts +85 -0
  1190. package/dist/internal/lib/browser-noise/rules/expected-states.js +390 -0
  1191. package/dist/internal/lib/browser-noise/rules/extensions.d.ts +196 -0
  1192. package/dist/internal/lib/browser-noise/rules/extensions.js +722 -0
  1193. package/dist/internal/lib/browser-noise/rules/graphics.d.ts +142 -0
  1194. package/dist/internal/lib/browser-noise/rules/graphics.js +606 -0
  1195. package/dist/internal/lib/browser-noise/rules/injected-scripts.d.ts +80 -0
  1196. package/dist/internal/lib/browser-noise/rules/injected-scripts.js +229 -0
  1197. package/dist/internal/lib/browser-noise/rules/messages.d.ts +5 -0
  1198. package/dist/internal/lib/browser-noise/rules/messages.js +81 -0
  1199. package/dist/internal/lib/browser-noise/rules/network.d.ts +117 -0
  1200. package/dist/internal/lib/browser-noise/rules/network.js +441 -0
  1201. package/dist/internal/lib/browser-noise/rules/old-browsers.d.ts +216 -0
  1202. package/dist/internal/lib/browser-noise/rules/old-browsers.js +684 -0
  1203. package/dist/internal/lib/browser-noise/rules/pdf.d.ts +60 -0
  1204. package/dist/internal/lib/browser-noise/rules/pdf.js +184 -0
  1205. package/dist/internal/lib/browser-noise/rules/react.d.ts +99 -0
  1206. package/dist/internal/lib/browser-noise/rules/react.js +504 -0
  1207. package/dist/internal/lib/browser-noise/rules/rejections.d.ts +130 -0
  1208. package/dist/internal/lib/browser-noise/rules/rejections.js +517 -0
  1209. package/dist/internal/lib/browser-noise/rules/storage.d.ts +65 -0
  1210. package/dist/internal/lib/browser-noise/rules/storage.js +190 -0
  1211. package/dist/internal/lib/browser-noise/rules/webview.d.ts +103 -0
  1212. package/dist/internal/lib/browser-noise/rules/webview.js +392 -0
  1213. package/dist/internal/lib/capability-tab-routes.d.ts +160 -0
  1214. package/dist/internal/lib/capability-tab-routes.js +176 -0
  1215. package/dist/internal/lib/chunk-load-recovery.d.ts +46 -0
  1216. package/dist/internal/lib/chunk-load-recovery.js +107 -0
  1217. package/dist/internal/lib/chunk-reload.d.ts +31 -0
  1218. package/dist/internal/lib/chunk-reload.js +59 -0
  1219. package/dist/internal/lib/code-theme.d.ts +22 -0
  1220. package/dist/internal/lib/code-theme.js +16 -0
  1221. package/dist/internal/lib/codemirror-pierre-theme.d.ts +3 -0
  1222. package/dist/internal/lib/codemirror-pierre-theme.js +138 -0
  1223. package/dist/internal/lib/delivered-but-disconnected.d.ts +4 -0
  1224. package/dist/internal/lib/delivered-but-disconnected.js +106 -0
  1225. package/dist/internal/lib/desktop-detect.d.ts +17 -0
  1226. package/dist/internal/lib/desktop-detect.js +36 -0
  1227. package/dist/internal/lib/desktop.d.ts +237 -0
  1228. package/dist/internal/lib/desktop.js +356 -0
  1229. package/dist/internal/lib/error-handler.d.ts +25 -0
  1230. package/dist/internal/lib/error-handler.js +327 -0
  1231. package/dist/internal/lib/github-installations.d.ts +47 -0
  1232. package/dist/internal/lib/github-installations.js +54 -0
  1233. package/dist/internal/lib/github-user-proof.d.ts +3 -0
  1234. package/dist/internal/lib/github-user-proof.js +38 -0
  1235. package/dist/internal/lib/interface-theme-defaults.d.ts +6 -0
  1236. package/dist/internal/lib/interface-theme-defaults.js +2 -0
  1237. package/dist/internal/lib/kortix-cli.d.ts +12 -0
  1238. package/dist/internal/lib/kortix-cli.js +31 -0
  1239. package/dist/internal/lib/llm-providers.d.ts +185 -0
  1240. package/dist/internal/lib/llm-providers.js +197 -0
  1241. package/dist/internal/lib/logger.d.ts +29 -0
  1242. package/dist/internal/lib/logger.js +36 -0
  1243. package/dist/internal/lib/manifest-version.d.ts +21 -0
  1244. package/dist/internal/lib/manifest-version.js +55 -0
  1245. package/dist/internal/lib/mermaid-utils.d.ts +22 -0
  1246. package/dist/internal/lib/mermaid-utils.js +85 -0
  1247. package/dist/internal/lib/mobile-store-urls.d.ts +9 -0
  1248. package/dist/internal/lib/mobile-store-urls.js +8 -0
  1249. package/dist/internal/lib/model-pricing.d.ts +33 -0
  1250. package/dist/internal/lib/model-pricing.js +107 -0
  1251. package/dist/internal/lib/navigation/modified-click.d.ts +15 -0
  1252. package/dist/internal/lib/navigation/modified-click.js +21 -0
  1253. package/dist/internal/lib/navigation/router-bridge.d.ts +20 -0
  1254. package/dist/internal/lib/navigation/router-bridge.js +60 -0
  1255. package/dist/internal/lib/navigation/session-href.d.ts +24 -0
  1256. package/dist/internal/lib/navigation/session-href.js +31 -0
  1257. package/dist/internal/lib/object-url-cache.d.ts +30 -0
  1258. package/dist/internal/lib/object-url-cache.js +72 -0
  1259. package/dist/internal/lib/onboarding/landing-destination.d.ts +111 -0
  1260. package/dist/internal/lib/onboarding/landing-destination.js +155 -0
  1261. package/dist/internal/lib/onboarding/last-project-cookie.d.ts +44 -0
  1262. package/dist/internal/lib/onboarding/last-project-cookie.js +77 -0
  1263. package/dist/internal/lib/onboarding/provision-errors.d.ts +29 -0
  1264. package/dist/internal/lib/onboarding/provision-errors.js +47 -0
  1265. package/dist/internal/lib/onboarding/use-app-home.d.ts +17 -0
  1266. package/dist/internal/lib/onboarding/use-app-home.js +22 -0
  1267. package/dist/internal/lib/project-actions.d.ts +75 -0
  1268. package/dist/internal/lib/project-actions.js +133 -0
  1269. package/dist/internal/lib/project-preamble.d.ts +71 -0
  1270. package/dist/internal/lib/project-preamble.js +112 -0
  1271. package/dist/internal/lib/promo-art.d.ts +9 -0
  1272. package/dist/internal/lib/promo-art.js +9 -0
  1273. package/dist/internal/lib/provider-branding.d.ts +26 -0
  1274. package/dist/internal/lib/provider-branding.js +175 -0
  1275. package/dist/internal/lib/query-client-singleton.d.ts +9 -0
  1276. package/dist/internal/lib/query-client-singleton.js +34 -0
  1277. package/dist/internal/lib/relative-time.d.ts +22 -0
  1278. package/dist/internal/lib/relative-time.js +48 -0
  1279. package/dist/internal/lib/safe-url.d.ts +2 -0
  1280. package/dist/internal/lib/safe-url.js +7 -0
  1281. package/dist/internal/lib/sandbox-providers.d.ts +11 -0
  1282. package/dist/internal/lib/sandbox-providers.js +27 -0
  1283. package/dist/internal/lib/security/iframe-sandbox.d.ts +15 -0
  1284. package/dist/internal/lib/security/iframe-sandbox.js +26 -0
  1285. package/dist/internal/lib/security/privileged-frame-origins.d.ts +10 -0
  1286. package/dist/internal/lib/security/privileged-frame-origins.js +22 -0
  1287. package/dist/internal/lib/settings-tab-id.d.ts +3 -0
  1288. package/dist/internal/lib/settings-tab-id.js +1 -0
  1289. package/dist/internal/lib/shaders-react.d.ts +2 -0
  1290. package/dist/internal/lib/shaders-react.js +1 -0
  1291. package/dist/internal/lib/site-metadata.d.ts +17 -0
  1292. package/dist/internal/lib/site-metadata.js +16 -0
  1293. package/dist/internal/lib/sounds.d.ts +37 -0
  1294. package/dist/internal/lib/sounds.js +131 -0
  1295. package/dist/internal/lib/storage/managed-storage.d.ts +2 -0
  1296. package/dist/internal/lib/storage/managed-storage.js +5 -0
  1297. package/dist/internal/lib/timeout-toast-policy.d.ts +5 -0
  1298. package/dist/internal/lib/timeout-toast-policy.js +14 -0
  1299. package/dist/internal/lib/turn-broadcast.d.ts +47 -0
  1300. package/dist/internal/lib/turn-broadcast.js +90 -0
  1301. package/dist/internal/lib/use-deployment-cli-install-command.d.ts +7 -0
  1302. package/dist/internal/lib/use-deployment-cli-install-command.js +15 -0
  1303. package/dist/internal/lib/use-permission.d.ts +23 -0
  1304. package/dist/internal/lib/use-permission.js +79 -0
  1305. package/dist/internal/lib/use-project-can.d.ts +37 -0
  1306. package/dist/internal/lib/use-project-can.js +64 -0
  1307. package/dist/internal/lib/use-project-feature-flags.d.ts +26 -0
  1308. package/dist/internal/lib/use-project-feature-flags.js +72 -0
  1309. package/dist/internal/lib/utils/app-access-token.d.ts +10 -0
  1310. package/dist/internal/lib/utils/app-access-token.js +20 -0
  1311. package/dist/internal/lib/utils/clipboard.d.ts +7 -0
  1312. package/dist/internal/lib/utils/clipboard.js +19 -0
  1313. package/dist/internal/lib/utils/download.d.ts +2 -0
  1314. package/dist/internal/lib/utils/download.js +11 -0
  1315. package/dist/internal/lib/utils/file-utils.d.ts +44 -0
  1316. package/dist/internal/lib/utils/file-utils.js +287 -0
  1317. package/dist/internal/lib/utils/focus-without-scroll.d.ts +19 -0
  1318. package/dist/internal/lib/utils/focus-without-scroll.js +18 -0
  1319. package/dist/internal/lib/utils/heic-convert.d.ts +7 -0
  1320. package/dist/internal/lib/utils/heic-convert.js +13 -0
  1321. package/dist/internal/lib/utils/kortix-system-tags.d.ts +45 -0
  1322. package/dist/internal/lib/utils/kortix-system-tags.js +222 -0
  1323. package/dist/internal/lib/utils/kortix-tool-output.d.ts +58 -0
  1324. package/dist/internal/lib/utils/kortix-tool-output.js +148 -0
  1325. package/dist/internal/lib/utils/path-detection.d.ts +43 -0
  1326. package/dist/internal/lib/utils/path-detection.js +339 -0
  1327. package/dist/internal/lib/utils/random-uuid.d.ts +9 -0
  1328. package/dist/internal/lib/utils/random-uuid.js +16 -0
  1329. package/dist/internal/lib/utils/safe-scroll-to.d.ts +20 -0
  1330. package/dist/internal/lib/utils/safe-scroll-to.js +21 -0
  1331. package/dist/internal/lib/utils/sandbox-proxy.d.ts +8 -0
  1332. package/dist/internal/lib/utils/sandbox-proxy.js +15 -0
  1333. package/dist/internal/lib/utils/session-context.d.ts +25 -0
  1334. package/dist/internal/lib/utils/session-context.js +42 -0
  1335. package/dist/internal/lib/utils/strip-html-tags.d.ts +6 -0
  1336. package/dist/internal/lib/utils/strip-html-tags.js +13 -0
  1337. package/dist/internal/lib/utils/structured-output.d.ts +51 -0
  1338. package/dist/internal/lib/utils/structured-output.js +178 -0
  1339. package/dist/internal/lib/utils/time-budget.d.ts +37 -0
  1340. package/dist/internal/lib/utils/time-budget.js +37 -0
  1341. package/dist/internal/lib/utils.d.ts +8 -0
  1342. package/dist/internal/lib/utils.js +58 -0
  1343. package/dist/internal/lib/web-notifications.d.ts +121 -0
  1344. package/dist/internal/lib/web-notifications.js +653 -0
  1345. package/dist/internal/notifications/notification-bell.d.ts +33 -0
  1346. package/dist/internal/notifications/notification-bell.js +135 -0
  1347. package/dist/internal/notifications/notification-rows.d.ts +86 -0
  1348. package/dist/internal/notifications/notification-rows.js +128 -0
  1349. package/dist/internal/notifications/session-toast-cards.d.ts +26 -0
  1350. package/dist/internal/notifications/session-toast-cards.js +32 -0
  1351. package/dist/internal/notifications/web-push.d.ts +63 -0
  1352. package/dist/internal/notifications/web-push.js +193 -0
  1353. package/dist/internal/outcomes/outcome-card.d.ts +81 -0
  1354. package/dist/internal/outcomes/outcome-card.js +54 -0
  1355. package/dist/internal/outcomes/outcome-types.d.ts +77 -0
  1356. package/dist/internal/outcomes/outcome-types.js +15 -0
  1357. package/dist/internal/outcomes/outcome-vocabulary.d.ts +95 -0
  1358. package/dist/internal/outcomes/outcome-vocabulary.js +99 -0
  1359. package/dist/internal/project-scope.d.ts +13 -0
  1360. package/dist/internal/project-scope.js +15 -0
  1361. package/dist/internal/reminders/reminder-format.d.ts +20 -0
  1362. package/dist/internal/reminders/reminder-format.js +72 -0
  1363. package/dist/internal/reminders/use-refetch-after-fire.d.ts +10 -0
  1364. package/dist/internal/reminders/use-refetch-after-fire.js +30 -0
  1365. package/dist/internal/selection/selection-bar.d.ts +31 -0
  1366. package/dist/internal/selection/selection-bar.js +45 -0
  1367. package/dist/internal/selection/selection.d.ts +9 -0
  1368. package/dist/internal/selection/selection.js +25 -0
  1369. package/dist/internal/session-types/index.d.ts +30 -0
  1370. package/dist/internal/session-types/index.js +28 -0
  1371. package/dist/internal/session-types/types.d.ts +78 -0
  1372. package/dist/internal/session-types/types.js +20 -0
  1373. package/dist/internal/share/public-share-link-button.d.ts +14 -0
  1374. package/dist/internal/share/public-share-link-button.js +17 -0
  1375. package/dist/internal/share/public-share-link-confirm.d.ts +15 -0
  1376. package/dist/internal/share/public-share-link-confirm.js +13 -0
  1377. package/dist/internal/share/session-shares-modal.d.ts +7 -0
  1378. package/dist/internal/share/session-shares-modal.js +59 -0
  1379. package/dist/internal/share/use-public-share-link.d.ts +39 -0
  1380. package/dist/internal/share/use-public-share-link.js +110 -0
  1381. package/dist/internal/share/use-session-public-shares.d.ts +60 -0
  1382. package/dist/internal/share/use-session-public-shares.js +140 -0
  1383. package/dist/internal/stores/account-panel-store.d.ts +94 -0
  1384. package/dist/internal/stores/account-panel-store.js +183 -0
  1385. package/dist/internal/stores/account-settings-modal-store.d.ts +41 -0
  1386. package/dist/internal/stores/account-settings-modal-store.js +33 -0
  1387. package/dist/internal/stores/billing-account-context.d.ts +16 -0
  1388. package/dist/internal/stores/billing-account-context.js +20 -0
  1389. package/dist/internal/stores/browser-recents-store.d.ts +36 -0
  1390. package/dist/internal/stores/browser-recents-store.js +50 -0
  1391. package/dist/internal/stores/chat-send-store.d.ts +34 -0
  1392. package/dist/internal/stores/chat-send-store.js +22 -0
  1393. package/dist/internal/stores/composer-prefill-store.d.ts +37 -0
  1394. package/dist/internal/stores/composer-prefill-store.js +27 -0
  1395. package/dist/internal/stores/connector-gate-store.d.ts +27 -0
  1396. package/dist/internal/stores/connector-gate-store.js +9 -0
  1397. package/dist/internal/stores/current-account-store.d.ts +28 -0
  1398. package/dist/internal/stores/current-account-store.js +12 -0
  1399. package/dist/internal/stores/diagnostics-store.d.ts +2 -0
  1400. package/dist/internal/stores/diagnostics-store.js +5 -0
  1401. package/dist/internal/stores/file-preview-store.d.ts +15 -0
  1402. package/dist/internal/stores/file-preview-store.js +24 -0
  1403. package/dist/internal/stores/files-store.d.ts +155 -0
  1404. package/dist/internal/stores/files-store.js +316 -0
  1405. package/dist/internal/stores/first-chat-store.d.ts +23 -0
  1406. package/dist/internal/stores/first-chat-store.js +53 -0
  1407. package/dist/internal/stores/kortix-computer-store.d.ts +230 -0
  1408. package/dist/internal/stores/kortix-computer-store.js +437 -0
  1409. package/dist/internal/stores/message-jump-store.d.ts +8 -0
  1410. package/dist/internal/stores/message-jump-store.js +6 -0
  1411. package/dist/internal/stores/mobile-app-promo-store.d.ts +19 -0
  1412. package/dist/internal/stores/mobile-app-promo-store.js +28 -0
  1413. package/dist/internal/stores/onboarding-mode-store.d.ts +34 -0
  1414. package/dist/internal/stores/onboarding-mode-store.js +20 -0
  1415. package/dist/internal/stores/panel-fallback-store.d.ts +32 -0
  1416. package/dist/internal/stores/panel-fallback-store.js +21 -0
  1417. package/dist/internal/stores/persisted-store-registry.d.ts +58 -0
  1418. package/dist/internal/stores/persisted-store-registry.js +57 -0
  1419. package/dist/internal/stores/project-switch-store.d.ts +49 -0
  1420. package/dist/internal/stores/project-switch-store.js +39 -0
  1421. package/dist/internal/stores/provider-modal-store.d.ts +10 -0
  1422. package/dist/internal/stores/provider-modal-store.js +7 -0
  1423. package/dist/internal/stores/session-browser-store.d.ts +111 -0
  1424. package/dist/internal/stores/session-browser-store.js +115 -0
  1425. package/dist/internal/stores/session-expanded-store.d.ts +21 -0
  1426. package/dist/internal/stores/session-expanded-store.js +42 -0
  1427. package/dist/internal/stores/session-filter-store.d.ts +91 -0
  1428. package/dist/internal/stores/session-filter-store.js +192 -0
  1429. package/dist/internal/stores/session-history-view-store.d.ts +23 -0
  1430. package/dist/internal/stores/session-history-view-store.js +43 -0
  1431. package/dist/internal/stores/session-hover-store.d.ts +49 -0
  1432. package/dist/internal/stores/session-hover-store.js +91 -0
  1433. package/dist/internal/stores/session-panel-memory-store.d.ts +57 -0
  1434. package/dist/internal/stores/session-panel-memory-store.js +74 -0
  1435. package/dist/internal/stores/session-switch-store.d.ts +24 -0
  1436. package/dist/internal/stores/session-switch-store.js +25 -0
  1437. package/dist/internal/stores/settings-panel-store.d.ts +38 -0
  1438. package/dist/internal/stores/settings-panel-store.js +35 -0
  1439. package/dist/internal/stores/sidebar-nav-store.d.ts +78 -0
  1440. package/dist/internal/stores/sidebar-nav-store.js +121 -0
  1441. package/dist/internal/stores/sound-store.d.ts +51 -0
  1442. package/dist/internal/stores/sound-store.js +42 -0
  1443. package/dist/internal/stores/subscription-store.d.ts +36 -0
  1444. package/dist/internal/stores/subscription-store.js +57 -0
  1445. package/dist/internal/stores/tab-store.d.ts +79 -0
  1446. package/dist/internal/stores/tab-store.js +222 -0
  1447. package/dist/internal/stores/turn-attention-store.d.ts +20 -0
  1448. package/dist/internal/stores/turn-attention-store.js +12 -0
  1449. package/dist/internal/stores/upgrade-dialog-store.d.ts +34 -0
  1450. package/dist/internal/stores/upgrade-dialog-store.js +20 -0
  1451. package/dist/internal/stores/user-preferences-store.d.ts +80 -0
  1452. package/dist/internal/stores/user-preferences-store.js +63 -0
  1453. package/dist/internal/stores/web-notification-store.d.ts +50 -0
  1454. package/dist/internal/stores/web-notification-store.js +76 -0
  1455. package/dist/internal/tunnel/computer-connect.d.ts +175 -0
  1456. package/dist/internal/tunnel/computer-connect.js +355 -0
  1457. package/dist/internal/tunnel/tunnel-connect-command.d.ts +23 -0
  1458. package/dist/internal/tunnel/tunnel-connect-command.js +23 -0
  1459. package/dist/lib/dotmatrix-core.d.ts +112 -0
  1460. package/dist/lib/dotmatrix-core.js +919 -0
  1461. package/dist/lib/dotmatrix-hooks.d.ts +28 -0
  1462. package/dist/lib/dotmatrix-hooks.js +151 -0
  1463. package/dist/lib/favicon.d.ts +4 -0
  1464. package/dist/lib/favicon.js +21 -0
  1465. package/dist/lib/font-weight.d.ts +6 -0
  1466. package/dist/lib/font-weight.js +6 -0
  1467. package/dist/lib/host-env.d.ts +22 -0
  1468. package/dist/lib/host-env.js +9 -0
  1469. package/dist/lib/icon-config.d.ts +33 -0
  1470. package/dist/lib/icon-config.js +22 -0
  1471. package/dist/lib/icon-context.d.ts +34 -0
  1472. package/dist/lib/icon-context.js +81 -0
  1473. package/dist/lib/lazy-client.d.ts +10 -0
  1474. package/dist/lib/lazy-client.js +20 -0
  1475. package/dist/lib/portal-container.d.ts +12 -0
  1476. package/dist/lib/portal-container.js +23 -0
  1477. package/dist/lib/portal-root.d.ts +8 -0
  1478. package/dist/lib/portal-root.js +26 -0
  1479. package/dist/lib/routes.d.ts +52 -0
  1480. package/dist/lib/routes.js +54 -0
  1481. package/dist/lib/settle.d.ts +16 -0
  1482. package/dist/lib/settle.js +29 -0
  1483. package/dist/lib/springs.d.ts +31 -0
  1484. package/dist/lib/springs.js +29 -0
  1485. package/dist/lib/telemetry.d.ts +44 -0
  1486. package/dist/lib/telemetry.js +24 -0
  1487. package/dist/lib/utils.d.ts +3 -0
  1488. package/dist/lib/utils.js +12 -0
  1489. package/dist/lib/z-stack.d.ts +55 -0
  1490. package/dist/lib/z-stack.js +130 -0
  1491. package/dist/markdown/code/children-text.d.ts +15 -0
  1492. package/dist/markdown/code/children-text.js +29 -0
  1493. package/dist/markdown/code/code-block.d.ts +33 -0
  1494. package/dist/markdown/code/code-block.js +88 -0
  1495. package/dist/markdown/code/copy-overlay.d.ts +6 -0
  1496. package/dist/markdown/code/copy-overlay.js +15 -0
  1497. package/dist/markdown/code/genui-fence.d.ts +35 -0
  1498. package/dist/markdown/code/genui-fence.js +81 -0
  1499. package/dist/markdown/code/index.d.ts +6 -0
  1500. package/dist/markdown/code/index.js +18 -0
  1501. package/dist/markdown/code/inline-chip.d.ts +42 -0
  1502. package/dist/markdown/code/inline-chip.js +108 -0
  1503. package/dist/markdown/code/inline-code.d.ts +6 -0
  1504. package/dist/markdown/code/inline-code.js +150 -0
  1505. package/dist/markdown/code/inside-link-context.d.ts +15 -0
  1506. package/dist/markdown/code/inside-link-context.js +17 -0
  1507. package/dist/markdown/code/markdown-code.d.ts +41 -0
  1508. package/dist/markdown/code/markdown-code.js +92 -0
  1509. package/dist/markdown/code/shiki-highlighter.d.ts +45 -0
  1510. package/dist/markdown/code/shiki-highlighter.js +261 -0
  1511. package/dist/markdown/copy-button.d.ts +8 -0
  1512. package/dist/markdown/copy-button.js +51 -0
  1513. package/dist/markdown/file-links.d.ts +13 -0
  1514. package/dist/markdown/file-links.js +93 -0
  1515. package/dist/markdown/genui/block-telemetry.d.ts +21 -0
  1516. package/dist/markdown/genui/block-telemetry.js +39 -0
  1517. package/dist/markdown/genui/components/charts.d.ts +7 -0
  1518. package/dist/markdown/genui/components/charts.js +185 -0
  1519. package/dist/markdown/genui/components/data.d.ts +15 -0
  1520. package/dist/markdown/genui/components/data.js +110 -0
  1521. package/dist/markdown/genui/components/index.d.ts +4 -0
  1522. package/dist/markdown/genui/components/index.js +38 -0
  1523. package/dist/markdown/genui/components/inline.d.ts +17 -0
  1524. package/dist/markdown/genui/components/inline.js +53 -0
  1525. package/dist/markdown/genui/components/layout.d.ts +6 -0
  1526. package/dist/markdown/genui/components/layout.js +180 -0
  1527. package/dist/markdown/genui/components/map-canvas.d.ts +35 -0
  1528. package/dist/markdown/genui/components/map-canvas.js +109 -0
  1529. package/dist/markdown/genui/components/map-geo.d.ts +45 -0
  1530. package/dist/markdown/genui/components/map-geo.js +52 -0
  1531. package/dist/markdown/genui/components/map.d.ts +6 -0
  1532. package/dist/markdown/genui/components/map.js +77 -0
  1533. package/dist/markdown/genui/components/pending.d.ts +19 -0
  1534. package/dist/markdown/genui/components/pending.js +38 -0
  1535. package/dist/markdown/genui/genui-message-block.d.ts +12 -0
  1536. package/dist/markdown/genui/genui-message-block.js +18 -0
  1537. package/dist/markdown/genui/index.d.ts +11 -0
  1538. package/dist/markdown/genui/index.js +11 -0
  1539. package/dist/markdown/genui/sdk.d.ts +10 -0
  1540. package/dist/markdown/genui/sdk.js +9 -0
  1541. package/dist/markdown/genui/to-markdown.d.ts +46 -0
  1542. package/dist/markdown/genui/to-markdown.js +86 -0
  1543. package/dist/markdown/genui/use-genui-enabled.d.ts +4 -0
  1544. package/dist/markdown/genui/use-genui-enabled.js +10 -0
  1545. package/dist/markdown/index.d.ts +16 -0
  1546. package/dist/markdown/index.js +14 -0
  1547. package/dist/markdown/katex-block.d.ts +4 -0
  1548. package/dist/markdown/katex-block.js +25 -0
  1549. package/dist/markdown/katex-markdown.d.ts +24 -0
  1550. package/dist/markdown/katex-markdown.js +163 -0
  1551. package/dist/markdown/markdown-frontmatter.d.ts +31 -0
  1552. package/dist/markdown/markdown-frontmatter.js +118 -0
  1553. package/dist/markdown/markdown-policy.d.ts +48 -0
  1554. package/dist/markdown/markdown-policy.js +31 -0
  1555. package/dist/markdown/ordered-list.d.ts +31 -0
  1556. package/dist/markdown/ordered-list.js +40 -0
  1557. package/dist/markdown/setup-link-blocks.d.ts +32 -0
  1558. package/dist/markdown/setup-link-blocks.js +114 -0
  1559. package/dist/markdown/setup-links/api-base.d.ts +2 -0
  1560. package/dist/markdown/setup-links/api-base.js +5 -0
  1561. package/dist/markdown/setup-links/approval-decision.d.ts +72 -0
  1562. package/dist/markdown/setup-links/approval-decision.js +322 -0
  1563. package/dist/markdown/setup-links/connector-handshake.d.ts +60 -0
  1564. package/dist/markdown/setup-links/connector-handshake.js +71 -0
  1565. package/dist/markdown/setup-links/connector-link-info.d.ts +3 -0
  1566. package/dist/markdown/setup-links/connector-link-info.js +15 -0
  1567. package/dist/markdown/setup-links/secret-intake-form.d.ts +14 -0
  1568. package/dist/markdown/setup-links/secret-intake-form.js +168 -0
  1569. package/dist/markdown/setup-links/setup-link-button.d.ts +26 -0
  1570. package/dist/markdown/setup-links/setup-link-button.js +150 -0
  1571. package/dist/markdown/setup-links/setup-link-close-finalize.d.ts +23 -0
  1572. package/dist/markdown/setup-links/setup-link-close-finalize.js +33 -0
  1573. package/dist/markdown/setup-links/util.d.ts +80 -0
  1574. package/dist/markdown/setup-links/util.js +220 -0
  1575. package/dist/markdown/stream-words.d.ts +68 -0
  1576. package/dist/markdown/stream-words.js +113 -0
  1577. package/dist/markdown/unified-markdown-utils.d.ts +68 -0
  1578. package/dist/markdown/unified-markdown-utils.js +151 -0
  1579. package/dist/markdown/unified-markdown.d.ts +46 -0
  1580. package/dist/markdown/unified-markdown.js +293 -0
  1581. package/dist/primitives/accordion.d.ts +7 -0
  1582. package/dist/primitives/accordion.js +18 -0
  1583. package/dist/primitives/alert-dialog.d.ts +19 -0
  1584. package/dist/primitives/alert-dialog.js +50 -0
  1585. package/dist/primitives/alert.d.ts +13 -0
  1586. package/dist/primitives/alert.js +67 -0
  1587. package/dist/primitives/avatar.d.ts +11 -0
  1588. package/dist/primitives/avatar.js +23 -0
  1589. package/dist/primitives/back-pill.d.ts +13 -0
  1590. package/dist/primitives/back-pill.js +18 -0
  1591. package/dist/primitives/badge.d.ts +10 -0
  1592. package/dist/primitives/badge.js +42 -0
  1593. package/dist/primitives/breadcrumb.d.ts +11 -0
  1594. package/dist/primitives/breadcrumb.js +28 -0
  1595. package/dist/primitives/bubble.d.ts +20 -0
  1596. package/dist/primitives/bubble.js +38 -0
  1597. package/dist/primitives/button-group.d.ts +9 -0
  1598. package/dist/primitives/button-group.js +32 -0
  1599. package/dist/primitives/button.d.ts +13 -0
  1600. package/dist/primitives/button.js +67 -0
  1601. package/dist/primitives/calendar.d.ts +4 -0
  1602. package/dist/primitives/calendar.js +39 -0
  1603. package/dist/primitives/card.d.ts +96 -0
  1604. package/dist/primitives/card.js +291 -0
  1605. package/dist/primitives/chain-of-thought.d.ts +75 -0
  1606. package/dist/primitives/chain-of-thought.js +66 -0
  1607. package/dist/primitives/chart.d.ts +65 -0
  1608. package/dist/primitives/chart.js +118 -0
  1609. package/dist/primitives/checkbox-group.d.ts +19 -0
  1610. package/dist/primitives/checkbox-group.js +41 -0
  1611. package/dist/primitives/checkbox.d.ts +14 -0
  1612. package/dist/primitives/checkbox.js +27 -0
  1613. package/dist/primitives/collapsible.d.ts +5 -0
  1614. package/dist/primitives/collapsible.js +14 -0
  1615. package/dist/primitives/command.d.ts +58 -0
  1616. package/dist/primitives/command.js +135 -0
  1617. package/dist/primitives/confirm-dialog.d.ts +19 -0
  1618. package/dist/primitives/confirm-dialog.js +30 -0
  1619. package/dist/primitives/context-menu.d.ts +48 -0
  1620. package/dist/primitives/context-menu.js +94 -0
  1621. package/dist/primitives/count-badge.d.ts +26 -0
  1622. package/dist/primitives/count-badge.js +26 -0
  1623. package/dist/primitives/data-grid.d.ts +24 -0
  1624. package/dist/primitives/data-grid.js +107 -0
  1625. package/dist/primitives/date-range-picker.d.ts +119 -0
  1626. package/dist/primitives/date-range-picker.js +190 -0
  1627. package/dist/primitives/definition-list.d.ts +15 -0
  1628. package/dist/primitives/definition-list.js +26 -0
  1629. package/dist/primitives/dialog.d.ts +32 -0
  1630. package/dist/primitives/dialog.js +54 -0
  1631. package/dist/primitives/disclosure.d.ts +121 -0
  1632. package/dist/primitives/disclosure.js +138 -0
  1633. package/dist/primitives/dot-matrix/dotm-3x3-10.d.ts +4 -0
  1634. package/dist/primitives/dot-matrix/dotm-3x3-10.js +29 -0
  1635. package/dist/primitives/dot-matrix/dotm-3x3-12.d.ts +4 -0
  1636. package/dist/primitives/dot-matrix/dotm-3x3-12.js +19 -0
  1637. package/dist/primitives/dot-matrix/dotm-3x3-13.d.ts +4 -0
  1638. package/dist/primitives/dot-matrix/dotm-3x3-13.js +19 -0
  1639. package/dist/primitives/dot-matrix/dotm-3x3-15.d.ts +4 -0
  1640. package/dist/primitives/dot-matrix/dotm-3x3-15.js +22 -0
  1641. package/dist/primitives/dot-matrix/dotm-3x3-16.d.ts +4 -0
  1642. package/dist/primitives/dot-matrix/dotm-3x3-16.js +5 -0
  1643. package/dist/primitives/dot-matrix/dotm-3x3-18.d.ts +4 -0
  1644. package/dist/primitives/dot-matrix/dotm-3x3-18.js +5 -0
  1645. package/dist/primitives/dot-matrix/dotm-3x3-19.d.ts +4 -0
  1646. package/dist/primitives/dot-matrix/dotm-3x3-19.js +5 -0
  1647. package/dist/primitives/dot-matrix/dotm-3x3-2.d.ts +4 -0
  1648. package/dist/primitives/dot-matrix/dotm-3x3-2.js +3 -0
  1649. package/dist/primitives/dot-matrix/dotm-3x3-20.d.ts +4 -0
  1650. package/dist/primitives/dot-matrix/dotm-3x3-20.js +5 -0
  1651. package/dist/primitives/dot-matrix/dotm-3x3-21.d.ts +4 -0
  1652. package/dist/primitives/dot-matrix/dotm-3x3-21.js +5 -0
  1653. package/dist/primitives/dot-matrix/dotm-3x3-3.d.ts +4 -0
  1654. package/dist/primitives/dot-matrix/dotm-3x3-3.js +3 -0
  1655. package/dist/primitives/dot-matrix/dotm-3x3-4.d.ts +4 -0
  1656. package/dist/primitives/dot-matrix/dotm-3x3-4.js +3 -0
  1657. package/dist/primitives/dot-matrix/dotm-3x3-5.d.ts +4 -0
  1658. package/dist/primitives/dot-matrix/dotm-3x3-5.js +3 -0
  1659. package/dist/primitives/dot-matrix/dotm-3x3-6.d.ts +4 -0
  1660. package/dist/primitives/dot-matrix/dotm-3x3-6.js +19 -0
  1661. package/dist/primitives/dot-matrix/dotm-3x3-7.d.ts +4 -0
  1662. package/dist/primitives/dot-matrix/dotm-3x3-7.js +19 -0
  1663. package/dist/primitives/dot-matrix/dotm-3x3-8.d.ts +4 -0
  1664. package/dist/primitives/dot-matrix/dotm-3x3-8.js +19 -0
  1665. package/dist/primitives/dot-matrix/dotm-3x3-9.d.ts +4 -0
  1666. package/dist/primitives/dot-matrix/dotm-3x3-9.js +23 -0
  1667. package/dist/primitives/dot-matrix/dotm-circular-1.d.ts +4 -0
  1668. package/dist/primitives/dot-matrix/dotm-circular-1.js +28 -0
  1669. package/dist/primitives/dot-matrix/dotm-circular-10.d.ts +4 -0
  1670. package/dist/primitives/dot-matrix/dotm-circular-10.js +40 -0
  1671. package/dist/primitives/dot-matrix/dotm-circular-11.d.ts +4 -0
  1672. package/dist/primitives/dot-matrix/dotm-circular-11.js +37 -0
  1673. package/dist/primitives/dot-matrix/dotm-circular-12.d.ts +4 -0
  1674. package/dist/primitives/dot-matrix/dotm-circular-12.js +42 -0
  1675. package/dist/primitives/dot-matrix/dotm-circular-14.d.ts +4 -0
  1676. package/dist/primitives/dot-matrix/dotm-circular-14.js +37 -0
  1677. package/dist/primitives/dot-matrix/dotm-circular-15.d.ts +4 -0
  1678. package/dist/primitives/dot-matrix/dotm-circular-15.js +49 -0
  1679. package/dist/primitives/dot-matrix/dotm-circular-17.d.ts +4 -0
  1680. package/dist/primitives/dot-matrix/dotm-circular-17.js +31 -0
  1681. package/dist/primitives/dot-matrix/dotm-circular-2.d.ts +4 -0
  1682. package/dist/primitives/dot-matrix/dotm-circular-2.js +37 -0
  1683. package/dist/primitives/dot-matrix/dotm-circular-3.d.ts +4 -0
  1684. package/dist/primitives/dot-matrix/dotm-circular-3.js +54 -0
  1685. package/dist/primitives/dot-matrix/dotm-circular-4.d.ts +4 -0
  1686. package/dist/primitives/dot-matrix/dotm-circular-4.js +35 -0
  1687. package/dist/primitives/dot-matrix/dotm-circular-5.d.ts +4 -0
  1688. package/dist/primitives/dot-matrix/dotm-circular-5.js +30 -0
  1689. package/dist/primitives/dot-matrix/dotm-circular-6.d.ts +4 -0
  1690. package/dist/primitives/dot-matrix/dotm-circular-6.js +37 -0
  1691. package/dist/primitives/dot-matrix/dotm-circular-7.d.ts +4 -0
  1692. package/dist/primitives/dot-matrix/dotm-circular-7.js +25 -0
  1693. package/dist/primitives/dot-matrix/dotm-circular-8.d.ts +4 -0
  1694. package/dist/primitives/dot-matrix/dotm-circular-8.js +26 -0
  1695. package/dist/primitives/dot-matrix/dotm-circular-9.d.ts +4 -0
  1696. package/dist/primitives/dot-matrix/dotm-circular-9.js +41 -0
  1697. package/dist/primitives/dot-matrix/dotm-square-1.d.ts +4 -0
  1698. package/dist/primitives/dot-matrix/dotm-square-1.js +27 -0
  1699. package/dist/primitives/dot-matrix/dotm-square-10.d.ts +4 -0
  1700. package/dist/primitives/dot-matrix/dotm-square-10.js +27 -0
  1701. package/dist/primitives/dot-matrix/dotm-square-11.d.ts +4 -0
  1702. package/dist/primitives/dot-matrix/dotm-square-11.js +25 -0
  1703. package/dist/primitives/dot-matrix/dotm-square-12.d.ts +4 -0
  1704. package/dist/primitives/dot-matrix/dotm-square-12.js +28 -0
  1705. package/dist/primitives/dot-matrix/dotm-square-13.d.ts +4 -0
  1706. package/dist/primitives/dot-matrix/dotm-square-13.js +45 -0
  1707. package/dist/primitives/dot-matrix/dotm-square-14.d.ts +4 -0
  1708. package/dist/primitives/dot-matrix/dotm-square-14.js +38 -0
  1709. package/dist/primitives/dot-matrix/dotm-square-15.d.ts +4 -0
  1710. package/dist/primitives/dot-matrix/dotm-square-15.js +31 -0
  1711. package/dist/primitives/dot-matrix/dotm-square-16.d.ts +4 -0
  1712. package/dist/primitives/dot-matrix/dotm-square-16.js +33 -0
  1713. package/dist/primitives/dot-matrix/dotm-square-17.d.ts +4 -0
  1714. package/dist/primitives/dot-matrix/dotm-square-17.js +27 -0
  1715. package/dist/primitives/dot-matrix/dotm-square-18.d.ts +4 -0
  1716. package/dist/primitives/dot-matrix/dotm-square-18.js +29 -0
  1717. package/dist/primitives/dot-matrix/dotm-square-19.d.ts +4 -0
  1718. package/dist/primitives/dot-matrix/dotm-square-19.js +74 -0
  1719. package/dist/primitives/dot-matrix/dotm-square-2.d.ts +4 -0
  1720. package/dist/primitives/dot-matrix/dotm-square-2.js +72 -0
  1721. package/dist/primitives/dot-matrix/dotm-square-20.d.ts +4 -0
  1722. package/dist/primitives/dot-matrix/dotm-square-20.js +79 -0
  1723. package/dist/primitives/dot-matrix/dotm-square-3.d.ts +4 -0
  1724. package/dist/primitives/dot-matrix/dotm-square-3.js +23 -0
  1725. package/dist/primitives/dot-matrix/dotm-square-4.d.ts +4 -0
  1726. package/dist/primitives/dot-matrix/dotm-square-4.js +41 -0
  1727. package/dist/primitives/dot-matrix/dotm-square-5.d.ts +4 -0
  1728. package/dist/primitives/dot-matrix/dotm-square-5.js +23 -0
  1729. package/dist/primitives/dot-matrix/dotm-square-6.d.ts +4 -0
  1730. package/dist/primitives/dot-matrix/dotm-square-6.js +20 -0
  1731. package/dist/primitives/dot-matrix/dotm-square-7.d.ts +4 -0
  1732. package/dist/primitives/dot-matrix/dotm-square-7.js +43 -0
  1733. package/dist/primitives/dot-matrix/dotm-square-8.d.ts +4 -0
  1734. package/dist/primitives/dot-matrix/dotm-square-8.js +57 -0
  1735. package/dist/primitives/dot-matrix/dotm-square-9.d.ts +4 -0
  1736. package/dist/primitives/dot-matrix/dotm-square-9.js +89 -0
  1737. package/dist/primitives/dot-matrix/session-dot-matrix.d.ts +46 -0
  1738. package/dist/primitives/dot-matrix/session-dot-matrix.js +153 -0
  1739. package/dist/primitives/drawer.d.ts +15 -0
  1740. package/dist/primitives/drawer.js +37 -0
  1741. package/dist/primitives/dropdown-menu.d.ts +52 -0
  1742. package/dist/primitives/dropdown-menu.js +114 -0
  1743. package/dist/primitives/emoji-picker.d.ts +15 -0
  1744. package/dist/primitives/emoji-picker.js +137 -0
  1745. package/dist/primitives/emoji-tint.d.ts +41 -0
  1746. package/dist/primitives/emoji-tint.js +131 -0
  1747. package/dist/primitives/empty-state.d.ts +14 -0
  1748. package/dist/primitives/empty-state.js +23 -0
  1749. package/dist/primitives/empty.d.ts +11 -0
  1750. package/dist/primitives/empty.js +33 -0
  1751. package/dist/primitives/entity-avatar.d.ts +84 -0
  1752. package/dist/primitives/entity-avatar.js +106 -0
  1753. package/dist/primitives/error-boundary.d.ts +24 -0
  1754. package/dist/primitives/error-boundary.js +25 -0
  1755. package/dist/primitives/error-state.d.ts +12 -0
  1756. package/dist/primitives/error-state.js +21 -0
  1757. package/dist/primitives/faded-scroll-area.d.ts +8 -0
  1758. package/dist/primitives/faded-scroll-area.js +80 -0
  1759. package/dist/primitives/favicon-avatar.d.ts +32 -0
  1760. package/dist/primitives/favicon-avatar.js +18 -0
  1761. package/dist/primitives/field.d.ts +15 -0
  1762. package/dist/primitives/field.js +48 -0
  1763. package/dist/primitives/file-tree.d.ts +32 -0
  1764. package/dist/primitives/file-tree.js +30 -0
  1765. package/dist/primitives/glyph-face.d.ts +18 -0
  1766. package/dist/primitives/glyph-face.js +37 -0
  1767. package/dist/primitives/glyph-paths-source.d.ts +2 -0
  1768. package/dist/primitives/glyph-paths-source.js +40 -0
  1769. package/dist/primitives/glyph-paths.generated.d.ts +2 -0
  1770. package/dist/primitives/glyph-paths.generated.js +207 -0
  1771. package/dist/primitives/glyph-picker.d.ts +22 -0
  1772. package/dist/primitives/glyph-picker.js +118 -0
  1773. package/dist/primitives/glyph-registry.d.ts +36 -0
  1774. package/dist/primitives/glyph-registry.js +479 -0
  1775. package/dist/primitives/glyph-tint.d.ts +6 -0
  1776. package/dist/primitives/glyph-tint.js +93 -0
  1777. package/dist/primitives/hint.d.ts +14 -0
  1778. package/dist/primitives/hint.js +12 -0
  1779. package/dist/primitives/histogram-bars.d.ts +38 -0
  1780. package/dist/primitives/histogram-bars.js +93 -0
  1781. package/dist/primitives/hover-card.d.ts +28 -0
  1782. package/dist/primitives/hover-card.js +40 -0
  1783. package/dist/primitives/icon-provider.d.ts +23 -0
  1784. package/dist/primitives/icon-provider.js +30 -0
  1785. package/dist/primitives/info-banner.d.ts +14 -0
  1786. package/dist/primitives/info-banner.js +72 -0
  1787. package/dist/primitives/inline-meta.d.ts +6 -0
  1788. package/dist/primitives/inline-meta.js +8 -0
  1789. package/dist/primitives/input-group.d.ts +19 -0
  1790. package/dist/primitives/input-group.js +73 -0
  1791. package/dist/primitives/input.d.ts +26 -0
  1792. package/dist/primitives/input.js +23 -0
  1793. package/dist/primitives/item.d.ts +23 -0
  1794. package/dist/primitives/item.js +67 -0
  1795. package/dist/primitives/kbd.d.ts +3 -0
  1796. package/dist/primitives/kbd.js +20 -0
  1797. package/dist/primitives/kortix-asterisk.d.ts +6 -0
  1798. package/dist/primitives/kortix-asterisk.js +17 -0
  1799. package/dist/primitives/kortix-icons.d.ts +2 -0
  1800. package/dist/primitives/kortix-icons.js +17 -0
  1801. package/dist/primitives/kortix-loader.d.ts +76 -0
  1802. package/dist/primitives/kortix-loader.js +74 -0
  1803. package/dist/primitives/kortix-logo.d.ts +30 -0
  1804. package/dist/primitives/kortix-logo.js +47 -0
  1805. package/dist/primitives/label.d.ts +4 -0
  1806. package/dist/primitives/label.js +9 -0
  1807. package/dist/primitives/list.d.ts +15 -0
  1808. package/dist/primitives/list.js +25 -0
  1809. package/dist/primitives/loading.d.ts +19 -0
  1810. package/dist/primitives/loading.js +31 -0
  1811. package/dist/primitives/local-time.d.ts +34 -0
  1812. package/dist/primitives/local-time.js +60 -0
  1813. package/dist/primitives/map.d.ts +101 -0
  1814. package/dist/primitives/map.js +257 -0
  1815. package/dist/primitives/marker.d.ts +14 -0
  1816. package/dist/primitives/marker.js +28 -0
  1817. package/dist/primitives/menu-recipe.d.ts +102 -0
  1818. package/dist/primitives/menu-recipe.js +129 -0
  1819. package/dist/primitives/mermaid-render.d.ts +52 -0
  1820. package/dist/primitives/mermaid-render.js +135 -0
  1821. package/dist/primitives/mermaid-renderer.d.ts +13 -0
  1822. package/dist/primitives/mermaid-renderer.js +262 -0
  1823. package/dist/primitives/message.d.ts +15 -0
  1824. package/dist/primitives/message.js +26 -0
  1825. package/dist/primitives/modal.d.ts +107 -0
  1826. package/dist/primitives/modal.js +181 -0
  1827. package/dist/primitives/navigation-menu.d.ts +16 -0
  1828. package/dist/primitives/navigation-menu.js +35 -0
  1829. package/dist/primitives/page-search-bar.d.ts +11 -0
  1830. package/dist/primitives/page-search-bar.js +13 -0
  1831. package/dist/primitives/paper-wallpaper-shaders.d.ts +14 -0
  1832. package/dist/primitives/paper-wallpaper-shaders.js +73 -0
  1833. package/dist/primitives/phone-input.d.ts +7 -0
  1834. package/dist/primitives/phone-input.js +59 -0
  1835. package/dist/primitives/pixel-kortix-mark.d.ts +13 -0
  1836. package/dist/primitives/pixel-kortix-mark.js +40 -0
  1837. package/dist/primitives/popover.d.ts +10 -0
  1838. package/dist/primitives/popover.js +40 -0
  1839. package/dist/primitives/portal.d.ts +5 -0
  1840. package/dist/primitives/portal.js +17 -0
  1841. package/dist/primitives/preview-image.d.ts +17 -0
  1842. package/dist/primitives/preview-image.js +59 -0
  1843. package/dist/primitives/progress-ring.d.ts +6 -0
  1844. package/dist/primitives/progress-ring.js +9 -0
  1845. package/dist/primitives/progress.d.ts +6 -0
  1846. package/dist/primitives/progress.js +8 -0
  1847. package/dist/primitives/project-icon-picker.d.ts +11 -0
  1848. package/dist/primitives/project-icon-picker.js +56 -0
  1849. package/dist/primitives/radio-group.d.ts +12 -0
  1850. package/dist/primitives/radio-group.js +20 -0
  1851. package/dist/primitives/resizable.d.ts +24 -0
  1852. package/dist/primitives/resizable.js +16 -0
  1853. package/dist/primitives/scroll-area.d.ts +5 -0
  1854. package/dist/primitives/scroll-area.js +11 -0
  1855. package/dist/primitives/section-card.d.ts +37 -0
  1856. package/dist/primitives/section-card.js +14 -0
  1857. package/dist/primitives/section.d.ts +10 -0
  1858. package/dist/primitives/section.js +22 -0
  1859. package/dist/primitives/select.d.ts +25 -0
  1860. package/dist/primitives/select.js +61 -0
  1861. package/dist/primitives/separator.d.ts +4 -0
  1862. package/dist/primitives/separator.js +8 -0
  1863. package/dist/primitives/settings-row.d.ts +54 -0
  1864. package/dist/primitives/settings-row.js +43 -0
  1865. package/dist/primitives/settings-section-header.d.ts +13 -0
  1866. package/dist/primitives/settings-section-header.js +11 -0
  1867. package/dist/primitives/settings-subsection-header.d.ts +48 -0
  1868. package/dist/primitives/settings-subsection-header.js +37 -0
  1869. package/dist/primitives/shader-safe.d.ts +48 -0
  1870. package/dist/primitives/shader-safe.js +74 -0
  1871. package/dist/primitives/sheet.d.ts +35 -0
  1872. package/dist/primitives/sheet.js +56 -0
  1873. package/dist/primitives/sidebar-context.d.ts +72 -0
  1874. package/dist/primitives/sidebar-context.js +36 -0
  1875. package/dist/primitives/sidebar-menu-primitives.d.ts +38 -0
  1876. package/dist/primitives/sidebar-menu-primitives.js +97 -0
  1877. package/dist/primitives/sidebar-panel.d.ts +36 -0
  1878. package/dist/primitives/sidebar-panel.js +265 -0
  1879. package/dist/primitives/sidebar-peek.d.ts +27 -0
  1880. package/dist/primitives/sidebar-peek.js +70 -0
  1881. package/dist/primitives/sidebar-width.d.ts +48 -0
  1882. package/dist/primitives/sidebar-width.js +62 -0
  1883. package/dist/primitives/sidebar.d.ts +18 -0
  1884. package/dist/primitives/sidebar.js +194 -0
  1885. package/dist/primitives/skeleton.d.ts +3 -0
  1886. package/dist/primitives/skeleton.js +6 -0
  1887. package/dist/primitives/slider-native.d.ts +7 -0
  1888. package/dist/primitives/slider-native.js +16 -0
  1889. package/dist/primitives/slider.d.ts +14 -0
  1890. package/dist/primitives/slider.js +48 -0
  1891. package/dist/primitives/sliding-tab-indicator.d.ts +61 -0
  1892. package/dist/primitives/sliding-tab-indicator.js +128 -0
  1893. package/dist/primitives/split-sheet.d.ts +61 -0
  1894. package/dist/primitives/split-sheet.js +239 -0
  1895. package/dist/primitives/spotlight-card.d.ts +8 -0
  1896. package/dist/primitives/spotlight-card.js +43 -0
  1897. package/dist/primitives/status-ring.d.ts +38 -0
  1898. package/dist/primitives/status-ring.js +38 -0
  1899. package/dist/primitives/status.d.ts +58 -0
  1900. package/dist/primitives/status.js +76 -0
  1901. package/dist/primitives/stepper.d.ts +28 -0
  1902. package/dist/primitives/stepper.js +73 -0
  1903. package/dist/primitives/switch.d.ts +8 -0
  1904. package/dist/primitives/switch.js +131 -0
  1905. package/dist/primitives/system-message.d.ts +23 -0
  1906. package/dist/primitives/system-message.js +51 -0
  1907. package/dist/primitives/table.d.ts +10 -0
  1908. package/dist/primitives/table.js +28 -0
  1909. package/dist/primitives/tabs.d.ts +73 -0
  1910. package/dist/primitives/tabs.js +207 -0
  1911. package/dist/primitives/tag.d.ts +7 -0
  1912. package/dist/primitives/tag.js +22 -0
  1913. package/dist/primitives/text-shimmer.d.ts +13 -0
  1914. package/dist/primitives/text-shimmer.js +91 -0
  1915. package/dist/primitives/textarea.d.ts +33 -0
  1916. package/dist/primitives/textarea.js +87 -0
  1917. package/dist/primitives/toast.d.ts +105 -0
  1918. package/dist/primitives/toast.js +233 -0
  1919. package/dist/primitives/toggle.d.ts +12 -0
  1920. package/dist/primitives/toggle.js +26 -0
  1921. package/dist/primitives/tooltip.d.ts +9 -0
  1922. package/dist/primitives/tooltip.js +19 -0
  1923. package/dist/primitives/trigger-variants.d.ts +14 -0
  1924. package/dist/primitives/trigger-variants.js +67 -0
  1925. package/dist/primitives/type-to-confirm-dialog.d.ts +88 -0
  1926. package/dist/primitives/type-to-confirm-dialog.js +101 -0
  1927. package/dist/primitives/typed-title-logic.d.ts +22 -0
  1928. package/dist/primitives/typed-title-logic.js +33 -0
  1929. package/dist/primitives/typed-title.d.ts +38 -0
  1930. package/dist/primitives/typed-title.js +66 -0
  1931. package/dist/primitives/typing-animation.d.ts +36 -0
  1932. package/dist/primitives/typing-animation.js +141 -0
  1933. package/dist/primitives/user-avatar.d.ts +47 -0
  1934. package/dist/primitives/user-avatar.js +46 -0
  1935. package/dist/primitives/wallpaper-shaders.d.ts +7 -0
  1936. package/dist/primitives/wallpaper-shaders.js +50 -0
  1937. package/dist/providers/motion-features.d.ts +1 -0
  1938. package/dist/providers/motion-features.js +3 -0
  1939. package/dist/providers/session-ids.d.ts +21 -0
  1940. package/dist/providers/session-ids.js +13 -0
  1941. package/dist/providers/ui-provider.d.ts +336 -0
  1942. package/dist/providers/ui-provider.js +214 -0
  1943. package/dist/providers/use-host-preview-url.d.ts +14 -0
  1944. package/dist/providers/use-host-preview-url.js +32 -0
  1945. package/dist/session/actions/project-session-list-helpers.d.ts +156 -0
  1946. package/dist/session/actions/project-session-list-helpers.js +339 -0
  1947. package/dist/session/actions/rename-session-cache.d.ts +35 -0
  1948. package/dist/session/actions/rename-session-cache.js +50 -0
  1949. package/dist/session/actions/session-delete-modal.d.ts +17 -0
  1950. package/dist/session/actions/session-delete-modal.js +128 -0
  1951. package/dist/session/actions/session-label.d.ts +107 -0
  1952. package/dist/session/actions/session-label.js +149 -0
  1953. package/dist/session/actions/use-rename-session.d.ts +9 -0
  1954. package/dist/session/actions/use-rename-session.js +66 -0
  1955. package/dist/session/actions/use-session-list-actions.d.ts +10 -0
  1956. package/dist/session/actions/use-session-list-actions.js +51 -0
  1957. package/dist/session/composer/ComposerAboveCard.d.ts +23 -0
  1958. package/dist/session/composer/ComposerAboveCard.js +28 -0
  1959. package/dist/session/composer/ComposerCard.d.ts +72 -0
  1960. package/dist/session/composer/ComposerCard.js +59 -0
  1961. package/dist/session/composer/agent-selector.d.ts +20 -0
  1962. package/dist/session/composer/agent-selector.js +142 -0
  1963. package/dist/session/composer/animated-placeholder.d.ts +65 -0
  1964. package/dist/session/composer/animated-placeholder.js +119 -0
  1965. package/dist/session/composer/attachment-submission.d.ts +184 -0
  1966. package/dist/session/composer/attachment-submission.js +302 -0
  1967. package/dist/session/composer/attachment-tile.d.ts +84 -0
  1968. package/dist/session/composer/attachment-tile.js +124 -0
  1969. package/dist/session/composer/attachment-tiles.d.ts +53 -0
  1970. package/dist/session/composer/attachment-tiles.js +201 -0
  1971. package/dist/session/composer/clipboard-files.d.ts +16 -0
  1972. package/dist/session/composer/clipboard-files.js +23 -0
  1973. package/dist/session/composer/command-attachments.d.ts +151 -0
  1974. package/dist/session/composer/command-attachments.js +128 -0
  1975. package/dist/session/composer/composer-agent-access.d.ts +83 -0
  1976. package/dist/session/composer/composer-agent-access.js +89 -0
  1977. package/dist/session/composer/composer-chat-input.d.ts +89 -0
  1978. package/dist/session/composer/composer-chat-input.js +143 -0
  1979. package/dist/session/composer/composer-draft-recovery.d.ts +42 -0
  1980. package/dist/session/composer/composer-draft-recovery.js +83 -0
  1981. package/dist/session/composer/composer-drop-zone.d.ts +22 -0
  1982. package/dist/session/composer/composer-drop-zone.js +79 -0
  1983. package/dist/session/composer/composer-logic.d.ts +395 -0
  1984. package/dist/session/composer/composer-logic.js +389 -0
  1985. package/dist/session/composer/composer-reset.d.ts +34 -0
  1986. package/dist/session/composer/composer-reset.js +21 -0
  1987. package/dist/session/composer/composer-text-metrics.d.ts +28 -0
  1988. package/dist/session/composer/composer-text-metrics.js +28 -0
  1989. package/dist/session/composer/composer-toolbar.d.ts +117 -0
  1990. package/dist/session/composer/composer-toolbar.js +17 -0
  1991. package/dist/session/composer/composer-underbar.d.ts +54 -0
  1992. package/dist/session/composer/composer-underbar.js +56 -0
  1993. package/dist/session/composer/composer.d.ts +356 -0
  1994. package/dist/session/composer/composer.js +1426 -0
  1995. package/dist/session/composer/context-ring.d.ts +6 -0
  1996. package/dist/session/composer/context-ring.js +21 -0
  1997. package/dist/session/composer/context-usage.d.ts +48 -0
  1998. package/dist/session/composer/context-usage.js +93 -0
  1999. package/dist/session/composer/delivery-chain.d.ts +28 -0
  2000. package/dist/session/composer/delivery-chain.js +60 -0
  2001. package/dist/session/composer/draft/composer-draft-store.d.ts +21 -0
  2002. package/dist/session/composer/draft/composer-draft-store.js +41 -0
  2003. package/dist/session/composer/draft/composer-draft.d.ts +142 -0
  2004. package/dist/session/composer/draft/composer-draft.js +188 -0
  2005. package/dist/session/composer/draft/draft-uploads.d.ts +29 -0
  2006. package/dist/session/composer/draft/draft-uploads.js +84 -0
  2007. package/dist/session/composer/draft/use-composer-draft.d.ts +49 -0
  2008. package/dist/session/composer/draft/use-composer-draft.js +169 -0
  2009. package/dist/session/composer/editor/composer-editor.d.ts +266 -0
  2010. package/dist/session/composer/editor/composer-editor.js +436 -0
  2011. package/dist/session/composer/editor/extensions.d.ts +65 -0
  2012. package/dist/session/composer/editor/extensions.js +80 -0
  2013. package/dist/session/composer/editor/first-visual-line.d.ts +13 -0
  2014. package/dist/session/composer/editor/first-visual-line.js +19 -0
  2015. package/dist/session/composer/editor/mention-node.d.ts +51 -0
  2016. package/dist/session/composer/editor/mention-node.js +125 -0
  2017. package/dist/session/composer/editor/serialize.d.ts +69 -0
  2018. package/dist/session/composer/editor/serialize.js +175 -0
  2019. package/dist/session/composer/editor/suggestion.d.ts +87 -0
  2020. package/dist/session/composer/editor/suggestion.js +76 -0
  2021. package/dist/session/composer/entitlements-pending.d.ts +60 -0
  2022. package/dist/session/composer/entitlements-pending.js +57 -0
  2023. package/dist/session/composer/esc-to-stop.d.ts +50 -0
  2024. package/dist/session/composer/esc-to-stop.js +24 -0
  2025. package/dist/session/composer/held-commands.d.ts +44 -0
  2026. package/dist/session/composer/held-commands.js +41 -0
  2027. package/dist/session/composer/held-send-guard.d.ts +9 -0
  2028. package/dist/session/composer/held-send-guard.js +26 -0
  2029. package/dist/session/composer/hooks/use-composer-escape-stop.d.ts +6 -0
  2030. package/dist/session/composer/hooks/use-composer-escape-stop.js +28 -0
  2031. package/dist/session/composer/hooks/use-composer-focus.d.ts +33 -0
  2032. package/dist/session/composer/hooks/use-composer-focus.js +181 -0
  2033. package/dist/session/composer/hooks/use-debounced-value.d.ts +8 -0
  2034. package/dist/session/composer/hooks/use-debounced-value.js +27 -0
  2035. package/dist/session/composer/hooks/use-file-search.d.ts +137 -0
  2036. package/dist/session/composer/hooks/use-file-search.js +205 -0
  2037. package/dist/session/composer/hooks/use-latest-ref.d.ts +8 -0
  2038. package/dist/session/composer/hooks/use-latest-ref.js +15 -0
  2039. package/dist/session/composer/inbox-live-prompt.d.ts +9 -0
  2040. package/dist/session/composer/inbox-live-prompt.js +10 -0
  2041. package/dist/session/composer/inbox-row-claims.d.ts +64 -0
  2042. package/dist/session/composer/inbox-row-claims.js +61 -0
  2043. package/dist/session/composer/index.d.ts +24 -0
  2044. package/dist/session/composer/index.js +22 -0
  2045. package/dist/session/composer/menus/mention-controller.d.ts +40 -0
  2046. package/dist/session/composer/menus/mention-controller.js +107 -0
  2047. package/dist/session/composer/menus/mention-menu.d.ts +45 -0
  2048. package/dist/session/composer/menus/mention-menu.js +80 -0
  2049. package/dist/session/composer/menus/menu-items.d.ts +27 -0
  2050. package/dist/session/composer/menus/menu-items.js +89 -0
  2051. package/dist/session/composer/menus/menu-nav-state.d.ts +169 -0
  2052. package/dist/session/composer/menus/menu-nav-state.js +194 -0
  2053. package/dist/session/composer/menus/menu-navigation.d.ts +3 -0
  2054. package/dist/session/composer/menus/menu-navigation.js +29 -0
  2055. package/dist/session/composer/menus/menu-selection.d.ts +15 -0
  2056. package/dist/session/composer/menus/menu-selection.js +23 -0
  2057. package/dist/session/composer/menus/menu-shell.d.ts +69 -0
  2058. package/dist/session/composer/menus/menu-shell.js +91 -0
  2059. package/dist/session/composer/menus/mount.d.ts +79 -0
  2060. package/dist/session/composer/menus/mount.js +128 -0
  2061. package/dist/session/composer/menus/slash-actions.d.ts +58 -0
  2062. package/dist/session/composer/menus/slash-actions.js +69 -0
  2063. package/dist/session/composer/menus/slash-controller.d.ts +80 -0
  2064. package/dist/session/composer/menus/slash-controller.js +152 -0
  2065. package/dist/session/composer/menus/slash-files.d.ts +69 -0
  2066. package/dist/session/composer/menus/slash-files.js +97 -0
  2067. package/dist/session/composer/menus/slash-items.d.ts +86 -0
  2068. package/dist/session/composer/menus/slash-items.js +168 -0
  2069. package/dist/session/composer/menus/slash-menu.d.ts +44 -0
  2070. package/dist/session/composer/menus/slash-menu.js +138 -0
  2071. package/dist/session/composer/pasted-text.d.ts +25 -0
  2072. package/dist/session/composer/pasted-text.js +55 -0
  2073. package/dist/session/composer/queue-projection.d.ts +102 -0
  2074. package/dist/session/composer/queue-projection.js +144 -0
  2075. package/dist/session/composer/queued-message-restore.d.ts +58 -0
  2076. package/dist/session/composer/queued-message-restore.js +67 -0
  2077. package/dist/session/composer/queued-prompt-edit.d.ts +79 -0
  2078. package/dist/session/composer/queued-prompt-edit.js +114 -0
  2079. package/dist/session/composer/queued-prompt-list.d.ts +36 -0
  2080. package/dist/session/composer/queued-prompt-list.js +84 -0
  2081. package/dist/session/composer/quote-list.d.ts +47 -0
  2082. package/dist/session/composer/quote-list.js +41 -0
  2083. package/dist/session/composer/reasoning-effort-selector.d.ts +36 -0
  2084. package/dist/session/composer/reasoning-effort-selector.js +121 -0
  2085. package/dist/session/composer/send-blockers.d.ts +101 -0
  2086. package/dist/session/composer/send-blockers.js +122 -0
  2087. package/dist/session/composer/send-stop-control.d.ts +39 -0
  2088. package/dist/session/composer/send-stop-control.js +68 -0
  2089. package/dist/session/composer/sent-attachment-previews.d.ts +59 -0
  2090. package/dist/session/composer/sent-attachment-previews.js +128 -0
  2091. package/dist/session/composer/session-chat-input.d.ts +8 -0
  2092. package/dist/session/composer/session-chat-input.js +7 -0
  2093. package/dist/session/composer/session-composer-readiness.d.ts +173 -0
  2094. package/dist/session/composer/session-composer-readiness.js +158 -0
  2095. package/dist/session/composer/stores/queued-draft-store.d.ts +46 -0
  2096. package/dist/session/composer/stores/queued-draft-store.js +33 -0
  2097. package/dist/session/composer/stores/session-composer-handoff-store.d.ts +125 -0
  2098. package/dist/session/composer/stores/session-composer-handoff-store.js +142 -0
  2099. package/dist/session/composer/stores/session-composer-prefill-store.d.ts +54 -0
  2100. package/dist/session/composer/stores/session-composer-prefill-store.js +57 -0
  2101. package/dist/session/composer/submit-latch.d.ts +9 -0
  2102. package/dist/session/composer/submit-latch.js +27 -0
  2103. package/dist/session/composer/token-progress.d.ts +35 -0
  2104. package/dist/session/composer/token-progress.js +102 -0
  2105. package/dist/session/composer/types.d.ts +60 -0
  2106. package/dist/session/composer/types.js +9 -0
  2107. package/dist/session/composer/uploaded-file-refs.d.ts +51 -0
  2108. package/dist/session/composer/uploaded-file-refs.js +90 -0
  2109. package/dist/session/composer/use-instant-session-send.d.ts +82 -0
  2110. package/dist/session/composer/use-instant-session-send.js +383 -0
  2111. package/dist/session/header/compact-modal.d.ts +10 -0
  2112. package/dist/session/header/compact-modal.js +24 -0
  2113. package/dist/session/header/export-transcript-modal.d.ts +31 -0
  2114. package/dist/session/header/export-transcript-modal.js +158 -0
  2115. package/dist/session/header/session-changes-indicator.d.ts +3 -0
  2116. package/dist/session/header/session-changes-indicator.js +82 -0
  2117. package/dist/session/header/session-config-indicator.d.ts +34 -0
  2118. package/dist/session/header/session-config-indicator.js +127 -0
  2119. package/dist/session/header/session-pending-approvals-indicator.d.ts +3 -0
  2120. package/dist/session/header/session-pending-approvals-indicator.js +43 -0
  2121. package/dist/session/header/session-reload-progress-view.d.ts +4 -0
  2122. package/dist/session/header/session-reload-progress-view.js +12 -0
  2123. package/dist/session/header/session-reminders-indicator.d.ts +3 -0
  2124. package/dist/session/header/session-reminders-indicator.js +78 -0
  2125. package/dist/session/header/session-site-header.d.ts +12 -0
  2126. package/dist/session/header/session-site-header.js +287 -0
  2127. package/dist/session/header/session-title-input.d.ts +20 -0
  2128. package/dist/session/header/session-title-input.js +56 -0
  2129. package/dist/session/header/subagent-hover-card.d.ts +23 -0
  2130. package/dist/session/header/subagent-hover-card.js +35 -0
  2131. package/dist/session/index.d.ts +65 -0
  2132. package/dist/session/index.js +63 -0
  2133. package/dist/session/media/image-output-path.d.ts +9 -0
  2134. package/dist/session/media/image-output-path.js +43 -0
  2135. package/dist/session/media/image-preview.d.ts +11 -0
  2136. package/dist/session/media/image-preview.js +13 -0
  2137. package/dist/session/media/sandbox-image.d.ts +24 -0
  2138. package/dist/session/media/sandbox-image.js +144 -0
  2139. package/dist/session/media/sandbox-url-detector.d.ts +29 -0
  2140. package/dist/session/media/sandbox-url-detector.js +180 -0
  2141. package/dist/session/models/ask-owner-for-credits-button.d.ts +7 -0
  2142. package/dist/session/models/ask-owner-for-credits-button.js +33 -0
  2143. package/dist/session/models/chatgpt-connection-action.d.ts +22 -0
  2144. package/dist/session/models/chatgpt-connection-action.js +33 -0
  2145. package/dist/session/models/model-availability.d.ts +48 -0
  2146. package/dist/session/models/model-availability.js +40 -0
  2147. package/dist/session/models/model-connection-gate.d.ts +38 -0
  2148. package/dist/session/models/model-connection-gate.js +76 -0
  2149. package/dist/session/models/model-grouping.d.ts +85 -0
  2150. package/dist/session/models/model-grouping.js +125 -0
  2151. package/dist/session/models/model-search-empty.d.ts +6 -0
  2152. package/dist/session/models/model-search-empty.js +10 -0
  2153. package/dist/session/models/model-selector.d.ts +86 -0
  2154. package/dist/session/models/model-selector.js +328 -0
  2155. package/dist/session/models/model-tags.d.ts +27 -0
  2156. package/dist/session/models/model-tags.js +35 -0
  2157. package/dist/session/models/provider-failure-recovery.d.ts +11 -0
  2158. package/dist/session/models/provider-failure-recovery.js +12 -0
  2159. package/dist/session/models/use-model-connection-gate.d.ts +57 -0
  2160. package/dist/session/models/use-model-connection-gate.js +162 -0
  2161. package/dist/session/outcomes/anchor-outcomes.d.ts +18 -0
  2162. package/dist/session/outcomes/anchor-outcomes.js +48 -0
  2163. package/dist/session/outcomes/change-request-outcomes.d.ts +28 -0
  2164. package/dist/session/outcomes/change-request-outcomes.js +80 -0
  2165. package/dist/session/outcomes/session-outcomes-provider.d.ts +14 -0
  2166. package/dist/session/outcomes/session-outcomes-provider.js +79 -0
  2167. package/dist/session/outcomes/turn-outcomes.d.ts +10 -0
  2168. package/dist/session/outcomes/turn-outcomes.js +38 -0
  2169. package/dist/session/overrides/provider-pool-draft-context.d.ts +17 -0
  2170. package/dist/session/overrides/provider-pool-draft-context.js +26 -0
  2171. package/dist/session/overrides/provider-pool-draft.d.ts +48 -0
  2172. package/dist/session/overrides/provider-pool-draft.js +62 -0
  2173. package/dist/session/overrides/provider-secret-pool-editor.d.ts +13 -0
  2174. package/dist/session/overrides/provider-secret-pool-editor.js +110 -0
  2175. package/dist/session/overrides/session-overrides-composer.d.ts +44 -0
  2176. package/dist/session/overrides/session-overrides-composer.js +37 -0
  2177. package/dist/session/overrides/session-overrides-control.d.ts +71 -0
  2178. package/dist/session/overrides/session-overrides-control.js +71 -0
  2179. package/dist/session/overrides/session-overrides-toolbar.d.ts +56 -0
  2180. package/dist/session/overrides/session-overrides-toolbar.js +323 -0
  2181. package/dist/session/panel/action-panel.d.ts +1 -0
  2182. package/dist/session/panel/action-panel.js +28 -0
  2183. package/dist/session/panel/advanced/advanced-panel.d.ts +15 -0
  2184. package/dist/session/panel/advanced/advanced-panel.js +67 -0
  2185. package/dist/session/panel/audit/audit-credential-label.d.ts +20 -0
  2186. package/dist/session/panel/audit/audit-credential-label.js +22 -0
  2187. package/dist/session/panel/diff-dialog.d.ts +7 -0
  2188. package/dist/session/panel/diff-dialog.js +24 -0
  2189. package/dist/session/panel/easy/app-preview.d.ts +19 -0
  2190. package/dist/session/panel/easy/app-preview.js +270 -0
  2191. package/dist/session/panel/easy/apps-card.d.ts +5 -0
  2192. package/dist/session/panel/easy/apps-card.js +67 -0
  2193. package/dist/session/panel/easy/context-card.d.ts +18 -0
  2194. package/dist/session/panel/easy/context-card.js +150 -0
  2195. package/dist/session/panel/easy/detail-view.d.ts +193 -0
  2196. package/dist/session/panel/easy/detail-view.js +385 -0
  2197. package/dist/session/panel/easy/easy-panel-logic.d.ts +187 -0
  2198. package/dist/session/panel/easy/easy-panel-logic.js +241 -0
  2199. package/dist/session/panel/easy/easy-panel.d.ts +1 -0
  2200. package/dist/session/panel/easy/easy-panel.js +66 -0
  2201. package/dist/session/panel/easy/file-preview.d.ts +58 -0
  2202. package/dist/session/panel/easy/file-preview.js +250 -0
  2203. package/dist/session/panel/easy/outputs-card.d.ts +22 -0
  2204. package/dist/session/panel/easy/outputs-card.js +209 -0
  2205. package/dist/session/panel/easy/panel-card.d.ts +58 -0
  2206. package/dist/session/panel/easy/panel-card.js +44 -0
  2207. package/dist/session/panel/easy/plan-card.d.ts +20 -0
  2208. package/dist/session/panel/easy/plan-card.js +108 -0
  2209. package/dist/session/panel/easy/preview-load.d.ts +193 -0
  2210. package/dist/session/panel/easy/preview-load.js +165 -0
  2211. package/dist/session/panel/easy/step-detail-body.d.ts +24 -0
  2212. package/dist/session/panel/easy/step-detail-body.js +33 -0
  2213. package/dist/session/panel/easy/step-icon.d.ts +6 -0
  2214. package/dist/session/panel/easy/step-icon.js +44 -0
  2215. package/dist/session/panel/index.d.ts +17 -0
  2216. package/dist/session/panel/index.js +17 -0
  2217. package/dist/session/panel/mobile-tool-drawer.d.ts +5 -0
  2218. package/dist/session/panel/mobile-tool-drawer.js +42 -0
  2219. package/dist/session/panel/open-session-quick-view.d.ts +6 -0
  2220. package/dist/session/panel/open-session-quick-view.js +76 -0
  2221. package/dist/session/panel/panel-fallback.d.ts +8 -0
  2222. package/dist/session/panel/panel-fallback.js +62 -0
  2223. package/dist/session/panel/session-action-panel-column.d.ts +11 -0
  2224. package/dist/session/panel/session-action-panel-column.js +180 -0
  2225. package/dist/session/panel/session-audit-panel.d.ts +4 -0
  2226. package/dist/session/panel/session-audit-panel.js +100 -0
  2227. package/dist/session/panel/session-audit-shared.d.ts +102 -0
  2228. package/dist/session/panel/session-audit-shared.js +188 -0
  2229. package/dist/session/panel/session-changes-shared.d.ts +57 -0
  2230. package/dist/session/panel/session-changes-shared.js +92 -0
  2231. package/dist/session/panel/session-detail-panel.d.ts +1 -0
  2232. package/dist/session/panel/session-detail-panel.js +50 -0
  2233. package/dist/session/panel/session-diff-viewer.d.ts +12 -0
  2234. package/dist/session/panel/session-diff-viewer.js +60 -0
  2235. package/dist/session/panel/session-files-explorer-logic.d.ts +47 -0
  2236. package/dist/session/panel/session-files-explorer-logic.js +48 -0
  2237. package/dist/session/panel/session-files-explorer.d.ts +38 -0
  2238. package/dist/session/panel/session-files-explorer.js +114 -0
  2239. package/dist/session/panel/session-files-panel.d.ts +22 -0
  2240. package/dist/session/panel/session-files-panel.js +98 -0
  2241. package/dist/session/panel/session-files-store-registry.d.ts +3 -0
  2242. package/dist/session/panel/session-files-store-registry.js +23 -0
  2243. package/dist/session/panel/session-panel-header.d.ts +15 -0
  2244. package/dist/session/panel/session-panel-header.js +23 -0
  2245. package/dist/session/panel/session-panel-provider.d.ts +59 -0
  2246. package/dist/session/panel/session-panel-provider.js +569 -0
  2247. package/dist/session/panel/session-panel-sizing.d.ts +82 -0
  2248. package/dist/session/panel/session-panel-sizing.js +109 -0
  2249. package/dist/session/panel/session-wallpaper-layer.d.ts +13 -0
  2250. package/dist/session/panel/session-wallpaper-layer.js +17 -0
  2251. package/dist/session/panel/shared/action-navigator-logic.d.ts +44 -0
  2252. package/dist/session/panel/shared/action-navigator-logic.js +69 -0
  2253. package/dist/session/panel/shared/action-navigator.d.ts +11 -0
  2254. package/dist/session/panel/shared/action-navigator.js +65 -0
  2255. package/dist/session/panel/shared/collect-tool-parts.d.ts +38 -0
  2256. package/dist/session/panel/shared/collect-tool-parts.js +56 -0
  2257. package/dist/session/panel/shared/deliverable-readiness.d.ts +22 -0
  2258. package/dist/session/panel/shared/deliverable-readiness.js +34 -0
  2259. package/dist/session/panel/shared/derive-panels.d.ts +81 -0
  2260. package/dist/session/panel/shared/derive-panels.js +475 -0
  2261. package/dist/session/panel/shared/latest-run.d.ts +9 -0
  2262. package/dist/session/panel/shared/latest-run.js +22 -0
  2263. package/dist/session/panel/shared/output-priority.d.ts +40 -0
  2264. package/dist/session/panel/shared/output-priority.js +119 -0
  2265. package/dist/session/panel/shared/run-outcome.d.ts +13 -0
  2266. package/dist/session/panel/shared/run-outcome.js +34 -0
  2267. package/dist/session/panel/shared/use-deliverable-readiness.d.ts +9 -0
  2268. package/dist/session/panel/shared/use-deliverable-readiness.js +90 -0
  2269. package/dist/session/panel/shared/use-panel-derivations.d.ts +23 -0
  2270. package/dist/session/panel/shared/use-panel-derivations.js +64 -0
  2271. package/dist/session/panel/shared/use-panel-handoffs.d.ts +13 -0
  2272. package/dist/session/panel/shared/use-panel-handoffs.js +170 -0
  2273. package/dist/session/panel/use-session-panel-layout.d.ts +22 -0
  2274. package/dist/session/panel/use-session-panel-layout.js +222 -0
  2275. package/dist/session/panel/use-session-panel-state.d.ts +19 -0
  2276. package/dist/session/panel/use-session-panel-state.js +116 -0
  2277. package/dist/session/participants/session-participants.d.ts +29 -0
  2278. package/dist/session/participants/session-participants.js +58 -0
  2279. package/dist/session/print/load-entire-history.d.ts +66 -0
  2280. package/dist/session/print/load-entire-history.js +61 -0
  2281. package/dist/session/print/print-chain.d.ts +64 -0
  2282. package/dist/session/print/print-chain.js +69 -0
  2283. package/dist/session/print/session-print-header.d.ts +26 -0
  2284. package/dist/session/print/session-print-header.js +32 -0
  2285. package/dist/session/print/use-session-print.d.ts +45 -0
  2286. package/dist/session/print/use-session-print.js +108 -0
  2287. package/dist/session/prompts/approval-request.d.ts +195 -0
  2288. package/dist/session/prompts/approval-request.js +514 -0
  2289. package/dist/session/prompts/question-prompt.d.ts +26 -0
  2290. package/dist/session/prompts/question-prompt.js +224 -0
  2291. package/dist/session/prompts/session-approval-prompt.d.ts +68 -0
  2292. package/dist/session/prompts/session-approval-prompt.js +169 -0
  2293. package/dist/session/prompts/session-approval-review.d.ts +85 -0
  2294. package/dist/session/prompts/session-approval-review.js +176 -0
  2295. package/dist/session/prompts/session-permission-prompt.d.ts +19 -0
  2296. package/dist/session/prompts/session-permission-prompt.js +223 -0
  2297. package/dist/session/scope/create-scoped-session.d.ts +12 -0
  2298. package/dist/session/scope/create-scoped-session.js +28 -0
  2299. package/dist/session/scope/session-scope-control.d.ts +31 -0
  2300. package/dist/session/scope/session-scope-control.js +83 -0
  2301. package/dist/session/scope/session-scope-model.d.ts +113 -0
  2302. package/dist/session/scope/session-scope-model.js +249 -0
  2303. package/dist/session/scope/session-scope-toolbar.d.ts +22 -0
  2304. package/dist/session/scope/session-scope-toolbar.js +76 -0
  2305. package/dist/session/scope/use-session-scope.d.ts +61 -0
  2306. package/dist/session/scope/use-session-scope.js +206 -0
  2307. package/dist/session/status/agent-git-reconciliation.d.ts +2 -0
  2308. package/dist/session/status/agent-git-reconciliation.js +32 -0
  2309. package/dist/session/status/previous-repository-session.d.ts +17 -0
  2310. package/dist/session/status/previous-repository-session.js +130 -0
  2311. package/dist/session/status/provisioning-failure.d.ts +22 -0
  2312. package/dist/session/status/provisioning-failure.js +97 -0
  2313. package/dist/session/status/reload-forensics.d.ts +77 -0
  2314. package/dist/session/status/reload-forensics.js +200 -0
  2315. package/dist/session/status/sandbox-loading-boundary.d.ts +3 -0
  2316. package/dist/session/status/sandbox-loading-boundary.js +43 -0
  2317. package/dist/session/status/session-busy-indicator.d.ts +19 -0
  2318. package/dist/session/status/session-busy-indicator.js +55 -0
  2319. package/dist/session/status/session-chat-busy.d.ts +17 -0
  2320. package/dist/session/status/session-chat-busy.js +15 -0
  2321. package/dist/session/status/session-error-banner.d.ts +82 -0
  2322. package/dist/session/status/session-error-banner.js +327 -0
  2323. package/dist/session/status/session-load-state.d.ts +98 -0
  2324. package/dist/session/status/session-load-state.js +86 -0
  2325. package/dist/session/status/session-notice-banner.d.ts +27 -0
  2326. package/dist/session/status/session-notice-banner.js +27 -0
  2327. package/dist/session/status/session-resume.d.ts +126 -0
  2328. package/dist/session/status/session-resume.js +142 -0
  2329. package/dist/session/status/session-route-prefetch.d.ts +40 -0
  2330. package/dist/session/status/session-route-prefetch.js +18 -0
  2331. package/dist/session/status/session-start-gate.d.ts +27 -0
  2332. package/dist/session/status/session-start-gate.js +25 -0
  2333. package/dist/session/status/session-starting-loader.d.ts +83 -0
  2334. package/dist/session/status/session-starting-loader.js +190 -0
  2335. package/dist/session/status/session-surface.d.ts +175 -0
  2336. package/dist/session/status/session-surface.js +129 -0
  2337. package/dist/session/status/session-tab-title-sync.d.ts +20 -0
  2338. package/dist/session/status/session-tab-title-sync.js +44 -0
  2339. package/dist/session/status/session-tab-title.d.ts +33 -0
  2340. package/dist/session/status/session-tab-title.js +60 -0
  2341. package/dist/session/status/session-terminal-state.d.ts +70 -0
  2342. package/dist/session/status/session-terminal-state.js +62 -0
  2343. package/dist/session/status/stop-refusal.d.ts +14 -0
  2344. package/dist/session/status/stop-refusal.js +21 -0
  2345. package/dist/session/status/use-readiness-settling.d.ts +18 -0
  2346. package/dist/session/status/use-readiness-settling.js +43 -0
  2347. package/dist/session/thread/chat-minimap-items.d.ts +94 -0
  2348. package/dist/session/thread/chat-minimap-items.js +234 -0
  2349. package/dist/session/thread/chat-minimap.d.ts +8 -0
  2350. package/dist/session/thread/chat-minimap.js +138 -0
  2351. package/dist/session/thread/detect-command.d.ts +13 -0
  2352. package/dist/session/thread/detect-command.js +117 -0
  2353. package/dist/session/thread/first-prompt-handover.d.ts +54 -0
  2354. package/dist/session/thread/first-prompt-handover.js +78 -0
  2355. package/dist/session/thread/mention-chip.d.ts +51 -0
  2356. package/dist/session/thread/mention-chip.js +86 -0
  2357. package/dist/session/thread/mention-segments.d.ts +47 -0
  2358. package/dist/session/thread/mention-segments.js +117 -0
  2359. package/dist/session/thread/message-parsing.d.ts +80 -0
  2360. package/dist/session/thread/message-parsing.js +244 -0
  2361. package/dist/session/thread/optimistic-turn.d.ts +89 -0
  2362. package/dist/session/thread/optimistic-turn.js +207 -0
  2363. package/dist/session/thread/persisted-turn-failure.d.ts +25 -0
  2364. package/dist/session/thread/persisted-turn-failure.js +36 -0
  2365. package/dist/session/thread/pinned-root-session.d.ts +16 -0
  2366. package/dist/session/thread/pinned-root-session.js +18 -0
  2367. package/dist/session/thread/plan-surface.d.ts +9 -0
  2368. package/dist/session/thread/plan-surface.js +29 -0
  2369. package/dist/session/thread/reply-context.d.ts +38 -0
  2370. package/dist/session/thread/reply-context.js +179 -0
  2371. package/dist/session/thread/session-body.d.ts +28 -0
  2372. package/dist/session/thread/session-body.js +50 -0
  2373. package/dist/session/thread/session-chat.d.ts +62 -0
  2374. package/dist/session/thread/session-chat.js +3657 -0
  2375. package/dist/session/thread/session-context-message-explorer.d.ts +44 -0
  2376. package/dist/session/thread/session-context-message-explorer.js +118 -0
  2377. package/dist/session/thread/session-context-metrics.d.ts +24 -0
  2378. package/dist/session/thread/session-context-metrics.js +44 -0
  2379. package/dist/session/thread/session-context-modal.d.ts +34 -0
  2380. package/dist/session/thread/session-context-modal.js +228 -0
  2381. package/dist/session/thread/session-context-sub-sessions.d.ts +16 -0
  2382. package/dist/session/thread/session-context-sub-sessions.js +142 -0
  2383. package/dist/session/thread/session-history-scroll.d.ts +55 -0
  2384. package/dist/session/thread/session-history-scroll.js +88 -0
  2385. package/dist/session/thread/session-history.d.ts +22 -0
  2386. package/dist/session/thread/session-history.js +90 -0
  2387. package/dist/session/thread/session-older-autoload.d.ts +82 -0
  2388. package/dist/session/thread/session-older-autoload.js +55 -0
  2389. package/dist/session/thread/session-older-loading.d.ts +41 -0
  2390. package/dist/session/thread/session-older-loading.js +57 -0
  2391. package/dist/session/thread/session-thread.d.ts +26 -0
  2392. package/dist/session/thread/session-thread.js +13 -0
  2393. package/dist/session/thread/session-transcript-class.d.ts +19 -0
  2394. package/dist/session/thread/session-transcript-class.js +19 -0
  2395. package/dist/session/thread/session-turn-meta-rows.d.ts +44 -0
  2396. package/dist/session/thread/session-turn-meta-rows.js +82 -0
  2397. package/dist/session/thread/session-turn-meta.d.ts +9 -0
  2398. package/dist/session/thread/session-turn-meta.js +54 -0
  2399. package/dist/session/thread/session-welcome.d.ts +1 -0
  2400. package/dist/session/thread/session-welcome.js +7 -0
  2401. package/dist/session/thread/sub-session-modal-content.d.ts +8 -0
  2402. package/dist/session/thread/sub-session-modal-content.js +23 -0
  2403. package/dist/session/thread/sub-session-modal.d.ts +2 -0
  2404. package/dist/session/thread/sub-session-modal.js +14 -0
  2405. package/dist/session/thread/transcript.d.ts +351 -0
  2406. package/dist/session/thread/transcript.js +1213 -0
  2407. package/dist/session/tool/foreign-tool-calls.d.ts +11 -0
  2408. package/dist/session/tool/foreign-tool-calls.js +60 -0
  2409. package/dist/session/tool/generic-tool.d.ts +16 -0
  2410. package/dist/session/tool/generic-tool.js +74 -0
  2411. package/dist/session/tool/inline-permission-reply.d.ts +8 -0
  2412. package/dist/session/tool/inline-permission-reply.js +18 -0
  2413. package/dist/session/tool/shared/error-and-connector.d.ts +19 -0
  2414. package/dist/session/tool/shared/error-and-connector.js +106 -0
  2415. package/dist/session/tool/shared/file-list.d.ts +35 -0
  2416. package/dist/session/tool/shared/file-list.js +91 -0
  2417. package/dist/session/tool/shared/infrastructure-contexts.d.ts +65 -0
  2418. package/dist/session/tool/shared/infrastructure-contexts.js +101 -0
  2419. package/dist/session/tool/shared/infrastructure-files.d.ts +60 -0
  2420. package/dist/session/tool/shared/infrastructure-files.js +129 -0
  2421. package/dist/session/tool/shared/infrastructure-output.d.ts +32 -0
  2422. package/dist/session/tool/shared/infrastructure-output.js +93 -0
  2423. package/dist/session/tool/shared/infrastructure-parts.d.ts +18 -0
  2424. package/dist/session/tool/shared/infrastructure-parts.js +201 -0
  2425. package/dist/session/tool/shared/infrastructure-preview.d.ts +60 -0
  2426. package/dist/session/tool/shared/infrastructure-preview.js +245 -0
  2427. package/dist/session/tool/shared/infrastructure-row-header.d.ts +53 -0
  2428. package/dist/session/tool/shared/infrastructure-row-header.js +133 -0
  2429. package/dist/session/tool/shared/infrastructure-rows.d.ts +2 -0
  2430. package/dist/session/tool/shared/infrastructure-rows.js +153 -0
  2431. package/dist/session/tool/shared/infrastructure.d.ts +9 -0
  2432. package/dist/session/tool/shared/infrastructure.js +10 -0
  2433. package/dist/session/tool/shared/output-block.d.ts +66 -0
  2434. package/dist/session/tool/shared/output-block.js +71 -0
  2435. package/dist/session/tool/shared/patch-helpers.d.ts +26 -0
  2436. package/dist/session/tool/shared/patch-helpers.js +52 -0
  2437. package/dist/session/tool/shared/registry.d.ts +17 -0
  2438. package/dist/session/tool/shared/registry.js +55 -0
  2439. package/dist/session/tool/shared/result-card.d.ts +28 -0
  2440. package/dist/session/tool/shared/result-card.js +54 -0
  2441. package/dist/session/tool/shared/session-helpers.d.ts +17 -0
  2442. package/dist/session/tool/shared/session-helpers.js +116 -0
  2443. package/dist/session/tool/shared/show-helpers.d.ts +96 -0
  2444. package/dist/session/tool/shared/show-helpers.js +359 -0
  2445. package/dist/session/tool/shared/structured-output.d.ts +4 -0
  2446. package/dist/session/tool/shared/structured-output.js +51 -0
  2447. package/dist/session/tool/shared/sub-agent.d.ts +57 -0
  2448. package/dist/session/tool/shared/sub-agent.js +103 -0
  2449. package/dist/session/tool/shared/surface.d.ts +80 -0
  2450. package/dist/session/tool/shared/surface.js +84 -0
  2451. package/dist/session/tool/shared/todo-helpers.d.ts +24 -0
  2452. package/dist/session/tool/shared/todo-helpers.js +95 -0
  2453. package/dist/session/tool/shared/tool-action-bar.d.ts +21 -0
  2454. package/dist/session/tool/shared/tool-action-bar.js +14 -0
  2455. package/dist/session/tool/shared/types.d.ts +42 -0
  2456. package/dist/session/tool/shared/types.js +1 -0
  2457. package/dist/session/tool/shared/web-source-row.d.ts +4 -0
  2458. package/dist/session/tool/shared/web-source-row.js +26 -0
  2459. package/dist/session/tool/show-group-renderer.d.ts +19 -0
  2460. package/dist/session/tool/show-group-renderer.js +22 -0
  2461. package/dist/session/tool/tool-error.d.ts +4 -0
  2462. package/dist/session/tool/tool-error.js +30 -0
  2463. package/dist/session/tool/tool-meta.d.ts +15 -0
  2464. package/dist/session/tool/tool-meta.js +27 -0
  2465. package/dist/session/tool/tool-part-renderer.d.ts +39 -0
  2466. package/dist/session/tool/tool-part-renderer.js +150 -0
  2467. package/dist/session/tool/tool-renderers.d.ts +8 -0
  2468. package/dist/session/tool/tool-renderers.js +8 -0
  2469. package/dist/session/tool/tools/agent-message-tool.d.ts +2 -0
  2470. package/dist/session/tool/tools/agent-message-tool.js +29 -0
  2471. package/dist/session/tool/tools/agent-spawn-tool.d.ts +2 -0
  2472. package/dist/session/tool/tools/agent-spawn-tool.js +69 -0
  2473. package/dist/session/tool/tools/agent-status-tool.d.ts +2 -0
  2474. package/dist/session/tool/tools/agent-status-tool.js +47 -0
  2475. package/dist/session/tool/tools/agent-stop-tool.d.ts +2 -0
  2476. package/dist/session/tool/tools/agent-stop-tool.js +17 -0
  2477. package/dist/session/tool/tools/agent-task-update-tool.d.ts +2 -0
  2478. package/dist/session/tool/tools/agent-task-update-tool.js +43 -0
  2479. package/dist/session/tool/tools/apply-patch-tool.d.ts +2 -0
  2480. package/dist/session/tool/tools/apply-patch-tool.js +122 -0
  2481. package/dist/session/tool/tools/bash-tool.d.ts +54 -0
  2482. package/dist/session/tool/tools/bash-tool.js +279 -0
  2483. package/dist/session/tool/tools/channel-send-card.d.ts +18 -0
  2484. package/dist/session/tool/tools/channel-send-card.js +42 -0
  2485. package/dist/session/tool/tools/channel-send.d.ts +38 -0
  2486. package/dist/session/tool/tools/channel-send.js +191 -0
  2487. package/dist/session/tool/tools/codemode-tool.d.ts +21 -0
  2488. package/dist/session/tool/tools/codemode-tool.js +106 -0
  2489. package/dist/session/tool/tools/connector-get-tool.d.ts +2 -0
  2490. package/dist/session/tool/tools/connector-get-tool.js +22 -0
  2491. package/dist/session/tool/tools/connector-list-tool.d.ts +2 -0
  2492. package/dist/session/tool/tools/connector-list-tool.js +27 -0
  2493. package/dist/session/tool/tools/connector-setup-tool.d.ts +2 -0
  2494. package/dist/session/tool/tools/connector-setup-tool.js +39 -0
  2495. package/dist/session/tool/tools/connector-tools.d.ts +5 -0
  2496. package/dist/session/tool/tools/connector-tools.js +129 -0
  2497. package/dist/session/tool/tools/edit-tool.d.ts +2 -0
  2498. package/dist/session/tool/tools/edit-tool.js +123 -0
  2499. package/dist/session/tool/tools/get-mem-tool.d.ts +2 -0
  2500. package/dist/session/tool/tools/get-mem-tool.js +57 -0
  2501. package/dist/session/tool/tools/glob-tool.d.ts +2 -0
  2502. package/dist/session/tool/tools/glob-tool.js +70 -0
  2503. package/dist/session/tool/tools/grep-tool.d.ts +2 -0
  2504. package/dist/session/tool/tools/grep-tool.js +48 -0
  2505. package/dist/session/tool/tools/image-gen-tool.d.ts +2 -0
  2506. package/dist/session/tool/tools/image-gen-tool.js +61 -0
  2507. package/dist/session/tool/tools/image-search-tool.d.ts +2 -0
  2508. package/dist/session/tool/tools/image-search-tool.js +90 -0
  2509. package/dist/session/tool/tools/list-tool.d.ts +2 -0
  2510. package/dist/session/tool/tools/list-tool.js +57 -0
  2511. package/dist/session/tool/tools/memory-search-tool.d.ts +11 -0
  2512. package/dist/session/tool/tools/memory-search-tool.js +65 -0
  2513. package/dist/session/tool/tools/memory-tool.d.ts +51 -0
  2514. package/dist/session/tool/tools/memory-tool.js +175 -0
  2515. package/dist/session/tool/tools/presentation-gen-tool.d.ts +2 -0
  2516. package/dist/session/tool/tools/presentation-gen-tool.js +83 -0
  2517. package/dist/session/tool/tools/project-create-tool.d.ts +2 -0
  2518. package/dist/session/tool/tools/project-create-tool.js +39 -0
  2519. package/dist/session/tool/tools/project-delete-tool.d.ts +2 -0
  2520. package/dist/session/tool/tools/project-delete-tool.js +55 -0
  2521. package/dist/session/tool/tools/project-get-tool.d.ts +2 -0
  2522. package/dist/session/tool/tools/project-get-tool.js +24 -0
  2523. package/dist/session/tool/tools/project-list-tool.d.ts +2 -0
  2524. package/dist/session/tool/tools/project-list-tool.js +22 -0
  2525. package/dist/session/tool/tools/project-select-tool.d.ts +2 -0
  2526. package/dist/session/tool/tools/project-select-tool.js +36 -0
  2527. package/dist/session/tool/tools/pty-kill-tool.d.ts +2 -0
  2528. package/dist/session/tool/tools/pty-kill-tool.js +26 -0
  2529. package/dist/session/tool/tools/pty-read-tool.d.ts +21 -0
  2530. package/dist/session/tool/tools/pty-read-tool.js +100 -0
  2531. package/dist/session/tool/tools/pty-spawn-tool.d.ts +2 -0
  2532. package/dist/session/tool/tools/pty-spawn-tool.js +54 -0
  2533. package/dist/session/tool/tools/pty-write-tool.d.ts +2 -0
  2534. package/dist/session/tool/tools/pty-write-tool.js +20 -0
  2535. package/dist/session/tool/tools/question-tool.d.ts +2 -0
  2536. package/dist/session/tool/tools/question-tool.js +79 -0
  2537. package/dist/session/tool/tools/read-tool.d.ts +2 -0
  2538. package/dist/session/tool/tools/read-tool.js +72 -0
  2539. package/dist/session/tool/tools/register.d.ts +55 -0
  2540. package/dist/session/tool/tools/register.js +55 -0
  2541. package/dist/session/tool/tools/removed-connector-tool.d.ts +2 -0
  2542. package/dist/session/tool/tools/removed-connector-tool.js +21 -0
  2543. package/dist/session/tool/tools/scrape-webpage-tool.d.ts +2 -0
  2544. package/dist/session/tool/tools/scrape-webpage-tool.js +81 -0
  2545. package/dist/session/tool/tools/session-get-tool.d.ts +3 -0
  2546. package/dist/session/tool/tools/session-get-tool.js +45 -0
  2547. package/dist/session/tool/tools/session-lineage-tool.d.ts +2 -0
  2548. package/dist/session/tool/tools/session-lineage-tool.js +28 -0
  2549. package/dist/session/tool/tools/session-list-background-tool.d.ts +2 -0
  2550. package/dist/session/tool/tools/session-list-background-tool.js +31 -0
  2551. package/dist/session/tool/tools/session-message-tool.d.ts +2 -0
  2552. package/dist/session/tool/tools/session-message-tool.js +23 -0
  2553. package/dist/session/tool/tools/session-read-tool.d.ts +2 -0
  2554. package/dist/session/tool/tools/session-read-tool.js +79 -0
  2555. package/dist/session/tool/tools/session-search-tool.d.ts +2 -0
  2556. package/dist/session/tool/tools/session-search-tool.js +31 -0
  2557. package/dist/session/tool/tools/session-spawn-tool.d.ts +2 -0
  2558. package/dist/session/tool/tools/session-spawn-tool.js +58 -0
  2559. package/dist/session/tool/tools/session-spawn-urls.d.ts +16 -0
  2560. package/dist/session/tool/tools/session-spawn-urls.js +26 -0
  2561. package/dist/session/tool/tools/session-stats-tool.d.ts +2 -0
  2562. package/dist/session/tool/tools/session-stats-tool.js +17 -0
  2563. package/dist/session/tool/tools/show-tool.d.ts +13 -0
  2564. package/dist/session/tool/tools/show-tool.js +197 -0
  2565. package/dist/session/tool/tools/skill-tool.d.ts +10 -0
  2566. package/dist/session/tool/tools/skill-tool.js +47 -0
  2567. package/dist/session/tool/tools/task-delete-tool.d.ts +2 -0
  2568. package/dist/session/tool/tools/task-delete-tool.js +21 -0
  2569. package/dist/session/tool/tools/task-done-tool.d.ts +2 -0
  2570. package/dist/session/tool/tools/task-done-tool.js +19 -0
  2571. package/dist/session/tool/tools/task-list-tool.d.ts +2 -0
  2572. package/dist/session/tool/tools/task-list-tool.js +21 -0
  2573. package/dist/session/tool/tools/task-tool.d.ts +24 -0
  2574. package/dist/session/tool/tools/task-tool.js +140 -0
  2575. package/dist/session/tool/tools/todo-write-tool.d.ts +2 -0
  2576. package/dist/session/tool/tools/todo-write-tool.js +53 -0
  2577. package/dist/session/tool/tools/triggers-tool.d.ts +2 -0
  2578. package/dist/session/tool/tools/triggers-tool.js +132 -0
  2579. package/dist/session/tool/tools/video-gen-tool.d.ts +2 -0
  2580. package/dist/session/tool/tools/video-gen-tool.js +21 -0
  2581. package/dist/session/tool/tools/web-fetch-tool.d.ts +2 -0
  2582. package/dist/session/tool/tools/web-fetch-tool.js +53 -0
  2583. package/dist/session/tool/tools/web-search-tool.d.ts +2 -0
  2584. package/dist/session/tool/tools/web-search-tool.js +64 -0
  2585. package/dist/session/tool/tools/write-tool.d.ts +23 -0
  2586. package/dist/session/tool/tools/write-tool.js +92 -0
  2587. package/dist/session/turn/activity-burst.d.ts +65 -0
  2588. package/dist/session/turn/activity-burst.js +117 -0
  2589. package/dist/session/turn/activity-file-chips.d.ts +44 -0
  2590. package/dist/session/turn/activity-file-chips.js +238 -0
  2591. package/dist/session/turn/activity-group-step.d.ts +101 -0
  2592. package/dist/session/turn/activity-group-step.js +62 -0
  2593. package/dist/session/turn/activity-step.d.ts +34 -0
  2594. package/dist/session/turn/activity-step.js +116 -0
  2595. package/dist/session/turn/answered-question-step.d.ts +15 -0
  2596. package/dist/session/turn/answered-question-step.js +58 -0
  2597. package/dist/session/turn/attachment-preview.d.ts +7 -0
  2598. package/dist/session/turn/attachment-preview.js +46 -0
  2599. package/dist/session/turn/burst-step-body.d.ts +20 -0
  2600. package/dist/session/turn/burst-step-body.js +64 -0
  2601. package/dist/session/turn/burst-summary-trigger.d.ts +7 -0
  2602. package/dist/session/turn/burst-summary-trigger.js +17 -0
  2603. package/dist/session/turn/chain-step-trigger.d.ts +7 -0
  2604. package/dist/session/turn/chain-step-trigger.js +7 -0
  2605. package/dist/session/turn/channel-brand.d.ts +22 -0
  2606. package/dist/session/turn/channel-brand.js +34 -0
  2607. package/dist/session/turn/channel-message.d.ts +27 -0
  2608. package/dist/session/turn/channel-message.js +33 -0
  2609. package/dist/session/turn/checkpoint.d.ts +8 -0
  2610. package/dist/session/turn/checkpoint.js +11 -0
  2611. package/dist/session/turn/compaction-card.d.ts +41 -0
  2612. package/dist/session/turn/compaction-card.js +82 -0
  2613. package/dist/session/turn/expandable-output.d.ts +87 -0
  2614. package/dist/session/turn/expandable-output.js +147 -0
  2615. package/dist/session/turn/fallback-row.d.ts +10 -0
  2616. package/dist/session/turn/fallback-row.js +31 -0
  2617. package/dist/session/turn/message-author-label.d.ts +5 -0
  2618. package/dist/session/turn/message-author-label.js +63 -0
  2619. package/dist/session/turn/message-author.d.ts +47 -0
  2620. package/dist/session/turn/message-author.js +75 -0
  2621. package/dist/session/turn/message-time-label.d.ts +14 -0
  2622. package/dist/session/turn/message-time-label.js +103 -0
  2623. package/dist/session/turn/plan-anchor.d.ts +92 -0
  2624. package/dist/session/turn/plan-anchor.js +59 -0
  2625. package/dist/session/turn/plan-card.d.ts +113 -0
  2626. package/dist/session/turn/plan-card.js +316 -0
  2627. package/dist/session/turn/queued-prompt-bubbles.d.ts +23 -0
  2628. package/dist/session/turn/queued-prompt-bubbles.js +27 -0
  2629. package/dist/session/turn/same-parts.d.ts +21 -0
  2630. package/dist/session/turn/same-parts.js +31 -0
  2631. package/dist/session/turn/served-model.d.ts +63 -0
  2632. package/dist/session/turn/served-model.js +92 -0
  2633. package/dist/session/turn/source-pill.d.ts +26 -0
  2634. package/dist/session/turn/source-pill.js +20 -0
  2635. package/dist/session/turn/status-elapsed.d.ts +12 -0
  2636. package/dist/session/turn/status-elapsed.js +14 -0
  2637. package/dist/session/turn/streaming-cadence.d.ts +69 -0
  2638. package/dist/session/turn/streaming-cadence.js +304 -0
  2639. package/dist/session/turn/thought-chain-step.d.ts +58 -0
  2640. package/dist/session/turn/thought-chain-step.js +161 -0
  2641. package/dist/session/turn/throttled-markdown.d.ts +38 -0
  2642. package/dist/session/turn/throttled-markdown.js +123 -0
  2643. package/dist/session/turn/turn-viewport.d.ts +146 -0
  2644. package/dist/session/turn/turn-viewport.js +165 -0
  2645. package/dist/session/turn/turn-work-accordion.d.ts +12 -0
  2646. package/dist/session/turn/turn-work-accordion.js +25 -0
  2647. package/dist/session/turn/user-message.d.ts +353 -0
  2648. package/dist/session/turn/user-message.js +1089 -0
  2649. package/dist/styles/components.css +187 -0
  2650. package/dist/styles/dotmatrix-loader.css +1239 -0
  2651. package/dist/styles/fonts.css +46 -0
  2652. package/dist/styles/print.css +461 -0
  2653. package/dist/styles/tailwind.css +10 -0
  2654. package/dist/styles/theme.css +1060 -0
  2655. package/dist/styles/tokens.css +146 -0
  2656. package/dist/styles.css +2 -0
  2657. package/dist/terminal/index.d.ts +7 -0
  2658. package/dist/terminal/index.js +7 -0
  2659. package/dist/terminal/pty-attach-status.d.ts +15 -0
  2660. package/dist/terminal/pty-attach-status.js +42 -0
  2661. package/dist/terminal/pty-connection.d.ts +83 -0
  2662. package/dist/terminal/pty-connection.js +86 -0
  2663. package/dist/terminal/pty-terminal-sanitize.d.ts +2 -0
  2664. package/dist/terminal/pty-terminal-sanitize.js +26 -0
  2665. package/dist/terminal/pty-terminal.d.ts +19 -0
  2666. package/dist/terminal/pty-terminal.js +162 -0
  2667. package/dist/terminal/session-terminal-connect-bar.d.ts +15 -0
  2668. package/dist/terminal/session-terminal-connect-bar.js +67 -0
  2669. package/dist/terminal/session-terminal-panel.d.ts +17 -0
  2670. package/dist/terminal/session-terminal-panel.js +242 -0
  2671. package/dist/terminal/terminal-card-gate.d.ts +51 -0
  2672. package/dist/terminal/terminal-card-gate.js +54 -0
  2673. package/dist/terminal/use-pty-connection.d.ts +59 -0
  2674. package/dist/terminal/use-pty-connection.js +380 -0
  2675. package/dist/theme/index.d.ts +3 -0
  2676. package/dist/theme/index.js +5 -0
  2677. package/dist/theme/theme-scope.d.ts +24 -0
  2678. package/dist/theme/theme-scope.js +39 -0
  2679. package/dist/theme/theme.d.ts +123 -0
  2680. package/dist/theme/theme.js +224 -0
  2681. package/dist/theme/wallpapers.d.ts +26 -0
  2682. package/dist/theme/wallpapers.js +54 -0
  2683. package/dist/workspace/home/access-requests-bell.d.ts +34 -0
  2684. package/dist/workspace/home/access-requests-bell.js +48 -0
  2685. package/dist/workspace/home/first-chat-name.d.ts +7 -0
  2686. package/dist/workspace/home/first-chat-name.js +12 -0
  2687. package/dist/workspace/home/first-chat.d.ts +39 -0
  2688. package/dist/workspace/home/first-chat.js +101 -0
  2689. package/dist/workspace/home/home-greeting.d.ts +34 -0
  2690. package/dist/workspace/home/home-greeting.js +27 -0
  2691. package/dist/workspace/home/mobile-app-promo.d.ts +7 -0
  2692. package/dist/workspace/home/mobile-app-promo.js +55 -0
  2693. package/dist/workspace/home/sandbox-picker.d.ts +13 -0
  2694. package/dist/workspace/home/sandbox-picker.js +24 -0
  2695. package/dist/workspace/home/welcome-body.d.ts +54 -0
  2696. package/dist/workspace/home/welcome-body.js +67 -0
  2697. package/dist/workspace/index.d.ts +25 -0
  2698. package/dist/workspace/index.js +25 -0
  2699. package/dist/workspace/instant-session-shell.d.ts +48 -0
  2700. package/dist/workspace/instant-session-shell.js +216 -0
  2701. package/dist/workspace/layout/new-session-create.d.ts +26 -0
  2702. package/dist/workspace/layout/new-session-create.js +41 -0
  2703. package/dist/workspace/layout/project-files-skeleton.d.ts +15 -0
  2704. package/dist/workspace/layout/project-files-skeleton.js +19 -0
  2705. package/dist/workspace/layout/project-files-view.d.ts +3 -0
  2706. package/dist/workspace/layout/project-files-view.js +54 -0
  2707. package/dist/workspace/layout/project-home.d.ts +39 -0
  2708. package/dist/workspace/layout/project-home.js +195 -0
  2709. package/dist/workspace/layout/resolve-files-ref.d.ts +29 -0
  2710. package/dist/workspace/layout/resolve-files-ref.js +18 -0
  2711. package/dist/workspace/layout/sidebar-cookie.d.ts +12 -0
  2712. package/dist/workspace/layout/sidebar-cookie.js +17 -0
  2713. package/dist/workspace/layout/use-project-home-send.d.ts +20 -0
  2714. package/dist/workspace/layout/use-project-home-send.js +136 -0
  2715. package/dist/workspace/new/account-param.d.ts +3 -0
  2716. package/dist/workspace/new/account-param.js +34 -0
  2717. package/dist/workspace/new/account-picker.d.ts +71 -0
  2718. package/dist/workspace/new/account-picker.js +92 -0
  2719. package/dist/workspace/new/advanced-fields.d.ts +30 -0
  2720. package/dist/workspace/new/advanced-fields.js +261 -0
  2721. package/dist/workspace/new/clone-param.d.ts +11 -0
  2722. package/dist/workspace/new/clone-param.js +15 -0
  2723. package/dist/workspace/new/create-workspace-key.d.ts +10 -0
  2724. package/dist/workspace/new/create-workspace-key.js +106 -0
  2725. package/dist/workspace/new/github-source.d.ts +136 -0
  2726. package/dist/workspace/new/github-source.js +205 -0
  2727. package/dist/workspace/new/github-user-authorization.d.ts +28 -0
  2728. package/dist/workspace/new/github-user-authorization.js +37 -0
  2729. package/dist/workspace/new/new-workspace-form.d.ts +179 -0
  2730. package/dist/workspace/new/new-workspace-form.js +247 -0
  2731. package/dist/workspace/new/repository-options.d.ts +89 -0
  2732. package/dist/workspace/new/repository-options.js +126 -0
  2733. package/dist/workspace/new/source-param.d.ts +19 -0
  2734. package/dist/workspace/new/source-param.js +20 -0
  2735. package/dist/workspace/new/use-creatable-accounts.d.ts +8 -0
  2736. package/dist/workspace/new/use-creatable-accounts.js +24 -0
  2737. package/dist/workspace/new/use-create-workspace.d.ts +520 -0
  2738. package/dist/workspace/new/use-create-workspace.js +751 -0
  2739. package/dist/workspace/new/use-project-quota.d.ts +24 -0
  2740. package/dist/workspace/new/use-project-quota.js +30 -0
  2741. package/dist/workspace/new/workspace-handoff.d.ts +52 -0
  2742. package/dist/workspace/new/workspace-handoff.js +76 -0
  2743. package/dist/workspace/new/workspace-name.d.ts +27 -0
  2744. package/dist/workspace/new/workspace-name.js +71 -0
  2745. package/dist/workspace/project-selector/project-selector-model.d.ts +99 -0
  2746. package/dist/workspace/project-selector/project-selector-model.js +151 -0
  2747. package/dist/workspace/projects/modal/github-import-pickers.d.ts +16 -0
  2748. package/dist/workspace/projects/modal/github-import-pickers.js +78 -0
  2749. package/dist/workspace/projects/modal/project-icon-field.d.ts +74 -0
  2750. package/dist/workspace/projects/modal/project-icon-field.js +225 -0
  2751. package/dist/workspace/projects/onboarding/app-logo.d.ts +5 -0
  2752. package/dist/workspace/projects/onboarding/app-logo.js +18 -0
  2753. package/dist/workspace/projects/onboarding/connect-app.d.ts +37 -0
  2754. package/dist/workspace/projects/onboarding/connect-app.js +48 -0
  2755. package/dist/workspace/projects/policies-panel.d.ts +58 -0
  2756. package/dist/workspace/projects/policies-panel.js +270 -0
  2757. package/dist/workspace/projects/session-shared-icon.d.ts +8 -0
  2758. package/dist/workspace/projects/session-shared-icon.js +12 -0
  2759. package/dist/workspace/projects/session-starter.d.ts +19 -0
  2760. package/dist/workspace/projects/session-starter.js +17 -0
  2761. package/dist/workspace/repository-disconnected.d.ts +12 -0
  2762. package/dist/workspace/repository-disconnected.js +28 -0
  2763. package/dist/workspace/review/approval-modal.d.ts +43 -0
  2764. package/dist/workspace/review/approval-modal.js +91 -0
  2765. package/dist/workspace/review/change-files.d.ts +3 -0
  2766. package/dist/workspace/review/change-files.js +58 -0
  2767. package/dist/workspace/review/hooks/use-review-items.d.ts +64 -0
  2768. package/dist/workspace/review/hooks/use-review-items.js +109 -0
  2769. package/dist/workspace/review/map.d.ts +24 -0
  2770. package/dist/workspace/review/map.js +47 -0
  2771. package/dist/workspace/review/mock-data.d.ts +10 -0
  2772. package/dist/workspace/review/mock-data.js +408 -0
  2773. package/dist/workspace/review/review-actions.d.ts +98 -0
  2774. package/dist/workspace/review/review-actions.js +177 -0
  2775. package/dist/workspace/review/review-center.d.ts +46 -0
  2776. package/dist/workspace/review/review-center.js +798 -0
  2777. package/dist/workspace/review/review-detail.d.ts +30 -0
  2778. package/dist/workspace/review/review-detail.js +210 -0
  2779. package/dist/workspace/review/review-meta.d.ts +59 -0
  2780. package/dist/workspace/review/review-meta.js +100 -0
  2781. package/dist/workspace/review/review-reducer.d.ts +51 -0
  2782. package/dist/workspace/review/review-reducer.js +120 -0
  2783. package/dist/workspace/review/types.d.ts +42 -0
  2784. package/dist/workspace/review/types.js +16 -0
  2785. package/dist/workspace/saved-session-skeleton-rows.d.ts +18 -0
  2786. package/dist/workspace/saved-session-skeleton-rows.js +20 -0
  2787. package/dist/workspace/saved-session-skeleton-shape.d.ts +65 -0
  2788. package/dist/workspace/saved-session-skeleton-shape.js +75 -0
  2789. package/dist/workspace/saved-session-skeleton.d.ts +7 -0
  2790. package/dist/workspace/saved-session-skeleton.js +43 -0
  2791. package/dist/workspace/session-workspace.d.ts +35 -0
  2792. package/dist/workspace/session-workspace.js +234 -0
  2793. package/dist/workspace/sessions/deleted-session-row.d.ts +11 -0
  2794. package/dist/workspace/sessions/deleted-session-row.js +25 -0
  2795. package/dist/workspace/sessions/project-sessions-helpers.d.ts +88 -0
  2796. package/dist/workspace/sessions/project-sessions-helpers.js +208 -0
  2797. package/dist/workspace/sessions/project-sessions-view.d.ts +3 -0
  2798. package/dist/workspace/sessions/project-sessions-view.js +571 -0
  2799. package/dist/workspace/sessions/session-detail.d.ts +10 -0
  2800. package/dist/workspace/sessions/session-detail.js +20 -0
  2801. package/dist/workspace/sessions/session-label-badges.d.ts +7 -0
  2802. package/dist/workspace/sessions/session-label-badges.js +13 -0
  2803. package/dist/workspace/sessions/session-owner-filters.d.ts +61 -0
  2804. package/dist/workspace/sessions/session-owner-filters.js +106 -0
  2805. package/dist/workspace/sessions/session-row.d.ts +57 -0
  2806. package/dist/workspace/sessions/session-row.js +156 -0
  2807. package/dist/workspace/sessions/session-starter-mark.d.ts +15 -0
  2808. package/dist/workspace/sessions/session-starter-mark.js +53 -0
  2809. package/dist/workspace/sessions/sessions-bulk-delete-dialog.d.ts +8 -0
  2810. package/dist/workspace/sessions/sessions-bulk-delete-dialog.js +15 -0
  2811. package/dist/workspace/sessions/sessions-empty-state.d.ts +16 -0
  2812. package/dist/workspace/sessions/sessions-empty-state.js +25 -0
  2813. package/dist/workspace/sessions/sessions-selection-bar.d.ts +15 -0
  2814. package/dist/workspace/sessions/sessions-selection-bar.js +14 -0
  2815. package/dist/workspace/sessions/sessions-toolbar.d.ts +18 -0
  2816. package/dist/workspace/sessions/sessions-toolbar.js +40 -0
  2817. package/dist/workspace/sidebar/customize-sidebar-modal.d.ts +9 -0
  2818. package/dist/workspace/sidebar/customize-sidebar-modal.js +198 -0
  2819. package/dist/workspace/sidebar/footer/project-apps-nav.d.ts +10 -0
  2820. package/dist/workspace/sidebar/footer/project-apps-nav.js +34 -0
  2821. package/dist/workspace/sidebar/footer/project-balance-warning.d.ts +10 -0
  2822. package/dist/workspace/sidebar/footer/project-balance-warning.js +47 -0
  2823. package/dist/workspace/sidebar/footer/project-computer-nav.d.ts +17 -0
  2824. package/dist/workspace/sidebar/footer/project-computer-nav.js +71 -0
  2825. package/dist/workspace/sidebar/footer/project-files-nav.d.ts +29 -0
  2826. package/dist/workspace/sidebar/footer/project-files-nav.js +80 -0
  2827. package/dist/workspace/sidebar/footer/project-manifest-upgrade-alert.d.ts +13 -0
  2828. package/dist/workspace/sidebar/footer/project-manifest-upgrade-alert.js +48 -0
  2829. package/dist/workspace/sidebar/footer/project-mcp-nav.d.ts +10 -0
  2830. package/dist/workspace/sidebar/footer/project-mcp-nav.js +46 -0
  2831. package/dist/workspace/sidebar/footer/project-rooms-nav.d.ts +9 -0
  2832. package/dist/workspace/sidebar/footer/project-rooms-nav.js +32 -0
  2833. package/dist/workspace/sidebar/footer/project-sandbox-alert.d.ts +3 -0
  2834. package/dist/workspace/sidebar/footer/project-sandbox-alert.js +125 -0
  2835. package/dist/workspace/sidebar/footer/project-upgrade-button.d.ts +6 -0
  2836. package/dist/workspace/sidebar/footer/project-upgrade-button.js +46 -0
  2837. package/dist/workspace/sidebar/footer/promo-nav-row.d.ts +10 -0
  2838. package/dist/workspace/sidebar/footer/promo-nav-row.js +7 -0
  2839. package/dist/workspace/sidebar/footer/sandbox-alert-state.d.ts +31 -0
  2840. package/dist/workspace/sidebar/footer/sandbox-alert-state.js +47 -0
  2841. package/dist/workspace/sidebar/footer/sandbox-health.d.ts +22 -0
  2842. package/dist/workspace/sidebar/footer/sandbox-health.js +107 -0
  2843. package/dist/workspace/sidebar/footer/sidebar-alert.d.ts +54 -0
  2844. package/dist/workspace/sidebar/footer/sidebar-alert.js +86 -0
  2845. package/dist/workspace/sidebar/invitations-menu-group.d.ts +6 -0
  2846. package/dist/workspace/sidebar/invitations-menu-group.js +56 -0
  2847. package/dist/workspace/sidebar/modal/rename-session-modal.d.ts +10 -0
  2848. package/dist/workspace/sidebar/modal/rename-session-modal.js +41 -0
  2849. package/dist/workspace/sidebar/modal/session-labels-modal.d.ts +13 -0
  2850. package/dist/workspace/sidebar/modal/session-labels-modal.js +91 -0
  2851. package/dist/workspace/sidebar/modal/session-labels.d.ts +10 -0
  2852. package/dist/workspace/sidebar/modal/session-labels.js +17 -0
  2853. package/dist/workspace/sidebar/modal/session-public-link-section.d.ts +13 -0
  2854. package/dist/workspace/sidebar/modal/session-public-link-section.js +66 -0
  2855. package/dist/workspace/sidebar/modal/share-session-access.d.ts +33 -0
  2856. package/dist/workspace/sidebar/modal/share-session-access.js +44 -0
  2857. package/dist/workspace/sidebar/modal/share-session-cache.d.ts +15 -0
  2858. package/dist/workspace/sidebar/modal/share-session-cache.js +16 -0
  2859. package/dist/workspace/sidebar/modal/share-session-modal.d.ts +8 -0
  2860. package/dist/workspace/sidebar/modal/share-session-modal.js +109 -0
  2861. package/dist/workspace/sidebar/nav-row-meta.d.ts +14 -0
  2862. package/dist/workspace/sidebar/nav-row-meta.js +70 -0
  2863. package/dist/workspace/sidebar/project-nav-items.d.ts +12 -0
  2864. package/dist/workspace/sidebar/project-nav-items.js +99 -0
  2865. package/dist/workspace/sidebar/project-session-list.d.ts +5 -0
  2866. package/dist/workspace/sidebar/project-session-list.js +611 -0
  2867. package/dist/workspace/sidebar/project-sidebar.d.ts +15 -0
  2868. package/dist/workspace/sidebar/project-sidebar.js +101 -0
  2869. package/dist/workspace/sidebar/session-brief-hover-card.d.ts +51 -0
  2870. package/dist/workspace/sidebar/session-brief-hover-card.js +153 -0
  2871. package/dist/workspace/sidebar/session-filter-menu.d.ts +79 -0
  2872. package/dist/workspace/sidebar/session-filter-menu.js +253 -0
  2873. package/dist/workspace/sidebar/session-grouping.d.ts +142 -0
  2874. package/dist/workspace/sidebar/session-grouping.js +199 -0
  2875. package/dist/workspace/sidebar/session-label-facet.d.ts +14 -0
  2876. package/dist/workspace/sidebar/session-label-facet.js +19 -0
  2877. package/dist/workspace/sidebar/session-open-intent.d.ts +30 -0
  2878. package/dist/workspace/sidebar/session-open-intent.js +58 -0
  2879. package/dist/workspace/sidebar/session-section-labels.d.ts +3 -0
  2880. package/dist/workspace/sidebar/session-section-labels.js +4 -0
  2881. package/dist/workspace/sidebar/session-source-icons.d.ts +19 -0
  2882. package/dist/workspace/sidebar/session-source-icons.js +31 -0
  2883. package/dist/workspace/sidebar/session-status-mark.d.ts +5 -0
  2884. package/dist/workspace/sidebar/session-status-mark.js +24 -0
  2885. package/dist/workspace/sidebar/session-title.d.ts +24 -0
  2886. package/dist/workspace/sidebar/session-title.js +26 -0
  2887. package/dist/workspace/sidebar/workspace-grouping.d.ts +83 -0
  2888. package/dist/workspace/sidebar/workspace-grouping.js +135 -0
  2889. package/dist/workspace/sidebar/workspace-menu-model.d.ts +12 -0
  2890. package/dist/workspace/sidebar/workspace-menu-model.js +108 -0
  2891. package/dist/workspace/sidebar/workspace-menu-section.d.ts +1 -0
  2892. package/dist/workspace/sidebar/workspace-menu-section.js +124 -0
  2893. package/package.json +2279 -4
  2894. package/skills/kortix-ui/SKILL.md +150 -0
  2895. package/skills/kortix-ui/references/custom-dashboard.md +471 -0
  2896. package/skills/kortix-ui/references/modules.md +417 -0
  2897. package/skills/kortix-ui/references/theming.md +107 -0
@@ -0,0 +1,1267 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Slack } from '../../internal/icons/slack.js';
4
+ import { useTranslations } from '../../i18n/index.js';
5
+ import { CheckIcon as Check, CaretDownIcon as ChevronDown, CaretRightIcon as ChevronRight, CopyIcon as Copy, DotsThreeIcon, ArrowSquareOutIcon as ExternalLink, LockIcon as Lock, EnvelopeIcon as Mail, PlugIcon as Plug, PlusIcon as Plus, MagnifyingGlassIcon as Search, ShareNetworkIcon, UsersIcon as Users, UsersThreeIcon as UsersThree, XIcon as X, LightningIcon as Zap, } from '@phosphor-icons/react';
6
+ import { useInfiniteQuery, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
7
+ import { UiImage as Image, useUiViewer, useUiHostConfig } from '../../providers/ui-provider.js';
8
+ import { useEffect, useMemo, useRef, useState } from 'react';
9
+ import { HighlightedCode } from '../../markdown/code/index.js';
10
+ import { Badge } from '../../primitives/badge.js';
11
+ import { Button } from '../../primitives/button.js';
12
+ import { ButtonGroup, ButtonGroupSeparator } from '../../primitives/button-group.js';
13
+ import { Checkbox } from '../../primitives/checkbox.js';
14
+ import { ConfirmDialog } from '../../primitives/confirm-dialog.js';
15
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '../../primitives/dropdown-menu.js';
16
+ import { EntityAvatar } from '../../primitives/entity-avatar.js';
17
+ import { Field, FieldDescription, FieldGroup, FieldLabel } from '../../primitives/field.js';
18
+ import Hint from '../../primitives/hint.js';
19
+ import { InfoBanner } from '../../primitives/info-banner.js';
20
+ import { InlineMeta } from '../../primitives/inline-meta.js';
21
+ import { Input } from '../../primitives/input.js';
22
+ import { Label } from '../../primitives/label.js';
23
+ import Loading from '../../primitives/loading.js';
24
+ import { Modal, ModalBody, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, } from '../../primitives/modal.js';
25
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../../primitives/select.js';
26
+ import { Skeleton } from '../../primitives/skeleton.js';
27
+ import { SplitSheetBody, SplitSheetContent, SplitSheetDescription, SplitSheetFooter, SplitSheetHeader, SplitSheetTitle, } from '../../primitives/split-sheet.js';
28
+ import { Tabs, TabsContent, TabsList, TabsTrigger } from '../../primitives/tabs.js';
29
+ import { Textarea } from '../../primitives/textarea.js';
30
+ import { errorToast, successToast, warningToast } from '../../primitives/toast.js';
31
+ import { EmptyState } from '../../primitives/empty-state.js';
32
+ import { ComputerConnectModal, ComputerStateDot } from '../../internal/tunnel/computer-connect.js';
33
+ import { mcpServerIdentity } from '../connectors/add-mcp/add-mcp-server.js';
34
+ import { connectorDisplayName } from '../connectors/connector-filter.js';
35
+ import { isManagedConnectorProvider } from '../connectors/provider-label.js';
36
+ import { AccessDialog } from '../../access/access/access-dialog.js';
37
+ import { useConnectEmail, useConnectSlack, useDisconnectEmail, useDisconnectSlack, useEmailInstall, useEmailMode, useSlackInstall, useSlackManifest, useSlackMode, useUpdateEmailPolicy, } from '../../internal/hooks/channels/use-channels-installations.js';
38
+ import { emptyProjectSlot, useAddAccount } from '../../internal/hooks/connectors/use-add-account.js';
39
+ import { useDeleteTunnelConnection } from '@kortix/sdk/react';
40
+ import { useCopy } from '../../internal/hooks/use-copy.js';
41
+ import { cn } from '../../internal/lib/utils.js';
42
+ import { createConnector, discoverConnectionOAuth2, discoverConnectionOAuth2Resource, discoverConnectorAuth, ensureProjectConnectorConnection, getConnectorConfig, getConnectStatus, getProjectDetail, listAllConnections, listConnections, listPipedreamApps, listProjectAccess, pollConnectionOAuth2DeviceAuthorization, putConnectionOAuth2Application, reconcileMemberConnection, renameConnection, revokeConnection, setConnectorCredential, setDefaultConnection, startConnectionOAuth2Authorization, startConnectionOAuth2DeviceAuthorization, updateConnectionCredential, } from '@kortix/sdk';
43
+ import { contract, qk, useProjectAccountId } from '@kortix/sdk/react';
44
+ import { AddAccountFields } from './add-account-fields.js';
45
+ import { buildEasyConnectConnectorDraft, buildEmailConnectorConnectionSlug, connectorSyncErrorForSlug, createOnlyConnectorDraft, proposeConnectorConnectionSlug, } from './connector-connection-form.js';
46
+ import { ConnectorConnectionModal } from './connector-connection-modal.js';
47
+ import { credentialWriteTarget, oauth2DiscoveryConnectionKey } from './connector-credential-target.js';
48
+ import { buildOAuth2ApplicationInput, buildOAuth2CredentialInput, EMPTY_OAUTH2_APPLICATION_FORM, EMPTY_OAUTH2_CREDENTIAL_FORM, mergeOAuth2DiscoveryMetadata, oauth2ApplicationFormValid, oauth2CredentialFormValid, } from './connector-oauth2.js';
49
+ import { OAuth2ApplicationFields } from './connector-oauth2-application-fields.js';
50
+ import { autoConnectPlan, mergeResourceDiscoveryIntoForm } from './connector-oauth2-auto.js';
51
+ import { OAuth2CredentialFields } from './connector-oauth2-fields.js';
52
+ import { startOAuth2SignIn } from './connector-oauth2-start.js';
53
+ import { DiscoverCatalogue } from './discover-catalogue.js';
54
+ import { useAddRequest } from './use-add-request.js';
55
+ import { useCreateCustomConnector } from './use-create-custom-connector.js';
56
+ import { AudienceText } from './view/audience-badge.js';
57
+ import { accountNeedsSignIn, accountVisibility, connectorConnectionRows, newAccountLabelTaken, newAccountReady, } from './view/connector-connections.js';
58
+ import { randomUUID } from '../../internal/lib/utils/random-uuid.js';
59
+ const BUILT_IN_CHANNEL_APP_SLUGS = new Set(['slack', 'slack_v2']);
60
+ function SaveBar({ dirty, saving, disabled, onSave, onReset, label = 'Save', }) {
61
+ const tI18nHardcoded = useTranslations('hardcodedUi');
62
+ if (!dirty)
63
+ return null;
64
+ return (_jsxs("div", { className: "border-border/60 mt-5 flex items-center justify-end gap-2 border-t pt-4", children: [_jsxs("span", { className: "text-muted-foreground mr-auto flex items-center gap-1.5 text-xs", children: [_jsx("span", { className: "bg-kortix-orange size-1.5 rounded-full" }), tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextUnsavedChanges4682b870')] }), onReset && (_jsx(Button, { size: "sm", variant: "ghost", onClick: onReset, disabled: saving, children: tI18nHardcoded.raw('i18nComplete.textdaee7606b339') })), _jsxs(Button, { size: "sm", onClick: onSave, disabled: saving || disabled, className: "gap-1.5", children: [saving && _jsx(Loading, { className: "size-4 shrink-0" }), label] })] }));
65
+ }
66
+ function CodeSnippet({ code, language, className, }) {
67
+ return (_jsx("div", { className: cn('border-border/60 bg-card flex w-full overflow-x-auto rounded-md border', className), children: _jsx("div", { className: "p-3 [&_code]:text-xs", children: _jsx(HighlightedCode, { code: code, language: language }) }) }));
68
+ }
69
+ /** One row in the connections list — a single connected account. */
70
+ function ConnectionRow({ connection, viewerId, isMine, canManage, onSetDefault, onDisconnect, onRename, onStartSession, onSetCredential, onShare, onConnect, needsSignIn, pending, disabled = false, }) {
71
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
72
+ const tSharing = useTranslations('accessSharing');
73
+ const tComputers = useTranslations('computers');
74
+ const tConnectorPages = useTranslations('connectorPages');
75
+ const isProjectAuthorization = connection.owner_type === 'project';
76
+ const active = connection.status === 'active';
77
+ // Only the owner of a connection may change it: your own personal connection,
78
+ // or, for a project authorization, a project manager.
79
+ const mayMutate = isProjectAuthorization ? canManage : isMine;
80
+ const visibility = accountVisibility(connection, viewerId);
81
+ const everyoneWithAccess = (connection.shared_with ?? []).map((share) => share.label);
82
+ const { copy } = useCopy({ successMessage: tI18nComplete.raw('text56ee71f3ece0') });
83
+ return (_jsxs("li", { className: "flex items-center gap-3 px-4 py-3", children: [_jsx("span", { "aria-hidden": true, className: "bg-muted text-muted-foreground flex size-8 shrink-0 items-center justify-center rounded-md", children: visibility.kind === 'you' ? (_jsx(Lock, { className: "size-4" })) : visibility.kind === 'everyone' ? (_jsx(UsersThree, { className: "size-4" })) : (_jsx(Users, { className: "size-4" })) }), _jsxs("div", { className: "min-w-0 flex-1 space-y-0.5", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [_jsx("span", { className: "truncate text-sm font-medium", children: connection.label }), connection.is_default && (_jsx(Badge, { variant: "secondary", size: "xs", children: tI18nComplete.raw('text21b111cbfe6e') }))] }), _jsxs(InlineMeta, { children: [_jsx(AudienceText, { visibility: visibility, labels: everyoneWithAccess }), connection.usable === false ? tSharing('notSharedWithYou') : null, active && needsSignIn ? (_jsx("span", { children: tConnectorPages('notSignedIn') })) : null, active && connection.metadata?.credential_rejected_at ? (_jsx("span", { className: "text-destructive", children: tConnectorPages('credentialRejected') })) : null, active ? null : (_jsx("span", { className: "text-destructive", children: connection.status === 'revoked' ? 'Disconnected' : 'Error' })), active && connection.machine ? (_jsxs("span", { className: "inline-flex items-center gap-1.5", children: [_jsx(ComputerStateDot, { state: connection.machine.online ? 'online' : 'offline' }), tComputers(connection.machine.online ? 'online' : 'offline')] })) : null, connection.connected_as && connection.connected_as !== connection.label
84
+ ? tI18nComplete('texte9e0b20cf289', { value0: connection.connected_as })
85
+ : null] })] }), onConnect && mayMutate && needsSignIn ? (_jsx(Button, { size: "sm", className: "shrink-0", onClick: onConnect, disabled: pending || disabled, children: tConnectorPages('connectAccount') })) : null, _jsxs(ButtonGroup, { className: "shrink-0", children: [onShare && mayMutate ? (
86
+ // Your own private account is shared by turning it into a shared one,
87
+ // which needs the same right as creating a shared account.
88
+ isProjectAuthorization || canManage ? (_jsxs(Button, { variant: "secondary", size: "sm", className: "shrink-0 gap-1.5", onClick: onShare, disabled: pending || disabled, "aria-label": tSharing('shareTitle', { label: connection.label }), children: [_jsx(ShareNetworkIcon, { className: "size-3.5 shrink-0" }), tI18nComplete.raw('text29887a5ff984')] })) : (_jsx(Hint, { label: tSharing('shareRequiresManage'), children: _jsx("span", { className: "inline-flex shrink-0", children: _jsxs(Button, { variant: "secondary", size: "sm", className: "gap-1.5", disabled: true, "aria-label": tSharing('shareTitle', { label: connection.label }), children: [_jsx(ShareNetworkIcon, { className: "size-3.5 shrink-0" }), tI18nComplete.raw('text29887a5ff984')] }) }) }))) : null, _jsx(ButtonGroupSeparator, { className: "bg-border" }), _jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsx(Button, { variant: "secondary", size: "icon", className: "size-8 shrink-0", "aria-label": tI18nComplete('text33da220b1a34', { value0: connection.label }), disabled: pending || disabled, children: pending ? (_jsx(Loading, { className: "size-4 shrink-0" })) : (_jsx(DotsThreeIcon, { className: "size-4" })) }) }), _jsxs(DropdownMenuContent, { align: "end", className: "min-w-48", children: [_jsx(DropdownMenuItem, { onClick: () => copy(connection.connection_id), children: tI18nComplete.raw('text99775327d988') }), mayMutate && (_jsx(DropdownMenuItem, { onClick: onRename, children: tI18nComplete.raw('text3064d79a295c') })), mayMutate && isMine && active && onStartSession && (_jsx(DropdownMenuItem, { onClick: onStartSession, children: tI18nComplete.raw('textfae237eed0c5') })), mayMutate && onSetCredential && (_jsx(DropdownMenuItem, { onClick: onSetCredential, children: tI18nComplete.raw('text3d6627454174') })), mayMutate && !connection.is_default && active && (_jsxs(DropdownMenuItem, { onClick: onSetDefault, children: [tI18nComplete.raw('texta92f66fd3d83'), isProjectAuthorization ? ` ${tI18nComplete.raw('text801a345cd406')}` : ''] })), mayMutate && (_jsx(DropdownMenuItem, { onClick: onDisconnect, children: tI18nComplete.raw('textacfc5be785a9') }))] })] })] })] }));
89
+ }
90
+ /**
91
+ * Every account this connector can run as, in one list. Each card states who
92
+ * may use it (`accountVisibility`); one "Add account" asks only who may use the
93
+ * new account.
94
+ *
95
+ * An account is an authorized identity on the connector, owned by the project
96
+ * (shared) or by one member (only you), and both can coexist on the same
97
+ * connector. Sharing an account is manager-gated
98
+ * (`PROJECT_CONNECTOR_CONNECTIONS_MANAGE`, the same right the API checks);
99
+ * adding your own never is.
100
+ *
101
+ * The API already scopes the list to the caller, so a member-owned row is
102
+ * always the caller's own. Another member's private account is not visible
103
+ * here and is not meant to be.
104
+ */
105
+ const EMPTY_NEW_ACCOUNT = {
106
+ label: '',
107
+ audience: 'private',
108
+ picked: { memberIds: [], groupIds: [] },
109
+ };
110
+ export function ConnectionsList({ projectId, connector, displayName, canManageConnections, onChanged, onStartSession, onSetCredential, onConnect, titleAddon, addVariant = 'secondary', addRequest = 0, onAddRequestHandled, disabled = false, }) {
111
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
112
+ const tSharing = useTranslations('accessSharing');
113
+ const tComputers = useTranslations('computers');
114
+ // A direct provider (openapi/http/mcp/graphql/...) has no hosted OAuth: "Add"
115
+ // creates the account and this then opens `SetCredentialModal` for it. A
116
+ // managed provider (Composio/Pipedream) runs hosted OAuth. Both go through
117
+ // `useAddAccount`.
118
+ // A computer account is a paired machine: "Add" pairs one (desktop one-click,
119
+ // or download + npx) instead of asking for a credential.
120
+ const isComputer = connector.provider === 'computer';
121
+ const isDirectProvider = !isManagedConnectorProvider(connector.provider) && !isComputer;
122
+ const [computerOpen, setComputerOpen] = useState(false);
123
+ const user = useUiViewer();
124
+ const viewerId = user?.id ?? null;
125
+ const [confirmDisconnect, setConfirmDisconnect] = useState(null);
126
+ const [renameTarget, setRenameTarget] = useState(null);
127
+ const [renameDraft, setRenameDraft] = useState('');
128
+ const [credentialTarget, setCredentialTarget] = useState(null);
129
+ // The shared account whose audience the share dialog edits.
130
+ const [shareTarget, setShareTarget] = useState(null);
131
+ const [shareOpen, setShareOpen] = useState(false);
132
+ const accountId = useProjectAccountId(projectId);
133
+ const projectDetailQuery = useQuery({
134
+ queryKey: qk.project.detail(projectId),
135
+ queryFn: () => getProjectDetail(projectId),
136
+ ...contract('config'),
137
+ });
138
+ const projectName = projectDetailQuery.data?.project?.name ?? '';
139
+ const everyoneLabel = projectName
140
+ ? tSharing('everyone', { project: projectName })
141
+ : tSharing('visibilityEveryone');
142
+ const connectionsQuery = useQuery({
143
+ queryKey: ['connections', projectId],
144
+ queryFn: () => listConnections(projectId),
145
+ staleTime: 30_000,
146
+ // A computer goes online and offline on its own: keep its status current.
147
+ refetchInterval: isComputer ? 15_000 : false,
148
+ });
149
+ const refresh = () => {
150
+ void connectionsQuery.refetch();
151
+ onChanged();
152
+ };
153
+ const allRows = connectorConnectionRows(connectionsQuery.data?.connections, connector.slug);
154
+ // The server's empty shared slot is a placeholder, not an account anyone
155
+ // added: listing it reads as "everyone already shares this". Add account
156
+ // still reuses it when the person picks Everyone.
157
+ const slot = emptyProjectSlot(connector, allRows);
158
+ const rows = slot ? allRows.filter((row) => row !== slot) : allRows;
159
+ const openCredential = onSetCredential ?? setCredentialTarget;
160
+ // "Add account" asks the account's name and who may use it: only you,
161
+ // everyone in the project, or picked people and groups. The connector
162
+ // profile itself is always the project's.
163
+ const [addOpen, setAddOpen] = useState(false);
164
+ const [draft, setDraft] = useState(EMPTY_NEW_ACCOUNT);
165
+ // The proposed name is the next free one. Right after Install the dialog
166
+ // opens before this account list has loaded, so the proposal follows the
167
+ // list until the user types a name of their own.
168
+ const [labelEdited, setLabelEdited] = useState(false);
169
+ const closeAdd = () => setAddOpen(false);
170
+ const addAccount = useAddAccount({
171
+ projectId,
172
+ connector,
173
+ displayName,
174
+ onAdded: () => {
175
+ closeAdd();
176
+ refresh();
177
+ },
178
+ onCredential: openCredential,
179
+ });
180
+ const adding = addAccount.pending;
181
+ const openAdd = () => {
182
+ if (isComputer) {
183
+ setComputerOpen(true);
184
+ return;
185
+ }
186
+ setDraft({ ...EMPTY_NEW_ACCOUNT, label: addAccount.proposedLabel() });
187
+ setLabelEdited(false);
188
+ setAddOpen(true);
189
+ };
190
+ const proposedLabel = addAccount.proposedLabel();
191
+ if (addOpen && !labelEdited && draft.label !== proposedLabel)
192
+ setDraft({ ...draft, label: proposedLabel });
193
+ useAddRequest(addRequest, openAdd, onAddRequestHandled);
194
+ const labelTaken = newAccountLabelTaken(draft, rows);
195
+ const canSubmitAdd = !disabled && !adding && newAccountReady(draft, rows, { canManageConnections, accountId });
196
+ const submitAdd = () => {
197
+ if (canSubmitAdd)
198
+ addAccount.submit(draft);
199
+ };
200
+ const setDefault = useMutation({
201
+ mutationFn: (connectionId) => setDefaultConnection(projectId, connectionId),
202
+ onSuccess: () => {
203
+ successToast(tI18nComplete.raw('text109ff88aec78'));
204
+ refresh();
205
+ },
206
+ onError: (e) => errorToast(e.message || tI18nComplete.raw('texta2cf78785484')),
207
+ });
208
+ // Your own computer row follows you into every project, so its Disconnect
209
+ // removes the machine from Kortix (every project), not one account.
210
+ const unpairComputer = useDeleteTunnelConnection();
211
+ const disconnect = useMutation({
212
+ mutationFn: (connectionId) => revokeConnection(projectId, connectionId),
213
+ onSuccess: () => {
214
+ successToast(tI18nComplete.raw('text04dfac3671b4'));
215
+ setConfirmDisconnect(null);
216
+ refresh();
217
+ },
218
+ onError: (e) => errorToast(e.message || tI18nComplete.raw('textb7668a581f59')),
219
+ });
220
+ const rename = useMutation({
221
+ mutationFn: (input) => renameConnection(projectId, input.connectionId, input.label),
222
+ onSuccess: () => {
223
+ successToast(tI18nComplete.raw('text499d7f6dfdfc'));
224
+ setRenameTarget(null);
225
+ refresh();
226
+ },
227
+ // The API names the refusal (a clash with another account, a reserved
228
+ // word), so show its message rather than a generic one.
229
+ onError: (e) => errorToast(e.message || tI18nComplete.raw('text11ef24ea6e15')),
230
+ });
231
+ const openRename = (connection) => {
232
+ setRenameDraft(connection.label);
233
+ setRenameTarget(connection);
234
+ };
235
+ const submitRename = () => {
236
+ const label = renameDraft.trim();
237
+ if (disabled || !renameTarget || !label)
238
+ return;
239
+ if (label === renameTarget.label) {
240
+ setRenameTarget(null);
241
+ return;
242
+ }
243
+ rename.mutate({ connectionId: renameTarget.connection_id, label });
244
+ };
245
+ const pendingConnectionId = setDefault.isPending && typeof setDefault.variables === 'string'
246
+ ? setDefault.variables
247
+ : disconnect.isPending && typeof disconnect.variables === 'string'
248
+ ? disconnect.variables
249
+ : rename.isPending && rename.variables
250
+ ? rename.variables.connectionId
251
+ : null;
252
+ // Re-open the credential entry for an existing direct-provider account —
253
+ // wired from the row menu ("Set credential") and reused right after
254
+ // `useAddAccount` creates a brand new one.
255
+ const setCredential = isDirectProvider
256
+ ? (connection) => openCredential({
257
+ connectionId: connection.connection_id,
258
+ owner: connection.owner_type === 'project' ? 'project' : 'me',
259
+ })
260
+ : undefined;
261
+ // A member's computer account follows them into every project, so it is
262
+ // never removed from one project: Disconnect unpairs the machine.
263
+ const ownComputer = (connection) => isComputer && connection.owner_type === 'member';
264
+ const renderRow = (connection) => (_jsx(ConnectionRow, { connection: connection, viewerId: viewerId, isMine: connection.owner_type === 'member', canManage: canManageConnections, pending: pendingConnectionId === connection.connection_id, disabled: disabled, onSetDefault: () => setDefault.mutate(connection.connection_id), onDisconnect: () => setConfirmDisconnect(connection), onRename: () => openRename(connection), onStartSession: onStartSession ? () => onStartSession(connection) : undefined, onSetCredential: setCredential ? () => setCredential(connection) : undefined, onConnect: onConnect ? () => onConnect(connection) : undefined, needsSignIn: accountNeedsSignIn(connection, connector), onShare: accountId
265
+ ? () => {
266
+ setShareTarget(connection);
267
+ setShareOpen(true);
268
+ }
269
+ : undefined }, connection.connection_id));
270
+ return (_jsxs("div", { className: "space-y-6", children: [_jsxs("section", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center justify-between gap-3", children: [titleAddon ? (_jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Label, { children: tSharing('accountsTitle') }), titleAddon] })) : (_jsx(Label, { children: tSharing('accountsTitle') })), isComputer ? (_jsxs(Button, { size: "sm", variant: addVariant, onClick: () => setComputerOpen(true), disabled: disabled, children: [_jsx(Plus, { className: "size-4" }), tSharing('addAccount')] })) : (_jsxs(Button, { size: "sm", variant: addVariant, onClick: openAdd, disabled: disabled, children: [_jsx(Plus, { className: "size-4" }), tSharing('addAccount')] }))] }), connectionsQuery.isLoading ? (_jsxs("div", { className: "space-y-2", children: [_jsx(Skeleton, { className: "h-14 rounded-md" }), _jsx(Skeleton, { className: "h-14 rounded-md" })] })) : rows.length === 0 ? (_jsx(EmptyState, { size: "sm", icon: Plug, title: tSharing('noAccountsTitle'), description: tSharing('noAccountsDescription', { connector: displayName }) })) : (_jsx("ul", { className: "bg-popover divide-border divide-y rounded-md border", children: rows.map(renderRow) }))] }), accountId && shareTarget ? (_jsx(AccessDialog, { open: shareOpen, onOpenChange: setShareOpen, accountId: accountId, scope: { kind: 'project', projectId, projectName }, mode: {
271
+ kind: 'share',
272
+ object: {
273
+ type: 'connection',
274
+ id: shareTarget.connection_id,
275
+ label: shareTarget.label,
276
+ // Your own private account: sharing makes it a shared one.
277
+ ...(shareTarget.owner_type === 'member' && viewerId
278
+ ? { privateOwner: { userId: viewerId, label: user?.email ?? tSharing('onlyYou') } }
279
+ : {}),
280
+ },
281
+ current: connectionsQuery.data?.connections.find((connection) => connection.connection_id === shareTarget.connection_id)?.shared_with ?? [],
282
+ }, onDone: refresh }, shareTarget.connection_id)) : null, _jsx(Modal, { open: addOpen, onOpenChange: (open) => {
283
+ if (!open && !adding)
284
+ closeAdd();
285
+ }, children: _jsxs(ModalContent, { className: "lg:max-w-md", children: [_jsxs(ModalHeader, { children: [_jsx(ModalTitle, { children: tSharing('addAccountTitle', { connector: displayName }) }), _jsx(ModalDescription, { children: tSharing('addAccountDescription') })] }), _jsxs("form", { onSubmit: (e) => {
286
+ e.preventDefault();
287
+ submitAdd();
288
+ }, children: [_jsx(ModalBody, { className: "max-h-[60vh] space-y-4 overflow-y-auto", children: _jsx(AddAccountFields, { projectId: projectId, value: draft, onChange: (next) => {
289
+ if (next.label !== draft.label)
290
+ setLabelEdited(true);
291
+ setDraft(next);
292
+ }, labelTaken: labelTaken, canManageConnections: canManageConnections, accountId: accountId, everyoneLabel: everyoneLabel, hint: tI18nComplete.raw('text99953938d987'), disabled: adding || disabled, autoFocus: true }) }), _jsxs(ModalFooter, { className: "sm:justify-between", children: [_jsx(Button, { type: "button", variant: "outline-ghost", onClick: closeAdd, disabled: adding, children: tI18nComplete.raw('text19766ed6ccb2') }), _jsxs(Button, { type: "submit", disabled: !canSubmitAdd, children: [adding ? _jsx(Loading, { className: "size-4 shrink-0" }) : null, tI18nComplete.raw('text31fbef162594')] })] })] })] }) }), _jsx(Modal, { open: renameTarget !== null, onOpenChange: (open) => {
293
+ if (!open && !rename.isPending)
294
+ setRenameTarget(null);
295
+ }, children: _jsxs(ModalContent, { className: "lg:max-w-md", children: [_jsxs(ModalHeader, { children: [_jsx(ModalTitle, { children: tI18nComplete('textbb7a240d3660', { value0: renameTarget?.label ?? '' }) }), _jsx(ModalDescription, { children: tI18nComplete.raw('text64f07c825803') })] }), _jsxs("form", { onSubmit: (e) => {
296
+ e.preventDefault();
297
+ submitRename();
298
+ }, children: [_jsx(ModalBody, { children: _jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connection-rename-label", children: tI18nComplete.raw('textdcd1d5223f73') }), _jsx(Input, { id: "connection-rename-label", value: renameDraft, onChange: (e) => setRenameDraft(e.target.value), maxLength: 255, autoFocus: true, disabled: rename.isPending || disabled }), renameTarget?.connected_as ? (_jsx(FieldDescription, { children: tI18nComplete('texte9e0b20cf289', { value0: renameTarget.connected_as }) })) : null] }) }), _jsxs(ModalFooter, { className: "sm:justify-between", children: [_jsx(Button, { type: "button", variant: "outline-ghost", onClick: () => setRenameTarget(null), disabled: rename.isPending, children: tI18nComplete.raw('text19766ed6ccb2') }), _jsxs(Button, { type: "submit", disabled: rename.isPending || disabled || !renameDraft.trim(), children: [rename.isPending ? _jsx(Loading, { className: "size-4 shrink-0" }) : null, tI18nComplete.raw('text1509f561f241')] })] })] })] }) }), _jsx(ConfirmDialog, { open: confirmDisconnect !== null, onOpenChange: (open) => !open && setConfirmDisconnect(null), title: tI18nComplete('text13716a578591', { value0: confirmDisconnect?.label ?? '' }), description: confirmDisconnect && ownComputer(confirmDisconnect)
299
+ ? tComputers('unpairDescription')
300
+ : confirmDisconnect?.owner_type === 'project'
301
+ ? tI18nComplete.raw('texte2cbafcec553')
302
+ : tI18nComplete.raw('text64db32d83da9'), confirmLabel: tI18nComplete.raw('textacfc5be785a9'), confirmVariant: "destructive", isPending: disconnect.isPending || unpairComputer.isPending, onConfirm: () => {
303
+ if (!confirmDisconnect)
304
+ return;
305
+ if (ownComputer(confirmDisconnect) && confirmDisconnect.tunnel_id) {
306
+ unpairComputer.mutate(confirmDisconnect.tunnel_id, {
307
+ onSuccess: () => {
308
+ successToast(tComputers('disconnected'));
309
+ setConfirmDisconnect(null);
310
+ refresh();
311
+ },
312
+ onError: (e) => errorToast(e.message || tComputers('disconnectFailed')),
313
+ });
314
+ return;
315
+ }
316
+ disconnect.mutate(confirmDisconnect.connection_id);
317
+ } }), isComputer ? (_jsx(ComputerConnectModal, { projectId: projectId, open: computerOpen, onOpenChange: setComputerOpen, onConnected: refresh })) : null, isDirectProvider && !onSetCredential ? (_jsx(SetCredentialModal, { projectId: projectId, connector: credentialTarget ? connector : null, connectionId: credentialTarget?.connectionId ?? null, owner: credentialTarget?.owner ?? 'me', open: credentialTarget !== null, onOpenChange: (open) => {
318
+ if (!open)
319
+ setCredentialTarget(null);
320
+ }, onSaved: () => {
321
+ setCredentialTarget(null);
322
+ refresh();
323
+ } })) : null] }));
324
+ }
325
+ function RosterStatusBadge({ status }) {
326
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
327
+ if (status === 'active') {
328
+ return (_jsx(Badge, { variant: "outline", size: "sm", className: "text-kortix-green", children: tI18nComplete.raw('text22965568d22a') }));
329
+ }
330
+ return (_jsx(Badge, { variant: "outline", size: "sm", className: "text-muted-foreground", children: status === 'revoked' ? 'Disconnected' : 'Error' }));
331
+ }
332
+ /**
333
+ * Owner/admin read-only roster: which project members have connected their OWN
334
+ * account for this connector, and its status. Manage-gated at the API; never
335
+ * shows credentials (only existence + status + owner). Read-only.
336
+ */
337
+ export function ConnectionRoster({ projectId, connectorSlug, displayName, }) {
338
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
339
+ const connectionsQuery = useQuery({
340
+ queryKey: ['connections-all', projectId],
341
+ queryFn: () => listAllConnections(projectId),
342
+ staleTime: 30_000,
343
+ });
344
+ const accessQuery = useQuery({
345
+ queryKey: qk.project.access(projectId),
346
+ queryFn: () => listProjectAccess(projectId),
347
+ ...contract('inventory'),
348
+ });
349
+ const emailByUser = useMemo(() => {
350
+ const map = new Map();
351
+ for (const member of accessQuery.data?.members ?? []) {
352
+ if (member.email)
353
+ map.set(member.user_id, member.email);
354
+ }
355
+ return map;
356
+ }, [accessQuery.data]);
357
+ const rows = (connectionsQuery.data?.connections ?? []).filter((connection) => connection.connector_alias === connectorSlug && connection.owner_type === 'member');
358
+ return (_jsxs("div", { className: "overflow-hidden rounded-md border", children: [_jsxs("div", { className: "text-muted-foreground border-b px-4 py-2.5 text-xs font-medium", children: [tI18nComplete.raw('texta2d64eeafcb9'), " ", displayName, ' ', tI18nComplete.raw('text1e5fac867454')] }), connectionsQuery.isLoading ? (_jsx("div", { className: "text-muted-foreground px-4 py-3 text-sm", children: tI18nComplete.raw('textba3bbbe10d8b') })) : rows.length === 0 ? (_jsxs("div", { className: "text-muted-foreground px-4 py-3 text-sm", children: [tI18nComplete.raw('text56e264eb39f6'), " ", displayName, ' ', tI18nComplete.raw('textf55f49c47f7f')] })) : (_jsx("ul", { className: "divide-y", children: rows.map((connection) => (_jsxs("li", { className: "flex items-center justify-between gap-3 px-4 py-2.5", children: [_jsx("span", { className: "min-w-0 truncate text-sm", children: emailByUser.get(connection.owner_id ?? '') ??
359
+ connection.owner_id ??
360
+ tI18nComplete.raw('text29824c5acaf8') }), _jsx(RosterStatusBadge, { status: connection.status })] }, connection.connection_id))) }))] }));
361
+ }
362
+ function connectorPlatform(connector) {
363
+ if (connector.platform === 'slack' || connector.platform === 'email') {
364
+ return connector.platform;
365
+ }
366
+ if (connector.slug === 'kortix_slack')
367
+ return 'slack';
368
+ if (connector.slug === 'kortix_email')
369
+ return 'email';
370
+ if (connector.slug.startsWith('email_'))
371
+ return 'email';
372
+ return null;
373
+ }
374
+ export function ChannelConnectionSection({ projectId, connector, onChanged, onRemoved, canWrite = false, }) {
375
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
376
+ const platform = connectorPlatform(connector);
377
+ if (platform === 'email') {
378
+ return (_jsx(EmailChannelConnection, { projectId: projectId, connector: connector, onChanged: onChanged, onRemoved: onRemoved, canWrite: canWrite }));
379
+ }
380
+ if (platform === 'slack') {
381
+ return (_jsx(SlackChannelConnection, { projectId: projectId, onChanged: onChanged, onRemoved: onRemoved, canWrite: canWrite }));
382
+ }
383
+ return (_jsxs("section", { className: "space-y-4", children: [_jsx(Label, { children: tI18nComplete.raw('text639a40e82b9a') }), _jsx("div", { className: "bg-popover rounded-md border px-4 py-3", children: _jsx(InfoBanner, { tone: "warning", children: tI18nComplete.raw('text53f76274b923') }) })] }));
384
+ }
385
+ function EmailChannelConnection({ projectId, connector, onChanged, onRemoved, canWrite = false, }) {
386
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
387
+ const install = useEmailInstall(projectId, connector.slug);
388
+ return (_jsxs("section", { className: "space-y-4", children: [_jsx(Label, { children: tI18nComplete.raw('text7033ce3d1e7a') }), _jsx("p", { className: "text-muted-foreground -mt-2 text-xs", children: tI18nComplete.raw('text28d1c949e5e6') }), _jsx("div", { className: "bg-popover rounded-md border px-4 py-3", children: install.isLoading ? (_jsx(Skeleton, { className: "h-24 w-full rounded-md" })) : install.data ? (_jsx(ConnectedEmailConnection, { projectId: projectId, connectorSlug: connector.slug, installation: install.data, onRemoved: onRemoved, canWrite: canWrite })) : canWrite ? (_jsx(EmailConnectForm, { projectId: projectId, connectorSlug: connector.slug, onConnected: onChanged })) : (_jsx(InfoBanner, { tone: "neutral", icon: Mail, title: tI18nComplete.raw('textf0aea4d97b8e'), children: tI18nComplete.raw('text2dec6c273b47') })) })] }));
389
+ }
390
+ function ConnectedEmailConnection({ projectId, connectorSlug, installation, onRemoved, canWrite = false, }) {
391
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
392
+ const disconnect = useDisconnectEmail();
393
+ const [confirming, setConfirming] = useState(false);
394
+ return (_jsxs("div", { className: "space-y-4", children: [_jsxs(InfoBanner, { tone: "success", icon: Check, title: tI18nComplete.raw('textc23cc1f72afe'), children: [tI18nComplete.raw('text56ef8f20955f'), ' ', _jsx("code", { className: "font-mono", children: installation.email }), ' · ', tI18nComplete.raw('text94835ea2fcf7'), ' ', _jsx("code", { className: "font-mono", children: installation.inboxId }), installation.webhookId ? (_jsxs(_Fragment, { children: [' · ', tI18nComplete.raw('text4814f62c108d'), ' ', _jsx("code", { className: "font-mono", children: installation.webhookId })] })) : null] }), _jsx(EmailSenderPolicyEditor, { projectId: projectId, connectorSlug: connectorSlug, policy: installation.senderPolicy, canWrite: canWrite }), canWrite && (_jsx("div", { className: "flex items-center justify-end gap-2", children: confirming ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground mr-auto text-xs", children: tI18nComplete.raw('text2a528ae2d4ae') }), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => setConfirming(false), children: tI18nComplete.raw('text19766ed6ccb2') }), _jsxs(Button, { variant: "destructive", size: "sm", disabled: disconnect.isPending, onClick: () => disconnect.mutate({ projectId, connectorSlug }, {
395
+ onSuccess: () => {
396
+ setConfirming(false);
397
+ onRemoved();
398
+ },
399
+ }), children: [disconnect.isPending ? _jsx(Loading, { className: "mr-2 size-3.5 shrink-0" }) : null, tI18nComplete.raw('textacfc5be785a9')] })] })) : (_jsx(Button, { variant: "outline", size: "sm", onClick: () => setConfirming(true), children: tI18nComplete.raw('textacfc5be785a9') })) }))] }));
400
+ }
401
+ function splitPolicyList(value) {
402
+ return Array.from(new Set(value
403
+ .split(/[\n,]+/)
404
+ .map((item) => item.trim().toLowerCase())
405
+ .filter(Boolean)));
406
+ }
407
+ function normalizeEmailSenderPolicy(policy) {
408
+ return {
409
+ mode: policy?.mode === 'restricted' ? 'restricted' : 'allow_all',
410
+ allowedEmails: policy?.allowedEmails ?? [],
411
+ allowedDomains: policy?.allowedDomains ?? [],
412
+ allowedRegex: policy?.allowedRegex ?? null,
413
+ };
414
+ }
415
+ function EmailSenderPolicyEditor({ projectId, connectorSlug, policy, canWrite = false, }) {
416
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
417
+ const update = useUpdateEmailPolicy();
418
+ const initial = normalizeEmailSenderPolicy(policy);
419
+ const [restricted, setRestricted] = useState(initial.mode === 'restricted');
420
+ const [emails, setEmails] = useState(() => initial.allowedEmails.join('\n'));
421
+ const [domains, setDomains] = useState(() => initial.allowedDomains.join('\n'));
422
+ const [regex, setRegex] = useState(initial.allowedRegex ?? '');
423
+ const [error, setError] = useState(null);
424
+ useEffect(() => {
425
+ const next = normalizeEmailSenderPolicy(policy);
426
+ setRestricted(next.mode === 'restricted');
427
+ setEmails(next.allowedEmails.join('\n'));
428
+ setDomains(next.allowedDomains.join('\n'));
429
+ setRegex(next.allowedRegex ?? '');
430
+ setError(null);
431
+ }, [policy]);
432
+ const nextPolicy = () => ({
433
+ mode: restricted ? 'restricted' : 'allow_all',
434
+ allowedEmails: splitPolicyList(emails),
435
+ allowedDomains: splitPolicyList(domains).map((domain) => domain.replace(/^@+/, '')),
436
+ allowedRegex: regex.trim() || null,
437
+ });
438
+ const save = () => {
439
+ setError(null);
440
+ const sender_policy = nextPolicy();
441
+ if (sender_policy.allowedRegex) {
442
+ try {
443
+ new RegExp(sender_policy.allowedRegex);
444
+ }
445
+ catch {
446
+ setError('Regex is invalid');
447
+ return;
448
+ }
449
+ }
450
+ update.mutate({ projectId, connectorSlug, sender_policy }, { onError: (e) => setError(e.message) });
451
+ };
452
+ const dirty = restricted !== (initial.mode === 'restricted') ||
453
+ emails !== initial.allowedEmails.join('\n') ||
454
+ domains !== initial.allowedDomains.join('\n') ||
455
+ regex !== (initial.allowedRegex ?? '');
456
+ return (_jsx("div", { className: "border-border/60 bg-card rounded-md border p-4", children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx(Checkbox, { id: "email-sender-restricted", checked: restricted, onCheckedChange: (checked) => setRestricted(Boolean(checked)), className: "mt-0.5", disabled: !canWrite }), _jsxs("div", { className: "min-w-0 flex-1 space-y-3", children: [_jsxs("div", { children: [_jsx(Label, { htmlFor: "email-sender-restricted", children: tI18nComplete.raw('texta48c89f63885') }), _jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: tI18nComplete.raw('text8c67b476d59b') })] }), restricted ? (_jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [_jsx(Field, { children: _jsx(Input, { value: emails, onChange: (e) => setEmails(e.target.value), placeholder: tI18nComplete.raw('text542d24012988'), disabled: !canWrite }) }), _jsx(Field, { children: _jsx(Input, { value: domains, onChange: (e) => setDomains(e.target.value), placeholder: tI18nComplete.raw('texta379a6f6eeaf'), disabled: !canWrite }) }), _jsx("div", { className: "sm:col-span-2", children: _jsx(Field, { children: _jsx(Input, { value: regex, onChange: (e) => setRegex(e.target.value), placeholder: tI18nComplete.raw('text8b21058f3253'), spellCheck: false, disabled: !canWrite }) }) })] })) : null, error ? _jsx(InfoBanner, { tone: "destructive", children: error }) : null, canWrite && (_jsx(SaveBar, { dirty: dirty, saving: update.isPending, onSave: save, onReset: () => {
457
+ setRestricted(initial.mode === 'restricted');
458
+ setEmails(initial.allowedEmails.join('\n'));
459
+ setDomains(initial.allowedDomains.join('\n'));
460
+ setRegex(initial.allowedRegex ?? '');
461
+ }, label: tI18nComplete.raw('text57ee14ce1425') }))] })] }) }));
462
+ }
463
+ export function EmailConnectForm({ projectId, connectorSlug, onConnected, }) {
464
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
465
+ const mode = useEmailMode(projectId);
466
+ const connect = useConnectEmail();
467
+ const [displayName, setDisplayName] = useState('Kortix Agent');
468
+ const [username, setUsername] = useState(() => connectorSlug
469
+ .replace(/^email_/, '')
470
+ .replace(/_[a-z0-9]{4}$/i, '')
471
+ .replace(/_/g, '-'));
472
+ const [attachExisting, setAttachExisting] = useState(false);
473
+ const [existingInboxId, setExistingInboxId] = useState('');
474
+ const [existingEmail, setExistingEmail] = useState('');
475
+ const [apiKey, setApiKey] = useState('');
476
+ const [customKeyOpen, setCustomKeyOpen] = useState(false);
477
+ const [restricted, setRestricted] = useState(false);
478
+ const [emails, setEmails] = useState('');
479
+ const [domains, setDomains] = useState('');
480
+ const [regex, setRegex] = useState('');
481
+ const [error, setError] = useState(null);
482
+ const managedAvailable = mode.data?.managed_available === true;
483
+ const useCustomKey = customKeyOpen && apiKey.trim();
484
+ const canCreate = managedAvailable || Boolean(useCustomKey);
485
+ const submit = () => {
486
+ setError(null);
487
+ if (!canCreate) {
488
+ setCustomKeyOpen(true);
489
+ setError('Managed Email is not configured on this deployment. Use a custom AgentMail key to continue.');
490
+ return;
491
+ }
492
+ if (attachExisting && (!existingInboxId.trim() || !existingEmail.trim())) {
493
+ setError('Existing AgentMail inbox requires both inbox ID and email address.');
494
+ return;
495
+ }
496
+ const sender_policy = {
497
+ mode: restricted ? 'restricted' : 'allow_all',
498
+ allowedEmails: splitPolicyList(emails),
499
+ allowedDomains: splitPolicyList(domains).map((domain) => domain.replace(/^@+/, '')),
500
+ allowedRegex: regex.trim() || null,
501
+ };
502
+ if (sender_policy.allowedRegex) {
503
+ try {
504
+ new RegExp(sender_policy.allowedRegex);
505
+ }
506
+ catch {
507
+ setError('Regex is invalid');
508
+ return;
509
+ }
510
+ }
511
+ connect.mutate({
512
+ projectId,
513
+ connector_slug: connectorSlug,
514
+ api_key: useCustomKey ? apiKey.trim() : undefined,
515
+ display_name: displayName.trim() || undefined,
516
+ username: attachExisting ? undefined : username.trim() || undefined,
517
+ inbox_id: attachExisting ? existingInboxId.trim() : undefined,
518
+ email: attachExisting ? existingEmail.trim() : undefined,
519
+ sender_policy,
520
+ }, {
521
+ onSuccess: onConnected,
522
+ onError: (e) => setError(e.message),
523
+ });
524
+ };
525
+ return (_jsxs("div", { className: "space-y-4", children: [_jsx(InfoBanner, { tone: managedAvailable ? 'info' : 'warning', icon: Mail, title: managedAvailable
526
+ ? tI18nComplete.raw('texte654b63c8098')
527
+ : tI18nComplete.raw('textafe9444782eb'), children: managedAvailable
528
+ ? tI18nComplete.raw('textec9ace8d8ff6')
529
+ : tI18nComplete.raw('text608977655d2d') }), _jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [_jsx(Field, { children: _jsx(Input, { id: "email-channel-display-name", name: "email-channel-display-name", "aria-label": tI18nComplete.raw('textf912567c97f2'), value: displayName, onChange: (e) => setDisplayName(e.target.value), placeholder: tI18nComplete.raw('text952144fe1418') }) }), attachExisting ? (_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "email-channel-existing-email", children: tI18nComplete.raw('text2fcfd290b610') }), _jsx(Input, { id: "email-channel-existing-email", name: "email-channel-existing-email", "aria-label": tI18nComplete.raw('textaa042b472947'), value: existingEmail, onChange: (e) => setExistingEmail(e.target.value.trim().toLowerCase()), placeholder: tI18nComplete.raw('textbca888f9f9fd'), autoComplete: "off", spellCheck: false })] })) : (_jsxs(Field, { children: [_jsx(Input, { id: "email-channel-username", name: "email-channel-username", "aria-label": tI18nComplete.raw('textcbf297bfb5e6'), value: username, onChange: (e) => setUsername(e.target.value.toLowerCase().replace(/[^a-z0-9._-]/g, '')), placeholder: tI18nComplete.raw('texta18603086e5b'), autoComplete: "off", spellCheck: false }), _jsxs("p", { className: "text-muted-foreground text-xs", children: [tI18nComplete.raw('textf0a216500b54'), " ", username || 'support', tI18nComplete.raw('text39e4dae21daa')] })] }))] }), _jsx("div", { className: "border-border/60 border-t pt-4", children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx(Checkbox, { id: "email-channel-existing-inbox", checked: attachExisting, onCheckedChange: (checked) => setAttachExisting(Boolean(checked)), className: "mt-0.5" }), _jsxs("div", { className: "min-w-0 flex-1 space-y-3", children: [_jsxs("div", { children: [_jsx(Label, { htmlFor: "email-channel-existing-inbox", children: tI18nComplete.raw('textd7cc97510eb3') }), _jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: tI18nComplete.raw('text3bb2e4fa1c03') })] }), attachExisting ? (_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "email-channel-existing-inbox-id", children: tI18nComplete.raw('texta35f4f3f0587') }), _jsx(Input, { id: "email-channel-existing-inbox-id", name: "email-channel-existing-inbox-id", "aria-label": tI18nComplete.raw('textdc5376ca47b4'), value: existingInboxId, onChange: (e) => setExistingInboxId(e.target.value.trim()), placeholder: tI18nComplete.raw('textbca888f9f9fd'), autoComplete: "off", spellCheck: false })] })) : null] })] }) }), _jsxs("div", { className: "space-y-3", children: [_jsxs(Button, { type: "button", variant: "ghost", size: "sm", className: "h-8 gap-1.5 px-0", onClick: () => setCustomKeyOpen((open) => !open), children: [_jsx(ChevronDown, { className: cn('h-3.5 w-3.5 transition-transform', customKeyOpen && 'rotate-180') }), tI18nComplete.raw('text1bb320d9db5d')] }), customKeyOpen ? (_jsxs(Field, { children: [_jsx(Input, { id: "email-channel-agentmail-api-key", name: "email-channel-agentmail-api-key", "aria-label": tI18nComplete.raw('text87b0e5101fd8'), type: "password", value: apiKey, onChange: (e) => setApiKey(e.target.value), placeholder: tI18nComplete.raw('text3ce8275b54eb'), autoComplete: "off", spellCheck: false }), _jsx("p", { className: "text-muted-foreground text-xs", children: tI18nComplete.raw('text0ec2e7ccbd17') })] })) : null] }), _jsx("div", { className: "border-border/60 bg-card rounded-md border p-4", children: _jsxs("div", { className: "flex items-start gap-3", children: [_jsx(Checkbox, { id: "email-channel-restrict-senders", checked: restricted, onCheckedChange: (checked) => setRestricted(Boolean(checked)), className: "mt-0.5" }), _jsxs("div", { className: "min-w-0 flex-1 space-y-3", children: [_jsxs("div", { children: [_jsx(Label, { htmlFor: "email-channel-restrict-senders", children: tI18nComplete.raw('textb1fb183269ba') }), _jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: tI18nComplete.raw('text5284184cef68') })] }), restricted ? (_jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [_jsx(Field, { children: _jsx(Input, { value: emails, onChange: (e) => setEmails(e.target.value), placeholder: tI18nComplete.raw('text542d24012988'), spellCheck: false }) }), _jsx(Field, { children: _jsx(Input, { value: domains, onChange: (e) => setDomains(e.target.value), placeholder: tI18nComplete.raw('texta379a6f6eeaf'), spellCheck: false }) }), _jsx("div", { className: "sm:col-span-2", children: _jsx(Field, { children: _jsx(Input, { value: regex, onChange: (e) => setRegex(e.target.value), placeholder: tI18nComplete.raw('text8b21058f3253'), spellCheck: false }) }) })] })) : null] })] }) }), error ? _jsx(InfoBanner, { tone: "destructive", children: error }) : null, _jsx("div", { className: "flex justify-end", children: _jsxs(Button, { size: "sm", onClick: submit, disabled: connect.isPending || mode.isLoading, children: [connect.isPending ? _jsx(Loading, { className: "mr-2 size-3.5 shrink-0" }) : null, tI18nComplete.raw('text72d9ee78a15c')] }) })] }));
530
+ }
531
+ function SlackChannelConnection({ projectId, onChanged, onRemoved, canWrite = false, }) {
532
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
533
+ const install = useSlackInstall(projectId);
534
+ return (_jsxs("section", { className: "space-y-4", children: [_jsx(Label, { children: tI18nComplete.raw('text51b3bfca2e8c') }), _jsx("p", { className: "text-muted-foreground -mt-2 text-xs", children: tI18nComplete.raw('textff5091ba4fe1') }), _jsx("div", { className: "bg-popover rounded-md border px-4 py-3", children: install.isLoading ? (_jsx(Skeleton, { className: "h-24 w-full rounded-md" })) : install.data ? (_jsx(ConnectedSlackConnection, { projectId: projectId, installation: install.data, onRemoved: onRemoved, canWrite: canWrite })) : canWrite ? (_jsx(SlackConnectForm, { projectId: projectId, onConnected: onChanged })) : (_jsx(InfoBanner, { tone: "neutral", icon: _jsx(SlackLogo, {}), title: tI18nComplete.raw('textb36d622566f6'), children: tI18nComplete.raw('text98d27bdc2fa7') })) })] }));
535
+ }
536
+ function ConnectedSlackConnection({ projectId, installation, onRemoved, canWrite = false, }) {
537
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
538
+ const disconnect = useDisconnectSlack();
539
+ const [confirming, setConfirming] = useState(false);
540
+ return (_jsxs("div", { className: "space-y-4", children: [_jsxs(InfoBanner, { tone: "success", icon: Check, title: tI18nComplete.raw('text4fce550efde4'), children: [tI18nComplete.raw('text87bb59ba2f92'), ' ', _jsx("code", { className: "font-mono", children: installation.workspaceName || installation.workspaceId })] }), canWrite && (_jsx("div", { className: "flex items-center justify-end gap-2", children: confirming ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-muted-foreground mr-auto text-xs", children: tI18nComplete.raw('text73b407259d54') }), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => setConfirming(false), children: tI18nComplete.raw('text19766ed6ccb2') }), _jsxs(Button, { variant: "destructive", size: "sm", disabled: disconnect.isPending, onClick: () => disconnect.mutate(projectId, {
541
+ onSuccess: () => {
542
+ setConfirming(false);
543
+ onRemoved();
544
+ },
545
+ }), children: [disconnect.isPending ? _jsx(Loading, { className: "mr-2 size-3.5 shrink-0" }) : null, tI18nComplete.raw('textacfc5be785a9')] })] })) : (_jsx(Button, { variant: "outline", size: "sm", onClick: () => setConfirming(true), children: tI18nComplete.raw('textacfc5be785a9') })) }))] }));
546
+ }
547
+ export function SlackConnectForm({ projectId, onConnected, customOnly = false, }) {
548
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
549
+ const mode = useSlackMode(projectId);
550
+ const manifest = useSlackManifest(projectId);
551
+ const connect = useConnectSlack();
552
+ const [botToken, setBotToken] = useState('');
553
+ const [signingSecret, setSigningSecret] = useState('');
554
+ const [customOpen, setCustomOpen] = useState(false);
555
+ const [copiedManifest, setCopiedManifest] = useState(false);
556
+ const [error, setError] = useState(null);
557
+ const installUrl = mode.data?.oauth_available ? mode.data.install_url : null;
558
+ const showCustom = customOnly || customOpen || (!mode.isLoading && !installUrl);
559
+ const submit = () => {
560
+ setError(null);
561
+ connect.mutate({ projectId, bot_token: botToken.trim(), signing_secret: signingSecret.trim() }, {
562
+ onSuccess: onConnected,
563
+ onError: (e) => setError(e.message),
564
+ });
565
+ };
566
+ const copyManifest = async () => {
567
+ if (!manifest.data)
568
+ return;
569
+ try {
570
+ await navigator.clipboard.writeText(manifest.data);
571
+ setCopiedManifest(true);
572
+ successToast(tI18nComplete.raw('text1f1228d5e972'));
573
+ setTimeout(() => setCopiedManifest(false), 1500);
574
+ }
575
+ catch {
576
+ errorToast(tI18nComplete.raw('text1801bed8cea5'));
577
+ }
578
+ };
579
+ return (_jsxs("div", { className: "space-y-4", children: [!customOnly &&
580
+ (mode.isLoading ? (_jsx(Skeleton, { className: "h-24 w-full rounded-md" })) : installUrl ? (_jsx(InfoBanner, { tone: "info", icon: _jsx(SlackLogo, {}), title: tI18nComplete.raw('text0e671041e03f'), action: _jsx(Button, { size: "sm", className: "shrink-0 gap-1.5", asChild: true, children: _jsxs("a", { href: installUrl, children: [tI18nComplete.raw('text3357cd3d0cee'), _jsx(ChevronRight, { className: "h-4 w-4" })] }) }), children: tI18nComplete.raw('text8b3305c40176') })) : (_jsx(InfoBanner, { tone: "warning", icon: _jsx(SlackLogo, {}), title: tI18nComplete.raw('text36e7df856716'), children: tI18nComplete.raw('text51e0d22747d7') }))), _jsxs("div", { className: cn(!customOnly && 'space-y-3'), children: [!customOnly && (_jsxs(Button, { type: "button", variant: "ghost", size: "sm", className: "h-8 gap-1.5 px-0", onClick: () => setCustomOpen((open) => !open), children: [_jsx(ChevronDown, { className: cn('h-3.5 w-3.5 transition-transform', showCustom && 'rotate-180') }), tI18nComplete.raw('textaed3545ea8e4')] })), showCustom ? (_jsxs("div", { className: cn('space-y-5', !customOnly && 'border-border/60 bg-card rounded-md border p-4'), children: [!customOnly && (_jsxs("div", { className: "space-y-1", children: [_jsx("h3", { className: "text-foreground text-base font-semibold", children: tI18nComplete.raw('text6e3fcca472c5') }), _jsx("p", { className: "text-muted-foreground text-sm", children: tI18nComplete.raw('text0881271239f3') })] })), _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: cn('flex flex-col gap-3', !customOnly && 'sm:flex-row sm:items-end sm:justify-between'), children: [_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: "text-foreground text-sm font-medium", children: tI18nComplete.raw('text8cd1f7bcdc71') }), _jsx("div", { className: "text-muted-foreground text-xs font-medium", children: tI18nComplete.raw('textcc6e921330d3') })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [_jsxs(Button, { type: "button", variant: "outline", size: "sm", className: "gap-1.5", onClick: copyManifest, disabled: !manifest.data, children: [copiedManifest ? (_jsx(Check, { className: "h-3.5 w-3.5" })) : (_jsx(Copy, { className: "h-3.5 w-3.5" })), copiedManifest ? 'Copied' : 'Copy'] }), _jsx(Button, { type: "button", variant: "outline", size: "sm", className: "gap-1.5", asChild: true, children: _jsxs("a", { href: "https://api.slack.com/apps?new_app=1", target: "_blank", rel: "noreferrer", children: [tI18nComplete.raw('text4ddf02a36df5'), _jsx(ExternalLink, { className: "h-3.5 w-3.5" })] }) })] })] }), manifest.isLoading ? (_jsx(Skeleton, { className: cn('h-52 w-full', !customOnly && 'rounded-md') })) : manifest.isError ? (_jsx(InfoBanner, { tone: "destructive", children: manifest.error?.message || tI18nComplete.raw('text65a8ec4a4a48') })) : manifest.data ? (_jsx("div", { className: cn('max-h-[26rem] overflow-auto', !customOnly && 'rounded-md'), children: _jsx(CodeSnippet, { code: manifest.data, language: "json" }) })) : null, _jsx("ol", { className: "space-y-2", children: [
581
+ tI18nComplete.raw('texta89d28175307'),
582
+ tI18nComplete.raw('text690ee10ca19e'),
583
+ tI18nComplete.raw('text2cf7a6e21f7e'),
584
+ ].map((step, index) => (_jsxs("li", { className: "text-muted-foreground flex gap-2 text-xs", children: [_jsx("span", { className: "border-border/60 bg-muted/40 text-foreground flex h-5 w-5 shrink-0 items-center justify-center rounded-full border text-xs font-medium", children: index + 1 }), _jsx("span", { className: "pt-0.5", children: step })] }, step))) })] }), _jsxs("div", { className: "space-y-3", children: [_jsxs("div", { children: [_jsx("div", { className: "text-foreground text-sm font-medium", children: tI18nComplete.raw('textf00ff63fb851') }), _jsx("p", { className: "text-muted-foreground mt-0.5 text-xs", children: tI18nComplete.raw('texte5974d3936df') })] }), _jsxs("div", { className: cn('grid gap-3', !customOnly && 'sm:grid-cols-2'), children: [_jsx(Field, { children: _jsx(Input, { id: "slack-channel-bot-token", name: "slack-channel-bot-token", "aria-label": tI18nComplete.raw('textc297a4c9177d'), type: "password", value: botToken, onChange: (e) => setBotToken(e.target.value), placeholder: tI18nComplete.raw('textdf964376e432'), autoComplete: "off", spellCheck: false }) }), _jsx(Field, { children: _jsx(Input, { id: "slack-channel-signing-secret", name: "slack-channel-signing-secret", "aria-label": tI18nComplete.raw('text52594f72e6fc'), type: "password", value: signingSecret, onChange: (e) => setSigningSecret(e.target.value), placeholder: tI18nComplete.raw('text52594f72e6fc'), autoComplete: "off", spellCheck: false }) })] }), error ? _jsx(InfoBanner, { tone: "destructive", children: error }) : null, _jsx("div", { className: "flex justify-end", children: _jsxs(Button, { size: "sm", onClick: submit, disabled: connect.isPending || !botToken.trim() || !signingSecret.trim(), children: [connect.isPending ? _jsx(Loading, { className: "mr-2 size-3.5 shrink-0" }) : null, tI18nComplete.raw('text75b86fa11745')] }) })] })] })) : null] })] }));
585
+ }
586
+ function configToDraft(cfg) {
587
+ return {
588
+ slug: cfg.slug,
589
+ provider: cfg.provider,
590
+ platform: cfg.platform ?? undefined,
591
+ url: cfg.url ?? undefined,
592
+ transport: cfg.transport ?? undefined,
593
+ endpoint: cfg.endpoint ?? undefined,
594
+ baseUrl: cfg.baseUrl ?? undefined,
595
+ spec: cfg.spec ?? undefined,
596
+ auth: {
597
+ type: cfg.auth.type,
598
+ in: cfg.auth.in,
599
+ name: cfg.auth.name ?? undefined,
600
+ prefix: cfg.auth.prefix ?? undefined,
601
+ },
602
+ headers: cfg.headers ?? {},
603
+ };
604
+ }
605
+ function connectionSig(d) {
606
+ return JSON.stringify({
607
+ provider: d.provider,
608
+ platform: d.platform ?? '',
609
+ url: d.url ?? '',
610
+ transport: d.transport ?? '',
611
+ endpoint: d.endpoint ?? '',
612
+ baseUrl: d.baseUrl ?? '',
613
+ spec: d.spec ?? '',
614
+ auth: {
615
+ type: d.auth?.type ?? 'none',
616
+ in: d.auth?.in ?? 'header',
617
+ name: d.auth?.name ?? '',
618
+ prefix: d.auth?.prefix ?? '',
619
+ },
620
+ // Order matters: reordering headers IS an edit worth saving.
621
+ headers: Object.entries(d.headers ?? {}),
622
+ });
623
+ }
624
+ export function ConnectionSection({ projectId, connector, onChanged, canWrite = false, onSetCredential, }) {
625
+ const tI18nHardcoded = useTranslations('hardcodedUi');
626
+ const queryClient = useQueryClient();
627
+ const configQuery = useQuery({
628
+ queryKey: qk.project.connectorConfig(projectId, connector.slug),
629
+ queryFn: () => getConnectorConfig(projectId, connector.slug),
630
+ ...contract('config'),
631
+ enabled: canWrite,
632
+ });
633
+ const [draft, setDraft] = useState(null);
634
+ const [savedSig, setSavedSig] = useState('');
635
+ useEffect(() => {
636
+ if (!configQuery.data)
637
+ return;
638
+ const d = configToDraft(configQuery.data);
639
+ setDraft(d);
640
+ setSavedSig(connectionSig(d));
641
+ }, [configQuery.data]);
642
+ const dirty = !!draft && connectionSig(draft) !== savedSig;
643
+ const reset = () => {
644
+ if (configQuery.data)
645
+ setDraft(configToDraft(configQuery.data));
646
+ };
647
+ const save = useMutation({
648
+ mutationFn: () => createConnector(projectId, {
649
+ ...draft,
650
+ slug: connector.slug,
651
+ }),
652
+ onSuccess: () => {
653
+ successToast(tI18nHardcoded.raw('i18nComplete.text23922935b1f8'));
654
+ queryClient.invalidateQueries({
655
+ queryKey: qk.project.connectorConfig(projectId, connector.slug),
656
+ });
657
+ onChanged();
658
+ },
659
+ onError: (e) => errorToast(e.message || tI18nHardcoded.raw('i18nComplete.textf9581c8d3b47')),
660
+ });
661
+ return (_jsxs("section", { className: "space-y-4", children: [_jsx(Label, { children: tI18nHardcoded.raw('i18nComplete.text639a40e82b9a') }), _jsx("p", { className: "text-muted-foreground -mt-2 text-xs", children: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescriptionHowa31daf50') }), _jsx("div", { className: "bg-popover rounded-md border px-4 py-3", children: configQuery.isError ? (_jsx(InfoBanner, { tone: "destructive", title: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleCouldn277b73a0'), action: _jsx(Button, { size: "sm", variant: "outline", onClick: () => configQuery.refetch(), children: tI18nHardcoded.raw('i18nComplete.text942087cc2d41') }), children: configQuery.error?.message ??
662
+ tI18nHardcoded.raw('i18nComplete.text27c2ccd962c2') })) : configQuery.isLoading || !draft ? (_jsxs("div", { className: "space-y-3", children: [_jsx(Skeleton, { className: "h-9 w-full rounded-md" }), _jsx(Skeleton, { className: "h-9 w-2/3 rounded-md" }), _jsx(Skeleton, { className: "h-9 w-full rounded-md" })] })) : (_jsxs("div", { className: "space-y-4", children: [_jsx(ConnectorConfigFields, { draft: draft, onChange: setDraft, readOnly: !canWrite }), connector.authorizationStrategy === 'project' &&
663
+ connector.authSecret &&
664
+ onSetCredential && (_jsxs("div", { className: "border-border/60 flex flex-wrap items-center justify-between gap-3 border-t pt-4", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("p", { className: "text-sm font-medium", children: tI18nHardcoded.raw('i18nComplete.textb1c42b3ce118') }), _jsx("p", { className: "text-muted-foreground text-xs", children: connector.secretSet
665
+ ? tI18nHardcoded.raw('i18nComplete.text0b7bd1b43899')
666
+ : tI18nHardcoded.raw('i18nComplete.text44160e26b787') })] }), _jsx(Badge, { variant: connector.secretSet ? 'secondary' : 'outline', children: connector.secretSet
667
+ ? 'Connected'
668
+ : tI18nHardcoded.raw('i18nComplete.text0303e1824670') })] })), canWrite && (_jsx(SaveBar, { dirty: dirty, saving: save.isPending, disabled: !connectionValid(draft), onSave: () => save.mutate(), onReset: reset, label: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSave8c6f945f') }))] })) })] }));
669
+ }
670
+ export function AddAppPanel({ projectId, emailChannelEnabled, discoverEnabled, existingSlugs, onAdded, canWrite = false, }) {
671
+ const tI18nHardcoded = useTranslations('hardcodedUi');
672
+ // Self-host without Pipedream configured (KORTIX_PUBLIC_CONNECTORS_ENABLED
673
+ // false) — hide Easy Connect while leaving Discover/direct sources available.
674
+ const { connectorsEnabled } = useUiHostConfig();
675
+ const connectStatus = useQuery({
676
+ queryKey: ['connect-status'],
677
+ queryFn: getConnectStatus,
678
+ staleTime: 5 * 60_000,
679
+ enabled: connectorsEnabled,
680
+ });
681
+ if (!canWrite) {
682
+ return (_jsx("div", { className: "mx-auto w-full max-w-2xl space-y-8", children: _jsx(EmptyState, { icon: Plug, title: tI18nHardcoded.raw('i18nComplete.text51ae0a7e3783'), description: tI18nHardcoded.raw('i18nComplete.text0bf59aef2b27') }) }));
683
+ }
684
+ const easyConnectHidden = !connectorsEnabled;
685
+ const easyConnectDisabled = easyConnectHidden || connectStatus.data?.configured === false;
686
+ const easyConnectLabel = tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextEasyConnect19ca1c01');
687
+ const defaultTab = !easyConnectDisabled ? 'apps' : discoverEnabled ? 'discover' : 'channels';
688
+ return (_jsxs("div", { className: "mx-auto w-full max-w-4xl space-y-6 p-4", children: [_jsx("header", { className: "flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between", children: _jsx("h2", { className: "text-foreground text-xl font-medium", children: tI18nHardcoded.raw('i18nComplete.text3a06bf051e48') }) }), _jsxs(Tabs, { defaultValue: defaultTab, children: [_jsxs(TabsList, { type: "underline", children: [easyConnectHidden ? null : easyConnectDisabled ? (_jsx(Hint, { label: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextEasyConnectc07266e0'), children: _jsx(TabsTrigger, { value: "apps", disabled: true, children: easyConnectLabel }) })) : (_jsx(TabsTrigger, { value: "apps", children: easyConnectLabel })), discoverEnabled && (_jsx(TabsTrigger, { value: "discover", children: tI18nHardcoded.raw('i18nComplete.textd4a33d5b78bc') })), _jsx(TabsTrigger, { value: "channels", children: tI18nHardcoded.raw('i18nComplete.text4c8906cf76f5') }), _jsx(TabsTrigger, { value: "custom", children: tI18nHardcoded.raw('i18nComplete.text494ca78f7374') })] }), !easyConnectDisabled && (_jsx(TabsContent, { value: "apps", className: "mt-4", children: _jsx(AppCatalogue, { projectId: projectId, existingSlugs: existingSlugs, onAdded: onAdded }) })), discoverEnabled && (_jsx(TabsContent, { value: "discover", className: "mt-4", children: _jsx(DiscoverCatalogue, { projectId: projectId, existingSlugs: existingSlugs, onAdded: onAdded }) })), _jsx(TabsContent, { value: "channels", className: "mt-4", children: _jsx(ChannelCatalogue, { projectId: projectId, emailChannelEnabled: emailChannelEnabled, onAdded: onAdded }) }), _jsx(TabsContent, { value: "custom", className: "mt-4", children: _jsx(CustomConnectorForm, { projectId: projectId, emailChannelEnabled: emailChannelEnabled, onAdded: onAdded }) })] })] }));
689
+ }
690
+ function ChannelCatalogue({ projectId, emailChannelEnabled, onAdded, }) {
691
+ return (_jsxs("div", { className: "grid gap-3 sm:grid-cols-2", children: [emailChannelEnabled && _jsx(AddEmailConnectionCard, { projectId: projectId, onAdded: onAdded }), _jsx(AddSlackConnectionCard, { projectId: projectId, onAdded: onAdded })] }));
692
+ }
693
+ /**
694
+ * The real Slack logo — the single Slack mark used everywhere across the
695
+ * connectors + channels surface (catalogue cards, channel cards, connect flow),
696
+ * so Slack always reads as Slack and never as a generic glyph. Sized by
697
+ * `className`; defaults to `size-4`. It is the built-in four-color `Slack`
698
+ * icon: this used to fetch Slack's favicon from Google on every view, a blank
699
+ * tile on an install without internet.
700
+ */
701
+ export function SlackLogo({ className }) {
702
+ return _jsx(Slack, { className: cn('size-4 shrink-0', className) });
703
+ }
704
+ function SlackIconTile() {
705
+ return (_jsx("span", { className: "border-border/60 bg-card relative flex size-6 shrink-0 items-center justify-center overflow-hidden rounded-sm border", children: _jsx(SlackLogo, { className: "size-3.5" }) }));
706
+ }
707
+ const CHANNEL_CATALOGUE_CARD_CLASS = 'group bg-popover hover:bg-muted/80 focus-visible:ring-primary/50 flex flex-col rounded-md border p-3.5 text-left transition-colors focus-visible:ring-2 focus-visible:outline-none';
708
+ function AddEmailConnectionCard({ projectId, onAdded, }) {
709
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
710
+ const [open, setOpen] = useState(false);
711
+ const [name, setName] = useState('Email inbox');
712
+ const [username, setUsername] = useState('');
713
+ const add = useMutation({
714
+ mutationFn: async () => {
715
+ const slug = buildEmailConnectorConnectionSlug(username || name, randomUUID());
716
+ const result = await createConnector(projectId, createOnlyConnectorDraft({
717
+ slug,
718
+ name: name.trim() || 'Email inbox',
719
+ provider: 'channel',
720
+ platform: 'email',
721
+ credential: 'shared',
722
+ }));
723
+ return { slug, syncError: connectorSyncErrorForSlug(result, slug) };
724
+ },
725
+ onSuccess: ({ slug, syncError }) => {
726
+ setOpen(false);
727
+ if (syncError) {
728
+ warningToast(tI18nComplete('text4e12058e58c1', { value0: syncError }));
729
+ onAdded();
730
+ return;
731
+ }
732
+ successToast(tI18nComplete.raw('textd1dcd7a7bbec'));
733
+ onAdded(slug);
734
+ },
735
+ onError: (err) => errorToast(err.message || tI18nComplete.raw('text3df88e8f7ea6')),
736
+ });
737
+ return (_jsxs(_Fragment, { children: [_jsxs("button", { type: "button", onClick: () => setOpen(true), className: CHANNEL_CATALOGUE_CARD_CLASS, children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(EntityAvatar, { icon: Mail, size: "sm" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "text-foreground truncate text-sm font-medium", children: tI18nComplete.raw('textf00606184e4d') }), _jsx("div", { className: "text-muted-foreground truncate text-xs", children: tI18nComplete.raw('text2283269ca150') })] })] }), _jsx("p", { className: "text-muted-foreground mt-2 line-clamp-2 min-h-[2rem] text-xs leading-relaxed", children: tI18nComplete.raw('text3b61c181f516') })] }), _jsx(Modal, { open: open, onOpenChange: (next) => !add.isPending && setOpen(next), children: _jsxs(ModalContent, { className: "lg:max-w-md", children: [_jsxs(ModalHeader, { children: [_jsx(ModalTitle, { children: tI18nComplete.raw('text2b47dcc33a2a') }), _jsx(ModalDescription, { children: tI18nComplete.raw('text630694bd2dec') })] }), _jsxs(ModalBody, { className: "max-h-[60vh] space-y-4 overflow-y-auto", children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "email-connection-name", children: tI18nComplete.raw('text2b7f6a84de91') }), _jsx(Input, { id: "email-connection-name", name: "email-connection-name", value: name, onChange: (e) => setName(e.target.value), placeholder: tI18nComplete.raw('text945ce03ec79f') })] }), _jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "email-connection-prefix", children: tI18nComplete.raw('text4e6946711ca8') }), _jsx(Input, { id: "email-connection-prefix", name: "email-connection-prefix", value: username, onChange: (e) => setUsername(e.target.value.toLowerCase().replace(/[^a-z0-9._-]/g, '')), placeholder: tI18nComplete.raw('texta18603086e5b'), autoComplete: "off", spellCheck: false }), _jsx("p", { className: "text-muted-foreground text-xs", children: tI18nComplete.raw('text2549e14d07c9') })] })] }), _jsxs(ModalFooter, { className: "sm:justify-between", children: [_jsx(Button, { variant: "outline-ghost", onClick: () => setOpen(false), disabled: add.isPending, children: tI18nComplete.raw('text19766ed6ccb2') }), _jsxs(Button, { onClick: () => add.mutate(), disabled: add.isPending, className: "gap-1.5", children: [add.isPending ? _jsx(Loading, { className: "size-4 shrink-0" }) : null, tI18nComplete.raw('text8dff8c0800fd')] })] })] }) })] }));
738
+ }
739
+ function AddSlackConnectionCard({ projectId, onAdded, }) {
740
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
741
+ const [open, setOpen] = useState(false);
742
+ const handleConnected = () => {
743
+ successToast(tI18nComplete.raw('text1bfa15228ca8'));
744
+ setOpen(false);
745
+ onAdded('kortix_slack');
746
+ };
747
+ return (_jsxs(_Fragment, { children: [_jsxs("button", { type: "button", onClick: () => setOpen(true), className: CHANNEL_CATALOGUE_CARD_CLASS, children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx(SlackIconTile, {}), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "text-foreground truncate text-sm font-medium", children: tI18nComplete.raw('textb27fb38ba323') }), _jsx("div", { className: "text-muted-foreground truncate text-xs", children: tI18nComplete.raw('textbbbf43b8819c') })] })] }), _jsx("p", { className: "text-muted-foreground mt-2 line-clamp-2 min-h-[2rem] text-xs leading-relaxed", children: tI18nComplete.raw('text43b4b568012f') })] }), _jsx(Modal, { open: open, onOpenChange: setOpen, children: _jsxs(ModalContent, { className: "lg:max-w-2xl", children: [_jsxs(ModalHeader, { children: [_jsx(ModalTitle, { children: tI18nComplete.raw('text62da6a2b1758') }), _jsx(ModalDescription, { children: tI18nComplete.raw('text8b5b9b72f2ec') })] }), _jsx(ModalBody, { className: "max-h-[60vh] overflow-y-auto", children: _jsx(SlackConnectForm, { projectId: projectId, onConnected: handleConnected }) })] }) })] }));
748
+ }
749
+ /** Easy-connect app catalogue — searchable card grid with "Load more". */
750
+ function AppCatalogue({ projectId, existingSlugs, onAdded, }) {
751
+ const tI18nHardcoded = useTranslations('hardcodedUi');
752
+ const [q, setQ] = useState('');
753
+ const [selectedApp, setSelectedApp] = useState(null);
754
+ const appsQuery = useInfiniteQuery({
755
+ queryKey: ['easy-connect-apps', projectId, q],
756
+ queryFn: ({ pageParam }) => listPipedreamApps(projectId, q || undefined, pageParam),
757
+ initialPageParam: undefined,
758
+ getNextPageParam: (last) => (last.hasMore ? last.nextCursor : undefined),
759
+ staleTime: 60_000,
760
+ });
761
+ const apps = (appsQuery.data?.pages ?? []).flatMap((p) => p.apps);
762
+ const visibleApps = apps.filter((app) => !BUILT_IN_CHANNEL_APP_SLUGS.has(app.slug));
763
+ const notConfigured = appsQuery.isError && /501|not configured/i.test(appsQuery.error?.message ?? '');
764
+ const addApp = useMutation({
765
+ mutationFn: async (connector) => {
766
+ if (!selectedApp)
767
+ throw new Error('Select an app');
768
+ const draft = buildEasyConnectConnectorDraft(selectedApp, connector);
769
+ const result = await createConnector(projectId, draft);
770
+ return {
771
+ name: draft.name ?? selectedApp.name,
772
+ slug: draft.slug,
773
+ syncError: connectorSyncErrorForSlug(result, draft.slug),
774
+ };
775
+ },
776
+ onSuccess: (connector) => {
777
+ setSelectedApp(null);
778
+ if (connector.syncError) {
779
+ warningToast(tI18nHardcoded('i18nComplete.textd6a135de3872', {
780
+ value0: connector.name,
781
+ value1: connector.syncError,
782
+ }));
783
+ onAdded();
784
+ return;
785
+ }
786
+ successToast(tI18nHardcoded('i18nComplete.text590d36262e11', { value0: connector.name }));
787
+ onAdded(connector.slug);
788
+ },
789
+ onError: (err) => errorToast(err.message || tI18nHardcoded.raw('i18nComplete.texta34a2714da91')),
790
+ });
791
+ return (_jsxs("div", { children: [_jsxs("div", { className: "relative", children: [_jsx(Search, { className: "text-muted-foreground pointer-events-none absolute top-1/2 left-3 h-4 w-4 -translate-y-1/2" }), _jsx(Input, { value: q, onChange: (e) => setQ(e.target.value), placeholder: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrPlaceholderSearch9d26aaaa'), variant: "popover", className: "pl-9" })] }), _jsx("div", { className: "overflow-y-auto py-4", children: notConfigured ? (_jsx(InfoBanner, { tone: "neutral", title: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleEasy58e9c7b1'), children: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextEasyConnectc07266e0') })) : appsQuery.isLoading ? (_jsx("div", { className: "grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4", children: Array.from({ length: 12 }).map((_, i) => (_jsx(Skeleton, { className: "h-[104px] w-full rounded-md" }, i))) })) : visibleApps.length === 0 ? (_jsx(EmptyState, { icon: Search, title: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleNof8067eda'), description: q
792
+ ? tI18nHardcoded('i18nComplete.text3e71adfa7d54', { value0: q })
793
+ : tI18nHardcoded.raw('i18nComplete.textecbd276ebec2') })) : (_jsxs(_Fragment, { children: [_jsx("div", { className: "grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4", children: visibleApps.map((app) => (_jsxs("button", { type: "button", disabled: addApp.isPending, onClick: () => setSelectedApp(app), className: "group bg-popover hover:bg-muted/80 focus-visible:ring-primary/50 flex flex-col rounded-md border p-3.5 text-left transition-colors focus-visible:ring-2 focus-visible:outline-none disabled:opacity-60", children: [_jsxs("div", { className: "flex items-center gap-3", children: [app.imgSrc ? (_jsx(Image, { src: app.imgSrc, alt: "", width: 36, height: 36, className: "size-8 shrink-0 rounded-md object-contain", referrerPolicy: "no-referrer", unoptimized: true })) : (_jsx(EntityAvatar, { icon: Zap, size: "sm" })), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "text-foreground truncate text-sm font-medium", children: app.name }), app.categories?.[0] && (_jsx("div", { className: "text-muted-foreground truncate text-xs", children: app.categories[0] }))] }), _jsx(Plus, { className: "text-muted-foreground group-hover:text-primary size-4 shrink-0 transition-colors" })] }), _jsx("p", { className: "text-muted-foreground mt-2 line-clamp-2 min-h-[2rem] text-xs leading-relaxed", children: app.description ?? ' ' })] }, app.slug))) }), appsQuery.hasNextPage && (_jsx("div", { className: "flex justify-center pt-5", children: _jsx(Button, { variant: "outline", size: "sm", onClick: () => appsQuery.fetchNextPage(), disabled: appsQuery.isFetchingNextPage, className: "h-9 px-8", children: appsQuery.isFetchingNextPage ? (_jsxs(_Fragment, { children: [_jsx(Loading, { className: "size-4 shrink-0" }), tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextLoading7131cc18')] })) : (tI18nHardcoded.raw('i18nComplete.textac8991ef0101')) }) }))] })) }), _jsx(ConnectorConnectionModal, { open: selectedApp !== null, idPrefix: "easy-connect-connector", title: `Add ${selectedApp?.name ?? 'app'}`, description: tI18nHardcoded.raw('i18nComplete.text6acbef3d00c7'), initialName: selectedApp?.name ?? '', initialSlug: selectedApp ? proposeConnectorConnectionSlug(selectedApp.name, existingSlugs) : '', existingSlugs: existingSlugs, pending: addApp.isPending, onOpenChange: (open) => !open && setSelectedApp(null), onSubmit: (connector) => addApp.mutate(connector) })] }));
794
+ }
795
+ /**
796
+ * Slugify the source document's own name — OpenAPI `info.title`, Postman
797
+ * `info.name` — so adding a spec proposes the slug the API calls itself
798
+ * ("Kortix WhatsApp Gateway" → `kortix-whatsapp-gateway`). Derived from the
799
+ * document rather than its URL: a hostname is a guess, a title is a statement.
800
+ */
801
+ function slugFromTitle(title) {
802
+ return (title ?? '')
803
+ .trim()
804
+ .toLowerCase()
805
+ .replace(/[^a-z0-9_-]+/g, '-')
806
+ .replace(/^-+|-+$/g, '')
807
+ .slice(0, 64)
808
+ .replace(/-+$/g, '');
809
+ }
810
+ /**
811
+ * Postman-style static header table. Any header, any value, sent on every call
812
+ * this connector makes. Kept as ordered rows (not an object) while editing so a
813
+ * half-typed or duplicate name doesn't silently drop a row out from under the
814
+ * user — the object is only rebuilt on the way out.
815
+ */
816
+ function HeadersEditor({ value, onChange, readOnly, authHeaderName, }) {
817
+ const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
818
+ const [rows, setRows] = useState(() => Object.entries(value));
819
+ // Re-seed only when the saved value genuinely differs from what we're showing,
820
+ // so a refetch can't wipe a row the user is mid-way through typing.
821
+ const [initialSeed] = useState(() => JSON.stringify(Object.entries(value)));
822
+ const seeded = useRef(initialSeed);
823
+ useEffect(() => {
824
+ const incoming = JSON.stringify(Object.entries(value));
825
+ if (incoming !== seeded.current && incoming !== JSON.stringify(rows)) {
826
+ seeded.current = incoming;
827
+ setRows(Object.entries(value));
828
+ }
829
+ }, [value, rows]);
830
+ const commit = (next) => {
831
+ setRows(next);
832
+ const out = {};
833
+ for (const [k, v] of next) {
834
+ const name = k.trim();
835
+ if (name)
836
+ out[name] = v;
837
+ }
838
+ seeded.current = JSON.stringify(Object.entries(out));
839
+ onChange(out);
840
+ };
841
+ const nameError = (name, index) => {
842
+ const trimmed = name.trim();
843
+ if (!trimmed)
844
+ return null;
845
+ if (!/^[A-Za-z0-9!#$%&'*+.^_`|~-]+$/.test(trimmed))
846
+ return 'Not a valid header name';
847
+ if (trimmed.length > 128)
848
+ return 'Too long (max 128)';
849
+ if (authHeaderName && trimmed.toLowerCase() === authHeaderName.toLowerCase()) {
850
+ return 'Reserved for the credential — the auth header always wins';
851
+ }
852
+ const dupe = rows.some(([other], i) => i !== index && other.trim().toLowerCase() === trimmed.toLowerCase());
853
+ return dupe ? 'Duplicate header name' : null;
854
+ };
855
+ return (_jsxs(Field, { children: [_jsx(FieldLabel, { children: tI18nComplete.raw('text194e9fe656a1') }), _jsxs("div", { className: "space-y-2", children: [rows.map(([name, val], i) => {
856
+ const err = nameError(name, i);
857
+ return (
858
+ // Rows are positional and freely reorderable, so the index IS the identity.
859
+ // biome-ignore lint/suspicious/noArrayIndexKey: positional rows
860
+ _jsxs("div", { className: "space-y-1", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Input, { value: name, onChange: (e) => commit(rows.map((r, j) => (j === i ? [e.target.value, r[1]] : r))), placeholder: tI18nComplete.raw('text1447557b9c1e'), className: "font-mono text-xs", variant: "popover", disabled: readOnly, "aria-invalid": !!err }), _jsx(Input, { value: val, onChange: (e) => commit(rows.map((r, j) => (j === i ? [r[0], e.target.value] : r))), placeholder: tI18nComplete.raw('text822b33ad87c1'), className: "font-mono text-xs", variant: "popover", disabled: readOnly }), !readOnly && (_jsx(Button, { type: "button", size: "icon", variant: "ghost", className: "shrink-0", "aria-label": tI18nComplete.raw('texte42db5eb1789'), onClick: () => commit(rows.filter((_, j) => j !== i)), children: _jsx(X, { className: "size-4" }) }))] }), err && _jsx("p", { className: "text-destructive text-xs", children: err })] }, i));
861
+ }), !readOnly && rows.length < 32 && (_jsxs(Button, { type: "button", size: "sm", variant: "outline", className: "gap-1.5", onClick: () => setRows([...rows, ['', '']]), children: [_jsx(Plus, { className: "size-3.5" }), " ", tI18nComplete.raw('text1192c90dd497')] }))] }), _jsx(FieldDescription, { children: tI18nComplete.raw('text3ca228539c82') })] }));
862
+ }
863
+ function ConnectorConfigFields({ draft, onChange, slugEditable, emailChannelEnabled = true, readOnly = false, detectedAuth = null, detectedTitle = null, oauth2Selected = false, onOAuth2SelectedChange, }) {
864
+ const tI18nHardcoded = useTranslations('hardcodedUi');
865
+ // Once the slug is typed in by hand, never overwrite it from the source again.
866
+ const slugTouched = useRef(false);
867
+ // An MCP server answers 401 before it names itself: fall back to the
868
+ // URL's domain (`https://api.acme.ai/mcp` → `acme`).
869
+ const sourceUrl = draft.url ?? draft.endpoint ?? draft.baseUrl ?? draft.spec ?? '';
870
+ const suggestedSlug = slugFromTitle(detectedTitle) || (sourceUrl ? (mcpServerIdentity(sourceUrl, [])?.slug ?? '') : '');
871
+ useEffect(() => {
872
+ // Follows the source until the user types a slug. Editing an existing
873
+ // connector (slugEditable false) is never touched.
874
+ if (!slugEditable || readOnly || slugTouched.current)
875
+ return;
876
+ if (!suggestedSlug || draft.slug === suggestedSlug)
877
+ return;
878
+ onChange({ ...draft, slug: suggestedSlug });
879
+ }, [suggestedSlug, slugEditable, readOnly, draft, onChange]);
880
+ const set = (patch) => onChange({ ...draft, ...patch });
881
+ const setAuth = (patch) => onChange({ ...draft, auth: { ...draft.auth, ...patch } });
882
+ const p = draft.provider;
883
+ const needsAuth = p !== 'pipedream' && p !== 'channel' && p !== 'computer';
884
+ return (_jsxs(FieldGroup, { className: "gap-4", children: [_jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-slug", children: tI18nHardcoded.raw('i18nComplete.textd15387ecc6c5') }), _jsx(Input, { id: "connector-slug", value: draft.slug, onChange: (e) => {
885
+ slugTouched.current = true;
886
+ set({ slug: e.target.value.toLowerCase().replace(/[^a-z0-9_-]/g, '-') });
887
+ }, placeholder: tI18nHardcoded.raw('i18nComplete.text9696f2b4e020'), className: "font-mono text-xs", variant: "popover", disabled: !slugEditable || readOnly, required: true })] }), _jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-provider", children: tI18nHardcoded.raw('i18nComplete.text472590ae974d') }), _jsxs(Select, { value: p, disabled: readOnly, onValueChange: (v) => {
888
+ const provider = v;
889
+ set({
890
+ provider,
891
+ platform: provider === 'channel'
892
+ ? draft.platform === 'email' && !emailChannelEnabled
893
+ ? 'slack'
894
+ : (draft.platform ?? (emailChannelEnabled ? 'email' : 'slack'))
895
+ : undefined,
896
+ auth: provider === 'channel'
897
+ ? { type: 'none' }
898
+ : p === 'channel'
899
+ ? undefined
900
+ : draft.auth,
901
+ });
902
+ }, children: [_jsx(SelectTrigger, { id: "connector-provider", className: "w-full", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "openapi", children: tI18nHardcoded.raw('i18nComplete.textcf2c9e218033') }), _jsx(SelectItem, { value: "postman", children: tI18nHardcoded.raw('i18nComplete.text213985e12832') }), _jsx(SelectItem, { value: "graphql", children: tI18nHardcoded.raw('i18nComplete.textee27322554e4') }), _jsx(SelectItem, { value: "mcp", children: "MCP" }), _jsx(SelectItem, { value: "http", children: "HTTP" }), _jsx(SelectItem, { value: "channel", children: tI18nHardcoded.raw('i18nComplete.textce4683e7013a') })] })] })] })] }), p === 'channel' && (_jsxs("div", { className: "space-y-1.5", children: [_jsx(Label, { children: tI18nHardcoded.raw('i18nComplete.textce4683e7013a') }), _jsxs(Select, { value: draft.platform === 'email' && !emailChannelEnabled
903
+ ? 'slack'
904
+ : (draft.platform ?? (emailChannelEnabled ? 'email' : 'slack')), disabled: readOnly, onValueChange: (v) => set({ platform: v, auth: { type: 'none' } }), children: [_jsx(SelectTrigger, { children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [emailChannelEnabled && (_jsx(SelectItem, { value: "email", children: tI18nHardcoded.raw('i18nComplete.text969ccbd3cf63') })), _jsx(SelectItem, { value: "slack", children: tI18nHardcoded.raw('i18nComplete.textb27fb38ba323') })] })] })] })), (p === 'openapi' || p === 'postman') && (_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-spec", children: p === 'postman'
905
+ ? tI18nHardcoded.raw('i18nComplete.textcd8dd219cc48')
906
+ : tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSpec4235864d') }), _jsx(Input, { id: "connector-spec", value: draft.spec ?? '', onChange: (e) => set({ spec: e.target.value }), placeholder: p === 'postman' ? 'https://github.com/… or collection.json' : 'https://…/openapi.json', variant: "popover", disabled: readOnly, required: true }), p === 'postman' ? (_jsx(FieldDescription, { children: tI18nHardcoded.raw('i18nComplete.textc26ca4369200') })) : null] })), p === 'graphql' && (_jsxs(_Fragment, { children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-endpoint", children: tI18nHardcoded.raw('i18nComplete.text3df9726c68ba') }), _jsx(Input, { id: "connector-endpoint", value: draft.endpoint ?? '', onChange: (e) => set({ endpoint: e.target.value }), placeholder: "https://api/graphql", variant: "popover", disabled: readOnly, required: true })] }), _jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-sdl", children: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSDL2325b707') }), _jsx(Input, { id: "connector-sdl", value: draft.spec ?? '', onChange: (e) => set({ spec: e.target.value }), placeholder: tI18nHardcoded.raw('i18nComplete.textecccd43d1878'), variant: "popover", disabled: readOnly })] })] })), p === 'mcp' && (_jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-url", children: "URL" }), _jsx(Input, { id: "connector-url", value: draft.url ?? '', onChange: (e) => set({ url: e.target.value }), placeholder: "https://mcp\u2026/mcp", variant: "popover", disabled: readOnly, required: true })] }), _jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-transport", children: tI18nHardcoded.raw('i18nComplete.textaaead4abf5d0') }), _jsxs(Select, { value: draft.transport ?? 'http', disabled: readOnly, onValueChange: (v) => set({ transport: v }), children: [_jsx(SelectTrigger, { id: "connector-transport", className: "w-full", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "http", children: tI18nHardcoded.raw('i18nComplete.texte0603c499aae') }), _jsx(SelectItem, { value: "sse", children: tI18nHardcoded.raw('i18nComplete.textfe3811fe21af') })] })] })] })] })), p === 'http' && (_jsxs(_Fragment, { children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-base-url", children: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelBase744ecef9') }), _jsx(Input, { id: "connector-base-url", value: draft.baseUrl ?? '', onChange: (e) => set({ baseUrl: e.target.value }), placeholder: "https://api.internal", variant: "popover", disabled: readOnly, required: true })] }), _jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-routes", children: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelRoutes38b14436') }), _jsx(Input, { id: "connector-routes", value: draft.spec ?? '', onChange: (e) => set({ spec: e.target.value }), placeholder: tI18nHardcoded.raw('i18nComplete.textb2c293b68745'), variant: "popover", disabled: readOnly })] })] })), needsAuth && (_jsxs("div", { className: "grid grid-cols-1 gap-3 sm:grid-cols-2", children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-auth", children: tI18nHardcoded.raw('i18nComplete.text8eb3ea9bbde6') }), _jsxs(Select, { value: oauth2Selected ? 'oauth2_client_credentials' : (draft.auth?.type ?? 'auto'), disabled: readOnly, onValueChange: (v) => {
907
+ if (v === 'oauth2_client_credentials') {
908
+ onOAuth2SelectedChange?.(true);
909
+ set({ auth: { type: 'bearer' } });
910
+ return;
911
+ }
912
+ onOAuth2SelectedChange?.(false);
913
+ if (v === 'auto')
914
+ set({ auth: undefined });
915
+ else
916
+ setAuth({ type: v });
917
+ }, children: [_jsx(SelectTrigger, { id: "connector-auth", className: "w-full", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "auto", children: tI18nHardcoded.raw('i18nComplete.text89ebfb7a88ca') }), _jsx(SelectItem, { value: "none", children: tI18nHardcoded.raw('i18nComplete.textdc937b598926') }), _jsx(SelectItem, { value: "bearer", children: tI18nHardcoded.raw('i18nComplete.text710e0dbdd422') }), _jsx(SelectItem, { value: "basic", children: tI18nHardcoded.raw('i18nComplete.text0e35f6e9742e') }), _jsx(SelectItem, { value: "api_key", children: tI18nHardcoded.raw('i18nComplete.text16f0ee47f993') }), onOAuth2SelectedChange && (_jsx(SelectItem, { value: "oauth2_client_credentials", children: tI18nHardcoded.raw('i18nComplete.textaebabad39063') })), _jsx(SelectItem, { value: "oauth1", children: tI18nHardcoded.raw('i18nComplete.textf461c90d16f6') }), _jsx(SelectItem, { value: "hmac", children: tI18nHardcoded.raw('i18nComplete.textf9a4ecea0836') }), _jsx(SelectItem, { value: "aws_sigv4", children: tI18nHardcoded.raw('i18nComplete.text1746a52157af') }), _jsx(SelectItem, { value: "mtls", children: tI18nHardcoded.raw('i18nComplete.textd0dd76e23558') }), _jsx(SelectItem, { value: "custom", children: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextCustomHeader1e0e82ed') })] })] }), _jsx(FieldDescription, { children: oauth2Selected ? (tI18nHardcoded.raw('i18nComplete.text80770d26537b')) : draft.auth === undefined && detectedAuth ? (_jsxs(_Fragment, { children: [tI18nHardcoded.raw('i18nComplete.text756a8ba97dce'), ' ', _jsx("span", { className: "font-medium", children: detectedAuth.type }), detectedAuth.parameterName ? (_jsxs(_Fragment, { children: [' ', tI18nHardcoded.raw('i18nComplete.text4d327af41f96'), ' ', _jsx("code", { className: "bg-muted rounded-sm px-1 py-0.5 font-mono text-xs", children: detectedAuth.parameterName })] })) : null, tI18nHardcoded.raw('i18nComplete.text5c48a6568d59')] })) : (tI18nHardcoded.raw('i18nComplete.text566a18d73a39')) })] }), draft.auth === undefined && detectedAuth?.parameterName && (_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-auth-detected", children: tI18nHardcoded.raw('i18nComplete.textc1dcc8fb31f6') }), _jsx(Input, { id: "connector-auth-detected", value: detectedAuth.parameterName, readOnly: true, variant: "popover", className: "font-mono text-xs" }), _jsx(FieldDescription, { children: tI18nHardcoded.raw('i18nComplete.text46c6aec94116') })] })), (draft.auth?.type === 'custom' || draft.auth?.type === 'api_key') && (_jsxs(_Fragment, { children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-auth-name", children: tI18nHardcoded.raw('i18nComplete.textd7cb455aa690') }), _jsx(Input, { id: "connector-auth-name", value: draft.auth?.name ?? '', onChange: (e) => setAuth({ name: e.target.value }), placeholder: tI18nHardcoded.raw('i18nComplete.text6f9f03f95e78'), variant: "popover", disabled: readOnly, required: true })] }), _jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-auth-placement", children: tI18nHardcoded.raw('i18nComplete.text4df9939944a7') }), _jsxs(Select, { value: draft.auth?.in ?? 'header', disabled: readOnly, onValueChange: (placement) => setAuth({ in: placement }), children: [_jsx(SelectTrigger, { id: "connector-auth-placement", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "header", children: tI18nHardcoded.raw('i18nComplete.textba5caa4285a8') }), _jsx(SelectItem, { value: "query", children: tI18nHardcoded.raw('i18nComplete.textb80a37564fbb') }), _jsx(SelectItem, { value: "cookie", children: tI18nHardcoded.raw('i18nComplete.text45823eaac0c8') })] })] })] })] }))] })), needsAuth && (_jsx(HeadersEditor, { value: draft.headers ?? {}, onChange: (headers) => set({ headers }), readOnly: readOnly, authHeaderName: draft.auth?.type === 'custom' ? draft.auth?.name : detectedAuth?.parameterName }))] }));
918
+ }
919
+ function connectionValid(d, emailChannelEnabled = true) {
920
+ if ((d.auth?.type === 'custom' || d.auth?.type === 'api_key') && !d.auth.name?.trim()) {
921
+ return false;
922
+ }
923
+ if (d.provider === 'mcp')
924
+ return !!d.url?.trim();
925
+ if (d.provider === 'openapi')
926
+ return !!d.spec?.trim();
927
+ if (d.provider === 'postman')
928
+ return !!d.spec?.trim();
929
+ if (d.provider === 'graphql')
930
+ return !!d.endpoint?.trim();
931
+ if (d.provider === 'http')
932
+ return !!d.baseUrl?.trim();
933
+ if (d.provider === 'channel') {
934
+ return d.platform === 'slack' || (emailChannelEnabled && d.platform === 'email');
935
+ }
936
+ return true;
937
+ }
938
+ export function CustomConnectorForm({ projectId, emailChannelEnabled, onAdded, }) {
939
+ const tI18nHardcoded = useTranslations('hardcodedUi');
940
+ const [draft, setDraft] = useState({
941
+ slug: '',
942
+ provider: 'openapi',
943
+ });
944
+ const [oauth2Selected, setOauth2Selected] = useState(false);
945
+ const [oauth2, setOauth2] = useState(EMPTY_OAUTH2_CREDENTIAL_FORM);
946
+ const [discoveryDraft, setDiscoveryDraft] = useState(draft);
947
+ useEffect(() => {
948
+ const timer = window.setTimeout(() => setDiscoveryDraft(draft), 400);
949
+ return () => window.clearTimeout(timer);
950
+ }, [draft]);
951
+ useEffect(() => {
952
+ if (!emailChannelEnabled && draft.provider === 'channel' && draft.platform === 'email') {
953
+ setDraft((current) => ({ ...current, platform: 'slack' }));
954
+ }
955
+ }, [draft.platform, draft.provider, emailChannelEnabled]);
956
+ useEffect(() => {
957
+ // Channel connectors have no OAuth2-at-creation offer.
958
+ if (draft.provider === 'channel' && oauth2Selected) {
959
+ setOauth2Selected(false);
960
+ }
961
+ }, [draft.provider, oauth2Selected]);
962
+ const save = useCreateCustomConnector(projectId, onAdded);
963
+ const discovery = useQuery({
964
+ queryKey: ['connector-auth-discovery', projectId, discoveryDraft],
965
+ queryFn: () => discoverConnectorAuth(projectId, discoveryDraft),
966
+ enabled: discoveryDraft.auth === undefined &&
967
+ connectionValid(discoveryDraft, emailChannelEnabled) &&
968
+ discoveryDraft.provider !== 'channel' &&
969
+ discoveryDraft.provider !== 'pipedream' &&
970
+ discoveryDraft.provider !== 'computer',
971
+ retry: false,
972
+ });
973
+ const authActive = !!draft.auth?.type && draft.auth.type !== 'none';
974
+ return (_jsx("section", { className: "space-y-4", children: _jsx("form", { onSubmit: (e) => {
975
+ e.preventDefault();
976
+ if (oauth2Selected && !oauth2CredentialFormValid(oauth2))
977
+ return;
978
+ save.mutate({ draft, oauth2: oauth2Selected ? oauth2 : null });
979
+ }, children: _jsxs("div", { className: "space-y-5", children: [_jsx(ConnectorConfigFields, { draft: draft, onChange: setDraft, slugEditable: true, emailChannelEnabled: emailChannelEnabled, detectedAuth: discovery.data?.recommended
980
+ ? {
981
+ type: discovery.data.recommended.type,
982
+ parameterName: discovery.data.candidates[0]?.parameterName ?? null,
983
+ }
984
+ : null, detectedTitle: discovery.data?.title ?? null, oauth2Selected: oauth2Selected, onOAuth2SelectedChange: setOauth2Selected }), oauth2Selected && (_jsxs("div", { className: "space-y-4", children: [_jsx(InfoBanner, { tone: "info", title: tI18nHardcoded.raw('i18nComplete.textc2a08c85f9d8'), children: tI18nHardcoded.raw('i18nComplete.text9dedee588b5e') }), _jsx(OAuth2CredentialFields, { value: oauth2, onChange: setOauth2, idPrefix: "new-connector-oauth2" })] })), draft.auth === undefined && discovery.isFetching && (_jsx(InfoBanner, { tone: "info", children: tI18nHardcoded.raw('i18nComplete.text0fc5f970755c') })), draft.auth === undefined && discovery.data?.status === 'none' && (_jsx(InfoBanner, { tone: "neutral", children: tI18nHardcoded.raw('i18nComplete.textcec52b040075') })), draft.auth === undefined && discovery.data?.status === 'unsupported' && (_jsx(InfoBanner, { tone: "warning", children: tI18nHardcoded.raw('i18nComplete.text028f0773776c') })), draft.auth === undefined && discovery.error && (_jsxs(InfoBanner, { tone: "warning", children: [tI18nHardcoded.raw('i18nComplete.textf26a5845c994'), ' ', discovery.error.message] })), authActive && !oauth2Selected && (_jsx(InfoBanner, { tone: "info", children: tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextYouLle5def626') })), _jsx("div", { className: "border-border/60 flex justify-end border-t pt-5", children: _jsxs(Button, { type: "submit", size: "sm", disabled: !draft.slug ||
985
+ save.isPending ||
986
+ !connectionValid(draft, emailChannelEnabled) ||
987
+ (oauth2Selected && !oauth2CredentialFormValid(oauth2)), className: "gap-1.5", children: [save.isPending && _jsx(Loading, { className: "size-4 shrink-0" }), tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextAddConnectore01e22fc')] }) })] }) }) }));
988
+ }
989
+ export function SetCredentialModal({ projectId, connector, connectionId, owner, open, onOpenChange, onSaved, shell = 'modal', }) {
990
+ const tI18nHardcoded = useTranslations('hardcodedUi');
991
+ /**
992
+ * `null` until the user picks a tab. The effective tab is then derived from
993
+ * discovery, so a server that supports one-click OAuth opens on OAuth and a
994
+ * plain API needs no detour through a grant selector.
995
+ */
996
+ const [credentialTypeChoice, setCredentialTypeChoice] = useState(null);
997
+ const [value, setValue] = useState('');
998
+ const [oauth2, setOauth2] = useState(EMPTY_OAUTH2_CREDENTIAL_FORM);
999
+ const [application, setApplication] = useState(EMPTY_OAUTH2_APPLICATION_FORM);
1000
+ const configQuery = useQuery({
1001
+ queryKey: qk.project.connectorConfig(projectId, connector?.slug ?? ''),
1002
+ queryFn: () => getConnectorConfig(projectId, connector.slug),
1003
+ enabled: open && Boolean(connector) && owner === 'project',
1004
+ ...contract('config'),
1005
+ });
1006
+ const requestAuth = owner === 'me' ? connector?.requestAuthType : configQuery.data?.auth.type;
1007
+ const objectCredential = ['oauth1', 'hmac', 'aws_sigv4', 'mtls'].includes(requestAuth ?? '');
1008
+ const credentialExample = requestAuth === 'oauth1'
1009
+ ? '{"consumer_key":"","consumer_secret":"","token":"","token_secret":""}'
1010
+ : requestAuth === 'hmac'
1011
+ ? '{"secret":"","key_id":""}'
1012
+ : requestAuth === 'aws_sigv4'
1013
+ ? '{"access_key_id":"","secret_access_key":"","region":"","service":"","session_token":""}'
1014
+ : requestAuth === 'mtls'
1015
+ ? '{"certificate":"-----BEGIN CERTIFICATE-----\\n...","private_key":"-----BEGIN PRIVATE KEY-----\\n...","ca":""}'
1016
+ : '••••••••';
1017
+ const staticValid = (() => {
1018
+ if (!value)
1019
+ return false;
1020
+ if (!objectCredential)
1021
+ return true;
1022
+ try {
1023
+ const parsed = JSON.parse(value);
1024
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
1025
+ return false;
1026
+ const hasStrings = (...keys) => keys.every((key) => typeof parsed[key] === 'string' && Boolean(parsed[key]));
1027
+ if (requestAuth === 'oauth1') {
1028
+ return hasStrings('consumer_key', 'consumer_secret', 'token', 'token_secret');
1029
+ }
1030
+ if (requestAuth === 'hmac')
1031
+ return hasStrings('secret');
1032
+ if (requestAuth === 'aws_sigv4') {
1033
+ return hasStrings('access_key_id', 'secret_access_key', 'region', 'service');
1034
+ }
1035
+ if (requestAuth === 'mtls')
1036
+ return hasStrings('certificate', 'private_key');
1037
+ return false;
1038
+ }
1039
+ catch {
1040
+ return false;
1041
+ }
1042
+ })();
1043
+ const [device, setDevice] = useState(null);
1044
+ const [deviceConnectionId, setDeviceConnectionId] = useState(null);
1045
+ const [manualSetup, setManualSetup] = useState(false);
1046
+ useEffect(() => {
1047
+ if (!device || !deviceConnectionId)
1048
+ return;
1049
+ let stopped = false;
1050
+ const poll = async () => {
1051
+ try {
1052
+ const status = await pollConnectionOAuth2DeviceAuthorization(projectId, deviceConnectionId, device.session_id);
1053
+ if (stopped || status.status === 'pending')
1054
+ return;
1055
+ stopped = true;
1056
+ if (status.status === 'active') {
1057
+ successToast(tI18nHardcoded.raw('i18nComplete.textc2a5f8398f12'));
1058
+ onSaved();
1059
+ onOpenChange(false);
1060
+ }
1061
+ else {
1062
+ errorToast(status.error_code || tI18nHardcoded.raw('i18nComplete.text911a1cde90bc'));
1063
+ }
1064
+ }
1065
+ catch (error) {
1066
+ if (!stopped)
1067
+ errorToast(error instanceof Error
1068
+ ? error.message
1069
+ : tI18nHardcoded.raw('i18nComplete.textfa23c868781d'));
1070
+ }
1071
+ };
1072
+ void poll();
1073
+ const timer = window.setInterval(() => void poll(), device.interval_seconds * 1000);
1074
+ const expiryTimer = window.setTimeout(() => {
1075
+ stopped = true;
1076
+ errorToast(tI18nHardcoded.raw('i18nComplete.text02c1d7b545ea'));
1077
+ }, Math.max(0, new Date(device.expires_at).getTime() - Date.now()));
1078
+ return () => {
1079
+ stopped = true;
1080
+ window.clearInterval(timer);
1081
+ window.clearTimeout(expiryTimer);
1082
+ };
1083
+ }, [device, deviceConnectionId, onOpenChange, onSaved, projectId, tI18nHardcoded]);
1084
+ const resolveConnectionId = async () => {
1085
+ if (connectionId)
1086
+ return connectionId;
1087
+ if (owner === 'me') {
1088
+ const connection = await reconcileMemberConnection(projectId, {
1089
+ connector_alias: connector.slug,
1090
+ label: connector.name.trim() || connector.slug,
1091
+ });
1092
+ return connection.connection_id;
1093
+ }
1094
+ return (await ensureProjectConnectorConnection(projectId, connector.slug)).connection_id;
1095
+ };
1096
+ /**
1097
+ * The MCP authorization chain — `WWW-Authenticate` → protected resource
1098
+ * metadata → authorization server metadata → registration endpoint. Run once
1099
+ * when the OAuth 2.0 tab opens so a server that publishes its own metadata
1100
+ * needs one click and zero fields. Discovery is connection-scoped, so this
1101
+ * resolves (or creates) the connection first.
1102
+ */
1103
+ const discoveryQuery = useQuery({
1104
+ queryKey: qk.project.connectorOAuth2Discovery(projectId, connector?.slug ?? '', oauth2DiscoveryConnectionKey(owner, connectionId)),
1105
+ queryFn: async () => {
1106
+ const activeConnectionId = await resolveConnectionId();
1107
+ const result = await discoverConnectionOAuth2Resource(projectId, activeConnectionId);
1108
+ return { connectionId: activeConnectionId, discovery: result.discovery };
1109
+ },
1110
+ // Runs as soon as the modal OPENS, not when the OAuth tab is clicked: the
1111
+ // answer decides which tab the user should land on, so it has to be known
1112
+ // before they choose. A connector with no server URL 400s here and simply
1113
+ // leaves the modal on its static-credential default.
1114
+ enabled: open && Boolean(connector),
1115
+ retry: false,
1116
+ // Same tier as the connector config it sits beside: provider metadata
1117
+ // changes on the provider's schedule, not on ours (FRESHNESS
1118
+ // .connectorOAuth2Discovery).
1119
+ ...contract('config'),
1120
+ });
1121
+ const discovery = discoveryQuery.data?.discovery ?? null;
1122
+ const discoveryError = discoveryQuery.isError
1123
+ ? (discoveryQuery.error?.message ?? 'Discovery failed')
1124
+ : null;
1125
+ const discoveryPending = discoveryQuery.isFetching && !discovery;
1126
+ const plan = autoConnectPlan(discovery);
1127
+ /**
1128
+ * Discovery prefills the manual form at render time rather than through a
1129
+ * setState: the merge keeps anything the user typed, so applying it on every
1130
+ * render is idempotent and there is no effect to keep in sync.
1131
+ */
1132
+ const effectiveApplication = discovery
1133
+ ? mergeResourceDiscoveryIntoForm(application, discovery)
1134
+ : application;
1135
+ /**
1136
+ * The endpoint/client fields only appear when automatic setup cannot finish
1137
+ * the job: the user asked for their own app, or the server publishes nothing
1138
+ * Kortix can act on. `unknown` (discovery still running or not started) keeps
1139
+ * them visible so the modal is never empty.
1140
+ */
1141
+ /**
1142
+ * The tab the user is on. Discovery decides the default: a server that
1143
+ * publishes OAuth metadata opens on OAuth 2.0, everything else on the static
1144
+ * credential. An explicit tab click always wins.
1145
+ */
1146
+ const credentialType = credentialTypeChoice ??
1147
+ (plan.kind === 'register' || plan.kind === 'client_id_required' ? 'oauth2' : 'static');
1148
+ const showManualOAuth2Fields = manualSetup || plan.kind === 'unknown' || plan.kind === 'client_id_required';
1149
+ const oauth2Valid = application.grant === 'client_credentials'
1150
+ ? oauth2CredentialFormValid(oauth2)
1151
+ : oauth2ApplicationFormValid(effectiveApplication);
1152
+ /**
1153
+ * One click: register Kortix with the authorization server (RFC 7591), then
1154
+ * start Authorization Code + PKCE. No client id, no secret, no endpoints.
1155
+ */
1156
+ const autoConnect = useMutation({
1157
+ mutationFn: async () => {
1158
+ if (!discovery)
1159
+ throw new Error('Discovery has not completed');
1160
+ const activeConnectionId = discoveryQuery.data?.connectionId ?? (await resolveConnectionId());
1161
+ const redirect = new URL(window.location.href);
1162
+ redirect.searchParams.delete('oauth2');
1163
+ redirect.searchParams.delete('oauth2_error');
1164
+ const authorizationUrl = await startOAuth2SignIn(projectId, activeConnectionId, discovery, redirect.toString());
1165
+ window.location.assign(authorizationUrl);
1166
+ },
1167
+ onError: (err) => errorToast(err.message || tI18nHardcoded.raw('i18nComplete.text46c9f3b7520f')),
1168
+ });
1169
+ /** Write a static or `client_credentials` credential to the selected account. */
1170
+ const writeCredential = async (input) => {
1171
+ const target = credentialWriteTarget(owner, connectionId);
1172
+ if (target.kind === 'connector-default') {
1173
+ return setConnectorCredential(projectId, connector.slug, input);
1174
+ }
1175
+ const targetConnectionId = target.kind === 'connection' ? target.connectionId : await resolveConnectionId();
1176
+ return updateConnectionCredential(projectId, targetConnectionId, input);
1177
+ };
1178
+ const save = useMutation({
1179
+ mutationFn: async () => {
1180
+ if (credentialType === 'static') {
1181
+ return writeCredential({ value });
1182
+ }
1183
+ if (application.grant === 'client_credentials') {
1184
+ return writeCredential(buildOAuth2CredentialInput(oauth2));
1185
+ }
1186
+ const activeConnectionId = await resolveConnectionId();
1187
+ const resolvedApplication = effectiveApplication.discoveryUrl
1188
+ ? mergeOAuth2DiscoveryMetadata(effectiveApplication, (await discoverConnectionOAuth2(projectId, activeConnectionId, {
1189
+ discovery_url: effectiveApplication.discoveryUrl,
1190
+ })).metadata)
1191
+ : effectiveApplication;
1192
+ await putConnectionOAuth2Application(projectId, activeConnectionId, buildOAuth2ApplicationInput(resolvedApplication));
1193
+ const scopes = resolvedApplication.scopes.split(/\s+/).filter(Boolean);
1194
+ if (application.grant === 'authorization_code') {
1195
+ const redirect = new URL(window.location.href);
1196
+ redirect.searchParams.delete('oauth2');
1197
+ redirect.searchParams.delete('oauth2_error');
1198
+ const result = await startConnectionOAuth2Authorization(projectId, activeConnectionId, {
1199
+ scopes: scopes.length ? scopes : undefined,
1200
+ success_redirect_uri: redirect.toString(),
1201
+ error_redirect_uri: redirect.toString(),
1202
+ });
1203
+ window.location.assign(result.authorization_url);
1204
+ return result;
1205
+ }
1206
+ const result = await startConnectionOAuth2DeviceAuthorization(projectId, activeConnectionId, {
1207
+ scopes: scopes.length ? scopes : undefined,
1208
+ });
1209
+ setDeviceConnectionId(activeConnectionId);
1210
+ setDevice(result);
1211
+ return result;
1212
+ },
1213
+ onSuccess: () => {
1214
+ if (credentialType === 'oauth2' && application.grant !== 'client_credentials')
1215
+ return;
1216
+ successToast(credentialType === tI18nHardcoded.raw('i18nComplete.textd8ad572d2fb1')
1217
+ ? tI18nHardcoded.raw('i18nComplete.text6984a3c945fa')
1218
+ : tI18nHardcoded.raw('i18nComplete.textf0341f8dbcc5'));
1219
+ setValue('');
1220
+ setOauth2(EMPTY_OAUTH2_CREDENTIAL_FORM);
1221
+ setApplication(EMPTY_OAUTH2_APPLICATION_FORM);
1222
+ onSaved();
1223
+ onOpenChange(false);
1224
+ },
1225
+ onError: (err) => errorToast(err.message || tI18nHardcoded.raw('i18nComplete.text2c07997249ab')),
1226
+ });
1227
+ const handleOpenChange = (o) => {
1228
+ if (save.isPending)
1229
+ return;
1230
+ if (!o) {
1231
+ setManualSetup(false);
1232
+ setCredentialTypeChoice(null);
1233
+ }
1234
+ onOpenChange(o);
1235
+ };
1236
+ const handleSubmit = (e) => {
1237
+ e.preventDefault();
1238
+ if ((credentialType === 'static' && staticValid) ||
1239
+ (credentialType === 'oauth2' && oauth2Valid)) {
1240
+ save.mutate();
1241
+ }
1242
+ };
1243
+ const title = `${tI18nHardcoded.raw('autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextSetCredential5e9704a8')} ${connector ? connectorDisplayName(connector) : ''}`;
1244
+ const description = tI18nHardcoded.raw('i18nComplete.text8e5a984b8a84');
1245
+ const fields = (_jsxs(Tabs, { value: credentialType, onValueChange: (next) => setCredentialTypeChoice(next), className: "gap-4", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "static", children: tI18nHardcoded.raw('i18nComplete.text8f0b0d462a16') }), _jsx(TabsTrigger, { value: "oauth2", children: tI18nHardcoded.raw('i18nComplete.textaebabad39063') })] }), _jsx(TabsContent, { value: "static", children: _jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-static-credential", children: objectCredential ? tI18nHardcoded.raw('i18nComplete.textb8ce566177f1') : 'Value' }), objectCredential ? (_jsx(Textarea, { id: "connector-static-credential", value: value, onChange: (e) => setValue(e.target.value), placeholder: credentialExample, className: "min-h-28 font-mono text-xs", autoFocus: true })) : (_jsx(Input, { id: "connector-static-credential", type: "password", value: value, onChange: (e) => setValue(e.target.value), placeholder: credentialExample, className: "font-mono", autoFocus: true })), objectCredential && (_jsxs(FieldDescription, { children: [tI18nHardcoded.raw('i18nComplete.textfdf7bc860f55'), " ", requestAuth, ' ', tI18nHardcoded.raw('i18nComplete.text41a01f64505d')] }))] }) }), _jsxs(TabsContent, { value: "oauth2", className: "space-y-4", children: [discoveryPending ? (_jsx(InfoBanner, { tone: "neutral", title: tI18nHardcoded.raw('i18nComplete.text1ead5326bbb8'), children: tI18nHardcoded.raw('i18nComplete.textc9b1c409642d') })) : plan.kind === 'no_authorization' ? (_jsx(InfoBanner, { tone: "neutral", title: tI18nHardcoded.raw('i18nComplete.text24f46f717cfa'), children: tI18nHardcoded.raw('i18nComplete.text93bc06df8dd8') })) : plan.kind === 'register' && !manualSetup ? (_jsxs("div", { className: "space-y-3", children: [_jsxs(InfoBanner, { tone: "neutral", title: tI18nHardcoded.raw('i18nComplete.text477d50f7ddbf'), children: [tI18nHardcoded.raw('i18nComplete.text07fdd059f8a1'), plan.scopes.length
1246
+ ? tI18nHardcoded('i18nComplete.text1d42883b00c1', {
1247
+ value0: plan.scopes.join(', '),
1248
+ })
1249
+ : ''] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Button, { type: "button", size: "sm", className: "gap-1.5", disabled: autoConnect.isPending, onClick: () => autoConnect.mutate(), children: [autoConnect.isPending && _jsx(Loading, { className: "size-4 shrink-0" }), plan.label] }), _jsx(Button, { type: "button", size: "sm", variant: "outline-ghost", onClick: () => setManualSetup(true), children: tI18nHardcoded.raw('i18nComplete.texte67a6ef2363e') })] })] })) : plan.kind === 'client_id_required' ? (_jsx(InfoBanner, { tone: "neutral", title: tI18nHardcoded.raw('i18nComplete.textcb7c06207756'), children: tI18nHardcoded.raw('i18nComplete.text0dbb23e7febb') })) : plan.kind === 'manual' && !manualSetup ? (_jsx(InfoBanner, { tone: "neutral", title: tI18nHardcoded.raw('i18nComplete.texteb99bb9a22f3'), action: _jsx(Button, { type: "button", size: "sm", variant: "outline", onClick: () => setManualSetup(true), children: tI18nHardcoded.raw('i18nComplete.textb1d877ab2f51') }), children: plan.reason })) : (_jsx(InfoBanner, { tone: "info", children: tI18nHardcoded.raw('i18nComplete.text67dc9c4395f1') })), discoveryError && (_jsx(InfoBanner, { tone: "neutral", title: tI18nHardcoded.raw('i18nComplete.textdc258e9a953b'), children: discoveryError })), showManualOAuth2Fields && (_jsxs(_Fragment, { children: [_jsxs(Field, { children: [_jsx(FieldLabel, { htmlFor: "connector-oauth2-grant", children: tI18nHardcoded.raw('i18nComplete.text78b7d0379d5e') }), _jsxs(Select, { value: application.grant, onValueChange: (grant) => {
1250
+ setDevice(null);
1251
+ setApplication({
1252
+ ...application,
1253
+ grant: grant,
1254
+ });
1255
+ }, children: [_jsx(SelectTrigger, { id: "connector-oauth2-grant", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "client_credentials", children: tI18nHardcoded.raw('i18nComplete.text23c446ef2187') }), _jsx(SelectItem, { value: "authorization_code", children: tI18nHardcoded.raw('i18nComplete.textac806359529b') }), _jsx(SelectItem, { value: "device_authorization", children: tI18nHardcoded.raw('i18nComplete.text197da3e17a78') })] })] })] }), application.grant === 'client_credentials' ? (_jsx(OAuth2CredentialFields, { value: oauth2, onChange: setOauth2, idPrefix: "connector-oauth2" })) : (_jsx(OAuth2ApplicationFields, { value: effectiveApplication, onChange: setApplication, idPrefix: "connector-oauth2-application" }))] })), device && (_jsxs(InfoBanner, { tone: "neutral", title: tI18nHardcoded('i18nComplete.textbfd271fe6ead', {
1256
+ value0: device.user_code,
1257
+ }), action: _jsxs(Button, { type: "button", size: "sm", variant: "outline", onClick: () => window.open(device.verification_uri_complete ?? device.verification_uri, '_blank', 'noopener,noreferrer'), children: [_jsx(ExternalLink, { className: "size-4" }), tI18nHardcoded.raw('i18nComplete.text97fc3d60fab5')] }), children: [tI18nHardcoded.raw('i18nComplete.text9c67cc26222a'), " ", device.interval_seconds, ' ', tI18nHardcoded.raw('i18nComplete.text4616b90a6d94'), ' ', new Date(device.expires_at).toLocaleTimeString(), "."] }))] })] }));
1258
+ const actions = (_jsxs(_Fragment, { children: [_jsx(Button, { type: "button", variant: "outline-ghost", size: "sm", onClick: () => handleOpenChange(false), disabled: save.isPending, children: tI18nHardcoded.raw('i18nComplete.text19766ed6ccb2') }), _jsxs(Button, { type: "submit", size: "sm", disabled: save.isPending || (credentialType === 'static' ? !staticValid : !oauth2Valid), className: "gap-1.5", children: [save.isPending && _jsx(Loading, { className: "size-4 shrink-0" }), credentialType === 'oauth2' && application.grant === 'authorization_code'
1259
+ ? tI18nHardcoded.raw('i18nComplete.text0c814b60fca5')
1260
+ : credentialType === 'oauth2' && application.grant === 'device_authorization'
1261
+ ? tI18nHardcoded.raw('i18nComplete.text55e970c35216')
1262
+ : 'Save'] })] }));
1263
+ if (shell === 'split') {
1264
+ return (_jsxs(SplitSheetContent, { children: [_jsxs(SplitSheetHeader, { children: [_jsx(SplitSheetTitle, { children: title }), _jsx(SplitSheetDescription, { children: description })] }), _jsxs("form", { onSubmit: handleSubmit, className: "flex min-h-0 flex-1 flex-col", children: [_jsx(SplitSheetBody, { children: fields }), _jsx(SplitSheetFooter, { className: "justify-between", children: actions })] })] }));
1265
+ }
1266
+ return (_jsx(Modal, { open: open, onOpenChange: handleOpenChange, children: _jsxs(ModalContent, { className: "lg:max-w-3xl", children: [_jsxs(ModalHeader, { children: [_jsx(ModalTitle, { children: title }), _jsx(ModalDescription, { children: description })] }), _jsxs("form", { onSubmit: handleSubmit, children: [_jsx(ModalBody, { children: fields }), _jsx(ModalFooter, { className: "sm:justify-between", children: actions })] })] }) }));
1267
+ }