@kortix/ui 0.14.12 → 0.14.14

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 (438) hide show
  1. package/README.md +1 -1
  2. package/dist/_vendor/kortix-shared.js +521 -7045
  3. package/dist/_vendor/shared/app-config.d.ts +8 -0
  4. package/dist/_vendor/shared/artifact-annotations.d.ts +708 -0
  5. package/dist/_vendor/shared/artifact-comments.d.ts +327 -0
  6. package/dist/_vendor/shared/index.d.ts +3 -1
  7. package/dist/_vendor/shared/my-kortix-agent.d.ts +40 -0
  8. package/dist/_vendor/shared/peer-message-prompt.d.ts +35 -0
  9. package/dist/_vendor/shared/pixel-mark.d.ts +11 -0
  10. package/dist/_vendor/shared/prompt-attachments.d.ts +1 -0
  11. package/dist/_vendor/shared/reminder-prompt.d.ts +8 -2
  12. package/dist/_vendor/shared/runtime-versions.d.ts +8 -0
  13. package/dist/artifacts/artifact-frame.d.ts +1 -0
  14. package/dist/artifacts/artifact-frame.js +18 -5
  15. package/dist/artifacts/frame-policy.d.ts +1 -1
  16. package/dist/artifacts/frame-policy.js +10 -5
  17. package/dist/customize/agents/agent-access-text.d.ts +16 -0
  18. package/dist/customize/agents/agent-access-text.js +54 -0
  19. package/dist/customize/agents/agent-approval-rules.d.ts +8 -0
  20. package/dist/customize/agents/agent-approval-rules.js +26 -0
  21. package/dist/customize/agents/agent-authority-card.js +4 -1
  22. package/dist/customize/agents/agent-cover-card.d.ts +4 -1
  23. package/dist/customize/agents/agent-cover-card.js +2 -2
  24. package/dist/customize/agents/agent-detail-aside.d.ts +1 -2
  25. package/dist/customize/agents/agent-detail-aside.js +8 -11
  26. package/dist/customize/agents/agent-drives-section.d.ts +23 -7
  27. package/dist/customize/agents/agent-drives-section.js +107 -41
  28. package/dist/customize/agents/agent-instructions.d.ts +11 -0
  29. package/dist/customize/agents/agent-instructions.js +114 -0
  30. package/dist/customize/agents/agent-model-view.d.ts +17 -0
  31. package/dist/customize/agents/agent-model-view.js +67 -0
  32. package/dist/customize/agents/agent-overview.d.ts +53 -0
  33. package/dist/customize/agents/agent-overview.js +242 -0
  34. package/dist/customize/agents/agent-page-chrome.d.ts +128 -0
  35. package/dist/customize/agents/agent-page-chrome.js +145 -0
  36. package/dist/customize/agents/agent-page.d.ts +13 -1
  37. package/dist/customize/agents/agent-page.js +478 -367
  38. package/dist/customize/agents/agent-pin-button.d.ts +10 -0
  39. package/dist/customize/agents/agent-pin-button.js +20 -0
  40. package/dist/customize/agents/agent-policy-sets-section.d.ts +16 -0
  41. package/dist/customize/agents/agent-policy-sets-section.js +80 -0
  42. package/dist/customize/agents/agent-policy-sets.js +1 -1
  43. package/dist/customize/agents/agent-section-rail.d.ts +21 -0
  44. package/dist/customize/agents/agent-section-rail.js +23 -0
  45. package/dist/customize/agents/agent-share-control.d.ts +4 -3
  46. package/dist/customize/agents/agent-share-control.js +15 -16
  47. package/dist/customize/agents/{agent-people-section.d.ts → agent-share-dialog.d.ts} +3 -1
  48. package/dist/customize/agents/{agent-people-section.js → agent-share-dialog.js} +21 -21
  49. package/dist/customize/agents/agent-tabs.d.ts +95 -0
  50. package/dist/customize/agents/agent-tabs.js +199 -0
  51. package/dist/customize/agents/agents-page.d.ts +0 -21
  52. package/dist/customize/agents/agents-page.js +104 -118
  53. package/dist/customize/agents/connectors-required.d.ts +16 -0
  54. package/dist/customize/agents/connectors-required.js +19 -0
  55. package/dist/customize/agents/create-agent-modal.d.ts +19 -0
  56. package/dist/customize/agents/create-agent-modal.js +94 -0
  57. package/dist/customize/connectors/agent-access.d.ts +4 -4
  58. package/dist/customize/connectors/agent-access.js +7 -10
  59. package/dist/customize/connectors/connector-identity.d.ts +12 -0
  60. package/dist/customize/connectors/connector-identity.js +15 -2
  61. package/dist/customize/connectors/connector-routes.js +2 -2
  62. package/dist/customize/connectors/connectors-page.d.ts +14 -1
  63. package/dist/customize/connectors/connectors-page.js +101 -32
  64. package/dist/customize/connectors/detail/app-page.js +1 -1
  65. package/dist/customize/connectors/detail/connector-agents.js +0 -3
  66. package/dist/customize/connectors/detail/connector-page.d.ts +1 -1
  67. package/dist/customize/connectors/detail/connector-page.js +5 -2
  68. package/dist/customize/connectors/detail/connector-policy-sets.js +1 -1
  69. package/dist/customize/connectors/detail/connector-triggers.js +2 -2
  70. package/dist/customize/connectors/use-agent-access.d.ts +7 -5
  71. package/dist/customize/connectors/use-agent-access.js +2 -6
  72. package/dist/customize/models/models-page.d.ts +7 -1
  73. package/dist/customize/models/models-page.js +2 -2
  74. package/dist/customize/project-settings/project-admin-sections.d.ts +63 -0
  75. package/dist/customize/project-settings/project-admin-sections.js +80 -0
  76. package/dist/customize/project-settings/project-settings-page.d.ts +1 -1
  77. package/dist/customize/project-settings/project-settings-page.js +4 -13
  78. package/dist/customize/project-settings/project-settings-sections.d.ts +5 -5
  79. package/dist/customize/project-settings/project-settings-sections.js +6 -20
  80. package/dist/customize/providers/provider-accordion.js +29 -17
  81. package/dist/customize/providers/provider-connect.js +1 -1
  82. package/dist/customize/providers/provider-sheet.d.ts +4 -1
  83. package/dist/customize/providers/provider-sheet.js +15 -5
  84. package/dist/customize/secrets/secrets-page.d.ts +5 -1
  85. package/dist/customize/secrets/secrets-page.js +2 -2
  86. package/dist/customize/sections/gateway-view.d.ts +10 -2
  87. package/dist/customize/sections/gateway-view.js +16 -4
  88. package/dist/customize/sections/llm-provider/chatgpt-subscription-connect.d.ts +12 -5
  89. package/dist/customize/sections/llm-provider/chatgpt-subscription-connect.js +131 -8
  90. package/dist/customize/sections/llm-provider/claude-code-step.d.ts +10 -0
  91. package/dist/customize/sections/llm-provider/claude-code-step.js +32 -0
  92. package/dist/customize/sections/llm-provider/models-tab.js +5 -1
  93. package/dist/customize/sections/view/account-secret-resources-panel.d.ts +5 -3
  94. package/dist/customize/sections/view/account-secret-resources-panel.js +122 -19
  95. package/dist/customize/sections/view/agent-editor-access-fields.d.ts +1 -1
  96. package/dist/customize/sections/view/agent-editor-access-fields.js +8 -4
  97. package/dist/customize/sections/view/agent-editor-basics-fields.d.ts +4 -1
  98. package/dist/customize/sections/view/agent-editor-basics-fields.js +33 -4
  99. package/dist/customize/sections/view/agent-editor-catalog.d.ts +2 -2
  100. package/dist/customize/sections/view/agent-editor-catalog.js +10 -12
  101. package/dist/customize/sections/view/agent-editor-primitives.d.ts +1 -1
  102. package/dist/customize/sections/view/agent-editor-primitives.js +4 -4
  103. package/dist/customize/sections/view/agent-editor.d.ts +37 -26
  104. package/dist/customize/sections/view/agent-editor.js +19 -19
  105. package/dist/customize/sections/view/grant-mode-field.d.ts +8 -20
  106. package/dist/customize/sections/view/grant-mode-field.js +31 -57
  107. package/dist/customize/sections/view/permission-editor.d.ts +3 -1
  108. package/dist/customize/sections/view/permission-editor.js +19 -10
  109. package/dist/customize/sections/view/review-view.d.ts +8 -0
  110. package/dist/customize/sections/view/review-view.js +12 -1
  111. package/dist/customize/sections/view/secret-delivery.js +1 -4
  112. package/dist/customize/sections/view/secrets-view.d.ts +7 -1
  113. package/dist/customize/sections/view/secrets-view.js +42 -6
  114. package/dist/customize/settings/rail.js +2 -8
  115. package/dist/customize/settings/settings-tabs.d.ts +2 -2
  116. package/dist/customize/settings/settings-tabs.js +17 -19
  117. package/dist/customize/settings/tabs/experimental-tab.d.ts +3 -0
  118. package/dist/customize/settings/tabs/experimental-tab.js +6 -1
  119. package/dist/customize/settings/tabs/sandbox-tab.d.ts +4 -6
  120. package/dist/customize/settings/tabs/sandbox-tab.js +9 -9
  121. package/dist/customize/shared/access-list.d.ts +39 -0
  122. package/dist/customize/shared/access-list.js +62 -0
  123. package/dist/customize/shared/agent-resource-scope.d.ts +87 -0
  124. package/dist/customize/shared/agent-resource-scope.js +123 -0
  125. package/dist/customize/shared/capability-library.d.ts +41 -0
  126. package/dist/customize/shared/capability-library.js +271 -0
  127. package/dist/customize/shared/capability-page-shell.d.ts +18 -1
  128. package/dist/customize/shared/capability-page-shell.js +21 -1
  129. package/dist/customize/shared/catalog/catalog-space-tabs.d.ts +14 -0
  130. package/dist/customize/shared/catalog/catalog-space-tabs.js +20 -0
  131. package/dist/customize/shared/customize-tab-bar.d.ts +13 -0
  132. package/dist/customize/shared/customize-tab-bar.js +95 -0
  133. package/dist/customize/shared/entity/entity-modal.d.ts +17 -1
  134. package/dist/customize/shared/entity/entity-modal.js +10 -9
  135. package/dist/customize/shared/leave-guard.d.ts +23 -0
  136. package/dist/customize/shared/leave-guard.js +87 -0
  137. package/dist/customize/shared/standalone-settings-nav.js +4 -1
  138. package/dist/customize/shared/tool-rules.d.ts +11 -0
  139. package/dist/customize/shared/tool-rules.js +29 -0
  140. package/dist/customize/skills/builtin-skill-modal.d.ts +6 -0
  141. package/dist/customize/skills/builtin-skill-modal.js +41 -0
  142. package/dist/customize/skills/skills-page.d.ts +21 -18
  143. package/dist/customize/skills/skills-page.js +16 -110
  144. package/dist/customize/triggers/runtime-triggers.d.ts +17 -0
  145. package/dist/customize/triggers/runtime-triggers.js +57 -0
  146. package/dist/customize/triggers/schedule/event-trigger-copy.js +2 -2
  147. package/dist/customize/triggers/schedule/post-to-field.js +2 -2
  148. package/dist/customize/triggers/schedule/schedule-copy.d.ts +11 -6
  149. package/dist/customize/triggers/schedule/schedule-copy.js +29 -8
  150. package/dist/customize/triggers/schedule/schedule-detail-sheet.js +7 -3
  151. package/dist/customize/triggers/schedule/trigger-composer-logic.d.ts +26 -1
  152. package/dist/customize/triggers/schedule/trigger-composer-logic.js +64 -3
  153. package/dist/customize/triggers/schedule/trigger-composer.js +57 -20
  154. package/dist/customize/triggers/schedule/trigger-edit-logic.js +18 -5
  155. package/dist/customize/triggers/schedule/trigger-filter.d.ts +10 -0
  156. package/dist/customize/triggers/schedule/trigger-filter.js +16 -0
  157. package/dist/customize/triggers/schedule/trigger-runs-panel.js +1 -0
  158. package/dist/customize/triggers/schedule/trigger-toast.js +2 -1
  159. package/dist/customize/triggers/schedule/use-trigger-mutations.d.ts +1 -1
  160. package/dist/customize/triggers/schedule/use-trigger-mutations.js +1 -1
  161. package/dist/customize/triggers/schedule/when-app.d.ts +15 -0
  162. package/dist/customize/triggers/schedule/when-app.js +21 -0
  163. package/dist/customize/triggers/schedule/when-change-request.d.ts +10 -0
  164. package/dist/customize/triggers/schedule/when-change-request.js +15 -0
  165. package/dist/customize/triggers/schedule-view.d.ts +17 -3
  166. package/dist/customize/triggers/schedule-view.js +46 -16
  167. package/dist/customize/triggers/triggers-page.d.ts +3 -3
  168. package/dist/customize/triggers/triggers-page.js +2 -2
  169. package/dist/customize/use-configure-thread.d.ts +8 -2
  170. package/dist/customize/use-configure-thread.js +30 -18
  171. package/dist/files/project/components/change-request-detail-dialog.js +2 -3
  172. package/dist/files/project/components/drive-explorer.js +6 -5
  173. package/dist/files/project/explorer-source.d.ts +3 -0
  174. package/dist/files/project/upload-batch.d.ts +3 -3
  175. package/dist/files/project/upload-batch.js +7 -6
  176. package/dist/files/runtime/sandbox-explorer-source.js +3 -3
  177. package/dist/i18n/en.d.ts +1330 -53
  178. package/dist/i18n/en.js +1422 -145
  179. package/dist/i18n/ui-catalog/remaining-ui-translation-keys.generated.js +16 -7
  180. package/dist/internal/auth/auth-primitives.d.ts +1 -3
  181. package/dist/internal/auth/auth-primitives.js +2 -2
  182. package/dist/internal/billing/session-cost-format.d.ts +1 -0
  183. package/dist/internal/billing/session-cost-format.js +11 -0
  184. package/dist/internal/components/agent-mark.d.ts +12 -1
  185. package/dist/internal/components/agent-mark.js +34 -11
  186. package/dist/internal/components/nav-rail.d.ts +22 -0
  187. package/dist/internal/components/nav-rail.js +16 -0
  188. package/dist/internal/components/repository-disconnected.js +2 -2
  189. package/dist/internal/goals/goal-meta.d.ts +15 -1
  190. package/dist/internal/goals/goal-meta.js +42 -2
  191. package/dist/internal/hooks/projects/use-agent-config.d.ts +11 -7
  192. package/dist/internal/hooks/projects/use-agent-config.js +28 -11
  193. package/dist/internal/hooks/use-slash-focus.d.ts +7 -1
  194. package/dist/internal/hooks/use-slash-focus.js +9 -3
  195. package/dist/internal/layout/project-capability-nav.d.ts +24 -0
  196. package/dist/internal/layout/project-capability-nav.js +86 -0
  197. package/dist/internal/layout/project-page-header.d.ts +1 -1
  198. package/dist/internal/layout/project-page-header.js +1 -1
  199. package/dist/internal/layout/project-settings-nav.d.ts +3 -2
  200. package/dist/internal/layout/project-settings-nav.js +5 -3
  201. package/dist/internal/lib/browser-noise/rules/old-browsers.js +1 -1
  202. package/dist/internal/lib/capability-tab-routes.d.ts +34 -3
  203. package/dist/internal/lib/capability-tab-routes.js +76 -8
  204. package/dist/internal/lib/manifest-health.d.ts +10 -0
  205. package/dist/internal/lib/manifest-health.js +20 -0
  206. package/dist/internal/lib/pixel-mark.d.ts +4 -1
  207. package/dist/internal/lib/pixel-mark.js +33 -6
  208. package/dist/internal/lib/project-actions.d.ts +1 -1
  209. package/dist/internal/lib/project-actions.js +0 -4
  210. package/dist/internal/lib/provider-branding.js +2 -0
  211. package/dist/internal/lib/space-scope.d.ts +29 -0
  212. package/dist/internal/lib/space-scope.js +28 -0
  213. package/dist/internal/lib/use-project-feature-flags.js +3 -3
  214. package/dist/internal/lib/web-notifications.d.ts +74 -8
  215. package/dist/internal/lib/web-notifications.js +243 -117
  216. package/dist/internal/notifications/notification-rows.d.ts +14 -7
  217. package/dist/internal/notifications/notification-rows.js +21 -14
  218. package/dist/internal/notifications/session-toast-cards.d.ts +2 -2
  219. package/dist/internal/reminders/reminder-format.d.ts +6 -2
  220. package/dist/internal/reminders/reminder-format.js +7 -1
  221. package/dist/internal/stores/active-space-store.d.ts +35 -0
  222. package/dist/internal/stores/active-space-store.js +29 -0
  223. package/dist/internal/stores/kortix-computer-store.js +13 -4
  224. package/dist/internal/stores/pinned-agents-store.d.ts +26 -0
  225. package/dist/internal/stores/pinned-agents-store.js +20 -0
  226. package/dist/internal/stores/session-panel-memory-store.js +3 -0
  227. package/dist/internal/stores/turn-attention-store.d.ts +5 -4
  228. package/dist/lib/routes.d.ts +16 -1
  229. package/dist/lib/routes.js +15 -3
  230. package/dist/markdown/doc-editor/doc-embed.d.ts +31 -0
  231. package/dist/markdown/doc-editor/doc-embed.js +168 -0
  232. package/dist/markdown/doc-editor/doc-extensions.d.ts +26 -0
  233. package/dist/markdown/doc-editor/doc-extensions.js +149 -0
  234. package/dist/markdown/doc-editor/doc-menus.d.ts +9 -0
  235. package/dist/markdown/doc-editor/doc-menus.js +56 -0
  236. package/dist/markdown/doc-editor/markdown.d.ts +12 -0
  237. package/dist/markdown/doc-editor/markdown.js +140 -0
  238. package/dist/markdown/genui/components/inline.d.ts +1 -1
  239. package/dist/primitives/badge.d.ts +1 -1
  240. package/dist/primitives/button.d.ts +1 -1
  241. package/dist/primitives/pixel-kortix-mark.d.ts +5 -4
  242. package/dist/primitives/pixel-kortix-mark.js +5 -15
  243. package/dist/primitives/tag.d.ts +1 -1
  244. package/dist/primitives/textarea.js +14 -0
  245. package/dist/primitives/toast.d.ts +2 -0
  246. package/dist/primitives/toast.js +4 -2
  247. package/dist/providers/ui-provider.d.ts +16 -0
  248. package/dist/session/actions/session-label.d.ts +1 -1
  249. package/dist/session/actions/session-label.js +3 -3
  250. package/dist/session/agents/agent-model.d.ts +92 -0
  251. package/dist/session/agents/agent-model.js +123 -0
  252. package/dist/session/agents/agent-state-mark.d.ts +10 -0
  253. package/dist/session/agents/agent-state-mark.js +22 -0
  254. package/dist/session/agents/agent-strip.d.ts +58 -0
  255. package/dist/session/agents/agent-strip.js +259 -0
  256. package/dist/session/agents/held-messages.d.ts +33 -0
  257. package/dist/session/agents/held-messages.js +50 -0
  258. package/dist/session/agents/legacy-subagent-chat.d.ts +11 -0
  259. package/dist/session/agents/legacy-subagent-chat.js +19 -0
  260. package/dist/session/agents/session-peek.d.ts +20 -0
  261. package/dist/session/agents/session-peek.js +67 -0
  262. package/dist/session/agents/session-prompt.d.ts +13 -0
  263. package/dist/session/agents/session-prompt.js +18 -0
  264. package/dist/session/agents/steer-session.d.ts +13 -0
  265. package/dist/session/agents/steer-session.js +29 -0
  266. package/dist/session/agents/subagent-dialog-content.d.ts +11 -0
  267. package/dist/session/agents/subagent-dialog-content.js +115 -0
  268. package/dist/session/agents/subagent-view.d.ts +8 -0
  269. package/dist/session/agents/subagent-view.js +18 -0
  270. package/dist/session/agents/tasks-panel.d.ts +13 -0
  271. package/dist/session/agents/tasks-panel.js +41 -0
  272. package/dist/session/agents/workflow-run-controls.d.ts +43 -0
  273. package/dist/session/agents/workflow-run-controls.js +141 -0
  274. package/dist/session/composer/ComposerCard.d.ts +1 -1
  275. package/dist/session/composer/ComposerCard.js +3 -3
  276. package/dist/session/composer/agent-selector.js +13 -19
  277. package/dist/session/composer/composer-underbar.d.ts +3 -1
  278. package/dist/session/composer/composer-underbar.js +2 -2
  279. package/dist/session/composer/composer.d.ts +5 -0
  280. package/dist/session/composer/composer.js +16 -10
  281. package/dist/session/composer/editor/composer-editor.js +19 -8
  282. package/dist/session/composer/editor/ultracode.d.ts +34 -0
  283. package/dist/session/composer/editor/ultracode.js +127 -0
  284. package/dist/session/composer/send-blockers.d.ts +1 -11
  285. package/dist/session/composer/send-blockers.js +1 -11
  286. package/dist/session/composer/session-composer-readiness.d.ts +1 -28
  287. package/dist/session/composer/session-composer-readiness.js +5 -16
  288. package/dist/session/header/reminder-parts.d.ts +1 -1
  289. package/dist/session/header/session-site-header.js +6 -3
  290. package/dist/session/header/subagent-hover-card.d.ts +0 -2
  291. package/dist/session/header/subagent-hover-card.js +1 -4
  292. package/dist/session/models/claude-connection-slot.d.ts +11 -0
  293. package/dist/session/models/claude-connection-slot.js +30 -0
  294. package/dist/session/models/model-availability.d.ts +3 -1
  295. package/dist/session/models/model-availability.js +3 -0
  296. package/dist/session/models/model-selector.js +11 -12
  297. package/dist/session/models/model-tags.d.ts +9 -0
  298. package/dist/session/models/model-tags.js +8 -0
  299. package/dist/session/panel/easy/easy-panel.js +1 -1
  300. package/dist/session/panel/easy/step-icon.js +5 -1
  301. package/dist/session/panel/mobile-tool-drawer.js +1 -1
  302. package/dist/session/panel/session-action-panel-column.js +1 -1
  303. package/dist/session/panel/session-desktop.js +41 -14
  304. package/dist/session/panel/session-panel-provider.d.ts +1 -1
  305. package/dist/session/panel/session-panel-provider.js +7 -11
  306. package/dist/session/prompts/question-prompt.js +3 -1
  307. package/dist/session/status/session-error-banner.js +4 -1
  308. package/dist/session/thread/session-chat.js +286 -296
  309. package/dist/session/thread/session-context-modal.js +29 -10
  310. package/dist/session/thread/session-context-spawned-sessions.d.ts +13 -0
  311. package/dist/session/thread/session-context-spawned-sessions.js +44 -0
  312. package/dist/session/thread/session-context-sub-sessions.js +3 -8
  313. package/dist/session/thread/transcript.d.ts +3 -0
  314. package/dist/session/thread/transcript.js +32 -8
  315. package/dist/session/tool/shared/full-view-action.d.ts +29 -0
  316. package/dist/session/tool/shared/full-view-action.js +43 -0
  317. package/dist/session/tool/tool-part-renderer.js +10 -2
  318. package/dist/session/tool/tools/agent-message-tool.js +2 -2
  319. package/dist/session/tool/tools/agent-spawn-tool.js +2 -2
  320. package/dist/session/tool/tools/agent-status-tool.js +2 -2
  321. package/dist/session/tool/tools/kortix-action-tool.d.ts +2 -0
  322. package/dist/session/tool/tools/kortix-action-tool.js +148 -0
  323. package/dist/session/tool/tools/kortix-tool-card.d.ts +83 -0
  324. package/dist/session/tool/tools/kortix-tool-card.js +186 -0
  325. package/dist/session/tool/tools/multi-agent-tool-bodies.d.ts +11 -0
  326. package/dist/session/tool/tools/multi-agent-tool-bodies.js +141 -0
  327. package/dist/session/tool/tools/multi-agent-tool-data.d.ts +63 -0
  328. package/dist/session/tool/tools/multi-agent-tool-data.js +118 -0
  329. package/dist/session/tool/tools/multi-agent-tools.d.ts +9 -0
  330. package/dist/session/tool/tools/multi-agent-tools.js +38 -0
  331. package/dist/session/tool/tools/question-tool.js +1 -1
  332. package/dist/session/tool/tools/register.d.ts +3 -0
  333. package/dist/session/tool/tools/register.js +3 -0
  334. package/dist/session/tool/tools/session-spawn-tool.js +2 -2
  335. package/dist/session/tool/tools/task-tool.d.ts +1 -1
  336. package/dist/session/tool/tools/task-tool.js +29 -41
  337. package/dist/session/tool/tools/workflow-progress.d.ts +34 -0
  338. package/dist/session/tool/tools/workflow-progress.js +186 -0
  339. package/dist/session/tool/tools/workflow-run.d.ts +128 -0
  340. package/dist/session/tool/tools/workflow-run.js +251 -0
  341. package/dist/session/tool/tools/workflow-tool.d.ts +9 -0
  342. package/dist/session/tool/tools/workflow-tool.js +253 -0
  343. package/dist/session/turn/notice-batch-group.d.ts +12 -0
  344. package/dist/session/turn/notice-batch-group.js +17 -0
  345. package/dist/session/turn/peer-message-row.d.ts +14 -0
  346. package/dist/session/turn/peer-message-row.js +57 -0
  347. package/dist/session/turn/subagent-notice-row.d.ts +4 -0
  348. package/dist/session/turn/subagent-notice-row.js +50 -0
  349. package/dist/session/turn/subagent-notice.d.ts +58 -0
  350. package/dist/session/turn/subagent-notice.js +111 -0
  351. package/dist/session/turn/user-message.js +24 -5
  352. package/dist/styles/tokens.css +2 -0
  353. package/dist/styles.css +1 -1
  354. package/dist/terminal/session-terminal-connect-bar.js +1 -1
  355. package/dist/workspace/admin/project-admin-dashboard.d.ts +53 -0
  356. package/dist/workspace/admin/project-admin-dashboard.js +252 -0
  357. package/dist/workspace/admin/project-admin-nav.d.ts +20 -0
  358. package/dist/workspace/admin/project-admin-nav.js +41 -0
  359. package/dist/workspace/home/welcome-body.js +25 -3
  360. package/dist/workspace/index.d.ts +6 -2
  361. package/dist/workspace/index.js +12 -2
  362. package/dist/workspace/layout/new-session-create.js +3 -3
  363. package/dist/workspace/layout/project-home.js +3 -3
  364. package/dist/workspace/memory/memory-labels.js +5 -0
  365. package/dist/workspace/repository-disconnected.js +2 -2
  366. package/dist/workspace/sessions/board-dispatch.d.ts +52 -0
  367. package/dist/workspace/sessions/board-dispatch.js +110 -0
  368. package/dist/workspace/sessions/board-grouping.d.ts +63 -0
  369. package/dist/workspace/sessions/board-grouping.js +141 -0
  370. package/dist/workspace/sessions/board-peek.d.ts +15 -0
  371. package/dist/workspace/sessions/board-peek.js +54 -0
  372. package/dist/workspace/sessions/board-state-mark.d.ts +15 -0
  373. package/dist/workspace/sessions/board-state-mark.js +24 -0
  374. package/dist/workspace/sessions/project-sessions-view.js +42 -31
  375. package/dist/workspace/sessions/sessions-board.d.ts +12 -0
  376. package/dist/workspace/sessions/sessions-board.js +214 -0
  377. package/dist/workspace/sidebar/footer/project-manifest-issues-alert.d.ts +46 -0
  378. package/dist/workspace/sidebar/footer/project-manifest-issues-alert.js +85 -0
  379. package/dist/workspace/sidebar/footer/sidebar-alert.js +1 -1
  380. package/dist/workspace/sidebar/new-agent-modal-provider.d.ts +12 -0
  381. package/dist/workspace/sidebar/new-agent-modal-provider.js +19 -0
  382. package/dist/workspace/sidebar/project-nav-items.d.ts +3 -1
  383. package/dist/workspace/sidebar/project-nav-items.js +53 -5
  384. package/dist/workspace/sidebar/project-session-list.js +35 -12
  385. package/dist/workspace/sidebar/project-sidebar.js +6 -3
  386. package/dist/workspace/sidebar/session-filter-menu.js +2 -1
  387. package/dist/workspace/space/space-blocks.d.ts +25 -0
  388. package/dist/workspace/space/space-blocks.js +124 -0
  389. package/dist/workspace/space/space-filter-tabs.d.ts +17 -0
  390. package/dist/workspace/space/space-filter-tabs.js +31 -0
  391. package/dist/workspace/space/space-page.d.ts +24 -0
  392. package/dist/workspace/space/space-page.js +157 -0
  393. package/dist/workspace/space/space-room.d.ts +20 -0
  394. package/dist/workspace/space/space-room.js +27 -0
  395. package/dist/workspace/space/space-tab-menu.d.ts +14 -0
  396. package/dist/workspace/space/space-tab-menu.js +127 -0
  397. package/dist/workspace/space/space-tab-panels.d.ts +9 -0
  398. package/dist/workspace/space/space-tab-panels.js +203 -0
  399. package/dist/workspace/space/space-templates.d.ts +34 -0
  400. package/dist/workspace/space/space-templates.js +71 -0
  401. package/dist/workspace/space/use-space-filter.d.ts +10 -0
  402. package/dist/workspace/space/use-space-filter.js +40 -0
  403. package/dist/workspace/space/use-space-manifest.d.ts +8 -0
  404. package/dist/workspace/space/use-space-manifest.js +27 -0
  405. package/dist/workspace/spaces/space-timeline.js +2 -2
  406. package/package.json +56 -53
  407. package/skills/kortix-ui/SKILL.md +1 -1
  408. package/skills/kortix-ui/references/custom-dashboard.md +10 -4
  409. package/skills/kortix-ui/references/modules.md +10 -8
  410. package/dist/_vendor/shared/meta-agent.d.ts +0 -7
  411. package/dist/customize/agents/agent-grant-pages.d.ts +0 -37
  412. package/dist/customize/agents/agent-grant-pages.js +0 -226
  413. package/dist/customize/agents/agent-triggers-section.d.ts +0 -17
  414. package/dist/customize/agents/agent-triggers-section.js +0 -109
  415. package/dist/customize/migrate-to-v2/index.d.ts +0 -5
  416. package/dist/customize/migrate-to-v2/index.js +0 -5
  417. package/dist/customize/migrate-to-v2/migration-prompt.d.ts +0 -16
  418. package/dist/customize/migrate-to-v2/migration-prompt.js +0 -59
  419. package/dist/customize/migrate-to-v2/upgrade-defs.d.ts +0 -30
  420. package/dist/customize/migrate-to-v2/upgrade-defs.js +0 -43
  421. package/dist/customize/migrate-to-v2/upgrade-view.d.ts +0 -32
  422. package/dist/customize/migrate-to-v2/upgrade-view.js +0 -152
  423. package/dist/customize/migrate-to-v2/use-run-upgrade.d.ts +0 -18
  424. package/dist/customize/migrate-to-v2/use-run-upgrade.js +0 -16
  425. package/dist/customize/shared/capability-tabs.d.ts +0 -3
  426. package/dist/customize/shared/capability-tabs.js +0 -137
  427. package/dist/customize/skills/skill-scope.d.ts +0 -14
  428. package/dist/customize/skills/skill-scope.js +0 -18
  429. package/dist/internal/lib/manifest-version.d.ts +0 -21
  430. package/dist/internal/lib/manifest-version.js +0 -55
  431. package/dist/session/composer/hooks/use-composer-escape-stop.d.ts +0 -6
  432. package/dist/session/composer/hooks/use-composer-escape-stop.js +0 -28
  433. package/dist/session/thread/sub-session-modal-content.d.ts +0 -8
  434. package/dist/session/thread/sub-session-modal-content.js +0 -23
  435. package/dist/session/thread/sub-session-modal.d.ts +0 -2
  436. package/dist/session/thread/sub-session-modal.js +0 -14
  437. package/dist/workspace/sidebar/footer/project-manifest-upgrade-alert.d.ts +0 -13
  438. package/dist/workspace/sidebar/footer/project-manifest-upgrade-alert.js +0 -48
package/dist/i18n/en.js CHANGED
@@ -54,7 +54,6 @@ const catalog = {
54
54
  "oauthExpired": "Authorization timed out. Try again.",
55
55
  "oauthPrivateDescription": "Use your ChatGPT Plus or Pro plan in this project. New accounts are private to you until you share them.",
56
56
  "chatGptSubscription": "ChatGPT subscription",
57
- "useYourChatGpt": "Use your ChatGPT subscription",
58
57
  "manageChatGptAccounts": "Manage ChatGPT accounts",
59
58
  "connect": "Connect",
60
59
  "connectChatGpt": "Connect ChatGPT",
@@ -89,7 +88,7 @@ const catalog = {
89
88
  "deleteError": "Secret could not be deleted",
90
89
  "accessError": "Access could not be changed",
91
90
  "sharedTitle": "Provider connections",
92
- "sharedDescription": "Add API keys and ChatGPT accounts. New ones are private to you until you share them. Choose which ones each session uses.",
91
+ "sharedDescription": "Add API keys, ChatGPT accounts and Claude accounts. New ones are private to you until you share them. Choose which ones each session uses.",
93
92
  "legacyProjectKey": "Existing project key · Used when this session has no key selection",
94
93
  "keyCount": "{count, plural, one {# key} other {# keys}}",
95
94
  "providerKeysFor": "{provider} API keys",
@@ -156,7 +155,19 @@ const catalog = {
156
155
  "opencodeGoConnect": "Connect OpenCode Go",
157
156
  "opencodeGoReconnect": "Reconnect OpenCode Go",
158
157
  "opencodeGoDisconnect": "Disconnect OpenCode Go",
159
- "opencodeGoFailed": "Failed to connect OpenCode Go"
158
+ "opencodeGoFailed": "Failed to connect OpenCode Go",
159
+ "claudeAccounts": "Claude accounts",
160
+ "noClaudeAccounts": "No Claude accounts yet",
161
+ "connectClaude": "Sign in with Claude",
162
+ "claudeOauthPrivateDescription": "Use your Claude Pro or Max plan for Claude models in this project. New accounts are private to you until you share them.",
163
+ "claudeOauthCreationDescription": "Sign in with your Claude Pro or Max account. Kortix stores the login encrypted and never shows it.",
164
+ "claudeDefaultAccountLabel": "Claude · {name}",
165
+ "claudeAccountConnected": "Claude account connected",
166
+ "claudeAccountReconnected": "Claude account reconnected",
167
+ "claudeConnectFailed": "The Claude sign-in did not finish. Try again.",
168
+ "claudeReconnectDescription": "Sign in with Claude again. The account keeps its name, access, and session selections.",
169
+ "claudeAccountLabelPlaceholder": "e.g. My Claude account",
170
+ "claudeDeleteAccountConfirmTitle": "Delete this Claude account for everyone?"
160
171
  },
161
172
  "secrets": {
162
173
  "undecryptable": {
@@ -345,10 +356,6 @@ const catalog = {
345
356
  "label": "Feature flags",
346
357
  "description": "Features you can switch on before they are generally available."
347
358
  },
348
- "upgrades": {
349
- "label": "Upgrades",
350
- "description": "Changes an agent makes to this project. Every run opens a change request for you to review — nothing merges on its own."
351
- },
352
359
  "profile": {
353
360
  "label": "Profile",
354
361
  "description": "Your picture, name, email, and organizations."
@@ -767,8 +774,8 @@ const catalog = {
767
774
  "description": "Browse and install skills from community and vendor registries. Sources, updates, and team scopes are still changing."
768
775
  },
769
776
  "meta_agent": {
770
- "name": "Meta Agent",
771
- "description": "Add a coordinator agent that manages specialized sessions and multi-step work across the project."
777
+ "name": "My Kortix",
778
+ "description": "My Kortix, the one agent you talk to. It routes each task to the agent made for it and runs it, with your permissions. The project setting is `builtin_agents.my_kortix` in kortix.yaml; this switch applies only when that key is not set."
772
779
  },
773
780
  "warm_sessions": {
774
781
  "name": "Warm Sessions",
@@ -782,13 +789,9 @@ const catalog = {
782
789
  "name": "Pooled Provider Secrets",
783
790
  "description": "Members connect their own ChatGPT subscriptions and provider keys, share them when needed, and choose which ones each session uses."
784
791
  },
785
- "genui": {
786
- "name": "Generative UI",
787
- "description": "The agent may answer with cards, comparisons, charts, maps, and tabs instead of long text."
788
- },
789
792
  "reminders": {
790
- "name": "Reminders",
791
- "description": "Let agents and people schedule check-ins on a session, once or on repeat. Each fire re-prompts that session. Adds the Reminders page, the session reminder chip, and `kortix remind`."
793
+ "name": "Loops",
794
+ "description": "Let agents and people schedule check-ins on a session, once or on repeat. Each fire re-prompts that session. Adds loops to the Triggers list, the session loop chip, and `kortix loop`."
792
795
  },
793
796
  "us_region": {
794
797
  "name": "US Region",
@@ -796,7 +799,7 @@ const catalog = {
796
799
  },
797
800
  "notification_center": {
798
801
  "name": "Notification Center",
799
- "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."
802
+ "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 loops. Off: only the session creator's phone gets a session push, and an account owner's phone gets one when a trigger starts failing."
800
803
  },
801
804
  "event_triggers": {
802
805
  "name": "Composio event triggers",
@@ -820,7 +823,7 @@ const catalog = {
820
823
  },
821
824
  "goals": {
822
825
  "name": "Goals",
823
- "description": "Give an agent an objective it owns until an independent check confirms the outcome. It plans, works, waits, follows up with people, and keeps its state in a Goals folder in Files. Needs Volumes and Reminders on."
826
+ "description": "Give an agent an objective it owns until an independent check confirms the outcome. It plans, works, waits, follows up with people, and keeps its state in a Goals folder in Files. Needs Volumes and Loops on."
824
827
  },
825
828
  "workspace_volume": {
826
829
  "name": "Workspace volume",
@@ -849,6 +852,10 @@ const catalog = {
849
852
  "chrome": {
850
853
  "name": "Kortix in Chrome",
851
854
  "description": "Let a session use your connected Chrome browser. You can take over or stop it at any time."
855
+ },
856
+ "agent_teams": {
857
+ "name": "Agent teams",
858
+ "description": "A lead session starts named teammates that share one task list. Each teammate takes a task, works on it in its own session and tells the lead when it is done. You see every teammate and its tasks under the lead's composer. Messages between sessions work without this flag."
852
859
  }
853
860
  },
854
861
  "channelsSwitch": {
@@ -860,24 +867,9 @@ const catalog = {
860
867
  "offTitle": "Turn off Channels?",
861
868
  "offBody": "Channels, memory, files and links stay saved. The session list comes back for everyone.",
862
869
  "turnOff": "Turn off"
863
- }
864
- },
865
- "upgrades": {
866
- "available": "Available upgrades",
867
- "readOnly": "Read-only — running an upgrade needs write access to this project.",
868
- "none": "No upgrades available",
869
- "upToDateDescription": "This project is already up to date.",
870
- "upToDate": "Up to date",
871
- "run": "Run",
872
- "oneOff": "One-off upgrade",
873
- "oneOffDescription": "Describe a single change instead. It runs the same way — a session makes it, validates it, and opens a change request.",
874
- "oneOffPlaceholder": "e.g. Rename the release-bot agent to deploy-bot everywhere it's referenced",
875
- "runUpgrade": "Run upgrade",
876
- "manifestV3": {
877
- "title": "Upgrade manifest to v3 (kortix.yaml)",
878
- "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."
879
870
  },
880
- "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."
871
+ "wip": "Work in progress",
872
+ "wipNote": "Not recommended yet: it can change or break."
881
873
  },
882
874
  "credits": {
883
875
  "loadFailed": "Could not load this account.",
@@ -1114,7 +1106,7 @@ const catalog = {
1114
1106
  "sessionViewOptions": "Session view options",
1115
1107
  "sectionOptions": "Section options",
1116
1108
  "allSectionsHidden": "All sections are hidden.",
1117
- "metaCoordinator": "Meta",
1109
+ "metaCoordinator": "My Kortix",
1118
1110
  "files": "Files",
1119
1111
  "retry": "Try again",
1120
1112
  "review": "Review",
@@ -1178,10 +1170,16 @@ const catalog = {
1178
1170
  "localComputer": "Your computer",
1179
1171
  "appsAndExtensions": "Apps and extensions"
1180
1172
  },
1181
- "manifestUpgrade": {
1182
- "title": "Upgrade to v3",
1183
- "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.",
1184
- "start": "Start upgrade"
1173
+ "manifestIssues": {
1174
+ "title": "{file} has {errors, plural, one {# error} other {# errors}} and {warnings, plural, one {# warning} other {# warnings}}",
1175
+ "titleErrors": "{file} has {errors, plural, one {# error} other {# errors}}",
1176
+ "titleWarnings": "{file} has {warnings, plural, one {# warning} other {# warnings}}",
1177
+ "errorsOff": "Agents and triggers with an error are off until it is fixed.",
1178
+ "warningsOnly": "Everything still runs.",
1179
+ "error": "Error",
1180
+ "warning": "Warning",
1181
+ "fix": "Fix with My Kortix",
1182
+ "fixInSession": "Fix in a new session"
1185
1183
  },
1186
1184
  "filter": {
1187
1185
  "grouping": "Grouping",
@@ -1257,7 +1255,7 @@ const catalog = {
1257
1255
  "others": "Shared",
1258
1256
  "automated": "Automated"
1259
1257
  },
1260
- "reminders": "Reminders",
1258
+ "reminders": "Loops",
1261
1259
  "labels": {
1262
1260
  "menu": "Edit labels",
1263
1261
  "title": "Labels",
@@ -1523,10 +1521,10 @@ const catalog = {
1523
1521
  "agents": {
1524
1522
  "grants": {
1525
1523
  "subagents": {
1526
- "title": "Subagents",
1527
- "description": "Agents this agent can start for a subtask.",
1524
+ "title": "Agents",
1525
+ "description": "Other agents this one can hand work to, with the agent tool.",
1528
1526
  "all": "Every subagent in this project, including ones added later.",
1529
- "empty": "No subagents declared in this project yet."
1527
+ "empty": "No other agent can be called yet. Set an agent's “Who can start it” to Subagent or All to list it here."
1530
1528
  },
1531
1529
  "commands": {
1532
1530
  "title": "Commands",
@@ -1590,7 +1588,8 @@ const catalog = {
1590
1588
  "hintChanged": "Ask what's changed in your project",
1591
1589
  "hintNewLine": "Press Shift+Enter for a new line",
1592
1590
  "hintSettings": "Press {modifier}, to open settings",
1593
- "hintCompact": "Ask to compact the session when it gets long"
1591
+ "hintCompact": "Ask to compact the session when it gets long",
1592
+ "myKortixRoutes": "Routes each task to the right agent"
1594
1593
  },
1595
1594
  "auth": {
1596
1595
  "haveReferralCode": "Have a referral code?",
@@ -1679,7 +1678,6 @@ const catalog = {
1679
1678
  },
1680
1679
  "unified": {
1681
1680
  "welcome": "Welcome to Kortix CompanyOS",
1682
- "tagline": "The open-source CompanyOS",
1683
1681
  "email": "Email",
1684
1682
  "emailPlaceholder": "Your email address",
1685
1683
  "password": "Password",
@@ -1891,18 +1889,151 @@ const catalog = {
1891
1889
  "scriptFailed": "Script failed",
1892
1890
  "calls": "{count, plural, one {# tool call} other {# tool calls}}",
1893
1891
  "noOutput": "No output"
1892
+ },
1893
+ "kortixAction": {
1894
+ "running": {
1895
+ "agents": {
1896
+ "read": "Checking agents…",
1897
+ "change": "Updating agents…"
1898
+ },
1899
+ "sessions": {
1900
+ "read": "Checking sessions…",
1901
+ "change": "Updating sessions…"
1902
+ },
1903
+ "schedules": {
1904
+ "read": "Checking schedules…",
1905
+ "change": "Updating schedules…"
1906
+ },
1907
+ "connectors": {
1908
+ "read": "Checking connectors…",
1909
+ "change": "Updating connectors…"
1910
+ },
1911
+ "people": {
1912
+ "read": "Checking members…",
1913
+ "change": "Updating members…"
1914
+ },
1915
+ "access": {
1916
+ "read": "Checking access…",
1917
+ "change": "Updating access…"
1918
+ },
1919
+ "usage": {
1920
+ "read": "Checking usage…",
1921
+ "change": "Checking usage…"
1922
+ },
1923
+ "changeRequests": {
1924
+ "read": "Checking change requests…",
1925
+ "change": "Updating a change request…"
1926
+ },
1927
+ "memory": {
1928
+ "read": "Checking memory…",
1929
+ "change": "Updating memory…"
1930
+ }
1931
+ },
1932
+ "status": {
1933
+ "done": "Done",
1934
+ "needsYou": "Needs you",
1935
+ "denied": "Needs a permission",
1936
+ "error": "Didn't finish",
1937
+ "running": "Running"
1938
+ },
1939
+ "deniedTitle": "Needs a permission",
1940
+ "grantors": "Who can grant it",
1941
+ "grantorsUnknown": "Anyone who manages this project can grant it.",
1942
+ "newSetting": "New",
1943
+ "removedSetting": "Removed",
1944
+ "opensInNewTab": "Opens in a new tab",
1945
+ "showDetails": "Show details"
1946
+ },
1947
+ "workflow": {
1948
+ "fallbackTitle": "Workflow",
1949
+ "starting": "Starting the workflow…",
1950
+ "progress": "{done} of {total} done",
1951
+ "failedCount": "{failed} of {total} failed",
1952
+ "agents": "{count, plural, one {# agent} other {# agents}}",
1953
+ "background": "Running in the background",
1954
+ "status": {
1955
+ "starting": "Starting",
1956
+ "running": "Running",
1957
+ "done": "Done",
1958
+ "failed": "Failed",
1959
+ "stopped": "Stopped",
1960
+ "pending": "Not started"
1961
+ },
1962
+ "openAgent": "Open {label}",
1963
+ "showDetails": "Show details",
1964
+ "failedSuffix": "{count} failed",
1965
+ "resumed": "Resumed",
1966
+ "resumedHint": "Agents that finished in the earlier run kept their answers.",
1967
+ "large": "Large run",
1968
+ "largeHint": "This run starts more than 25 agents. You can stop any agent from its row.",
1969
+ "openRun": "Open run",
1970
+ "openRunLabel": "Open the run's session",
1971
+ "backgroundIdle": "In its own session",
1972
+ "savedName": "Saved workflow {name}",
1973
+ "upTo": "Up to {count, plural, one {# agent} other {# agents}}",
1974
+ "result": "Result",
1975
+ "logLabel": "Workflow log",
1976
+ "agentsLabel": "Workflow agents",
1977
+ "filter": {
1978
+ "label": "Show agents",
1979
+ "all": "All",
1980
+ "running": "Running",
1981
+ "failed": "Failed",
1982
+ "done": "Done"
1983
+ },
1984
+ "filterEmpty": {
1985
+ "running": "No agent is running.",
1986
+ "failed": "No agent failed.",
1987
+ "done": "No agent is done yet."
1988
+ },
1989
+ "showAll": "Show all {count}",
1990
+ "retry": "retry {count}",
1991
+ "cached": "from last run",
1992
+ "stopAgent": "Stop {label}",
1993
+ "stopHint": "Stop this agent",
1994
+ "stopFailed": "Could not stop {label}",
1995
+ "json": "JSON",
1996
+ "jsonKeys": "{count, plural, one {JSON · # key} other {JSON · # keys}}",
1997
+ "jsonItems": "{count, plural, one {JSON · # item} other {JSON · # items}}"
1998
+ },
1999
+ "agent": {
2000
+ "backgroundWorking": "Working in the background",
2001
+ "backgroundSession": "In its own session"
1894
2002
  }
1895
2003
  },
1896
- "agentApps": {
1897
- "title": "Apps",
1898
- "description": "Kortix Apps this agent may open when the App's access is restricted or private.",
1899
- "manageApps": "All Apps",
1900
- "allLabel": "Every App in this project, including ones added later.",
1901
- "needsGrant": "Grant decides",
1902
- "openWithoutGrant": "No grant needed",
1903
- "grantNote": "The agent also needs project.app.read in its Kortix permissions.",
1904
- "emptyTitle": "No Apps yet",
1905
- "emptyDescription": "Apps deployed to this project appear here for the agent to pick from."
2004
+ "agentScope": {
2005
+ "modeAll": "All",
2006
+ "modeSpecific": "Specific",
2007
+ "modeNone": "None",
2008
+ "thisAgent": "This agent",
2009
+ "modelsDescription": "This agent's model. The other tabs apply to the whole project.",
2010
+ "connectorsDescription": "Choose which connectors this agent can use.",
2011
+ "connectorsAccess": "Connector access for this agent",
2012
+ "skillsDescription": "Choose which skills this agent can use.",
2013
+ "skillsAccess": "Skill access for this agent",
2014
+ "secretsAccess": "Secret access for this agent",
2015
+ "grantedColumn": "Granted to this agent",
2016
+ "appsAccess": "App access for this agent",
2017
+ "missingApps": "Missing Apps",
2018
+ "triggersDescription": "When this agent starts on its own.",
2019
+ "triggersEmpty": "Triggers that start this agent will show up here.",
2020
+ "projectPaused": "Nothing in this project runs on its own right now, this agent included. Triggers resume from the project's Triggers page.",
2021
+ "requiredUnderAll": "Required before session start: {list}. Switch to Specific to change it.",
2022
+ "configError": "Could not load this agent's settings.",
2023
+ "connectorNeedsAuth": "Needs sign-in",
2024
+ "connectorError": "Error",
2025
+ "missing": "Missing",
2026
+ "connectorsEmptyTitle": "No connectors yet",
2027
+ "connectorsEmptyDescription": "Connect an app in the project, then choose it here.",
2028
+ "secretsDescription": "Project secrets this agent's sessions get as environment variables.",
2029
+ "secretNotSet": "Not set",
2030
+ "projectGroup": "Project",
2031
+ "secretsEmptyProject": "No project secrets yet.",
2032
+ "secretsEmptyTitle": "No secrets yet",
2033
+ "secretsEmptyDescription": "Secrets added to the project show up here for this agent.",
2034
+ "connectorsSearch": "Search connectors",
2035
+ "sandboxSecretsEmptyTitle": "No sandbox secrets",
2036
+ "sandboxSecretsEmptyDescription": "An agent receives environment variables and network-enforced secrets. Model logins and connector credentials stay with Kortix: Models and Connectors decide who uses them."
1906
2037
  },
1907
2038
  "notifications": {
1908
2039
  "title": "Notifications",
@@ -1941,8 +2072,8 @@ const catalog = {
1941
2072
  "question": "The agent asks a question and waits for the answer.",
1942
2073
  "permission": "The agent asks for permission to run a tool.",
1943
2074
  "shared": "Someone shares a session with you.",
1944
- "automation_failed": "A trigger or a reminder starts failing.",
1945
- "automation_recovered": "A failing trigger or reminder works again.",
2075
+ "automation_failed": "A trigger or a loop starts failing.",
2076
+ "automation_recovered": "A failing trigger or loop works again.",
1946
2077
  "capture_device_down": "A Kortix Capture computer is not recording. Sent to people who manage Capture.",
1947
2078
  "capture_device_recovered": "A Kortix Capture computer that stopped records again.",
1948
2079
  "message": "Someone @-mentions you, or replies in a thread you posted in, in a room.",
@@ -1968,7 +2099,7 @@ const catalog = {
1968
2099
  "arrival": {
1969
2100
  "inProject": "{kind} in {project}",
1970
2101
  "openSession": "Open session",
1971
- "openReminders": "Open reminders",
2102
+ "openReminders": "Open loops",
1972
2103
  "openTriggers": "Open triggers",
1973
2104
  "openConversation": "Open conversation",
1974
2105
  "openArtifact": "Open Artifact"
@@ -2147,8 +2278,7 @@ const catalog = {
2147
2278
  "legendTool": "Tool results",
2148
2279
  "legendOther": "Other",
2149
2280
  "subAgentsLabel": "Sub-agents",
2150
- "subAgentsNote": "This session started helper sessions. The totals below include them.",
2151
- "combinedCost": "Combined cost",
2281
+ "subAgentsNote": "Helpers that ran inside this session. Their cost is part of this session's cost.",
2152
2282
  "combinedMessages": "Combined messages",
2153
2283
  "tokensIn": "Tokens in",
2154
2284
  "tokensOut": "Tokens out",
@@ -2172,7 +2302,20 @@ const catalog = {
2172
2302
  "rawFilterUser": "You",
2173
2303
  "rawFilterAssistant": "Assistant",
2174
2304
  "rawNoMatches": "No matching messages",
2175
- "detailsLabel": "Details"
2305
+ "detailsLabel": "Details",
2306
+ "costSplit": "{own} this session · {spawned} in {count, plural, one {# spawned session} other {# spawned sessions}}",
2307
+ "costEstimated": "Estimated from the transcript",
2308
+ "detailModelRequests": "Model requests",
2309
+ "spawnedLabel": "Spawned sessions",
2310
+ "spawnedNote": "Sessions this session started, and the sessions they started. Their cost is in the total cost.",
2311
+ "spawnedCount": "{count, plural, one {This session and # spawned session} other {This session and # spawned sessions}}",
2312
+ "spawnedRequests": "Requests",
2313
+ "spawnedCost": "Cost",
2314
+ "spawnedThisSession": "This session",
2315
+ "spawnedTotal": "Total",
2316
+ "spawnedHidden": "{count, plural, one {# spawned session you cannot open is not included.} other {# spawned sessions you cannot open are not included.}}",
2317
+ "spawnedTruncated": "Only the first 500 spawned sessions, up to 10 levels deep, are included.",
2318
+ "spawnedUntitled": "Untitled session"
2176
2319
  },
2177
2320
  "componentsSessionSessionErrorBanner": {
2178
2321
  "line58JsxAttrTitleYouRanOutOfCredits": "You ran out of credits",
@@ -3257,7 +3400,6 @@ const catalog = {
3257
3400
  "text472590ae974d": "Provider",
3258
3401
  "text476b90bdc143": "@Kortix",
3259
3402
  "text477d50f7ddbf": "One-click OAuth 2.1 available",
3260
- "text479d92cbfaa1": "(kortix_version 2) to edit this agent's instructions, model, tool permissions and access here.",
3261
3403
  "text47bd29075f8b": "Content",
3262
3404
  "text47c3d9d2f5c7": "Loading connectors…",
3263
3405
  "text47d2a515ef2f": "Loading...",
@@ -3668,6 +3810,7 @@ const catalog = {
3668
3810
  "text680d59689583": "Certificate SHA-256 thumbprint",
3669
3811
  "text68269b6f8874": "Secrets command",
3670
3812
  "text682be64ae780": "Enable notifications",
3813
+ "text683259feabbf": "trigger",
3671
3814
  "text68382ef84e6c": "Set up Slack",
3672
3815
  "text68833818d608": "text-muted-foreground/35 select-none",
3673
3816
  "text689997c79ba6": "Project config",
@@ -4653,7 +4796,7 @@ const catalog = {
4653
4796
  "textbb68ff20e011": "Retry on",
4654
4797
  "textbb6aea287396": "Audit",
4655
4798
  "textbb742be18fc7": "Scaffold & ship",
4656
- "textbb74cc7dce98": "Project secrets handed to this agent's sessions as environment variables. Click one to edit it.",
4799
+ "textbb74cc7dce98": "Project secrets handed to this agent's sessions as environment variables.",
4657
4800
  "textbba9af131107": "Hosts",
4658
4801
  "textbbbf43b8819c": "Built-in channel",
4659
4802
  "textbbc5a3f2ca48": "Your changes to {value0} are not saved. Leave now and they are lost.",
@@ -4751,7 +4894,6 @@ const catalog = {
4751
4894
  "textc3b312278ee5": "Make this a default",
4752
4895
  "textc3bb47ef2fd9": "{value0} They keep the access they get via {value1}.",
4753
4896
  "textc3c709a999c1": "Reading memory…",
4754
- "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.",
4755
4897
  "textc3d2e79ebdd0": "Connectors",
4756
4898
  "textc3e3a6edeaa5": "Terms and conditions",
4757
4899
  "textc3e58a73609d": "Destructive",
@@ -4787,7 +4929,6 @@ const catalog = {
4787
4929
  "textc61d3d5725a1": "Account · Settings",
4788
4930
  "textc63adab9bd56": "Track tools and referenced files used in this task.",
4789
4931
  "textc63eb6720c6e": "Private",
4790
- "textc6414eb01d9a": "Changes an agent makes to this workspace. Every run opens a change request for you to review — nothing merges on its own.",
4791
4932
  "textc65feb0006ea": "Worker · {value0}{value1}",
4792
4933
  "textc66feb5eb8f2": "Move up",
4793
4934
  "textc6902b467e2d": "Couldn't display this presentation.",
@@ -5006,7 +5147,6 @@ const catalog = {
5006
5147
  "textd83250185d41": "All connectors",
5007
5148
  "textd8348ec82718": "List Triggers",
5008
5149
  "textd84b8be91e7b": "Kortix — Presentations",
5009
- "text08edd5b6dcdc": "Upgrade manifest to v3 (kortix.yaml)",
5010
5150
  "text848f54e89660": "Runs",
5011
5151
  "textb098a09c78aa": "Test with payload",
5012
5152
  "text99733344956d": "Payload",
@@ -5018,7 +5158,7 @@ const catalog = {
5018
5158
  "text2319ec274750": "Session key",
5019
5159
  "text398d270b036a": "Could not load runs.",
5020
5160
  "text4c2e1df4570b": "Monitor",
5021
- "text31757bbfa17e": "Reminder",
5161
+ "text31757bbfa17e": "Loop",
5022
5162
  "text12698ce1ea5c": "Skipped",
5023
5163
  "text9daf8e05c684": "Unsigned",
5024
5164
  "text7f2b8f3a675c": "The webhook signature was not verified.",
@@ -5102,7 +5242,6 @@ const catalog = {
5102
5242
  "textdc4cbd66fe2d": "audit governed actions approvals trail session",
5103
5243
  "textdc5255461795": "No matches in",
5104
5244
  "textdc6c9309c03e": "Affected services",
5105
- "textdc7ab144ca89": "Upgrade for the full agent editor",
5106
5245
  "textdc937b598926": "None",
5107
5246
  "textdcc839a4015c": "View",
5108
5247
  "textdcd1d5223f73": "Name",
@@ -5136,7 +5275,6 @@ const catalog = {
5136
5275
  "textdfa16aeaca13": "This workspace’s repository is hosted on {value0}, which does not support collaborator invites from Kortix. Manage access where the repository lives.",
5137
5276
  "textdfe0c2e802b1": "Server error",
5138
5277
  "textdfea74d6d58d": "Move fallback up",
5139
- "texte02a5941602a": "Upgrades",
5140
5278
  "texte0362b3241c5": "In bounds",
5141
5279
  "texte0603c499aae": "http",
5142
5280
  "texte0687cb3046c": "Anything the agent runs — a site, an app, an API — opens from here.",
@@ -5754,8 +5892,7 @@ const catalog = {
5754
5892
  "text0e5f7f6732e0": "Fork conversation",
5755
5893
  "text32ad3abe4479": "Failed to fork conversation",
5756
5894
  "text95de71e25038": "Conversation forked",
5757
- "text85b7a59cdbd5": "Platform agent",
5758
- "textd9c0c74b514b": "Meta is a platform agent that orchestrates your work. Its setup is fixed: start a session with it, but it can't be configured here.",
5895
+ "text85b7a59cdbd5": "Built-in",
5759
5896
  "textd919fde889e9": "Needs connection",
5760
5897
  "textd7b77185afd1": "Activating",
5761
5898
  "text2a78b60b1056": "Connect a shared {app} account to activate this trigger.",
@@ -5876,7 +6013,7 @@ const catalog = {
5876
6013
  "text815464994ec4": "Telegram connected",
5877
6014
  "textdfea5351a743": "Telegram disconnected",
5878
6015
  "text2f95b1c9ee2b": "Allowed users saved",
5879
- "text7971dd752669": "Reminders",
6016
+ "text7971dd752669": "Loops",
5880
6017
  "text57f57edb6f16": "Change request #{number} is ready to review.",
5881
6018
  "texta8597db6f24b": "Remove skill",
5882
6019
  "text5f6ba69d66d1": "Skill removed",
@@ -5891,11 +6028,44 @@ const catalog = {
5891
6028
  "text064694999e1f": "New App event",
5892
6029
  "text1934aa0740bb": "Search App events",
5893
6030
  "text25db7e5609e5": "No App events yet",
5894
- "text9f8f92588517": "An App starts agents by emitting events. Add a trigger with on: { event, app } in kortix.yaml.",
6031
+ "textd85b56df2c94": "Create one to have an agent run when one of your Apps sends an event.",
6032
+ "texte9b6dc29c812": "{app} event",
6033
+ "text860e6ea2b98b": "When {app} sends {event}, {agent} runs your instruction.",
6034
+ "text2def58884d12": "When {app} sends an event, {agent} runs your instruction.",
6035
+ "text69de76117f00": "Pick the App that sends the event.",
5895
6036
  "text7c0a91e5b3d2": "Unclassified tools",
5896
6037
  "text9d2b6f0c41ae": "Tools & rules",
5897
6038
  "openThreadAction": "Open thread",
5898
- "untitledThread": "Untitled thread"
6039
+ "untitledThread": "Untitled thread",
6040
+ "text73738b374f4b": "Project admin",
6041
+ "textc08f99e3947d": "Loops",
6042
+ "text37737d817d12": "Back to project",
6043
+ "text9eebeabf6094": "Could not check your access",
6044
+ "text078931e34187": "Project admin needs the settings grant",
6045
+ "textb24d48611918": "It needs {grant}. Anyone who manages this project can grant it.",
6046
+ "textcf789cba73dc": "Search triggers",
6047
+ "text362ec1f12075": "No triggers yet",
6048
+ "text8fbb8c347fc0": "Start agents or wake sessions on a schedule or an event.",
6049
+ "texte9acea9f91da": "Create a trigger and your agent runs on its own, no prompt needed.",
6050
+ "text5ffd973e20ed": "Change request merged",
6051
+ "text41bec5c0977c": "Created at runtime",
6052
+ "text8898c02a816e": "Stored in the database, not in kortix.yaml. Agents and the CLI create them.",
6053
+ "textb3c0ab96930c": "Next run",
6054
+ "text89919c510d89": "Wakes {value0}",
6055
+ "textba6393ea2b12": "Starts {value0}",
6056
+ "textd7846b4e605e": "Calls {value0}",
6057
+ "textf4f30f5b483c": "It stops firing. This cannot be undone.",
6058
+ "text0e8f0fa67e67": "Have an agent run when a change request merges.",
6059
+ "text20c14db54300": "change request trigger",
6060
+ "textb0d2b95916ce": "New change request trigger",
6061
+ "textd025f8dc1334": "Search change request triggers",
6062
+ "text1bc4d0bc8d03": "No change request triggers yet",
6063
+ "text3c11a07619e0": "Create one to have an agent run when a change request merges.",
6064
+ "text52656e8104ee": "Branch",
6065
+ "text507c24b6792d": "When a change request merges into {branch}, {agent} runs your instruction.",
6066
+ "text05ee1d6181f3": "When a change request merges, {agent} runs your instruction.",
6067
+ "texte608495c45ce": "Merged into {branch}",
6068
+ "text80ca527b0d55": "Change request trigger created"
5899
6069
  },
5900
6070
  "publicShareConfirm": {
5901
6071
  "title": "Create a public link?",
@@ -6238,7 +6408,19 @@ const catalog = {
6238
6408
  "postToHint": "Each run starts a new thread there. With no channel, runs go to #{channel}.",
6239
6409
  "postToNone": "No channel",
6240
6410
  "postToUnavailable": "Unavailable channel",
6241
- "postToPrivate": "Private: triggers can't post here"
6411
+ "postToPrivate": "Private: triggers can't post here",
6412
+ "appLabel": "App",
6413
+ "appPlaceholder": "Choose an App",
6414
+ "appEventLabel": "Event",
6415
+ "appEventPlaceholder": "Any event",
6416
+ "appEventHelp": "Your App sends events with a POST to <code>KORTIX_APP_EVENTS_URL</code> and the bearer token <code>KORTIX_APP_TOKEN</code>. Name one event, such as <code>reply.received</code>, or leave it empty to run on every event.",
6417
+ "crTab": "Change request",
6418
+ "crBranchLabel": "Branch",
6419
+ "crBranchPlaceholder": "Any branch",
6420
+ "crBranchHelp": "Runs when a change request merges into this branch, or into any branch when it is empty. The instruction can read <code>change_request.number</code>, <code>change_request.title</code> and <code>change_request.base_ref</code>.",
6421
+ "eventsOff": "Connector events are in beta and off for this project. Turn them on under Feature flags in Project admin.",
6422
+ "noApps": "No App in this project sends events yet. Deploy an App that POSTs to <code>KORTIX_APP_EVENTS_URL</code>, then pick it here.",
6423
+ "openApps": "Open Apps"
6242
6424
  },
6243
6425
  "gatewayAccess": {
6244
6426
  "heroTitle": "Use this project's models anywhere",
@@ -6265,6 +6447,7 @@ const catalog = {
6265
6447
  "managedTitle": "Kortix Managed Models",
6266
6448
  "managedDescription": "Models from Platinum Inference, at its price plus a {fee}% platform fee, paid from credits. No API key needed.",
6267
6449
  "managedUpgradeHint": "Upgrade to use Kortix's managed models, or connect your own provider.",
6450
+ "managedRowHint": "Use every model without your own API keys. Included with a paid plan.",
6268
6451
  "textImage": "Text + image",
6269
6452
  "textOnly": "Text only",
6270
6453
  "zdrTitle": "Zero data retention",
@@ -6344,35 +6527,32 @@ const catalog = {
6344
6527
  },
6345
6528
  "agentPrincipals": {
6346
6529
  "title": "What this agent can do",
6347
- "description": "People who may run this agent act with these permissions.",
6348
- "kortixPermissions": "Kortix permissions",
6349
- "kortixPermissionsHelp": "Declared in kortix.yaml (agents.{agent}.kortix_permissions).",
6530
+ "description": "Three layers decide it. The agent gets only what all three allow, and people who run it act with the result.",
6531
+ "kortixPermissions": "Granted in kortix.yaml",
6532
+ "kortixPermissionsHelp": "What the project file gives this agent (agents.{agent}.kortix_permissions).",
6350
6533
  "declaredAll": "All",
6351
6534
  "declaredNone": "None",
6352
6535
  "declaredCount": "{count, plural, one {# declared} other {# declared}}",
6353
6536
  "effectiveCount": "{count, plural, one {# permission} other {# permissions}}",
6354
- "ceiling": "Ceiling role",
6355
- "ceilingHelp": "The project role an admin binds to this agent. Kortix permissions never exceed it.",
6537
+ "ceiling": "Maximum allowed",
6538
+ "ceilingHelp": "An admin's cap for this agent, set as a project role. The agent never gets more than this role, whatever kortix.yaml says. With no role set, the default allows every permission except issuing credentials.",
6356
6539
  "ceilingHidden": "Visible to admins",
6357
- "ceilingDefault": "Default agent ceiling",
6540
+ "ceilingDefault": "Default for agents",
6358
6541
  "changeCeiling": "Change",
6359
- "humanOnly": "Human only",
6360
- "humanOnlyHelp": "Issuing project credentials stays with people.",
6361
- "humanOnlyValue": "Never granted",
6362
6542
  "effective": "Effective permissions",
6363
- "effectiveHelp": "Kortix permissions within the ceiling role, minus human-only permissions. project.read is always granted.",
6364
- "outsideCeiling": "Declared, but outside the ceiling role:",
6365
- "droppedHumanOnly": "Declared, but human-only:",
6543
+ "effectiveHelp": "What kortix.yaml grants, cut to the maximum. Issuing project credentials is never granted to an agent. project.read is always included.",
6544
+ "outsideCeiling": "Granted in kortix.yaml, but above the maximum:",
6545
+ "droppedHumanOnly": "Granted in kortix.yaml, but only people may do this:",
6366
6546
  "agentBadge": "Agent",
6367
6547
  "agentsSection": "Agents",
6368
6548
  "searchWithAgents": "Search members, groups, or agents",
6369
- "ceilingNoteTitle": "An agent's role is its ceiling",
6370
- "ceilingNote": "The agent acts with its Kortix permissions from kortix.yaml, within this role. Managing members, deleting the project, and issuing credentials stay with people.",
6371
- "ceilingRemoved": "Agent role removed. The default agent ceiling applies.",
6549
+ "ceilingNoteTitle": "An agent's role is its maximum",
6550
+ "ceilingNote": "The agent acts with what kortix.yaml grants it, never more than this role. Issuing project credentials stays with people.",
6551
+ "ceilingRemoved": "Agent role removed. The default maximum for agents applies.",
6372
6552
  "ceilingRemoveFailed": "Could not remove the agent role.",
6373
- "rowMeta": "Ceiling for its Kortix permissions",
6553
+ "rowMeta": "Maximum for this agent",
6374
6554
  "removeCeilingTitle": "Remove the role of {agent}?",
6375
- "removeCeilingDescription": "The agent falls back to the default agent ceiling on {project}. Its Kortix permissions in kortix.yaml do not change.",
6555
+ "removeCeilingDescription": "The agent falls back to the default maximum for agents on {project}. What kortix.yaml grants it does not change.",
6376
6556
  "appAgentsTitle": "Agents with access",
6377
6557
  "appAgentsEmpty": "No agent lists this App. Add its slug to agents.<name>.apps in kortix.yaml.",
6378
6558
  "appAgentsDeclared": "Declared in {file} (agents.{agent}.apps)",
@@ -6636,7 +6816,6 @@ const catalog = {
6636
6816
  "connectorsEmptyBody": "Browse the catalogue and install an app. Your agents use it once it has an account.",
6637
6817
  "browseApps": "Browse apps",
6638
6818
  "agentsLoadFailed": "Could not load agents",
6639
- "agentsNeedsV2": "Agent access is set in kortix.yaml (kortix_version 2 or later). This project uses kortix.toml.",
6640
6819
  "agentsEmpty": "This project has no agents yet.",
6641
6820
  "agentsIntro": "Choose which agents can use this connector, and which rules they get. Each change is committed to kortix.yaml.",
6642
6821
  "agentsReadOnly": "Only people who can edit agents and connectors can change this.",
@@ -6694,35 +6873,35 @@ const catalog = {
6694
6873
  }
6695
6874
  },
6696
6875
  "reminders": {
6697
- "title": "Reminders",
6698
- "docs": "How reminders work",
6876
+ "title": "Loops",
6877
+ "docs": "How loops work",
6699
6878
  "tabActive": "Active",
6700
6879
  "tabPaused": "Paused",
6701
6880
  "tabDone": "Done",
6702
- "emptyTitle": "No reminders yet",
6703
- "emptyDescription": "Ask an agent in any session to remind you about something. Its reminders show up here.",
6704
- "loadFailed": "Could not load reminders",
6881
+ "emptyTitle": "No loops yet",
6882
+ "emptyDescription": "Ask an agent in any session to check back later, or on repeat. Its loops show up here.",
6883
+ "loadFailed": "Could not load loops",
6705
6884
  "retry": "Retry",
6706
6885
  "sessionFilter": "Session: {name}",
6707
6886
  "clearFilter": "Show all sessions",
6708
6887
  "untitledSession": "Untitled session",
6709
- "columnReminder": "Reminder",
6888
+ "columnReminder": "Loop",
6710
6889
  "columnSchedule": "Schedule",
6711
6890
  "columnSession": "Session",
6712
6891
  "columnWhen": "When",
6713
6892
  "columnActions": "Actions",
6714
- "selectAll": "Select all reminders",
6893
+ "selectAll": "Select all loops",
6715
6894
  "selectReminder": "Select {title}",
6716
6895
  "selectedCount": "{count} selected",
6717
6896
  "clearSelection": "Clear selection",
6718
6897
  "bulkPause": "Pause selected",
6719
6898
  "bulkResume": "Resume selected",
6720
6899
  "bulkRemove": "Remove selected",
6721
- "bulkPaused": "{count, plural, one {Paused # reminder} other {Paused # reminders}}",
6722
- "bulkResumed": "{count, plural, one {Resumed # reminder} other {Resumed # reminders}}",
6723
- "bulkRemoved": "{count, plural, one {Removed # reminder} other {Removed # reminders}}",
6724
- "bulkFailed": "{count, plural, one {# reminder could not be changed} other {# reminders could not be changed}}",
6725
- "bulkRemoveTitle": "{count, plural, one {Remove # reminder?} other {Remove # reminders?}}",
6900
+ "bulkPaused": "{count, plural, one {Paused # loop} other {Paused # loops}}",
6901
+ "bulkResumed": "{count, plural, one {Resumed # loop} other {Resumed # loops}}",
6902
+ "bulkRemoved": "{count, plural, one {Removed # loop} other {Removed # loops}}",
6903
+ "bulkFailed": "{count, plural, one {# loop could not be changed} other {# loops could not be changed}}",
6904
+ "bulkRemoveTitle": "{count, plural, one {Remove # loop?} other {Remove # loops?}}",
6726
6905
  "bulkRemoveDescription": "They stop firing and are deleted. Their sessions keep their history.",
6727
6906
  "once": "Once",
6728
6907
  "every": "Every {period}",
@@ -6733,25 +6912,25 @@ const catalog = {
6733
6912
  "pause": "Pause",
6734
6913
  "resume": "Resume",
6735
6914
  "remove": "Remove",
6736
- "removeTitle": "Remove this reminder?",
6915
+ "removeTitle": "Remove this loop?",
6737
6916
  "removeDescription": "It stops firing and is deleted. The session keeps its history.",
6738
- "paused": "Reminder paused",
6739
- "resumed": "Reminder resumed",
6740
- "removed": "Reminder removed",
6741
- "updateFailed": "Could not update the reminder",
6742
- "chipLabel": "{count, plural, one {# active reminder} other {# active reminders}}",
6743
- "chipTitle": "Reminders on this session",
6744
- "manage": "Manage reminders",
6745
- "openInReminders": "Open in Reminders",
6917
+ "paused": "Loop paused",
6918
+ "resumed": "Loop resumed",
6919
+ "removed": "Loop removed",
6920
+ "updateFailed": "Could not update the loop",
6921
+ "chipLabel": "{count, plural, one {# active loop} other {# active loops}}",
6922
+ "chipTitle": "Loops on this session",
6923
+ "manage": "Manage loops",
6924
+ "openInReminders": "Open in Loops",
6746
6925
  "nextRun": "Next run {time}",
6747
6926
  "repeats": "Repeats",
6748
6927
  "timeZone": "Time zone",
6749
6928
  "lastRun": "Last run",
6750
6929
  "lastRunFailed": "Last run failed",
6751
- "runQueued": "Reminder sent to the session",
6752
- "runFailed": "Could not run the reminder",
6930
+ "runQueued": "Loop sent to the session",
6931
+ "runFailed": "Could not run the loop",
6753
6932
  "neverRun": "Not run yet",
6754
- "searchPlaceholder": "Search reminders",
6933
+ "searchPlaceholder": "Search loops",
6755
6934
  "statusAll": "All",
6756
6935
  "timeFilterLabel": "Next run",
6757
6936
  "timeAny": "Any time",
@@ -6759,18 +6938,18 @@ const catalog = {
6759
6938
  "timeDay": "Next 24 hours",
6760
6939
  "timeWeek": "Next 7 days",
6761
6940
  "timeLater": "Later",
6762
- "noMatch": "No reminders match",
6763
- "cardLabel": "Reminder",
6941
+ "noMatch": "No loops match",
6942
+ "cardLabel": "Loop",
6764
6943
  "cardOneTime": "One-time",
6765
6944
  "cardRecurring": "Recurring",
6766
6945
  "cardManage": "Manage",
6767
- "gateDescription": "Turn on Reminders to let agents and people schedule check-ins that re-prompt a session.",
6946
+ "gateDescription": "Turn on Loops to let agents and people schedule check-ins that re-prompt a session.",
6768
6947
  "emptyActive": "Nothing active",
6769
- "emptyPaused": "Nothing paused — pause a reminder to stop it firing without removing it",
6948
+ "emptyPaused": "Nothing paused — pause a loop to stop it firing without removing it",
6770
6949
  "emptyDone": "Nothing done yet",
6771
6950
  "allSessions": "All sessions",
6772
6951
  "clearSessionFilter": "Clear session filter",
6773
- "filterFooter": "{count} of {total, plural, one {# reminder} other {# reminders}}",
6952
+ "filterFooter": "{count} of {total, plural, one {# loop} other {# loops}}",
6774
6953
  "viewLabel": "View",
6775
6954
  "viewList": "List",
6776
6955
  "viewCalendar": "Calendar",
@@ -6788,7 +6967,7 @@ const catalog = {
6788
6967
  "calendarPreviousMonth": "Previous month",
6789
6968
  "calendarNextMonth": "Next month",
6790
6969
  "calendarMore": "+{count} more",
6791
- "calendarMoreOn": "{count, plural, one {# more reminder} other {# more reminders}} on {date}",
6970
+ "calendarMoreOn": "{count, plural, one {# more loop} other {# more loops}} on {date}",
6792
6971
  "calendarSession": "Session",
6793
6972
  "calendarEmptyWeek": "Nothing fires this week",
6794
6973
  "calendarEmptyDay": "Nothing fires this day",
@@ -6802,7 +6981,8 @@ const catalog = {
6802
6981
  "calendarFiredSr": "Fired",
6803
6982
  "calendarFailed": "Failed",
6804
6983
  "calendarEstimatedSr": "Past fire, estimated from the schedule",
6805
- "calendarUpcomingSr": "Upcoming"
6984
+ "calendarUpcomingSr": "Upcoming",
6985
+ "onEvent": "On an event"
6806
6986
  },
6807
6987
  "chrome": {
6808
6988
  "pill": "Kortix in Chrome",
@@ -7385,22 +7565,22 @@ const catalog = {
7385
7565
  }
7386
7566
  },
7387
7567
  "automationsPause": {
7388
- "groupTitle": "Automations",
7389
- "groupDescription": "Schedules, reminders, webhooks, app events and monitors in every project of this account.",
7390
- "label": "Pause all automations",
7391
- "description": "Nothing in any project runs on its own: no schedule, reminder, webhook, app event or monitor. Running a trigger by hand still works.",
7392
- "readOnlyDescription": "Only an owner or admin can pause or resume automations.",
7568
+ "groupTitle": "Triggers",
7569
+ "groupDescription": "Schedules, loops, webhooks, app events and monitors in every project of this account.",
7570
+ "label": "Pause all triggers",
7571
+ "description": "Nothing in any project runs on its own: no schedule, loop, webhook, app event or monitor. Running a trigger by hand still works.",
7572
+ "readOnlyDescription": "Only an owner or admin can pause or resume triggers.",
7393
7573
  "pausedSince": "Paused since {date}.",
7394
- "pauseTitle": "Pause all automations?",
7574
+ "pauseTitle": "Pause all triggers?",
7395
7575
  "pauseDescription": "Every project of this account stops starting sessions on its own until you resume. Webhooks are acknowledged and skipped.",
7396
7576
  "pauseConfirm": "Pause all",
7397
- "resumeTitle": "Resume all automations?",
7577
+ "resumeTitle": "Resume all triggers?",
7398
7578
  "resumeDescription": "Triggers run on their own again. A schedule missed while paused runs once.",
7399
7579
  "resumeConfirm": "Resume all",
7400
- "pausedToast": "All automations paused",
7401
- "resumedToast": "All automations resumed",
7402
- "failedToast": "Couldn't change automations. Try again.",
7403
- "bannerTitle": "All automations in this account are paused",
7580
+ "pausedToast": "All triggers paused",
7581
+ "resumedToast": "All triggers resumed",
7582
+ "failedToast": "Couldn't change triggers. Try again.",
7583
+ "bannerTitle": "All triggers in this account are paused",
7404
7584
  "bannerDescription": "Nothing here runs on its own until an owner or admin resumes them in account settings. Running a trigger by hand still works."
7405
7585
  },
7406
7586
  "triggerConditions": {
@@ -7516,13 +7696,15 @@ const catalog = {
7516
7696
  "threadLoadError": "Could not load this thread. Try again.",
7517
7697
  "join": "Join",
7518
7698
  "openRoom": "Open",
7519
- "gateDescription": "Turn on Rooms to let agent sessions and people of this project talk in named chat rooms."
7699
+ "gateDescription": "Turn on Rooms to let agent sessions and people of this project talk in named chat rooms.",
7700
+ "archivedNotice": "This room is archived. It keeps its messages and takes no new ones."
7520
7701
  },
7521
7702
  "goals": {
7522
7703
  "title": "Goals",
7523
7704
  "gateDescription": "Agents own an objective until it is verifiably done: the goal lives in Files, a daily heartbeat wakes it, the agent chases people for what it needs, and an independent check closes it.",
7524
7705
  "empty": "No goals yet",
7525
- "emptyHint": "Start one in a session: describe the outcome, for example \"make sure our old bank account is closed\". The agent creates the goal and it shows here.",
7706
+ "emptyHint": "A goal is an outcome an agent works on until a check confirms it is done. Start one here, or say \"make this a goal\" in any chat.",
7707
+ "spaceEmpty": "No goals in {space} yet",
7526
7708
  "loadError": "Could not load goals. Try again.",
7527
7709
  "retry": "Try again",
7528
7710
  "needsYou": "Needs you",
@@ -7547,6 +7729,7 @@ const catalog = {
7547
7729
  "waiting_external": "Waiting",
7548
7730
  "verifying": "Verifying",
7549
7731
  "done": "Done",
7732
+ "stopped": "Stopped",
7550
7733
  "abandoned": "Abandoned"
7551
7734
  },
7552
7735
  "health": {
@@ -7555,13 +7738,13 @@ const catalog = {
7555
7738
  "closed": "Closed"
7556
7739
  },
7557
7740
  "issue": {
7558
- "no_heartbeat": "Nothing will wake this goal: its heartbeat reminder is missing.",
7559
- "heartbeat_paused": "The heartbeat reminder is paused.",
7741
+ "no_heartbeat": "Nothing will wake this goal: its heartbeat loop is missing.",
7742
+ "heartbeat_paused": "The heartbeat loop is paused.",
7560
7743
  "heartbeat_failed": "The last wake failed: {error}",
7561
7744
  "missed_wake": "The last wake is overdue.",
7562
7745
  "ask_overdue": "An ask is past its due time.",
7563
7746
  "verification_stalled": "Verification started more than 24 hours ago.",
7564
- "unreadable": "goal.json is missing or is not valid JSON."
7747
+ "unreadable": "GOAL.md is missing or has no goal front matter."
7565
7748
  },
7566
7749
  "sessionChip": "Goal",
7567
7750
  "sessionRole": {
@@ -7574,7 +7757,7 @@ const catalog = {
7574
7757
  "openFolder": "Open folder",
7575
7758
  "back": "All goals",
7576
7759
  "healthTitle": "Health",
7577
- "successCriteria": "Success criteria",
7760
+ "successCriteria": "Done criteria",
7578
7761
  "met": "Met",
7579
7762
  "notMet": "Not met",
7580
7763
  "items": "Items",
@@ -7594,6 +7777,7 @@ const catalog = {
7594
7777
  "due": "Due {time}",
7595
7778
  "sessions": "Sessions",
7596
7779
  "role": {
7780
+ "owner": "Owner",
7597
7781
  "coordinator": "Main session",
7598
7782
  "worker": "Worker",
7599
7783
  "verifier": "Verifier"
@@ -7602,11 +7786,376 @@ const catalog = {
7602
7786
  "verification": "Verification",
7603
7787
  "notes": "Notes",
7604
7788
  "log": "Log",
7605
- "notFound": "This goal no longer exists."
7789
+ "notFound": "This goal no longer exists.",
7790
+ "showAll": "Show all",
7791
+ "spaceScope": "{space} · {scope}",
7792
+ "allGoals": "All",
7793
+ "assignedToMe": "Assigned to me",
7794
+ "noneAssigned": "No goals are assigned to you",
7795
+ "lastWake": "Last wake {time}",
7796
+ "assignedUser": "For",
7797
+ "assignedAgent": "Agent",
7798
+ "you": "You",
7799
+ "anotherMember": "A teammate",
7800
+ "wakesToday": "Wakes today",
7801
+ "ofMax": "{count} of {max}",
7802
+ "links": "Links",
7803
+ "context": "Context",
7804
+ "share": "Share",
7805
+ "stop": "Stop goal",
7806
+ "stopTitle": "Stop this goal?",
7807
+ "stopDescription": "Nothing wakes it again. Its folder stays in Files.",
7808
+ "stopReason": "Stopped from the Goal page",
7809
+ "stoppedToast": "Goal stopped",
7810
+ "stopError": "Could not stop the goal. Try again.",
7811
+ "needsAttention": "Needs attention",
7812
+ "newGoal": "New goal",
7813
+ "newGoalTitle": "New goal",
7814
+ "newGoalDescription": "Describe the outcome. An agent writes the goal and its done criteria, then works it until a check confirms it is done.",
7815
+ "newGoalPlaceholder": "For example: our docs site is live on docs.example.com",
7816
+ "newGoalStart": "Start goal",
7817
+ "cancel": "Cancel",
7818
+ "forPerson": "for {person}",
7819
+ "answerInChat": "Answer in chat",
7820
+ "forYou": "for you",
7821
+ "forMember": "for a teammate"
7606
7822
  },
7607
7823
  "agentEditor": {
7608
7824
  "manage": "Manage",
7609
- "overviewTitle": "Overview"
7825
+ "overviewTitle": "Overview",
7826
+ "page": {
7827
+ "description": "Description",
7828
+ "descriptionPlaceholder": "What this agent does, in one line",
7829
+ "descriptionHelp": "One line on what this agent does. Other agents read it when they pick a subagent.",
7830
+ "descriptionHelpSubagent": "Required. Other agents read it to decide when to call this one.",
7831
+ "builtIn": "Built-in",
7832
+ "default": "Default",
7833
+ "disabled": "Disabled",
7834
+ "kindPrimary": "Agent",
7835
+ "kindSubagent": "Subagent",
7836
+ "kindBoth": "Agent and subagent",
7837
+ "instructions": "Instructions",
7838
+ "instructionsEdit": "Edit instructions",
7839
+ "instructionsWrite": "Write instructions",
7840
+ "instructionsEmpty": "Instructions you write will show up here",
7841
+ "words": "{count, plural, one {# word} other {# words}}",
7842
+ "access": "Access",
7843
+ "runtime": "Runtime",
7844
+ "use": "Use",
7845
+ "all": "All",
7846
+ "none": "None",
7847
+ "selected": "{count} selected",
7848
+ "required": "{count, plural, one {# required before a session starts} other {# required before a session starts}}",
7849
+ "projectDefault": "Project default",
7850
+ "repoAccess": "Can read and push the repository",
7851
+ "noRepoAccess": "No repository access",
7852
+ "granted": "{count, plural, one {# grant} other {# grants}}",
7853
+ "triggers": "{count, plural, one {# trigger} other {# triggers}}",
7854
+ "builtInHint": "The one agent you talk to. It runs the agents below for you."
7855
+ },
7856
+ "tabs": {
7857
+ "tabsLabel": "Agent sections",
7858
+ "tabOverview": "Overview",
7859
+ "tabInstructions": "Instructions",
7860
+ "tabAccess": "Access",
7861
+ "tabRuntime": "Runtime",
7862
+ "tabTriggers": "Triggers",
7863
+ "tabPeople": "People",
7864
+ "unsavedTab": "Unsaved changes",
7865
+ "canUse": "{name} can use",
7866
+ "grantAllHint": "Every one in this project, including ones added later.",
7867
+ "grantSpecificHint": "Only the ones switched on below.",
7868
+ "grantNoneHint": "Nothing. Choose Specific to pick some, or All.",
7869
+ "enabled": "Enabled",
7870
+ "off": "Off",
7871
+ "on": "On",
7872
+ "projectWide": "Project-wide",
7873
+ "spaceValue": "Space: {space}",
7874
+ "startPrimary": "People start it",
7875
+ "startSubagent": "Agents call it",
7876
+ "startBoth": "People and agents can start it",
7877
+ "startDisabled": "This agent is off.",
7878
+ "startSubagentBlocked": "Subagents are called by other agents, not started directly.",
7879
+ "defaultAgent": "Default agent",
7880
+ "actsAsYou": "Acts as the person who starts the session",
7881
+ "askToEditAgent": "Ask My Kortix to edit",
7882
+ "deleteAgent": "Delete {name}",
7883
+ "deleteTitle": "Delete {name}?",
7884
+ "deleteBody": "My Kortix opens a change request that removes this agent from kortix.yaml. Nothing changes until you merge it.",
7885
+ "deletePrompt": "Delete the \"{name}\" agent (its config lives at `{path}`): remove it from kortix.yaml and remove its triggers. Then open a change request so I can review and merge it.",
7886
+ "leaveTitle": "Leave with unsaved changes?",
7887
+ "leaveBody": "Your changes to {tabs} are not saved.",
7888
+ "stay": "Stay",
7889
+ "leave": "Leave",
7890
+ "saveAndLeave": "Save and leave",
7891
+ "loadError": "Could not load this project's agents.",
7892
+ "configLoadError": "Could not load the settings of {name}.",
7893
+ "details": "Details",
7894
+ "notFoundTitle": "This agent does not exist",
7895
+ "notFoundHeader": "Agent not found",
7896
+ "notFoundBody": "No agent named <name></name> is declared in this project.",
7897
+ "didYouMean": "Did you mean <link></link>?",
7898
+ "allAgents": "All agents",
7899
+ "allAgentsCount": "All {count} agents",
7900
+ "accessKindConnectors": "Connectors",
7901
+ "accessKindSecrets": "Secrets",
7902
+ "accessKindActions": "Permissions",
7903
+ "newSpace": "New space…",
7904
+ "newSpacePlaceholder": "space-name",
7905
+ "managersOnly": "Managers only",
7906
+ "projectModelsLink": "Project models, providers and routing are in <link>Project admin</link>.",
7907
+ "reviewLead": "What your agents need from you: decisions, approvals and finished work.",
7908
+ "readOnlyTitle": "You can view this agent",
7909
+ "readOnlyBody": "Editing needs <code>project.agent.write</code>. A project manager can grant it in Project admin > Members.",
7910
+ "about": "About",
7911
+ "noDescription": "No description yet.",
7912
+ "summaryLead": "{name} can use",
7913
+ "summaryNone": "{name} has no access yet: no skills, connectors, secrets or permissions.",
7914
+ "summaryCount": {
7915
+ "tools": "{count, plural, one {# tool} other {# tools}}",
7916
+ "skills": "{count, plural, one {# skill} other {# skills}}",
7917
+ "connectors": "{count, plural, one {# connector} other {# connectors}}",
7918
+ "secrets": "{count, plural, one {# secret} other {# secrets}}",
7919
+ "apps": "{count, plural, one {# App} other {# Apps}}",
7920
+ "actions": "{count, plural, one {# Kortix permission} other {# Kortix permissions}}",
7921
+ "subagents": "{count, plural, one {# subagent} other {# subagents}}",
7922
+ "commands": "{count, plural, one {# command} other {# commands}}",
7923
+ "extensions": "{count, plural, one {# extension} other {# extensions}}"
7924
+ },
7925
+ "summaryExcept": "{all} except {list}",
7926
+ "summaryAll": {
7927
+ "tools": "every tool",
7928
+ "skills": "every skill",
7929
+ "connectors": "every connector",
7930
+ "secrets": "every secret",
7931
+ "apps": "every App",
7932
+ "actions": "every Kortix permission",
7933
+ "subagents": "every subagent",
7934
+ "commands": "every command",
7935
+ "extensions": "every extension"
7936
+ },
7937
+ "accessHint": "What {name} can reach in a session",
7938
+ "drivesDetail": "Shared drives its sessions mount",
7939
+ "detailAll": "Everything in this project",
7940
+ "detailNone": "Nothing granted",
7941
+ "countOf": "{count} of {total}",
7942
+ "needsSignIn": "{count} needs sign-in",
7943
+ "needsSignInShort": "Needs sign-in",
7944
+ "availability": "Availability",
7945
+ "enabledHelp": "Off stops new sessions of {name}.",
7946
+ "showInPickers": "Show in pickers",
7947
+ "showInPickersHelp": "People pick it when they start a session.",
7948
+ "whoStarts": "Who can start it",
7949
+ "modeDefault": "Project default",
7950
+ "space": "Space",
7951
+ "model": "Model",
7952
+ "tools": "Tools",
7953
+ "workspace": "Workspace",
7954
+ "use": "Use",
7955
+ "triggers": "Triggers",
7956
+ "people": "People",
7957
+ "manage": "Manage",
7958
+ "savedIn": "Saved in <file></file> under <key></key>. Instructions live in <source></source>.",
7959
+ "instructionsHint": "The system prompt for every session of {name}.",
7960
+ "instructionsPlaceholder": "Describe the agent's role, how it works and what it never does.",
7961
+ "editorView": "Editor view",
7962
+ "write": "Write",
7963
+ "preview": "Preview",
7964
+ "split": "Split",
7965
+ "askToEdit": "Ask My Kortix to edit",
7966
+ "fullScreen": "Full screen",
7967
+ "exitFullScreen": "Exit full screen",
7968
+ "myKortixPromise": "The one agent you talk to. It routes each task to the agent made for it and runs it, with your permissions.",
7969
+ "myKortixNoInstructions": "My Kortix is built in, so it has no instructions to edit here. To change how work gets done, change the agents it runs.",
7970
+ "composerLabel": "Ask My Kortix",
7971
+ "composerPlaceholder": "Ask My Kortix to create an agent, or to change what one may do",
7972
+ "composerNote": "Every change opens as a change request you approve.",
7973
+ "chipCreate": "Create an agent that ",
7974
+ "chipNarrow": "Narrow an agent to the access its work needs",
7975
+ "chipReview": "Which agents can reach secrets?",
7976
+ "send": "Send",
7977
+ "newAgent": "New agent",
7978
+ "newAgentHelp": "My Kortix writes the agent into kortix.yaml and opens a change request.",
7979
+ "name": "Name",
7980
+ "namePlaceholder": "market-scan",
7981
+ "nameHelp": "Lowercase letters, digits and dashes. Saved as <slug></slug>.",
7982
+ "nameTaken": "An agent with this name already exists.",
7983
+ "howToStart": "How to start",
7984
+ "startDescribe": "Describe it to My Kortix",
7985
+ "startDescribeHelp": "My Kortix drafts the instructions and grants only the access the work needs.",
7986
+ "startBlank": "Start blank",
7987
+ "startBlankHelp": "No instructions and no access. You fill in every tab.",
7988
+ "startDuplicate": "Duplicate an agent",
7989
+ "startDuplicateHelp": "Copies another agent's instructions and access.",
7990
+ "copyOf": "Copy of",
7991
+ "pickAgent": "Choose an agent",
7992
+ "whatItDoes": "What it does",
7993
+ "whatItDoesPlaceholder": "Scans competitor pricing pages every Monday and posts a short summary.",
7994
+ "descriptionPlaceholderShort": "One line on what this agent does",
7995
+ "createAgent": "Create agent",
7996
+ "agentsLead": "You talk to My Kortix. It runs these agents, each with only the access its work needs.",
7997
+ "agentsLoadError": "Could not load this project's agents.",
7998
+ "workAgents": "Work agents",
7999
+ "colAgent": "Agent",
8000
+ "colStatus": "Status",
8001
+ "noAccess": "No access",
8002
+ "accessCount": {
8003
+ "connectors": "{count, plural, one {# connector} other {# connectors}}",
8004
+ "secrets": "{count, plural, one {# secret} other {# secrets}}",
8005
+ "actions": "{count, plural, one {# permission} other {# permissions}}"
8006
+ },
8007
+ "accessAll": {
8008
+ "connectors": "all connectors",
8009
+ "secrets": "all secrets",
8010
+ "actions": "all permissions"
8011
+ },
8012
+ "review": "Review",
8013
+ "settings": "Settings",
8014
+ "color": "Color",
8015
+ "properties": "Properties",
8016
+ "status": "Status",
8017
+ "statusEnabled": "Enabled",
8018
+ "statusDisabled": "Disabled",
8019
+ "inPickers": "In pickers",
8020
+ "pickerShown": "Shown",
8021
+ "pickerHidden": "Hidden",
8022
+ "startedBy": "Started by",
8023
+ "inThePicker": "In the picker",
8024
+ "source": "Source",
8025
+ "sourceConfig": "Config",
8026
+ "sourceKey": "Key",
8027
+ "sourceInstructions": "Instructions",
8028
+ "colorBlue": "Blue",
8029
+ "colorPurple": "Purple",
8030
+ "colorGreen": "Green",
8031
+ "colorYellow": "Yellow",
8032
+ "colorOrange": "Orange",
8033
+ "colorRed": "Red",
8034
+ "colorNone": "No color",
8035
+ "colorCustom": "Custom color",
8036
+ "ruleAllow": "Allow",
8037
+ "ruleAsk": "Ask",
8038
+ "ruleDeny": "Deny",
8039
+ "ruleCustom": "Rules",
8040
+ "approvalTitle": "Approval rules",
8041
+ "approvalAsk": "{count, plural, one {# tool asks} other {# tools ask}} before it runs.",
8042
+ "approvalDenied": "{list} is denied.",
8043
+ "approvalNone": "No approval rules. Every tool follows the runtime default.",
8044
+ "editRules": "Edit rules",
8045
+ "hideRules": "Hide rules",
8046
+ "addConnector": "Add connector",
8047
+ "policySetsNote": "Policy sets come from <file></file>. A connector with no set uses its default actions.",
8048
+ "previewDrafted": "Drafted by My Kortix",
8049
+ "previewEmpty": "Empty",
8050
+ "previewCopied": "Copied",
8051
+ "previewAccessScoped": "Only what the work needs",
8052
+ "previewAccessNone": "None",
8053
+ "editInstructionsConfirmTitle": "Please confirm",
8054
+ "editInstructionsConfirmBody": "Are you sure you want to edit the instructions? My Kortix starts a new session to make the change.",
8055
+ "colorHelp": "The agent's color in pickers. Saved in kortix.yaml; the pi runtime does not use it yet.",
8056
+ "providerOptions": "Provider options",
8057
+ "providerOptionsHelp": "Extra settings for the model provider, as JSON. Saved in kortix.yaml; the pi runtime does not apply them yet.",
8058
+ "providerOptionsInvalid": "Not valid JSON. The saved value stays until it parses.",
8059
+ "networkEgress": "Network egress",
8060
+ "networkEgressDeclared": "Deny all, declared in kortix.yaml. Not enforced yet: sessions can still reach the network.",
8061
+ "networkEgressNone": "Not declared",
8062
+ "requiredConnectors": "Required connectors",
8063
+ "requiredConnectorsHelp": "Listed in kortix.yaml (connectors_required). Not enforced: sessions start without them.",
8064
+ "models": "Models",
8065
+ "tabCapabilities": "Capabilities",
8066
+ "pinToSidebar": "Pin to sidebar",
8067
+ "unpinFromSidebar": "Unpin from sidebar",
8068
+ "spaceHelp": "The space this agent works in: a slug like engineering or sales. Empty: Project-wide.",
8069
+ "spacePlaceholder": "e.g. engineering"
8070
+ },
8071
+ "myKortix": {
8072
+ "allowed": "Allowed",
8073
+ "notAllowed": "Not allowed",
8074
+ "on": "On",
8075
+ "goalsOff": "Goals off",
8076
+ "asYou": "As you",
8077
+ "noAccess": "No access",
8078
+ "denied": "Needs <code>{grant}</code>. Anyone who manages this project can grant it.",
8079
+ "capabilities": {
8080
+ "title": "Capabilities",
8081
+ "configure": {
8082
+ "label": "Configure your agents",
8083
+ "help": "Creates and narrows agents in kortix.yaml with only the tools, skills, connectors and permissions a task needs. It asks before it widens a grant."
8084
+ },
8085
+ "delegate": {
8086
+ "label": "Delegate work",
8087
+ "help": "Starts each task as a durable cloud session of the narrowest agent, waits for it, and reports the verified result."
8088
+ },
8089
+ "goals": {
8090
+ "label": "Run goals",
8091
+ "help": "Starts a goal coordinator session that owns the objective until a verifier confirms it, with a daily check-in."
8092
+ },
8093
+ "spaces": {
8094
+ "label": "Build spaces",
8095
+ "help": "Adds and arranges a space's blocks in kortix.yaml through a change request."
8096
+ }
8097
+ },
8098
+ "access": {
8099
+ "title": "Access",
8100
+ "asYou": {
8101
+ "label": "Your permissions, in this project",
8102
+ "help": "Every action runs as the person who started the session. It never holds more than you do."
8103
+ },
8104
+ "otherProjects": {
8105
+ "label": "Other projects and account settings",
8106
+ "help": "Its access ends at this project."
8107
+ },
8108
+ "tokens": {
8109
+ "label": "New tokens",
8110
+ "help": "It cannot mint a credential for itself or anyone else."
8111
+ },
8112
+ "secrets": {
8113
+ "label": "Project secrets",
8114
+ "help": "An agent granted the secret uses it instead."
8115
+ },
8116
+ "connectors": {
8117
+ "label": "Direct connector calls",
8118
+ "help": "It hands connector work to an agent granted that connector."
8119
+ }
8120
+ },
8121
+ "agents": {
8122
+ "title": "Agents",
8123
+ "empty": "Agents you create will show up here"
8124
+ },
8125
+ "project": {
8126
+ "title": "Project setting",
8127
+ "label": "My Kortix",
8128
+ "help": "New sessions start with My Kortix. Kortix maintains its prompt and tools. To turn it off, set <code>builtin_agents.my_kortix: false</code> in kortix.yaml."
8129
+ }
8130
+ },
8131
+ "modelView": {
8132
+ "title": "Model",
8133
+ "help": "How this agent thinks.",
8134
+ "projectDefault": "Project default",
8135
+ "followsDefault": "Follows the project default.",
8136
+ "pinned": "Pinned for this agent",
8137
+ "followDefault": "Follow the project default",
8138
+ "pinModel": "Pin a model",
8139
+ "thinkingEffort": "Thinking effort",
8140
+ "auto": "Auto",
8141
+ "effortAutoHelp": "Auto: the model decides per turn.",
8142
+ "effortSetHelp": "Every run of this agent uses this effort.",
8143
+ "effortNoVariantsHelp": "Pin a model to pick its effort, or type a variant id.",
8144
+ "samplingTitle": "Sampling and limits",
8145
+ "samplingHelp": "How the model samples, and how many tool calls one run may make.",
8146
+ "temperature": "Temperature",
8147
+ "temperatureMin": "0 · same answer every time",
8148
+ "temperatureMax": "2 · most random",
8149
+ "topP": "Top-p",
8150
+ "topPHelp": "Nucleus sampling. Leave it alone unless you are tuning the model.",
8151
+ "reset": "Reset",
8152
+ "stepLimit": "Step limit",
8153
+ "stepLimitHelp": "Most tool calls this agent may make in one run.",
8154
+ "noLimit": "No limit",
8155
+ "steps": "steps",
8156
+ "jsonNotSet": "JSON · not set",
8157
+ "jsonSet": "JSON · set"
8158
+ }
7610
8159
  },
7611
8160
  "turnShare": {
7612
8161
  "shareResponse": "Share response",
@@ -7638,6 +8187,265 @@ const catalog = {
7638
8187
  "fallbackTitle": "Shared response",
7639
8188
  "stopNote": "The link will stop working."
7640
8189
  },
8190
+ "artifacts": {
8191
+ "title": "Artifacts",
8192
+ "gateDescription": "Share docs and HTML pages from Files with your team or anyone with a link. Docs edit in place; every save is a version.",
8193
+ "type": {
8194
+ "doc": "Doc",
8195
+ "html": "HTML"
8196
+ },
8197
+ "scope": {
8198
+ "all": "All",
8199
+ "mine": "Yours",
8200
+ "shared": "Shared with you",
8201
+ "pinned": "Pinned"
8202
+ },
8203
+ "search": "Search artifacts",
8204
+ "loadError": "Could not load artifacts.",
8205
+ "retry": "Try again",
8206
+ "empty": "No artifacts yet",
8207
+ "emptyHint": "Ask an agent for a doc, a deck or a dashboard, or start a new doc.",
8208
+ "emptyFiltered": "No artifacts match",
8209
+ "moveTo": "Move to space",
8210
+ "projectWide": "Project-wide",
8211
+ "moved": "Artifact moved",
8212
+ "moveFailed": "Could not move the artifact",
8213
+ "updated": "Updated {time}",
8214
+ "pinned": "Pinned",
8215
+ "visibility": {
8216
+ "private": "Private",
8217
+ "project": "Project",
8218
+ "public": "Public"
8219
+ },
8220
+ "visibilityHint": {
8221
+ "private": "Only you and the people you add.",
8222
+ "project": "Everyone in this project.",
8223
+ "public": "Anyone with the link, without signing in."
8224
+ },
8225
+ "actions": "Actions",
8226
+ "openNewTab": "Open in new tab",
8227
+ "pin": "Pin",
8228
+ "unpin": "Unpin",
8229
+ "share": "Share",
8230
+ "rename": "Rename",
8231
+ "shareTitle": "Share “{title}”",
8232
+ "shareHint": "Choose who can open this artifact.",
8233
+ "generalAccess": "General access",
8234
+ "people": "People with access",
8235
+ "appLink": "Link",
8236
+ "publicLink": "Public link",
8237
+ "copyLink": "Copy",
8238
+ "linkCopied": "Link copied",
8239
+ "publicAfterSave": "The public link works after you save.",
8240
+ "shareSaved": "Sharing updated",
8241
+ "cancel": "Cancel",
8242
+ "save": "Save",
8243
+ "back": "Back to artifacts",
8244
+ "current": "Current",
8245
+ "viewingOld": "You are viewing the version from {time}.",
8246
+ "backToCurrent": "Back to current",
8247
+ "restore": "Restore",
8248
+ "restored": "Restored as a new save",
8249
+ "bold": "Bold",
8250
+ "italic": "Italic",
8251
+ "bulletList": "Bulleted list",
8252
+ "link": "Link",
8253
+ "linkPrompt": "Link URL",
8254
+ "fullScreen": "Full screen",
8255
+ "askAgent": "Ask AI",
8256
+ "askAgentTitle": "Ask an agent to change this artifact",
8257
+ "askAgentHint": "Starts a session that edits “{title}” in Files and replies with its link.",
8258
+ "askAgentPlaceholder": "What should change?",
8259
+ "notFoundTitle": "This artifact is not available",
8260
+ "notFoundHint": "It was deleted, or its owner stopped sharing it.",
8261
+ "busyTitle": "Kortix is busy",
8262
+ "busyHint": "Try again in a minute.",
8263
+ "tryKortix": "Try Kortix",
8264
+ "docStatus": {
8265
+ "unsaved": "Unsaved changes",
8266
+ "saving": "Saving…",
8267
+ "error": "Not saved. Retrying…",
8268
+ "conflict": "Changed elsewhere"
8269
+ },
8270
+ "placeholder": "Write, or type / for blocks",
8271
+ "placeholderHeading": "Title",
8272
+ "strike": "Strikethrough",
8273
+ "inlineCode": "Code",
8274
+ "heading1": "Heading 1",
8275
+ "heading2": "Heading 2",
8276
+ "heading3": "Heading 3",
8277
+ "quote": "Quote",
8278
+ "numberedList": "Numbered list",
8279
+ "taskList": "Task list",
8280
+ "codeBlock": "Code block",
8281
+ "table": "Table",
8282
+ "image": "Image",
8283
+ "divider": "Divider",
8284
+ "imagePrompt": "Image URL",
8285
+ "addRow": "Add row",
8286
+ "addColumn": "Add column",
8287
+ "deleteRow": "Delete row",
8288
+ "deleteTable": "Delete table",
8289
+ "conflict": "This doc changed in Files after you opened it (an agent or another tab saved it). Your edits are still here.",
8290
+ "newDoc": "New doc",
8291
+ "untitledDoc": "Untitled doc",
8292
+ "history": "History",
8293
+ "historyEmpty": "No saves in the recent history of Files.",
8294
+ "saves": "{count} saves",
8295
+ "viewing": "Viewing",
8296
+ "exportPdf": "Export as PDF",
8297
+ "openInFiles": "Show in Files",
8298
+ "remove": "Stop sharing",
8299
+ "removeTitle": "Stop sharing this artifact?",
8300
+ "removeHint": "It leaves Artifacts and its links stop working. Its files stay in Files.",
8301
+ "removed": "No longer shared",
8302
+ "mediaSingleFile": "Images and videos need a doc in its own folder. Publish the doc as a folder to add media.",
8303
+ "mediaTooLarge": "This file is larger than 16 MB.",
8304
+ "refresh": "Refresh",
8305
+ "diagramEdit": "Edit diagram",
8306
+ "diagramDone": "Done",
8307
+ "codeLanguage": "Code language",
8308
+ "editedAgo": "Edited {time}",
8309
+ "openFullPage": "Open full page",
8310
+ "close": "Close",
8311
+ "conflictReload": "Reload theirs",
8312
+ "conflictKeepMine": "Keep mine",
8313
+ "discussion": {
8314
+ "comments": "Comments",
8315
+ "activity": "Activity",
8316
+ "open": "Open",
8317
+ "resolved": "Resolved",
8318
+ "all": "All",
8319
+ "outdated": "Outdated",
8320
+ "outdatedHint": "This passage cannot be located in the current document.",
8321
+ "newComment": "New comment",
8322
+ "annotationMode": "Pin a comment",
8323
+ "annotationModeHint": "Click an element to pin a comment. Drag to mark a region.",
8324
+ "annotationLoading": "Loading annotations…",
8325
+ "annotationUnavailable": "Annotations are unavailable. Choose {refresh} in {actions} to try again.",
8326
+ "commentLabel": "Comment",
8327
+ "commentPlaceholder": "Leave feedback or mention someone…",
8328
+ "replyLabel": "Reply",
8329
+ "replyPlaceholder": "Write a reply…",
8330
+ "postComment": "Comment",
8331
+ "postReply": "Reply",
8332
+ "saveEdit": "Save changes",
8333
+ "cancel": "Cancel",
8334
+ "edit": "Edit",
8335
+ "delete": "Delete",
8336
+ "deleteTitle": "Delete comment?",
8337
+ "deleteDescription": "This comment will be permanently removed.",
8338
+ "commentDeleted": "Comment deleted",
8339
+ "threadDeleted": "This thread was deleted.",
8340
+ "resolve": "Resolve",
8341
+ "reopen": "Reopen",
8342
+ "edited": "Edited",
8343
+ "commentActions": "Comment actions",
8344
+ "focusThread": "Show passage",
8345
+ "quoteLabel": "Selected passage",
8346
+ "waitingForPerson": "Waiting for a person",
8347
+ "deliveryFailed": "Could not send feedback to the agent.",
8348
+ "sendToAgent": "Send to agent ({count})",
8349
+ "sendExisting": "This Artifact’s session",
8350
+ "sendNew": "A new {agent} session",
8351
+ "sendFailed": "Could not send these comments. Try again.",
8352
+ "retrySend": "Retry send ({count})",
8353
+ "discardSend": "Discard and use latest comments",
8354
+ "sendRetryHint": "The previous request may have completed. Retry it to confirm, or discard it before starting a new request.",
8355
+ "sendBatchHint": "This batch contains {count} of {total} threads.",
8356
+ "commentFailed": "Could not save your comment. Try again.",
8357
+ "statusFailed": "Could not change this thread. Try again.",
8358
+ "deleteFailed": "Could not delete this comment. Try again.",
8359
+ "commentsLoadError": "Could not load comments.",
8360
+ "contextLoadError": "Could not load comment permissions.",
8361
+ "activityLoadError": "Could not load activity.",
8362
+ "retry": "Try again",
8363
+ "noComments": "No open comments",
8364
+ "noCommentsHint": "Select a passage or leave feedback below.",
8365
+ "noResolved": "No resolved comments",
8366
+ "noResolvedHint": "Resolved threads appear here.",
8367
+ "noAllComments": "No comments yet",
8368
+ "noActivity": "No activity yet",
8369
+ "noActivityHint": "Saves and comments appear here.",
8370
+ "loadMore": "Load more",
8371
+ "olderSaves": "Older saves may be unavailable in this history.",
8372
+ "historicalReadOnly": "Comments on this version are read-only.",
8373
+ "mentionPeople": "People",
8374
+ "mentionAgents": "Agents",
8375
+ "sourceSession": "Artifact session",
8376
+ "composerKeys": "Enter to send · Shift+Enter for a new line",
8377
+ "closeSelection": "Discard selected passage",
8378
+ "preparingSelection": "Preparing selected passage…",
8379
+ "selectionCaptureFailed": "Could not prepare the selected passage. Discard it to leave a whole-Artifact comment.",
8380
+ "commentSelection": "Comment",
8381
+ "selectionTooLong": "Select a shorter passage to comment.",
8382
+ "selectionUnavailable": "This passage cannot be anchored. Select another passage.",
8383
+ "snapshotChanged": "The document changed. Reload it before commenting.",
8384
+ "commentSaveFailed": "Could not save the document. Try again before commenting.",
8385
+ "events": {
8386
+ "saved": "saved a version",
8387
+ "published": "published the Artifact",
8388
+ "renamed": "renamed the Artifact",
8389
+ "visibility_changed": "changed visibility",
8390
+ "shared_with_changed": "changed who can view",
8391
+ "restored": "restored a version",
8392
+ "thread_opened": "opened a thread",
8393
+ "replied": "replied to a thread",
8394
+ "resolved": "resolved a thread",
8395
+ "reopened": "reopened a thread",
8396
+ "comment_deleted": "deleted a comment",
8397
+ "sent_to_agent": "sent feedback to an agent"
8398
+ },
8399
+ "person": "Person",
8400
+ "deleteRootDescription": "This comment will be permanently removed. The thread will become read-only.",
8401
+ "showPanel": "Show comments",
8402
+ "hidePanel": "Hide comments",
8403
+ "panelTitle": "Comments and activity",
8404
+ "resizePanel": "Resize comments panel",
8405
+ "unshareComments": "{count, plural, one {# comment will be deleted.} other {# comments will be deleted.}}",
8406
+ "systemActor": "System",
8407
+ "draw": "Draw feedback",
8408
+ "drawPen": "Pen",
8409
+ "drawArrow": "Arrow",
8410
+ "drawRectangle": "Rectangle",
8411
+ "drawBlack": "Black",
8412
+ "drawRed": "Red",
8413
+ "drawBlue": "Blue",
8414
+ "drawUndo": "Undo stroke",
8415
+ "drawPageChanged": "The page changed. Cancel and draw again.",
8416
+ "drawLimit": "Drawing limit reached. Undo a stroke to continue.",
8417
+ "openScreenshot": "Open screenshot",
8418
+ "drawingScreenshot": "Feedback screenshot",
8419
+ "screenshotReadFailed": "Could not load the screenshot.",
8420
+ "screenshotMissing": "Screenshot unavailable. The drawing is saved.",
8421
+ "screenshotCaptureFailed": "Could not capture a screenshot. Your comment will include the drawing without an image.",
8422
+ "sendScreenshotLimit": "This batch exceeds 20 screenshots or 12 MiB per encoded request. Send fewer image attachments or use a text-only model."
8423
+ },
8424
+ "insertMedia": "Image or video…",
8425
+ "diagram": "Diagram",
8426
+ "blockMenu": "Blocks",
8427
+ "blockMenuEmpty": "No matching blocks",
8428
+ "embedOffer": "Paste link as",
8429
+ "keepAsLink": "Keep as link",
8430
+ "showEmbed": "Show embed",
8431
+ "openSession": "Open session",
8432
+ "newChat": "New chat",
8433
+ "askAgentReply": "Reply to the agent",
8434
+ "uploading": "Uploading…",
8435
+ "creating": "Creating…",
8436
+ "askAgentNoFiles": "Send the first message as text. Add files in the chat once the agent replies.",
8437
+ "askAgentHistory": "History",
8438
+ "askAgentHistoryEmpty": "No earlier chats about this artifact.",
8439
+ "peopleWithAccess": "People with access: {names}",
8440
+ "docCreated": "Doc created",
8441
+ "open": "Open",
8442
+ "embedOpen": "Open link",
8443
+ "embedConvert": "Convert to link",
8444
+ "embedCopy": "Copy link",
8445
+ "embedDelete": "Delete",
8446
+ "spaceEmpty": "No artifacts in {space} yet",
8447
+ "showAll": "Show all"
8448
+ },
7641
8449
  "emailConnect": {
7642
8450
  "homeTitle": "Where the inbox lives",
7643
8451
  "homeManaged": "Kortix managed",
@@ -7908,14 +8716,96 @@ const catalog = {
7908
8716
  "note": "Notes"
7909
8717
  }
7910
8718
  },
8719
+ "tabs": {
8720
+ "room": "Room",
8721
+ "goals": "Goals",
8722
+ "apps": "Apps",
8723
+ "artifacts": "Artifacts",
8724
+ "files": "Files",
8725
+ "board": "Board",
8726
+ "app": "App",
8727
+ "artifact": "Artifact",
8728
+ "link": "Link"
8729
+ },
8730
+ "addTab": "Add a tab",
8731
+ "gone": {
8732
+ "title": "This space is gone",
8733
+ "hint": "Someone removed it from kortix.yaml, or the link is wrong.",
8734
+ "back": "Back to the project"
8735
+ },
8736
+ "viewAll": "View all",
8737
+ "loadError": "Could not load this tab",
8738
+ "retry": "Try again",
8739
+ "empty": {
8740
+ "goals": "Goals bound to this space will show up here",
8741
+ "apps": "Apps bound to this space will show up here",
8742
+ "artifacts": "Artifacts bound to this space will show up here",
8743
+ "folder": "This folder is empty",
8744
+ "board": "Blocks on this board will show up here",
8745
+ "boardHint": "Ask My Kortix to add a block: a note, an App, a file, an embedded page or another room."
8746
+ },
8747
+ "doc": "Doc",
8748
+ "page": "Page",
8749
+ "missing": {
8750
+ "app": "The App “{slug}” is not in this project",
8751
+ "artifact": "This artifact is gone, or it is not shared with you"
8752
+ },
8753
+ "openArtifact": "Open artifact",
8754
+ "openLink": "Open {host}",
8755
+ "tabAdded": "Tab added",
8756
+ "tabsSaved": "Tabs saved",
8757
+ "saveError": "Could not save the tabs",
8758
+ "menu": {
8759
+ "view": "View",
8760
+ "folder": "Folder…",
8761
+ "app": "App",
8762
+ "noApps": "No Apps in this project",
8763
+ "artifact": "Artifact",
8764
+ "noArtifacts": "No artifacts yet",
8765
+ "link": "Link…",
8766
+ "board": "Board",
8767
+ "editTabs": "Edit tabs…"
8768
+ },
8769
+ "add": {
8770
+ "linkTitle": "Add a link",
8771
+ "linkHint": "A page people in this space open often.",
8772
+ "folderTitle": "Add a folder",
8773
+ "folderHint": "A folder of the project files, by its path.",
8774
+ "url": "URL",
8775
+ "path": "Folder path",
8776
+ "label": "Tab name",
8777
+ "embed": "Show the page inside the tab",
8778
+ "submit": "Add tab"
8779
+ },
8780
+ "cancel": "Cancel",
8781
+ "edit": {
8782
+ "title": "Edit tabs",
8783
+ "description": "The room stays first. Saving commits the tabs to kortix.yaml on the default branch.",
8784
+ "empty": "Only the room. Add a tab with +.",
8785
+ "save": "Save tabs",
8786
+ "rename": "Rename {name}",
8787
+ "moveUp": "Move {name} up",
8788
+ "moveDown": "Move {name} down",
8789
+ "remove": "Remove {name}"
8790
+ },
8791
+ "nav": {
8792
+ "title": "Spaces",
8793
+ "new": "New space",
8794
+ "unread": "{count, plural, one {# unread message} other {# unread messages}}"
8795
+ },
7911
8796
  "create": {
7912
8797
  "title": "Create a channel",
7913
8798
  "description": "Everyone in this project can see and use the channel.",
7914
8799
  "nameLabel": "Name",
8800
+ "name": "Name",
7915
8801
  "namePlaceholder": "marketing",
7916
8802
  "slugPlaceholder": "channel-name",
7917
8803
  "descriptionLabel": "Description (optional)",
7918
8804
  "descriptionPlaceholder": "What this channel is for",
8805
+ "taken": "A space #{slug} exists already.",
8806
+ "about": "Description",
8807
+ "aboutPlaceholder": "What this space is for",
8808
+ "template": "Starting tabs",
7919
8809
  "submit": "Create channel",
7920
8810
  "created": "Channel created",
7921
8811
  "nameRequired": "Add a name.",
@@ -7931,7 +8821,8 @@ const catalog = {
7931
8821
  "privateLabel": "Private",
7932
8822
  "privateHint": "Only invited members can see it.",
7933
8823
  "privateUnavailable": "Private channels are not available in this workspace yet.",
7934
- "privateLimits": "Private hides the channel from other people. Code changes (git branches) and the agents’ own tools aren’t private."
8824
+ "privateLimits": "Private hides the channel from other people. Code changes (git branches) and the agents’ own tools aren’t private.",
8825
+ "error": "Could not create the space"
7935
8826
  },
7936
8827
  "view": {
7937
8828
  "welcomeTitle": "Welcome to #{name}",
@@ -8064,7 +8955,7 @@ const catalog = {
8064
8955
  "appsLoadError": "Could not load the apps.",
8065
8956
  "triggers": {
8066
8957
  "loadError": "Could not load the triggers.",
8067
- "privateNote": "Triggers can't post into a private channel. Set a reminder in a thread instead."
8958
+ "privateNote": "Triggers can't post into a private channel. Ask an agent in a thread to set a loop instead."
8068
8959
  },
8069
8960
  "reply": "Reply",
8070
8961
  "rosterTitlePeople": "People",
@@ -8164,6 +9055,18 @@ const catalog = {
8164
9055
  "addMembers": "Add members",
8165
9056
  "privateLimits": "Private hides the channel from other people. Code changes (git branches) and the agents’ own tools aren’t private."
8166
9057
  },
9058
+ "folder": {
9059
+ "memory": "Memory",
9060
+ "loadError": "Couldn't load this folder",
9061
+ "memoryNoteChannel": "What agents in {place} remember. Agents read this at the start of every thread.",
9062
+ "memoryNoteDm": "What {agent} remembers from this DM. It reads this at the start of every thread.",
9063
+ "off": {
9064
+ "title": "Turn on Drive",
9065
+ "description": "Files and memory for {place} live in Drive. Turn on Volumes in Feature flags to use them.",
9066
+ "descriptionMember": "Files and memory for {place} live in Drive. Ask a project admin to turn it on.",
9067
+ "action": "Open feature flags"
9068
+ }
9069
+ },
8167
9070
  "onboarding": {
8168
9071
  "reenabled": "Sessions started while Channels was off are here.",
8169
9072
  "intro": {
@@ -8218,6 +9121,52 @@ const catalog = {
8218
9121
  "archivedToast": "#{name} archived",
8219
9122
  "unarchivedToast": "#{name} unarchived",
8220
9123
  "failed": "Could not update #{name}. Try again."
9124
+ },
9125
+ "templates": {
9126
+ "standard": {
9127
+ "label": "Room, Goals, Apps and Artifacts",
9128
+ "description": "The room, then what is bound to the space."
9129
+ },
9130
+ "room": {
9131
+ "label": "Room only",
9132
+ "description": "One conversation. Add tabs later."
9133
+ },
9134
+ "board": {
9135
+ "label": "Room and a board",
9136
+ "description": "A board for the brief and the links, then Goals.",
9137
+ "brief": "Brief",
9138
+ "text": "What this space is for, and how to help."
9139
+ }
9140
+ },
9141
+ "leave": "Leave {name}",
9142
+ "openRooms": "Open rooms",
9143
+ "roomHint": "Agents and people post updates here.",
9144
+ "noRoom": "No room yet.",
9145
+ "agents": "Agents in this space",
9146
+ "openAgent": "Open {name}",
9147
+ "members": "{count, plural, one {# person} other {# people}}",
9148
+ "needsYou": "need you",
9149
+ "newSession": "New session",
9150
+ "askMyKortix": "Ask My Kortix",
9151
+ "askPrompt": "I want to change the {name} space (`spaces.{slug}` in kortix.yaml): its tabs, its header or the agents in it. Ask me what to change.",
9152
+ "roomsOff": "Rooms are off for this project",
9153
+ "roomsOffHint": "Turn on Rooms in the project settings to talk with people and agents here.",
9154
+ "room": {
9155
+ "introTitle": "This is the start of #{name}",
9156
+ "introBody": "The room for everyone who works in this space.",
9157
+ "introAgents": "{count, plural, one {{names} posts updates here.} other {{names} post updates here.}}",
9158
+ "introNoAgents": "Agents you add to this space post their updates here.",
9159
+ "introMention": "Type @ to mention a person or an agent."
9160
+ },
9161
+ "filter": "Filter by space",
9162
+ "all": "All",
9163
+ "projectWide": "Project-wide",
9164
+ "blocks": {
9165
+ "noContent": "No content yet.",
9166
+ "noUrl": "No URL yet.",
9167
+ "noApp": "No app selected yet.",
9168
+ "noFile": "No file yet.",
9169
+ "loadingApp": "Loading app…"
8221
9170
  }
8222
9171
  },
8223
9172
  "imageGen": {
@@ -8287,6 +9236,8 @@ const catalog = {
8287
9236
  "title": "Desktop",
8288
9237
  "openTab": "Open in new tab",
8289
9238
  "offline": "The desktop is not running on this computer.",
9239
+ "noDesktop": "This computer has no desktop.",
9240
+ "noDesktopHint": "My Kortix runs on a minimal computer. Your agents' sessions have a desktop.",
8290
9241
  "start": "Ask Kortix to run",
8291
9242
  "retry": "Retry",
8292
9243
  "takeOver": "Take over",
@@ -8294,6 +9245,332 @@ const catalog = {
8294
9245
  "agentControl": "Kortix has control",
8295
9246
  "returnControl": "Return control",
8296
9247
  "escape": "Esc"
9248
+ },
9249
+ "agentCapabilities": {
9250
+ "skillsTitle": "Skills",
9251
+ "skillsDescription": "Each skill this agent may load. Built-in skills come with Kortix.",
9252
+ "toolsTitle": "Tools",
9253
+ "toolsDescription": "Each tool this agent may call. A tool that is off is not offered to the model.",
9254
+ "extensionsTitle": "Extensions",
9255
+ "extensionsDescription": "Code that runs inside every session of this agent.",
9256
+ "extensionsAccess": "Extension access for this agent",
9257
+ "groups": {
9258
+ "builtin": "Built-in",
9259
+ "project": "Project",
9260
+ "workspace": "Workspace",
9261
+ "interaction": "Interaction",
9262
+ "kortix": "Kortix",
9263
+ "platform": "Platform"
9264
+ },
9265
+ "alwaysOn": "Always on",
9266
+ "flagOff": "Turned off for this project.",
9267
+ "flagSettings": "Settings",
9268
+ "followsTool": "Follows the {tool} tool switch.",
9269
+ "toggle": "Turn {name} on or off",
9270
+ "replacedBy": "Replaced by {path}.",
9271
+ "projectTool": "Module {path}",
9272
+ "loadError": "Could not load this agent's tools, skills and extensions.",
9273
+ "retry": "Try again",
9274
+ "emptyProjectSkills": "No project skills. Register one under skills in kortix.yaml.",
9275
+ "emptyProjectExtensions": "No project extensions. Register one under extensions in kortix.yaml.",
9276
+ "allBut": "All but {count}",
9277
+ "allExcept": "All except {list}",
9278
+ "rulesTitle": "Approval rules",
9279
+ "builtinOn": "{on} of {total} on",
9280
+ "toolsAccess": "Tool access for this agent",
9281
+ "emptyProjectTools": "No project tools. Register one under tools in kortix.yaml.",
9282
+ "loadErrorList": "Could not load this list.",
9283
+ "skillsAccess": "Skill access for this agent",
9284
+ "noMatch": "Nothing matches your search.",
9285
+ "skillsSearch": "Search skills",
9286
+ "toolsSearch": "Search tools",
9287
+ "extensionsSearch": "Search extensions",
9288
+ "skillsProjectDescription": "Instructions agents load when a task matches.",
9289
+ "toolsProjectDescription": "Every tool an agent of this project can call.",
9290
+ "extensionsProjectDescription": "Code that runs inside every session.",
9291
+ "scopeAll": "All"
9292
+ },
9293
+ "agentMounts": {
9294
+ "lead": "Folders from Files this agent's sessions mount. A change applies at once and reaches every new session.",
9295
+ "mount": "Mount folder",
9296
+ "repository": "Project repository",
9297
+ "viaAgent": "shared with this agent",
9298
+ "viaProject": "shared with everyone in this project",
9299
+ "from": "{path} · {who}",
9300
+ "readOnly": "Read only",
9301
+ "readWrite": "Read and write",
9302
+ "levelFor": "Access to {path}",
9303
+ "unmount": "Unmount",
9304
+ "unmountLabel": "Unmount {path}",
9305
+ "unmountTitle": "Unmount {path}?",
9306
+ "unmountDescription": "New sessions of {agent} stop mounting this folder, and running ones lose it now. The files stay in Files.",
9307
+ "skipped": "Not mounted, past the {slots} mount slots: {list}",
9308
+ "emptyTitle": "No folders mounted",
9309
+ "emptyDescription": "Mount a folder from Files to give this agent's sessions its files.",
9310
+ "pickerTitle": "Mount a folder",
9311
+ "pickerDescription": "Pick a folder in Files. Sessions of {agent} see it under /drives.",
9312
+ "pickerPath": "Folder path",
9313
+ "pickerRoot": "Files",
9314
+ "pickerEmpty": "No folders here.",
9315
+ "pickerChoose": "Choose a folder",
9316
+ "pickerMount": "Mount {path}",
9317
+ "alreadyMounted": "Mounted",
9318
+ "changeFailed": "Could not change this mount.",
9319
+ "loadError": "Could not load this agent's mounts.",
9320
+ "retry": "Try again",
9321
+ "title": "Drives",
9322
+ "projectLead": "Files folders every new session mounts.",
9323
+ "unmountProjectDescription": "New sessions stop mounting this folder, and running ones lose it now. The files stay in Files.",
9324
+ "pickerProjectDescription": "Pick a folder in Files. Every session of this project sees it under /drives."
9325
+ },
9326
+ "projectAdmin": {
9327
+ "tools": "Tools",
9328
+ "extensions": "Extensions",
9329
+ "drives": "Drives"
9330
+ },
9331
+ "multiAgent": {
9332
+ "peer": {
9333
+ "message": "Message from {from}",
9334
+ "idleNotice": "{from} finished",
9335
+ "shutdownRequest": "Shutdown request from {from}",
9336
+ "shutdownResponse": "Shutdown answer from {from}",
9337
+ "expand": "Show the whole message",
9338
+ "collapse": "Hide the message"
9339
+ },
9340
+ "notice": {
9341
+ "completed": "{name} finished",
9342
+ "failed": "{name} didn’t finish",
9343
+ "stopped": "{name} was stopped",
9344
+ "fallbackName": "Your agent",
9345
+ "openSession": "Open session",
9346
+ "expand": "Show the whole result",
9347
+ "collapse": "Hide the result",
9348
+ "batchTitle": "{count, plural, one {# agent finished} other {# agents finished}}",
9349
+ "ownsTasks": "Still owns {tasks}"
9350
+ },
9351
+ "tools": {
9352
+ "running": {
9353
+ "sending": "Sending a message…",
9354
+ "checkingAgents": "Checking the other agents…",
9355
+ "checkingTasks": "Checking the team tasks…",
9356
+ "updatingTasks": "Updating the team tasks…",
9357
+ "stopping": "Stopping an agent…"
9358
+ },
9359
+ "to": "To",
9360
+ "peerStatus": {
9361
+ "delivered": "Delivered",
9362
+ "held": "Waiting for approval",
9363
+ "refused": "Not sent",
9364
+ "denied": "Declined",
9365
+ "expired": "Expired",
9366
+ "dropped": "Not sent again"
9367
+ },
9368
+ "relation": {
9369
+ "parent": "Parent",
9370
+ "child": "Helper",
9371
+ "lead": "Lead",
9372
+ "teammate": "Teammate",
9373
+ "session": "Session"
9374
+ },
9375
+ "cannotReceive": "Can’t receive messages",
9376
+ "state": {
9377
+ "working": "Working",
9378
+ "needsInput": "Needs input",
9379
+ "idle": "Idle",
9380
+ "completed": "Done",
9381
+ "failed": "Didn’t finish",
9382
+ "stopped": "Stopped"
9383
+ },
9384
+ "taskStatus": {
9385
+ "pending": "Pending",
9386
+ "inProgress": "In progress",
9387
+ "completed": "Done"
9388
+ },
9389
+ "blockedBy": "blocked by {tasks}",
9390
+ "stopped": "Stopped",
9391
+ "alreadyEnded": "Already ended",
9392
+ "openSession": "Open session"
9393
+ },
9394
+ "strip": {
9395
+ "label": "Agents",
9396
+ "agents": "{count, plural, one {# agent} other {# agents}}",
9397
+ "working": "{count} working",
9398
+ "workflows": "{count, plural, one {# workflow} other {# workflows}}",
9399
+ "workflowsRunning": "{count, plural, one {# workflow running} other {# workflows running}}",
9400
+ "newest": "{name} {state}",
9401
+ "tasks": "Tasks",
9402
+ "team": "Team",
9403
+ "workflowsGroup": "Workflows",
9404
+ "state": {
9405
+ "working": "working",
9406
+ "needs_input": "needs you",
9407
+ "idle": "done",
9408
+ "completed": "done",
9409
+ "failed": "failed",
9410
+ "stopped": "stopped"
9411
+ },
9412
+ "workingFor": "working · {elapsed}",
9413
+ "runsAs": "runs as {agent}",
9414
+ "teamRole": "Role for this session only",
9415
+ "attention": {
9416
+ "question": "Has a question for you",
9417
+ "approval": "Waits for your approval"
9418
+ },
9419
+ "openAgent": "Open {name}",
9420
+ "stopHint": "Stop this agent",
9421
+ "stopAgent": "Stop {name}",
9422
+ "stopAgentFailed": "Could not stop {name}",
9423
+ "stopFailed": "Could not stop the agent",
9424
+ "runProgress": "{done} of {total} done",
9425
+ "runBackground": "Running in the background",
9426
+ "runRunning": "Running",
9427
+ "runStatus": {
9428
+ "done": "Done",
9429
+ "failed": "Didn't finish",
9430
+ "stopped": "Stopped"
9431
+ },
9432
+ "runFallback": "Workflow",
9433
+ "openRun": "Open run",
9434
+ "runNoAgents": "No agents yet"
9435
+ },
9436
+ "subagent": {
9437
+ "fallbackTitle": "Agent",
9438
+ "openPage": "Open page",
9439
+ "close": "Close",
9440
+ "messagePlaceholder": "Message {name}…",
9441
+ "messageLabel": "Message {name}",
9442
+ "send": "Send",
9443
+ "sent": "Message sent",
9444
+ "sendFailed": "Could not send the message",
9445
+ "loadFailed": "Could not load this agent’s messages",
9446
+ "retry": "Try again",
9447
+ "emptyTitle": "Nothing yet",
9448
+ "emptyDescription": "Its messages show here as it works.",
9449
+ "loadOlder": "Show earlier messages"
9450
+ },
9451
+ "tasks": {
9452
+ "label": "Team tasks",
9453
+ "empty": "Tasks the team plans will show up here.",
9454
+ "group": {
9455
+ "pending": "Pending",
9456
+ "in_progress": "In progress",
9457
+ "completed": "Completed"
9458
+ },
9459
+ "blockedBy": "Blocked by {tasks}",
9460
+ "unowned": "Open"
9461
+ },
9462
+ "held": {
9463
+ "label": "Messages waiting for you",
9464
+ "title": "Message from {from}",
9465
+ "titleShutdown": "{from} asks this session to stop",
9466
+ "waiting": "Waiting for your approval. It expires after 5 minutes.",
9467
+ "deny": "Deny",
9468
+ "approve": "Approve",
9469
+ "approveFailed": "Could not deliver the message",
9470
+ "denyFailed": "Could not deny the message"
9471
+ },
9472
+ "workflow": {
9473
+ "large": "Large workflow",
9474
+ "largeHint": "This run starts more than 25 agents. Stop it, or any agent, from here.",
9475
+ "paused": "Paused",
9476
+ "pause": "Pause the run",
9477
+ "resume": "Resume the run",
9478
+ "pauseHint": "Pause: no new agent starts; running agents finish (p)",
9479
+ "resumeHint": "Resume the run (p)",
9480
+ "stop": "Stop the run",
9481
+ "stopHint": "Stop every agent and end the run (x)",
9482
+ "save": "Save",
9483
+ "saveHint": "Save this run's script as a workflow you can run again (s)",
9484
+ "savePrompt": "Save the workflow run \"{title}\" (run {runId}) as a saved workflow: write its script to {file} and open a change request for it.",
9485
+ "saveSent": "Asked to save the workflow",
9486
+ "saveFailed": "Could not ask to save the workflow",
9487
+ "restartHint": "Restart this agent with the same prompt (r)",
9488
+ "restartAgent": "Restart {label}",
9489
+ "failed": {
9490
+ "pause": "Could not pause the run",
9491
+ "resume": "Could not resume the run",
9492
+ "stop": "Could not stop the run",
9493
+ "restart": "Could not restart {label}"
9494
+ }
9495
+ },
9496
+ "board": {
9497
+ "layoutLabel": "Layout",
9498
+ "layoutList": "List",
9499
+ "layoutBoard": "Board",
9500
+ "dispatchLabel": "Start a session or filter the board",
9501
+ "dispatchPlaceholder": "Start a session: @agent and a task. Filter: s:working a:agent",
9502
+ "tooShort": "Too short",
9503
+ "dispatched": "Session started",
9504
+ "dispatchFailed": "Could not start the session",
9505
+ "openSession": "Open session",
9506
+ "stopSession": "Stop session",
9507
+ "stopped": "Session stopped",
9508
+ "stopFailed": "Could not stop the session",
9509
+ "stateFilter": "Filter by state",
9510
+ "agentFilter": "Filter by agent",
9511
+ "allStates": "All states",
9512
+ "allAgents": "All agents",
9513
+ "loadError": "Could not load the sessions. Try again.",
9514
+ "retry": "Try again",
9515
+ "emptyTitle": "Sessions you start will show up here",
9516
+ "emptyDescription": "Type a task above and press Enter. Each task runs in its own session.",
9517
+ "noMatches": "No session matches these filters",
9518
+ "clearFilters": "Clear filters",
9519
+ "listLabel": "Sessions by state",
9520
+ "loadMore": "Load more sessions",
9521
+ "loadingMore": "Loading more sessions…",
9522
+ "more": "… {count} more",
9523
+ "keys": {
9524
+ "move": "move",
9525
+ "peek": "preview",
9526
+ "open": "open",
9527
+ "stop": "stop",
9528
+ "space": "Space",
9529
+ "enter": "Enter"
9530
+ },
9531
+ "group": {
9532
+ "pinned": "Pinned",
9533
+ "needs_input": "Needs input",
9534
+ "working": "Working",
9535
+ "review": "Ready for review",
9536
+ "completed": "Completed",
9537
+ "ended": "Failed · Stopped"
9538
+ },
9539
+ "state": {
9540
+ "working": "Working",
9541
+ "needs_input": "Needs input",
9542
+ "idle": "Idle",
9543
+ "completed": "Completed",
9544
+ "failed": "Failed",
9545
+ "stopped": "Stopped"
9546
+ },
9547
+ "replyPlaceholder": "Reply. It reaches the agent at its next step.",
9548
+ "replyLabel": "Reply to {title}",
9549
+ "sendReply": "Send reply",
9550
+ "replySent": "Reply sent",
9551
+ "replyFailed": "Could not send the reply"
9552
+ },
9553
+ "ultracode": {
9554
+ "hint": "Runs as a workflow of agents",
9555
+ "dismiss": "{key} to send it as a normal prompt"
9556
+ }
9557
+ },
9558
+ "claudeSubscription": {
9559
+ "title": "Use your Claude subscription",
9560
+ "description": "Claude models run through Claude Code on your own Claude Pro or Max plan. Only your sessions use your plan.",
9561
+ "starting": "Opening Claude…",
9562
+ "approveDescription": "Sign in with the Claude account that has your plan, approve the request, and copy the code Claude shows you.",
9563
+ "codeLabel": "Code from claude.com",
9564
+ "connect": "Connect Claude",
9565
+ "connecting": "Connecting…",
9566
+ "connectedTitle": "Your Claude subscription is connected",
9567
+ "connected": "Claude subscription connected",
9568
+ "disconnect": "Disconnect Claude",
9569
+ "disconnected": "Claude subscription disconnected",
9570
+ "startError": "Could not start the Claude sign-in. Try again.",
9571
+ "codeError": "Could not connect Claude with that code. Sign in again and paste the new code.",
9572
+ "connectClaude": "Connect Claude",
9573
+ "reconnectClaude": "Reconnect Claude"
8297
9574
  }
8298
9575
  };
8299
9576
  export default catalog;