@agent-native/core 0.79.2 → 0.79.6

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 (268) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +30 -0
  3. package/corpus/core/docs/content/locales/zh-TW/a2a-protocol.md +392 -0
  4. package/corpus/core/docs/content/locales/zh-TW/actions.md +583 -0
  5. package/corpus/core/docs/content/locales/zh-TW/agent-mentions.md +164 -0
  6. package/corpus/core/docs/content/locales/zh-TW/agent-surfaces.md +397 -0
  7. package/corpus/core/docs/content/locales/zh-TW/agent-teams.md +171 -0
  8. package/corpus/core/docs/content/locales/zh-TW/agent-web-surfaces.md +161 -0
  9. package/corpus/core/docs/content/locales/zh-TW/audit-log.md +111 -0
  10. package/corpus/core/docs/content/locales/zh-TW/authentication.md +332 -0
  11. package/corpus/core/docs/content/locales/zh-TW/automations.md +268 -0
  12. package/corpus/core/docs/content/locales/zh-TW/blueprint-installer.md +83 -0
  13. package/corpus/core/docs/content/locales/zh-TW/cli-adapters.md +129 -0
  14. package/corpus/core/docs/content/locales/zh-TW/client.md +398 -0
  15. package/corpus/core/docs/content/locales/zh-TW/cloneable-saas.md +114 -0
  16. package/corpus/core/docs/content/locales/zh-TW/code-agents-ui.md +436 -0
  17. package/corpus/core/docs/content/locales/zh-TW/components.md +368 -0
  18. package/corpus/core/docs/content/locales/zh-TW/context-awareness.md +373 -0
  19. package/corpus/core/docs/content/locales/zh-TW/creating-templates.md +411 -0
  20. package/corpus/core/docs/content/locales/zh-TW/cross-app-sso.md +188 -0
  21. package/corpus/core/docs/content/locales/zh-TW/database.md +183 -0
  22. package/corpus/core/docs/content/locales/zh-TW/deployment.md +348 -0
  23. package/corpus/core/docs/content/locales/zh-TW/dispatch.md +146 -0
  24. package/corpus/core/docs/content/locales/zh-TW/drop-in-agent.md +260 -0
  25. package/corpus/core/docs/content/locales/zh-TW/durable-resume.md +65 -0
  26. package/corpus/core/docs/content/locales/zh-TW/embedding-sdk.md +597 -0
  27. package/corpus/core/docs/content/locales/zh-TW/evals.md +155 -0
  28. package/corpus/core/docs/content/locales/zh-TW/extensions.md +360 -0
  29. package/corpus/core/docs/content/locales/zh-TW/external-agents.md +619 -0
  30. package/corpus/core/docs/content/locales/zh-TW/faq.md +142 -0
  31. package/corpus/core/docs/content/locales/zh-TW/file-uploads.md +122 -0
  32. package/corpus/core/docs/content/locales/zh-TW/frames.md +153 -0
  33. package/corpus/core/docs/content/locales/zh-TW/getting-started.md +199 -0
  34. package/corpus/core/docs/content/locales/zh-TW/harness-agents.md +349 -0
  35. package/corpus/core/docs/content/locales/zh-TW/human-approval.md +86 -0
  36. package/corpus/core/docs/content/locales/zh-TW/internationalization.md +147 -0
  37. package/corpus/core/docs/content/locales/zh-TW/key-concepts.md +312 -0
  38. package/corpus/core/docs/content/locales/zh-TW/local-file-mode.md +433 -0
  39. package/corpus/core/docs/content/locales/zh-TW/mcp-apps.md +147 -0
  40. package/corpus/core/docs/content/locales/zh-TW/mcp-clients.md +330 -0
  41. package/corpus/core/docs/content/locales/zh-TW/mcp-protocol.md +279 -0
  42. package/corpus/core/docs/content/locales/zh-TW/messaging.md +461 -0
  43. package/corpus/core/docs/content/locales/zh-TW/migration-workbench.md +33 -0
  44. package/corpus/core/docs/content/locales/zh-TW/multi-app-workspace.md +312 -0
  45. package/corpus/core/docs/content/locales/zh-TW/multi-tenancy.md +52 -0
  46. package/corpus/core/docs/content/locales/zh-TW/native-chat-ui.md +321 -0
  47. package/corpus/core/docs/content/locales/zh-TW/notifications.md +231 -0
  48. package/corpus/core/docs/content/locales/zh-TW/observability.md +294 -0
  49. package/corpus/core/docs/content/locales/zh-TW/observational-memory.md +77 -0
  50. package/corpus/core/docs/content/locales/zh-TW/onboarding.md +216 -0
  51. package/corpus/core/docs/content/locales/zh-TW/plan-plugin.md +200 -0
  52. package/corpus/core/docs/content/locales/zh-TW/pr-visual-recap.md +384 -0
  53. package/corpus/core/docs/content/locales/zh-TW/processors.md +106 -0
  54. package/corpus/core/docs/content/locales/zh-TW/progress.md +199 -0
  55. package/corpus/core/docs/content/locales/zh-TW/pure-agent-apps.md +39 -0
  56. package/corpus/core/docs/content/locales/zh-TW/real-time-collaboration.md +680 -0
  57. package/corpus/core/docs/content/locales/zh-TW/recurring-jobs.md +142 -0
  58. package/corpus/core/docs/content/locales/zh-TW/routing.md +79 -0
  59. package/corpus/core/docs/content/locales/zh-TW/sandbox-adapters.md +227 -0
  60. package/corpus/core/docs/content/locales/zh-TW/security.md +330 -0
  61. package/corpus/core/docs/content/locales/zh-TW/server.md +265 -0
  62. package/corpus/core/docs/content/locales/zh-TW/sharing.md +219 -0
  63. package/corpus/core/docs/content/locales/zh-TW/skills-guide.md +281 -0
  64. package/corpus/core/docs/content/locales/zh-TW/template-analytics.md +259 -0
  65. package/corpus/core/docs/content/locales/zh-TW/template-assets.md +303 -0
  66. package/corpus/core/docs/content/locales/zh-TW/template-brain.md +324 -0
  67. package/corpus/core/docs/content/locales/zh-TW/template-calendar.md +194 -0
  68. package/corpus/core/docs/content/locales/zh-TW/template-chat.md +129 -0
  69. package/corpus/core/docs/content/locales/zh-TW/template-clips.md +368 -0
  70. package/corpus/core/docs/content/locales/zh-TW/template-content.md +402 -0
  71. package/corpus/core/docs/content/locales/zh-TW/template-design.md +173 -0
  72. package/corpus/core/docs/content/locales/zh-TW/template-dispatch.md +220 -0
  73. package/corpus/core/docs/content/locales/zh-TW/template-forms.md +178 -0
  74. package/corpus/core/docs/content/locales/zh-TW/template-mail.md +239 -0
  75. package/corpus/core/docs/content/locales/zh-TW/template-plan.md +814 -0
  76. package/corpus/core/docs/content/locales/zh-TW/template-slides.md +293 -0
  77. package/corpus/core/docs/content/locales/zh-TW/template-videos.md +222 -0
  78. package/corpus/core/docs/content/locales/zh-TW/tracking.md +236 -0
  79. package/corpus/core/docs/content/locales/zh-TW/using-your-agent.md +71 -0
  80. package/corpus/core/docs/content/locales/zh-TW/voice-input.md +81 -0
  81. package/corpus/core/docs/content/locales/zh-TW/what-is-agent-native.md +202 -0
  82. package/corpus/core/docs/content/locales/zh-TW/workspace-connections.md +321 -0
  83. package/corpus/core/docs/content/locales/zh-TW/workspace-management.md +175 -0
  84. package/corpus/core/docs/content/locales/zh-TW/workspace.md +323 -0
  85. package/corpus/core/docs/content/locales/zh-TW/writing-agent-instructions.md +173 -0
  86. package/corpus/core/package.json +2 -2
  87. package/corpus/core/scripts/check-dist-imports.mjs +35 -0
  88. package/corpus/core/src/client/ErrorBoundary.tsx +10 -0
  89. package/corpus/core/src/client/FeedbackButton.tsx +12 -0
  90. package/corpus/core/src/client/blocks/library/block-copy.ts +32 -0
  91. package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +33 -0
  92. package/corpus/core/src/client/i18n.tsx +6 -1
  93. package/corpus/core/src/localization/actions/set-localization-preference.ts +2 -1
  94. package/corpus/core/src/localization/default-messages.ts +492 -0
  95. package/corpus/core/src/localization/shared.ts +45 -0
  96. package/corpus/core/src/server/agent-chat-plugin.ts +38 -0
  97. package/corpus/core/src/server/onboarding-html.ts +99 -0
  98. package/corpus/core/src/templates/default/app/i18n/index.ts +2 -0
  99. package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +466 -0
  100. package/corpus/core/src/templates/default/app/root.tsx +8 -0
  101. package/corpus/templates/analytics/app/i18n/index.ts +2 -0
  102. package/corpus/templates/analytics/app/i18n/zh-TW.ts +818 -0
  103. package/corpus/templates/analytics/app/i18n-data.ts +9 -0
  104. package/corpus/templates/assets/app/i18n/index.ts +2 -0
  105. package/corpus/templates/assets/app/i18n/zh-TW.ts +860 -0
  106. package/corpus/templates/assets/app/i18n-data.ts +3 -0
  107. package/corpus/templates/brain/app/i18n/index.ts +2 -0
  108. package/corpus/templates/brain/app/i18n/zh-TW.ts +709 -0
  109. package/corpus/templates/brain/app/i18n-data.ts +3 -0
  110. package/corpus/templates/calendar/app/i18n/zh-TW.ts +836 -0
  111. package/corpus/templates/calendar/app/i18n-data.ts +4 -0
  112. package/corpus/templates/chat/app/i18n/index.ts +2 -0
  113. package/corpus/templates/chat/app/i18n/zh-TW.ts +67 -0
  114. package/corpus/templates/chat/app/i18n-data.ts +3 -0
  115. package/corpus/templates/clips/app/i18n/index.ts +2 -0
  116. package/corpus/templates/clips/app/i18n/zh-TW.ts +1280 -0
  117. package/corpus/templates/content/app/i18n/index.ts +2 -0
  118. package/corpus/templates/content/app/i18n/zh-TW.ts +906 -0
  119. package/corpus/templates/content/app/i18n-data.ts +4 -0
  120. package/corpus/templates/design/app/i18n/index.ts +2 -0
  121. package/corpus/templates/design/app/i18n/zh-TW.ts +517 -0
  122. package/corpus/templates/design/app/i18n-data.ts +6 -0
  123. package/corpus/templates/dispatch/app/i18n/index.ts +2 -0
  124. package/corpus/templates/dispatch/app/i18n/zh-TW.ts +195 -0
  125. package/corpus/templates/dispatch/app/i18n-data.ts +3 -0
  126. package/corpus/templates/forms/app/i18n/index.ts +2 -0
  127. package/corpus/templates/forms/app/i18n/zh-TW.ts +349 -0
  128. package/corpus/templates/macros/app/i18n/index.ts +2 -0
  129. package/corpus/templates/macros/app/i18n/zh-TW.ts +224 -0
  130. package/corpus/templates/mail/app/i18n/index.ts +2 -0
  131. package/corpus/templates/mail/app/i18n/zh-TW.ts +562 -0
  132. package/corpus/templates/mail/app/root.tsx +6 -0
  133. package/corpus/templates/plan/app/i18n/index.ts +2 -0
  134. package/corpus/templates/plan/app/i18n/zh-TW.ts +712 -0
  135. package/corpus/templates/slides/app/i18n/index.ts +2 -0
  136. package/corpus/templates/slides/app/i18n/zh-TW.ts +531 -0
  137. package/corpus/templates/videos/app/i18n/index.ts +2 -0
  138. package/corpus/templates/videos/app/i18n/zh-TW.ts +435 -0
  139. package/dist/client/ErrorBoundary.d.ts.map +1 -1
  140. package/dist/client/ErrorBoundary.js +10 -0
  141. package/dist/client/ErrorBoundary.js.map +1 -1
  142. package/dist/client/FeedbackButton.d.ts.map +1 -1
  143. package/dist/client/FeedbackButton.js +12 -0
  144. package/dist/client/FeedbackButton.js.map +1 -1
  145. package/dist/client/blocks/library/block-copy.d.ts.map +1 -1
  146. package/dist/client/blocks/library/block-copy.js +32 -0
  147. package/dist/client/blocks/library/block-copy.js.map +1 -1
  148. package/dist/client/extensions/ExtensionsSidebarSection.d.ts.map +1 -1
  149. package/dist/client/extensions/ExtensionsSidebarSection.js +32 -0
  150. package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
  151. package/dist/client/i18n.d.ts.map +1 -1
  152. package/dist/client/i18n.js +6 -1
  153. package/dist/client/i18n.js.map +1 -1
  154. package/dist/collab/routes.d.ts +2 -2
  155. package/dist/file-upload/actions/upload-image.d.ts +2 -2
  156. package/dist/localization/actions/set-localization-preference.d.ts.map +1 -1
  157. package/dist/localization/actions/set-localization-preference.js +2 -2
  158. package/dist/localization/actions/set-localization-preference.js.map +1 -1
  159. package/dist/localization/default-messages.d.ts +443 -0
  160. package/dist/localization/default-messages.d.ts.map +1 -0
  161. package/dist/localization/default-messages.js +448 -0
  162. package/dist/localization/default-messages.js.map +1 -0
  163. package/dist/localization/shared.d.ts +1 -1
  164. package/dist/localization/shared.d.ts.map +1 -1
  165. package/dist/localization/shared.js +43 -0
  166. package/dist/localization/shared.js.map +1 -1
  167. package/dist/notifications/routes.d.ts +2 -2
  168. package/dist/observability/routes.d.ts +7 -7
  169. package/dist/progress/routes.d.ts +1 -1
  170. package/dist/resources/handlers.d.ts +3 -3
  171. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  172. package/dist/server/agent-chat-plugin.js +39 -0
  173. package/dist/server/agent-chat-plugin.js.map +1 -1
  174. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  175. package/dist/server/onboarding-html.d.ts.map +1 -1
  176. package/dist/server/onboarding-html.js +96 -0
  177. package/dist/server/onboarding-html.js.map +1 -1
  178. package/dist/server/transcribe-voice.d.ts +1 -1
  179. package/dist/templates/default/app/i18n/index.ts +2 -0
  180. package/dist/templates/default/app/i18n/zh-TW.ts +466 -0
  181. package/dist/templates/default/app/root.tsx +8 -0
  182. package/docs/content/locales/zh-TW/a2a-protocol.md +392 -0
  183. package/docs/content/locales/zh-TW/actions.md +583 -0
  184. package/docs/content/locales/zh-TW/agent-mentions.md +164 -0
  185. package/docs/content/locales/zh-TW/agent-surfaces.md +397 -0
  186. package/docs/content/locales/zh-TW/agent-teams.md +171 -0
  187. package/docs/content/locales/zh-TW/agent-web-surfaces.md +161 -0
  188. package/docs/content/locales/zh-TW/audit-log.md +111 -0
  189. package/docs/content/locales/zh-TW/authentication.md +332 -0
  190. package/docs/content/locales/zh-TW/automations.md +268 -0
  191. package/docs/content/locales/zh-TW/blueprint-installer.md +83 -0
  192. package/docs/content/locales/zh-TW/cli-adapters.md +129 -0
  193. package/docs/content/locales/zh-TW/client.md +398 -0
  194. package/docs/content/locales/zh-TW/cloneable-saas.md +114 -0
  195. package/docs/content/locales/zh-TW/code-agents-ui.md +436 -0
  196. package/docs/content/locales/zh-TW/components.md +368 -0
  197. package/docs/content/locales/zh-TW/context-awareness.md +373 -0
  198. package/docs/content/locales/zh-TW/creating-templates.md +411 -0
  199. package/docs/content/locales/zh-TW/cross-app-sso.md +188 -0
  200. package/docs/content/locales/zh-TW/database.md +183 -0
  201. package/docs/content/locales/zh-TW/deployment.md +348 -0
  202. package/docs/content/locales/zh-TW/dispatch.md +146 -0
  203. package/docs/content/locales/zh-TW/drop-in-agent.md +260 -0
  204. package/docs/content/locales/zh-TW/durable-resume.md +65 -0
  205. package/docs/content/locales/zh-TW/embedding-sdk.md +597 -0
  206. package/docs/content/locales/zh-TW/evals.md +155 -0
  207. package/docs/content/locales/zh-TW/extensions.md +360 -0
  208. package/docs/content/locales/zh-TW/external-agents.md +619 -0
  209. package/docs/content/locales/zh-TW/faq.md +142 -0
  210. package/docs/content/locales/zh-TW/file-uploads.md +122 -0
  211. package/docs/content/locales/zh-TW/frames.md +153 -0
  212. package/docs/content/locales/zh-TW/getting-started.md +199 -0
  213. package/docs/content/locales/zh-TW/harness-agents.md +349 -0
  214. package/docs/content/locales/zh-TW/human-approval.md +86 -0
  215. package/docs/content/locales/zh-TW/internationalization.md +147 -0
  216. package/docs/content/locales/zh-TW/key-concepts.md +312 -0
  217. package/docs/content/locales/zh-TW/local-file-mode.md +433 -0
  218. package/docs/content/locales/zh-TW/mcp-apps.md +147 -0
  219. package/docs/content/locales/zh-TW/mcp-clients.md +330 -0
  220. package/docs/content/locales/zh-TW/mcp-protocol.md +279 -0
  221. package/docs/content/locales/zh-TW/messaging.md +461 -0
  222. package/docs/content/locales/zh-TW/migration-workbench.md +33 -0
  223. package/docs/content/locales/zh-TW/multi-app-workspace.md +312 -0
  224. package/docs/content/locales/zh-TW/multi-tenancy.md +52 -0
  225. package/docs/content/locales/zh-TW/native-chat-ui.md +321 -0
  226. package/docs/content/locales/zh-TW/notifications.md +231 -0
  227. package/docs/content/locales/zh-TW/observability.md +294 -0
  228. package/docs/content/locales/zh-TW/observational-memory.md +77 -0
  229. package/docs/content/locales/zh-TW/onboarding.md +216 -0
  230. package/docs/content/locales/zh-TW/plan-plugin.md +200 -0
  231. package/docs/content/locales/zh-TW/pr-visual-recap.md +384 -0
  232. package/docs/content/locales/zh-TW/processors.md +106 -0
  233. package/docs/content/locales/zh-TW/progress.md +199 -0
  234. package/docs/content/locales/zh-TW/pure-agent-apps.md +39 -0
  235. package/docs/content/locales/zh-TW/real-time-collaboration.md +680 -0
  236. package/docs/content/locales/zh-TW/recurring-jobs.md +142 -0
  237. package/docs/content/locales/zh-TW/routing.md +79 -0
  238. package/docs/content/locales/zh-TW/sandbox-adapters.md +227 -0
  239. package/docs/content/locales/zh-TW/security.md +330 -0
  240. package/docs/content/locales/zh-TW/server.md +265 -0
  241. package/docs/content/locales/zh-TW/sharing.md +219 -0
  242. package/docs/content/locales/zh-TW/skills-guide.md +281 -0
  243. package/docs/content/locales/zh-TW/template-analytics.md +259 -0
  244. package/docs/content/locales/zh-TW/template-assets.md +303 -0
  245. package/docs/content/locales/zh-TW/template-brain.md +324 -0
  246. package/docs/content/locales/zh-TW/template-calendar.md +194 -0
  247. package/docs/content/locales/zh-TW/template-chat.md +129 -0
  248. package/docs/content/locales/zh-TW/template-clips.md +368 -0
  249. package/docs/content/locales/zh-TW/template-content.md +402 -0
  250. package/docs/content/locales/zh-TW/template-design.md +173 -0
  251. package/docs/content/locales/zh-TW/template-dispatch.md +220 -0
  252. package/docs/content/locales/zh-TW/template-forms.md +178 -0
  253. package/docs/content/locales/zh-TW/template-mail.md +239 -0
  254. package/docs/content/locales/zh-TW/template-plan.md +814 -0
  255. package/docs/content/locales/zh-TW/template-slides.md +293 -0
  256. package/docs/content/locales/zh-TW/template-videos.md +222 -0
  257. package/docs/content/locales/zh-TW/tracking.md +236 -0
  258. package/docs/content/locales/zh-TW/using-your-agent.md +71 -0
  259. package/docs/content/locales/zh-TW/voice-input.md +81 -0
  260. package/docs/content/locales/zh-TW/what-is-agent-native.md +202 -0
  261. package/docs/content/locales/zh-TW/workspace-connections.md +321 -0
  262. package/docs/content/locales/zh-TW/workspace-management.md +175 -0
  263. package/docs/content/locales/zh-TW/workspace.md +323 -0
  264. package/docs/content/locales/zh-TW/writing-agent-instructions.md +173 -0
  265. package/package.json +2 -2
  266. package/src/templates/default/app/i18n/index.ts +2 -0
  267. package/src/templates/default/app/i18n/zh-TW.ts +466 -0
  268. package/src/templates/default/app/root.tsx +8 -0
@@ -0,0 +1,448 @@
1
+ // Canonical English catalog used by core UI for translation fallbacks.
2
+ // Lives under src/ so tsc emits it to dist/*.js and Node's strict ESM resolver
3
+ // can load it during SSR. Do not import core runtime code from src/templates:
4
+ // templates ship as verbatim copy-only scaffolding (.ts), so their compiled
5
+ // .js never exists in dist.
6
+ const messages = {
7
+ home: {
8
+ settingsTitle: "Settings",
9
+ settingsDescription: "Language and agent preferences",
10
+ title: "Your app is running",
11
+ intro: "Start building by editing",
12
+ actionCardTitle: "Action-backed data",
13
+ loadingAction: "Loading action result...",
14
+ docsTitle: "Documentation",
15
+ docsDescription: "Learn the framework",
16
+ themeTitle: "Theme",
17
+ themeDescription: "Toggle dark / light",
18
+ },
19
+ settings: {
20
+ title: "Settings",
21
+ description: "Language and workspace preferences for this app.",
22
+ languageTitle: "Language",
23
+ languageDescription: "Choose the interface language. This preference is saved for your account.",
24
+ languageLabel: "Interface language",
25
+ agentTitle: "Agent settings",
26
+ agentDescription: "Open the agent sidebar settings for model, API keys, automations, voice, and other agent controls.",
27
+ openAgentSettings: "Open agent settings",
28
+ workspaceTitle: "Workspace",
29
+ workspaceDescription: "Manage team access and shared workspace resources.",
30
+ openTeamSettings: "Open team settings",
31
+ openResourceSettings: "Open resource settings",
32
+ backHome: "Back to home",
33
+ },
34
+ dispatch: {
35
+ nav: {
36
+ chat: "Chat",
37
+ overview: "Overview",
38
+ apps: "Apps",
39
+ metrics: "Metrics",
40
+ vault: "Vault",
41
+ integrations: "Integrations",
42
+ agents: "Agents",
43
+ resources: "Resources",
44
+ messaging: "Messaging",
45
+ destinations: "Destinations",
46
+ identities: "Identities",
47
+ approvals: "Approvals",
48
+ audit: "Audit",
49
+ dreams: "Dreams",
50
+ threadDebug: "Thread Debug",
51
+ settings: "Settings",
52
+ team: "Team",
53
+ operations: "Operations",
54
+ navigation: "Navigation",
55
+ navigationDescription: "Workspace navigation links",
56
+ },
57
+ sidebar: {
58
+ workspaceControlPlane: "Workspace control plane",
59
+ workspaceSubtitle_one: "Workspace · {{count}} app",
60
+ workspaceSubtitle_other: "Workspace · {{count}} apps",
61
+ chats: "Chats",
62
+ newChat: "New chat",
63
+ newDispatchChat: "New Dispatch chat",
64
+ renameChat: "Rename chat",
65
+ renameThread: "Rename {{title}}",
66
+ chatOptions: "Chat options for {{title}}",
67
+ aboutPage: "About {{title}}",
68
+ emptyAgentText: "Create apps, manage vault keys, and route work across the workspace.",
69
+ suggestionBuildApp: "Build a workspace app for X",
70
+ suggestionRouteSlack: "Route Slack mentions to my analytics app",
71
+ suggestionGrantKey: "Grant my OpenAI key to this app",
72
+ },
73
+ pages: {
74
+ appsDescription: "Open workspace apps and start new app creation from Dispatch.",
75
+ appsDescriptionWithWorkspace: 'Apps in the "{{workspace}}" workspace. Each app gets its own route under this workspace and shares its database, auth, and agent chat.',
76
+ appsInWorkspace: "Apps in {{workspace}}",
77
+ workspaceApps: "Workspace apps",
78
+ activeCount: "{{count}} active",
79
+ hiddenCount: "{{count}} hidden",
80
+ createApp: "Create app",
81
+ templates: "Templates",
82
+ checkingTemplates: "Checking available templates",
83
+ templatesAvailable: "{{count}} available to scaffold",
84
+ hide: "Hide",
85
+ show: "Show",
86
+ hiddenApps: "Hidden apps",
87
+ hiddenAppCount: "{{count}} hidden apps",
88
+ workspaceAppFallback: "Workspace App",
89
+ workspaceAppDescription: "Open a deployed app or check the status of an app being created.",
90
+ pageNotFound: "Page not found",
91
+ pageNotFoundDescription: "This route is not in the workspace app list yet.",
92
+ browseApps: "Browse apps",
93
+ newApp: "New App",
94
+ newAppDescription: "Create a workspace app from a prompt and apply the workspace vault policy.",
95
+ destinationsDescription: "Saved outbound Slack channels, Telegram chats, and thread targets.",
96
+ savedDestinations: "Saved destinations",
97
+ addDestination: "Add destination",
98
+ quickTestMessage: "Quick test message",
99
+ send: "Send",
100
+ delete: "Delete",
101
+ cancel: "Cancel",
102
+ messageSent: "Message sent",
103
+ unableToSendMessage: "Unable to send message",
104
+ destinationSaved: "Destination saved",
105
+ destinationRemoved: "Destination removed",
106
+ deleteDestinationTitle: "Delete destination?",
107
+ deleteDestinationDescription: '"{{name}}" will be removed. Any saved workflows or jobs that target this destination will start failing on the next send.',
108
+ noDestinations: "No destinations saved yet. Add your first Slack channel or Telegram chat on the right.",
109
+ dailyDigestChannel: "Daily digest channel",
110
+ optionalThreadOrTopicId: "Optional thread or topic id",
111
+ destinationNotes: "What should use this destination?",
112
+ saveDestination: "Save destination",
113
+ noWorkspaceApps: "No workspace apps yet",
114
+ noWorkspaceAppsDescription: "Create an app when a workflow needs its own focused place to live.",
115
+ appNotFound: "App not found",
116
+ building: "Building",
117
+ appBuildingPrefix: "This app is being created. It will be available at",
118
+ appBuildingSuffix: "after its branch is merged and the workspace deploy finishes.",
119
+ branch: "Branch: {{branch}}",
120
+ openBuilderBranch: "Open Builder branch",
121
+ openingApp: "Opening {{name}}",
122
+ redirectingTo: "Redirecting to",
123
+ openApp: "Open app",
124
+ notDispatchOrWorkspaceApp: " a Dispatch tab or a workspace app in this workspace.",
125
+ agentsDescription: "Dispatch can delegate to the built-in app suite over A2A by default. Add extra agents here only if you want to route work to apps outside that built-in set.",
126
+ mcpAccessUpdated: "MCP app access updated",
127
+ selectAppForMcp: "Select at least one app, or expose all apps.",
128
+ mcpUrlCopied: "MCP URL copied",
129
+ mcpUrlCopyFailed: "Could not copy MCP URL",
130
+ unifiedMcpGateway: "Unified MCP gateway",
131
+ unifiedMcpGatewayDescription: "Connect external agents to Dispatch once, then route to granted workspace apps through",
132
+ allApps: "All apps",
133
+ selectedApps: "Selected apps",
134
+ loading: "Loading",
135
+ grantedCount: "{{count}} granted",
136
+ exposeAllAppsMcp: "Expose all apps through Dispatch MCP",
137
+ copyUrl: "Copy URL",
138
+ metricsUnavailable: "Metrics unavailable",
139
+ unableToLoadUsage: "Unable to load usage.",
140
+ metricsDescriptionBuilder: "Workspace-wide Builder.io credit spend, chat volume, user activity, and app access.",
141
+ metricsDescriptionLlm: "Workspace-wide LLM spend, chat volume, user activity, and app access.",
142
+ llmCalls: "LLM calls",
143
+ activeUsers: "Active users",
144
+ workspaceAppsStat: "Workspace apps",
145
+ chatThreads: "Chat threads",
146
+ },
147
+ },
148
+ agentPanel: {
149
+ useBuilder: "Use Builder",
150
+ openDesktopToEditCode: "Open Desktop to edit code",
151
+ codeUnavailableDescription: "Source-code changes and CLI access are available in the Agent Native Desktop app.",
152
+ downloadDesktop: "Download Desktop",
153
+ chatMode: "Chat mode",
154
+ chat: "Chat",
155
+ cliTerminalMode: "CLI terminal mode",
156
+ cli: "CLI",
157
+ workspaceMode: "Workspace files, agents, skills, and tasks",
158
+ workspace: "Workspace",
159
+ newChat: "New chat",
160
+ newTerminal: "New terminal",
161
+ panelOptions: "Agent panel options",
162
+ collapseSidebar: "Collapse sidebar",
163
+ hideChats: "Hide chats",
164
+ allChats: "All chats",
165
+ settings: "Settings",
166
+ feedback: "Feedback",
167
+ exitFullscreen: "Exit fullscreen",
168
+ fullscreen: "Fullscreen",
169
+ closeTab: "Close tab",
170
+ closeOtherTabs: "Close other tabs",
171
+ closeAllTabs: "Close all tabs",
172
+ clearChat: "Clear chat",
173
+ cliRequiresDevMode: "CLI requires dev mode",
174
+ cliRequiresDevModeDescription: "Run this app locally with pnpm dev or use Builder.io to access the CLI terminal.",
175
+ toggleAgent: "Toggle agent",
176
+ },
177
+ share: {
178
+ titleWithResource: 'Share "{{title}}"',
179
+ titleWithType: "Share {{type}}",
180
+ owner: "Owner: {{name}}",
181
+ close: "Close",
182
+ shareOptions: "Share options",
183
+ link: "Link",
184
+ invite: "Invite",
185
+ embed: "Embed",
186
+ done: "Done",
187
+ generalAccess: "General access",
188
+ shareLink: "Share link",
189
+ addPeopleByEmail: "Add people by email",
190
+ notifyPeople: "Notify people",
191
+ peopleWithAccess: "People with access",
192
+ ownerRole: "Owner",
193
+ remove: "Remove",
194
+ noAccess: "No one has access yet.",
195
+ embedUrl: "Embed URL",
196
+ embedCode: "Embed code",
197
+ copy: "Copy",
198
+ role: "Role",
199
+ private: "Private",
200
+ privateDescription: "Only people with access can view",
201
+ organization: "Organization",
202
+ organizationDescription: "Anyone in your organization can view",
203
+ public: "Public",
204
+ publicDescription: "Anyone signed in with the link can view",
205
+ viewer: "Viewer",
206
+ viewerDescription: "Can view",
207
+ editor: "Editor",
208
+ editorDescription: "Can edit",
209
+ admin: "Admin",
210
+ adminDescription: "Can edit and manage access",
211
+ },
212
+ runsTray: {
213
+ runs: "Runs",
214
+ agentRuns: "Agent runs",
215
+ activeRun_one: "{{count}} active run",
216
+ activeRun_other: "{{count}} active runs",
217
+ failedRun_one: "{{count}} failed run",
218
+ failedRun_other: "{{count}} failed runs",
219
+ recentRuns: "Recent runs",
220
+ noRecentRuns: "No recent runs",
221
+ ariaAgentRuns: "Agent runs, {{label}}",
222
+ summaryRunning: "{{activeCount}} running",
223
+ summaryRunningRecent: "{{activeCount}} running · {{terminalCount}} recent",
224
+ summaryRecent_one: "{{count}} recent run",
225
+ summaryRecent_other: "{{count}} recent runs",
226
+ noTrackedWorkYet: "No tracked work yet",
227
+ emptyDescription: "Background agent work will appear here while it runs and after it finishes.",
228
+ open: "Open",
229
+ stopRun: "Stop {{title}}",
230
+ hideRun: "Hide {{title}}",
231
+ statusRunning: "Running",
232
+ statusDone: "Done",
233
+ statusFailed: "Failed",
234
+ statusStopped: "Stopped",
235
+ updatedJustNow: "Updated just now",
236
+ finishedJustNow: "Finished just now",
237
+ updatedMinutes: "Updated {{count}}m ago",
238
+ finishedMinutes: "Finished {{count}}m ago",
239
+ updatedHours: "Updated {{count}}h ago",
240
+ finishedHours: "Finished {{count}}h ago",
241
+ updatedDate: "Updated {{date}}",
242
+ finishedDate: "Finished {{date}}",
243
+ },
244
+ codeRequired: {
245
+ fallbackDetail: "Edit locally or use Builder.io to edit this code in the cloud and continue customizing the app any way you like.",
246
+ defaultFeature: "Make the requested code changes to this app",
247
+ branchError: "Failed to create branch",
248
+ title: "Code changes required",
249
+ subtitleWithFeature: '"{{feature}}" creates or modifies source code, which needs Desktop or Builder from this surface.',
250
+ subtitle: "This action creates or modifies source code, which needs Desktop or Builder from this surface.",
251
+ desktopTitle: "Use Agent Native Desktop",
252
+ desktopDescription: "Open the project in the desktop app to enable source edits and CLI access.",
253
+ builderAgentTitle: "Use Builder.io Agent",
254
+ builderAgentDescription: "Let our cloud agent make the changes for you. You'll get a link to preview and deploy.",
255
+ codeChangeTitle: "This requires a code change",
256
+ codeChangeBadge: "Code change",
257
+ connectBuilderTitle: "Connect Builder.io",
258
+ connectBuilderDescription: "Connect Builder to enable cloud-based code changes from this app.",
259
+ setupRequired: "Setup required",
260
+ branchCreated: "Branch created",
261
+ close: "Close",
262
+ },
263
+ extensions: {
264
+ createPrompt: "Create an extension: {{prompt}}",
265
+ createWidgetPrompt: 'Create a new widget that fits in slot "{{slotId}}". I\'ll describe what it should do next.',
266
+ whatShouldItDo: "What should it do?",
267
+ createPlaceholder: "A todo list, API dashboard, calculator...",
268
+ backToApp: "Back to app",
269
+ title: "Extensions",
270
+ hiddenShown: "Hiding shown",
271
+ showHidden: "Show hidden",
272
+ newExtension: "New Extension",
273
+ newExtensionTitle: "New extension",
274
+ buildPlaceholder: "Describe what you'd like to build...",
275
+ namePlaceholder: "My Extension",
276
+ descriptionPlaceholder: "What does this extension do?",
277
+ contentPlaceholder: "<html>...</html>",
278
+ emptyTitle: "Create your first extension",
279
+ emptyDescription: "Describe a small app and the agent will build it.",
280
+ hiddenFromEveryone: "Hidden from everyone",
281
+ localFile: "Local file",
282
+ optionsFor: "Options for {{name}}",
283
+ unhideEveryone: "Unhide for everyone",
284
+ hideEveryone: "Hide from everyone",
285
+ localFileDescription: "This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
286
+ deleteQuestion: "Delete {{name}}?",
287
+ removeQuestion: "Remove {{name}}?",
288
+ hideForYouDescription: "This hides it from your Extensions list without deleting it for anyone else.",
289
+ removeEverywhereDescription: "This removes it everywhere it is shared.",
290
+ cancel: "Cancel",
291
+ remove: "Remove",
292
+ removing: "Removing...",
293
+ delete: "Delete",
294
+ deleting: "Deleting...",
295
+ openFullView: "Open full view",
296
+ removeFromWidgetArea: "Remove from this widget area",
297
+ deleteExtensionEllipsis: "Delete extension...",
298
+ removeFromMyListEllipsis: "Remove from my list...",
299
+ removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
300
+ deleteEverywhereConfirmation: "This removes the extension everywhere, for everyone it's shared with.",
301
+ addWidget: "Add widget",
302
+ loading: "Loading...",
303
+ noWidgetsAvailable: "No widgets available for this slot yet.",
304
+ buildNewWidget: "Build a new widget",
305
+ contactSidebarWidget: "Contact sidebar widget",
306
+ contactSidebarDescription: "Appears beside the current conversation with contact and thread context.",
307
+ addWidgetHere: "Add widget here",
308
+ back: "Back",
309
+ editExtension: "Edit Extension",
310
+ saving: "Saving...",
311
+ save: "Save",
312
+ create: "Create",
313
+ moreOptions: "More options",
314
+ appearsIn: "Appears in",
315
+ noWidgetAreas: "Not installed in any widget areas. Ask the agent to add it somewhere.",
316
+ widgetAreaCount_one: "This extension can render in {{count}} widget area.",
317
+ widgetAreaCount_other: "This extension can render in {{count}} widget areas.",
318
+ nameLabel: "Name",
319
+ descriptionLabel: "Description",
320
+ contentLabel: "Content",
321
+ previewTitle: "Extension preview",
322
+ previewEmpty: "Preview will appear here",
323
+ },
324
+ org: {
325
+ createTitle: "Create your organization",
326
+ createDescription: "This app organizes your content by team. Create an organization to continue - you can invite teammates afterward.",
327
+ loadErrorTitle: "Couldn't load organization",
328
+ loadErrorFallback: "Couldn't load organization.",
329
+ tryAgain: "Try again",
330
+ yourOrganization: "Your organization",
331
+ joinYourTeam: "Join your team",
332
+ openToDomainEmails: "Open to @{{domain}} emails",
333
+ joinOrg: "Join {{name}}",
334
+ pendingInvitations: "Pending invitations",
335
+ invitedBy: "from {{name}}",
336
+ accept: "Accept",
337
+ createSeparate: "or create a separate organization",
338
+ organizationName: "Organization name",
339
+ organizationPlaceholder: "Acme Inc.",
340
+ createOrganization: "Create organization",
341
+ create: "Create",
342
+ creating: "Creating...",
343
+ team: "Team",
344
+ createOrgCardTitle: "Create an Organization",
345
+ createOrgCardDescription: "Set up a team to collaborate with your colleagues.",
346
+ joinDomainOne: "An organization matching your email domain already exists. Join it to collaborate with your teammates.",
347
+ joinDomainMany: "Organizations matching your email domain already exist. Join one to collaborate with your teammates.",
348
+ join: "Join",
349
+ invitedByLabel: "Invited by {{name}}",
350
+ you: "You",
351
+ admin: "Admin",
352
+ member: "Member",
353
+ members: "Members",
354
+ memberCount_one: "{{count}} member",
355
+ memberCount_other: "{{count}} members",
356
+ youAreRole: "You are {{role}}",
357
+ changeRole: "Change role",
358
+ removeMember: "Remove member",
359
+ cancel: "Cancel",
360
+ remove: "Remove",
361
+ save: "Save",
362
+ loading: "Loading...",
363
+ },
364
+ integrations: {
365
+ webhookUrl: "Webhook URL",
366
+ copyWebhookUrl: "Copy webhook URL",
367
+ notConfigured: "Not configured. Set the required secrets to enable this integration.",
368
+ enable: "Enable",
369
+ disable: "Disable",
370
+ toggling: "...",
371
+ networkError: "Network error reaching the server",
372
+ back: "Back",
373
+ agentEngineRequired: "Agent engine required",
374
+ agentEngineDescription: "Connect Builder.io or an LLM key before {{platform}} can answer.",
375
+ openLlm: "Open LLM",
376
+ setup: "Setup",
377
+ shareDocumentsWith: "Share documents with",
378
+ copyServiceAccountEmail: "Copy service account email",
379
+ requiredSecrets: "Required secrets",
380
+ envHelp: "Set these in your .env file or environment to connect.",
381
+ copy: "Copy",
382
+ documentation: "Documentation",
383
+ clientAvailable: "This agent's A2A endpoint is automatically available. No configuration needed.",
384
+ addChatIntegration: "Add a chat integration",
385
+ chatIntegrations: "Chat Integrations",
386
+ chatIntegrationsDescription: "Talk to this agent from other platforms",
387
+ addIntegration: "Add integration",
388
+ dispatchEntrypoint: "For a central Slack or Telegram entrypoint that can route work across multiple apps, use the",
389
+ sharedMessaging: "Need one shared messaging surface for your workspace? Connect Slack or Telegram to a dispatch app and let it delegate to other agents over A2A.",
390
+ },
391
+ observability: {
392
+ noData: "No data available",
393
+ noConversations: "No conversations recorded yet",
394
+ noEvals: "No eval results recorded yet",
395
+ noExperiments: "No experiments created yet",
396
+ totalRuns: "Total runs",
397
+ totalCost: "Total cost",
398
+ avgLatency: "Avg latency",
399
+ toolSuccess: "Tool success",
400
+ thumbsUp: "Thumbs up",
401
+ avgEvalScore: "Avg eval score",
402
+ run: "Run",
403
+ model: "Model",
404
+ duration: "Duration",
405
+ cost: "Cost",
406
+ tools: "Tools",
407
+ time: "Time",
408
+ failedCount: "({{count}} failed)",
409
+ backToList: "Back to list",
410
+ spans: "Spans",
411
+ type: "Type",
412
+ name: "Name",
413
+ tokens: "Tokens",
414
+ status: "Status",
415
+ totalEvals: "Total evals",
416
+ avgScore: "Avg score",
417
+ scoresByCriteria: "Scores by criteria",
418
+ overview: "Overview",
419
+ conversations: "Conversations",
420
+ evals: "Evals",
421
+ experiments: "Experiments",
422
+ feedback: "Feedback",
423
+ variants: "Variants",
424
+ created: "Created",
425
+ backToExperiments: "Back to experiments",
426
+ metrics: "Metrics",
427
+ level: "Level",
428
+ results: "Results",
429
+ variant: "Variant",
430
+ metric: "Metric",
431
+ value: "Value",
432
+ totalFeedback: "Total feedback",
433
+ thumbsDown: "Thumbs down",
434
+ frustration: "Frustration",
435
+ thumbsUpRate: "Thumbs up rate",
436
+ categories: "Categories",
437
+ },
438
+ error: {
439
+ genericTitle: "Something went wrong",
440
+ genericDetails: "An unexpected error occurred.",
441
+ notFoundTitle: "Page not found",
442
+ notFoundDetails: "This page doesn't exist. It may have been moved or deleted.",
443
+ statusTitle: "{{status}} Error",
444
+ goHome: "Go home",
445
+ },
446
+ };
447
+ export default messages;
448
+ //# sourceMappingURL=default-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-messages.js","sourceRoot":"","sources":["../../src/localization/default-messages.ts"],"names":[],"mappings":"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","sourcesContent":["// Canonical English catalog used by core UI for translation fallbacks.\n// Lives under src/ so tsc emits it to dist/*.js and Node's strict ESM resolver\n// can load it during SSR. Do not import core runtime code from src/templates:\n// templates ship as verbatim copy-only scaffolding (.ts), so their compiled\n// .js never exists in dist.\nconst messages = {\n home: {\n settingsTitle: \"Settings\",\n settingsDescription: \"Language and agent preferences\",\n title: \"Your app is running\",\n intro: \"Start building by editing\",\n actionCardTitle: \"Action-backed data\",\n loadingAction: \"Loading action result...\",\n docsTitle: \"Documentation\",\n docsDescription: \"Learn the framework\",\n themeTitle: \"Theme\",\n themeDescription: \"Toggle dark / light\",\n },\n settings: {\n title: \"Settings\",\n description: \"Language and workspace preferences for this app.\",\n languageTitle: \"Language\",\n languageDescription:\n \"Choose the interface language. This preference is saved for your account.\",\n languageLabel: \"Interface language\",\n agentTitle: \"Agent settings\",\n agentDescription:\n \"Open the agent sidebar settings for model, API keys, automations, voice, and other agent controls.\",\n openAgentSettings: \"Open agent settings\",\n workspaceTitle: \"Workspace\",\n workspaceDescription: \"Manage team access and shared workspace resources.\",\n openTeamSettings: \"Open team settings\",\n openResourceSettings: \"Open resource settings\",\n backHome: \"Back to home\",\n },\n dispatch: {\n nav: {\n chat: \"Chat\",\n overview: \"Overview\",\n apps: \"Apps\",\n metrics: \"Metrics\",\n vault: \"Vault\",\n integrations: \"Integrations\",\n agents: \"Agents\",\n resources: \"Resources\",\n messaging: \"Messaging\",\n destinations: \"Destinations\",\n identities: \"Identities\",\n approvals: \"Approvals\",\n audit: \"Audit\",\n dreams: \"Dreams\",\n threadDebug: \"Thread Debug\",\n settings: \"Settings\",\n team: \"Team\",\n operations: \"Operations\",\n navigation: \"Navigation\",\n navigationDescription: \"Workspace navigation links\",\n },\n sidebar: {\n workspaceControlPlane: \"Workspace control plane\",\n workspaceSubtitle_one: \"Workspace · {{count}} app\",\n workspaceSubtitle_other: \"Workspace · {{count}} apps\",\n chats: \"Chats\",\n newChat: \"New chat\",\n newDispatchChat: \"New Dispatch chat\",\n renameChat: \"Rename chat\",\n renameThread: \"Rename {{title}}\",\n chatOptions: \"Chat options for {{title}}\",\n aboutPage: \"About {{title}}\",\n emptyAgentText:\n \"Create apps, manage vault keys, and route work across the workspace.\",\n suggestionBuildApp: \"Build a workspace app for X\",\n suggestionRouteSlack: \"Route Slack mentions to my analytics app\",\n suggestionGrantKey: \"Grant my OpenAI key to this app\",\n },\n pages: {\n appsDescription:\n \"Open workspace apps and start new app creation from Dispatch.\",\n appsDescriptionWithWorkspace:\n 'Apps in the \"{{workspace}}\" workspace. Each app gets its own route under this workspace and shares its database, auth, and agent chat.',\n appsInWorkspace: \"Apps in {{workspace}}\",\n workspaceApps: \"Workspace apps\",\n activeCount: \"{{count}} active\",\n hiddenCount: \"{{count}} hidden\",\n createApp: \"Create app\",\n templates: \"Templates\",\n checkingTemplates: \"Checking available templates\",\n templatesAvailable: \"{{count}} available to scaffold\",\n hide: \"Hide\",\n show: \"Show\",\n hiddenApps: \"Hidden apps\",\n hiddenAppCount: \"{{count}} hidden apps\",\n workspaceAppFallback: \"Workspace App\",\n workspaceAppDescription:\n \"Open a deployed app or check the status of an app being created.\",\n pageNotFound: \"Page not found\",\n pageNotFoundDescription:\n \"This route is not in the workspace app list yet.\",\n browseApps: \"Browse apps\",\n newApp: \"New App\",\n newAppDescription:\n \"Create a workspace app from a prompt and apply the workspace vault policy.\",\n destinationsDescription:\n \"Saved outbound Slack channels, Telegram chats, and thread targets.\",\n savedDestinations: \"Saved destinations\",\n addDestination: \"Add destination\",\n quickTestMessage: \"Quick test message\",\n send: \"Send\",\n delete: \"Delete\",\n cancel: \"Cancel\",\n messageSent: \"Message sent\",\n unableToSendMessage: \"Unable to send message\",\n destinationSaved: \"Destination saved\",\n destinationRemoved: \"Destination removed\",\n deleteDestinationTitle: \"Delete destination?\",\n deleteDestinationDescription:\n '\"{{name}}\" will be removed. Any saved workflows or jobs that target this destination will start failing on the next send.',\n noDestinations:\n \"No destinations saved yet. Add your first Slack channel or Telegram chat on the right.\",\n dailyDigestChannel: \"Daily digest channel\",\n optionalThreadOrTopicId: \"Optional thread or topic id\",\n destinationNotes: \"What should use this destination?\",\n saveDestination: \"Save destination\",\n noWorkspaceApps: \"No workspace apps yet\",\n noWorkspaceAppsDescription:\n \"Create an app when a workflow needs its own focused place to live.\",\n appNotFound: \"App not found\",\n building: \"Building\",\n appBuildingPrefix: \"This app is being created. It will be available at\",\n appBuildingSuffix:\n \"after its branch is merged and the workspace deploy finishes.\",\n branch: \"Branch: {{branch}}\",\n openBuilderBranch: \"Open Builder branch\",\n openingApp: \"Opening {{name}}\",\n redirectingTo: \"Redirecting to\",\n openApp: \"Open app\",\n notDispatchOrWorkspaceApp:\n \" a Dispatch tab or a workspace app in this workspace.\",\n agentsDescription:\n \"Dispatch can delegate to the built-in app suite over A2A by default. Add extra agents here only if you want to route work to apps outside that built-in set.\",\n mcpAccessUpdated: \"MCP app access updated\",\n selectAppForMcp: \"Select at least one app, or expose all apps.\",\n mcpUrlCopied: \"MCP URL copied\",\n mcpUrlCopyFailed: \"Could not copy MCP URL\",\n unifiedMcpGateway: \"Unified MCP gateway\",\n unifiedMcpGatewayDescription:\n \"Connect external agents to Dispatch once, then route to granted workspace apps through\",\n allApps: \"All apps\",\n selectedApps: \"Selected apps\",\n loading: \"Loading\",\n grantedCount: \"{{count}} granted\",\n exposeAllAppsMcp: \"Expose all apps through Dispatch MCP\",\n copyUrl: \"Copy URL\",\n metricsUnavailable: \"Metrics unavailable\",\n unableToLoadUsage: \"Unable to load usage.\",\n metricsDescriptionBuilder:\n \"Workspace-wide Builder.io credit spend, chat volume, user activity, and app access.\",\n metricsDescriptionLlm:\n \"Workspace-wide LLM spend, chat volume, user activity, and app access.\",\n llmCalls: \"LLM calls\",\n activeUsers: \"Active users\",\n workspaceAppsStat: \"Workspace apps\",\n chatThreads: \"Chat threads\",\n },\n },\n agentPanel: {\n useBuilder: \"Use Builder\",\n openDesktopToEditCode: \"Open Desktop to edit code\",\n codeUnavailableDescription:\n \"Source-code changes and CLI access are available in the Agent Native Desktop app.\",\n downloadDesktop: \"Download Desktop\",\n chatMode: \"Chat mode\",\n chat: \"Chat\",\n cliTerminalMode: \"CLI terminal mode\",\n cli: \"CLI\",\n workspaceMode: \"Workspace files, agents, skills, and tasks\",\n workspace: \"Workspace\",\n newChat: \"New chat\",\n newTerminal: \"New terminal\",\n panelOptions: \"Agent panel options\",\n collapseSidebar: \"Collapse sidebar\",\n hideChats: \"Hide chats\",\n allChats: \"All chats\",\n settings: \"Settings\",\n feedback: \"Feedback\",\n exitFullscreen: \"Exit fullscreen\",\n fullscreen: \"Fullscreen\",\n closeTab: \"Close tab\",\n closeOtherTabs: \"Close other tabs\",\n closeAllTabs: \"Close all tabs\",\n clearChat: \"Clear chat\",\n cliRequiresDevMode: \"CLI requires dev mode\",\n cliRequiresDevModeDescription:\n \"Run this app locally with pnpm dev or use Builder.io to access the CLI terminal.\",\n toggleAgent: \"Toggle agent\",\n },\n share: {\n titleWithResource: 'Share \"{{title}}\"',\n titleWithType: \"Share {{type}}\",\n owner: \"Owner: {{name}}\",\n close: \"Close\",\n shareOptions: \"Share options\",\n link: \"Link\",\n invite: \"Invite\",\n embed: \"Embed\",\n done: \"Done\",\n generalAccess: \"General access\",\n shareLink: \"Share link\",\n addPeopleByEmail: \"Add people by email\",\n notifyPeople: \"Notify people\",\n peopleWithAccess: \"People with access\",\n ownerRole: \"Owner\",\n remove: \"Remove\",\n noAccess: \"No one has access yet.\",\n embedUrl: \"Embed URL\",\n embedCode: \"Embed code\",\n copy: \"Copy\",\n role: \"Role\",\n private: \"Private\",\n privateDescription: \"Only people with access can view\",\n organization: \"Organization\",\n organizationDescription: \"Anyone in your organization can view\",\n public: \"Public\",\n publicDescription: \"Anyone signed in with the link can view\",\n viewer: \"Viewer\",\n viewerDescription: \"Can view\",\n editor: \"Editor\",\n editorDescription: \"Can edit\",\n admin: \"Admin\",\n adminDescription: \"Can edit and manage access\",\n },\n runsTray: {\n runs: \"Runs\",\n agentRuns: \"Agent runs\",\n activeRun_one: \"{{count}} active run\",\n activeRun_other: \"{{count}} active runs\",\n failedRun_one: \"{{count}} failed run\",\n failedRun_other: \"{{count}} failed runs\",\n recentRuns: \"Recent runs\",\n noRecentRuns: \"No recent runs\",\n ariaAgentRuns: \"Agent runs, {{label}}\",\n summaryRunning: \"{{activeCount}} running\",\n summaryRunningRecent: \"{{activeCount}} running · {{terminalCount}} recent\",\n summaryRecent_one: \"{{count}} recent run\",\n summaryRecent_other: \"{{count}} recent runs\",\n noTrackedWorkYet: \"No tracked work yet\",\n emptyDescription:\n \"Background agent work will appear here while it runs and after it finishes.\",\n open: \"Open\",\n stopRun: \"Stop {{title}}\",\n hideRun: \"Hide {{title}}\",\n statusRunning: \"Running\",\n statusDone: \"Done\",\n statusFailed: \"Failed\",\n statusStopped: \"Stopped\",\n updatedJustNow: \"Updated just now\",\n finishedJustNow: \"Finished just now\",\n updatedMinutes: \"Updated {{count}}m ago\",\n finishedMinutes: \"Finished {{count}}m ago\",\n updatedHours: \"Updated {{count}}h ago\",\n finishedHours: \"Finished {{count}}h ago\",\n updatedDate: \"Updated {{date}}\",\n finishedDate: \"Finished {{date}}\",\n },\n codeRequired: {\n fallbackDetail:\n \"Edit locally or use Builder.io to edit this code in the cloud and continue customizing the app any way you like.\",\n defaultFeature: \"Make the requested code changes to this app\",\n branchError: \"Failed to create branch\",\n title: \"Code changes required\",\n subtitleWithFeature:\n '\"{{feature}}\" creates or modifies source code, which needs Desktop or Builder from this surface.',\n subtitle:\n \"This action creates or modifies source code, which needs Desktop or Builder from this surface.\",\n desktopTitle: \"Use Agent Native Desktop\",\n desktopDescription:\n \"Open the project in the desktop app to enable source edits and CLI access.\",\n builderAgentTitle: \"Use Builder.io Agent\",\n builderAgentDescription:\n \"Let our cloud agent make the changes for you. You'll get a link to preview and deploy.\",\n codeChangeTitle: \"This requires a code change\",\n codeChangeBadge: \"Code change\",\n connectBuilderTitle: \"Connect Builder.io\",\n connectBuilderDescription:\n \"Connect Builder to enable cloud-based code changes from this app.\",\n setupRequired: \"Setup required\",\n branchCreated: \"Branch created\",\n close: \"Close\",\n },\n extensions: {\n createPrompt: \"Create an extension: {{prompt}}\",\n createWidgetPrompt:\n 'Create a new widget that fits in slot \"{{slotId}}\". I\\'ll describe what it should do next.',\n whatShouldItDo: \"What should it do?\",\n createPlaceholder: \"A todo list, API dashboard, calculator...\",\n backToApp: \"Back to app\",\n title: \"Extensions\",\n hiddenShown: \"Hiding shown\",\n showHidden: \"Show hidden\",\n newExtension: \"New Extension\",\n newExtensionTitle: \"New extension\",\n buildPlaceholder: \"Describe what you'd like to build...\",\n namePlaceholder: \"My Extension\",\n descriptionPlaceholder: \"What does this extension do?\",\n contentPlaceholder: \"<html>...</html>\",\n emptyTitle: \"Create your first extension\",\n emptyDescription: \"Describe a small app and the agent will build it.\",\n hiddenFromEveryone: \"Hidden from everyone\",\n localFile: \"Local file\",\n optionsFor: \"Options for {{name}}\",\n unhideEveryone: \"Unhide for everyone\",\n hideEveryone: \"Hide from everyone\",\n localFileDescription:\n \"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.\",\n deleteQuestion: \"Delete {{name}}?\",\n removeQuestion: \"Remove {{name}}?\",\n hideForYouDescription:\n \"This hides it from your Extensions list without deleting it for anyone else.\",\n removeEverywhereDescription: \"This removes it everywhere it is shared.\",\n cancel: \"Cancel\",\n remove: \"Remove\",\n removing: \"Removing...\",\n delete: \"Delete\",\n deleting: \"Deleting...\",\n openFullView: \"Open full view\",\n removeFromWidgetArea: \"Remove from this widget area\",\n deleteExtensionEllipsis: \"Delete extension...\",\n removeFromMyListEllipsis: \"Remove from my list...\",\n removeFromWidgetAreaForMe: \"Remove from this widget area (for me)\",\n deleteEverywhereConfirmation:\n \"This removes the extension everywhere, for everyone it's shared with.\",\n addWidget: \"Add widget\",\n loading: \"Loading...\",\n noWidgetsAvailable: \"No widgets available for this slot yet.\",\n buildNewWidget: \"Build a new widget\",\n contactSidebarWidget: \"Contact sidebar widget\",\n contactSidebarDescription:\n \"Appears beside the current conversation with contact and thread context.\",\n addWidgetHere: \"Add widget here\",\n back: \"Back\",\n editExtension: \"Edit Extension\",\n saving: \"Saving...\",\n save: \"Save\",\n create: \"Create\",\n moreOptions: \"More options\",\n appearsIn: \"Appears in\",\n noWidgetAreas:\n \"Not installed in any widget areas. Ask the agent to add it somewhere.\",\n widgetAreaCount_one: \"This extension can render in {{count}} widget area.\",\n widgetAreaCount_other:\n \"This extension can render in {{count}} widget areas.\",\n nameLabel: \"Name\",\n descriptionLabel: \"Description\",\n contentLabel: \"Content\",\n previewTitle: \"Extension preview\",\n previewEmpty: \"Preview will appear here\",\n },\n org: {\n createTitle: \"Create your organization\",\n createDescription:\n \"This app organizes your content by team. Create an organization to continue - you can invite teammates afterward.\",\n loadErrorTitle: \"Couldn't load organization\",\n loadErrorFallback: \"Couldn't load organization.\",\n tryAgain: \"Try again\",\n yourOrganization: \"Your organization\",\n joinYourTeam: \"Join your team\",\n openToDomainEmails: \"Open to @{{domain}} emails\",\n joinOrg: \"Join {{name}}\",\n pendingInvitations: \"Pending invitations\",\n invitedBy: \"from {{name}}\",\n accept: \"Accept\",\n createSeparate: \"or create a separate organization\",\n organizationName: \"Organization name\",\n organizationPlaceholder: \"Acme Inc.\",\n createOrganization: \"Create organization\",\n create: \"Create\",\n creating: \"Creating...\",\n team: \"Team\",\n createOrgCardTitle: \"Create an Organization\",\n createOrgCardDescription:\n \"Set up a team to collaborate with your colleagues.\",\n joinDomainOne:\n \"An organization matching your email domain already exists. Join it to collaborate with your teammates.\",\n joinDomainMany:\n \"Organizations matching your email domain already exist. Join one to collaborate with your teammates.\",\n join: \"Join\",\n invitedByLabel: \"Invited by {{name}}\",\n you: \"You\",\n admin: \"Admin\",\n member: \"Member\",\n members: \"Members\",\n memberCount_one: \"{{count}} member\",\n memberCount_other: \"{{count}} members\",\n youAreRole: \"You are {{role}}\",\n changeRole: \"Change role\",\n removeMember: \"Remove member\",\n cancel: \"Cancel\",\n remove: \"Remove\",\n save: \"Save\",\n loading: \"Loading...\",\n },\n integrations: {\n webhookUrl: \"Webhook URL\",\n copyWebhookUrl: \"Copy webhook URL\",\n notConfigured:\n \"Not configured. Set the required secrets to enable this integration.\",\n enable: \"Enable\",\n disable: \"Disable\",\n toggling: \"...\",\n networkError: \"Network error reaching the server\",\n back: \"Back\",\n agentEngineRequired: \"Agent engine required\",\n agentEngineDescription:\n \"Connect Builder.io or an LLM key before {{platform}} can answer.\",\n openLlm: \"Open LLM\",\n setup: \"Setup\",\n shareDocumentsWith: \"Share documents with\",\n copyServiceAccountEmail: \"Copy service account email\",\n requiredSecrets: \"Required secrets\",\n envHelp: \"Set these in your .env file or environment to connect.\",\n copy: \"Copy\",\n documentation: \"Documentation\",\n clientAvailable:\n \"This agent's A2A endpoint is automatically available. No configuration needed.\",\n addChatIntegration: \"Add a chat integration\",\n chatIntegrations: \"Chat Integrations\",\n chatIntegrationsDescription: \"Talk to this agent from other platforms\",\n addIntegration: \"Add integration\",\n dispatchEntrypoint:\n \"For a central Slack or Telegram entrypoint that can route work across multiple apps, use the\",\n sharedMessaging:\n \"Need one shared messaging surface for your workspace? Connect Slack or Telegram to a dispatch app and let it delegate to other agents over A2A.\",\n },\n observability: {\n noData: \"No data available\",\n noConversations: \"No conversations recorded yet\",\n noEvals: \"No eval results recorded yet\",\n noExperiments: \"No experiments created yet\",\n totalRuns: \"Total runs\",\n totalCost: \"Total cost\",\n avgLatency: \"Avg latency\",\n toolSuccess: \"Tool success\",\n thumbsUp: \"Thumbs up\",\n avgEvalScore: \"Avg eval score\",\n run: \"Run\",\n model: \"Model\",\n duration: \"Duration\",\n cost: \"Cost\",\n tools: \"Tools\",\n time: \"Time\",\n failedCount: \"({{count}} failed)\",\n backToList: \"Back to list\",\n spans: \"Spans\",\n type: \"Type\",\n name: \"Name\",\n tokens: \"Tokens\",\n status: \"Status\",\n totalEvals: \"Total evals\",\n avgScore: \"Avg score\",\n scoresByCriteria: \"Scores by criteria\",\n overview: \"Overview\",\n conversations: \"Conversations\",\n evals: \"Evals\",\n experiments: \"Experiments\",\n feedback: \"Feedback\",\n variants: \"Variants\",\n created: \"Created\",\n backToExperiments: \"Back to experiments\",\n metrics: \"Metrics\",\n level: \"Level\",\n results: \"Results\",\n variant: \"Variant\",\n metric: \"Metric\",\n value: \"Value\",\n totalFeedback: \"Total feedback\",\n thumbsDown: \"Thumbs down\",\n frustration: \"Frustration\",\n thumbsUpRate: \"Thumbs up rate\",\n categories: \"Categories\",\n },\n error: {\n genericTitle: \"Something went wrong\",\n genericDetails: \"An unexpected error occurred.\",\n notFoundTitle: \"Page not found\",\n notFoundDetails:\n \"This page doesn't exist. It may have been moved or deleted.\",\n statusTitle: \"{{status}} Error\",\n goHome: \"Go home\",\n },\n};\n\nexport default messages;\n"]}
@@ -1,4 +1,4 @@
1
- export declare const SUPPORTED_LOCALES: readonly ["en-US", "zh-CN", "es-ES", "fr-FR", "de-DE", "ja-JP", "ko-KR", "pt-BR", "hi-IN", "ar-SA"];
1
+ export declare const SUPPORTED_LOCALES: readonly ["en-US", "zh-CN", "zh-TW", "es-ES", "fr-FR", "de-DE", "ja-JP", "ko-KR", "pt-BR", "hi-IN", "ar-SA"];
2
2
  export type LocaleCode = (typeof SUPPORTED_LOCALES)[number];
3
3
  export type LocalePreference = "system" | LocaleCode;
4
4
  export interface LocaleMetadata {
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/localization/shared.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,YAC5B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,CACC,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,eAAO,MAAM,cAAc,EAAE,UAAoB,CAAC;AAClD,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,kBAAkB,mCAAmC,CAAC;AACnE,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,cAAc,CA6D9D,CAAC;AAIF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAerE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,gBAAgB,GAAG,IAAI,CAGzB;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,GACb,sBAAsB,CASxB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,CAEjE;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAC5B,UAAU,CAMZ;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,sBAAsB,GAAG,gBAAgB,GAAG,OAAO,EAC/D,gBAAgB,GAAE,QAAQ,CAAC,OAAO,CAAM,GACvC,UAAU,CAOZ"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/localization/shared.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,YAC5B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,CACC,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,KAAK,GAAG,KAAK,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,eAAO,MAAM,cAAc,EAAE,UAAoB,CAAC;AAClD,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,kBAAkB,mCAAmC,CAAC;AACnE,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,cAAc,CAmE9D,CAAC;AAwCF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEhE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAiBrE;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,gBAAgB,GAAG,IAAI,CAGzB;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,GACb,sBAAsB,CASxB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,CAEjE;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAC5B,UAAU,CAMZ;AAED,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,sBAAsB,GAAG,gBAAgB,GAAG,OAAO,EAC/D,gBAAgB,GAAE,QAAQ,CAAC,OAAO,CAAM,GACvC,UAAU,CAOZ"}
@@ -1,6 +1,7 @@
1
1
  export const SUPPORTED_LOCALES = [
2
2
  "en-US",
3
3
  "zh-CN",
4
+ "zh-TW",
4
5
  "es-ES",
5
6
  "fr-FR",
6
7
  "de-DE",
@@ -27,6 +28,12 @@ export const LOCALE_METADATA = {
27
28
  nativeName: "简体中文",
28
29
  dir: "ltr",
29
30
  },
31
+ "zh-TW": {
32
+ code: "zh-TW",
33
+ englishName: "Chinese (Traditional, Taiwan)",
34
+ nativeName: "繁體中文",
35
+ dir: "ltr",
36
+ },
30
37
  "es-ES": {
31
38
  code: "es-ES",
32
39
  englishName: "Spanish",
@@ -77,6 +84,39 @@ export const LOCALE_METADATA = {
77
84
  },
78
85
  };
79
86
  const SUPPORTED_LOCALE_SET = new Set(SUPPORTED_LOCALES);
87
+ const CHINESE_LOCALE_ALIASES = {
88
+ "zh-cn": "zh-CN",
89
+ "zh-hans": "zh-CN",
90
+ "zh-hans-cn": "zh-CN",
91
+ "zh-hans-sg": "zh-CN",
92
+ "zh-hant": "zh-TW",
93
+ "zh-hant-hk": "zh-TW",
94
+ "zh-hant-mo": "zh-TW",
95
+ "zh-hant-tw": "zh-TW",
96
+ "zh-hk": "zh-TW",
97
+ "zh-mo": "zh-TW",
98
+ "zh-sg": "zh-CN",
99
+ "zh-tw": "zh-TW",
100
+ };
101
+ function normalizeChineseLocaleAlias(canonical) {
102
+ const normalized = canonical.toLowerCase();
103
+ const alias = CHINESE_LOCALE_ALIASES[normalized];
104
+ if (alias)
105
+ return alias;
106
+ const parts = normalized.split("-");
107
+ if (parts[0] !== "zh")
108
+ return null;
109
+ if (parts.includes("hant") ||
110
+ parts.includes("tw") ||
111
+ parts.includes("hk") ||
112
+ parts.includes("mo")) {
113
+ return "zh-TW";
114
+ }
115
+ if (parts.includes("hans") || parts.includes("cn") || parts.includes("sg")) {
116
+ return "zh-CN";
117
+ }
118
+ return null;
119
+ }
80
120
  export function isLocaleCode(value) {
81
121
  return typeof value === "string" && SUPPORTED_LOCALE_SET.has(value);
82
122
  }
@@ -87,6 +127,9 @@ export function normalizeLocaleCode(value) {
87
127
  for (const canonical of Intl.getCanonicalLocales(value.trim())) {
88
128
  if (isLocaleCode(canonical))
89
129
  return canonical;
130
+ const alias = normalizeChineseLocaleAlias(canonical);
131
+ if (alias)
132
+ return alias;
90
133
  const language = canonical.split("-")[0]?.toLowerCase();
91
134
  const match = SUPPORTED_LOCALES.find((locale) => locale.split("-")[0]?.toLowerCase() === language);
92
135
  if (match)