@kortix/ui 0.14.8 → 0.14.10

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 (567) hide show
  1. package/README.md +2 -2
  2. package/dist/_vendor/kortix-shared.js +116 -3
  3. package/dist/_vendor/shared/app-config.d.ts +175 -0
  4. package/dist/_vendor/shared/artifact-comments.d.ts +235 -0
  5. package/dist/_vendor/shared/channel-descriptors.d.ts +96 -0
  6. package/dist/_vendor/shared/channel-message.d.ts +45 -5
  7. package/dist/_vendor/shared/index.d.ts +2 -0
  8. package/dist/_vendor/shared/space-slug.d.ts +37 -0
  9. package/dist/access/access/access-detail-shell.js +1 -1
  10. package/dist/access/access/principal-picker.d.ts +11 -0
  11. package/dist/access/access/principal-picker.js +3 -2
  12. package/dist/apps/app-preview-pool.d.ts +7 -2
  13. package/dist/apps/app-preview-pool.js +30 -7
  14. package/dist/apps/app-shared.d.ts +22 -15
  15. package/dist/apps/app-shared.js +37 -19
  16. package/dist/apps/index.d.ts +2 -2
  17. package/dist/apps/index.js +2 -2
  18. package/dist/artifacts/artifact-frame.d.ts +16 -0
  19. package/dist/artifacts/artifact-frame.js +55 -0
  20. package/dist/artifacts/artifact-session.d.ts +18 -0
  21. package/dist/artifacts/artifact-session.js +101 -0
  22. package/dist/artifacts/frame-policy.d.ts +30 -0
  23. package/dist/artifacts/frame-policy.js +61 -0
  24. package/dist/artifacts/index.d.ts +3 -0
  25. package/dist/artifacts/index.js +5 -0
  26. package/dist/browser/sandbox-browser-chrome.d.ts +4 -1
  27. package/dist/browser/sandbox-browser-chrome.js +2 -2
  28. package/dist/customize/agents/agent-grant-pages.d.ts +5 -1
  29. package/dist/customize/agents/agent-grant-pages.js +30 -4
  30. package/dist/customize/agents/agent-page.js +3 -1
  31. package/dist/customize/agents/agent-policy-sets.d.ts +43 -0
  32. package/dist/customize/agents/agent-policy-sets.js +72 -0
  33. package/dist/customize/agents/agent-triggers-section.js +2 -1
  34. package/dist/customize/connectors/add-mcp/add-mcp-server-dialog.d.ts +6 -1
  35. package/dist/customize/connectors/add-mcp/add-mcp-server-dialog.js +10 -4
  36. package/dist/customize/connectors/agent-access.d.ts +35 -0
  37. package/dist/customize/connectors/agent-access.js +77 -0
  38. package/dist/customize/connectors/catalog/browse-sections.d.ts +2 -29
  39. package/dist/customize/connectors/catalog/browse-sections.js +7 -74
  40. package/dist/customize/connectors/catalog/catalog-entry.d.ts +18 -37
  41. package/dist/customize/connectors/catalog/catalog-entry.js +28 -40
  42. package/dist/customize/connectors/catalog/connector-browse.d.ts +3 -32
  43. package/dist/customize/connectors/catalog/connector-browse.js +19 -50
  44. package/dist/customize/connectors/catalog/use-catalog.d.ts +20 -59
  45. package/dist/customize/connectors/catalog/use-catalog.js +48 -175
  46. package/dist/customize/connectors/connector-identity.d.ts +9 -11
  47. package/dist/customize/connectors/connector-identity.js +13 -42
  48. package/dist/customize/connectors/connector-moves-banner.d.ts +2 -1
  49. package/dist/customize/connectors/connector-moves-banner.js +4 -6
  50. package/dist/customize/connectors/connector-routes.d.ts +21 -9
  51. package/dist/customize/connectors/connector-routes.js +29 -20
  52. package/dist/customize/connectors/connectors-page.js +53 -82
  53. package/dist/customize/connectors/detail/app-page.js +226 -98
  54. package/dist/customize/connectors/detail/computer-app-page.d.ts +16 -0
  55. package/dist/customize/connectors/detail/computer-app-page.js +39 -0
  56. package/dist/customize/connectors/detail/connector-accounts.js +3 -1
  57. package/dist/customize/connectors/detail/connector-advanced-tools.d.ts +4 -1
  58. package/dist/customize/connectors/detail/connector-advanced-tools.js +2 -2
  59. package/dist/customize/connectors/detail/connector-agents.d.ts +14 -0
  60. package/dist/customize/connectors/detail/connector-agents.js +69 -0
  61. package/dist/customize/connectors/detail/connector-detail-tabs.js +2 -1
  62. package/dist/customize/connectors/detail/connector-move-row.d.ts +8 -5
  63. package/dist/customize/connectors/detail/connector-move-row.js +23 -14
  64. package/dist/customize/connectors/detail/connector-page.d.ts +4 -1
  65. package/dist/customize/connectors/detail/connector-page.js +14 -10
  66. package/dist/customize/connectors/detail/connector-policy-sets.d.ts +28 -0
  67. package/dist/customize/connectors/detail/connector-policy-sets.js +203 -0
  68. package/dist/customize/connectors/detail/connector-settings.d.ts +4 -1
  69. package/dist/customize/connectors/detail/connector-settings.js +7 -3
  70. package/dist/customize/connectors/detail/connector-status.d.ts +19 -6
  71. package/dist/customize/connectors/detail/connector-status.js +34 -10
  72. package/dist/customize/connectors/detail/connector-tabs.d.ts +4 -1
  73. package/dist/customize/connectors/detail/connector-tabs.js +8 -2
  74. package/dist/customize/connectors/detail/connector-tools.d.ts +3 -3
  75. package/dist/customize/connectors/detail/connector-tools.js +105 -48
  76. package/dist/customize/connectors/detail/email-inboxes.d.ts +43 -0
  77. package/dist/customize/connectors/detail/email-inboxes.js +184 -0
  78. package/dist/customize/connectors/detail/provider-info.d.ts +1 -1
  79. package/dist/customize/connectors/detail/provider-info.js +2 -2
  80. package/dist/customize/connectors/detail/status-badge.d.ts +1 -1
  81. package/dist/customize/connectors/detail/status-badge.js +4 -5
  82. package/dist/customize/connectors/detail/use-connector-detail.d.ts +6 -0
  83. package/dist/customize/connectors/detail/use-connector-detail.js +14 -4
  84. package/dist/customize/connectors/install/install-dialog.d.ts +23 -0
  85. package/dist/customize/connectors/install/install-dialog.js +40 -0
  86. package/dist/customize/connectors/install/install.d.ts +13 -2
  87. package/dist/customize/connectors/install/install.js +9 -4
  88. package/dist/customize/connectors/install/use-install.d.ts +19 -2
  89. package/dist/customize/connectors/install/use-install.js +65 -37
  90. package/dist/customize/connectors/install/way-kind.d.ts +5 -0
  91. package/dist/customize/connectors/install/way-kind.js +16 -0
  92. package/dist/customize/connectors/provider-label.d.ts +2 -1
  93. package/dist/customize/connectors/provider-label.js +13 -3
  94. package/dist/customize/connectors/tools/pattern-rule-draft.d.ts +4 -0
  95. package/dist/customize/connectors/tools/pattern-rule-draft.js +12 -3
  96. package/dist/customize/connectors/tools/policy-sets.d.ts +27 -0
  97. package/dist/customize/connectors/tools/policy-sets.js +41 -0
  98. package/dist/customize/connectors/tools/tool-groups.d.ts +32 -9
  99. package/dist/customize/connectors/tools/tool-groups.js +78 -16
  100. package/dist/customize/connectors/tools/tool-policy-control.d.ts +11 -10
  101. package/dist/customize/connectors/tools/tool-policy-control.js +15 -16
  102. package/dist/customize/connectors/tools/tool-policy-labels.d.ts +6 -5
  103. package/dist/customize/connectors/tools/tool-policy-labels.js +17 -16
  104. package/dist/customize/connectors/tools/tool-policy.d.ts +50 -4
  105. package/dist/customize/connectors/tools/tool-policy.js +74 -8
  106. package/dist/customize/connectors/use-agent-access.d.ts +85 -0
  107. package/dist/customize/connectors/use-agent-access.js +72 -0
  108. package/dist/customize/migrate-to-v2/index.d.ts +1 -2
  109. package/dist/customize/migrate-to-v2/index.js +1 -2
  110. package/dist/customize/migrate-to-v2/migration-prompt.d.ts +12 -25
  111. package/dist/customize/migrate-to-v2/migration-prompt.js +34 -236
  112. package/dist/customize/migrate-to-v2/upgrade-defs.d.ts +1 -1
  113. package/dist/customize/migrate-to-v2/upgrade-defs.js +7 -6
  114. package/dist/customize/migrate-to-v2/upgrade-view.js +7 -7
  115. package/dist/customize/migrate-to-v2/use-run-upgrade.d.ts +3 -3
  116. package/dist/customize/providers/provider-accordion.js +17 -2
  117. package/dist/customize/sections/component/channel-access-panel.d.ts +16 -0
  118. package/dist/customize/sections/component/channel-access-panel.js +146 -0
  119. package/dist/customize/sections/component/channel-connect-hero.d.ts +3 -2
  120. package/dist/customize/sections/component/channel-connect-hero.js +3 -2
  121. package/dist/customize/sections/component/channel-hero-frame.d.ts +31 -0
  122. package/dist/customize/sections/component/channel-hero-frame.js +40 -0
  123. package/dist/customize/sections/component/channel-mocks.d.ts +6 -0
  124. package/dist/customize/sections/component/channel-mocks.js +46 -0
  125. package/dist/customize/sections/component/channel-row.d.ts +13 -3
  126. package/dist/customize/sections/component/channel-row.js +10 -4
  127. package/dist/customize/sections/component/email-connect-form.d.ts +27 -0
  128. package/dist/customize/sections/component/email-connect-form.js +183 -0
  129. package/dist/customize/sections/component/slack-connect-card.d.ts +7 -0
  130. package/dist/customize/sections/component/slack-connect-card.js +2 -3
  131. package/dist/customize/sections/component/teams-connect-card.d.ts +7 -0
  132. package/dist/customize/sections/component/teams-connect-card.js +2 -3
  133. package/dist/customize/sections/component/telegram-channel-row.js +21 -28
  134. package/dist/customize/sections/connectors-view.d.ts +1 -15
  135. package/dist/customize/sections/connectors-view.js +81 -314
  136. package/dist/customize/sections/view/agent-editor-catalog.js +10 -0
  137. package/dist/customize/sections/view/channels-view.d.ts +6 -1
  138. package/dist/customize/sections/view/channels-view.js +72 -81
  139. package/dist/customize/sections/view/gateway/gateway-overview.js +10 -2
  140. package/dist/customize/settings/rail.js +9 -0
  141. package/dist/customize/settings/settings-tabs.d.ts +1 -1
  142. package/dist/customize/settings/settings-tabs.js +1 -0
  143. package/dist/customize/settings/tabs/chrome-connections-tab.d.ts +6 -0
  144. package/dist/customize/settings/tabs/chrome-connections-tab.js +99 -0
  145. package/dist/customize/settings/tabs/experimental-tab.js +35 -16
  146. package/dist/customize/shared/catalog/catalog-empty-state.d.ts +4 -15
  147. package/dist/customize/shared/catalog/catalog-empty-state.js +9 -7
  148. package/dist/customize/shared/channels-switch-dialog.d.ts +18 -0
  149. package/dist/customize/shared/channels-switch-dialog.js +30 -0
  150. package/dist/customize/shared/feature-gate-screen.js +27 -9
  151. package/dist/customize/shared/use-customize-prefetch.d.ts +2 -3
  152. package/dist/customize/shared/use-customize-prefetch.js +9 -27
  153. package/dist/customize/triggers/schedule/post-to-field.d.ts +18 -0
  154. package/dist/customize/triggers/schedule/post-to-field.js +49 -0
  155. package/dist/customize/triggers/schedule/schedule-copy.d.ts +10 -6
  156. package/dist/customize/triggers/schedule/schedule-copy.js +42 -11
  157. package/dist/customize/triggers/schedule/schedule-detail-sheet.js +2 -1
  158. package/dist/customize/triggers/schedule/trigger-composer-logic.d.ts +22 -0
  159. package/dist/customize/triggers/schedule/trigger-composer-logic.js +25 -0
  160. package/dist/customize/triggers/schedule/trigger-composer.d.ts +5 -0
  161. package/dist/customize/triggers/schedule/trigger-composer.js +23 -14
  162. package/dist/customize/triggers/schedule/trigger-edit-logic.js +3 -0
  163. package/dist/customize/triggers/schedule/trigger-filter.js +1 -1
  164. package/dist/customize/triggers/schedule/trigger-runs-logic.d.ts +2 -2
  165. package/dist/customize/triggers/schedule/trigger-runs-panel.js +1 -0
  166. package/dist/customize/triggers/schedule/trigger-toast.js +2 -1
  167. package/dist/customize/triggers/schedule-view.js +5 -2
  168. package/dist/files/index.d.ts +1 -0
  169. package/dist/files/index.js +1 -0
  170. package/dist/files/project/change-request-recovery.d.ts +1 -26
  171. package/dist/files/project/change-request-recovery.js +1 -59
  172. package/dist/files/project/components/change-request-detail-dialog.js +13 -3
  173. package/dist/files/project/components/drive-explorer.js +15 -15
  174. package/dist/files/project/components/drive-toolbar.d.ts +16 -2
  175. package/dist/files/project/components/drive-toolbar.js +14 -5
  176. package/dist/files/project/hooks/use-change-request-recovery.js +3 -19
  177. package/dist/files/project/hooks/use-change-requests.d.ts +1 -0
  178. package/dist/files/project/hooks/use-change-requests.js +11 -2
  179. package/dist/files/renderers/image-frame.d.ts +48 -0
  180. package/dist/files/renderers/image-frame.js +59 -0
  181. package/dist/files/renderers/image-renderer.d.ts +11 -1
  182. package/dist/files/renderers/image-renderer.js +13 -3
  183. package/dist/files/renderers/pdf/pdf-clipboard.d.ts +2 -0
  184. package/dist/files/renderers/pdf/pdf-clipboard.js +21 -0
  185. package/dist/files/renderers/pdf/pdf-viewer.js +4 -2
  186. package/dist/files/renderers/show-content-renderer.d.ts +9 -1
  187. package/dist/files/renderers/show-content-renderer.js +56 -14
  188. package/dist/files/runtime/file-source.js +2 -0
  189. package/dist/files/runtime/hooks/use-binary-blob.d.ts +10 -1
  190. package/dist/files/runtime/hooks/use-binary-blob.js +10 -4
  191. package/dist/files/runtime/hooks/use-shared-image.d.ts +41 -0
  192. package/dist/files/runtime/hooks/use-shared-image.js +177 -0
  193. package/dist/files/viewer/file-content-renderer.d.ts +22 -1
  194. package/dist/files/viewer/file-content-renderer.js +50 -7
  195. package/dist/files/viewer/file-header.d.ts +7 -3
  196. package/dist/files/viewer/file-header.js +20 -11
  197. package/dist/files/viewer/file-preview-modal.d.ts +1 -1
  198. package/dist/files/viewer/file-preview-modal.js +10 -22
  199. package/dist/files/viewer/file-source.d.ts +13 -0
  200. package/dist/files/viewer/use-file-content-state.d.ts +2 -0
  201. package/dist/files/viewer/use-file-content-state.js +28 -10
  202. package/dist/files/viewer/viewer-actions.d.ts +3 -1
  203. package/dist/files/viewer/viewer-actions.js +2 -2
  204. package/dist/hooks/use-media-query.d.ts +1 -0
  205. package/dist/hooks/use-mobile.d.ts +5 -0
  206. package/dist/hooks/use-mobile.js +8 -0
  207. package/dist/i18n/en.d.ts +1062 -85
  208. package/dist/i18n/en.js +1078 -101
  209. package/dist/i18n/ui-catalog/localize-ui-catalog.js +4 -0
  210. package/dist/i18n/ui-catalog/remaining-ui-translation-keys.generated.js +15 -3
  211. package/dist/index.d.ts +2 -2
  212. package/dist/index.js +2 -2
  213. package/dist/internal/account-hub/account-settings-sidebar.js +1 -1
  214. package/dist/internal/account-hub/hub-sheet.d.ts +9 -1
  215. package/dist/internal/account-hub/hub-sheet.js +21 -5
  216. package/dist/internal/account-hub/sections.d.ts +1 -1
  217. package/dist/internal/account-hub/sections.js +2 -1
  218. package/dist/internal/apps-and-extensions/apps-modal.d.ts +9 -0
  219. package/dist/internal/apps-and-extensions/apps-modal.js +107 -0
  220. package/dist/internal/auth/auth-card-shell.js +3 -3
  221. package/dist/internal/chrome/browser-icon.d.ts +24 -0
  222. package/dist/internal/chrome/browser-icon.js +58 -0
  223. package/dist/internal/chrome/chrome-card-state.d.ts +16 -0
  224. package/dist/internal/chrome/chrome-card-state.js +9 -0
  225. package/dist/internal/chrome/chrome-connect.d.ts +69 -0
  226. package/dist/internal/chrome/chrome-connect.js +178 -0
  227. package/dist/internal/chrome/chrome-mock.d.ts +4 -0
  228. package/dist/internal/chrome/chrome-mock.js +15 -0
  229. package/dist/internal/chrome/chrome-names.d.ts +15 -0
  230. package/dist/internal/chrome/chrome-names.js +35 -0
  231. package/dist/internal/chrome/extension.d.ts +47 -0
  232. package/dist/internal/chrome/extension.js +91 -0
  233. package/dist/internal/chrome/use-chrome-offered.d.ts +11 -0
  234. package/dist/internal/chrome/use-chrome-offered.js +22 -0
  235. package/dist/internal/components/agent-mark.js +5 -2
  236. package/dist/internal/connector-logo/connector-logo-source.d.ts +64 -0
  237. package/dist/internal/connector-logo/connector-logo-source.js +49 -0
  238. package/dist/internal/connector-logo/connector-logo.d.ts +39 -0
  239. package/dist/internal/connector-logo/connector-logo.js +56 -0
  240. package/dist/internal/connector-logo/connector-mark-files.d.ts +11 -0
  241. package/dist/internal/connector-logo/connector-mark-files.js +35 -0
  242. package/dist/internal/files/file-read-retry.d.ts +13 -0
  243. package/dist/internal/files/file-read-retry.js +23 -3
  244. package/dist/internal/files/session-drive-files.d.ts +5 -1
  245. package/dist/internal/files/session-drive-files.js +7 -2
  246. package/dist/internal/hooks/channels/use-channels-installations.d.ts +32 -5
  247. package/dist/internal/hooks/channels/use-channels-installations.js +55 -7
  248. package/dist/internal/hooks/channels/use-email-inboxes.d.ts +19 -0
  249. package/dist/internal/hooks/channels/use-email-inboxes.js +48 -0
  250. package/dist/internal/hooks/connectors/use-add-account.js +1 -1
  251. package/dist/internal/hooks/index.d.ts +1 -1
  252. package/dist/internal/hooks/index.js +1 -1
  253. package/dist/internal/hooks/projects/use-new-project-session.d.ts +9 -0
  254. package/dist/internal/hooks/projects/use-new-project-session.js +28 -12
  255. package/dist/internal/hooks/use-auto-scroll.d.ts +8 -1
  256. package/dist/internal/hooks/use-auto-scroll.js +4 -4
  257. package/dist/internal/icons/edge.d.ts +5 -0
  258. package/dist/internal/icons/edge.js +10 -0
  259. package/dist/internal/icons/telegram.d.ts +5 -0
  260. package/dist/internal/icons/telegram.js +6 -1
  261. package/dist/internal/layout/nav-hover-card.d.ts +35 -0
  262. package/dist/internal/layout/nav-hover-card.js +84 -0
  263. package/dist/internal/layout/project-nav-row.d.ts +3 -1
  264. package/dist/internal/layout/project-nav-row.js +3 -2
  265. package/dist/internal/layout/project-page-header.d.ts +4 -2
  266. package/dist/internal/layout/project-page-header.js +4 -3
  267. package/dist/internal/layout/project-settings-nav.js +59 -2
  268. package/dist/internal/lib/browser-error-noise.d.ts +1 -1
  269. package/dist/internal/lib/browser-error-noise.js +1 -1
  270. package/dist/internal/lib/browser-noise/rules/extensions.js +17 -3
  271. package/dist/internal/lib/browser-noise/rules/injected-scripts.d.ts +7 -0
  272. package/dist/internal/lib/browser-noise/rules/injected-scripts.js +15 -0
  273. package/dist/internal/lib/detect-os.d.ts +43 -0
  274. package/dist/internal/lib/detect-os.js +70 -0
  275. package/dist/internal/lib/manifest-version.d.ts +1 -1
  276. package/dist/internal/lib/manifest-version.js +2 -2
  277. package/dist/internal/lib/memory-href.d.ts +16 -0
  278. package/dist/internal/lib/memory-href.js +46 -0
  279. package/dist/internal/lib/use-project-feature-flags.js +13 -9
  280. package/dist/internal/lib/utils/heic-convert.d.ts +1 -1
  281. package/dist/internal/lib/utils/heic-convert.js +3 -4
  282. package/dist/internal/lib/web-notifications.d.ts +20 -0
  283. package/dist/internal/lib/web-notifications.js +48 -4
  284. package/dist/internal/notifications/notification-bell.d.ts +4 -1
  285. package/dist/internal/notifications/notification-bell.js +2 -2
  286. package/dist/internal/selection/selection-bar.d.ts +2 -1
  287. package/dist/internal/selection/selection-bar.js +1 -1
  288. package/dist/internal/stores/apps-modal-store.d.ts +8 -0
  289. package/dist/internal/stores/apps-modal-store.js +6 -0
  290. package/dist/internal/stores/composer-prefill-store.d.ts +12 -5
  291. package/dist/internal/stores/file-preview-store.d.ts +29 -2
  292. package/dist/internal/stores/file-preview-store.js +19 -1
  293. package/dist/internal/stores/kortix-computer-store.js +3 -0
  294. package/dist/internal/stores/sidebar-nav-store.d.ts +1 -1
  295. package/dist/internal/stores/sidebar-nav-store.js +3 -1
  296. package/dist/lib/routes.d.ts +13 -1
  297. package/dist/lib/routes.js +13 -0
  298. package/dist/markdown/index.d.ts +2 -1
  299. package/dist/markdown/index.js +2 -1
  300. package/dist/markdown/setup-links/approval-decision.d.ts +1 -0
  301. package/dist/markdown/setup-links/approval-decision.js +9 -3
  302. package/dist/markdown/setup-links/connector-handshake.d.ts +3 -1
  303. package/dist/markdown/setup-links/connector-handshake.js +12 -10
  304. package/dist/markdown/setup-links/secret-intake-form.d.ts +0 -10
  305. package/dist/markdown/setup-links/secret-intake-form.js +1 -1
  306. package/dist/markdown/setup-links/show-connect-hero.d.ts +28 -0
  307. package/dist/markdown/setup-links/show-connect-hero.js +91 -0
  308. package/dist/markdown/unified-markdown.js +5 -5
  309. package/dist/primitives/badge.d.ts +1 -1
  310. package/dist/primitives/badge.js +2 -0
  311. package/dist/primitives/disclosure.js +14 -2
  312. package/dist/primitives/empty-art.d.ts +12 -0
  313. package/dist/primitives/empty-art.js +11 -0
  314. package/dist/primitives/empty-state.d.ts +2 -2
  315. package/dist/primitives/empty-state.js +6 -5
  316. package/dist/primitives/mermaid-renderer.d.ts +2 -0
  317. package/dist/primitives/mermaid-renderer.js +21 -15
  318. package/dist/primitives/resizable.js +6 -1
  319. package/dist/primitives/resize-seam.d.ts +11 -0
  320. package/dist/primitives/resize-seam.js +12 -0
  321. package/dist/primitives/sidebar-panel.js +4 -7
  322. package/dist/primitives/tabs.d.ts +14 -1
  323. package/dist/primitives/tabs.js +1 -1
  324. package/dist/providers/ui-provider.d.ts +9 -0
  325. package/dist/session/composer/ComposerAboveCard.d.ts +1 -1
  326. package/dist/session/composer/ComposerAboveCard.js +2 -2
  327. package/dist/session/composer/ComposerCard.d.ts +1 -1
  328. package/dist/session/composer/ComposerCard.js +3 -3
  329. package/dist/session/composer/agent-selector.d.ts +13 -1
  330. package/dist/session/composer/agent-selector.js +25 -5
  331. package/dist/session/composer/composer-agent-access.d.ts +15 -0
  332. package/dist/session/composer/composer-agent-access.js +27 -0
  333. package/dist/session/composer/composer-chat-input.d.ts +8 -2
  334. package/dist/session/composer/composer-chat-input.js +8 -6
  335. package/dist/session/composer/composer-logic.d.ts +16 -0
  336. package/dist/session/composer/composer-logic.js +12 -0
  337. package/dist/session/composer/composer-underbar.d.ts +3 -1
  338. package/dist/session/composer/composer-underbar.js +4 -3
  339. package/dist/session/composer/composer.d.ts +15 -1
  340. package/dist/session/composer/composer.js +19 -1
  341. package/dist/session/composer/draft/composer-draft.d.ts +6 -2
  342. package/dist/session/composer/draft/composer-draft.js +5 -1
  343. package/dist/session/composer/reasoning-effort-selector.js +1 -1
  344. package/dist/session/models/chatgpt-connection-button.d.ts +11 -0
  345. package/dist/session/models/chatgpt-connection-button.js +54 -0
  346. package/dist/session/models/model-selector.js +5 -2
  347. package/dist/session/models/use-model-connection-gate.d.ts +5 -5
  348. package/dist/session/models/use-model-connection-gate.js +5 -5
  349. package/dist/session/outcomes/jump-to-outcome.d.ts +10 -0
  350. package/dist/session/outcomes/jump-to-outcome.js +11 -0
  351. package/dist/session/outcomes/session-outcomes-bridge.d.ts +14 -0
  352. package/dist/session/outcomes/session-outcomes-bridge.js +12 -0
  353. package/dist/session/outcomes/session-outcomes-provider.d.ts +3 -1
  354. package/dist/session/outcomes/session-outcomes-provider.js +33 -3
  355. package/dist/session/panel/easy/app-preview.d.ts +10 -0
  356. package/dist/session/panel/easy/app-preview.js +31 -12
  357. package/dist/session/panel/easy/change-requests-card.d.ts +7 -0
  358. package/dist/session/panel/easy/change-requests-card.js +17 -0
  359. package/dist/session/panel/easy/easy-panel-logic.js +7 -1
  360. package/dist/session/panel/easy/easy-panel.js +5 -2
  361. package/dist/session/panel/easy/file-preview.js +1 -1
  362. package/dist/session/panel/easy/outputs-card.d.ts +2 -1
  363. package/dist/session/panel/easy/outputs-card.js +3 -2
  364. package/dist/session/panel/mobile-tool-drawer.js +7 -1
  365. package/dist/session/panel/session-audit-panel.js +9 -2
  366. package/dist/session/panel/session-audit-shared.js +3 -1
  367. package/dist/session/panel/session-detail-panel.js +9 -3
  368. package/dist/session/panel/session-files-explorer.d.ts +9 -0
  369. package/dist/session/panel/session-files-explorer.js +12 -3
  370. package/dist/session/panel/session-panel-provider.d.ts +15 -1
  371. package/dist/session/panel/session-panel-provider.js +32 -7
  372. package/dist/session/panel/shared/derive-panels.d.ts +8 -1
  373. package/dist/session/panel/shared/derive-panels.js +12 -2
  374. package/dist/session/panel/shared/output-priority.js +2 -0
  375. package/dist/session/participants/session-participants.d.ts +8 -2
  376. package/dist/session/participants/session-participants.js +11 -4
  377. package/dist/session/prompts/approval-request.d.ts +5 -0
  378. package/dist/session/prompts/approval-request.js +9 -1
  379. package/dist/session/prompts/session-approval-review.d.ts +9 -0
  380. package/dist/session/prompts/session-approval-review.js +18 -0
  381. package/dist/session/status/session-error-banner.js +2 -49
  382. package/dist/session/status/session-starting-loader.d.ts +14 -2
  383. package/dist/session/status/session-starting-loader.js +16 -4
  384. package/dist/session/thread/after-first-prompt.d.ts +7 -0
  385. package/dist/session/thread/after-first-prompt.js +8 -0
  386. package/dist/session/thread/detect-command.d.ts +12 -0
  387. package/dist/session/thread/detect-command.js +20 -0
  388. package/dist/session/thread/session-chat.d.ts +3 -1
  389. package/dist/session/thread/session-chat.js +377 -252
  390. package/dist/session/thread/session-thread.d.ts +15 -1
  391. package/dist/session/thread/session-thread.js +20 -3
  392. package/dist/session/thread/session-transcript-class.d.ts +5 -1
  393. package/dist/session/thread/session-transcript-class.js +5 -1
  394. package/dist/session/thread/thread-boot-rows.d.ts +36 -0
  395. package/dist/session/thread/thread-boot-rows.js +89 -0
  396. package/dist/session/thread/transcript-rows.d.ts +31 -0
  397. package/dist/session/thread/transcript-rows.js +3 -0
  398. package/dist/session/thread/transcript.d.ts +0 -9
  399. package/dist/session/thread/transcript.js +104 -19
  400. package/dist/session/tool/shared/infrastructure-contexts.d.ts +28 -0
  401. package/dist/session/tool/shared/infrastructure-contexts.js +31 -3
  402. package/dist/session/tool/tool-part-renderer.d.ts +5 -4
  403. package/dist/session/tool/tool-part-renderer.js +8 -3
  404. package/dist/session/tool/tools/bash-tool.js +7 -6
  405. package/dist/session/tool/tools/channel-send-card.d.ts +1 -2
  406. package/dist/session/tool/tools/channel-send.d.ts +2 -1
  407. package/dist/session/tool/tools/codemode-tool.js +1 -1
  408. package/dist/session/tool/tools/connector-tools.js +1 -1
  409. package/dist/session/tool/tools/image-gen-tool.d.ts +1 -1
  410. package/dist/session/tool/tools/image-gen-tool.js +241 -53
  411. package/dist/session/tool/tools/show-tool.js +19 -8
  412. package/dist/session/turn/channel-brand.d.ts +8 -3
  413. package/dist/session/turn/channel-brand.js +20 -4
  414. package/dist/session/turn/message-author.d.ts +8 -0
  415. package/dist/session/turn/message-author.js +24 -0
  416. package/dist/session/turn/message-row.d.ts +52 -0
  417. package/dist/session/turn/message-row.js +44 -0
  418. package/dist/session/turn/plan-anchor.d.ts +1 -1
  419. package/dist/session/turn/plan-anchor.js +1 -1
  420. package/dist/session/turn/user-message.d.ts +14 -6
  421. package/dist/session/turn/user-message.js +35 -15
  422. package/dist/styles.css +1 -1
  423. package/dist/workspace/home/access-requests-bell.d.ts +9 -2
  424. package/dist/workspace/home/access-requests-bell.js +20 -6
  425. package/dist/workspace/home/first-chat.d.ts +8 -21
  426. package/dist/workspace/home/first-chat.js +22 -72
  427. package/dist/workspace/index.d.ts +6 -0
  428. package/dist/workspace/index.js +6 -0
  429. package/dist/workspace/layout/project-home.d.ts +14 -2
  430. package/dist/workspace/layout/project-home.js +60 -21
  431. package/dist/workspace/layout/use-project-home-send.d.ts +9 -1
  432. package/dist/workspace/layout/use-project-home-send.js +82 -3
  433. package/dist/workspace/memory/body-doc.d.ts +17 -0
  434. package/dist/workspace/memory/body-doc.js +208 -0
  435. package/dist/workspace/memory/body-extensions.d.ts +38 -0
  436. package/dist/workspace/memory/body-extensions.js +103 -0
  437. package/dist/workspace/memory/company-memory-page.d.ts +8 -0
  438. package/dist/workspace/memory/company-memory-page.js +16 -0
  439. package/dist/workspace/memory/memory-all.d.ts +20 -0
  440. package/dist/workspace/memory/memory-all.js +27 -0
  441. package/dist/workspace/memory/memory-body.d.ts +19 -0
  442. package/dist/workspace/memory/memory-body.js +139 -0
  443. package/dist/workspace/memory/memory-empty.d.ts +13 -0
  444. package/dist/workspace/memory/memory-empty.js +28 -0
  445. package/dist/workspace/memory/memory-history.d.ts +27 -0
  446. package/dist/workspace/memory/memory-history.js +108 -0
  447. package/dist/workspace/memory/memory-labels.d.ts +16 -0
  448. package/dist/workspace/memory/memory-labels.js +47 -0
  449. package/dist/workspace/memory/memory-page-list.d.ts +34 -0
  450. package/dist/workspace/memory/memory-page-list.js +156 -0
  451. package/dist/workspace/memory/memory-reader.d.ts +58 -0
  452. package/dist/workspace/memory/memory-reader.js +123 -0
  453. package/dist/workspace/memory/memory-view.d.ts +21 -0
  454. package/dist/workspace/memory/memory-view.js +124 -0
  455. package/dist/workspace/memory/remember-popover.d.ts +19 -0
  456. package/dist/workspace/memory/remember-popover.js +61 -0
  457. package/dist/workspace/memory/remember-this.d.ts +12 -0
  458. package/dist/workspace/memory/remember-this.js +89 -0
  459. package/dist/workspace/memory/source-mark.d.ts +18 -0
  460. package/dist/workspace/memory/source-mark.js +79 -0
  461. package/dist/workspace/memory/used-memory-chip.d.ts +14 -0
  462. package/dist/workspace/memory/used-memory-chip.js +61 -0
  463. package/dist/workspace/new/advanced-fields.d.ts +2 -1
  464. package/dist/workspace/new/advanced-fields.js +2 -2
  465. package/dist/workspace/new/source-param.d.ts +1 -1
  466. package/dist/workspace/new/source-param.js +3 -1
  467. package/dist/workspace/new/use-create-workspace.d.ts +8 -10
  468. package/dist/workspace/new/use-create-workspace.js +3 -3
  469. package/dist/workspace/projects/onboarding/app-logo.d.ts +7 -2
  470. package/dist/workspace/projects/onboarding/app-logo.js +6 -13
  471. package/dist/workspace/projects/policies-panel.js +5 -3
  472. package/dist/workspace/review/review-actions.d.ts +4 -2
  473. package/dist/workspace/review/review-actions.js +8 -2
  474. package/dist/workspace/review/review-center.js +11 -7
  475. package/dist/workspace/review/review-detail.d.ts +10 -0
  476. package/dist/workspace/review/review-detail.js +101 -13
  477. package/dist/workspace/saved-session-skeleton.d.ts +2 -2
  478. package/dist/workspace/saved-session-skeleton.js +3 -3
  479. package/dist/workspace/session-workspace.js +15 -13
  480. package/dist/workspace/sessions/project-sessions-view.js +3 -2
  481. package/dist/workspace/sessions/session-label-badges.js +2 -1
  482. package/dist/workspace/sessions/sessions-toolbar.d.ts +3 -1
  483. package/dist/workspace/sessions/sessions-toolbar.js +2 -2
  484. package/dist/workspace/sidebar/footer/project-apps-nav.d.ts +5 -0
  485. package/dist/workspace/sidebar/footer/project-apps-nav.js +41 -2
  486. package/dist/workspace/sidebar/footer/project-artifacts-nav.d.ts +6 -0
  487. package/dist/workspace/sidebar/footer/project-artifacts-nav.js +22 -0
  488. package/dist/workspace/sidebar/footer/project-chrome-nav.d.ts +10 -0
  489. package/dist/workspace/sidebar/footer/project-chrome-nav.js +56 -0
  490. package/dist/workspace/sidebar/footer/project-manifest-upgrade-alert.js +13 -13
  491. package/dist/workspace/sidebar/footer/project-memory-nav.d.ts +7 -0
  492. package/dist/workspace/sidebar/footer/project-memory-nav.js +19 -0
  493. package/dist/workspace/sidebar/nav-row-meta.js +14 -2
  494. package/dist/workspace/sidebar/project-nav-items.js +3 -0
  495. package/dist/workspace/sidebar/project-session-list.js +68 -56
  496. package/dist/workspace/sidebar/project-sidebar.js +13 -2
  497. package/dist/workspace/sidebar/project-spaces-nav.d.ts +8 -0
  498. package/dist/workspace/sidebar/project-spaces-nav.js +69 -0
  499. package/dist/workspace/sidebar/session-group-order.d.ts +9 -0
  500. package/dist/workspace/sidebar/session-group-order.js +25 -0
  501. package/dist/workspace/sidebar/session-group-sections.d.ts +62 -0
  502. package/dist/workspace/sidebar/session-group-sections.js +267 -0
  503. package/dist/workspace/sidebar/session-list-chrome.d.ts +28 -0
  504. package/dist/workspace/sidebar/session-list-chrome.js +50 -0
  505. package/dist/workspace/spaces/channel-glyph.d.ts +5 -0
  506. package/dist/workspace/spaces/channel-glyph.js +6 -0
  507. package/dist/workspace/spaces/channel-setup.d.ts +16 -0
  508. package/dist/workspace/spaces/channel-setup.js +105 -0
  509. package/dist/workspace/spaces/channels-onboarding.d.ts +13 -0
  510. package/dist/workspace/spaces/channels-onboarding.js +37 -0
  511. package/dist/workspace/spaces/create-channel-dialog.d.ts +16 -0
  512. package/dist/workspace/spaces/create-channel-dialog.js +158 -0
  513. package/dist/workspace/spaces/private-channels-not-in.d.ts +9 -0
  514. package/dist/workspace/spaces/private-channels-not-in.js +69 -0
  515. package/dist/workspace/spaces/space-agents.d.ts +10 -0
  516. package/dist/workspace/spaces/space-agents.js +10 -0
  517. package/dist/workspace/spaces/space-details-dialog.d.ts +20 -0
  518. package/dist/workspace/spaces/space-details-dialog.js +176 -0
  519. package/dist/workspace/spaces/space-link-label.d.ts +49 -0
  520. package/dist/workspace/spaces/space-link-label.js +73 -0
  521. package/dist/workspace/spaces/space-links.d.ts +19 -0
  522. package/dist/workspace/spaces/space-links.js +230 -0
  523. package/dist/workspace/spaces/space-members.d.ts +46 -0
  524. package/dist/workspace/spaces/space-members.js +182 -0
  525. package/dist/workspace/spaces/space-roster.d.ts +15 -0
  526. package/dist/workspace/spaces/space-roster.js +44 -0
  527. package/dist/workspace/spaces/space-threads-tab.d.ts +56 -0
  528. package/dist/workspace/spaces/space-threads-tab.js +156 -0
  529. package/dist/workspace/spaces/space-timeline-view.d.ts +254 -0
  530. package/dist/workspace/spaces/space-timeline-view.js +235 -0
  531. package/dist/workspace/spaces/space-timeline.d.ts +106 -0
  532. package/dist/workspace/spaces/space-timeline.js +183 -0
  533. package/dist/workspace/spaces/space-triggers.d.ts +13 -0
  534. package/dist/workspace/spaces/space-triggers.js +78 -0
  535. package/dist/workspace/spaces/space-view.d.ts +37 -0
  536. package/dist/workspace/spaces/space-view.js +436 -0
  537. package/package.json +67 -36
  538. package/skills/kortix-ui/SKILL.md +3 -3
  539. package/skills/kortix-ui/references/custom-dashboard.md +3 -3
  540. package/skills/kortix-ui/references/modules.md +29 -5
  541. package/skills/kortix-ui/references/theming.md +1 -1
  542. package/dist/customize/connectors/catalog/merge-search.d.ts +0 -10
  543. package/dist/customize/connectors/catalog/merge-search.js +0 -26
  544. package/dist/customize/connectors/detail/find-easy-connect-app.d.ts +0 -29
  545. package/dist/customize/connectors/detail/find-easy-connect-app.js +0 -22
  546. package/dist/customize/migrate-to-v2/use-migrate-to-v2.d.ts +0 -9
  547. package/dist/customize/migrate-to-v2/use-migrate-to-v2.js +0 -24
  548. package/dist/customize/sections/connector-connection-header.d.ts +0 -36
  549. package/dist/customize/sections/connector-connection-header.js +0 -33
  550. package/dist/customize/sections/connector-connection-modal.d.ts +0 -34
  551. package/dist/customize/sections/connector-connection-modal.js +0 -72
  552. package/dist/customize/sections/discover-catalogue-card.d.ts +0 -19
  553. package/dist/customize/sections/discover-catalogue-card.js +0 -26
  554. package/dist/customize/sections/discover-catalogue-detail.d.ts +0 -15
  555. package/dist/customize/sections/discover-catalogue-detail.js +0 -24
  556. package/dist/customize/sections/discover-catalogue.d.ts +0 -17
  557. package/dist/customize/sections/discover-catalogue.js +0 -132
  558. package/dist/customize/sections/llm-provider/provider-access-menu.d.ts +0 -10
  559. package/dist/customize/sections/llm-provider/provider-access-menu.js +0 -23
  560. package/dist/files/project/components/drive-empty-art.d.ts +0 -2
  561. package/dist/files/project/components/drive-empty-art.js +0 -5
  562. package/dist/internal/hooks/use-media-query.d.ts +0 -2
  563. package/dist/internal/share/public-share-link-button.d.ts +0 -14
  564. package/dist/internal/share/public-share-link-button.js +0 -17
  565. package/dist/markdown/setup-links/app-credentials-form.d.ts +0 -12
  566. package/dist/markdown/setup-links/app-credentials-form.js +0 -115
  567. /package/dist/{internal/hooks → hooks}/use-media-query.js +0 -0
package/dist/i18n/en.js CHANGED
@@ -372,6 +372,10 @@ const catalog = {
372
372
  "connected": {
373
373
  "label": "Connected accounts"
374
374
  },
375
+ "chrome": {
376
+ "label": "Kortix in Chrome",
377
+ "description": "Your sessions use Chrome with your logins. You see every step."
378
+ },
375
379
  "tokens": {
376
380
  "label": "Personal access keys",
377
381
  "description": "API keys that act as you — for the CLI, a script, or a CI job."
@@ -760,22 +764,10 @@ const catalog = {
760
764
  "name": "Marketplace",
761
765
  "description": "Browse and install skills from community and vendor registries. Sources, updates, and team scopes are still changing."
762
766
  },
763
- "connectors_api_discover": {
764
- "name": "Connectors API Discover",
765
- "description": "Browse direct API, MCP, GraphQL, CLI, and Postman integrations alongside optional OAuth apps."
766
- },
767
- "agentmail_email": {
768
- "name": "AgentMail Email",
769
- "description": "Assign AgentMail inboxes so incoming email threads can start and continue Kortix sessions."
770
- },
771
767
  "meta_agent": {
772
768
  "name": "Meta Agent",
773
769
  "description": "Add a coordinator agent that manages specialized sessions and multi-step work across the project."
774
770
  },
775
- "monitors": {
776
- "name": "Monitors",
777
- "description": "Run persistent watchers that observe logs, feeds, or APIs and start agent sessions from events."
778
- },
779
771
  "warm_sessions": {
780
772
  "name": "Warm Sessions",
781
773
  "description": "Keep one sandbox ready for instant session starts. The idle sandbox uses compute."
@@ -805,8 +797,8 @@ const catalog = {
805
797
  "description": "Tell the people a session concerns (its prompter, its creator and its followers) through a bell inbox, browser push and email, and alert on failing triggers and reminders. Off: only the session creator's phone gets a session push, and an account owner's phone gets one when a trigger starts failing."
806
798
  },
807
799
  "event_triggers": {
808
- "name": "App event triggers",
809
- "description": "Start an agent when something happens in a connected app: a new email, a pull request, a calendar event."
800
+ "name": "Composio event triggers",
801
+ "description": "Start an agent when something happens in a connected app: a new email, a pull request, a calendar event. Events come from Composio. Kortix also checks your connected apps itself."
810
802
  },
811
803
  "volumes": {
812
804
  "name": "Volumes",
@@ -820,10 +812,6 @@ const catalog = {
820
812
  "name": "Session log restore",
821
813
  "description": "Rebuilds a session from its saved session log when its computer lost the conversation. Kortix enables it per project."
822
814
  },
823
- "connectors_v2": {
824
- "name": "Connectors v2",
825
- "description": "The MCP app catalog in Customize → Connectors, with sign-in that Kortix runs. With App event triggers on, Kortix checks these apps for new emails, files and items and starts an agent. Also adds Telegram as a channel. New connector accounts are no longer shared with the whole project by default."
826
- },
827
815
  "agent_rooms": {
828
816
  "name": "Rooms",
829
817
  "description": "Named chat rooms where agent sessions and people post and reply in threads. A session wakes when a message is addressed to it. Adds the Rooms page, `kortix rooms`, and `kortix peers`."
@@ -835,7 +823,41 @@ const catalog = {
835
823
  "workspace_volume": {
836
824
  "name": "Workspace volume",
837
825
  "description": "Keeps each new session's /workspace on its own volume, so a stopped sandbox can be deleted and the next open boots a new one on the same files and conversation. Kortix enables it per project."
826
+ },
827
+ "artifacts": {
828
+ "name": "Artifacts",
829
+ "description": "Share docs (Markdown) and HTML pages (decks, dashboards, mockups, tools) from Files with the project, chosen people or anyone with a link. Docs edit in place, every save is a version from the Files history, and docs export to PDF. Adds the Artifacts page and `kortix artifacts`."
830
+ },
831
+ "email_channel": {
832
+ "name": "Email channel",
833
+ "description": "Give the agent an email inbox on Resend: inbound mail starts and continues sessions, and the agent reads, replies and sends from the inbox. Bring your own Resend API key and domain."
834
+ },
835
+ "project_channels": {
836
+ "name": "Channels",
837
+ "description": "Organize work in channels. Each new message in a channel or a direct message with an agent starts a thread. Replaces the session list in the sidebar."
838
+ },
839
+ "session_groups": {
840
+ "name": "Session groups",
841
+ "description": "Group the sidebar's sessions into named folders that everyone in the project shares, for example one per store or client. Move a session into a group from its menu or by dragging it; reorder and collapse the groups."
842
+ },
843
+ "artifact_comments": {
844
+ "name": "Artifact comments",
845
+ "description": "Discuss docs and pages in threads with people and agents. Requires Artifacts."
846
+ },
847
+ "chrome": {
848
+ "name": "Kortix in Chrome",
849
+ "description": "Let a session use your connected Chrome browser. You can take over or stop it at any time."
838
850
  }
851
+ },
852
+ "channelsSwitch": {
853
+ "onTitle": "Turn on Channels for {project}?",
854
+ "onBody": "Everyone in this project gets Channels and Direct messages instead of the session list. All existing sessions move into #general. You can turn it off any time; nothing is deleted.",
855
+ "drive": "Turn on Drive too, so channels get Files.",
856
+ "turnOn": "Turn on",
857
+ "cancel": "Cancel",
858
+ "offTitle": "Turn off Channels?",
859
+ "offBody": "Channels, memory, files and links stay saved. The session list comes back for everyone.",
860
+ "turnOff": "Turn off"
839
861
  }
840
862
  },
841
863
  "upgrades": {
@@ -849,9 +871,9 @@ const catalog = {
849
871
  "oneOffDescription": "Describe a single change instead. It runs the same way — a session makes it, validates it, and opens a change request.",
850
872
  "oneOffPlaceholder": "e.g. Rename the release-bot agent to deploy-bot everywhere it's referenced",
851
873
  "runUpgrade": "Run upgrade",
852
- "manifestV2": {
853
- "title": "Migrate manifest to v2 (kortix.yaml)",
854
- "description": "Converts the v1 kortix.toml into the governance-first kortix.yaml, refreshes platform-managed skills to the latest marketplace baseline, and opens a change request for review."
874
+ "manifestV3": {
875
+ "title": "Upgrade manifest to v3 (kortix.yaml)",
876
+ "description": "Moves kortix.toml or a version 2 kortix.yaml to version 3: the project registers skills, tools, commands and extensions, and each agent enables them by name. Refreshes platform-managed skills and opens a change request for review."
855
877
  },
856
878
  "agentEditorHint": "This project uses a version 1 manifest. Upgrade it to <code>kortix.yaml</code> version 3 to edit this agent's instructions, model, tool permissions and access here."
857
879
  },
@@ -1019,6 +1041,7 @@ const catalog = {
1019
1041
  "sidebar": {
1020
1042
  "rooms": "Rooms",
1021
1043
  "goals": "Goals",
1044
+ "artifacts": "Artifacts",
1022
1045
  "referAndEarn": "Refer & Earn",
1023
1046
  "referralShareTitle": "Refer Friends",
1024
1047
  "referralShareSubtitle": "Get 400 credits",
@@ -1150,11 +1173,12 @@ const catalog = {
1150
1173
  "account": "Account",
1151
1174
  "loadError": "Failed to load projects",
1152
1175
  "createIn": "Create a project in {account}",
1153
- "localComputer": "Your computer"
1176
+ "localComputer": "Your computer",
1177
+ "appsAndExtensions": "Apps and extensions"
1154
1178
  },
1155
1179
  "manifestUpgrade": {
1156
- "title": "Upgrade to v2",
1157
- "description": "This project still runs <toml>kortix.toml</toml>. An agent converts it to <yaml>kortix.yaml</yaml>, refreshes managed skills, and opens a change request. Nothing changes until you approve it.",
1180
+ "title": "Upgrade to v3",
1181
+ "description": "This project runs an older manifest. An agent moves it to <yaml>kortix.yaml</yaml> version 3, refreshes managed skills, and opens a change request. Nothing changes until you approve it.",
1158
1182
  "start": "Start upgrade"
1159
1183
  },
1160
1184
  "filter": {
@@ -1271,6 +1295,38 @@ const catalog = {
1271
1295
  "showArchived": "Archived sessions",
1272
1296
  "pinnedMark": "Pinned"
1273
1297
  },
1298
+ "sessionGroups": {
1299
+ "newGroup": "New group",
1300
+ "newGroupFromMenu": "New group…",
1301
+ "createTitle": "New group",
1302
+ "createDescription": "Everyone in this project sees the group. Move a session into it from the session's menu, or drag the session onto it.",
1303
+ "namePlaceholder": "Group name",
1304
+ "create": "Create group",
1305
+ "created": "Group created",
1306
+ "createFailed": "Could not create the group",
1307
+ "rename": "Rename group",
1308
+ "save": "Save",
1309
+ "renamed": "Group renamed",
1310
+ "renameFailed": "Could not rename the group",
1311
+ "nameTaken": "Another group in this project has that name.",
1312
+ "limit": "A project has at most 50 groups.",
1313
+ "cancel": "Cancel",
1314
+ "delete": "Delete group",
1315
+ "deleteTitle": "Delete this group?",
1316
+ "deleteDescription": "{name} is deleted for everyone in this project. Its sessions stay, in no group. This cannot be undone.",
1317
+ "deleted": "Group deleted",
1318
+ "deleteFailed": "Could not delete the group",
1319
+ "moveUp": "Move up",
1320
+ "moveDown": "Move down",
1321
+ "reorderFailed": "Could not reorder the groups",
1322
+ "moveTo": "Move to group",
1323
+ "removeFromGroup": "Remove from group",
1324
+ "moved": "Session moved",
1325
+ "noGroup": "No group",
1326
+ "moveFailed": "Could not move the session",
1327
+ "empty": "Sessions you move here will show up here.",
1328
+ "groupOptions": "Group options"
1329
+ },
1274
1330
  "recentlyDeleted": {
1275
1331
  "view": "Recently deleted",
1276
1332
  "empty": "Sessions you delete will show up here for {days} days.",
@@ -1283,6 +1339,8 @@ const catalog = {
1283
1339
  "drive": "Drive",
1284
1340
  "repo": "Repo",
1285
1341
  "customizeSidebar": "Customize sidebar",
1342
+ "searchApps": "Search apps",
1343
+ "appsNoMatches": "No matches",
1286
1344
  "customizeSidebarDescription": "Drag rows between the two groups.",
1287
1345
  "resetSidebar": "Reset to default",
1288
1346
  "reorderItem": "Reorder {name}",
@@ -1293,7 +1351,14 @@ const catalog = {
1293
1351
  "underMore": "More",
1294
1352
  "sidebarEmpty": "Drag a row here to show it in the sidebar.",
1295
1353
  "moreEmpty": "Drag a row here to move it under More.",
1296
- "moreCaption": "Rows under More open from the More menu, below the nav."
1354
+ "moreCaption": "Rows under More open from the More menu, below the nav.",
1355
+ "spaces": {
1356
+ "channels": "Channels",
1357
+ "directMessages": "Direct messages",
1358
+ "addChannel": "Add channel",
1359
+ "loadError": "Could not load channels.",
1360
+ "newAgent": "New agent"
1361
+ }
1297
1362
  },
1298
1363
  "sessionPage": {
1299
1364
  "backToProject": "Back to project",
@@ -1720,6 +1785,13 @@ const catalog = {
1720
1785
  "updateFailed": "Could not update password",
1721
1786
  "unexpected": "An unexpected error occurred"
1722
1787
  }
1788
+ },
1789
+ "panel": {
1790
+ "waitingTitle": "Signing you in",
1791
+ "waitingBody": "Connecting this panel to your Kortix account.",
1792
+ "errorTitle": "Couldn't sign in",
1793
+ "errorBody": "Sign in to Kortix in a browser tab, then reopen this panel.",
1794
+ "signIn": "Sign in"
1723
1795
  }
1724
1796
  },
1725
1797
  "tools": {
@@ -1908,15 +1980,36 @@ const catalog = {
1908
1980
  "greeting": "Welcome, {name}. I'm Kortix.",
1909
1981
  "greetingNoName": "Welcome. I'm Kortix.",
1910
1982
  "intro": "Bring me anything: a task, a workflow, or a half-formed idea. We'll figure it out together.",
1911
- "question": "Where do you want to start?",
1912
- "recommendTools": "Recommend tools",
1913
- "updateMemory": "Update memory",
1983
+ "canTitle": "What you can do with Kortix",
1984
+ "can": {
1985
+ "work": {
1986
+ "title": "Hand off real work",
1987
+ "body": "Research, docs, decks, spreadsheets and sites. Each session has its own isolated machine."
1988
+ },
1989
+ "memory": {
1990
+ "title": "It remembers",
1991
+ "body": "What it learns about you, your team and your company carries into every session."
1992
+ },
1993
+ "tools": {
1994
+ "title": "Works in your tools",
1995
+ "body": "3,000+ apps in a click. Connector credentials never enter the machine."
1996
+ },
1997
+ "chat": {
1998
+ "title": "Joins your team chat",
1999
+ "body": "Mention it in Slack or Microsoft Teams with a task."
2000
+ },
2001
+ "schedule": {
2002
+ "title": "Runs on its own",
2003
+ "body": "Triggers start work on a schedule or from a webhook."
2004
+ },
2005
+ "apps": {
2006
+ "title": "Builds apps",
2007
+ "body": "Internal tools and dashboards, hosted with sign-in."
2008
+ }
2009
+ },
2010
+ "startHint": "Tell Kortix what you’re working on below, or send “Onboard me” for a guided setup.",
1914
2011
  "placeholder": "Tell Kortix what you're working on",
1915
- "toolsPrompt": "Recommend tools and connectors that fit my workflow. Ask me what I work on first if you need to.",
1916
- "memoryPrompt": "Get to know how I work. Ask me one short question at a time about my role, what I work on, the tools I use, and how I like to work. Save my answers to project memory so future sessions start with them.",
1917
- "inviteTeammate": "Invite teammate",
1918
- "connectSlack": "Connect Slack",
1919
- "slackConnected": "Slack connected"
2012
+ "kickoff": "Onboard me"
1920
2013
  },
1921
2014
  "hardcodedUi": {
1922
2015
  "appProjectsIdCustomizeSecretsPage": {
@@ -2114,7 +2207,6 @@ const catalog = {
2114
2207
  "line3485JsxAttrMessageNoMatchingResultsFound": "No matching results found",
2115
2208
  "line3534JsxAttrMessageDirectoryIsEmpty": "Directory is empty",
2116
2209
  "line4240JsxTextImageSearch": "Image Search",
2117
- "line4414JsxTextLoadingImagePreview": "Loading image preview...",
2118
2210
  "line4612JsxTextCreatedSlide": "Created slide",
2119
2211
  "line4935JsxTextPreparingOutput": "Preparing output...",
2120
2212
  "line5032JsxTextOpenAsTab": "Open as tab",
@@ -2254,17 +2346,10 @@ const catalog = {
2254
2346
  "line154JsxTextOtherVersions": "Other versions",
2255
2347
  "line234JsxAttrTitleAheadBehindMainVersion": "Ahead / behind main version"
2256
2348
  },
2257
- "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextNeedsSetupbefdbc49": "Needs setup",
2258
2349
  "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextUnsavedChanges4682b870": "Unsaved changes",
2259
2350
  "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrDescriptionHowa31daf50": "How Kortix reaches this connector — the same settings used when it was added.",
2260
2351
  "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleCouldn277b73a0": "Couldn’t load connection",
2261
2352
  "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSave8c6f945f": "Save connection",
2262
- "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextEasyConnect19ca1c01": "Easy connect",
2263
- "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrPlaceholderSearch9d26aaaa": "Search apps — Gmail, Slack, Stripe, Notion…",
2264
- "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleEasy58e9c7b1": "Easy connect isn’t configured",
2265
- "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextEasyConnectc07266e0": "Easy-connect apps need the Connect provider configured.",
2266
- "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrTitleNof8067eda": "No apps found",
2267
- "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxTextLoading7131cc18": "Loading…",
2268
2353
  "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSpec4235864d": "Spec URL or repo path",
2269
2354
  "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelSDL2325b707": "SDL spec (optional)",
2270
2355
  "autoComponentsProjectsCustomizeSectionsConnectorsViewJsxAttrLabelBase744ecef9": "Base URL",
@@ -2307,7 +2392,6 @@ const catalog = {
2307
2392
  "autoFeaturesWorkspaceProjectSidebarModalShareSessionModalDelegateDescription": "{owner} created this session. As a project manager you govern its access.",
2308
2393
  "autoFeaturesWorkspaceProjectSidebarModalShareSessionModalViewerDescription": "{owner} owns this session. Only the owner can change who opens it.",
2309
2394
  "autoFeaturesFileViewerFileContentRendererJsxTextCouldnT794ae800": "Couldn't preview this file",
2310
- "autoFeaturesFileViewerFilePreviewModalJsxAttrTooltipCopy42229181": "Copy a public view-only link for this file",
2311
2395
  "autoFeaturesFileViewerFilePreviewModalJsxAttrTitleClosea40d0510": "Close (Esc)",
2312
2396
  "autoFeaturesFileViewerFilePreviewModalJsxAttrTitlePreviousb7cda316": "Previous file",
2313
2397
  "autoFeaturesFileViewerFilePreviewModalJsxAttrAriaLabel03ab3a76": "Previous file",
@@ -2656,7 +2740,6 @@ const catalog = {
2656
2740
  "text1ad7a1e28408": "Set…",
2657
2741
  "text1ae97542051d": "Install command",
2658
2742
  "text1b07037029d3": "This slug already exists in this project.",
2659
- "text1bb320d9db5d": "Use custom AgentMail key",
2660
2743
  "text1bbab8923e0a": "/path/to/folder",
2661
2744
  "text1bc7a47dada1": "Dockerfile.ml",
2662
2745
  "text1bfa15228ca8": "Slack connected",
@@ -2675,7 +2758,7 @@ const catalog = {
2675
2758
  "text1d432f58690c": "Conversations",
2676
2759
  "text1d4c17db52f7": "Toggle Sidebar",
2677
2760
  "text1d55ff7c387c": "View options",
2678
- "text1d59a5e09714": "Global rules",
2761
+ "text1d59a5e09714": "Approval rules",
2679
2762
  "text1d6d3a460fb1": "DOCX document",
2680
2763
  "text1d7a4d1f09bb": "We are building the open-source AI Operating System. Every company should own all of it.",
2681
2764
  "text1d826553e961": "Review changes proposed by your agents",
@@ -2774,7 +2857,6 @@ const catalog = {
2774
2857
  "text2534086de9fe": "Show panel",
2775
2858
  "text2534e74d5120": "What should the agent change?",
2776
2859
  "text253b18a02165": "Starting up",
2777
- "text2549e14d07c9": "Used as the first choice for the AgentMail address, for example support@agentmail.",
2778
2860
  "text25c9ab3f2bf6": "Can't show these links",
2779
2861
  "text25f7b3721119": "Collapse all",
2780
2862
  "text260f0001800b": "Use your own Slack app",
@@ -2805,7 +2887,6 @@ const catalog = {
2805
2887
  "text289aff12b042": "Question",
2806
2888
  "text28b00af7cb71": "Proposed change",
2807
2889
  "text28cd762621a4": "This credential signs requests locally",
2808
- "text28d1c949e5e6": "AgentMail inbox assigned to this connection.",
2809
2890
  "text28ff734e9722": "Whole project",
2810
2891
  "text292fd30cb1b5": "Failed to allow permissions",
2811
2892
  "text293b5ec8aac7": "Your favicon and product name in the browser tab, with dark-mode variants",
@@ -2870,7 +2951,6 @@ const catalog = {
2870
2951
  "text2d9e28289fac": "Requested",
2871
2952
  "text2dd1d32020bf": "Failed to save access",
2872
2953
  "text2dda16fbd512": "Filter requests by outcome",
2873
- "text2dec6c273b47": "This channel connection has no AgentMail inbox yet.",
2874
2954
  "text2df01a03ff43": "No matches",
2875
2955
  "text2e15b5a6e45a": "Upload a workbook to preview",
2876
2956
  "text2e46006a5eeb": "End time",
@@ -3006,7 +3086,6 @@ const catalog = {
3006
3086
  "text39b7ec1e8402": "Upgrade plan",
3007
3087
  "text39bbb719fa2b": "Groups",
3008
3088
  "text39bccc5f46a7": "Leave the identifier blank to use the key as its own identifier — the common case. Set it explicitly to keep a second value under the same key (e.g. a backup key).",
3009
- "text39e4dae21daa": "@agentmail.to.",
3010
3089
  "text3a06bf051e48": "Add a connector",
3011
3090
  "text3a13855164e7": ") or a regex (",
3012
3091
  "text3a5ae4d7de8e": "Pick people, or type an email to invite someone new — everyone selected gets the same role on this account.",
@@ -3024,13 +3103,11 @@ const catalog = {
3024
3103
  "text3b13192b9d88": "Discard your changes?",
3025
3104
  "text3b4153c0d3c8": "Pick a date and time",
3026
3105
  "text3b41ba9c7cb8": "No data",
3027
- "text3b61c181f516": "Add a separate AgentMail inbox connection for support, sales, founders, or any mailbox the agent should run.",
3028
3106
  "text3b664be41417": "Account · Billing",
3029
3107
  "text3b7d044b6a4c": "Your last payment didn’t go through and your wallet is empty. Update your payment method or top up to start sessions again.",
3030
3108
  "text3b9453dad42b": "•",
3031
3109
  "text3b9c358f36f0": "file",
3032
3110
  "text3baf55478483": "Delete task",
3033
- "text3bb2e4fa1c03": "Use this when the mailbox already exists or the AgentMail account has reached its inbox limit. Kortix will still create the webhook for this connection.",
3034
3111
  "text3bba69274a7d": "Toggle thumbnails",
3035
3112
  "text3bfc0ea39768": "This file can't be previewed here.",
3036
3113
  "text3bfe60b0c2cc": "Execute commands in a local terminal",
@@ -3279,7 +3356,6 @@ const catalog = {
3279
3356
  "text5048ea70aaa7": "alreadyBody",
3280
3357
  "text504c8b8b46c2": "Black & white with rich green accent",
3281
3358
  "text5051e9e23edf": "Failed to reactivate subscription",
3282
- "text508121aba2d4": "channels channel slack teams discord email agentmail inbox inbound messaging",
3283
3359
  "text509c517ede79": "Zoom",
3284
3360
  "text50a412294327": "ChatGPT",
3285
3361
  "text50b33e323ff3": "Agent Runner",
@@ -3488,7 +3564,6 @@ const catalog = {
3488
3564
  "text604dce445e32": "Services",
3489
3565
  "text605359397284": "Repeatable workflows your agent reuses.",
3490
3566
  "text607b97fdc5aa": "Each person connects their own account. Start a session that requires it to be walked through the connection.",
3491
- "text608977655d2d": "This deployment needs a project-specific AgentMail key before it can create an inbox.",
3492
3567
  "text60a0d83510ea": "Add condition",
3493
3568
  "text60acc53f13a5": "Dark",
3494
3569
  "text60b5535b6518": "schedules schedule cron scheduled tasks webhooks webhook http endpoint incoming request triggers timed recurring",
@@ -3522,7 +3597,6 @@ const catalog = {
3522
3597
  "text62f8e1ec095e": "opencode",
3523
3598
  "text6300595b1dfd": "Setup command",
3524
3599
  "text6300ef800bb8": "Never",
3525
- "text630694bd2dec": "Create a separate connection. You choose the AgentMail address when connecting it.",
3526
3600
  "text6312bece1004": "Sessions last 7 days",
3527
3601
  "text6323e1a09e14": "Read the campaign recipient list",
3528
3602
  "text63336c8a8e83": "Optional at session start",
@@ -3938,7 +4012,6 @@ const catalog = {
3938
4012
  "text877c91ca4226": "No governed actions yet",
3939
4013
  "text878abd024f27": "Type a port, e.g. 3000",
3940
4014
  "text87a46ec2620a": "Pipedream OAuth",
3941
- "text87b0e5101fd8": "AgentMail API key",
3942
4015
  "text87b42e40c2a2": "Approved",
3943
4016
  "text87bb59ba2f92": "Workspace",
3944
4017
  "text87c5912f2cef": "Building",
@@ -4367,7 +4440,6 @@ const catalog = {
4367
4440
  "texta9e82cd23e9d": "Enter a valid positive amount",
4368
4441
  "texta9f78a15820d": "Rule {value0} condition {value1} comparison",
4369
4442
  "textaa023456aca4": "Connect ChatGPT",
4370
- "textaa042b472947": "Existing AgentMail email",
4371
4443
  "textaa622ac1e5e4": "Tests passed",
4372
4444
  "textaa665ddf2727": "Connect Slack",
4373
4445
  "textaa7e623fc09a": "Failed to resolve approval",
@@ -4595,7 +4667,6 @@ const catalog = {
4595
4667
  "textbc8686cf8d63": "{value0} key saved",
4596
4668
  "textbc86ed0acea7": "Failover saved",
4597
4669
  "textbc9424d3f527": "Session access",
4598
- "textbca888f9f9fd": "support@agentmail.to",
4599
4670
  "textbcba696f3eb1": "Routing",
4600
4671
  "textbcc54a5fd95e": "Switch lists",
4601
4672
  "textbce22443b335": "No conditions — every delivery starts a run.",
@@ -4675,7 +4746,7 @@ const catalog = {
4675
4746
  "textc3b312278ee5": "Make this a default",
4676
4747
  "textc3bb47ef2fd9": "{value0} They keep the access they get via {value1}.",
4677
4748
  "textc3c709a999c1": "Reading memory…",
4678
- "textc3d1545dd522": "Converts the v1 kortix.toml into the governance-first kortix.yaml, refreshes platform-managed skills to the latest marketplace baseline, and opens a change request for review.",
4749
+ "text7823a1f3af93": "Moves kortix.toml or a version 2 kortix.yaml to version 3: the project registers skills, tools, commands and extensions, and each agent enables them by name. Refreshes platform-managed skills and opens a change request for review.",
4679
4750
  "textc3d2e79ebdd0": "Connectors",
4680
4751
  "textc3e3a6edeaa5": "Terms and conditions",
4681
4752
  "textc3e58a73609d": "Destructive",
@@ -4922,7 +4993,6 @@ const catalog = {
4922
4993
  "textd7baeba57734": "Role updated",
4923
4994
  "textd7cb455aa690": "Parameter name",
4924
4995
  "textd7cbbb688b2e": "selected",
4925
- "textd7cc97510eb3": "Attach existing AgentMail inbox",
4926
4996
  "textd7d351ef148e": "Create gateway key",
4927
4997
  "textd7d49702e21d": "Never runs, and agents cannot see it",
4928
4998
  "textd8211e24e83d": "Reasoning",
@@ -4930,7 +5000,7 @@ const catalog = {
4930
5000
  "textd83250185d41": "All connectors",
4931
5001
  "textd8348ec82718": "List Triggers",
4932
5002
  "textd84b8be91e7b": "Kortix — Presentations",
4933
- "textd85a383e851d": "Migrate manifest to v2 (kortix.yaml)",
5003
+ "text08edd5b6dcdc": "Upgrade manifest to v3 (kortix.yaml)",
4934
5004
  "text848f54e89660": "Runs",
4935
5005
  "textb098a09c78aa": "Test with payload",
4936
5006
  "text99733344956d": "Payload",
@@ -5025,7 +5095,6 @@ const catalog = {
5025
5095
  "textdc40ace03968": "· until {value0}",
5026
5096
  "textdc4cbd66fe2d": "audit governed actions approvals trail session",
5027
5097
  "textdc5255461795": "No matches in",
5028
- "textdc5376ca47b4": "Existing AgentMail inbox ID",
5029
5098
  "textdc6c9309c03e": "Affected services",
5030
5099
  "textdc7ab144ca89": "Upgrade for the full agent editor",
5031
5100
  "textdc937b598926": "None",
@@ -5074,7 +5143,6 @@ const catalog = {
5074
5143
  "texte0e7d293043c": "Latency",
5075
5144
  "texte0f5b5af5e02": "**This week:** 7 deals advanced, 2 slipped. - **Acme** → Proposal ($120k) - **Globex** → Negotiation ($90k) - At risk: **Initech**, **Umbrella** — no activity in 14 days",
5076
5145
  "texte11b6fe4e5fb": "A model answers; an agent finishes the job. Kortix runs the loop around it — reading the repo, planning, calling tools, checking its own work, returning a branch you can review.",
5077
- "texte13e04973080": "Create a managed AgentMail inbox for your agent, or attach one you already have.",
5078
5146
  "texte14733303e28": "Every agent runs in its own disposable cloud VM, on its own git branch. Spin up thousands in parallel — nothing is shared between runs.",
5079
5147
  "texte159b06187d3": "Paused",
5080
5148
  "texte164235035e6": "Sync membership automatically from your identity provider",
@@ -5213,7 +5281,6 @@ const catalog = {
5213
5281
  "textec70b4a614bf": "Switch project",
5214
5282
  "textec91fdd9256c": "optional",
5215
5283
  "textec963ffc911b": "Checking…",
5216
- "textec9ace8d8ff6": "Kortix will create and manage the AgentMail inbox for this connection.",
5217
5284
  "textec9f8a9109ec": "Allow for session",
5218
5285
  "texteca47e3afa10": "Encrypted credentials kept out of your repository.",
5219
5286
  "textecb89227d17e": "This project starts every session with this model — pick a different default before turning it off.",
@@ -5267,7 +5334,6 @@ const catalog = {
5267
5334
  "textf059c2dbe260": "Every skill in this project, including ones added later.",
5268
5335
  "textf09247433bef": "Image preview",
5269
5336
  "textf096ba0a2aa6": "auto-updates",
5270
- "textf0a216500b54": "AgentMail will create this prefix when available, for example",
5271
5337
  "textf0aea4d97b8e": "Email not connected",
5272
5338
  "textf0e27f45cf6a": "If the Kortix model gateway should spend it for model requests instead, connect",
5273
5339
  "textf0f755afea88": "Copy response",
@@ -5350,6 +5416,7 @@ const catalog = {
5350
5416
  "textf7e31759b202": "No output",
5351
5417
  "textf7f52e59df1d": "10 MB",
5352
5418
  "textf7fcff0d8fea": "No limit",
5419
+ "textf810ceed99d6": "Asked to join",
5353
5420
  "textf82de1c9a1f5": "No memory found.",
5354
5421
  "textf831c2a83de9": "Non-dismissible red banner — active outage or incident",
5355
5422
  "textf849c02f8075": "Zipping…",
@@ -5449,7 +5516,7 @@ const catalog = {
5449
5516
  "text7b84ea95f8ae": "What does an agent actually run on?",
5450
5517
  "text97bbd1c3b346": "Its own machine. Every session boots an isolated Linux cloud computer with your repo and your tools already on it, on its own git branch — the session id, the sandbox id and the branch name are one and the same string. The agent can install, run and break anything inside it; only what it commits survives, because the machine is destroyed with everything on it.",
5451
5518
  "textc145665dd580": "What stops it doing something I did not want?",
5452
- "texta9fe46474f33": "You set allow, ask or block per action, and a rule can match on a glob, a regular expression, or the arguments of the call itself. Be aware that nothing is switched on for you: a project with no policy declared runs every action, so this is a thing you configure rather than a thing you inherit. Session work reaches main through a change request, and merge is default-deny for an agent — an admin has to grant it in kortix.yaml, and that grant is itself an edit somebody else has to merge.",
5519
+ "texta9fe46474f33": "You set allow, ask or block per action, and a rule can match on a glob, a regular expression, or the arguments of the call itself. Be aware that nothing is switched on for you: a project with no policy declared runs every action, so this is a thing you configure rather than a thing you inherit. Session work reaches main through a change request, and merge is default-deny for an agent unless an admin grants it.",
5453
5520
  "text3a8d0e57770e": "Can I see everything an agent did?",
5454
5521
  "text36814e8d3c88": "It is all recorded, on every plan. Recording is never gated — actions, approvals and the session transcript are captured whatever you pay. Reading, exporting and streaming that audit trail out to your own SIEM is an Enterprise entitlement, so on the lower plans the record exists but the export does not.",
5455
5522
  "text618ad8d1c91a": "Is my company data yours?",
@@ -5776,7 +5843,6 @@ const catalog = {
5776
5843
  "textf651529d7e60": "account members organization roster owners admins",
5777
5844
  "texta67e3dc962e8": "Kortix Capture",
5778
5845
  "textf12162aa6ac0": "capture recording screen devices install enrollment",
5779
- "catalogExcludedNoActions": "{count, plural, one {1 app matches but publishes no actions an agent can call.} other {{count} apps match but publish no actions an agent can call.}}",
5780
5846
  "text81e6bf495c98": "Plans, credits, Enterprise, entitlements, members and billing state, per account.",
5781
5847
  "textfe3436af86b4": "Extensions",
5782
5848
  "textdffd02b805cb": "Commands are still loading",
@@ -5808,7 +5874,22 @@ const catalog = {
5808
5874
  "text57f57edb6f16": "Change request #{number} is ready to review.",
5809
5875
  "texta8597db6f24b": "Remove skill",
5810
5876
  "text5f6ba69d66d1": "Skill removed",
5811
- "textcb8d6b0c94c9": " and every file in it, edits included, and removes the skill from every agent that lists it. One commit on the default branch."
5877
+ "textcb8d6b0c94c9": " and every file in it, edits included, and removes the skill from every agent that lists it. One commit on the default branch.",
5878
+ "text0ba357fa63f8": "Connector events",
5879
+ "textca395c4d19b2": "Connector event",
5880
+ "text6064256ee716": "connector event",
5881
+ "text85a6c98e5584": "New connector event",
5882
+ "text165d9237c163": "Search connector events",
5883
+ "texta9caf7909165": "No connector events yet",
5884
+ "text451ef98453d2": "Have an agent run when one of your Kortix Apps emits an event.",
5885
+ "text064694999e1f": "New App event",
5886
+ "text1934aa0740bb": "Search App events",
5887
+ "text25db7e5609e5": "No App events yet",
5888
+ "text9f8f92588517": "An App starts agents by emitting events. Add a trigger with on: { event, app } in kortix.yaml.",
5889
+ "text7c0a91e5b3d2": "Unclassified tools",
5890
+ "text9d2b6f0c41ae": "Tools & rules",
5891
+ "openThreadAction": "Open thread",
5892
+ "untitledThread": "Untitled thread"
5812
5893
  },
5813
5894
  "publicShareConfirm": {
5814
5895
  "title": "Create a public link?",
@@ -5954,7 +6035,10 @@ const catalog = {
5954
6035
  "copySessionTitle": "session title",
5955
6036
  "copyAction": "Copy {label}",
5956
6037
  "copied": "Copied {label}",
5957
- "copyFailed": "Could not copy to the clipboard"
6038
+ "copyFailed": "Could not copy to the clipboard",
6039
+ "threads": "Threads",
6040
+ "recentThreads": "Recent threads",
6041
+ "searchChannels": "Search channels, threads, commands..."
5958
6042
  },
5959
6043
  "repositoryAccess": {
5960
6044
  "label": "Project repository access",
@@ -6113,7 +6197,14 @@ const catalog = {
6113
6197
  "sessionModel": "Model {cost}",
6114
6198
  "sessionSandbox": "Sandbox {cost}",
6115
6199
  "noCapUnlimited": "No cap · spend is unlimited",
6116
- "tokensSub": "{in} in · {out} out"
6200
+ "tokensSub": "{in} in · {out} out",
6201
+ "unknownValue": "Unknown",
6202
+ "estimateCoverageUnavailable": "Estimate coverage unavailable.",
6203
+ "estimatesSeparate": "Actual spend above is separate. Estimates are never added to charges.",
6204
+ "estimatedUsageValueLabel": "LLM estimated usage value (not a bill):",
6205
+ "pricedRequests": "{count} priced requests",
6206
+ "unpricedRequests": "{count} unpriced requests",
6207
+ "llmEstimateLabel": "LLM estimate:"
6117
6208
  },
6118
6209
  "triggerComposer": {
6119
6210
  "every": "Every",
@@ -6136,7 +6227,12 @@ const catalog = {
6136
6227
  "overlapAllow": "Start a new run anyway",
6137
6228
  "perHour": "Per hour",
6138
6229
  "perDay": "Per day",
6139
- "noLimit": "No limit"
6230
+ "noLimit": "No limit",
6231
+ "postTo": "Post to",
6232
+ "postToHint": "Each run starts a new thread there. With no channel, runs go to #{channel}.",
6233
+ "postToNone": "No channel",
6234
+ "postToUnavailable": "Unavailable channel",
6235
+ "postToPrivate": "Private: triggers can't post here"
6140
6236
  },
6141
6237
  "gatewayAccess": {
6142
6238
  "heroTitle": "Use this project's models anywhere",
@@ -6348,12 +6444,8 @@ const catalog = {
6348
6444
  "added": "Added",
6349
6445
  "installedIn": "Installed in {project}",
6350
6446
  "installedHere": "Installed",
6351
- "installedHint": "Install again to add another account to this connector.",
6352
6447
  "open": "Open",
6353
- "statusWorking": "Working",
6354
6448
  "statusError": "Error",
6355
- "statusNeedsSetup": "Needs setup",
6356
- "statusPending": "Pending",
6357
6449
  "managedSurfaceLabel": "{name} app",
6358
6450
  "noticeSignInTitle": "Sign in to {name}",
6359
6451
  "noticeSignInBody": "Kortix added {name}. Finish signing in so agents can use its tools.",
@@ -6369,6 +6461,7 @@ const catalog = {
6369
6461
  "backToConnectors": "Back to connectors",
6370
6462
  "installed": "{name} is installed",
6371
6463
  "yourConnectors": "Your connectors",
6464
+ "oneClickOnly": "One-click only",
6372
6465
  "installedSyncFailed": "{name} is installed. Kortix could not load its tools: {error}",
6373
6466
  "newSession": "New session",
6374
6467
  "sections": "{name} sections",
@@ -6390,7 +6483,7 @@ const catalog = {
6390
6483
  "moveNoSignIn": "{app} has no one-click sign-in on this deployment.",
6391
6484
  "moveDone": "{name} now runs on Kortix.",
6392
6485
  "movesBannerTitle": "{count, plural, one {# connector can move} other {# connectors can move}} to Kortix",
6393
- "movesBannerBody": "Kortix is retiring Pipedream and Composio. Open each one and choose Move to Kortix:",
6486
+ "movesBannerBody": "Kortix is retiring Pipedream. Open each one and choose Move to Kortix:",
6394
6487
  "nameLabel": "Name",
6395
6488
  "toolsEmptyBody": "{name} has not reported any tools. They appear here after it connects.",
6396
6489
  "stripStatus": "Status",
@@ -6430,7 +6523,151 @@ const catalog = {
6430
6523
  "providerInfoSecretsDirect": "Kortix adds the key to each call. Agents never see it.",
6431
6524
  "providerInfoLabel": "Who manages this connection",
6432
6525
  "addMcpAppTitle": "Connect {name}",
6433
- "addMcpAppDescription": "Kortix connects to {name}'s own MCP server. Choose who can use it, then sign in to {name}."
6526
+ "addMcpAppDescription": "Sign in to {name}. Choose who can use it.",
6527
+ "installTitle": "Install {name}",
6528
+ "installNameLabel": "Name",
6529
+ "installProfileHint": "The name people see for this connector in Kortix.",
6530
+ "wayComposio": "Connects through Composio, a third-party partner that runs the sign-in for you: you sign in to {name} in one click, and Composio keeps the login.",
6531
+ "wayMcpOneClick": "Connects to {name}'s own MCP server. You only sign in to {name}.",
6532
+ "wayMcpSetup": "Connects to {name}'s own MCP server. It needs your own OAuth app or an API key, set after install.",
6533
+ "wayApi": "Connects to {name}'s {kind} directly. Add an account with its API key or token after install.",
6534
+ "installsWay": "Installs via {kind}",
6535
+ "wayOneClick": "One click",
6536
+ "wayRecommended": "Recommended",
6537
+ "wayTools": "Tools",
6538
+ "toolsOf": "Tools · {kind}",
6539
+ "toolsCount": "{count, plural, one {# tool} other {# tools}}",
6540
+ "toolsUnavailable": "The tools could not be read right now. They load when you install it.",
6541
+ "toolsSource_mcp": "Listed by the server itself.",
6542
+ "toolsSource_directory": "Tool names from a public MCP directory. The server lists the full set after sign-in.",
6543
+ "toolsSource_composio": "Listed by Composio.",
6544
+ "toolsSource_spec": "The operations in its OpenAPI document.",
6545
+ "toolsSource_none": "Listed after install.",
6546
+ "toolsShowAll": "Show all {count}",
6547
+ "toolsAfterInstall": "This {kind} lists its tools after install.",
6548
+ "typeFilterLabel": "Connector type",
6549
+ "typeFilterAll": "All types",
6550
+ "moveComposioTitle": "{app} has its own MCP server",
6551
+ "moveComposioBody": "This connector runs through Composio. You can switch it to {app}'s own MCP server: sign in once and it switches. Agents, triggers and kortix.yaml keep using {slug}.",
6552
+ "moveComposioAction": "Switch to MCP",
6553
+ "wayChannel": "Built into Kortix: people message the agent in {name}, with no third party. Set it up once on its page.",
6554
+ "waySetUp": "Set up",
6555
+ "setUpNamed": "Set up {name}",
6556
+ "setUpWhere": "On its page",
6557
+ "channelConnectedTitle": "Your agent is in {name}",
6558
+ "emailHeroTitle": "Give your agent an inbox",
6559
+ "emailConnectedTitle": "Your agent has an inbox",
6560
+ "emailHeroLede": "Connect your Resend account and pick an address on your domain. People email it, and the agent reads the thread and replies in it.",
6561
+ "telegramHeroTitle": "Bring your agent to Telegram",
6562
+ "telegramHeroLede": "Connect a bot you create with BotFather. People message the bot and the agent answers in the chat.",
6563
+ "telegramUsersDescription": "Only these people can talk to the bot. When someone else messages it privately, they show up here.",
6564
+ "channelAccessRequestsTitle": "Wants access",
6565
+ "channelAccessAllowedTitle": "Allowed",
6566
+ "channelAccessEmptyTitle": "People you allow will show up here",
6567
+ "telegramUsersEmptyDescription": "Ask someone to message the bot, then allow their request or add their user ID.",
6568
+ "telegramUsersLoadError": "Could not load the Telegram users.",
6569
+ "channelAccessAddByIdLabel": "Add by user ID",
6570
+ "telegramAddByIdHint": "The bot replies to anyone it does not know with their user ID.",
6571
+ "telegramAddByIdInvalid": "A Telegram user ID is a number, such as 123456789.",
6572
+ "channelAccessAllowAria": "Allow {name}",
6573
+ "channelAccessRemoveTitle": "Remove {name}?",
6574
+ "telegramRemoveDescription": "{name} can no longer talk to the bot. To allow them again, add their user ID or allow their next request.",
6575
+ "otherWaysToConnect": "Other ways to connect",
6576
+ "computerHeroTitle": "Bring your agent to your computer",
6577
+ "computerConnectedTitle": "{count, plural, one {Your computer is connected} other {# computers are connected}}",
6578
+ "computerHeroLede": "Pair your Mac, Windows PC or Linux machine. Agents can then work with its files, run commands in its terminal and use its apps, with only the access you allow.",
6579
+ "computerManage": "Manage",
6580
+ "computerAddAnother": "Connect another computer",
6581
+ "computerHowTitle": "How it works",
6582
+ "computerHow1": "Pair it once, with the Kortix desktop app or one terminal command. It runs in the background and follows you into every project.",
6583
+ "computerHow2": "By default only you can use it, in your private sessions. You can share it with a whole project instead, automations included.",
6584
+ "computerHow3": "You decide what agents may do on it, and when: Ask each time, Always, or Off.",
6585
+ "computerHow4": "Disconnect it any time from its page: it leaves every project and the background service stops.",
6586
+ "computerCanDoTitle": "What agents can use",
6587
+ "mockEmailSubject": "Q3 revenue by region",
6588
+ "mockEmailTo": "to agent@acme.kortix.email",
6589
+ "mockEmailAsk": "Can you pull Q3 revenue by region and flag anything that dropped?",
6590
+ "mockEmailReplied": "replied",
6591
+ "mockEmailReply": "EMEA is up 12% and US up 8%. APAC dropped 3% on two delayed deals. The sheet is attached.",
6592
+ "mockTelegramBot": "bot",
6593
+ "mockTelegramAsk": "Did the deploy finish?",
6594
+ "mockTelegramReply": "Yes, 4 minutes ago. All checks are green and the site is live.",
6595
+ "mockComputerTitle": "Kortix on this computer",
6596
+ "mockComputerFiles": "Reading ~/Projects/site",
6597
+ "mockComputerFilesResult": "README.md, package.json, 214 files",
6598
+ "mockComputerTestsResult": "42 passed in 6.1 s",
6599
+ "mockComputerScreen": "Opening Figma",
6600
+ "mockComputerScreenResult": "Exported 3 frames to ~/Desktop",
6601
+ "allApps": "All apps",
6602
+ "emailGateName": "Email channel",
6603
+ "emailGateDescription": "Give the agent a Resend inbox: an email starts a session, and a reply continues it.",
6604
+ "toolsDecisionBlocked": "blocked",
6605
+ "toolsDecisionAsks": "asks",
6606
+ "toolsDecisionRuns": "runs",
6607
+ "toolsInheritAs": "Inherit · {action}",
6608
+ "toolsDefaultAs": "Default · {action}",
6609
+ "toolsSummaryTotal": "{count, plural, one {# tool} other {# tools}}",
6610
+ "toolsSummaryBlocked": "{count} blocked",
6611
+ "toolsSummaryAsk": "{count} ask first",
6612
+ "toolsSummaryRun": "{count} run",
6613
+ "toolsOnlyChanged": "Only changed",
6614
+ "toolsNoneChangedSet": "This rule set changes no tool yet. Tools on Inherit follow the base rules.",
6615
+ "toolsNoneChangedBase": "No tool has its own rule yet. Every tool follows the connector default.",
6616
+ "toolsChanged": "Changed",
6617
+ "statusNeedsAccount": "Needs account",
6618
+ "toolsLockedByProject": "A project rule already decides this tool. Change it in Approval rules.",
6619
+ "toolsProjectLockedBody": "Project rules apply to every connector first, so these tools cannot be changed here.",
6620
+ "toolsOpenRules": "Open Rules",
6621
+ "scopeConnectors": "Connectors",
6622
+ "scopeBrowse": "Browse",
6623
+ "scopeChannels": "Channels",
6624
+ "scopeRules": "Rules",
6625
+ "scopeConnectorsDescription": "The apps this project's agents can use.",
6626
+ "scopeBrowseDescription": "Add an app for your agents to use.",
6627
+ "scopeChannelsDescription": "Talk to your agents from the apps your team uses, and let them work on your computer.",
6628
+ "scopeRulesDescription": "Decide which tool calls run, ask first, or are blocked, for every connector and agent.",
6629
+ "searchInstalled": "Search connectors",
6630
+ "connectorsEmptyBody": "Browse the catalogue and install an app. Your agents use it once it has an account.",
6631
+ "browseApps": "Browse apps",
6632
+ "agentsLoadFailed": "Could not load agents",
6633
+ "agentsNeedsV2": "Agent access is set in kortix.yaml (kortix_version 2 or later). This project uses kortix.toml.",
6634
+ "agentsEmpty": "This project has no agents yet.",
6635
+ "agentsIntro": "Choose which agents can use this connector, and which rules they get. Each change is committed to kortix.yaml.",
6636
+ "agentsReadOnly": "Only people who can edit agents and connectors can change this.",
6637
+ "agentsCanUse": "Can use",
6638
+ "agentsCanUseNamed": "{name} can use this connector",
6639
+ "rulesProjectTitle": "Project rules",
6640
+ "rulesProjectBody": "Apply to every connector and agent, before any connector rule.",
6641
+ "rulesMatrixTitle": "Who gets which rules",
6642
+ "rulesMatrixBody": "Each cell is the rule set an agent gets on a connector. Open a connector to change it.",
6643
+ "rulesMatrixConnector": "Connector",
6644
+ "rulesMatrixNoAccess": "No access",
6645
+ "rulesMatrixNoConnectors": "No connectors yet.",
6646
+ "rulesMatrixCell": "{agent} on {name}: {value}",
6647
+ "installedAlready": "{name} is already installed. Opened it.",
6648
+ "anotherProfileTitle": "Install as another profile",
6649
+ "anotherProfileHelp": "A second profile of {name} has its own sign-in, accounts and rules. Use it only for a different way to connect. For another login, add an account. For different rules per agent, use a rule set.",
6650
+ "anotherProfileAction": "Choose a way",
6651
+ "addAccountNamed": "Add account to {name}",
6652
+ "installNextStep": "Adds {name} to this project. Next, you sign in and choose who can use it.",
6653
+ "installRename": "Rename",
6654
+ "channelNameEmail": "Email",
6655
+ "channelNameComputer": "Computer",
6656
+ "channelPitchEmail": "Email your agent. It replies in the thread.",
6657
+ "channelPitchComputer": "Let agents work on your Mac, Windows PC or Linux machine.",
6658
+ "channelInboxCount": "{count, plural, one {# inbox} other {# inboxes}}",
6659
+ "channelOpenNamed": "Open {name}",
6660
+ "askAdminToInstall": "Ask a project admin to install it.",
6661
+ "toolsFromBase": "From the base rules",
6662
+ "toolsFromSensitive": "Sensitive connector: asks first",
6663
+ "toolsFromDefault": "From the project default",
6664
+ "statusConnected": "Connected",
6665
+ "cardAccounts": "{count, plural, one {# account} other {# accounts}}",
6666
+ "cardRuleSet": "{name} ({count, plural, one {# agent} other {# agents}})",
6667
+ "areaDescription": "Connect apps and channels to your agents, and decide what they may do.",
6668
+ "wayMoreNamed": "More for {name}",
6669
+ "otherWaysLead": "Other ways:",
6670
+ "typeFilterKortix": "Kortix"
6434
6671
  },
6435
6672
  "connectMcp": {
6436
6673
  "title": "Connect Kortix over MCP",
@@ -6561,6 +6798,127 @@ const catalog = {
6561
6798
  "calendarEstimatedSr": "Past fire, estimated from the schedule",
6562
6799
  "calendarUpcomingSr": "Upcoming"
6563
6800
  },
6801
+ "chrome": {
6802
+ "pill": "Kortix in Chrome",
6803
+ "connectTitle": "Add Kortix to Chrome",
6804
+ "connectDescription": "Let your sessions use Chrome, with your logins. You see what they do and can stop them at any time.",
6805
+ "promoLabel": "Kortix in Chrome",
6806
+ "dismissPromo": "Dismiss",
6807
+ "steps": {
6808
+ "install": {
6809
+ "title": "Add the extension",
6810
+ "description": "From the Chrome Web Store.",
6811
+ "done": "Kortix is in Chrome.",
6812
+ "descriptionUnlisted": "Load it in Chrome."
6813
+ },
6814
+ "connect": {
6815
+ "title": "Sign in",
6816
+ "description": "Sign in to Kortix from the extension.",
6817
+ "done": "Signed in."
6818
+ },
6819
+ "done": {
6820
+ "title": "Connected",
6821
+ "description": "Your browser appears here."
6822
+ }
6823
+ },
6824
+ "addToChrome": "Add to Chrome",
6825
+ "finishInChrome": "Chrome opened a Kortix tab. Click Connect there.",
6826
+ "connect": "Connect",
6827
+ "connecting": "Connecting…",
6828
+ "done": "Done",
6829
+ "unsupported": "Open Kortix in Chrome, Edge, Brave or Arc to connect it. Copy the link to open it there.",
6830
+ "connectFailed": "Could not connect the browser. Try again.",
6831
+ "online": "Online",
6832
+ "offline": "Offline",
6833
+ "lastSeen": "Last seen {time}",
6834
+ "usedBy": "{count, plural, one {Used by # session now} other {Used by # sessions now}}",
6835
+ "connectAnother": "Add another browser",
6836
+ "listTitle": "Connected browsers",
6837
+ "rename": "Rename {name}",
6838
+ "renameLabel": "Browser name",
6839
+ "disconnect": "Disconnect",
6840
+ "disconnectTitle": "Disconnect {name}?",
6841
+ "disconnectDescription": "Sessions that use it stop. To use it again, connect it from Chrome.",
6842
+ "disconnected": "Browser disconnected",
6843
+ "disconnectFailed": "Could not disconnect the browser. Try again.",
6844
+ "updateFailed": "Could not save the change. Try again.",
6845
+ "loadFailed": "Could not load your browsers.",
6846
+ "retry": "Try again",
6847
+ "access": {
6848
+ "label": "Access",
6849
+ "always": "Without asking",
6850
+ "ask": "Ask first",
6851
+ "off": "Off",
6852
+ "description": "Whether a session asks you first."
6853
+ },
6854
+ "scope": {
6855
+ "label": "Tabs",
6856
+ "own": "Only tabs it opens",
6857
+ "all": "All tabs",
6858
+ "description": "Which tabs a session can see."
6859
+ },
6860
+ "how": {
6861
+ "title": "How it works",
6862
+ "group": "Each session works in its own tab group, with a glow on the page.",
6863
+ "control": "Take over or Stop from the bar on the page at any time.",
6864
+ "own": "Only your own sessions can use your browser."
6865
+ },
6866
+ "howToInstall": "How to install",
6867
+ "copyLink": "Copy link",
6868
+ "linkCopied": "Link copied",
6869
+ "copyFailed": "Could not copy the link. Try again.",
6870
+ "extensionMissing": "Kortix did not find the extension. Add it, then reload this page.",
6871
+ "another": {
6872
+ "title": "Another browser",
6873
+ "waiting": "Waiting for the new browser to connect.",
6874
+ "description": "Open Kortix in the other browser or Chrome profile, then add Kortix to Chrome there. Copy the link to open it."
6875
+ },
6876
+ "panel": {
6877
+ "project": "Project",
6878
+ "title": "Ask about this page",
6879
+ "body": "Kortix reads the tab when you send. Nothing leaves this browser before that.",
6880
+ "selectionTitle": "Ask about your selection",
6881
+ "selectionBody": "Kortix gets the quote, the page title and the address. The rest of the page stays in this browser unless you add it.",
6882
+ "actions": {
6883
+ "summarize": "Summarize this page",
6884
+ "tables": "Extract the tables",
6885
+ "compare": "Compare with another tab",
6886
+ "email": "Draft an email about this"
6887
+ },
6888
+ "prompts": {
6889
+ "summarize": "Summarize this page.",
6890
+ "tables": "Extract the tables on this page as CSV.",
6891
+ "compare": "Compare these pages.",
6892
+ "email": "Draft an email about this page."
6893
+ },
6894
+ "recent": "Recent in {project}",
6895
+ "noProjects": "Create a project to start a chat.",
6896
+ "createProject": "Create a project",
6897
+ "addTab": "Tab",
6898
+ "addTabsTitle": "Add tabs",
6899
+ "addTabsHint": "Only the tabs you tick are sent.",
6900
+ "addTabs": "{count, plural, =0 {Add tabs} one {Add # tab} other {Add # tabs}}",
6901
+ "noTabs": "No other tabs in this window.",
6902
+ "tabsFailed": "Could not list your tabs. Try again.",
6903
+ "cancel": "Cancel",
6904
+ "removeTab": "Remove {title}",
6905
+ "removeQuote": "Remove the quote",
6906
+ "wholePage": "Whole page",
6907
+ "unreadable": "Kortix cannot read this page.",
6908
+ "message": "Message",
6909
+ "placeholder": "Ask anything about this tab",
6910
+ "placeholderNoTab": "Ask Kortix anything",
6911
+ "modeLabel": "How Kortix uses the tab",
6912
+ "read": "Read",
6913
+ "act": "Act",
6914
+ "readHint": "Read sends this page's text. Act lets Kortix click and type in this tab.",
6915
+ "actHint": "Kortix puts this tab in its tab group and can click and type there. Stop it from the bar on the page.",
6916
+ "send": "Send",
6917
+ "readFailed": "Kortix could not read the tab. Reload the page and try again.",
6918
+ "screenshot": "Screenshot",
6919
+ "captureFailed": "Kortix could not take a screenshot of this tab."
6920
+ }
6921
+ },
6564
6922
  "computers": {
6565
6923
  "connectYourComputer": "Connect your computer",
6566
6924
  "connectThisComputer": "Connect this computer",
@@ -7244,32 +7602,6 @@ const catalog = {
7244
7602
  "manage": "Manage",
7245
7603
  "overviewTitle": "Overview"
7246
7604
  },
7247
- "connectAppForm": {
7248
- "title": "Connect Shopify",
7249
- "description": "Kortix reaches your store through a Shopify app in your organization. Enter its credentials once.",
7250
- "loading": "Loading the form…",
7251
- "stepsTitle": "Create the app in Shopify",
7252
- "step1": "Open the <link>Shopify Dev Dashboard</link> and create an app in the organization that owns your store.",
7253
- "step2": "On the app's version, select the Admin API scopes your agents need, then release the version.",
7254
- "step3": "Install the app on your store.",
7255
- "step4": "Copy the Client ID and Client secret from the app's Settings.",
7256
- "sameOrganization": "The app and the store must be in the same Shopify organization.",
7257
- "storeLabel": "Store",
7258
- "clientIdLabel": "Client ID",
7259
- "clientSecretLabel": "Client secret",
7260
- "submit": "Connect {app}",
7261
- "connecting": "Connecting…",
7262
- "missingFields": "Enter the store, the Client ID and the Client secret.",
7263
- "failed": "Could not connect. Check your connection and try again.",
7264
- "secretNote": "Kortix sends the secret to Composio, which runs the connection. Kortix keeps no copy.",
7265
- "connectedTitle": "{app} is connected",
7266
- "connectedDescription": "Kortix reaches {store}. You can close this window.",
7267
- "closeWindow": "You can close this window.",
7268
- "expiredTitle": "This link expired",
7269
- "invalidTitle": "This link does not work",
7270
- "staleTitle": "This link was replaced",
7271
- "startAgain": "Start Connect again in Kortix."
7272
- },
7273
7605
  "turnShare": {
7274
7606
  "shareResponse": "Share response",
7275
7607
  "whatToInclude": "What to include",
@@ -7299,6 +7631,651 @@ const catalog = {
7299
7631
  "busyHint": "Refresh in a moment.",
7300
7632
  "fallbackTitle": "Shared response",
7301
7633
  "stopNote": "The link will stop working."
7634
+ },
7635
+ "emailConnect": {
7636
+ "homeTitle": "Where the inbox lives",
7637
+ "homeManaged": "Kortix managed",
7638
+ "homeManagedHint": "On {domain}. Nothing to set up.",
7639
+ "homeOwn": "Your Resend account",
7640
+ "homeOwnHint": "Your key, your domains.",
7641
+ "keyLabel": "Resend API key",
7642
+ "keyChecking": "Checking the key…",
7643
+ "keyOk": "Key works. {count, plural, one {# domain} other {# domains}} available.",
7644
+ "keyHint": "From the Resend console. Stored encrypted in this project.",
7645
+ "addressTitle": "Address",
7646
+ "usernameLabel": "Name before the @",
7647
+ "domainLabel": "Domain",
7648
+ "domainPending": "Not verified",
7649
+ "domainAdd": "Add a domain…",
7650
+ "displayNameLabel": "Sender name",
7651
+ "sendersTitle": "Who can email the agent",
7652
+ "sendersHint": "Each email starts or continues a session on this project’s credits.",
7653
+ "sendersMe": "Only me ({email})",
7654
+ "sendersTeam": "People at {domain}",
7655
+ "sendersCustom": "Only these addresses or domains",
7656
+ "sendersCustomPlaceholder": "ada@example.com, example.com — one per line or comma",
7657
+ "sendersAnyone": "Anyone",
7658
+ "sendersAnyoneHint": "Anyone who has the address can start a session.",
7659
+ "attachOpen": "Attach an inbox that already exists",
7660
+ "attachClose": "Create a new inbox instead",
7661
+ "attachEmail": "Inbox address",
7662
+ "attachId": "Resend inbox ID",
7663
+ "attachHint": "Use this when the inbox already exists or the account reached its inbox limit. Kortix still creates the webhook.",
7664
+ "errorKeyRequired": "Enter your Resend API key.",
7665
+ "errorAttachBoth": "An existing inbox needs its inbox ID.",
7666
+ "errorCustomEmpty": "Add at least one address or domain.",
7667
+ "submitAttach": "Attach inbox",
7668
+ "submitCreate": "Create {address}",
7669
+ "domainAddLabel": "Domain to add",
7670
+ "domainAddSubmit": "Add domain",
7671
+ "domainAddHint": "Use a domain or subdomain you control, such as mail.example.com.",
7672
+ "recordsTitle": "Add these records at the DNS provider of {domain}",
7673
+ "recordsHint": "Records can take a few minutes to show up. Then check again.",
7674
+ "recordsCheck": "Check again",
7675
+ "recordsOneClick": "Set up the records in one click",
7676
+ "recordsOneClickAt": "Set up at {provider} in one click",
7677
+ "recordValid": "Found",
7678
+ "recordMissing": "Missing",
7679
+ "recordCopy": "Copy value",
7680
+ "ownNeeds": "You need a Resend account, a domain with receiving on, and a full-access API key.",
7681
+ "linkApiKeys": "Create an API key",
7682
+ "linkReceiving": "Turn on receiving",
7683
+ "linkInboxes": "About Resend Inboxes"
7684
+ },
7685
+ "emailInboxes": {
7686
+ "homeManaged": "Kortix managed",
7687
+ "homeOwn": "Your Resend account",
7688
+ "defaultLabel": "Inbox",
7689
+ "addTitle": "Add an inbox",
7690
+ "addDescription": "Name the inbox and choose who can use it, then where it lives and its address.",
7691
+ "labelHint": "The inbox account's name in Kortix.",
7692
+ "nameFirst": "Give the inbox a name first.",
7693
+ "added": "{address} is ready",
7694
+ "regexInvalid": "The pattern is not a valid regular expression.",
7695
+ "policySaved": "Saved",
7696
+ "policyTitle": "Who can email {address}",
7697
+ "policyDescription": "Each email starts or continues a session on this project's credits.",
7698
+ "policyMenu": "Who can email",
7699
+ "heroCount": "{count, plural, one {# inbox} other {# inboxes}}",
7700
+ "heroManage": "Manage inboxes",
7701
+ "heroAddAnother": "Add another inbox",
7702
+ "heroAdd": "Add an inbox",
7703
+ "removeDeletes": "Removes the account and deletes {address} in Resend. Mail to that address bounces after this.",
7704
+ "removeKeeps": "Removes the account from Kortix. {address} stays in your Resend account.",
7705
+ "removed": "Inbox removed"
7706
+ },
7707
+ "connectorPolicySets": {
7708
+ "rulesFor": "Rules for",
7709
+ "baseRules": "Base rules",
7710
+ "edit": "Edit rule set",
7711
+ "delete": "Delete rule set",
7712
+ "deleteInUse": "Used by {agents}. Give those agents another rule set first.",
7713
+ "deleteTitle": "Delete the rule set {name}?",
7714
+ "deleteBody": "Its rules are removed from kortix.yaml. This cannot be undone.",
7715
+ "deleteConfirm": "Delete",
7716
+ "deleted": "Rule set {name} deleted",
7717
+ "createTitle": "New rule set",
7718
+ "createBody": "Give some agents different rules on this connector. They keep the same accounts.",
7719
+ "editTitle": "Edit rule set",
7720
+ "editBody": "Renaming updates every agent that uses this rule set.",
7721
+ "nameLabel": "Name",
7722
+ "nameHelp": "Lowercase letters, digits, _ and -. The name base is reserved.",
7723
+ "nameTaken": "This connector already has a rule set with this name.",
7724
+ "descriptionLabel": "Description",
7725
+ "descriptionPlaceholder": "Read and search, never send",
7726
+ "cancel": "Cancel",
7727
+ "create": "Create",
7728
+ "save": "Save",
7729
+ "created": "Rule set {name} created",
7730
+ "saved": "Rule set saved",
7731
+ "loadFailed": "Could not load rule sets",
7732
+ "retry": "Try again",
7733
+ "inherit": "Inherit",
7734
+ "agentSection": "Rule sets",
7735
+ "agentSelectLabel": "Rules for {name}",
7736
+ "agentMissing": "Missing",
7737
+ "agentMissingHint": "The rule set {name} does not exist on this connector. Calls on it are blocked until you pick a rule set.",
7738
+ "approvalSetAgent": "Agent {agent} · rule set {set}",
7739
+ "approvalSet": "Rule set {set}",
7740
+ "auditSet": "rule set {set}",
7741
+ "bulkInheritTitle": "Return {count, plural, one {# tool} other {# tools}} to the base rules?",
7742
+ "bulkInheritBody": "Deletes this rule set's rule for every tool listed under {group}, so each one follows the base rules again. Pattern rules are left alone.",
7743
+ "baseContext": "Applies to every agent without a rule set.",
7744
+ "usedByLead": "Used by",
7745
+ "unusedLead": "No agent uses it yet.",
7746
+ "unusedLink": "Give it to an agent on the agent's Connectors page",
7747
+ "editShort": "Edit",
7748
+ "ruleCount": "{count, plural, one {# rule} other {# rules}}",
7749
+ "agentCount": "{count, plural, one {# agent} other {# agents}}",
7750
+ "giveToAgent": "Give to agent",
7751
+ "giveToAgentLabel": "Give {name} to",
7752
+ "giveToAgentGrants": "Also gives access",
7753
+ "giveToAgentReplaces": "Replaces {name}",
7754
+ "givenToAgent": "{agent} now uses {name}",
7755
+ "templateLabel": "Start from",
7756
+ "template_read_only": "Read only",
7757
+ "template_read_only_description": "Blocks every tool that is not a read.",
7758
+ "template_ask_before_writes": "Ask before writes",
7759
+ "template_ask_before_writes_description": "Every tool that is not a read asks a person first.",
7760
+ "template_empty": "Empty",
7761
+ "template_empty_description": "Starts with the base rules. Change tools one by one."
7762
+ },
7763
+ "sessionChangeRequests": {
7764
+ "title": "Change requests",
7765
+ "open": "Open",
7766
+ "jump": "Jump to response for #{number}",
7767
+ "unavailable": "This response is not available in the loaded history.",
7768
+ "loadError": "Could not load the response. Try again."
7769
+ },
7770
+ "spaces": {
7771
+ "memory": {
7772
+ "search": "Search memory",
7773
+ "pagesLabel": "Memory pages",
7774
+ "all": {
7775
+ "title": "All",
7776
+ "explainCompany": "Kortix memory: what agents know about this project. They read it before every reply.",
7777
+ "explainChannel": "Kortix memory: what agents know about {place}. They read it before every reply.",
7778
+ "explainDm": "Kortix memory: what agents know about you and {place}. They read it before every reply."
7779
+ },
7780
+ "allPages": "All pages",
7781
+ "noMatches": "No page matches “{query}”.",
7782
+ "loadError": "Could not load this memory.",
7783
+ "pageLoadError": "Could not load this page.",
7784
+ "retry": "Try again",
7785
+ "close": "Close",
7786
+ "author": {
7787
+ "system": "Kortix",
7788
+ "unknown": "A member",
7789
+ "agent": "An agent"
7790
+ },
7791
+ "edit": "Edit",
7792
+ "delete": "Delete",
7793
+ "deleteTitle": "Delete “{title}”?",
7794
+ "deleteDescription": "This can't be undone.",
7795
+ "deleted": "Page deleted",
7796
+ "deleteFailed": "Could not delete the page. Try again.",
7797
+ "relatedPages": "Related pages",
7798
+ "emptyPage": "Nothing on this page yet.",
7799
+ "history": {
7800
+ "title": "History",
7801
+ "description": "Every change to “{title}”, newest first.",
7802
+ "loadError": "Could not load the history.",
7803
+ "current": "Current",
7804
+ "restore": "Restore this version",
7805
+ "restored": "Version restored",
7806
+ "restoreFailed": "Could not restore this version. Try again.",
7807
+ "op": {
7808
+ "create": "{author} created the page",
7809
+ "update": "{author} edited the page"
7810
+ },
7811
+ "preview": "Preview",
7812
+ "restoreShort": "Restore",
7813
+ "viewing": "Viewing the version from {time}",
7814
+ "backToCurrent": "Back to current",
7815
+ "added": "+{count, plural, one {# line} other {# lines}}",
7816
+ "removed": "−{count, plural, one {# line} other {# lines}}",
7817
+ "viewingBy": "by {author}",
7818
+ "created": "Page created",
7819
+ "edited": "Page edited"
7820
+ },
7821
+ "editor": {
7822
+ "body": "Page",
7823
+ "save": "Save",
7824
+ "cancel": "Cancel",
7825
+ "saved": "Page saved",
7826
+ "conflict": "Someone changed this page. Reload to see it.",
7827
+ "reload": "Reload",
7828
+ "error": {
7829
+ "tooLarge": "This page is over 8 KB. Make it shorter.",
7830
+ "secret": "That looks like a secret. Keep secrets in Secrets.",
7831
+ "readOnly": "This memory is read-only.",
7832
+ "failed": "Could not save the page. Try again."
7833
+ }
7834
+ },
7835
+ "remember": {
7836
+ "label": "Something for {place} to remember",
7837
+ "placeholder": "Tell {place} something to remember…",
7838
+ "hint": "Saved as a note with your name",
7839
+ "send": "Save to memory",
7840
+ "status": {
7841
+ "secret": "That looks like a secret. Keep secrets in Secrets.",
7842
+ "readOnly": "This memory is read-only.",
7843
+ "failed": "Could not save. Try again."
7844
+ },
7845
+ "open": "Remember this…"
7846
+ },
7847
+ "empty": {
7848
+ "title": "No memory in {place} yet",
7849
+ "titleDm": "No memory with {place} yet",
7850
+ "description": "Agents save what they learn here, and read it before every reply.",
7851
+ "titleCompany": "No Company memory yet",
7852
+ "openCompany": "Open Company memory · {count, plural, one {# page} other {# pages}}"
7853
+ },
7854
+ "source": {
7855
+ "thread": "Open the thread “{label}”",
7856
+ "threadGone": "From the thread “{label}”",
7857
+ "outside": "Open {label} in a new tab",
7858
+ "outsideText": "From {label}",
7859
+ "person": "Added by {label}",
7860
+ "import": "Imported from {label}"
7861
+ },
7862
+ "used": {
7863
+ "label": "Used {places} memory · {count, plural, one {# page} other {# pages}}",
7864
+ "title": "Pages this thread started with",
7865
+ "company": "Company",
7866
+ "removed": "Removed"
7867
+ },
7868
+ "searchError": "Could not search this memory.",
7869
+ "searchResults": "Search results",
7870
+ "palette": {
7871
+ "heading": "Memory"
7872
+ },
7873
+ "company": {
7874
+ "subtitle": "What every agent in this project knows.",
7875
+ "gateDescription": "Company memory comes with Channels: every agent in this project starts each thread with what the team saved here.",
7876
+ "title": "Memory",
7877
+ "place": "Company"
7878
+ },
7879
+ "rememberThis": {
7880
+ "label": "Remember this",
7881
+ "saved": "Saved to memory",
7882
+ "saveTo": "Save to",
7883
+ "dm": "Your memory with {agent}"
7884
+ },
7885
+ "updated": "Updated {time} by {author}",
7886
+ "updatedAt": "Updated {time}",
7887
+ "sourceKind": {
7888
+ "thread": "thread",
7889
+ "person": "message",
7890
+ "outside": "link",
7891
+ "import": "file"
7892
+ },
7893
+ "pageCount": "{count, plural, one {# page} other {# pages}}",
7894
+ "companyLink": "Company memory · {count, plural, one {# page} other {# pages}}",
7895
+ "companyLinkHint": "The agent here also uses Company memory.",
7896
+ "group": {
7897
+ "other": "About",
7898
+ "people": "People",
7899
+ "decisions": "Decisions",
7900
+ "workstreams": "Projects",
7901
+ "playbooks": "How we work",
7902
+ "note": "Notes"
7903
+ }
7904
+ },
7905
+ "create": {
7906
+ "title": "Create a channel",
7907
+ "description": "Everyone in this project can see and use the channel.",
7908
+ "nameLabel": "Name",
7909
+ "namePlaceholder": "marketing",
7910
+ "slugPlaceholder": "channel-name",
7911
+ "descriptionLabel": "Description (optional)",
7912
+ "descriptionPlaceholder": "What this channel is for",
7913
+ "submit": "Create channel",
7914
+ "created": "Channel created",
7915
+ "nameRequired": "Add a name.",
7916
+ "invalidName": "Use at least one letter or number in the name.",
7917
+ "slugTaken": "<link>#{slug}</link> already exists.",
7918
+ "failed": "Could not create the channel. Try again.",
7919
+ "renameTitle": "Rename channel",
7920
+ "renameDescription": "The channel's link changes with its name.",
7921
+ "save": "Save",
7922
+ "renamed": "Channel renamed",
7923
+ "renameFailed": "Could not rename the channel. Try again.",
7924
+ "descriptionPrivate": "Only the people you add can see and use the channel.",
7925
+ "privateLabel": "Private",
7926
+ "privateHint": "Only invited members can see it.",
7927
+ "privateUnavailable": "Private channels are not available in this workspace yet.",
7928
+ "privateLimits": "Private hides the channel from other people. Code changes (git branches) and the agents’ own tools aren’t private."
7929
+ },
7930
+ "view": {
7931
+ "welcomeTitle": "Welcome to #{name}",
7932
+ "welcomeEmpty": "Start the first thread in #{name}. Every message starts a new thread.",
7933
+ "welcomeStart": "This is the start of #{name}.",
7934
+ "dmIntro": "This conversation is just between you and {agent}.",
7935
+ "today": "Today",
7936
+ "yesterday": "Yesterday",
7937
+ "openThread": "Open thread",
7938
+ "replyInThread": "Reply in thread",
7939
+ "lastReply": "Last reply {time}",
7940
+ "working": "{agent} is working…",
7941
+ "agentFallback": "Agent",
7942
+ "authorFallback": "Someone",
7943
+ "loadEarlier": "Load earlier threads",
7944
+ "messageChannel": "Message #{name}",
7945
+ "messageAgent": "Message {agent}",
7946
+ "threadsEmptyTitle": "No threads yet",
7947
+ "threadsEmpty": "Threads you start will show up here.",
7948
+ "loadError": "Could not load this channel.",
7949
+ "threadsLoadError": "Could not load the threads.",
7950
+ "retry": "Try again",
7951
+ "notFound": "This channel doesn't exist.",
7952
+ "notFoundHint": "The link may be wrong, or someone renamed the channel.",
7953
+ "openDefault": "Open #{name}",
7954
+ "archivedTitle": "#{name} is archived.",
7955
+ "archivedHint": "Unarchive it to read and start threads here again.",
7956
+ "archivedLocked": "Only its creator or a project manager can unarchive it.",
7957
+ "unarchive": "Unarchive channel",
7958
+ "unarchived": "Channel unarchived",
7959
+ "unarchiveFailed": "Could not unarchive the channel. Try again.",
7960
+ "dmFailed": "Could not open this conversation.",
7961
+ "archive": "Archive channel",
7962
+ "archiveTitle": "Archive #{name}?",
7963
+ "archiveDescription": "The channel leaves the sidebar for every member. Its threads stay, and its creator or a project manager can unarchive it.",
7964
+ "archived": "Channel archived",
7965
+ "archiveFailed": "Could not archive the channel. Try again.",
7966
+ "threadTitle": "Thread",
7967
+ "closeThread": "Close thread",
7968
+ "sendFailed": "Could not start the thread. Try again.",
7969
+ "replies": "{count, plural, one {# reply} other {# replies}}",
7970
+ "replyPlaceholder": "Reply…",
7971
+ "tab": {
7972
+ "chat": "Chat",
7973
+ "threads": "Threads",
7974
+ "files": "Files",
7975
+ "memory": "Memory",
7976
+ "apps": "Apps",
7977
+ "links": "Links",
7978
+ "triggers": "Triggers"
7979
+ },
7980
+ "empty": {
7981
+ "files": {
7982
+ "title": "No files yet",
7983
+ "description": "Files shared in {place} show up here.",
7984
+ "action": "Upload a file"
7985
+ },
7986
+ "memory": {
7987
+ "title": "No memory yet",
7988
+ "description": "What the agents remember for {place} shows up here.",
7989
+ "action": "Add memory"
7990
+ },
7991
+ "apps": {
7992
+ "title": "No apps yet",
7993
+ "description": "Apps built in {place} show up here."
7994
+ },
7995
+ "links": {
7996
+ "title": "No links yet",
7997
+ "description": "Links people share in {place} threads show up here. Pin one to give it to every agent in the channel."
7998
+ },
7999
+ "triggers": {
8000
+ "title": "No triggers yet",
8001
+ "description": "Triggers start a thread in {place} on a schedule or an event.",
8002
+ "action": "New trigger"
8003
+ }
8004
+ },
8005
+ "channelDetails": "#{name} details",
8006
+ "roster": "{people} · {agents}",
8007
+ "rosterPeople": "{count, plural, one {# person} other {# people}}",
8008
+ "rosterAgents": "{count, plural, one {# agent} other {# agents}}",
8009
+ "copyLink": "Copy link to thread",
8010
+ "linkCopied": "Link copied",
8011
+ "notice": {
8012
+ "unreachable": "Lost contact with this thread's computer. Messages you send are queued until it reconnects.",
8013
+ "unreachableMidTurn": "Lost contact with this thread's computer while a turn is still open. Messages you send stay queued until it answers.",
8014
+ "stalled": "Waking this thread's computer is taking longer than usual. Messages you send are queued.",
8015
+ "starting": "Starting this thread's computer. Your message sends automatically.",
8016
+ "idle": "This thread's computer is asleep. Your next message wakes it up and is delivered.",
8017
+ "waking": "Waking this thread's computer. Messages you send are queued and go out automatically."
8018
+ },
8019
+ "boot": {
8020
+ "restart": "Restart thread"
8021
+ },
8022
+ "links": {
8023
+ "add": "Add link",
8024
+ "addDescription": "Add a link to {place}.",
8025
+ "urlLabel": "URL",
8026
+ "titleLabel": "Title (optional)",
8027
+ "titlePlaceholder": "What it is",
8028
+ "invalidUrl": "Enter a valid link, like example.com.",
8029
+ "addFailed": "Could not add the link. Try again.",
8030
+ "limit": "This channel already pins 200 links. Unpin one first.",
8031
+ "addLimit": "This channel already holds 200 added links. Remove one first.",
8032
+ "added": "Added",
8033
+ "remove": "Remove link",
8034
+ "removeTitle": "Remove this link?",
8035
+ "removeDescription": "{link} is removed from {place} for everyone.",
8036
+ "removed": "Link removed",
8037
+ "removeFailed": "Could not remove the link. Try again.",
8038
+ "loadError": "Could not load the links.",
8039
+ "pinnedLabel": "Pinned",
8040
+ "pin": "Pin",
8041
+ "unpin": "Unpin",
8042
+ "pinnedToast": "Link pinned",
8043
+ "unpinnedToast": "Link unpinned",
8044
+ "pinFailed": "Could not pin the link. Try again.",
8045
+ "unpinFailed": "Could not unpin the link. Try again.",
8046
+ "search": "Search links",
8047
+ "show": "Show",
8048
+ "all": "All",
8049
+ "sharedBy": "Shared by",
8050
+ "earlier": "Earlier",
8051
+ "pinHint": "Pin it. Every agent in the channel reads pinned links.",
8052
+ "unpinHint": "Unpin it. Agents stop reading it.",
8053
+ "copyLink": "Copy link",
8054
+ "linkCopied": "Link copied",
8055
+ "openThread": "Open thread",
8056
+ "noMatch": "No links match"
8057
+ },
8058
+ "appsLoadError": "Could not load the apps.",
8059
+ "triggers": {
8060
+ "loadError": "Could not load the triggers.",
8061
+ "privateNote": "Triggers can't post into a private channel. Set a reminder in a thread instead."
8062
+ },
8063
+ "reply": "Reply",
8064
+ "rosterTitlePeople": "People",
8065
+ "rosterTitleAgents": "Agents",
8066
+ "viewAllMembers": "View all members",
8067
+ "agentThreads": "{count, plural, one {# thread} other {# threads}}",
8068
+ "threadFilter": {
8069
+ "search": "Search threads",
8070
+ "filter": "Filter",
8071
+ "clear": "Clear",
8072
+ "clearFilters": "Clear filters",
8073
+ "noMatch": "No threads match",
8074
+ "noMatchHint": "Try another search, or clear the filters.",
8075
+ "remove": "Remove filter {facet}: {value}",
8076
+ "status": "Status",
8077
+ "startedBy": "Started by",
8078
+ "agent": "Agent",
8079
+ "activity": "Activity",
8080
+ "any": "Any",
8081
+ "anyone": "Anyone",
8082
+ "me": "Me",
8083
+ "anyAgent": "Any agent",
8084
+ "anyTime": "Any time",
8085
+ "statusValue": {
8086
+ "working": "Working",
8087
+ "needsYou": "Needs you",
8088
+ "failed": "Failed",
8089
+ "done": "Done"
8090
+ },
8091
+ "activityValue": {
8092
+ "today": "Today",
8093
+ "last7": "Last 7 days",
8094
+ "last30": "Last 30 days"
8095
+ }
8096
+ },
8097
+ "setup": {
8098
+ "label": "Set up {name}",
8099
+ "addAgents": "Add agents",
8100
+ "addAgentsHint": "Pick who answers here",
8101
+ "invite": "Invite members",
8102
+ "inviteHint": "Bring your team in",
8103
+ "remember": "Remember something",
8104
+ "rememberHint": "Notes every agent reads"
8105
+ },
8106
+ "allAgents": "All agents",
8107
+ "join": "Join channel",
8108
+ "joined": "You joined #{name}.",
8109
+ "joinFailed": "Could not join the channel. Try again."
8110
+ },
8111
+ "details": {
8112
+ "about": "About",
8113
+ "members": "Members",
8114
+ "name": "Channel name",
8115
+ "description": "Description",
8116
+ "noDescription": "Add a description",
8117
+ "created": "Created",
8118
+ "editField": "Edit {field}",
8119
+ "archiveTitle": "Archive this channel",
8120
+ "archiveHint": "It leaves the sidebar for every member. Its threads stay.",
8121
+ "archive": "Archive",
8122
+ "find": "Find people or agents",
8123
+ "search": "Search",
8124
+ "you": "(you)",
8125
+ "noMatches": "No one matches “{query}”.",
8126
+ "defaultAgent": "Default agent",
8127
+ "defaultAgentHint": "Answers a message that names no agent. Set for the whole project in Customize › Agents.",
8128
+ "visibility": "Who can see it",
8129
+ "visibilityProject": "Everyone in the project",
8130
+ "defaultTag": "Default",
8131
+ "agentTag": "Agent",
8132
+ "makeDefault": "Make default",
8133
+ "removeAgent": "Remove from #{name}",
8134
+ "agentMenu": "{agent} options",
8135
+ "agentsFailed": "Could not update the agents. Try again.",
8136
+ "defaultSet": "{agent} is the default in #{name}.",
8137
+ "agentRemoved": "{agent} removed from #{name}.",
8138
+ "channelDefaultHint": "Answers a message that names no agent. Change it in Members.",
8139
+ "personRemoved": "{person} removed from #{name}.",
8140
+ "peopleFailed": "Could not update the members. Try again.",
8141
+ "personMenu": "{person} options",
8142
+ "removePerson": "Remove from #{name}",
8143
+ "leave": "Leave channel",
8144
+ "left": "You left #{name}.",
8145
+ "leaveTitle": "Leave this channel",
8146
+ "leaveHint": "You can still read it, and join again at any time.",
8147
+ "visibilityPrivate": "Only its members",
8148
+ "privateNote": "Only members can see #{name}.",
8149
+ "makePrivate": "Make private",
8150
+ "makePrivateTitle": "Make #{name} private?",
8151
+ "makePrivateWho": "Only members will see #{name}: its threads, files, memory and links. Everyone who started a thread or added a link becomes a member.",
8152
+ "makePrivateLeave": "Everyone else loses access. A member who leaves later loses access too, to their own threads as well.",
8153
+ "makePrivateFinal": "You cannot make it public again. Files copied out of it stay where they are.",
8154
+ "makePrivateTriggers": "{count, plural, one {# trigger posts here. It stops running.} other {# triggers post here. They stop running.}}",
8155
+ "madePrivate": "#{name} is now private",
8156
+ "leaveHintPrivate": "You lose access to its threads, files and memory, your own threads included. A member must add you again.",
8157
+ "leavePrivateTitle": "Leave #{name}?",
8158
+ "addMembers": "Add members",
8159
+ "privateLimits": "Private hides the channel from other people. Code changes (git branches) and the agents’ own tools aren’t private."
8160
+ },
8161
+ "onboarding": {
8162
+ "reenabled": "Sessions started while Channels was off are here.",
8163
+ "intro": {
8164
+ "title": "Welcome to Channels",
8165
+ "channels": "Channels group work by team.",
8166
+ "threads": "Every new message starts a thread.",
8167
+ "memory": "Agents remember what each channel agrees on.",
8168
+ "gotIt": "Got it"
8169
+ },
8170
+ "getStarted": {
8171
+ "dismiss": "Dismiss",
8172
+ "channel": "Create a channel for a team",
8173
+ "done": "Done"
8174
+ }
8175
+ },
8176
+ "addMembers": {
8177
+ "title": "Add members to #{name}",
8178
+ "description": "Pick people and agents from the project.",
8179
+ "search": "Search people and agents",
8180
+ "selected": "Selected members",
8181
+ "people": "People",
8182
+ "agents": "Agents",
8183
+ "unpick": "Remove {member}",
8184
+ "cancel": "Cancel",
8185
+ "inviteByEmail": "Invite by email",
8186
+ "confirmEmpty": "Add members",
8187
+ "confirm": "Add {what}",
8188
+ "peopleCount": "{count, plural, one {# person} other {# people}}",
8189
+ "agentsCount": "{count, plural, one {# agent} other {# agents}}",
8190
+ "both": "{people} and {agents}",
8191
+ "added": "Added {what} to #{name}.",
8192
+ "failed": "Could not add the members. Try again.",
8193
+ "peopleFailed": "Could not add the people. Try again.",
8194
+ "agentsFailed": "Could not add the agents. Try again.",
8195
+ "peopleFailedAgentsAdded": "Added {what} to #{name}. Could not add the people: they are still selected.",
8196
+ "agentsFailedPeopleAdded": "Added {what} to #{name}. Could not add the agents: they are still selected.",
8197
+ "allAdded": "Everyone in the project is already here.",
8198
+ "noMatches": "Nothing matches “{query}”."
8199
+ },
8200
+ "privateNotIn": {
8201
+ "row": "Private channels you are not in",
8202
+ "title": "Private channels you are not in",
8203
+ "description": "You can rename, archive and add people. Only members read what is in a channel, so you cannot add yourself.",
8204
+ "meta": "{count, plural, =0 {No members} one {# member} other {# members}} · created by {name}",
8205
+ "metaNoCreator": "{count, plural, =0 {No members} one {# member} other {# members}}",
8206
+ "archived": "Archived",
8207
+ "menu": "Options for #{name}",
8208
+ "addPeople": "Add people",
8209
+ "rename": "Rename",
8210
+ "archive": "Archive",
8211
+ "unarchive": "Unarchive",
8212
+ "archivedToast": "#{name} archived",
8213
+ "unarchivedToast": "#{name} unarchived",
8214
+ "failed": "Could not update #{name}. Try again."
8215
+ }
8216
+ },
8217
+ "imageGen": {
8218
+ "generating": "Generating image",
8219
+ "editing": "Editing image",
8220
+ "generatingCount": "Generating {count, plural, one {# image} other {# images}}",
8221
+ "editingCount": "Editing {count, plural, one {# image} other {# images}}",
8222
+ "openFullScreen": "Open full screen",
8223
+ "openFullScreenPrompt": "Open full screen: {prompt}",
8224
+ "loading": "Loading image",
8225
+ "stopped": "Stopped",
8226
+ "failed": "The image was not generated.",
8227
+ "retry": "Try again {when}.",
8228
+ "unavailable": "Image unavailable",
8229
+ "tryAgain": "Try again",
8230
+ "details": "Image details"
8231
+ },
8232
+ "appsModal": {
8233
+ "title": "Apps and extensions",
8234
+ "subtitle": "Use Kortix in your browser, on your computer and from your tools.",
8235
+ "mock": {
8236
+ "group": "Kortix · Return my order",
8237
+ "button": "Start return",
8238
+ "working": "Kortix is working",
8239
+ "takeOver": "Take over",
8240
+ "stop": "Stop"
8241
+ },
8242
+ "chrome": {
8243
+ "name": "Kortix in Chrome",
8244
+ "description": "Kortix opens pages, clicks and fills forms in your own browser, with your logins. You see every step.",
8245
+ "connect": "Connect",
8246
+ "connecting": "Connecting…",
8247
+ "manage": "Manage",
8248
+ "unsupported": "Open Kortix in Chrome, Edge, Brave or Arc to add it. Copy the link to open it there.",
8249
+ "group": "Browser",
8250
+ "manageLabel": "Manage Kortix in Chrome",
8251
+ "summary": "{count, plural, one {# browser} other {# browsers}} · {online} online"
8252
+ },
8253
+ "computer": {
8254
+ "title": "Your computer",
8255
+ "thisComputer": "This computer",
8256
+ "thisComputerDescription": "Let sessions use your files and terminal.",
8257
+ "connected": "Connected",
8258
+ "connect": "Connect",
8259
+ "manage": "Manage",
8260
+ "desktop": "Desktop app",
8261
+ "desktopDescription": "Kortix as an app on your computer.",
8262
+ "desktopRunning": "You are using it.",
8263
+ "download": "Download",
8264
+ "manageLabel": "Manage this computer",
8265
+ "connectLabel": "Connect this computer"
8266
+ },
8267
+ "developers": {
8268
+ "title": "Developers",
8269
+ "cli": "Terminal (CLI)",
8270
+ "cliDescription": "macOS and Linux, WSL on Windows",
8271
+ "copy": "Copy command",
8272
+ "copied": "Copied",
8273
+ "mcp": "MCP",
8274
+ "mcpDescription": "Use Kortix from Claude, Cursor or Codex.",
8275
+ "connect": "Connect",
8276
+ "connectLabel": "Connect MCP",
8277
+ "copyFailed": "Could not copy the command. Try again."
8278
+ }
7302
8279
  }
7303
8280
  };
7304
8281
  export default catalog;