@nextclaw/ui 0.13.12 → 0.14.0

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 (430) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/assets/{api-DmxQnm30.js → api-B50yVdT8.js} +7 -7
  3. package/dist/assets/app-presenter-provider-BI-ewLbO.js +3 -0
  4. package/dist/assets/arrow-left-BOCJyLbQ.js +1 -0
  5. package/dist/assets/book-open-Bd2Xbrrc.js +1 -0
  6. package/dist/assets/channels-list-page-moJkpxtU.js +8 -0
  7. package/dist/assets/chat-page-CO27cl4v.js +105 -0
  8. package/dist/assets/config-split-page-CsQ2rIdq.js +1 -0
  9. package/dist/assets/{confirm-dialog-BWRNsRgb.js → confirm-dialog-DRSelLdI.js} +2 -2
  10. package/dist/assets/desktop-update-config-qa-SynOc.js +1 -0
  11. package/dist/assets/{dist-DzM2ZEVN.js → dist-D19wiQwB.js} +1 -1
  12. package/dist/assets/{dist-CyWdaJvr.js → dist-NZRV-BxD.js} +1 -1
  13. package/dist/assets/doc-browser-2ddUJCA0.js +1 -0
  14. package/dist/assets/doc-browser-BjHUczQb.js +1 -0
  15. package/dist/assets/doc-browser-context-C8KPbj-p.js +1 -0
  16. package/dist/assets/{ellipsis-BDgTYNDX.js → ellipsis-BYy8TP0A.js} +1 -1
  17. package/dist/assets/{es2015-WqekV0OK.js → es2015-BUIIKCNh.js} +1 -1
  18. package/dist/assets/{external-link-BLjo8z2a.js → external-link-528k6MDD.js} +1 -1
  19. package/dist/assets/host-capabilities-9bB_998Z.js +1 -0
  20. package/dist/assets/index-CMNrRhnG.js +101 -0
  21. package/dist/assets/index-UTmTW1eU.css +1 -0
  22. package/dist/assets/{key-round-Du8x3sWa.js → key-round-D3vD9dj7.js} +1 -1
  23. package/dist/assets/loader-circle-DV9TSRns.js +1 -0
  24. package/dist/assets/mcp-marketplace-page-CS5Lh3oA.js +1 -0
  25. package/dist/assets/mcp-marketplace-page-DEOMcWb0.js +40 -0
  26. package/dist/assets/model-config-page-BSc4o7pb.js +1 -0
  27. package/dist/assets/{notice-card-3a7FmAz-.js → notice-card-qqlbsOoR.js} +1 -1
  28. package/dist/assets/plus-Bf9qhPDO.js +1 -0
  29. package/dist/assets/{popover-BlJLguiZ.js → popover-BnmPOXe3.js} +1 -1
  30. package/dist/assets/provider-scoped-model-input-Ca56s475.js +1 -0
  31. package/dist/assets/providers-config-page-D8Kf4U3u.js +1 -0
  32. package/dist/assets/{react-BVjl1ZaK.js → react-Dsotw5vM.js} +1 -1
  33. package/dist/assets/{refresh-cw-DFR87zei.js → refresh-cw-Bmx4wc9P.js} +1 -1
  34. package/dist/assets/remote-DNMEy_c4.js +1 -0
  35. package/dist/assets/rotate-cw-CL0sVBel.js +1 -0
  36. package/dist/assets/runtime-config-page-CUFtKr0U.js +1 -0
  37. package/dist/assets/{save-BDmIlHvN.js → save-CHDnDTok.js} +1 -1
  38. package/dist/assets/search-D7L-TCH-.js +1 -0
  39. package/dist/assets/search-config-page-CA3RVAef.js +1 -0
  40. package/dist/assets/secrets-config-page-95yaH1fa.js +3 -0
  41. package/dist/assets/{status-dot-SVPjIyG5.js → status-dot-Dm4h-bjn.js} +1 -1
  42. package/dist/assets/tabs-CJvw5Lqp.js +1 -0
  43. package/dist/assets/{tag-chip-Cdwb3JSH.js → tag-chip-Cr8GwpRE.js} +1 -1
  44. package/dist/assets/{tooltip-CKGxLGnG.js → tooltip-Bxzi6aDL.js} +1 -1
  45. package/dist/assets/{trash-2-yLA8BEcE.js → trash-2-CSfX-BvU.js} +1 -1
  46. package/dist/assets/use-config-TzwzTgg0.js +1 -0
  47. package/dist/assets/x-fkIWvi07.js +1 -0
  48. package/dist/index.html +27 -25
  49. package/package.json +9 -8
  50. package/src/app/index.tsx +8 -4
  51. package/src/features/account/components/account-panel.tsx +3 -3
  52. package/src/features/account/hooks/{use-auth.test.ts → __tests__/use-auth.test.ts} +1 -1
  53. package/src/features/account/managers/account.manager.ts +6 -5
  54. package/src/features/agents/components/{agents-page.test.tsx → __tests__/agents-page.test.tsx} +41 -2
  55. package/src/features/agents/components/agent-dialogs.tsx +2 -2
  56. package/src/features/agents/components/agents-page.tsx +1 -1
  57. package/src/features/channels/components/config/channel-form.tsx +1 -1
  58. package/src/features/channels/pages/channels-list-page.tsx +18 -15
  59. package/src/features/channels/utils/{channel-form-fields.utils.test.ts → __tests__/channel-form-fields.utils.test.ts} +1 -1
  60. package/src/features/chat/components/{chat-welcome.test.tsx → __tests__/chat-welcome.test.tsx} +1 -1
  61. package/src/features/chat/components/conversation/{chat-conversation-header.test.tsx → __tests__/chat-conversation-header.test.tsx} +25 -32
  62. package/src/features/chat/components/conversation/{chat-conversation-panel.test.tsx → __tests__/chat-conversation-panel.test.tsx} +201 -37
  63. package/src/features/chat/components/conversation/chat-conversation-alerts.tsx +37 -0
  64. package/src/features/chat/components/conversation/chat-conversation-content.tsx +91 -0
  65. package/src/features/chat/components/conversation/chat-conversation-header-section.tsx +151 -0
  66. package/src/features/chat/components/conversation/chat-conversation-header.tsx +26 -89
  67. package/src/features/chat/components/conversation/chat-conversation-panel.tsx +13 -376
  68. package/src/features/chat/components/conversation/chat-conversation-parent-banner.tsx +16 -0
  69. package/src/features/chat/components/conversation/chat-conversation-skeleton.tsx +86 -0
  70. package/src/features/chat/components/conversation/chat-conversation-workspace-section.tsx +42 -0
  71. package/src/features/chat/components/layout/{chat-page-shell.test.tsx → __tests__/chat-page-shell.test.tsx} +1 -1
  72. package/src/features/chat/components/layout/__tests__/chat-sidebar-read-state.test.tsx +167 -0
  73. package/src/features/chat/components/layout/__tests__/chat-sidebar.test.tsx +834 -0
  74. package/src/features/chat/components/layout/chat-page-shell.tsx +11 -30
  75. package/src/features/chat/components/layout/chat-sidebar-toolbar.tsx +33 -53
  76. package/src/features/chat/components/layout/chat-sidebar-utility-menu.tsx +1 -1
  77. package/src/features/chat/components/layout/chat-sidebar.tsx +156 -202
  78. package/src/features/chat/components/providers/chat-presenter.provider.tsx +13 -44
  79. package/src/features/chat/{components/conversation → features/input/components/__tests__}/chat-attachment-upload-limit.test.ts +1 -1
  80. package/src/features/chat/{components/conversation → features/input/components}/chat-input-bar.container.tsx +133 -31
  81. package/src/features/chat/{hooks → features/input/hooks/__tests__}/use-chat-input-bar-controller.test.tsx +1 -1
  82. package/src/features/chat/{utils → features/input/utils/__tests__}/chat-composer-state.utils.test.ts +1 -1
  83. package/src/features/chat/{utils → features/input/utils/__tests__}/chat-inline-token.utils.test.ts +1 -1
  84. package/src/features/chat/{utils → features/input/utils/__tests__}/chat-input-bar.utils.test.ts +2 -2
  85. package/src/features/chat/{utils → features/input/utils/__tests__}/ncp-chat-input-availability.utils.test.ts +2 -1
  86. package/src/features/chat/{utils → features/input/utils}/ncp-chat-input-availability.utils.ts +6 -6
  87. package/src/features/chat/{components/conversation → features/message/components/__tests__}/chat-message-list.container.test.tsx +38 -3
  88. package/src/features/chat/{components/conversation → features/message/components}/chat-message-list.container.tsx +9 -13
  89. package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message-invalid-tool-arguments.utils.test.ts +2 -2
  90. package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message-session-spawn-tool-card.utils.test.ts +2 -2
  91. package/src/features/chat/features/message/utils/__tests__/chat-message-show-content-tool-card.utils.test.ts +54 -0
  92. package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message-summary-truncation.utils.test.ts +2 -2
  93. package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message-tool-agent-id.utils.test.ts +1 -1
  94. package/src/features/chat/{utils → features/message/utils/__tests__}/chat-message.utils.test.ts +2 -2
  95. package/src/features/chat/{utils → features/message/utils}/chat-message-inline-content.utils.ts +1 -1
  96. package/src/features/chat/{utils → features/message/utils}/chat-message-part.utils.ts +15 -2
  97. package/src/features/chat/{utils → features/message/utils}/chat-message-session-request-tool-card.utils.ts +1 -1
  98. package/src/features/chat/features/message/utils/chat-message-show-content-tool-card.utils.ts +165 -0
  99. package/src/features/chat/{utils → features/message/utils}/chat-message-tool-card.utils.ts +1 -1
  100. package/src/features/chat/{utils → features/message/utils}/chat-message.utils.ts +1 -1
  101. package/src/features/chat/features/ncp/hooks/__tests__/use-hydrated-ncp-agent.test.tsx +57 -0
  102. package/src/features/chat/{hooks → features/ncp/hooks/__tests__}/use-ncp-agent-runtime.test.tsx +2 -2
  103. package/src/features/chat/features/ncp/hooks/__tests__/use-ncp-chat-derived-state.test.tsx +22 -0
  104. package/src/features/chat/features/ncp/hooks/__tests__/use-ncp-chat-query-store-sync.test.tsx +101 -0
  105. package/src/features/chat/{hooks → features/ncp/hooks/__tests__}/use-ncp-session-conversation.test.tsx +1 -1
  106. package/src/features/chat/features/ncp/hooks/__tests__/use-ui-show-content-event.test.tsx +52 -0
  107. package/src/features/chat/features/ncp/hooks/use-ncp-chat-derived-state.ts +37 -0
  108. package/src/features/chat/features/ncp/hooks/use-ncp-chat-query-store-sync.ts +28 -0
  109. package/src/features/chat/{hooks → features/ncp/hooks}/use-ncp-child-session-tabs-view.ts +4 -4
  110. package/src/features/chat/{hooks → features/ncp/hooks}/use-ncp-session-conversation.ts +1 -1
  111. package/src/features/chat/{hooks → features/ncp/hooks}/use-ncp-session-list-view.ts +3 -3
  112. package/src/features/chat/features/ncp/hooks/use-ncp-session-queries.ts +32 -0
  113. package/src/features/chat/features/ncp/hooks/use-ui-show-content-event.ts +14 -0
  114. package/src/features/chat/features/ncp/utils/ncp-chat-query-derived.utils.ts +77 -0
  115. package/src/features/chat/{utils → features/runtime/utils/__tests__}/ncp-app-client-fetch.utils.test.ts +1 -1
  116. package/src/features/chat/{utils → features/runtime/utils/__tests__}/ncp-chat-runtime-availability.utils.test.ts +1 -1
  117. package/src/features/chat/{utils → features/runtime/utils}/chat-runtime.utils.ts +1 -1
  118. package/src/features/chat/{components → features/session/components}/chat-sidebar-project-groups.tsx +21 -42
  119. package/src/features/chat/{components/layout → features/session/components}/chat-sidebar-session-entry.tsx +40 -13
  120. package/src/features/chat/{components → features/session/components}/chat-sidebar-session-item.tsx +36 -44
  121. package/src/features/chat/features/session/components/chat-sidebar-session-list.tsx +78 -0
  122. package/src/features/chat/{components/session → features/session/components}/session-context-icon.tsx +1 -1
  123. package/src/features/chat/{components/conversation/session-header → features/session/components/session-header/__tests__}/chat-session-header-actions.test.tsx +3 -3
  124. package/src/features/chat/{components/conversation/session-header → features/session/components/session-header/__tests__}/chat-session-project-badge.test.tsx +3 -3
  125. package/src/features/chat/{components/conversation → features/session/components}/session-header/chat-session-header-actions.tsx +15 -27
  126. package/src/features/chat/{components/conversation → features/session/components}/session-header/chat-session-project-badge.tsx +1 -1
  127. package/src/features/chat/{hooks → features/session/hooks/__tests__}/use-chat-session-project.test.tsx +2 -2
  128. package/src/features/chat/{hooks → features/session/hooks/__tests__}/use-chat-session-update.test.tsx +1 -1
  129. package/src/features/chat/{hooks → features/session/hooks}/use-chat-session-project.ts +1 -1
  130. package/src/features/chat/{hooks → features/session/hooks}/use-chat-session-update.ts +17 -0
  131. package/src/features/chat/{hooks → features/session/hooks}/use-chat-sidebar-session-label-editor.ts +1 -1
  132. package/src/features/chat/{hooks → features/session/hooks}/use-selected-session-context-window-indicator.ts +1 -1
  133. package/src/features/chat/{utils → features/session/utils/__tests__}/chat-session-display.utils.test.ts +1 -1
  134. package/src/features/chat/{utils → features/session/utils/__tests__}/chat-session-route.utils.test.ts +1 -1
  135. package/src/features/chat/{utils → features/session/utils/__tests__}/ncp-session-adapter.utils.cancelled-tool.test.ts +2 -2
  136. package/src/features/chat/{utils → features/session/utils/__tests__}/ncp-session-adapter.utils.test.ts +2 -2
  137. package/src/features/chat/{utils → features/session/utils/__tests__}/session-context.utils.test.ts +1 -1
  138. package/src/features/chat/features/session/utils/chat-run-metadata.utils.ts +60 -0
  139. package/src/features/chat/{utils → features/session/utils}/chat-session-preference-governance.utils.ts +0 -128
  140. package/src/features/chat/features/session/utils/chat-sidebar-session-groups.utils.ts +144 -0
  141. package/src/features/chat/{components → features/session-type/components/__tests__}/chat-session-type-option-item.test.tsx +1 -1
  142. package/src/features/chat/{components → features/session-type/components}/chat-session-type-option-item.tsx +7 -16
  143. package/src/features/chat/features/session-type/components/chat-sidebar-create-menu.tsx +42 -0
  144. package/src/features/chat/{hooks → features/session-type/hooks/__tests__}/use-chat-session-type-state.test.tsx +1 -1
  145. package/src/features/chat/{hooks → features/session-type/hooks}/use-chat-session-type-state.ts +23 -94
  146. package/src/features/chat/features/session-type/utils/chat-session-type.utils.ts +105 -0
  147. package/src/features/chat/{components → features/workspace/components/__tests__}/chat-session-workspace-file-preview.test.tsx +1 -1
  148. package/src/features/chat/{components → features/workspace/components}/chat-session-workspace-file-preview.tsx +2 -2
  149. package/src/features/chat/features/workspace/components/chat-session-workspace-panel-content.tsx +156 -0
  150. package/src/features/chat/features/workspace/components/chat-session-workspace-panel-nav.tsx +84 -0
  151. package/src/features/chat/features/workspace/components/chat-session-workspace-panel.tsx +138 -0
  152. package/src/features/chat/{components/workspace → features/workspace/components}/session-cron-job-content.tsx +1 -1
  153. package/src/features/chat/features/workspace/hooks/use-chat-conversation-workspace-state.ts +63 -0
  154. package/src/features/chat/features/workspace/utils/__tests__/chat-workspace-panel-view-model.utils.test.ts +103 -0
  155. package/src/features/chat/features/workspace/utils/chat-workspace-panel-view-model.utils.ts +183 -0
  156. package/src/features/chat/index.ts +16 -6
  157. package/src/features/chat/managers/__tests__/chat-input.manager.test.ts +355 -0
  158. package/src/features/chat/managers/__tests__/chat-query.manager.test.ts +39 -0
  159. package/src/features/chat/managers/__tests__/chat-run.manager.test.ts +202 -0
  160. package/src/features/chat/managers/{chat-session-list.manager.test.ts → __tests__/chat-session-list.manager.test.ts} +98 -74
  161. package/src/features/chat/managers/{chat-session-preference-sync.manager.test.ts → __tests__/chat-session-preference-sync.manager.test.ts} +1 -1
  162. package/src/features/chat/managers/__tests__/chat-thread.manager.test.ts +622 -0
  163. package/src/features/chat/managers/__tests__/chat-ui.manager.test.ts +126 -0
  164. package/src/features/chat/managers/{recent-selection.manager.test.ts → __tests__/recent-selection.manager.test.ts} +1 -1
  165. package/src/features/chat/managers/{ncp-chat-input.manager.ts → chat-input.manager.ts} +108 -35
  166. package/src/features/chat/managers/chat-query.manager.ts +48 -0
  167. package/src/features/chat/managers/chat-run.manager.ts +107 -0
  168. package/src/features/chat/managers/chat-session-list.manager.ts +47 -15
  169. package/src/features/chat/managers/chat-session-preference-sync.manager.ts +60 -5
  170. package/src/features/chat/managers/{ncp-chat-thread.manager.ts → chat-thread.manager.ts} +210 -37
  171. package/src/features/chat/managers/chat-ui.manager.ts +55 -9
  172. package/src/features/chat/pages/{ncp-chat-page.test.ts → __tests__/ncp-chat-page.test.ts} +49 -12
  173. package/src/features/chat/pages/ncp-chat-page.tsx +123 -399
  174. package/src/features/chat/presenters/chat.presenter.ts +39 -0
  175. package/src/features/chat/stores/__tests__/chat-thread.store.test.ts +148 -0
  176. package/src/features/chat/stores/chat-input.store.ts +5 -1
  177. package/src/features/chat/stores/chat-thread.store.ts +287 -28
  178. package/src/features/chat/stores/ncp-chat-query.store.ts +25 -0
  179. package/src/features/chat/types/chat-input.types.ts +1 -0
  180. package/src/features/chat/types/chat-message.types.ts +1 -0
  181. package/src/features/chat/types/chat-run.types.ts +41 -0
  182. package/src/{shared → features/cron}/components/cron-config.tsx +1 -1
  183. package/src/features/cron/hooks/use-cron-jobs.ts +58 -0
  184. package/src/features/cron/index.ts +7 -0
  185. package/src/features/marketplace/components/{marketplace-page.test.tsx → __tests__/marketplace-page.test.tsx} +37 -1
  186. package/src/features/marketplace/components/curated-shelves/marketplace-curated-shelves.tsx +15 -61
  187. package/src/features/marketplace/components/marketplace-external-skill-source-action.tsx +14 -0
  188. package/src/features/marketplace/components/marketplace-item-list-view.tsx +167 -0
  189. package/src/features/marketplace/components/marketplace-list-card.tsx +27 -31
  190. package/src/features/marketplace/components/marketplace-page-data.ts +0 -6
  191. package/src/features/marketplace/components/marketplace-page-parts.tsx +10 -2
  192. package/src/features/marketplace/components/marketplace-page.tsx +110 -434
  193. package/src/features/marketplace/components/mcp/mcp-marketplace-card.tsx +1 -1
  194. package/src/features/marketplace/components/mcp/mcp-marketplace-dialogs.tsx +1 -1
  195. package/src/features/marketplace/components/mcp/mcp-marketplace-page.tsx +2 -1
  196. package/src/features/marketplace/hooks/__tests__/use-marketplace.test.tsx +109 -0
  197. package/src/features/marketplace/hooks/use-marketplace-item-actions.ts +101 -0
  198. package/src/features/marketplace/hooks/use-marketplace-item-detail.ts +109 -0
  199. package/src/features/marketplace/hooks/use-marketplace-list-model.ts +160 -0
  200. package/src/features/marketplace/hooks/use-marketplace.ts +3 -5
  201. package/src/features/marketplace/utils/{marketplace-installed-cache.utils.test.ts → __tests__/marketplace-installed-cache.utils.test.ts} +1 -1
  202. package/src/features/panel-apps/components/{panel-app-list-item.test.tsx → __tests__/panel-app-list-item.test.tsx} +1 -1
  203. package/src/features/panel-apps/components/{panel-app-toolbar.test.tsx → __tests__/panel-app-toolbar.test.tsx} +1 -1
  204. package/src/features/panel-apps/utils/{panel-app-view.utils.test.ts → __tests__/panel-app-view.utils.test.ts} +1 -1
  205. package/src/features/pwa/managers/{pwa-service-worker-cache.manager.test.ts → __tests__/pwa-service-worker-cache.manager.test.ts} +1 -1
  206. package/src/features/remote/components/remote-access-page.tsx +2 -2
  207. package/src/features/remote/services/{remote-access-feedback.service.test.ts → __tests__/remote-access-feedback.service.test.ts} +1 -1
  208. package/src/{shared → features/settings}/components/config/provider-form.tsx +7 -7
  209. package/src/{shared/components → features/settings/components/config}/provider-status-badge.tsx +1 -1
  210. package/src/{shared/components/model-config.test.tsx → features/settings/pages/__tests__/model-config-page.test.tsx} +40 -5
  211. package/src/{shared/components/config/providers-list.test.tsx → features/settings/pages/__tests__/providers-config-page.test.tsx} +48 -5
  212. package/src/{shared/components/search-config.test.tsx → features/settings/pages/__tests__/search-config-page.test.tsx} +3 -3
  213. package/src/{shared/components/config/secrets-config.test.tsx → features/settings/pages/__tests__/secrets-config-page.test.tsx} +3 -3
  214. package/src/{shared/components/model-config.tsx → features/settings/pages/model-config-page.tsx} +1 -1
  215. package/src/{shared/components/config/providers-list.tsx → features/settings/pages/providers-config-page.tsx} +3 -3
  216. package/src/{shared/components/search-config.tsx → features/settings/pages/search-config-page.tsx} +1 -1
  217. package/src/{shared/components/config/secrets-config.tsx → features/settings/pages/secrets-config-page.tsx} +2 -2
  218. package/src/{shared/components/config/provider-form-support.test.ts → features/settings/utils/__tests__/provider-form-support.utils.test.ts} +1 -1
  219. package/src/features/side-dock/components/{side-dock.test.tsx → __tests__/side-dock.test.tsx} +25 -0
  220. package/src/features/side-dock/components/side-dock.tsx +13 -0
  221. package/src/features/system-status/components/{runtime-control-card.test.tsx → __tests__/runtime-control-card.test.tsx} +1 -1
  222. package/src/features/system-status/components/{runtime-presence-card.test.tsx → __tests__/runtime-presence-card.test.tsx} +1 -1
  223. package/src/features/system-status/components/desktop-update-config.tsx +2 -1
  224. package/src/features/system-status/components/runtime-presence-card.tsx +2 -2
  225. package/src/features/system-status/managers/{system-status.manager.bootstrap-polling.test.ts → __tests__/system-status.manager.bootstrap-polling.test.ts} +1 -1
  226. package/src/features/system-status/managers/{system-status.manager.test.ts → __tests__/system-status.manager.test.ts} +1 -1
  227. package/src/features/system-status/utils/{system-status.utils.test.ts → __tests__/system-status.utils.test.ts} +1 -1
  228. package/src/platforms/desktop/types/desktop-update.types.ts +9 -0
  229. package/src/shared/components/actions/action-link.tsx +49 -0
  230. package/src/shared/components/common/{agent-avatar.test.tsx → __tests__/agent-avatar.test.tsx} +1 -1
  231. package/src/shared/components/common/agent-identity/use-agent-identity.ts +3 -8
  232. package/src/shared/components/common/brand-header.tsx +1 -1
  233. package/src/shared/components/common/tag-input.tsx +1 -1
  234. package/src/shared/components/doc-browser/{doc-browser-context.test.tsx → __tests__/doc-browser-context.test.tsx} +1 -1
  235. package/src/shared/components/doc-browser/doc-browser-tab-strip.tsx +64 -161
  236. package/src/shared/components/doc-browser/doc-browser.tsx +4 -4
  237. package/src/shared/components/doc-browser/managers/doc-browser.manager.ts +39 -32
  238. package/src/shared/components/resizable-right-panel/__tests__/resizable-right-panel.test.tsx +66 -0
  239. package/src/shared/components/resizable-right-panel/resizable-right-panel.tsx +11 -8
  240. package/src/shared/components/ui/actions/icon-action-button.tsx +53 -0
  241. package/src/shared/components/ui/tab-strip/__tests__/compact-tab-strip.test.tsx +52 -0
  242. package/src/shared/components/ui/tab-strip/compact-tab-strip.tsx +228 -0
  243. package/src/shared/hooks/use-app-meta.ts +10 -0
  244. package/src/shared/hooks/use-config.ts +1 -148
  245. package/src/shared/lib/api/{ncp-session.test.ts → __tests__/ncp-session.test.ts} +3 -3
  246. package/src/shared/lib/api/{raw-client.test.ts → __tests__/raw-client.test.ts} +1 -1
  247. package/src/shared/lib/api/chat-session-type.types.ts +3 -0
  248. package/src/shared/lib/cadence/services/{adaptive-cadence.service.test.ts → __tests__/adaptive-cadence.service.test.ts} +1 -1
  249. package/src/shared/lib/host-capabilities/__tests__/host-capability.manager.test.ts +50 -0
  250. package/src/shared/lib/host-capabilities/host-capability.manager.ts +62 -0
  251. package/src/shared/lib/host-capabilities/index.ts +1 -0
  252. package/src/shared/lib/i18n/README.md +16 -3
  253. package/src/shared/lib/i18n/index.ts +93 -426
  254. package/src/shared/lib/i18n/locales/en-US/agents.json +49 -0
  255. package/src/shared/lib/i18n/locales/en-US/channel-auth.json +51 -0
  256. package/src/shared/lib/i18n/locales/en-US/channels.json +50 -0
  257. package/src/shared/lib/i18n/locales/en-US/chat.json +183 -0
  258. package/src/shared/lib/i18n/locales/en-US/core.json +311 -0
  259. package/src/shared/lib/i18n/locales/en-US/cron.json +32 -0
  260. package/src/shared/lib/i18n/locales/en-US/desktop-update.json +90 -0
  261. package/src/shared/lib/i18n/locales/en-US/doc-browser.json +87 -0
  262. package/src/shared/lib/i18n/locales/en-US/marketplace.json +72 -0
  263. package/src/shared/lib/i18n/locales/en-US/path-picker.json +12 -0
  264. package/src/shared/lib/i18n/locales/en-US/pwa.json +26 -0
  265. package/src/shared/lib/i18n/locales/en-US/remote.json +168 -0
  266. package/src/shared/lib/i18n/locales/en-US/runtime-control.json +105 -0
  267. package/src/shared/lib/i18n/locales/en-US/search.json +28 -0
  268. package/src/shared/lib/i18n/locales/zh-CN/agents.json +49 -0
  269. package/src/shared/lib/i18n/locales/zh-CN/channel-auth.json +51 -0
  270. package/src/shared/lib/i18n/locales/zh-CN/channels.json +50 -0
  271. package/src/shared/lib/i18n/locales/zh-CN/chat.json +183 -0
  272. package/src/shared/lib/i18n/locales/zh-CN/core.json +311 -0
  273. package/src/shared/lib/i18n/locales/zh-CN/cron.json +32 -0
  274. package/src/shared/lib/i18n/locales/zh-CN/desktop-update.json +90 -0
  275. package/src/shared/lib/i18n/locales/zh-CN/doc-browser.json +87 -0
  276. package/src/shared/lib/i18n/locales/zh-CN/marketplace.json +72 -0
  277. package/src/shared/lib/i18n/locales/zh-CN/path-picker.json +12 -0
  278. package/src/shared/lib/i18n/locales/zh-CN/pwa.json +26 -0
  279. package/src/shared/lib/i18n/locales/zh-CN/remote.json +168 -0
  280. package/src/shared/lib/i18n/locales/zh-CN/runtime-control.json +105 -0
  281. package/src/shared/lib/i18n/locales/zh-CN/search.json +28 -0
  282. package/src/shared/lib/i18n/runtime/{i18n-language-owner.test.ts → __tests__/i18n-language-owner.test.ts} +2 -2
  283. package/src/shared/lib/navigation-history/__tests__/navigation-history.utils.test.ts +60 -0
  284. package/src/shared/lib/navigation-history/index.ts +1 -0
  285. package/src/shared/lib/navigation-history/navigation-history.utils.ts +105 -0
  286. package/src/shared/lib/provider-models/{index.test.ts → __tests__/index.test.ts} +1 -1
  287. package/src/shared/lib/transport/{app-client.test.ts → __tests__/app-client.test.ts} +3 -3
  288. package/src/shared/lib/transport/{remote.transport.test.ts → __tests__/remote.transport.test.ts} +1 -1
  289. package/src/shared/lib/transport/{sse-stream.test.ts → __tests__/sse-stream.test.ts} +1 -1
  290. package/tsconfig.json +2 -5
  291. package/vite.config.ts +4 -4
  292. package/vitest.config.ts +4 -0
  293. package/dist/assets/app-presenter-provider-CDSjiqfE.js +0 -3
  294. package/dist/assets/arrow-left-Dd45Mvr1.js +0 -1
  295. package/dist/assets/channels-list-page-D-WYFmcG.js +0 -8
  296. package/dist/assets/chat-page-D1X8YNTC.js +0 -105
  297. package/dist/assets/config-split-page-CdJEkWxv.js +0 -1
  298. package/dist/assets/desktop-update-config-DOi5R1fX.js +0 -1
  299. package/dist/assets/doc-browser-D5FJcAyz.js +0 -1
  300. package/dist/assets/doc-browser-DewXa6oX.js +0 -1
  301. package/dist/assets/doc-browser-context-CpL2m4Sp.js +0 -1
  302. package/dist/assets/index-Q891JiF_.css +0 -1
  303. package/dist/assets/index-ZDJP_uJc.js +0 -101
  304. package/dist/assets/loader-circle-Dz4FssYC.js +0 -1
  305. package/dist/assets/mcp-marketplace-page-LmMhKH5a.js +0 -1
  306. package/dist/assets/mcp-marketplace-page-RqISBSqO.js +0 -40
  307. package/dist/assets/model-config-JUsW1Khb.js +0 -1
  308. package/dist/assets/play-BziM-Y34.js +0 -1
  309. package/dist/assets/plus-DrpyArC8.js +0 -1
  310. package/dist/assets/provider-models-C_yOh6DE.js +0 -1
  311. package/dist/assets/provider-scoped-model-input-IMD4W0jD.js +0 -1
  312. package/dist/assets/providers-list-BsDpxNzy.js +0 -1
  313. package/dist/assets/remote-DjhVMpVd.js +0 -1
  314. package/dist/assets/rotate-cw-DMBnsYKm.js +0 -1
  315. package/dist/assets/runtime-config-page-DzbTVebD.js +0 -1
  316. package/dist/assets/search-CjHGYvTI.js +0 -1
  317. package/dist/assets/search-config-CJ6OPxAf.js +0 -1
  318. package/dist/assets/secrets-config-CYOHWL7P.js +0 -3
  319. package/dist/assets/tabs-Czd2mj6z.js +0 -1
  320. package/dist/assets/tabs-custom-Ix4nkp2h.js +0 -1
  321. package/dist/assets/x-dpDISboO.js +0 -1
  322. package/src/features/chat/components/chat-session-workspace-panel-nav.tsx +0 -232
  323. package/src/features/chat/components/chat-session-workspace-panel.tsx +0 -371
  324. package/src/features/chat/components/layout/chat-sidebar-read-state.test.tsx +0 -145
  325. package/src/features/chat/components/layout/chat-sidebar.test.tsx +0 -896
  326. package/src/features/chat/hooks/use-chat-session-label.ts +0 -18
  327. package/src/features/chat/hooks/use-hydrated-ncp-agent.test.tsx +0 -90
  328. package/src/features/chat/hooks/use-ncp-chat-derived-state.ts +0 -181
  329. package/src/features/chat/hooks/use-ncp-chat-page-data.test.tsx +0 -70
  330. package/src/features/chat/hooks/use-ncp-chat-page-data.ts +0 -260
  331. package/src/features/chat/managers/chat-stream-actions.manager.ts +0 -35
  332. package/src/features/chat/managers/ncp-chat-input.manager.test.ts +0 -232
  333. package/src/features/chat/managers/ncp-chat-presenter.manager.ts +0 -28
  334. package/src/features/chat/managers/ncp-chat-thread.manager.test.ts +0 -241
  335. package/src/features/chat/types/chat-stream.types.ts +0 -32
  336. package/src/features/chat/utils/chat-session-preference-governance.utils.test.tsx +0 -114
  337. package/src/features/marketplace/components/marketplace-catalog-grid.tsx +0 -114
  338. package/src/shared/components/resizable-right-panel/resizable-right-panel.test.tsx +0 -38
  339. package/src/shared/components/ui/action-link.tsx +0 -27
  340. package/src/shared/components/ui/config-card.tsx +0 -71
  341. package/src/shared/components/ui/highlight-card.tsx +0 -40
  342. package/src/shared/components/ui/tabs-custom.tsx +0 -49
  343. package/src/shared/lib/i18n/agents.ts +0 -85
  344. package/src/shared/lib/i18n/channel-auth.constants.ts +0 -87
  345. package/src/shared/lib/i18n/channels.ts +0 -53
  346. package/src/shared/lib/i18n/chat-labels.utils.ts +0 -206
  347. package/src/shared/lib/i18n/cron-labels.utils.ts +0 -32
  348. package/src/shared/lib/i18n/desktop-update-labels.utils.ts +0 -165
  349. package/src/shared/lib/i18n/marketplace-labels.utils.ts +0 -78
  350. package/src/shared/lib/i18n/pwa.ts +0 -62
  351. package/src/shared/lib/i18n/remote.ts +0 -273
  352. package/src/shared/lib/i18n/runtime/doc-browser-labels.utils.ts +0 -120
  353. package/src/shared/lib/i18n/runtime/i18n.path-picker.ts +0 -12
  354. package/src/shared/lib/i18n/runtime-control-labels.utils.ts +0 -180
  355. package/src/shared/lib/i18n/search.ts +0 -37
  356. /package/dist/assets/{config-hints-Ceiol9x4.js → config-hints-Cl2XAhzV.js} +0 -0
  357. /package/src/{app.test.tsx → __tests__/app.test.tsx} +0 -0
  358. /package/src/app/components/layout/{app-layout.test.tsx → __tests__/app-layout.test.tsx} +0 -0
  359. /package/src/app/components/layout/{runtime-status-entry.test.tsx → __tests__/runtime-status-entry.test.tsx} +0 -0
  360. /package/src/app/components/layout/{settings-entry-page.test.tsx → __tests__/settings-entry-page.test.tsx} +0 -0
  361. /package/src/app/components/layout/{sidebar.layout.test.tsx → __tests__/sidebar.layout.test.tsx} +0 -0
  362. /package/src/features/channels/components/config/{channel-form.test.tsx → __tests__/channel-form.test.tsx} +0 -0
  363. /package/src/features/channels/components/config/{weixin-channel-auth-section.test.tsx → __tests__/weixin-channel-auth-section.test.tsx} +0 -0
  364. /package/src/features/channels/pages/{channels-list-page.test.tsx → __tests__/channels-list-page.test.tsx} +0 -0
  365. /package/src/features/chat/{hooks → features/input/hooks}/use-chat-input-bar-controller.ts +0 -0
  366. /package/src/features/chat/{utils → features/input/utils}/chat-composer-state.utils.ts +0 -0
  367. /package/src/features/chat/{utils → features/input/utils}/chat-inline-token.utils.ts +0 -0
  368. /package/src/features/chat/{utils → features/input/utils}/chat-input-bar.utils.ts +0 -0
  369. /package/src/features/chat/{utils → features/input/utils}/chat-input-toolbar.utils.ts +0 -0
  370. /package/src/features/chat/{utils → features/message/utils}/chat-message-core.utils.ts +0 -0
  371. /package/src/features/chat/{utils → features/message/utils}/chat-message-partial-json.utils.ts +0 -0
  372. /package/src/features/chat/{utils → features/message/utils}/chat-message-tool-agent-id.utils.ts +0 -0
  373. /package/src/features/chat/{utils → features/message/utils}/file-operation/card.utils.ts +0 -0
  374. /package/src/features/chat/{utils → features/message/utils}/file-operation/diff.utils.ts +0 -0
  375. /package/src/features/chat/{utils → features/message/utils}/file-operation/line-builder.utils.ts +0 -0
  376. /package/src/features/chat/{utils → features/message/utils}/file-operation/parsed-block.utils.ts +0 -0
  377. /package/src/features/chat/{utils → features/message/utils}/file-operation/record-readers.utils.ts +0 -0
  378. /package/src/features/chat/{utils → features/runtime/utils}/ncp-app-client-fetch.utils.ts +0 -0
  379. /package/src/features/chat/{utils → features/runtime/utils}/ncp-chat-runtime-availability.utils.ts +0 -0
  380. /package/src/features/chat/{components/conversation → features/session/components}/session-header/chat-session-header-menu-item.tsx +0 -0
  381. /package/src/features/chat/{components/conversation → features/session/components}/session-header/chat-session-project-dialog.tsx +0 -0
  382. /package/src/features/chat/{components/session → features/session/components}/session-run-badge.tsx +0 -0
  383. /package/src/features/chat/{utils → features/session/utils}/chat-context-window-indicator.utils.ts +0 -0
  384. /package/src/features/chat/{utils → features/session/utils}/chat-session-display.utils.ts +0 -0
  385. /package/src/features/chat/{utils → features/session/utils}/chat-session-route.utils.ts +0 -0
  386. /package/src/features/chat/{utils → features/session/utils}/ncp-session-adapter.utils.ts +0 -0
  387. /package/src/features/chat/{utils → features/session/utils}/ncp-session-context-metadata.utils.ts +0 -0
  388. /package/src/features/chat/{utils → features/session/utils}/session-context.utils.ts +0 -0
  389. /package/src/features/chat/{hooks → features/session-type/hooks}/use-ncp-chat-session-types.ts +0 -0
  390. /package/src/features/chat/{components/workspace → features/workspace/components}/chat-session-workspace-file-breadcrumbs.tsx +0 -0
  391. /package/src/features/marketplace/components/{marketplace-page-detail.test.tsx → __tests__/marketplace-page-detail.test.tsx} +0 -0
  392. /package/src/features/marketplace/components/curated-shelves/{marketplace-curated-scene-route.test.tsx → __tests__/marketplace-curated-scene-route.test.tsx} +0 -0
  393. /package/src/features/marketplace/components/detail-doc/{marketplace-detail-doc.test.ts → __tests__/marketplace-detail-doc.test.ts} +0 -0
  394. /package/src/features/marketplace/components/mcp/{mcp-marketplace-page.test.tsx → __tests__/mcp-marketplace-page.test.tsx} +0 -0
  395. /package/src/features/panel-apps/managers/{panel-app-bridge.manager.test.ts → __tests__/panel-app-bridge.manager.test.ts} +0 -0
  396. /package/src/features/panel-apps/utils/{panel-app-doc-browser.utils.test.ts → __tests__/panel-app-doc-browser.utils.test.ts} +0 -0
  397. /package/src/features/pwa/components/{pwa-install-entry.test.tsx → __tests__/pwa-install-entry.test.tsx} +0 -0
  398. /package/src/features/pwa/managers/{pwa-install.manager.test.ts → __tests__/pwa-install.manager.test.ts} +0 -0
  399. /package/src/features/pwa/managers/{pwa-shell-theme.manager.test.ts → __tests__/pwa-shell-theme.manager.test.ts} +0 -0
  400. /package/src/features/remote/components/{remote-access-page.test.tsx → __tests__/remote-access-page.test.tsx} +0 -0
  401. /package/src/features/right-panel-resources/utils/{right-panel-resource-route-resolver.utils.test.ts → __tests__/right-panel-resource-route-resolver.utils.test.ts} +0 -0
  402. /package/src/features/right-panel-resources/utils/{right-panel-resource-uri.utils.test.ts → __tests__/right-panel-resource-uri.utils.test.ts} +0 -0
  403. /package/src/features/service-apps/components/{service-apps-panel.test.tsx → __tests__/service-apps-panel.test.tsx} +0 -0
  404. /package/src/{shared/components → features/settings/components/config}/provider-advanced-settings-section.tsx +0 -0
  405. /package/src/{shared/components → features/settings/components/config}/provider-auth-section.tsx +0 -0
  406. /package/src/{shared → features/settings}/components/config/provider-models-section.tsx +0 -0
  407. /package/src/{shared/components → features/settings/components/config}/provider-pill-selector.tsx +0 -0
  408. /package/src/{shared → features/settings}/components/config/secrets-config-form.tsx +0 -0
  409. /package/src/features/settings/pages/{language-settings-page.test.tsx → __tests__/language-settings-page.test.tsx} +0 -0
  410. /package/src/{shared/components/config/provider-form-support.ts → features/settings/utils/provider-form-support.utils.ts} +0 -0
  411. /package/src/features/side-dock/managers/{side-dock.manager.test.ts → __tests__/side-dock.manager.test.ts} +0 -0
  412. /package/src/features/side-dock/utils/{side-dock-item.utils.test.ts → __tests__/side-dock-item.utils.test.ts} +0 -0
  413. /package/src/features/system-status/components/{desktop-update-config.test.tsx → __tests__/desktop-update-config.test.tsx} +0 -0
  414. /package/src/features/system-status/pages/{runtime-config-page.test.tsx → __tests__/runtime-config-page.test.tsx} +0 -0
  415. /package/src/platforms/desktop/components/{desktop-app-shell.test.tsx → __tests__/desktop-app-shell.test.tsx} +0 -0
  416. /package/src/platforms/mobile/components/{mobile-app-shell.test.tsx → __tests__/mobile-app-shell.test.tsx} +0 -0
  417. /package/src/platforms/mobile/components/{mobile-bottom-nav.test.tsx → __tests__/mobile-bottom-nav.test.tsx} +0 -0
  418. /package/src/shared/components/common/{brand-header.test.tsx → __tests__/brand-header.test.tsx} +0 -0
  419. /package/src/shared/components/doc-browser/{doc-browser.test.tsx → __tests__/doc-browser.test.tsx} +0 -0
  420. /package/src/shared/components/{ui → feedback}/notice-card.tsx +0 -0
  421. /package/src/shared/components/path-picker/{server-path-picker-dialog.test.tsx → __tests__/server-path-picker-dialog.test.tsx} +0 -0
  422. /package/src/shared/components/{ui → settings}/setting-row.tsx +0 -0
  423. /package/src/shared/components/{ui → status}/status-dot.tsx +0 -0
  424. /package/src/shared/components/{ui → tags}/tag-chip.tsx +0 -0
  425. /package/src/shared/lib/api/{api-base.test.ts → __tests__/api-base.test.ts} +0 -0
  426. /package/src/shared/lib/api/{client.test.ts → __tests__/client.test.ts} +0 -0
  427. /package/src/shared/lib/api/{ncp-session-query-cache.utils.test.ts → __tests__/ncp-session-query-cache.utils.test.ts} +0 -0
  428. /package/src/shared/lib/app-resource-uri/{app-resource-uri.test.ts → __tests__/app-resource-uri.test.ts} +0 -0
  429. /package/src/shared/lib/resource-uri/utils/{resource-uri-resolver.utils.test.ts → __tests__/resource-uri-resolver.utils.test.ts} +0 -0
  430. /package/src/shared/lib/session-project/{workspace-file-breadcrumb.test.ts → __tests__/workspace-file-breadcrumb.test.ts} +0 -0
@@ -0,0 +1,50 @@
1
+ {
2
+ "channelsPageTitle": "Message Channels",
3
+ "channelsPageDescription": "Filter, switch, and configure messaging channels in one continuous workspace.",
4
+ "channelsLoading": "Loading channels...",
5
+ "channelsTabEnabled": "Enabled",
6
+ "channelsTabAll": "All Channels",
7
+ "channelsFilterPlaceholder": "Search channels",
8
+ "channelsNoMatch": "No matching channels",
9
+ "channelsSelectTitle": "Select a channel from the left to configure",
10
+ "channelsSelectDescription": "Switch between channels continuously and save each configuration.",
11
+ "channelsFormDescription": "Configure message channel parameters",
12
+ "channelsEmptyTitle": "No channels enabled",
13
+ "channelsEmptyDescription": "Enable a messaging channel to start receiving messages.",
14
+ "channelDescriptionDefault": "Configure this communication channel",
15
+ "channelDescTelegram": "Connect with Telegram bots for instant messaging",
16
+ "channelDescSlack": "Integrate with Slack workspaces for team collaboration",
17
+ "channelDescEmail": "Send and receive messages via email protocols",
18
+ "channelDescWebhook": "Receive HTTP webhooks for custom integrations",
19
+ "channelDescDiscord": "Connect Discord bots to your community servers",
20
+ "channelDescFeishu": "Enterprise messaging and collaboration platform",
21
+ "channelDescWeixin": "Use QR login and long-poll updates for personal Weixin messaging",
22
+ "configureMessageChannelParameters": "Configure message channel parameters",
23
+ "channelsGuideTitle": "View Guide",
24
+ "allowFrom": "Allow From",
25
+ "token": "Token",
26
+ "botToken": "Bot Token",
27
+ "appToken": "App Token",
28
+ "appId": "App ID",
29
+ "domain": "Domain",
30
+ "corpId": "Corp ID",
31
+ "agentId": "Agent ID",
32
+ "appSecret": "App Secret",
33
+ "markdownSupport": "Markdown Support",
34
+ "clientId": "Client ID",
35
+ "clientSecret": "Client Secret",
36
+ "encryptKey": "Encrypt Key",
37
+ "verificationToken": "Verification Token",
38
+ "bridgeUrl": "Bridge URL",
39
+ "gatewayUrl": "Gateway URL",
40
+ "proxy": "Proxy",
41
+ "intents": "Intents",
42
+ "mode": "Mode",
43
+ "webhookPath": "Webhook Path",
44
+ "callbackPort": "Callback Port",
45
+ "callbackPath": "Callback Path",
46
+ "defaultAccountId": "Default Account ID",
47
+ "pollTimeoutMs": "Long Poll Timeout (ms)",
48
+ "accountsJson": "Accounts JSON",
49
+ "groupPolicy": "Group Policy"
50
+ }
@@ -0,0 +1,183 @@
1
+ {
2
+ "chatPageTitle": "Agent Chat",
3
+ "chatPageDescription": "Chat with your agent directly in UI with multi-session and multi-agent switching.",
4
+ "chatRefresh": "Refresh",
5
+ "chatNewSession": "New Session",
6
+ "chatSearchSessionPlaceholder": "Search session key / label",
7
+ "chatAgentLabel": "Target Agent",
8
+ "chatSelectAgent": "Select Agent",
9
+ "chatModelLabel": "Chat Model",
10
+ "chatSelectModel": "Select model",
11
+ "chatRuntimeDefaultModel": "Runtime default",
12
+ "chatThinkingLevelOff": "Thinking Off",
13
+ "chatThinkingLevelMinimal": "Thinking Minimal",
14
+ "chatThinkingLevelLow": "Thinking Low",
15
+ "chatThinkingLevelMedium": "Thinking Medium",
16
+ "chatThinkingLevelHigh": "Thinking High",
17
+ "chatThinkingLevelAdaptive": "Thinking Adaptive",
18
+ "chatThinkingLevelXhigh": "Thinking XHigh",
19
+ "chatSessionTypeLabel": "Session Type",
20
+ "chatSessionTypeNative": "Native",
21
+ "chatSessionTypeCodex": "Codex",
22
+ "chatSessionTypeClaude": "Claude Code",
23
+ "chatSessionTypeWeixin": "WeChat",
24
+ "chatSessionTypeFeishu": "Feishu",
25
+ "chatSessionTypeCron": "Cron",
26
+ "chatSessionTypeUnavailableSuffix": "is unavailable now. Re-enable the runtime or create a native session.",
27
+ "chatModelNoOptions": "No available models. Configure a provider first.",
28
+ "chatGoConfigureProvider": "Go to Providers",
29
+ "chatProviderSetupTitle": "Configure a Provider First",
30
+ "chatProviderSetupDescription": "No models are available yet. Configure and save at least one provider, then return to start chatting.",
31
+ "chatSessionLabel": "Current Session",
32
+ "chatNoSession": "No session selected",
33
+ "chatHistoryLoading": "Loading session history...",
34
+ "chatBackToParent": "Back to parent",
35
+ "chatSessionOpenChildSessions": "View child sessions",
36
+ "chatSessionOpenCronJobs": "View session cron jobs",
37
+ "chatChildSessionLoading": "Loading child session…",
38
+ "chatChildSessionEmpty": "No child session messages yet.",
39
+ "chatWorkspaceBack": "Back in workspace",
40
+ "chatWorkspaceForward": "Forward in workspace",
41
+ "chatWorkspaceClosePanel": "Close workspace panel",
42
+ "chatWorkspaceChildSessions": "Child sessions",
43
+ "chatWorkspaceOpenFiles": "Open files",
44
+ "chatWorkspacePreview": "Preview",
45
+ "chatWorkspaceDiff": "Diff",
46
+ "chatWorkspaceCloseFile": "Close file",
47
+ "chatWorkspaceLoadingFile": "Loading file…",
48
+ "chatWorkspacePreviewUnsupported": "This file is not supported in the sidebar preview yet.",
49
+ "chatWorkspacePreviewEmpty": "No file content is available for preview.",
50
+ "chatWorkspaceDiffEmpty": "No diff content is available.",
51
+ "chatWorkspacePreviewTruncated": "Preview truncated",
52
+ "chatWorkspaceSessionCronJobs": "Session cron jobs",
53
+ "chatWorkspaceCronJobEmpty": "This session has no cron jobs.",
54
+ "chatSessionUnread": "Session has unread updates",
55
+ "chatTyping": "Agent is thinking...",
56
+ "chatRuntimeInitializing": "Chat is still initializing. You can keep typing and send once startup finishes.",
57
+ "chatRuntimeInitializationFailed": "Chat startup failed. Please retry in a moment or inspect the service logs.",
58
+ "chatInputPlaceholder": "Type a message, type / to select skills, Enter to send, Shift + Enter for newline",
59
+ "chatInputPlaceholderCompact": "Message NextClaw...",
60
+ "chatInputHint": "Multi-turn context is preserved in the current session.",
61
+ "chatSlashSectionCommands": "Commands",
62
+ "chatSlashSectionSkills": "Skills",
63
+ "chatSlashTypeCommand": "Command",
64
+ "chatSlashTypeSkill": "Skill",
65
+ "chatSlashSkillSpec": "Spec",
66
+ "chatSlashSkillScope": "Scope",
67
+ "chatSlashLoading": "Loading commands and skills…",
68
+ "chatSlashNoResult": "No matches",
69
+ "chatSlashHint": "Type / to access commands and skills",
70
+ "chatSlashCommandHint": "Press Enter to insert command, then add args and send.",
71
+ "chatSlashSkillHint": "Press Enter to add this skill for the next turn.",
72
+ "chatSkillScopeBuiltin": "Built-in",
73
+ "chatSkillScopeProject": "Project",
74
+ "chatSkillScopeWorkspace": "Workspace",
75
+ "chatPickerRecent": "Recent",
76
+ "chatPickerRecentModels": "Recent",
77
+ "chatPickerAllModels": "All models",
78
+ "chatPickerAllSkills": "All skills",
79
+ "chatSend": "Send",
80
+ "chatStop": "Stop",
81
+ "chatStopPreparing": "Preparing stoppable run…",
82
+ "chatStopUnavailable": "Manual stop is not supported by the current backend engine.",
83
+ "chatContextWindow": "Context window",
84
+ "chatContextWindowUsed": "Projected use",
85
+ "chatContextWindowTotal": "Total",
86
+ "chatContextWindowAvailable": "Available",
87
+ "chatContextWindowPruned": "After safety pruning",
88
+ "chatContextWindowDroppedHistory": "Dropped history",
89
+ "chatContextWindowTruncatedTools": "Truncated tool results",
90
+ "chatContextWindowUpdatedAt": "Updated",
91
+ "chatContextCompactionCompressing": "Compressing earlier context",
92
+ "chatContextCompactionCompressed": "Earlier context was auto-compacted",
93
+ "chatContextCompactionCoveredMessages": "Covered messages",
94
+ "chatContextCompactionOriginalTokens": "Estimated before compaction",
95
+ "chatContextCompactionProjectedTokens": "Estimated after compaction",
96
+ "chatSending": "Sending...",
97
+ "chatQueueSend": "Queue",
98
+ "chatQueuedHintPrefix": "Queued",
99
+ "chatQueuedHintSuffix": "pending messages.",
100
+ "chatQueueMoveFirst": "Move to Next",
101
+ "chatDeleteSession": "Delete Session",
102
+ "chatDeleteSessionConfirm": "Delete the current session?",
103
+ "chatSessionMoreActions": "More actions",
104
+ "chatSessionSetProject": "Set Project Directory",
105
+ "chatSessionClearProject": "Clear Project Directory",
106
+ "chatSessionProjectDialogTitle": "Set Project Directory",
107
+ "chatSessionProjectDialogDescription": "Bind this session to a directory on the machine running the NextClaw service so future messages and tool runs work around that directory.",
108
+ "chatSessionProjectPathLabel": "Project Directory Path",
109
+ "chatSessionProjectPathPlaceholder": "/path/to/project",
110
+ "chatSessionProjectUpdateHint": "The browser lists directories from the server machine. Changing the project directory only affects future messages and tool runs. History stays unchanged.",
111
+ "chatSessionProjectUpdated": "Project directory updated",
112
+ "chatSessionProjectCleared": "Project directory cleared",
113
+ "chatSendFailed": "Failed to send message",
114
+ "chatRoleUser": "You",
115
+ "chatRoleAssistant": "Assistant",
116
+ "chatRoleTool": "Tool",
117
+ "chatRoleSystem": "System",
118
+ "chatRoleMessage": "Message",
119
+ "chatToolCall": "Tool Call",
120
+ "chatToolResult": "Tool Result",
121
+ "chatToolInput": "Input",
122
+ "chatToolWorkflow": "Tool Workflow",
123
+ "chatToolWorkflowDetails": "Expand to view params and results",
124
+ "chatToolOutput": "Output",
125
+ "chatToolNoOutput": "No output (completed)",
126
+ "chatToolStatusPreparing": "Preparing",
127
+ "chatToolStatusRunning": "Running",
128
+ "chatToolStatusCompleted": "Completed",
129
+ "chatToolStatusFailed": "Failed",
130
+ "chatToolStatusCancelled": "Cancelled",
131
+ "chatShowContentAction": "Show content",
132
+ "chatReasoning": "Reasoning",
133
+ "chatImageAttachment": "Image attachment",
134
+ "chatFileAttachment": "File attachment",
135
+ "chatAttachmentOpen": "Open",
136
+ "chatAttachmentAttached": "Attached",
137
+ "chatAttachmentCategoryArchive": "Archive",
138
+ "chatAttachmentCategoryAudio": "Audio",
139
+ "chatAttachmentCategoryCode": "Code file",
140
+ "chatAttachmentCategoryData": "Data file",
141
+ "chatAttachmentCategoryDocument": "Document",
142
+ "chatAttachmentCategoryGeneric": "File",
143
+ "chatAttachmentCategoryImage": "Image",
144
+ "chatAttachmentCategoryPdf": "PDF document",
145
+ "chatAttachmentCategorySheet": "Spreadsheet",
146
+ "chatAttachmentCategoryVideo": "Video",
147
+ "chatUnknownPart": "Unknown message part",
148
+ "chatCodeCopy": "Copy",
149
+ "chatCodeCopied": "Copied",
150
+ "chatMessageCopy": "Copy",
151
+ "chatMessageCopied": "Copied",
152
+ "chatSidebarNewTask": "New Task",
153
+ "chatSidebarSearchPlaceholder": "Search conversations...",
154
+ "chatSidebarScheduledTasks": "Scheduled Tasks",
155
+ "chatSidebarSkills": "Skills",
156
+ "chatSidebarTaskRecords": "Sessions",
157
+ "chatSidebarViewTime": "Time",
158
+ "chatSidebarViewProject": "Project",
159
+ "chatSidebarToday": "Today",
160
+ "chatSidebarYesterday": "Yesterday",
161
+ "chatSidebarPrevious7Days": "Previous 7 Days",
162
+ "chatSidebarOlder": "Older",
163
+ "chatSidebarProjectViewEmpty": "No project conversations yet",
164
+ "chatWelcomeTitle": "Hello, how can I help you?",
165
+ "chatWelcomeSubtitle": "Start a new task or select an existing conversation",
166
+ "chatWelcomeCapability1Title": "Smart Conversations",
167
+ "chatWelcomeCapability1Desc": "Multi-turn context conversations with multiple AI models",
168
+ "chatWelcomeCapability2Title": "Skill Extensions",
169
+ "chatWelcomeCapability2Desc": "Extend Agent capabilities by installing skills",
170
+ "chatWelcomeCapability3Title": "Scheduled Tasks",
171
+ "chatWelcomeCapability3Desc": "Set up scheduled automated tasks",
172
+ "chatSkillsPickerTitle": "Skills",
173
+ "chatSkillsPickerEmpty": "No skills installed",
174
+ "chatSkillsPickerSearchPlaceholder": "Search skills",
175
+ "chatSkillsPickerNoDescription": "No description",
176
+ "chatSkillsPickerOfficial": "Official",
177
+ "chatSkillsPickerManage": "Manage Skills",
178
+ "chatInputAttach": "Attach file",
179
+ "chatInputAttachmentUnsupported": "This file type is not supported in the current upload flow.",
180
+ "chatInputAttachmentTooLarge": "Files must be {maxMb} MB or smaller.",
181
+ "chatInputAttachmentReadFailed": "Failed to read the file. Please try again.",
182
+ "chatInputAttachComingSoon": "Coming soon"
183
+ }
@@ -0,0 +1,311 @@
1
+ {
2
+ "chat": "Chat",
3
+ "model": "Model",
4
+ "searchChannels": "Search Channels",
5
+ "providers": "Providers",
6
+ "channels": "Channels",
7
+ "cron": "Cron Jobs",
8
+ "secrets": "Secrets",
9
+ "runtime": "Routing & Runtime",
10
+ "remote": "Remote Access",
11
+ "marketplace": "Marketplace",
12
+ "advanced": "Advanced",
13
+ "settings": "Settings",
14
+ "settingsMenu": "Settings menu",
15
+ "security": "Security",
16
+ "backToMain": "Back to Main",
17
+ "enabled": "Enabled",
18
+ "disabled": "Disabled",
19
+ "save": "Save",
20
+ "cancel": "Cancel",
21
+ "delete": "Delete",
22
+ "add": "Add",
23
+ "edit": "Edit",
24
+ "loading": "Loading...",
25
+ "success": "Success",
26
+ "error": "Error",
27
+ "confirm": "Confirm",
28
+ "unchanged": "Unchanged",
29
+ "saving": "Saving...",
30
+ "remove": "Remove",
31
+ "more": "More",
32
+ "all": "All",
33
+ "yes": "Yes",
34
+ "no": "No",
35
+ "prev": "Prev",
36
+ "next": "Next",
37
+ "noneOption": "None",
38
+ "language": "Language",
39
+ "theme": "Theme",
40
+ "themeWarm": "Warm",
41
+ "themeCool": "Cool",
42
+ "isRequired": "is required",
43
+ "duplicate": "duplicate",
44
+ "notFound": "not found",
45
+ "modelPageTitle": "Model Configuration",
46
+ "modelPageDescription": "Configure default AI model selection",
47
+ "defaultModel": "Default Model",
48
+ "workspace": "Workspace",
49
+ "modelName": "Model",
50
+ "modelPickerNoOptions": "No model options available",
51
+ "modelPickerUseCustom": "Use custom model: {value}",
52
+ "modelInputCustomHint": "If the model is not listed, type a custom model ID directly.",
53
+ "modelIdentifierHelp": "Default model identifier used by the agent. Use provider-prefixed format. Examples: openai/gpt-5.1 · anthropic/claude-opus-4-1 · deepseek/deepseek-chat · minimax/MiniMax-M2.5 · openrouter/openai/gpt-5.3-codex.",
54
+ "maxToolIterations": "Max Tool Iterations",
55
+ "saveChanges": "Save Changes",
56
+ "providersPageTitle": "AI Providers",
57
+ "providersPageDescription": "Switch, configure, and save providers in one continuous workspace.",
58
+ "providersLoading": "Loading...",
59
+ "providersTabConfigured": "Configured",
60
+ "providersTabAll": "All Providers",
61
+ "providersFilterPlaceholder": "Search providers",
62
+ "providersNoMatch": "No matching providers",
63
+ "providerAdd": "Add Provider",
64
+ "providerAddCustom": "Add Custom Provider",
65
+ "providerTemplatePickerTitle": "Choose a provider template",
66
+ "providerDelete": "Delete Provider",
67
+ "providerDeleteConfirm": "Delete this provider? This action cannot be undone.",
68
+ "providersSelectPlaceholder": "Select Provider",
69
+ "providersSelectTitle": "Select a provider from the left to configure",
70
+ "providersSelectDescription": "Switch between providers continuously and save each configuration.",
71
+ "providersDefaultDescription": "Configure AI services for your agents",
72
+ "providersEmptyTitle": "No providers configured",
73
+ "providersEmptyDescription": "Add an AI provider to start using the platform.",
74
+ "apiKey": "API Key",
75
+ "apiBase": "API Base URL",
76
+ "extraHeaders": "Extra Headers",
77
+ "wireApi": "Wire API",
78
+ "wireApiAuto": "Auto (Chat with fallback)",
79
+ "wireApiChat": "Chat Completions",
80
+ "wireApiResponses": "Responses",
81
+ "apiKeySet": "Set",
82
+ "apiKeyNotSet": "Not Set",
83
+ "showKey": "Show Key",
84
+ "hideKey": "Hide Key",
85
+ "providerFormDescription": "Configure API keys and parameters for AI provider",
86
+ "providerDisplayName": "Custom Name",
87
+ "providerDisplayNamePlaceholder": "For example: Relay A",
88
+ "providerDisplayNameHelp": "Display-only label to distinguish multiple custom providers.",
89
+ "enterApiKey": "Enter API Key",
90
+ "providerApiBaseHelp": "Leave empty or reset to use the default API base.",
91
+ "providerApiBaseHelpMinimax": "Use https://api.minimaxi.com/v1 for Mainland China accounts, and https://api.minimax.io/v1 for overseas accounts.",
92
+ "providerOpenAICompatHint": "Custom providers use OpenAI-compatible API format by default (Chat Completions / Responses).",
93
+ "providerExtraHeadersHelp": "Optional custom request headers.",
94
+ "providerTestConnection": "Test Connection",
95
+ "providerTestingConnection": "Testing...",
96
+ "providerTestConnectionSuccess": "Connection test passed",
97
+ "providerTestConnectionFailed": "Connection test failed",
98
+ "providerModelsTitle": "Available Models",
99
+ "providerModelInputPlaceholder": "Enter model id (without provider prefix; custom values allowed)",
100
+ "providerModelInputHint": "The list is only a reference. You can type and add models that are not listed.",
101
+ "providerAddModel": "Add Model",
102
+ "providerModelsEmpty": "No models yet. Add one by typing model id.",
103
+ "providerModelDefaultTag": "Default",
104
+ "providerModelCustomTag": "Custom",
105
+ "providerModelsHelp": "Built-in models are prefilled and can be added or removed here. Enter provider-local model ids without the current provider prefix; if prefixed input is entered, only the current provider prefix is removed while the remaining path is preserved (for example, openai/gpt-5).",
106
+ "providerModelsEmptyShort": "No models available",
107
+ "providerAddFirstModel": "Add first model",
108
+ "providerModelVisionTitle": "Vision",
109
+ "providerModelVisionHint": "Allow image input for this model.",
110
+ "providerModelThinkingTitle": "Thinking Capability",
111
+ "providerModelThinkingHint": "Declare supported thinking levels for this model. Chat sessions will show the selector accordingly.",
112
+ "providerModelThinkingDefault": "Default Thinking Level",
113
+ "providerModelThinkingDefaultNone": "No default (fallback off)",
114
+ "providerModelThinkingNoSupported": "Select at least one supported level first.",
115
+ "providerModelInvalidProviderPrefix": "Model id cannot use another provider prefix.",
116
+ "providerDisplayNameHelpShort": "Helps distinguish multiple custom providers",
117
+ "providerApiBaseHelpShort": "Usually just the domain; path auto-appended",
118
+ "providerExtraHeadersHelpShort": "Optional, for custom auth etc.",
119
+ "providerAdvancedSettings": "Advanced Settings",
120
+ "providerAuthSectionTitle": "Provider Authorization",
121
+ "providerAuthStarting": "Starting...",
122
+ "providerAuthAuthorizing": "Authorizing...",
123
+ "providerAuthAuthorizeInBrowser": "Authorize in Browser",
124
+ "providerAuthWaitingBrowser": "Waiting for browser authorization...",
125
+ "providerAuthCompleted": "Authorization completed.",
126
+ "providerAuthOpenPrompt": "Open browser and complete authorization (code: ",
127
+ "providerAuthOpenPromptSuffix": ")",
128
+ "providerAuthStartFailed": "Failed to start authorization",
129
+ "providerAuthMethodLabel": "Authorization Region",
130
+ "providerAuthMethodPlaceholder": "Select authorization method",
131
+ "providerAuthImportFromCli": "Import From Qwen CLI",
132
+ "providerAuthImporting": "Importing...",
133
+ "providerAuthImportSuccess": "Imported provider credentials from CLI.",
134
+ "providerAuthImportStatusPrefix": "Imported credentials from CLI successfully.",
135
+ "providerAuthImportFailed": "Failed to import credentials",
136
+ "providerAuthSessionLabel": "Session",
137
+ "resetToDefault": "Reset to Default",
138
+ "leaveBlankToKeepUnchanged": "Leave blank to keep unchanged",
139
+ "consentGranted": "Consent Granted",
140
+ "imapHost": "IMAP Host",
141
+ "imapPort": "IMAP Port",
142
+ "imapUsername": "IMAP Username",
143
+ "imapPassword": "IMAP Password",
144
+ "imapMailbox": "IMAP Mailbox",
145
+ "imapUseSsl": "IMAP Use SSL",
146
+ "smtpHost": "SMTP Host",
147
+ "smtpPort": "SMTP Port",
148
+ "smtpUsername": "SMTP Username",
149
+ "smtpPassword": "SMTP Password",
150
+ "smtpUseTls": "SMTP Use TLS",
151
+ "smtpUseSsl": "SMTP Use SSL",
152
+ "fromAddress": "From Address",
153
+ "autoReplyEnabled": "Auto Reply Enabled",
154
+ "pollIntervalSeconds": "Poll Interval (s)",
155
+ "markSeen": "Mark Seen",
156
+ "maxBodyChars": "Max Body Chars",
157
+ "subjectPrefix": "Subject Prefix",
158
+ "baseUrl": "Base URL",
159
+ "socketUrl": "Socket URL",
160
+ "socketPath": "Socket Path",
161
+ "socketDisableMsgpack": "Disable Msgpack",
162
+ "socketReconnectDelayMs": "Reconnect Delay (ms)",
163
+ "socketMaxReconnectDelayMs": "Max Reconnect Delay (ms)",
164
+ "socketConnectTimeoutMs": "Connect Timeout (ms)",
165
+ "refreshIntervalMs": "Refresh Interval (ms)",
166
+ "watchTimeoutMs": "Watch Timeout (ms)",
167
+ "watchLimit": "Watch Limit",
168
+ "retryDelayMs": "Retry Delay (ms)",
169
+ "maxRetryAttempts": "Max Retry Attempts",
170
+ "clawToken": "Claw Token",
171
+ "agentUserId": "Agent User ID",
172
+ "sessions": "Sessions",
173
+ "panels": "Panels",
174
+ "mentionRequireInGroups": "Require Mention in Groups",
175
+ "groups": "Groups",
176
+ "replyDelayMode": "Reply Delay Mode",
177
+ "replyDelayMs": "Reply Delay (ms)",
178
+ "secret": "Secret",
179
+ "accountId": "Account ID",
180
+ "dmPolicy": "DM Policy",
181
+ "groupAllowFrom": "Group Allow From",
182
+ "requireMention": "Require Mention",
183
+ "mentionPatterns": "Mention Patterns",
184
+ "groupRulesJson": "Group Rules (JSON)",
185
+ "allowBotMessages": "Allow Bot Messages",
186
+ "attachmentMaxSizeMb": "Attachment Max Size (MB)",
187
+ "streamingMode": "Streaming Mode",
188
+ "draftChunkingJson": "Draft Chunking (JSON)",
189
+ "textChunkLimit": "Text Chunk Limit",
190
+ "invalidJson": "Invalid JSON",
191
+ "authBrand": "NextClaw UI",
192
+ "authLoginTitle": "Admin Sign In",
193
+ "authLoginDescription": "Authentication is enabled. Sign in to access this machine’s NextClaw UI.",
194
+ "authUsername": "Admin Username",
195
+ "authUsernamePlaceholder": "Enter admin username",
196
+ "authPassword": "Admin Password",
197
+ "authPasswordPlaceholder": "Enter admin password",
198
+ "authConfirmPassword": "Confirm Password",
199
+ "authConfirmPasswordPlaceholder": "Enter password again",
200
+ "authLoginAction": "Sign In",
201
+ "authLoggingIn": "Signing in...",
202
+ "authLoggingOut": "Signing out...",
203
+ "authActionFailed": "Authentication action failed",
204
+ "authLoginSuccess": "Signed in successfully",
205
+ "authLogoutSuccess": "Signed out successfully",
206
+ "authSetupSuccess": "Authentication enabled. This tab is now signed in and ready to use.",
207
+ "authPasswordUpdated": "Admin password updated",
208
+ "authEnabledSuccess": "Authentication enabled",
209
+ "authDisabledSuccess": "Authentication disabled",
210
+ "authRetryStatus": "Retry",
211
+ "authStatusLoadFailed": "Failed to load authentication status. Check whether the UI server is healthy.",
212
+ "authSecurityTitle": "Security",
213
+ "authSecurityDescription": "Keep the local console simple by default, and add a lightweight login gate only when you expose the UI remotely.",
214
+ "authSetupTitle": "Enable Lightweight Authentication",
215
+ "authSetupDescription": "Create the single admin account the first time you enable authentication. This tab will be signed in automatically.",
216
+ "authSetupAction": "Enable Authentication",
217
+ "authSettingUp": "Enabling...",
218
+ "authPasswordMismatch": "Passwords do not match",
219
+ "authPasswordMinLengthHint": "Passwords must be at least 8 characters. This version supports a single admin account only.",
220
+ "authStatusLabel": "Current Status",
221
+ "authStatusConfiguredUser": "Admin account: {username}",
222
+ "authUsernameFixedHelp": "This first version does not support renaming the admin account or managing multiple users.",
223
+ "authEnableLabel": "Require Login",
224
+ "authEnableOnHelp": "When enabled, every UI API and WebSocket except health and auth endpoints requires login.",
225
+ "authEnableOffHelp": "The UI is currently open for local-style use. Re-enabling will issue a fresh signed-in session to this tab.",
226
+ "authPasswordSectionTitle": "Change Admin Password",
227
+ "authPasswordSectionDescription": "Updating the password invalidates old sessions immediately. This tab gets a fresh session automatically while auth is enabled.",
228
+ "authPasswordAction": "Update Password",
229
+ "authPasswordUpdating": "Updating...",
230
+ "authLogoutAction": "Sign Out This Tab",
231
+ "authSessionMemoryNotice": "Sessions are stored only in server memory for now. You will need to sign in again after the NextClaw UI process restarts.",
232
+ "dmScope": "DM Scope",
233
+ "dmScopeHelp": "Control how direct-message sessions are isolated.",
234
+ "defaultContextTokens": "Default Context Tokens",
235
+ "defaultContextTokensHelp": "Input context budget for agents when no per-agent override is set.",
236
+ "runtimeCompanionEnabled": "Companion",
237
+ "runtimeCompanionEnabledHelp": "When enabled, NextClaw auto-starts the floating companion. When disabled, it stops immediately and stays off after restart.",
238
+ "defaultEngine": "Default Runtime",
239
+ "defaultEngineHelp": "Default agent runtime, for example native, codex, or claude.",
240
+ "agentList": "Agent List",
241
+ "agentListHelp": "Run multiple fixed-role agents in one gateway process.",
242
+ "bindings": "Bindings",
243
+ "bindingsHelp": "Route inbound message by channel + account + peer to target agent.",
244
+ "agentIdRequiredError": "agents.list[{index}].id is required",
245
+ "duplicateAgentId": "Duplicate agent id",
246
+ "bindingAgentIdRequired": "bindings[{index}].agentId is required",
247
+ "bindingAgentIdNotFound": "bindings[{index}].agentId not found in agents.list/main",
248
+ "bindingChannelRequired": "bindings[{index}].match.channel is required",
249
+ "bindingPeerIdRequired": "bindings[{index}].match.peer.id is required when peer.kind is set",
250
+ "agentIdPlaceholder": "Agent ID (e.g. engineer)",
251
+ "workspaceOverridePlaceholder": "Workspace override (optional)",
252
+ "modelOverridePlaceholder": "Model override (optional)",
253
+ "defaultEnginePlaceholder": "Default runtime (e.g. native or codex)",
254
+ "engineOverridePlaceholder": "Runtime override (optional)",
255
+ "contextTokensPlaceholder": "Context tokens",
256
+ "maxToolsPlaceholder": "Max tools",
257
+ "defaultAgent": "Default agent",
258
+ "addAgent": "Add Agent",
259
+ "targetAgentIdPlaceholder": "Target agent ID",
260
+ "channelPlaceholder": "Channel (e.g. discord)",
261
+ "accountIdOptionalPlaceholder": "Account ID (optional)",
262
+ "peerKindOptional": "Peer kind (optional)",
263
+ "peerIdPlaceholder": "Peer ID (requires peer kind)",
264
+ "addBinding": "Add Binding",
265
+ "saveRuntimeSettings": "Save Runtime Settings",
266
+ "secretsPageTitle": "Secrets Management",
267
+ "secretsPageDescription": "Manage secrets.providers, secrets.defaults, and secrets.refs in one place.",
268
+ "secretsEnabledHelp": "When disabled, `{{secret:*}}` refs are not resolved.",
269
+ "defaultEnvProvider": "Default Env Provider",
270
+ "defaultFileProvider": "Default File Provider",
271
+ "defaultExecProvider": "Default Exec Provider",
272
+ "secretProvidersTitle": "Secret Providers",
273
+ "secretProvidersDescription": "Define reusable secret providers (env/file/exec).",
274
+ "providerAlias": "Provider Alias",
275
+ "removeProvider": "Remove Provider",
276
+ "envPrefix": "Environment Prefix",
277
+ "secretFilePath": "Secrets File Path",
278
+ "secretExecCommand": "Exec Command",
279
+ "secretExecArgs": "Exec Args (one per line)",
280
+ "secretExecCwd": "Exec Working Directory (optional)",
281
+ "secretExecTimeoutMs": "Timeout (ms)",
282
+ "addSecretProvider": "Add Provider",
283
+ "secretRefsTitle": "Secret Refs",
284
+ "secretRefsDescription": "Map config paths to secret refs (source/provider/id).",
285
+ "secretConfigPath": "Config Path",
286
+ "secretId": "Secret ID",
287
+ "secretProviderAlias": "Provider Alias",
288
+ "addSecretRef": "Add Ref",
289
+ "sessionsLoading": "Loading sessions...",
290
+ "sessionsEmpty": "No sessions yet.",
291
+ "sessionsLabelPlaceholder": "Session label (optional)",
292
+ "sessionsRunStatusRunning": "Running",
293
+ "sessionsRunStatusQueued": "Queued",
294
+ "actionConfigure": "Configure",
295
+ "actionAddProvider": "Add Provider",
296
+ "actionEnable": "Enable",
297
+ "configSaved": "Configuration saved",
298
+ "configSavedApplying": "Configuration saved, applying changes",
299
+ "configSavedApplied": "Configuration saved and applied",
300
+ "configSaveFailed": "Failed to save configuration",
301
+ "configReloaded": "Configuration reloaded",
302
+ "configReloadFailed": "Failed to reload configuration",
303
+ "channelConfigApplying": "Channel configuration is applying",
304
+ "channelConfigApplied": "Channel configuration applied",
305
+ "channelConfigApplyFailed": "Failed to apply channel configuration",
306
+ "feishuVerifySuccess": "Verified. Please finish Feishu event subscription and app publishing before using.",
307
+ "feishuVerifyFailed": "Verification failed",
308
+ "enterTag": "Type and press Enter...",
309
+ "headerName": "Header Name",
310
+ "headerValue": "Header Value"
311
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "cronPageTitle": "Cron Jobs",
3
+ "cronPageDescription": "View and delete cron jobs, track schedule and status.",
4
+ "cronSearchPlaceholder": "Search name / message / ID",
5
+ "cronStatusLabel": "Status",
6
+ "cronStatusAll": "All",
7
+ "cronStatusEnabled": "Enabled",
8
+ "cronStatusDisabled": "Disabled",
9
+ "cronTotalLabel": "Total",
10
+ "cronLoading": "Loading cron jobs...",
11
+ "cronEmpty": "No cron jobs yet.",
12
+ "cronScheduleLabel": "Schedule",
13
+ "cronSessionLabel": "Session",
14
+ "cronDeliverTo": "Deliver to",
15
+ "cronNextRun": "Next run",
16
+ "cronLastRun": "Last run",
17
+ "cronLastStatus": "Last status",
18
+ "cronDeleteConfirm": "Delete cron job",
19
+ "cronOneShot": "One-shot",
20
+ "cronEnable": "Enable",
21
+ "cronDisable": "Disable",
22
+ "cronRunNow": "Run now",
23
+ "cronEnableConfirm": "Enable cron job",
24
+ "cronDisableConfirm": "Disable cron job",
25
+ "cronRunConfirm": "Run cron job now",
26
+ "cronRunForceConfirm": "Cron job disabled. Force run now",
27
+ "cronMoreActions": "More actions",
28
+ "cronCreatedAt": "Created",
29
+ "cronEmptyGuide": "Tell your Agent about scheduled tasks in chat",
30
+ "cronId": "Job ID",
31
+ "cronUpdatedAt": "Updated"
32
+ }