@kortix/ui 0.14.11 → 0.14.13

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 (447) 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/browser/browser-panel.d.ts +2 -1
  18. package/dist/browser/browser-panel.js +12 -2
  19. package/dist/customize/agents/agent-access-text.d.ts +16 -0
  20. package/dist/customize/agents/agent-access-text.js +54 -0
  21. package/dist/customize/agents/agent-approval-rules.d.ts +8 -0
  22. package/dist/customize/agents/agent-approval-rules.js +26 -0
  23. package/dist/customize/agents/agent-authority-card.js +4 -1
  24. package/dist/customize/agents/agent-cover-card.d.ts +4 -1
  25. package/dist/customize/agents/agent-cover-card.js +2 -2
  26. package/dist/customize/agents/agent-detail-aside.d.ts +1 -2
  27. package/dist/customize/agents/agent-detail-aside.js +8 -11
  28. package/dist/customize/agents/agent-drives-section.d.ts +23 -7
  29. package/dist/customize/agents/agent-drives-section.js +107 -41
  30. package/dist/customize/agents/agent-instructions.d.ts +11 -0
  31. package/dist/customize/agents/agent-instructions.js +114 -0
  32. package/dist/customize/agents/agent-model-view.d.ts +17 -0
  33. package/dist/customize/agents/agent-model-view.js +67 -0
  34. package/dist/customize/agents/agent-overview.d.ts +53 -0
  35. package/dist/customize/agents/agent-overview.js +242 -0
  36. package/dist/customize/agents/agent-page-chrome.d.ts +128 -0
  37. package/dist/customize/agents/agent-page-chrome.js +145 -0
  38. package/dist/customize/agents/agent-page.d.ts +13 -1
  39. package/dist/customize/agents/agent-page.js +478 -367
  40. package/dist/customize/agents/agent-pin-button.d.ts +10 -0
  41. package/dist/customize/agents/agent-pin-button.js +20 -0
  42. package/dist/customize/agents/agent-policy-sets-section.d.ts +16 -0
  43. package/dist/customize/agents/agent-policy-sets-section.js +80 -0
  44. package/dist/customize/agents/agent-policy-sets.js +1 -1
  45. package/dist/customize/agents/agent-section-rail.d.ts +21 -0
  46. package/dist/customize/agents/agent-section-rail.js +23 -0
  47. package/dist/customize/agents/agent-share-control.d.ts +4 -3
  48. package/dist/customize/agents/agent-share-control.js +15 -16
  49. package/dist/customize/agents/{agent-people-section.d.ts → agent-share-dialog.d.ts} +3 -1
  50. package/dist/customize/agents/{agent-people-section.js → agent-share-dialog.js} +21 -21
  51. package/dist/customize/agents/agent-tabs.d.ts +95 -0
  52. package/dist/customize/agents/agent-tabs.js +199 -0
  53. package/dist/customize/agents/agents-page.d.ts +0 -21
  54. package/dist/customize/agents/agents-page.js +104 -118
  55. package/dist/customize/agents/connectors-required.d.ts +16 -0
  56. package/dist/customize/agents/connectors-required.js +19 -0
  57. package/dist/customize/agents/create-agent-modal.d.ts +19 -0
  58. package/dist/customize/agents/create-agent-modal.js +94 -0
  59. package/dist/customize/connectors/agent-access.d.ts +4 -4
  60. package/dist/customize/connectors/agent-access.js +7 -10
  61. package/dist/customize/connectors/connector-identity.d.ts +12 -0
  62. package/dist/customize/connectors/connector-identity.js +15 -2
  63. package/dist/customize/connectors/connector-routes.js +2 -2
  64. package/dist/customize/connectors/connectors-page.d.ts +14 -1
  65. package/dist/customize/connectors/connectors-page.js +101 -32
  66. package/dist/customize/connectors/detail/app-page.js +1 -1
  67. package/dist/customize/connectors/detail/connector-agents.js +0 -3
  68. package/dist/customize/connectors/detail/connector-page.d.ts +1 -1
  69. package/dist/customize/connectors/detail/connector-page.js +5 -2
  70. package/dist/customize/connectors/detail/connector-policy-sets.js +1 -1
  71. package/dist/customize/connectors/detail/connector-triggers.js +2 -2
  72. package/dist/customize/connectors/use-agent-access.d.ts +7 -5
  73. package/dist/customize/connectors/use-agent-access.js +2 -6
  74. package/dist/customize/models/models-page.d.ts +7 -1
  75. package/dist/customize/models/models-page.js +2 -2
  76. package/dist/customize/project-settings/project-admin-sections.d.ts +63 -0
  77. package/dist/customize/project-settings/project-admin-sections.js +80 -0
  78. package/dist/customize/project-settings/project-settings-page.d.ts +1 -1
  79. package/dist/customize/project-settings/project-settings-page.js +4 -13
  80. package/dist/customize/project-settings/project-settings-sections.d.ts +5 -5
  81. package/dist/customize/project-settings/project-settings-sections.js +6 -20
  82. package/dist/customize/providers/provider-accordion.js +29 -17
  83. package/dist/customize/providers/provider-connect.js +1 -1
  84. package/dist/customize/providers/provider-sheet.d.ts +4 -1
  85. package/dist/customize/providers/provider-sheet.js +15 -5
  86. package/dist/customize/secrets/secrets-page.d.ts +5 -1
  87. package/dist/customize/secrets/secrets-page.js +2 -2
  88. package/dist/customize/sections/gateway-view.d.ts +10 -2
  89. package/dist/customize/sections/gateway-view.js +16 -4
  90. package/dist/customize/sections/llm-provider/chatgpt-subscription-connect.d.ts +12 -5
  91. package/dist/customize/sections/llm-provider/chatgpt-subscription-connect.js +131 -8
  92. package/dist/customize/sections/llm-provider/claude-code-step.d.ts +10 -0
  93. package/dist/customize/sections/llm-provider/claude-code-step.js +32 -0
  94. package/dist/customize/sections/llm-provider/models-tab.js +5 -1
  95. package/dist/customize/sections/view/account-secret-resources-panel.d.ts +5 -3
  96. package/dist/customize/sections/view/account-secret-resources-panel.js +122 -19
  97. package/dist/customize/sections/view/agent-editor-access-fields.d.ts +1 -1
  98. package/dist/customize/sections/view/agent-editor-access-fields.js +8 -4
  99. package/dist/customize/sections/view/agent-editor-basics-fields.d.ts +4 -1
  100. package/dist/customize/sections/view/agent-editor-basics-fields.js +33 -4
  101. package/dist/customize/sections/view/agent-editor-catalog.d.ts +2 -2
  102. package/dist/customize/sections/view/agent-editor-catalog.js +10 -12
  103. package/dist/customize/sections/view/agent-editor-primitives.d.ts +1 -1
  104. package/dist/customize/sections/view/agent-editor-primitives.js +4 -4
  105. package/dist/customize/sections/view/agent-editor.d.ts +37 -26
  106. package/dist/customize/sections/view/agent-editor.js +19 -19
  107. package/dist/customize/sections/view/grant-mode-field.d.ts +8 -20
  108. package/dist/customize/sections/view/grant-mode-field.js +31 -57
  109. package/dist/customize/sections/view/permission-editor.d.ts +3 -1
  110. package/dist/customize/sections/view/permission-editor.js +19 -10
  111. package/dist/customize/sections/view/review-view.d.ts +8 -0
  112. package/dist/customize/sections/view/review-view.js +12 -1
  113. package/dist/customize/sections/view/secret-delivery.js +1 -4
  114. package/dist/customize/sections/view/secrets-view.d.ts +7 -1
  115. package/dist/customize/sections/view/secrets-view.js +42 -6
  116. package/dist/customize/settings/rail.js +2 -8
  117. package/dist/customize/settings/settings-tabs.d.ts +2 -2
  118. package/dist/customize/settings/settings-tabs.js +17 -19
  119. package/dist/customize/settings/tabs/experimental-tab.d.ts +3 -0
  120. package/dist/customize/settings/tabs/experimental-tab.js +6 -1
  121. package/dist/customize/settings/tabs/sandbox-tab.d.ts +4 -6
  122. package/dist/customize/settings/tabs/sandbox-tab.js +9 -9
  123. package/dist/customize/shared/access-list.d.ts +39 -0
  124. package/dist/customize/shared/access-list.js +62 -0
  125. package/dist/customize/shared/agent-resource-scope.d.ts +87 -0
  126. package/dist/customize/shared/agent-resource-scope.js +123 -0
  127. package/dist/customize/shared/capability-library.d.ts +41 -0
  128. package/dist/customize/shared/capability-library.js +271 -0
  129. package/dist/customize/shared/capability-page-shell.d.ts +18 -1
  130. package/dist/customize/shared/capability-page-shell.js +21 -1
  131. package/dist/customize/shared/catalog/catalog-space-tabs.d.ts +14 -0
  132. package/dist/customize/shared/catalog/catalog-space-tabs.js +20 -0
  133. package/dist/customize/shared/customize-tab-bar.d.ts +13 -0
  134. package/dist/customize/shared/customize-tab-bar.js +95 -0
  135. package/dist/customize/shared/entity/entity-modal.d.ts +17 -1
  136. package/dist/customize/shared/entity/entity-modal.js +10 -9
  137. package/dist/customize/shared/leave-guard.d.ts +23 -0
  138. package/dist/customize/shared/leave-guard.js +87 -0
  139. package/dist/customize/shared/standalone-settings-nav.js +4 -1
  140. package/dist/customize/shared/tool-rules.d.ts +11 -0
  141. package/dist/customize/shared/tool-rules.js +29 -0
  142. package/dist/customize/skills/builtin-skill-modal.d.ts +6 -0
  143. package/dist/customize/skills/builtin-skill-modal.js +41 -0
  144. package/dist/customize/skills/skills-page.d.ts +21 -18
  145. package/dist/customize/skills/skills-page.js +16 -110
  146. package/dist/customize/triggers/runtime-triggers.d.ts +17 -0
  147. package/dist/customize/triggers/runtime-triggers.js +57 -0
  148. package/dist/customize/triggers/schedule/event-trigger-copy.js +2 -2
  149. package/dist/customize/triggers/schedule/post-to-field.js +2 -2
  150. package/dist/customize/triggers/schedule/schedule-copy.d.ts +11 -6
  151. package/dist/customize/triggers/schedule/schedule-copy.js +29 -8
  152. package/dist/customize/triggers/schedule/schedule-detail-sheet.js +7 -3
  153. package/dist/customize/triggers/schedule/trigger-composer-logic.d.ts +26 -1
  154. package/dist/customize/triggers/schedule/trigger-composer-logic.js +64 -3
  155. package/dist/customize/triggers/schedule/trigger-composer.js +57 -20
  156. package/dist/customize/triggers/schedule/trigger-edit-logic.js +18 -5
  157. package/dist/customize/triggers/schedule/trigger-filter.d.ts +10 -0
  158. package/dist/customize/triggers/schedule/trigger-filter.js +16 -0
  159. package/dist/customize/triggers/schedule/trigger-runs-panel.js +1 -0
  160. package/dist/customize/triggers/schedule/trigger-toast.js +2 -1
  161. package/dist/customize/triggers/schedule/use-trigger-mutations.d.ts +1 -1
  162. package/dist/customize/triggers/schedule/use-trigger-mutations.js +1 -1
  163. package/dist/customize/triggers/schedule/when-app.d.ts +15 -0
  164. package/dist/customize/triggers/schedule/when-app.js +21 -0
  165. package/dist/customize/triggers/schedule/when-change-request.d.ts +10 -0
  166. package/dist/customize/triggers/schedule/when-change-request.js +15 -0
  167. package/dist/customize/triggers/schedule-view.d.ts +17 -3
  168. package/dist/customize/triggers/schedule-view.js +46 -16
  169. package/dist/customize/triggers/triggers-page.d.ts +3 -3
  170. package/dist/customize/triggers/triggers-page.js +2 -2
  171. package/dist/customize/use-configure-thread.d.ts +8 -2
  172. package/dist/customize/use-configure-thread.js +30 -18
  173. package/dist/files/project/components/change-request-detail-dialog.js +2 -3
  174. package/dist/files/project/components/drive-explorer.js +6 -5
  175. package/dist/files/project/explorer-source.d.ts +3 -0
  176. package/dist/files/project/upload-batch.d.ts +3 -3
  177. package/dist/files/project/upload-batch.js +7 -6
  178. package/dist/files/runtime/sandbox-explorer-source.js +3 -3
  179. package/dist/i18n/en.d.ts +1331 -53
  180. package/dist/i18n/en.js +1423 -145
  181. package/dist/i18n/ui-catalog/remaining-ui-translation-keys.generated.js +16 -7
  182. package/dist/internal/auth/auth-primitives.d.ts +1 -3
  183. package/dist/internal/auth/auth-primitives.js +2 -2
  184. package/dist/internal/billing/session-cost-format.d.ts +1 -0
  185. package/dist/internal/billing/session-cost-format.js +11 -0
  186. package/dist/internal/components/agent-mark.d.ts +12 -1
  187. package/dist/internal/components/agent-mark.js +34 -11
  188. package/dist/internal/components/nav-rail.d.ts +22 -0
  189. package/dist/internal/components/nav-rail.js +16 -0
  190. package/dist/internal/components/repository-disconnected.js +2 -2
  191. package/dist/internal/goals/goal-meta.d.ts +15 -1
  192. package/dist/internal/goals/goal-meta.js +42 -2
  193. package/dist/internal/hooks/projects/use-agent-config.d.ts +11 -7
  194. package/dist/internal/hooks/projects/use-agent-config.js +28 -11
  195. package/dist/internal/hooks/use-slash-focus.d.ts +7 -1
  196. package/dist/internal/hooks/use-slash-focus.js +9 -3
  197. package/dist/internal/layout/project-capability-nav.d.ts +24 -0
  198. package/dist/internal/layout/project-capability-nav.js +86 -0
  199. package/dist/internal/layout/project-page-header.d.ts +1 -1
  200. package/dist/internal/layout/project-page-header.js +1 -1
  201. package/dist/internal/layout/project-settings-nav.d.ts +3 -2
  202. package/dist/internal/layout/project-settings-nav.js +5 -3
  203. package/dist/internal/lib/browser-noise/rules/extensions.js +3 -0
  204. package/dist/internal/lib/browser-noise/rules/old-browsers.js +1 -1
  205. package/dist/internal/lib/capability-tab-routes.d.ts +34 -3
  206. package/dist/internal/lib/capability-tab-routes.js +76 -8
  207. package/dist/internal/lib/manifest-health.d.ts +10 -0
  208. package/dist/internal/lib/manifest-health.js +20 -0
  209. package/dist/internal/lib/pixel-mark.d.ts +4 -1
  210. package/dist/internal/lib/pixel-mark.js +33 -6
  211. package/dist/internal/lib/project-actions.d.ts +1 -1
  212. package/dist/internal/lib/project-actions.js +0 -4
  213. package/dist/internal/lib/provider-branding.js +2 -0
  214. package/dist/internal/lib/space-scope.d.ts +29 -0
  215. package/dist/internal/lib/space-scope.js +28 -0
  216. package/dist/internal/lib/use-project-feature-flags.js +3 -3
  217. package/dist/internal/lib/web-notifications.d.ts +74 -8
  218. package/dist/internal/lib/web-notifications.js +243 -117
  219. package/dist/internal/notifications/notification-rows.d.ts +14 -7
  220. package/dist/internal/notifications/notification-rows.js +21 -14
  221. package/dist/internal/notifications/session-toast-cards.d.ts +2 -2
  222. package/dist/internal/reminders/reminder-format.d.ts +6 -2
  223. package/dist/internal/reminders/reminder-format.js +7 -1
  224. package/dist/internal/stores/active-space-store.d.ts +35 -0
  225. package/dist/internal/stores/active-space-store.js +29 -0
  226. package/dist/internal/stores/kortix-computer-store.d.ts +2 -1
  227. package/dist/internal/stores/kortix-computer-store.js +18 -7
  228. package/dist/internal/stores/pinned-agents-store.d.ts +26 -0
  229. package/dist/internal/stores/pinned-agents-store.js +20 -0
  230. package/dist/internal/stores/session-panel-memory-store.js +3 -0
  231. package/dist/internal/stores/turn-attention-store.d.ts +5 -4
  232. package/dist/lib/routes.d.ts +16 -1
  233. package/dist/lib/routes.js +15 -3
  234. package/dist/markdown/doc-editor/doc-embed.d.ts +31 -0
  235. package/dist/markdown/doc-editor/doc-embed.js +168 -0
  236. package/dist/markdown/doc-editor/doc-extensions.d.ts +26 -0
  237. package/dist/markdown/doc-editor/doc-extensions.js +149 -0
  238. package/dist/markdown/doc-editor/doc-menus.d.ts +9 -0
  239. package/dist/markdown/doc-editor/doc-menus.js +56 -0
  240. package/dist/markdown/doc-editor/markdown.d.ts +12 -0
  241. package/dist/markdown/doc-editor/markdown.js +140 -0
  242. package/dist/markdown/genui/components/inline.d.ts +1 -1
  243. package/dist/primitives/badge.d.ts +1 -1
  244. package/dist/primitives/button.d.ts +1 -1
  245. package/dist/primitives/pixel-kortix-mark.d.ts +5 -4
  246. package/dist/primitives/pixel-kortix-mark.js +5 -15
  247. package/dist/primitives/tag.d.ts +1 -1
  248. package/dist/primitives/textarea.js +14 -0
  249. package/dist/primitives/toast.d.ts +2 -0
  250. package/dist/primitives/toast.js +4 -2
  251. package/dist/providers/ui-provider.d.ts +16 -0
  252. package/dist/session/actions/session-label.d.ts +1 -1
  253. package/dist/session/actions/session-label.js +3 -3
  254. package/dist/session/agents/agent-model.d.ts +92 -0
  255. package/dist/session/agents/agent-model.js +123 -0
  256. package/dist/session/agents/agent-state-mark.d.ts +10 -0
  257. package/dist/session/agents/agent-state-mark.js +22 -0
  258. package/dist/session/agents/agent-strip.d.ts +58 -0
  259. package/dist/session/agents/agent-strip.js +259 -0
  260. package/dist/session/agents/held-messages.d.ts +33 -0
  261. package/dist/session/agents/held-messages.js +50 -0
  262. package/dist/session/agents/legacy-subagent-chat.d.ts +11 -0
  263. package/dist/session/agents/legacy-subagent-chat.js +19 -0
  264. package/dist/session/agents/session-peek.d.ts +20 -0
  265. package/dist/session/agents/session-peek.js +67 -0
  266. package/dist/session/agents/session-prompt.d.ts +13 -0
  267. package/dist/session/agents/session-prompt.js +18 -0
  268. package/dist/session/agents/steer-session.d.ts +13 -0
  269. package/dist/session/agents/steer-session.js +29 -0
  270. package/dist/session/agents/subagent-dialog-content.d.ts +11 -0
  271. package/dist/session/agents/subagent-dialog-content.js +115 -0
  272. package/dist/session/agents/subagent-view.d.ts +8 -0
  273. package/dist/session/agents/subagent-view.js +18 -0
  274. package/dist/session/agents/tasks-panel.d.ts +13 -0
  275. package/dist/session/agents/tasks-panel.js +41 -0
  276. package/dist/session/agents/workflow-run-controls.d.ts +43 -0
  277. package/dist/session/agents/workflow-run-controls.js +141 -0
  278. package/dist/session/composer/ComposerCard.d.ts +1 -1
  279. package/dist/session/composer/ComposerCard.js +3 -3
  280. package/dist/session/composer/agent-selector.js +13 -19
  281. package/dist/session/composer/composer-underbar.d.ts +3 -1
  282. package/dist/session/composer/composer-underbar.js +2 -2
  283. package/dist/session/composer/composer.d.ts +5 -0
  284. package/dist/session/composer/composer.js +16 -10
  285. package/dist/session/composer/editor/composer-editor.js +19 -8
  286. package/dist/session/composer/editor/ultracode.d.ts +34 -0
  287. package/dist/session/composer/editor/ultracode.js +127 -0
  288. package/dist/session/composer/index.d.ts +1 -0
  289. package/dist/session/composer/index.js +1 -0
  290. package/dist/session/composer/send-blockers.d.ts +1 -11
  291. package/dist/session/composer/send-blockers.js +1 -11
  292. package/dist/session/composer/session-composer-readiness.d.ts +1 -28
  293. package/dist/session/composer/session-composer-readiness.js +5 -16
  294. package/dist/session/header/reminder-parts.d.ts +1 -1
  295. package/dist/session/header/session-site-header.js +6 -3
  296. package/dist/session/header/subagent-hover-card.d.ts +0 -2
  297. package/dist/session/header/subagent-hover-card.js +1 -4
  298. package/dist/session/models/claude-connection-slot.d.ts +11 -0
  299. package/dist/session/models/claude-connection-slot.js +30 -0
  300. package/dist/session/models/model-availability.d.ts +3 -1
  301. package/dist/session/models/model-availability.js +3 -0
  302. package/dist/session/models/model-selector.js +11 -12
  303. package/dist/session/models/model-tags.d.ts +9 -0
  304. package/dist/session/models/model-tags.js +8 -0
  305. package/dist/session/panel/easy/detail-view.js +7 -0
  306. package/dist/session/panel/easy/easy-panel.js +1 -1
  307. package/dist/session/panel/easy/step-icon.js +5 -1
  308. package/dist/session/panel/mobile-tool-drawer.js +7 -3
  309. package/dist/session/panel/open-session-quick-view.js +1 -1
  310. package/dist/session/panel/session-action-panel-column.js +1 -1
  311. package/dist/session/panel/session-desktop.js +41 -14
  312. package/dist/session/panel/session-panel-provider.d.ts +1 -1
  313. package/dist/session/panel/session-panel-provider.js +7 -11
  314. package/dist/session/prompts/question-prompt.js +3 -1
  315. package/dist/session/status/session-error-banner.js +4 -1
  316. package/dist/session/thread/session-chat.js +286 -296
  317. package/dist/session/thread/session-context-modal.js +29 -10
  318. package/dist/session/thread/session-context-spawned-sessions.d.ts +13 -0
  319. package/dist/session/thread/session-context-spawned-sessions.js +44 -0
  320. package/dist/session/thread/session-context-sub-sessions.js +3 -8
  321. package/dist/session/thread/transcript.d.ts +3 -0
  322. package/dist/session/thread/transcript.js +32 -8
  323. package/dist/session/tool/shared/full-view-action.d.ts +29 -0
  324. package/dist/session/tool/shared/full-view-action.js +43 -0
  325. package/dist/session/tool/tool-part-renderer.js +10 -2
  326. package/dist/session/tool/tools/agent-message-tool.js +2 -2
  327. package/dist/session/tool/tools/agent-spawn-tool.js +2 -2
  328. package/dist/session/tool/tools/agent-status-tool.js +2 -2
  329. package/dist/session/tool/tools/kortix-action-tool.d.ts +2 -0
  330. package/dist/session/tool/tools/kortix-action-tool.js +148 -0
  331. package/dist/session/tool/tools/kortix-tool-card.d.ts +83 -0
  332. package/dist/session/tool/tools/kortix-tool-card.js +186 -0
  333. package/dist/session/tool/tools/multi-agent-tool-bodies.d.ts +11 -0
  334. package/dist/session/tool/tools/multi-agent-tool-bodies.js +141 -0
  335. package/dist/session/tool/tools/multi-agent-tool-data.d.ts +63 -0
  336. package/dist/session/tool/tools/multi-agent-tool-data.js +118 -0
  337. package/dist/session/tool/tools/multi-agent-tools.d.ts +9 -0
  338. package/dist/session/tool/tools/multi-agent-tools.js +38 -0
  339. package/dist/session/tool/tools/question-tool.js +1 -1
  340. package/dist/session/tool/tools/register.d.ts +3 -0
  341. package/dist/session/tool/tools/register.js +3 -0
  342. package/dist/session/tool/tools/session-spawn-tool.js +2 -2
  343. package/dist/session/tool/tools/task-tool.d.ts +1 -1
  344. package/dist/session/tool/tools/task-tool.js +29 -41
  345. package/dist/session/tool/tools/workflow-progress.d.ts +34 -0
  346. package/dist/session/tool/tools/workflow-progress.js +186 -0
  347. package/dist/session/tool/tools/workflow-run.d.ts +128 -0
  348. package/dist/session/tool/tools/workflow-run.js +251 -0
  349. package/dist/session/tool/tools/workflow-tool.d.ts +9 -0
  350. package/dist/session/tool/tools/workflow-tool.js +253 -0
  351. package/dist/session/turn/notice-batch-group.d.ts +12 -0
  352. package/dist/session/turn/notice-batch-group.js +17 -0
  353. package/dist/session/turn/peer-message-row.d.ts +14 -0
  354. package/dist/session/turn/peer-message-row.js +57 -0
  355. package/dist/session/turn/subagent-notice-row.d.ts +4 -0
  356. package/dist/session/turn/subagent-notice-row.js +50 -0
  357. package/dist/session/turn/subagent-notice.d.ts +58 -0
  358. package/dist/session/turn/subagent-notice.js +111 -0
  359. package/dist/session/turn/user-message.d.ts +5 -4
  360. package/dist/session/turn/user-message.js +31 -10
  361. package/dist/styles/tokens.css +2 -0
  362. package/dist/styles.css +1 -1
  363. package/dist/terminal/session-terminal-connect-bar.js +1 -1
  364. package/dist/workspace/admin/project-admin-dashboard.d.ts +53 -0
  365. package/dist/workspace/admin/project-admin-dashboard.js +252 -0
  366. package/dist/workspace/admin/project-admin-nav.d.ts +20 -0
  367. package/dist/workspace/admin/project-admin-nav.js +41 -0
  368. package/dist/workspace/home/welcome-body.js +25 -3
  369. package/dist/workspace/index.d.ts +6 -2
  370. package/dist/workspace/index.js +12 -2
  371. package/dist/workspace/layout/new-session-create.js +3 -3
  372. package/dist/workspace/layout/project-home.js +3 -3
  373. package/dist/workspace/memory/memory-labels.js +5 -0
  374. package/dist/workspace/repository-disconnected.js +2 -2
  375. package/dist/workspace/sessions/board-dispatch.d.ts +52 -0
  376. package/dist/workspace/sessions/board-dispatch.js +110 -0
  377. package/dist/workspace/sessions/board-grouping.d.ts +63 -0
  378. package/dist/workspace/sessions/board-grouping.js +141 -0
  379. package/dist/workspace/sessions/board-peek.d.ts +15 -0
  380. package/dist/workspace/sessions/board-peek.js +54 -0
  381. package/dist/workspace/sessions/board-state-mark.d.ts +15 -0
  382. package/dist/workspace/sessions/board-state-mark.js +24 -0
  383. package/dist/workspace/sessions/project-sessions-view.js +42 -31
  384. package/dist/workspace/sessions/sessions-board.d.ts +12 -0
  385. package/dist/workspace/sessions/sessions-board.js +214 -0
  386. package/dist/workspace/sidebar/footer/project-manifest-issues-alert.d.ts +46 -0
  387. package/dist/workspace/sidebar/footer/project-manifest-issues-alert.js +85 -0
  388. package/dist/workspace/sidebar/footer/sidebar-alert.js +1 -1
  389. package/dist/workspace/sidebar/new-agent-modal-provider.d.ts +12 -0
  390. package/dist/workspace/sidebar/new-agent-modal-provider.js +19 -0
  391. package/dist/workspace/sidebar/project-nav-items.d.ts +3 -1
  392. package/dist/workspace/sidebar/project-nav-items.js +53 -5
  393. package/dist/workspace/sidebar/project-session-list.js +35 -12
  394. package/dist/workspace/sidebar/project-sidebar.js +6 -3
  395. package/dist/workspace/sidebar/session-filter-menu.js +2 -1
  396. package/dist/workspace/space/space-blocks.d.ts +25 -0
  397. package/dist/workspace/space/space-blocks.js +124 -0
  398. package/dist/workspace/space/space-filter-tabs.d.ts +17 -0
  399. package/dist/workspace/space/space-filter-tabs.js +31 -0
  400. package/dist/workspace/space/space-page.d.ts +24 -0
  401. package/dist/workspace/space/space-page.js +157 -0
  402. package/dist/workspace/space/space-room.d.ts +20 -0
  403. package/dist/workspace/space/space-room.js +27 -0
  404. package/dist/workspace/space/space-tab-menu.d.ts +14 -0
  405. package/dist/workspace/space/space-tab-menu.js +127 -0
  406. package/dist/workspace/space/space-tab-panels.d.ts +9 -0
  407. package/dist/workspace/space/space-tab-panels.js +203 -0
  408. package/dist/workspace/space/space-templates.d.ts +34 -0
  409. package/dist/workspace/space/space-templates.js +71 -0
  410. package/dist/workspace/space/use-space-filter.d.ts +10 -0
  411. package/dist/workspace/space/use-space-filter.js +40 -0
  412. package/dist/workspace/space/use-space-manifest.d.ts +8 -0
  413. package/dist/workspace/space/use-space-manifest.js +27 -0
  414. package/dist/workspace/spaces/space-timeline.js +2 -2
  415. package/package.json +56 -53
  416. package/skills/kortix-ui/SKILL.md +1 -1
  417. package/skills/kortix-ui/references/custom-dashboard.md +10 -4
  418. package/skills/kortix-ui/references/modules.md +11 -9
  419. package/dist/_vendor/shared/meta-agent.d.ts +0 -7
  420. package/dist/customize/agents/agent-grant-pages.d.ts +0 -37
  421. package/dist/customize/agents/agent-grant-pages.js +0 -226
  422. package/dist/customize/agents/agent-triggers-section.d.ts +0 -17
  423. package/dist/customize/agents/agent-triggers-section.js +0 -109
  424. package/dist/customize/migrate-to-v2/index.d.ts +0 -5
  425. package/dist/customize/migrate-to-v2/index.js +0 -5
  426. package/dist/customize/migrate-to-v2/migration-prompt.d.ts +0 -16
  427. package/dist/customize/migrate-to-v2/migration-prompt.js +0 -59
  428. package/dist/customize/migrate-to-v2/upgrade-defs.d.ts +0 -30
  429. package/dist/customize/migrate-to-v2/upgrade-defs.js +0 -43
  430. package/dist/customize/migrate-to-v2/upgrade-view.d.ts +0 -32
  431. package/dist/customize/migrate-to-v2/upgrade-view.js +0 -152
  432. package/dist/customize/migrate-to-v2/use-run-upgrade.d.ts +0 -18
  433. package/dist/customize/migrate-to-v2/use-run-upgrade.js +0 -16
  434. package/dist/customize/shared/capability-tabs.d.ts +0 -3
  435. package/dist/customize/shared/capability-tabs.js +0 -137
  436. package/dist/customize/skills/skill-scope.d.ts +0 -14
  437. package/dist/customize/skills/skill-scope.js +0 -18
  438. package/dist/internal/lib/manifest-version.d.ts +0 -21
  439. package/dist/internal/lib/manifest-version.js +0 -55
  440. package/dist/session/composer/hooks/use-composer-escape-stop.d.ts +0 -6
  441. package/dist/session/composer/hooks/use-composer-escape-stop.js +0 -28
  442. package/dist/session/thread/sub-session-modal-content.d.ts +0 -8
  443. package/dist/session/thread/sub-session-modal-content.js +0 -23
  444. package/dist/session/thread/sub-session-modal.d.ts +0 -2
  445. package/dist/session/thread/sub-session-modal.js +0 -14
  446. package/dist/workspace/sidebar/footer/project-manifest-upgrade-alert.d.ts +0 -13
  447. package/dist/workspace/sidebar/footer/project-manifest-upgrade-alert.js +0 -48
@@ -223,6 +223,333 @@ export declare const artifactCommentAnchorSchema: z.ZodEffects<z.ZodDiscriminate
223
223
  type: "none";
224
224
  version: string;
225
225
  }>;
226
+ export declare const artifactCommentMarkSchema: z.ZodEffects<z.ZodDiscriminatedUnion<"tool", [z.ZodObject<{
227
+ points: z.ZodArray<z.ZodObject<{
228
+ x: z.ZodNumber;
229
+ y: z.ZodNumber;
230
+ }, "strict", z.ZodTypeAny, {
231
+ x: number;
232
+ y: number;
233
+ }, {
234
+ x: number;
235
+ y: number;
236
+ }>, "many">;
237
+ color: z.ZodEnum<["black", "red", "blue"]>;
238
+ width: z.ZodNumber;
239
+ tool: z.ZodLiteral<"pen">;
240
+ }, "strict", z.ZodTypeAny, {
241
+ width: number;
242
+ tool: "pen";
243
+ points: {
244
+ x: number;
245
+ y: number;
246
+ }[];
247
+ color: "red" | "blue" | "black";
248
+ }, {
249
+ width: number;
250
+ tool: "pen";
251
+ points: {
252
+ x: number;
253
+ y: number;
254
+ }[];
255
+ color: "red" | "blue" | "black";
256
+ }>, z.ZodObject<{
257
+ points: z.ZodArray<z.ZodObject<{
258
+ x: z.ZodNumber;
259
+ y: z.ZodNumber;
260
+ }, "strict", z.ZodTypeAny, {
261
+ x: number;
262
+ y: number;
263
+ }, {
264
+ x: number;
265
+ y: number;
266
+ }>, "many">;
267
+ color: z.ZodEnum<["black", "red", "blue"]>;
268
+ width: z.ZodNumber;
269
+ tool: z.ZodLiteral<"arrow">;
270
+ }, "strict", z.ZodTypeAny, {
271
+ width: number;
272
+ tool: "arrow";
273
+ points: {
274
+ x: number;
275
+ y: number;
276
+ }[];
277
+ color: "red" | "blue" | "black";
278
+ }, {
279
+ width: number;
280
+ tool: "arrow";
281
+ points: {
282
+ x: number;
283
+ y: number;
284
+ }[];
285
+ color: "red" | "blue" | "black";
286
+ }>, z.ZodObject<{
287
+ points: z.ZodArray<z.ZodObject<{
288
+ x: z.ZodNumber;
289
+ y: z.ZodNumber;
290
+ }, "strict", z.ZodTypeAny, {
291
+ x: number;
292
+ y: number;
293
+ }, {
294
+ x: number;
295
+ y: number;
296
+ }>, "many">;
297
+ color: z.ZodEnum<["black", "red", "blue"]>;
298
+ width: z.ZodNumber;
299
+ tool: z.ZodLiteral<"rectangle">;
300
+ }, "strict", z.ZodTypeAny, {
301
+ width: number;
302
+ tool: "rectangle";
303
+ points: {
304
+ x: number;
305
+ y: number;
306
+ }[];
307
+ color: "red" | "blue" | "black";
308
+ }, {
309
+ width: number;
310
+ tool: "rectangle";
311
+ points: {
312
+ x: number;
313
+ y: number;
314
+ }[];
315
+ color: "red" | "blue" | "black";
316
+ }>]>, {
317
+ width: number;
318
+ tool: "pen";
319
+ points: {
320
+ x: number;
321
+ y: number;
322
+ }[];
323
+ color: "red" | "blue" | "black";
324
+ } | {
325
+ width: number;
326
+ tool: "arrow";
327
+ points: {
328
+ x: number;
329
+ y: number;
330
+ }[];
331
+ color: "red" | "blue" | "black";
332
+ } | {
333
+ width: number;
334
+ tool: "rectangle";
335
+ points: {
336
+ x: number;
337
+ y: number;
338
+ }[];
339
+ color: "red" | "blue" | "black";
340
+ }, {
341
+ width: number;
342
+ tool: "pen";
343
+ points: {
344
+ x: number;
345
+ y: number;
346
+ }[];
347
+ color: "red" | "blue" | "black";
348
+ } | {
349
+ width: number;
350
+ tool: "arrow";
351
+ points: {
352
+ x: number;
353
+ y: number;
354
+ }[];
355
+ color: "red" | "blue" | "black";
356
+ } | {
357
+ width: number;
358
+ tool: "rectangle";
359
+ points: {
360
+ x: number;
361
+ y: number;
362
+ }[];
363
+ color: "red" | "blue" | "black";
364
+ }>;
365
+ export declare const artifactCommentMarksSchema: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodDiscriminatedUnion<"tool", [z.ZodObject<{
366
+ points: z.ZodArray<z.ZodObject<{
367
+ x: z.ZodNumber;
368
+ y: z.ZodNumber;
369
+ }, "strict", z.ZodTypeAny, {
370
+ x: number;
371
+ y: number;
372
+ }, {
373
+ x: number;
374
+ y: number;
375
+ }>, "many">;
376
+ color: z.ZodEnum<["black", "red", "blue"]>;
377
+ width: z.ZodNumber;
378
+ tool: z.ZodLiteral<"pen">;
379
+ }, "strict", z.ZodTypeAny, {
380
+ width: number;
381
+ tool: "pen";
382
+ points: {
383
+ x: number;
384
+ y: number;
385
+ }[];
386
+ color: "red" | "blue" | "black";
387
+ }, {
388
+ width: number;
389
+ tool: "pen";
390
+ points: {
391
+ x: number;
392
+ y: number;
393
+ }[];
394
+ color: "red" | "blue" | "black";
395
+ }>, z.ZodObject<{
396
+ points: z.ZodArray<z.ZodObject<{
397
+ x: z.ZodNumber;
398
+ y: z.ZodNumber;
399
+ }, "strict", z.ZodTypeAny, {
400
+ x: number;
401
+ y: number;
402
+ }, {
403
+ x: number;
404
+ y: number;
405
+ }>, "many">;
406
+ color: z.ZodEnum<["black", "red", "blue"]>;
407
+ width: z.ZodNumber;
408
+ tool: z.ZodLiteral<"arrow">;
409
+ }, "strict", z.ZodTypeAny, {
410
+ width: number;
411
+ tool: "arrow";
412
+ points: {
413
+ x: number;
414
+ y: number;
415
+ }[];
416
+ color: "red" | "blue" | "black";
417
+ }, {
418
+ width: number;
419
+ tool: "arrow";
420
+ points: {
421
+ x: number;
422
+ y: number;
423
+ }[];
424
+ color: "red" | "blue" | "black";
425
+ }>, z.ZodObject<{
426
+ points: z.ZodArray<z.ZodObject<{
427
+ x: z.ZodNumber;
428
+ y: z.ZodNumber;
429
+ }, "strict", z.ZodTypeAny, {
430
+ x: number;
431
+ y: number;
432
+ }, {
433
+ x: number;
434
+ y: number;
435
+ }>, "many">;
436
+ color: z.ZodEnum<["black", "red", "blue"]>;
437
+ width: z.ZodNumber;
438
+ tool: z.ZodLiteral<"rectangle">;
439
+ }, "strict", z.ZodTypeAny, {
440
+ width: number;
441
+ tool: "rectangle";
442
+ points: {
443
+ x: number;
444
+ y: number;
445
+ }[];
446
+ color: "red" | "blue" | "black";
447
+ }, {
448
+ width: number;
449
+ tool: "rectangle";
450
+ points: {
451
+ x: number;
452
+ y: number;
453
+ }[];
454
+ color: "red" | "blue" | "black";
455
+ }>]>, {
456
+ width: number;
457
+ tool: "pen";
458
+ points: {
459
+ x: number;
460
+ y: number;
461
+ }[];
462
+ color: "red" | "blue" | "black";
463
+ } | {
464
+ width: number;
465
+ tool: "arrow";
466
+ points: {
467
+ x: number;
468
+ y: number;
469
+ }[];
470
+ color: "red" | "blue" | "black";
471
+ } | {
472
+ width: number;
473
+ tool: "rectangle";
474
+ points: {
475
+ x: number;
476
+ y: number;
477
+ }[];
478
+ color: "red" | "blue" | "black";
479
+ }, {
480
+ width: number;
481
+ tool: "pen";
482
+ points: {
483
+ x: number;
484
+ y: number;
485
+ }[];
486
+ color: "red" | "blue" | "black";
487
+ } | {
488
+ width: number;
489
+ tool: "arrow";
490
+ points: {
491
+ x: number;
492
+ y: number;
493
+ }[];
494
+ color: "red" | "blue" | "black";
495
+ } | {
496
+ width: number;
497
+ tool: "rectangle";
498
+ points: {
499
+ x: number;
500
+ y: number;
501
+ }[];
502
+ color: "red" | "blue" | "black";
503
+ }>, "many">, ({
504
+ width: number;
505
+ tool: "pen";
506
+ points: {
507
+ x: number;
508
+ y: number;
509
+ }[];
510
+ color: "red" | "blue" | "black";
511
+ } | {
512
+ width: number;
513
+ tool: "arrow";
514
+ points: {
515
+ x: number;
516
+ y: number;
517
+ }[];
518
+ color: "red" | "blue" | "black";
519
+ } | {
520
+ width: number;
521
+ tool: "rectangle";
522
+ points: {
523
+ x: number;
524
+ y: number;
525
+ }[];
526
+ color: "red" | "blue" | "black";
527
+ })[], ({
528
+ width: number;
529
+ tool: "pen";
530
+ points: {
531
+ x: number;
532
+ y: number;
533
+ }[];
534
+ color: "red" | "blue" | "black";
535
+ } | {
536
+ width: number;
537
+ tool: "arrow";
538
+ points: {
539
+ x: number;
540
+ y: number;
541
+ }[];
542
+ color: "red" | "blue" | "black";
543
+ } | {
544
+ width: number;
545
+ tool: "rectangle";
546
+ points: {
547
+ x: number;
548
+ y: number;
549
+ }[];
550
+ color: "red" | "blue" | "black";
551
+ })[]>;
552
+ export type ArtifactCommentMark = z.infer<typeof artifactCommentMarkSchema>;
226
553
  export type ArtifactCommentAnchor = z.infer<typeof artifactCommentAnchorSchema>;
227
554
  export type ArtifactTextAnchor = Extract<ArtifactCommentAnchor, {
228
555
  type: 'text';
@@ -10,7 +10,7 @@ export * from "./constants/upload-limits";
10
10
  export * from "./constants/auto-topup";
11
11
  export * from "./runtime-versions";
12
12
  export * from "./project-glyphs";
13
- export * from "./meta-agent";
13
+ export * from "./my-kortix-agent";
14
14
  export * from "./utils/format-relative";
15
15
  export * from './prompt-attachments';
16
16
  export * from './markdown-math';
@@ -20,6 +20,7 @@ export * from './tag-blocks';
20
20
  export * from './trigger-event';
21
21
  export * from './reminder-prompt';
22
22
  export * from './room-prompt';
23
+ export * from './peer-message-prompt';
23
24
  export * from './channel-header';
24
25
  export * from './channel-message';
25
26
  export * from './slack-text';
@@ -28,3 +29,4 @@ export * from './webhook-signing';
28
29
  export * from './pasted-content';
29
30
  export * from './space-slug';
30
31
  export * from './artifact-comments';
32
+ export * from './artifact-annotations';
@@ -0,0 +1,40 @@
1
+ /** My Kortix, the platform's built-in agent: its slug. Session rows, token
2
+ * grants, the sandbox slug, image names and the config-release variant key
3
+ * on it. */
4
+ export declare const MY_KORTIX_AGENT_NAME = "mykortix";
5
+ /** The slug My Kortix had until 2026-10-30. Sessions, tokens and boxes made
6
+ * before the rename still carry it, so every read accepts it
7
+ * ({@link isMyKortixAgentName}); nothing new writes it. Drop it when no
8
+ * session or box from before the rename is live. */
9
+ export declare const LEGACY_MY_KORTIX_AGENT_NAME = "meta";
10
+ export declare const MY_KORTIX_SANDBOX_SLUG = "mykortix";
11
+ /** My Kortix — the built-in agent's DISPLAY name, the name every UI renders. */
12
+ export declare const MY_KORTIX_DISPLAY_NAME = "My Kortix";
13
+ /** True for My Kortix under its slug, or the legacy `meta` slug of an older session. */
14
+ /**
15
+ * How a person reads a session's message handle: My Kortix's own session has
16
+ * the generated handle `mykortix-<short id>` (or the legacy `meta-…`), shown
17
+ * as "My Kortix"; a named agent shows as `@name`.
18
+ */
19
+ export declare function peerHandleLabel(handle: string): string;
20
+ export declare function isMyKortixAgentName(name: string | null | undefined): boolean;
21
+ /** True for My Kortix's sandbox slug, or the legacy `meta` slug of an older box. */
22
+ export declare function isMyKortixSandboxSlug(slug: string | null | undefined): boolean;
23
+ /** The current slug for a name: `meta` becomes `mykortix`, any other name stays. */
24
+ export declare function canonicalAgentName<T extends string | null | undefined>(name: T): T | typeof MY_KORTIX_AGENT_NAME;
25
+ /**
26
+ * The built-in agents a project can turn on or off in `kortix.yaml`
27
+ * (`builtin_agents.<key>: true|false`, absent = on). Each key maps once to the
28
+ * agent slug the platform injects. Add a built-in here, nowhere else.
29
+ */
30
+ export declare const BUILTIN_AGENTS: {
31
+ readonly my_kortix: {
32
+ readonly agent: "mykortix";
33
+ readonly displayName: "My Kortix";
34
+ readonly sandbox: "mykortix";
35
+ };
36
+ };
37
+ export type BuiltinAgentKey = keyof typeof BUILTIN_AGENTS;
38
+ export declare const BUILTIN_AGENT_KEYS: BuiltinAgentKey[];
39
+ /** The `builtin_agents` key of a built-in agent slug (legacy `meta` included), or `null` for a declared agent. */
40
+ export declare function builtinAgentKeyOf(agentName: string | null | undefined): BuiltinAgentKey | null;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The text a cross-session message (`send_message`) delivers into the
3
+ * receiving session:
4
+ *
5
+ * [message from reviewer · session 3f2a1b9c · #m_7Kq2]
6
+ *
7
+ * <message text>
8
+ *
9
+ * ---
10
+ * <that it comes from another session, carries no authority, and how to answer>
11
+ *
12
+ * The API writes it (`peerMessagePromptText`); web and mobile read it back
13
+ * (`parsePeerMessagePrompt`) to render a one-line "Message from @reviewer"
14
+ * row, not a turn the person typed. One module owns both sides so they cannot
15
+ * drift, as `room-prompt.ts` does for rooms.
16
+ */
17
+ export type PeerMessageKind = 'message' | 'shutdown_request' | 'shutdown_response' | 'idle_notice';
18
+ export interface PeerMessagePromptInfo {
19
+ kind: PeerMessageKind;
20
+ /** The sender's handle, e.g. `reviewer`. */
21
+ from: string;
22
+ /** The sender's short session id (8 characters). */
23
+ fromShortId: string;
24
+ /** The message id, for a reply that threads. */
25
+ messageId: string;
26
+ /** The one-line preview, or null. */
27
+ summary: string | null;
28
+ /** The message text, without the header and the footer. */
29
+ text: string;
30
+ }
31
+ export declare function peerMessagePromptText(input: Omit<PeerMessagePromptInfo, 'text'> & {
32
+ text: string;
33
+ }): string;
34
+ /** The cross-session message a prompt carries, or undefined for any other text. Linear time. */
35
+ export declare function parsePeerMessagePrompt(rawText: string | null | undefined): PeerMessagePromptInfo | undefined;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The Kortix symbol (`kortix-logo.tsx`, `variant="icon"`) sampled onto a
3
+ * 12 × 10 grid. `#` is a cell the symbol fully covers; `+` is a cell on a curve
4
+ * that it only partly covers, drawn as a checker so the curves read as dither.
5
+ *
6
+ * One copy for every pixel rendering of the symbol: the web `PixelKortixMark`
7
+ * (`@kortix/ui/pixel-kortix-mark`, empty states, merch chips, My Kortix's agent
8
+ * mark) and the TUI splash (`apps/tui/src/ui/splash.tsx`, half blocks). Rows
9
+ * are plain text, the same width, and symmetric on both axes.
10
+ */
11
+ export declare const PIXEL_KORTIX_ROWS: readonly ["## ## ##", "## ## ##", "+#+ ## +#+", " ##+ ## +## ", " ######## ", " ######## ", " ##+ ## +## ", "+#+ ## +#+", "## ## ##", "## ## ##"];
@@ -1,4 +1,5 @@
1
1
  export declare const MAX_PROMPT_UPLOAD_FILENAME_BYTES: number;
2
+ export declare const PROMPT_PARTS_MAX_BYTES: number;
2
3
  export declare const MAX_PROMPT_ATTACHMENT_BYTES: number;
3
4
  export declare const MAX_PROMPT_ATTACHMENTS_BYTES: number;
4
5
  export declare const MAX_PROMPT_ATTACHMENT_FILES = 20;
@@ -10,12 +10,18 @@
10
10
  * the person typed. One module owns both sides so they cannot drift.
11
11
  */
12
12
  export interface ReminderPromptInfo {
13
- /** `reminder.<12 hex>`. */
13
+ /** `reminder.<12 hex>` (a loop) or `trigger.<12 hex>` (a runtime trigger). Rows made before the rename carry `automation.<12 hex>`. */
14
14
  id: string;
15
15
  recurring: boolean;
16
16
  /** The reminder text, without the header. */
17
17
  prompt: string;
18
18
  }
19
- export declare function reminderPromptText(input: ReminderPromptInfo): string;
19
+ /**
20
+ * `source` names a non-schedule source that woke the session (`webhook`,
21
+ * `change request merged`, …). Absent: the schedule header, unchanged.
22
+ */
23
+ export declare function reminderPromptText(input: ReminderPromptInfo & {
24
+ source?: string;
25
+ }): string;
20
26
  /** The reminder a prompt carries, or undefined for any other text. Linear time. */
21
27
  export declare function parseReminderPrompt(rawText: string | null | undefined): ReminderPromptInfo | undefined;
@@ -19,6 +19,10 @@ export type RuntimeVersions = {
19
19
  agentBrowser: string;
20
20
  playwright: string;
21
21
  anydoc: string;
22
+ /** The Claude Code program Claude subscription models run (`claude --version`). */
23
+ claudeCode: string;
24
+ /** The Claude Agent SDK release that ships that program (its `claudeCodeVersion`); kortixd pins the same SDK. */
25
+ claudeAgentSdk: string;
22
26
  /** tembo/voxl commit the sandbox desktop streamer is built from (apps/sandbox/voxl/release.sh). */
23
27
  voxl: string;
24
28
  voxlSha256Amd64: string;
@@ -49,6 +53,10 @@ export declare const OPENCODE_USER_AGENT: string;
49
53
  export declare const AGENT_BROWSER_VERSION: string;
50
54
  export declare const PLAYWRIGHT_VERSION: string;
51
55
  export declare const ANYDOC_VERSION: string;
56
+ export declare const CLAUDE_CODE_VERSION: string;
57
+ export declare const CLAUDE_AGENT_SDK_VERSION: string;
58
+ /** Where every image installs the Claude Code program (kortixd's default `KORTIX_CLAUDE_PATH`). */
59
+ export declare const CLAUDE_CODE_PATH = "/opt/kortix/claude/bin/claude";
52
60
  export declare const VOXL_VERSION: string;
53
61
  export declare const VOXL_SHA256_AMD64: string;
54
62
  export declare const VOXL_SHA256_ARM64: string;
@@ -11,6 +11,7 @@ export declare const ArtifactFrame: import("react").ForwardRefExoticComponent<{
11
11
  title: string;
12
12
  className?: string;
13
13
  preview?: boolean;
14
+ onFrame?: (frame: HTMLIFrameElement | null) => void;
14
15
  } & import("react").RefAttributes<HTMLDivElement>>;
15
16
  /** Create (and park) the pooled frame for an artifact page; a no-op when it exists. */
16
17
  export declare function ensureArtifactFrame(key: string, src: string, title: string): void;
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { forwardRef, useLayoutEffect, useState } from 'react';
3
+ import { forwardRef, useLayoutEffect, useRef, useState } from 'react';
4
4
  import { claimFrame, ensureFrame } from '../apps/app-preview-pool.js';
5
5
  import { ARTIFACT_FRAME_ALLOW, ARTIFACT_IFRAME_SANDBOX } from './frame-policy.js';
6
6
  /**
@@ -19,19 +19,32 @@ const PREVIEW_CANVAS = 'bg-background';
19
19
  * viewer without reloading. `frameKey` changes after a save, so an edit loads
20
20
  * the new page. The ref is the slot (the viewer's full screen target).
21
21
  */
22
- export const ArtifactFrame = forwardRef(function ArtifactFrame({ frameKey, src, title, className, preview }, ref) {
22
+ export const ArtifactFrame = forwardRef(function ArtifactFrame({ frameKey, src, title, className, preview, onFrame }, ref) {
23
23
  const [slot, setSlot] = useState(null);
24
+ const latestOnFrame = useRef(onFrame);
25
+ useLayoutEffect(() => {
26
+ latestOnFrame.current = onFrame;
27
+ });
24
28
  const interactive = !preview;
25
29
  const frameClass = `${className ?? ''} ${preview ? PREVIEW_CANVAS : ARTIFACT_CANVAS}`;
26
30
  useLayoutEffect(() => {
27
31
  if (!slot)
28
32
  return;
29
33
  ensureArtifactFrame(frameKey, src, title);
30
- const release = claimFrame(frameKey, slot, { className: frameClass, style: {}, interactive });
34
+ const release = claimFrame(frameKey, slot, {
35
+ className: frameClass,
36
+ style: {},
37
+ interactive,
38
+ });
31
39
  // The viewer hands the keyboard to the page, so a deck's arrow keys work at once.
40
+ const claimed = Array.from(slot.querySelectorAll('iframe')).find((candidate) => candidate.dataset.frameKey === frameKey) ?? null;
32
41
  if (interactive)
33
- slot.querySelector('iframe')?.focus({ preventScroll: true });
34
- return release;
42
+ claimed?.focus({ preventScroll: true });
43
+ latestOnFrame.current?.(claimed);
44
+ return () => {
45
+ latestOnFrame.current?.(null);
46
+ release();
47
+ };
35
48
  // The URL is read once per key: a refetch must not reload the page.
36
49
  // eslint-disable-next-line react-hooks/exhaustive-deps
37
50
  }, [frameKey, slot, interactive, frameClass]);
@@ -12,7 +12,7 @@ export declare const ARTIFACT_FRAME_PREFIX = "artifact:";
12
12
  export declare function artifactFrameKey(artifact: {
13
13
  artifact_id: string;
14
14
  updated_at: string;
15
- }, version?: string | null): string;
15
+ }, version?: string | null, annotate?: boolean): string;
16
16
  /**
17
17
  * Print a doc to PDF without leaving the page: its print view (`?print=1`)
18
18
  * loads in a hidden frame and opens the print dialog for that frame alone. The
@@ -9,8 +9,8 @@ export const ARTIFACT_FRAME_ALLOW = 'fullscreen; clipboard-write; autoplay; encr
9
9
  /** Artifact frames share the Apps frame pool (`@kortix/ui/apps`); their keys start with this. */
10
10
  export const ARTIFACT_FRAME_PREFIX = 'artifact:';
11
11
  /** One pooled frame per artifact state: a save (`updated_at`) or an old version gets its own. */
12
- export function artifactFrameKey(artifact, version) {
13
- return `${ARTIFACT_FRAME_PREFIX}${artifact.artifact_id}:${version ?? artifact.updated_at}`;
12
+ export function artifactFrameKey(artifact, version, annotate = false) {
13
+ return `${ARTIFACT_FRAME_PREFIX}${artifact.artifact_id}:${version ?? artifact.updated_at}${annotate ? ':annotate' : ''}`;
14
14
  }
15
15
  /**
16
16
  * Print a doc to PDF without leaving the page: its print view (`?print=1`)
@@ -22,13 +22,15 @@ export function printArtifact(viewUrl) {
22
22
  frame.setAttribute('sandbox', ARTIFACT_IFRAME_SANDBOX);
23
23
  frame.setAttribute('aria-hidden', 'true');
24
24
  frame.tabIndex = -1;
25
- frame.style.cssText = 'position:fixed;right:0;bottom:0;width:1px;height:1px;border:0;opacity:0;pointer-events:none';
25
+ frame.style.cssText =
26
+ 'position:fixed;right:0;bottom:0;width:1px;height:1px;border:0;opacity:0;pointer-events:none';
26
27
  const cleanup = () => {
27
28
  window.removeEventListener('message', onMessage);
28
29
  frame.remove();
29
30
  };
30
31
  const onMessage = (event) => {
31
- if (event.source === frame.contentWindow && event.data?.kortix === 'artifact-printed')
32
+ if (event.source === frame.contentWindow &&
33
+ event.data?.kortix === 'artifact-printed')
32
34
  cleanup();
33
35
  };
34
36
  window.addEventListener('message', onMessage);
@@ -55,7 +57,10 @@ export function parseArtifactUrl(url) {
55
57
  }
56
58
  const inProject = IN_PROJECT.exec(path);
57
59
  if (inProject)
58
- return { projectId: inProject[1].toLowerCase(), artifactId: inProject[2].toLowerCase() };
60
+ return {
61
+ projectId: inProject[1].toLowerCase(),
62
+ artifactId: inProject[2].toLowerCase(),
63
+ };
59
64
  const shared = PUBLIC.exec(path);
60
65
  return shared ? { projectId: null, artifactId: shared[1].toLowerCase() } : null;
61
66
  }
@@ -2,6 +2,7 @@ interface PreviewTabContentProps {
2
2
  tabId: string;
3
3
  projectId?: string;
4
4
  projectSessionId?: string;
5
+ targetUrl?: string;
5
6
  }
6
7
  /**
7
8
  * Preview tab content — renders a proxied sandbox URL in an iframe
@@ -11,5 +12,5 @@ interface PreviewTabContentProps {
11
12
  * any localhost:PORT address to navigate within the sandbox. Visited URLs are
12
13
  * recorded and offered back as "Recents" on the empty landing state.
13
14
  */
14
- export declare function BrowserPanel({ tabId, projectId, projectSessionId }: PreviewTabContentProps): import("react").JSX.Element;
15
+ export declare function BrowserPanel({ tabId, projectId, projectSessionId, targetUrl }: PreviewTabContentProps): import("react").JSX.Element;
15
16
  export {};
@@ -43,7 +43,7 @@ const subscribeNoop = () => () => { };
43
43
  * any localhost:PORT address to navigate within the sandbox. Visited URLs are
44
44
  * recorded and offered back as "Recents" on the empty landing state.
45
45
  */
46
- export function BrowserPanel({ tabId, projectId, projectSessionId }) {
46
+ export function BrowserPanel({ tabId, projectId, projectSessionId, targetUrl }) {
47
47
  const tHardcodedUi = useTranslations('hardcodedUi');
48
48
  const tI18nComplete = useTranslations('hardcodedUi.i18nComplete');
49
49
  const appPreviewTitle = tI18nComplete.raw('text6026c1d8c92e');
@@ -69,7 +69,7 @@ export function BrowserPanel({ tabId, projectId, projectSessionId }) {
69
69
  // reveal scroll shoves a permanent sideways offset onto the panel's
70
70
  // overflow-hidden ancestors. Mount-only on purpose (`autoFocus` semantics —
71
71
  // a later navigation clearing the URL must not steal the cursor).
72
- const autoFocusAddressRef = useRef(!rawPreviewUrl);
72
+ const autoFocusAddressRef = useRef(!rawPreviewUrl && !targetUrl);
73
73
  useEffect(() => {
74
74
  if (autoFocusAddressRef.current)
75
75
  focusWithoutScroll(addressInputRef.current);
@@ -200,6 +200,16 @@ export function BrowserPanel({ tabId, projectId, projectSessionId }) {
200
200
  pushHistory(newProxyUrl);
201
201
  handleRefresh();
202
202
  }, [subdomainOpts, rewritePortPath, tabId, appPreviewTitle, updateTabMetadata, pushHistory, handleRefresh]);
203
+ const appliedTarget = useRef(null);
204
+ useEffect(() => {
205
+ if (!targetUrl || (appliedTarget.current?.tabId === tabId && appliedTarget.current.url === targetUrl))
206
+ return;
207
+ appliedTarget.current = { tabId, url: targetUrl };
208
+ // An external quick-view intent synchronizes the Browser tab and its navigation history.
209
+ // eslint-disable-next-line react-hooks/set-state-in-effect
210
+ if (targetUrl !== rawPreviewUrl && targetUrl !== originalUrl)
211
+ navigateTo(targetUrl);
212
+ }, [tabId, targetUrl, rawPreviewUrl, originalUrl, navigateTo]);
203
213
  const canGoBack = historyIndex > 0;
204
214
  const canGoForward = historyIndex < history.length - 1;
205
215
  /** Walk the history stack in either direction; the two directions were two
@@ -0,0 +1,16 @@
1
+ import type { AgentCapabilityGrant, ProjectConfigSummary } from '@kortix/sdk';
2
+ /**
3
+ * The one way Customize names a grant, on every surface (the Access switcher,
4
+ * the Overview rows, the Agents index, My Kortix): "All", "None", "N of M"
5
+ * when the catalog size is known, else "N".
6
+ */
7
+ export declare function useGrantLabel(): (value: AgentCapabilityGrant | number | undefined, total?: number) => string;
8
+ /**
9
+ * What an agent's configuration grants (KRTX-3025), in the agent page's words
10
+ * and glyphs: connectors, secrets and Kortix permissions, each All, None or a
11
+ * count. Every part shows, in the same order, so rows line up in a list. The
12
+ * glyph is the Overview row's glyph; its name is the accessible label.
13
+ */
14
+ export declare function AgentAccessText({ agent }: {
15
+ agent: ProjectConfigSummary['agents'][number];
16
+ }): import("react").JSX.Element | null;