@songsid/agend 2.3.3 → 2.3.4-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/README.zh-TW.md +3 -3
- package/THIRD_PARTY_NOTICES.md +37 -0
- package/dist/agend-home.d.ts +13 -0
- package/dist/agend-home.js +42 -0
- package/dist/agend-home.js.map +1 -1
- package/dist/agent-cli-instructions.md +2 -2
- package/dist/agent-credentials.d.ts +24 -0
- package/dist/agent-credentials.js +66 -0
- package/dist/agent-credentials.js.map +1 -0
- package/dist/agent-endpoint.d.ts +3 -1
- package/dist/agent-endpoint.js +13 -0
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/auth-api.d.ts +16 -3
- package/dist/auth-api.js +32 -8
- package/dist/auth-api.js.map +1 -1
- package/dist/authority/session-authorizations.d.ts +28 -4
- package/dist/authority/session-authorizations.js +63 -17
- package/dist/authority/session-authorizations.js.map +1 -1
- package/dist/authority/web-authority.d.ts +15 -1
- package/dist/authority/web-authority.js +27 -10
- package/dist/authority/web-authority.js.map +1 -1
- package/dist/backend/antigravity.js +3 -1
- package/dist/backend/antigravity.js.map +1 -1
- package/dist/backend/claude-code.d.ts +3 -0
- package/dist/backend/claude-code.js +100 -5
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/codex-footer-hints.d.ts +4 -0
- package/dist/backend/codex-footer-hints.js +27 -0
- package/dist/backend/codex-footer-hints.js.map +1 -0
- package/dist/backend/codex-session-lookup.d.ts +35 -0
- package/dist/backend/codex-session-lookup.js +93 -0
- package/dist/backend/codex-session-lookup.js.map +1 -1
- package/dist/backend/codex.d.ts +27 -0
- package/dist/backend/codex.js +136 -23
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/kiro-identity.d.ts +2 -0
- package/dist/backend/kiro-identity.js +13 -6
- package/dist/backend/kiro-identity.js.map +1 -1
- package/dist/backend/kiro.d.ts +3 -0
- package/dist/backend/kiro.js +68 -5
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/muse.js +5 -3
- package/dist/backend/muse.js.map +1 -1
- package/dist/backend/types.d.ts +13 -1
- package/dist/backend/types.js +3 -0
- package/dist/backend/types.js.map +1 -1
- package/dist/backend-availability.d.ts +6 -0
- package/dist/backend-availability.js +13 -5
- package/dist/backend-availability.js.map +1 -1
- package/dist/cache-ledger.d.ts +85 -0
- package/dist/cache-ledger.js +236 -1
- package/dist/cache-ledger.js.map +1 -1
- package/dist/cache-service.d.ts +5 -0
- package/dist/cache-service.js +16 -4
- package/dist/cache-service.js.map +1 -1
- package/dist/channel/adapters/discord.js +27 -4
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/adapters/telegram.d.ts +51 -0
- package/dist/channel/adapters/telegram.js +238 -18
- package/dist/channel/adapters/telegram.js.map +1 -1
- package/dist/channel/inbox-temp-name.d.ts +9 -0
- package/dist/channel/inbox-temp-name.js +13 -0
- package/dist/channel/inbox-temp-name.js.map +1 -0
- package/dist/channel/mcp-tools.js +3 -3
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/channel/types.d.ts +2 -0
- package/dist/chat-log-ids.d.ts +48 -0
- package/dist/chat-log-ids.js +182 -0
- package/dist/chat-log-ids.js.map +1 -0
- package/dist/classic-channel-manager.d.ts +8 -1
- package/dist/classic-channel-manager.js +24 -2
- package/dist/classic-channel-manager.js.map +1 -1
- package/dist/cli.js +4 -6
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +18 -1
- package/dist/config-validator.js.map +1 -1
- package/dist/cross-instance-notice.d.ts +10 -0
- package/dist/cross-instance-notice.js +67 -5
- package/dist/cross-instance-notice.js.map +1 -1
- package/dist/daemon.d.ts +52 -0
- package/dist/daemon.js +538 -35
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-consumed-watch.d.ts +23 -1
- package/dist/delivery-consumed-watch.js +30 -3
- package/dist/delivery-consumed-watch.js.map +1 -1
- package/dist/delivery-reconciliation.d.ts +7 -0
- package/dist/delivery-reconciliation.js +9 -1
- package/dist/delivery-reconciliation.js.map +1 -1
- package/dist/dialog-screen-text.d.ts +16 -0
- package/dist/dialog-screen-text.js +51 -0
- package/dist/dialog-screen-text.js.map +1 -0
- package/dist/env-file.d.ts +2 -0
- package/dist/env-file.js +13 -8
- package/dist/env-file.js.map +1 -1
- package/dist/export-import.d.ts +7 -0
- package/dist/export-import.js +44 -10
- package/dist/export-import.js.map +1 -1
- package/dist/fleet-context.d.ts +2 -0
- package/dist/fleet-manager.d.ts +172 -12
- package/dist/fleet-manager.js +897 -139
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-yaml-patch.d.ts +3 -0
- package/dist/fleet-yaml-patch.js +103 -0
- package/dist/fleet-yaml-patch.js.map +1 -0
- package/dist/general-knowledge/skills/concepts/SKILL.md +393 -0
- package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +2 -1
- package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +3 -1
- package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +41 -4
- package/dist/general-knowledge/skills/model-discovery/SKILL.md +2 -0
- package/dist/general-knowledge/skills/web-appearance/SKILL.md +1 -1
- package/dist/general-knowledge/skills/web-dashboard/SKILL.md +14 -4
- package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
- package/dist/install-stream.d.ts +53 -0
- package/dist/install-stream.js +134 -0
- package/dist/install-stream.js.map +1 -0
- package/dist/instance-config-impact.js +1 -0
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +22 -2
- package/dist/instance-lifecycle.js +103 -19
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/instance-topic-delete.d.ts +77 -0
- package/dist/instance-topic-delete.js +123 -0
- package/dist/instance-topic-delete.js.map +1 -0
- package/dist/instructions.d.ts +2 -2
- package/dist/instructions.js +2 -2
- package/dist/instructions.js.map +1 -1
- package/dist/interaction-observation.d.ts +1 -0
- package/dist/interaction-observation.js +1 -1
- package/dist/interaction-observation.js.map +1 -1
- package/dist/kiro-engine-status.d.ts +11 -0
- package/dist/kiro-engine-status.js +6 -0
- package/dist/kiro-engine-status.js.map +1 -1
- package/dist/kiro-resume-summary.d.ts +37 -0
- package/dist/kiro-resume-summary.js +85 -0
- package/dist/kiro-resume-summary.js.map +1 -0
- package/dist/locale.js +130 -6
- package/dist/locale.js.map +1 -1
- package/dist/log-service.d.ts +30 -0
- package/dist/log-service.js +36 -3
- package/dist/log-service.js.map +1 -1
- package/dist/log-steps.d.ts +4 -3
- package/dist/log-steps.js +32 -7
- package/dist/log-steps.js.map +1 -1
- package/dist/logger.d.ts +12 -0
- package/dist/logger.js +43 -1
- package/dist/logger.js.map +1 -1
- package/dist/login-controller.js +9 -1
- package/dist/login-controller.js.map +1 -1
- package/dist/login-flows.d.ts +2 -0
- package/dist/login-flows.js +5 -2
- package/dist/login-flows.js.map +1 -1
- package/dist/login-manager.d.ts +6 -0
- package/dist/login-manager.js +10 -1
- package/dist/login-manager.js.map +1 -1
- package/dist/missed-offline.d.ts +25 -0
- package/dist/missed-offline.js +79 -0
- package/dist/missed-offline.js.map +1 -0
- package/dist/needs-you-hub.d.ts +6 -1
- package/dist/needs-you-hub.js +31 -8
- package/dist/needs-you-hub.js.map +1 -1
- package/dist/needs-you.d.ts +22 -2
- package/dist/needs-you.js +17 -3
- package/dist/needs-you.js.map +1 -1
- package/dist/next-steps.d.ts +12 -2
- package/dist/next-steps.js +19 -3
- package/dist/next-steps.js.map +1 -1
- package/dist/office-share-page.d.ts +1 -1
- package/dist/office-share-page.js +6 -2
- package/dist/office-share-page.js.map +1 -1
- package/dist/office-share-service.d.ts +57 -0
- package/dist/office-share-service.js +76 -11
- package/dist/office-share-service.js.map +1 -1
- package/dist/office-share.d.ts +8 -0
- package/dist/office-share.js +34 -0
- package/dist/office-share.js.map +1 -1
- package/dist/outbound-handlers.js +59 -3
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +1 -0
- package/dist/outbound-schemas.js +10 -4
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/package-preimage.js +27 -2
- package/dist/package-preimage.js.map +1 -1
- package/dist/page-share.d.ts +122 -0
- package/dist/page-share.js +199 -0
- package/dist/page-share.js.map +1 -0
- package/dist/public-preview.d.ts +4 -0
- package/dist/public-preview.js +5 -4
- package/dist/public-preview.js.map +1 -1
- package/dist/public-web-gateway.js +5 -0
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/queued-handoffs.d.ts +33 -0
- package/dist/queued-handoffs.js +75 -0
- package/dist/queued-handoffs.js.map +1 -0
- package/dist/quickstart-api.d.ts +5 -0
- package/dist/quickstart-api.js +1 -1
- package/dist/quickstart-api.js.map +1 -1
- package/dist/quickstart.d.ts +40 -0
- package/dist/quickstart.js +174 -28
- package/dist/quickstart.js.map +1 -1
- package/dist/remote-card-answer.js +2 -0
- package/dist/remote-card-answer.js.map +1 -1
- package/dist/remote-card-prompt.js +4 -2
- package/dist/remote-card-prompt.js.map +1 -1
- package/dist/reply-buttons-controller.js +10 -0
- package/dist/reply-buttons-controller.js.map +1 -1
- package/dist/scheduler/db.d.ts +2 -1
- package/dist/scheduler/db.js +23 -9
- package/dist/scheduler/db.js.map +1 -1
- package/dist/selection-card.d.ts +20 -0
- package/dist/selection-card.js +202 -0
- package/dist/selection-card.js.map +1 -0
- package/dist/settings-api.d.ts +13 -0
- package/dist/settings-api.js +16 -1
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-change.js +5 -0
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-effect.js +2 -0
- package/dist/settings-effect.js.map +1 -1
- package/dist/setup-host.js +2 -2
- package/dist/setup-host.js.map +1 -1
- package/dist/setup-wizard.js +2 -2
- package/dist/setup-wizard.js.map +1 -1
- package/dist/stall-reporter.d.ts +21 -0
- package/dist/stall-reporter.js +82 -0
- package/dist/stall-reporter.js.map +1 -0
- package/dist/tmux-control.d.ts +2 -2
- package/dist/tmux-control.js +4 -2
- package/dist/tmux-control.js.map +1 -1
- package/dist/tmux-exec-helper.d.ts +6 -3
- package/dist/tmux-exec-helper.js +115 -53
- package/dist/tmux-exec-helper.js.map +1 -1
- package/dist/tmux-manager.d.ts +6 -0
- package/dist/tmux-manager.js +17 -0
- package/dist/tmux-manager.js.map +1 -1
- package/dist/tool-permissions.d.ts +5 -2
- package/dist/tool-permissions.js +6 -5
- package/dist/tool-permissions.js.map +1 -1
- package/dist/tool-progress.d.ts +2 -0
- package/dist/tool-progress.js +19 -3
- package/dist/tool-progress.js.map +1 -1
- package/dist/topic-commands.js +4 -0
- package/dist/topic-commands.js.map +1 -1
- package/dist/tunnel/cloudflared-install.d.ts +4 -0
- package/dist/tunnel/cloudflared-install.js +20 -1
- package/dist/tunnel/cloudflared-install.js.map +1 -1
- package/dist/tunnel/cloudflared.d.ts +8 -1
- package/dist/tunnel/cloudflared.js +34 -6
- package/dist/tunnel/cloudflared.js.map +1 -1
- package/dist/tunnel/lease.d.ts +3 -3
- package/dist/tunnel/lease.js +23 -19
- package/dist/tunnel/lease.js.map +1 -1
- package/dist/tunnel/manager.js +6 -7
- package/dist/tunnel/manager.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/ui/chat-store.js +28 -4
- package/dist/ui/chat-strings.js +40 -4
- package/dist/ui/chat-thread.js +52 -10
- package/dist/ui/fleet-canvas.js +4 -3
- package/dist/ui/fleet-office-model.js +55 -22
- package/dist/ui/fleet-office-overview.js +6 -38
- package/dist/ui/fleet-office-pack.js +4 -3
- package/dist/ui/fleet-office-skin.js +114 -21
- package/dist/ui/fleet-office-store.js +5 -0
- package/dist/ui/fleet-office-zones.js +2 -2
- package/dist/ui/fleet-office.js +41 -9
- package/dist/ui/fleet-usage.js +90 -27
- package/dist/ui/page-share-dialog.js +191 -0
- package/dist/ui/panel-chat.js +16 -0
- package/dist/ui/panel-log.js +7 -1
- package/dist/ui/panel-needs.js +17 -8
- package/dist/ui/panel-notices.js +98 -0
- package/dist/ui/panel-settings.js +9 -2
- package/dist/ui/preview-pages.js +41 -0
- package/dist/ui/preview-panel-actions.js +161 -0
- package/dist/ui/preview-panel.js +209 -28
- package/dist/ui/preview-versions.js +155 -0
- package/dist/ui/preview.js +88 -3
- package/dist/ui/settings-registry.js +1 -0
- package/dist/ui/settings-strings.js +6 -2
- package/dist/ui/shared/app-i18n.js +6 -6
- package/dist/ui/shared/app-needs.js +1 -1
- package/dist/ui/shared/app-route.js +4 -0
- package/dist/ui/shared/app-shell.js +9 -5
- package/dist/ui/shared/app-store.js +71 -1
- package/dist/ui/shared/app-stream.js +27 -1
- package/dist/ui/shared/app.css +94 -4
- package/dist/ui/shared/app.js +22 -1
- package/dist/ui/shared/office/guild.png +0 -0
- package/dist/ui/shared/office/school.png +0 -0
- package/dist/ui/shared/panel-view.js +339 -17
- package/dist/ui/shared/signin.js +12 -1
- package/dist/ui/shared/ui-icons.js +3 -0
- package/dist/ui/shared/usage-dialog.js +18 -1
- package/dist/ui/shared/view-history.css +17 -0
- package/dist/ui/shared/view-history.js +438 -0
- package/dist/ui/shared/view-strings.js +42 -0
- package/dist/ui/shared/web-authorize.js +3 -1
- package/dist/unattended-install.d.ts +6 -0
- package/dist/unattended-install.js +79 -0
- package/dist/unattended-install.js.map +1 -0
- package/dist/usage/capacity.d.ts +69 -0
- package/dist/usage/capacity.js +119 -0
- package/dist/usage/capacity.js.map +1 -0
- package/dist/usage/i18n-keys.d.ts +1 -1
- package/dist/usage/i18n-keys.js +3 -0
- package/dist/usage/i18n-keys.js.map +1 -1
- package/dist/usage/profile-timeline.d.ts +16 -0
- package/dist/usage/profile-timeline.js +58 -0
- package/dist/usage/profile-timeline.js.map +1 -0
- package/dist/usage/quota-history.d.ts +43 -0
- package/dist/usage/quota-history.js +168 -0
- package/dist/usage/quota-history.js.map +1 -0
- package/dist/usage/usage-api.d.ts +31 -0
- package/dist/usage/usage-api.js +80 -1
- package/dist/usage/usage-api.js.map +1 -1
- package/dist/usage-report.d.ts +25 -1
- package/dist/usage-report.js +55 -4
- package/dist/usage-report.js.map +1 -1
- package/dist/usage-rollup.d.ts +4 -1
- package/dist/usage-rollup.js +12 -3
- package/dist/usage-rollup.js.map +1 -1
- package/dist/view-api.d.ts +31 -0
- package/dist/view-api.js +186 -41
- package/dist/view-api.js.map +1 -1
- package/dist/view-history.d.ts +84 -0
- package/dist/view-history.js +116 -0
- package/dist/view-history.js.map +1 -0
- package/dist/web-api.d.ts +32 -0
- package/dist/web-api.js +195 -5
- package/dist/web-api.js.map +1 -1
- package/dist/web-auth.js +7 -1
- package/dist/web-auth.js.map +1 -1
- package/dist/web-chat-history.d.ts +20 -0
- package/dist/web-chat-history.js +21 -0
- package/dist/web-chat-history.js.map +1 -1
- package/dist/web-guest-access.js +5 -1
- package/dist/web-guest-access.js.map +1 -1
- package/dist/web-login.d.ts +6 -3
- package/dist/web-login.js +26 -15
- package/dist/web-login.js.map +1 -1
- package/dist/web-notices.d.ts +51 -0
- package/dist/web-notices.js +118 -0
- package/dist/web-notices.js.map +1 -0
- package/dist/web-office-pack-tools.d.ts +1 -1
- package/dist/web-office-pack-tools.js +1 -1
- package/dist/web-office-pack-tools.js.map +1 -1
- package/dist/web-only-fleet.d.ts +22 -0
- package/dist/web-only-fleet.js +13 -0
- package/dist/web-only-fleet.js.map +1 -0
- package/dist/web-preview.d.ts +32 -3
- package/dist/web-preview.js +52 -19
- package/dist/web-preview.js.map +1 -1
- package/dist/web-session-authorization.d.ts +13 -2
- package/dist/web-session-authorization.js +10 -3
- package/dist/web-session-authorization.js.map +1 -1
- package/dist/web-session.d.ts +12 -0
- package/dist/web-session.js +22 -8
- package/dist/web-session.js.map +1 -1
- package/dist/web-settings-patch.d.ts +3 -1
- package/dist/web-settings-patch.js +4 -1
- package/dist/web-settings-patch.js.map +1 -1
- package/dist/web-shell-routes.d.ts +2 -0
- package/dist/web-shell-routes.js +3 -0
- package/dist/web-shell-routes.js.map +1 -1
- package/launcher/agend-install.cjs +16 -2
- package/launcher/private-home.cjs +1 -1
- package/package.json +1 -1
package/dist/locale.js
CHANGED
|
@@ -106,6 +106,7 @@ const enMessages = {
|
|
|
106
106
|
"web_auth.card_expired": "⌛ This request for {0} expired. Ask again from the dashboard if you still want it.",
|
|
107
107
|
"web_auth.card_refused": "⚠️ Not authorized: {0} — {1}",
|
|
108
108
|
"web_auth.card_revoked": "🚫 {0} was signed out; its authorization has ended.",
|
|
109
|
+
"web_auth.card_not_saved": "⚠️ {0} is signed out for now, but this couldn't be saved: a fleet restart may bring that browser's session back. Fix the permissions on ~/.agend/web-sessions.json, then run /web revoke.",
|
|
109
110
|
"web_auth.card_ended": "⌛ The authorization for {0} has ended. Authorize it again from the dashboard if you still want it.",
|
|
110
111
|
"web_auth.general_hint": "🔐 A web authorization couldn't be sent to you privately. Open your DMs with this bot, then press Authorize again on the dashboard.",
|
|
111
112
|
"web_auth.confirm": "Confirm",
|
|
@@ -125,6 +126,7 @@ const enMessages = {
|
|
|
125
126
|
"web_auth.refusal_quick_link_off": "it is on the temporary public link, and authorizing over it is off (Settings → Access & security → Web authority, on this computer).",
|
|
126
127
|
"web_auth.refusal_not_admin_session": "it is not an admin's session.",
|
|
127
128
|
"web_auth.refusal_no_account": "it was not signed in as an account.",
|
|
129
|
+
"web_auth.refusal_host_sign_in": "it holds no authority of this computer's admin now (sign in again on this computer with agend web --code).",
|
|
128
130
|
"web_auth.refusal_not_session": "it is not a signed-in browser.",
|
|
129
131
|
"web_auth.refusal_other_namespace": "it belongs to another connection.",
|
|
130
132
|
"web_auth.refusal_not_authorized": "it is not authorized.",
|
|
@@ -185,6 +187,9 @@ const enMessages = {
|
|
|
185
187
|
"office_share.created_notice": "🏢 {0} shared the Office ({1}) for {2}: anyone with the link can watch it, read-only. Revoke it in Settings → Access & security.",
|
|
186
188
|
"office_share.revoked_notice": "🏢 {0} revoked the Office share link ({1}).",
|
|
187
189
|
"office_share.revoked_all_notice": "🏢 {0} revoked {1} Office share links.",
|
|
190
|
+
"page_share.created_notice": "🔗 {0} shared a page from this chat (“{1}”) for {2}: anyone with the link can open it — it runs the page's own scripts in their browser. Stop it from the preview panel or Settings → Access & security.",
|
|
191
|
+
"page_share.ended_notice": "🔗 The page “{0}” from this chat is no longer shared.",
|
|
192
|
+
"page_share.untitled": "untitled page",
|
|
188
193
|
"dashboard.title": "📊 AgEnD Dashboard",
|
|
189
194
|
"dashboard.starting": "⏳ Dashboard starting, retry shortly.",
|
|
190
195
|
"dashboard.signin": "• Sign in: {0}/signin",
|
|
@@ -195,6 +200,7 @@ const enMessages = {
|
|
|
195
200
|
"dashboard.revoked": "🔒 Signed out {0} web session(s) and withdrew any unused code.",
|
|
196
201
|
"dashboard.revoked_not_durable": "⚠️ Signed out {0} web session(s) for now, but the change could NOT be saved: ~/.agend/web-sessions.json could not be updated or removed, so a fleet restart may bring those sessions back. Fix that file's permissions and run /web revoke again, or rotate the token with agend web-token rotate.",
|
|
197
202
|
"web.login_notice": "🔐 New web sign-in: {0} ({1}, session {2}). If this was not you, send /web revoke.",
|
|
203
|
+
"web.login_notice_web_only": "🔐 New web sign-in: {0} ({1}, session {2}). If this was not you, run agend web-token rotate on this computer: it signs every browser out.",
|
|
198
204
|
"web.guest_login_notice": "👤 A guest, {0}, signed in to the web ({1}; {2} agents they already use in chat; session {3}). /web revoke ends every web session.",
|
|
199
205
|
"web.guest_intro": "Guest sign-in: the web shows only the {0} agents you can already use in chat.",
|
|
200
206
|
"web.guest_public": "From anywhere (the public link, open for now): {0}",
|
|
@@ -215,6 +221,7 @@ const enMessages = {
|
|
|
215
221
|
"web.resend_local": "local network",
|
|
216
222
|
"update.available": "🆕 AgEnD {0} available! Run: /update (or agend update)",
|
|
217
223
|
"update.available_current": "🆕 AgEnD {0} available (current: {1})! Run: /update (or agend update)",
|
|
224
|
+
"update.available_web_only": "🆕 AgEnD {0} available (current: {1}). Install it on this computer: agend update",
|
|
218
225
|
"update.available_stable": "🆕 AgEnD {0} (stable) is available (current: {1}, a prerelease). /update stays on its prerelease channel; to switch to the stable release run: agend update --stable",
|
|
219
226
|
"update.highlights": "Highlights: {0}",
|
|
220
227
|
"needs.live_header": "📥 Needs you — {0}",
|
|
@@ -240,6 +247,15 @@ const enMessages = {
|
|
|
240
247
|
"needs.reason.dangerous_command": "Dangerous command waiting",
|
|
241
248
|
"needs.reason.login": "Sign-in needed",
|
|
242
249
|
"needs.reason.dialog": "Waiting at a dialog",
|
|
250
|
+
"needs.reason.kiro_choice": "Kiro needs your decision",
|
|
251
|
+
"kiro3.readiness_classic": "Not ready for Kiro 3.x — migrate on Kiro 2.x first with migrate_kiro_instance.",
|
|
252
|
+
"kiro3.readiness_room": "Not ready for Kiro 3.x — this Classic room can't be migrated by AgEnD; switch the room to another backend in the Classic settings, or stay on Kiro 2.x.",
|
|
253
|
+
"kiro3.readiness_ready": "No Classic migration required.",
|
|
254
|
+
"kiro3.readiness_all": "All Kiro agents have completed Classic migration.",
|
|
255
|
+
"kiro3.readiness_remaining": "{0} Kiro agents still use Classic.",
|
|
256
|
+
"kiro3.readiness_none": "No Kiro agents.",
|
|
257
|
+
"kiro3.classic": "Kiro CLI {0} no longer supports Classic, so this agent was not started. Its saved conversation is unchanged. Use Kiro CLI 2.x to continue, or migrate this agent on 2.x before upgrading to 3.x.",
|
|
258
|
+
"kiro3.running": "Kiro is waiting for a V2/V3 choice. AgEnD has blocked message delivery and will not answer the menu. Open the agent to inspect it. To keep using Classic, use Kiro CLI 2.x.",
|
|
243
259
|
"needs.reason.terminal_input": "May be waiting for input",
|
|
244
260
|
"inst.session_oom_proof": "anonymous RSS {0}% of RAM; {1}× the largest other task's RSS",
|
|
245
261
|
"inst.oom_unclear_stopped": "crashed repeatedly (out of memory, cause unclear)",
|
|
@@ -270,6 +286,7 @@ const enMessages = {
|
|
|
270
286
|
"needs.reason.crashed": "Crashed",
|
|
271
287
|
"needs.reason.delivery_uncertain": "Could not confirm delivery",
|
|
272
288
|
"needs.reason.delivery_failed": "Delivery failed",
|
|
289
|
+
"needs.reason.missed_offline": "Missed while AgEnD was offline",
|
|
273
290
|
"needs.reason.task_review": "Waiting for your confirmation",
|
|
274
291
|
"needs.reason.task_blocked": "Blocked: asks you",
|
|
275
292
|
"needs.task_gap": "not wrapped up: {0}",
|
|
@@ -331,7 +348,11 @@ const enMessages = {
|
|
|
331
348
|
"codex.package_companion_missing": "Codex install incomplete — `{0}` is missing next to the codex binary ({1}/bin); reinstall Codex with the full official package",
|
|
332
349
|
"codex.package_companion_not_executable": "Codex install incomplete — `{0}` next to the codex binary ({1}/bin) is not executable; reinstall Codex with the full official package",
|
|
333
350
|
"codex.resume_db_unreadable_last": "Codex's session database could not be read ({0}). No other Codex instance shares this repository, so this launch fell back to `codex resume --last`.",
|
|
334
|
-
"codex.
|
|
351
|
+
"codex.resume_auto": "Resumed the earlier Codex conversation for {0} ({1}): Codex's own list no longer showed it, but its record was still there.",
|
|
352
|
+
"codex.resume_large": "It is long ({0} MB), so Codex may compact it before it answers.",
|
|
353
|
+
"codex.resume_oneshot": "Resumed the Codex conversation {1} for {0}, as asked.",
|
|
354
|
+
"codex.resume_oneshot_invalid": "The Codex conversation asked for ({1}) cannot be resumed for {0} ({2}), so this launch resumes as usual.",
|
|
355
|
+
"codex.resume_failed": "Codex could not resume the earlier conversation for {0} ({1}), so this launch started a NEW one. The earlier conversation is kept.",
|
|
335
356
|
"inst.dialog_parked_hold": "⚠️ {0} is parked on a CLI dialog ({1}) that AgEnD does NOT recognise well enough to answer. Open its pane and LOOK before pressing anything: the cursor may already be on a different option than usual. Deliveries to this instance are held until the dialog is gone.",
|
|
336
357
|
"inst.dialog_parked_hold_claude_resume": "For Claude's session-resume prompt, move the cursor onto \"Resume full session as-is\" and confirm that one — never confirm \"Resume from summary\" unless you want to drop the full context.",
|
|
337
358
|
"inst.dialog_parked_stuck": "⚠️ {0} is parked on a CLI dialog ({1}) and the automatic answer did not take. Open its pane and finish it by hand. Deliveries to this instance are held until the dialog is gone.",
|
|
@@ -452,6 +473,7 @@ const enMessages = {
|
|
|
452
473
|
"kiro.compaction_kept_ambiguous": "kiro: resuming {0}: conversation {1} was compacted into more than one conversation ({2}), so which one is this instance's cannot be told.",
|
|
453
474
|
"kiro.compaction_kept_not_ours": "kiro: resuming {0}: conversation {1} was compacted into {2}, but {2} is claimed by another instance or was given up.",
|
|
454
475
|
"kiro.claim_lost": "kiro: starting a new conversation, because the recorded conversation {0} is no longer this instance's ({1}). It stays in kiro's store.",
|
|
476
|
+
"kiro.identity_unreadable": "kiro: starting a new conversation that is not recorded, because AgEnD's conversation record {0} cannot be fully read. The file is kept as it is (never overwritten); until it is repaired or removed, each launch starts a new conversation.",
|
|
455
477
|
"kiro.claim_lost_missing": "its claim file is missing",
|
|
456
478
|
"kiro.claim_lost_incomplete": "its claim file is incomplete; a complete claim is the instance name followed by a newline",
|
|
457
479
|
"kiro.claim_lost_other_owner": "another instance claims it",
|
|
@@ -537,6 +559,7 @@ const enMessages = {
|
|
|
537
559
|
"interactive.kind.dangerous_command": "dangerous command confirmation",
|
|
538
560
|
"interactive.kind.login": "login",
|
|
539
561
|
"interactive.kind.dialog": "CLI choice",
|
|
562
|
+
"interactive.kind.kiro_choice": "Kiro needs your decision",
|
|
540
563
|
"interactive.kind.suspected_terminal_input": "possible terminal input",
|
|
541
564
|
"interaction.waiting": "Waiting for your input ({0}); seen {1}s ago.",
|
|
542
565
|
"interaction.candidate": "Checking whether input is needed ({0}); seen {1}s ago.",
|
|
@@ -552,6 +575,7 @@ const enMessages = {
|
|
|
552
575
|
"interactive.kind.confirmation": "Y/N confirmation",
|
|
553
576
|
"interactive.kind.press_enter": "Press Enter",
|
|
554
577
|
"interactive.general_notice": "⚠️ {0} is waiting for interactive input ({1}). Ask General to help, or handle it yourself in its terminal?",
|
|
578
|
+
"interactive.web_only_notice": "⚠️ {0} is waiting for input in its terminal ({1}). Open its View to answer it there.",
|
|
555
579
|
"interactive.instance_notice": "⚠️ {0} is waiting for interactive input. Go to the General channel to confirm how to proceed.",
|
|
556
580
|
"interactive.confirm": "Ask General to help",
|
|
557
581
|
"interactive.cancel": "I'll handle it myself",
|
|
@@ -562,6 +586,7 @@ const enMessages = {
|
|
|
562
586
|
"interactive.delivery_failed": "❌ Could not deliver the assistance request for {0} to General.",
|
|
563
587
|
"card.question_intro": "❓ {0} is asking you:",
|
|
564
588
|
"card.question_hint": "Tap an answer below.",
|
|
589
|
+
"card.selection_hint": "Choose one below — it is keyed into the agent's terminal as you chose. Or answer it yourself in its View.",
|
|
565
590
|
"card.question_hint_text": "Tap an answer below, or reply to this message to answer in your own words.",
|
|
566
591
|
"card.recommended": "(recommended)",
|
|
567
592
|
"card.skip": "⏭ Skip",
|
|
@@ -594,6 +619,9 @@ const enMessages = {
|
|
|
594
619
|
"exit.restarted": "✅ {0} restarted.",
|
|
595
620
|
"exit.ignored": "🚫 Restart for {0} ignored.",
|
|
596
621
|
"exit.expired": "⌛ Restart prompt for {0} expired.",
|
|
622
|
+
"restart.superseded": "⌛ Not restarted: {0} was stopped, restarted or replaced after this was asked.",
|
|
623
|
+
"instance.topic_deleted": "{0}'s topic was deleted too.",
|
|
624
|
+
"instance.topic_kept": "{0}'s topic was kept: {1}",
|
|
597
625
|
"exit.restart_failed": "❌ Failed to restart {0}: {1}",
|
|
598
626
|
"hang.detected": "⚠️ {0} may be stuck — pane unchanged for {1}min, ready prompt not recognized",
|
|
599
627
|
"hang.restart": "🔄 Force restart",
|
|
@@ -622,6 +650,7 @@ const enMessages = {
|
|
|
622
650
|
"poll.not_ready": "This poll is still being posted — try again in a moment.",
|
|
623
651
|
"poll.voters_title": "🗳 Who voted:",
|
|
624
652
|
"menu.click_stale": "⚠️ Nothing was changed: the instance moved to another bot, or you are no longer an admin there. Open the menu again.",
|
|
653
|
+
"menu.instance_replaced": "⚠️ Nothing was changed: {0} was stopped, restarted or replaced since this menu opened. Open the menu again.",
|
|
625
654
|
"buttons.wrong_place": "⚠️ This button does not match the prompt it belongs to. Run the command again.",
|
|
626
655
|
"buttons.post_failed": "⚠️ Could not post the buttons: {0}",
|
|
627
656
|
"tips.label": "Tip",
|
|
@@ -724,6 +753,7 @@ const enMessages = {
|
|
|
724
753
|
"login.status_install": "Install",
|
|
725
754
|
"login.status_install_then_auth": "Install + sign in",
|
|
726
755
|
"login.install_on_host": "not installed, and there is no remote installer for it — install it on the host.",
|
|
756
|
+
"login.host_only": "sign in on the host: run `{0}` there.",
|
|
727
757
|
"login.none_available": "⚠️ No backend can be installed or signed in to remotely here.",
|
|
728
758
|
"login.no_remote_flow": "⚠️ Backend \"{0}\" has no remote login flow. Run its CLI login command on the host.",
|
|
729
759
|
"login.unsupported": "⚠️ No remote login flow for backend \"{0}\". OpenCode credentials are API keys — manage them with `opencode auth` in a trusted terminal.",
|
|
@@ -826,9 +856,15 @@ const enMessages = {
|
|
|
826
856
|
"install.unsupported": "⚠️ No installer known for backend \"{0}\".",
|
|
827
857
|
"install.already": "✅ {0} is already installed (`{1}` found). Use /login {0} to sign in.",
|
|
828
858
|
"install.busy": "⚠️ Another install/login window is active. Use its cancel command first.",
|
|
829
|
-
"install.started": "📦 Installing {0}…
|
|
859
|
+
"install.started": "📦 Installing {0}… The installer's output will show here as it runs, and I will report when it finishes.",
|
|
830
860
|
"install.failed": "❌ {0} install did not complete: {1}. Retry with `/login {0}`, or install it over SSH.",
|
|
831
|
-
"install.verify_failed": "⚠️ The {0} installer finished but `{1}` is still not on PATH.
|
|
861
|
+
"install.verify_failed": "⚠️ The {0} installer finished but `{1}` is still not on PATH. Its last lines are in the output above; install it over SSH instead.",
|
|
862
|
+
"install.timeout": "⏱ {0} install stopped: no result after {1} minutes. Its last lines are in the output above. Retry with `/login {0}`, or install it over SSH.",
|
|
863
|
+
"install.stream_running": "📦 Installing {0}… (installer output, live)",
|
|
864
|
+
"install.stream_ok": "✅ {0} installer finished.",
|
|
865
|
+
"install.stream_failed": "❌ {0} installer failed.",
|
|
866
|
+
"install.stream_timeout": "⏱ {0} installer stopped after {1} minutes with no result.",
|
|
867
|
+
"install.stream_cancelled": "🛑 {0} install cancelled.",
|
|
832
868
|
"install.success_no_login": "✅ {0} installed.",
|
|
833
869
|
"install.success": "✅ {0} installed and verified (`{1}`). Signing in next…",
|
|
834
870
|
"install.cancelled": "🛑 Install session for {0} cancelled.",
|
|
@@ -1060,6 +1096,14 @@ const enMessages = {
|
|
|
1060
1096
|
"usage.stale.transient": "not updated · cached at {0}",
|
|
1061
1097
|
"usage.stale.error": "couldn't read · cached at {0}",
|
|
1062
1098
|
"usage.metric.reset_since": "reset since {0}",
|
|
1099
|
+
"usage.capacity.line": "100% ≈ {0} ({1}–{2}) · ≈ {3} tokens · from {4} weeks",
|
|
1100
|
+
"usage.capacity.line_tokens": "100% ≈ {0} tokens ({1}–{2}) · from {3} weeks",
|
|
1101
|
+
"usage.capacity.not_enough": "Not enough usage yet to measure 100% (Δ {0}% of 10%)",
|
|
1102
|
+
"usage.capacity.only_agend": "Counts only this fleet's agents; use of the same account elsewhere makes this low.",
|
|
1103
|
+
"usage.capacity.mixed": "Bases disagree — possibly used outside this fleet",
|
|
1104
|
+
"usage.capacity.best_fit_api": "API-equivalent fits best: ±{0}% across {1} weeks",
|
|
1105
|
+
"usage.capacity.best_fit_output": "Output tokens fit best: ±{0}% across {1} weeks",
|
|
1106
|
+
"usage.capacity.best_fit_all": "All tokens fit best: ±{0}% across {1} weeks",
|
|
1063
1107
|
"usage.error.http": "Usage request failed (HTTP {0}).",
|
|
1064
1108
|
"usage.error.billing_http": "Billing request failed (HTTP {0}).",
|
|
1065
1109
|
"usage.error.invalid_response": "Invalid response from usage endpoint.",
|
|
@@ -1275,6 +1319,8 @@ const enMessages = {
|
|
|
1275
1319
|
"delivery.fleet_failed_silent_schedule": "❌ A silent schedule's paste into {0} was not delivered ({3}). It is not listed in Needs you; the next run goes ahead as usual.\noperation_id={1}; target={0}; delivery_id={2}; state=failed",
|
|
1276
1320
|
"delivery.expired": "{0} cross-instance message(s) reached the 24-hour waiting limit. Delivery is still unconfirmed for {1} of them; they may already have arrived, so do not resend those. Notices to the sending instances have been queued.",
|
|
1277
1321
|
"delivery.cancelled_unsent": "⏹ Cancelled. {0} message(s) you sent to {1} before the cancel were not delivered (marked ❌). Send them again if you still need them.",
|
|
1322
|
+
"delivery.handoff_not_taken": "⚠️ {0} message(s) you sent to {1} while it was busy were queued in its CLI, but the CLI finished without taking them up (marked ❌). Send them again if you still need them.",
|
|
1323
|
+
"delivery.handoff_unverified_after_restart": "⚠️ {1} restarted while {0} message(s) you sent were still waiting in its CLI's queue, and AgEnD could not check whether they were taken, so they were not sent again (marked ❌). Send them again if you still need them.",
|
|
1278
1324
|
"delivery.lane_waiting": "⚠️ The message to {0} is still waiting after {1} minutes. We are waiting for its current process to report the result or be replaced before sending another message.\ndelivery_id={2}",
|
|
1279
1325
|
"delivery.restart_blocked": "{0} is still stopped because we could not confirm that its previous CLI window closed. Check that window before restarting so a message is not sent twice.",
|
|
1280
1326
|
"delivery.error_expired": "The message reached its waiting time limit.",
|
|
@@ -1388,6 +1434,21 @@ const enMessages = {
|
|
|
1388
1434
|
"qs.service_install_failed": "Could not install the service automatically ({0}).",
|
|
1389
1435
|
"qs.start_direct": "Start the fleet without the service: {0} (or retry the service later: {1})",
|
|
1390
1436
|
"qs.start_fleet": "Start the fleet: {0}",
|
|
1437
|
+
"qs.mode_title": "How will you use AgEnD?",
|
|
1438
|
+
"qs.mode_web": "Web only (no Discord or Telegram)",
|
|
1439
|
+
"qs.mode_chat": "With a Discord or Telegram bot",
|
|
1440
|
+
"qs.mode_web_chosen": "Web only: no bot token is needed. You will use AgEnD from the web dashboard.",
|
|
1441
|
+
"qs.agent_title": "Step {0}: Your first agent",
|
|
1442
|
+
"qs.agent_name": "Agent name [{0}]:",
|
|
1443
|
+
"qs.agent_name_invalid": "Use only letters, digits, \".\", \"_\" and \"-\" (not only dots).",
|
|
1444
|
+
"qs.agent_dir": "Project folder (press Enter for its own workspace, {0}):",
|
|
1445
|
+
"qs.agent_dir_invalid": "Use an absolute path, or press Enter.",
|
|
1446
|
+
"qs.web_signin_wait": "Getting your sign-in code…",
|
|
1447
|
+
"qs.web_signin_title": "Sign in on the web dashboard:",
|
|
1448
|
+
"qs.web_signin_next": "Once the fleet is running, get a sign-in code on this machine: {0}",
|
|
1449
|
+
"qs.web_dashboard": "Web dashboard: {0}",
|
|
1450
|
+
"qs.web_talk": "Then talk to {0} in the dashboard's chat.",
|
|
1451
|
+
"qs.env_tokens_retired": "Removed the old bot tokens ({0}) from .env, so agents no longer see them; the previous .env is kept at {1}.",
|
|
1391
1452
|
"import.missing_paths": "⚠️ The following paths in fleet.yaml do not exist on this device:",
|
|
1392
1453
|
"import.fix_paths": "Edit {0} to fix these before running 'agend start'.",
|
|
1393
1454
|
"import.paths_ok": "All paths in fleet.yaml verified.",
|
|
@@ -1449,6 +1510,7 @@ const enMessages = {
|
|
|
1449
1510
|
"settings_confirm.cli_question": "Apply this exact change? [y/N] ",
|
|
1450
1511
|
"settings_confirm.cli_interactive": "Interactive confirmation required; --yes explicitly confirms the printed diff.",
|
|
1451
1512
|
"settings_confirm.web_verified_label": "{0} (web-verified)",
|
|
1513
|
+
"settings_confirm.host_operator_label": "This computer's admin",
|
|
1452
1514
|
"settings_confirm.host_operator": "host operator",
|
|
1453
1515
|
};
|
|
1454
1516
|
const zhTWMessages = {
|
|
@@ -1544,6 +1606,7 @@ const zhTWMessages = {
|
|
|
1544
1606
|
"web_auth.card_expired": "⌛ {0} 的這個請求已過期。如果仍需要,請從儀表板再要求一次。",
|
|
1545
1607
|
"web_auth.card_refused": "⚠️ 未授權:{0} — {1}",
|
|
1546
1608
|
"web_auth.card_revoked": "🚫 {0} 已被登出,授權已結束。",
|
|
1609
|
+
"web_auth.card_not_saved": "⚠️ {0} 目前已登出,但這個變更無法儲存:Fleet 重新啟動後,那個瀏覽器的登入可能會回來。請修正 ~/.agend/web-sessions.json 的權限,再執行 /web revoke。",
|
|
1547
1610
|
"web_auth.card_ended": "⌛ {0} 的授權已到期。如果仍需要,請從儀表板再授權一次。",
|
|
1548
1611
|
"web_auth.general_hint": "🔐 網頁授權無法私訊給你。請先開放與這個 bot 的私訊,再到儀表板按一次「授權」。",
|
|
1549
1612
|
"web_auth.confirm": "確認",
|
|
@@ -1563,6 +1626,7 @@ const zhTWMessages = {
|
|
|
1563
1626
|
"web_auth.refusal_quick_link_off": "它在臨時公開連結上,而透過臨時公開連結授權目前關閉(請在這台電腦的 設定 → 存取與安全 → 網頁授權 開啟)。",
|
|
1564
1627
|
"web_auth.refusal_not_admin_session": "它不是管理者的 session。",
|
|
1565
1628
|
"web_auth.refusal_no_account": "它不是用帳號登入的。",
|
|
1629
|
+
"web_auth.refusal_host_sign_in": "它目前沒有這台電腦管理者的授權(請在這台電腦上執行 agend web --code 重新登入)。",
|
|
1566
1630
|
"web_auth.refusal_not_session": "它不是已登入的瀏覽器。",
|
|
1567
1631
|
"web_auth.refusal_other_namespace": "它屬於另一個連線。",
|
|
1568
1632
|
"web_auth.refusal_not_authorized": "它尚未授權。",
|
|
@@ -1623,6 +1687,9 @@ const zhTWMessages = {
|
|
|
1623
1687
|
"office_share.created_notice": "🏢 {0} 分享了辦公室({1}),時間 {2}:拿到連結的人都能唯讀觀看。可在 設定 → 存取與安全 撤銷。",
|
|
1624
1688
|
"office_share.revoked_notice": "🏢 {0} 撤銷了辦公室分享連結({1})。",
|
|
1625
1689
|
"office_share.revoked_all_notice": "🏢 {0} 撤銷了 {1} 個辦公室分享連結。",
|
|
1690
|
+
"page_share.created_notice": "🔗 {0} 分享了這個對話裡的頁面(「{1}」),時間 {2}:拿到連結的人都能開啟,頁面本身的腳本會在對方的瀏覽器執行。可在預覽面板或 設定 → 存取與安全 停止分享。",
|
|
1691
|
+
"page_share.ended_notice": "🔗 這個對話裡的頁面「{0}」已停止分享。",
|
|
1692
|
+
"page_share.untitled": "未命名頁面",
|
|
1626
1693
|
"dashboard.title": "📊 AgEnD 儀表板",
|
|
1627
1694
|
"dashboard.starting": "⏳ 儀表板啟動中,請稍後再試。",
|
|
1628
1695
|
"dashboard.signin": "• 登入頁: {0}/signin",
|
|
@@ -1633,6 +1700,7 @@ const zhTWMessages = {
|
|
|
1633
1700
|
"dashboard.revoked": "🔒 已登出 {0} 個網頁 session,並作廢尚未使用的登入碼。",
|
|
1634
1701
|
"dashboard.revoked_not_durable": "⚠️ 目前已登出 {0} 個網頁 session,但這個變更「無法保存」:~/.agend/web-sessions.json 無法更新也無法刪除,fleet 重啟後這些 session 可能會復活。請修正該檔權限後再執行一次 /web revoke,或用 agend web-token rotate 換掉 token。",
|
|
1635
1702
|
"web.login_notice": "🔐 有新的網頁登入:{0}({1},session {2})。如果不是你,請傳 /web revoke。",
|
|
1703
|
+
"web.login_notice_web_only": "🔐 有新的網頁登入:{0}({1},session {2})。如果不是你,請在這台電腦上執行 agend web-token rotate:所有瀏覽器都會被登出。",
|
|
1636
1704
|
"web.guest_login_notice": "👤 訪客 {0} 登入了網頁({1};可看到他在聊天中本來就能用的 {2} 個 agent;session {3})。/web revoke 會結束所有網頁 session。",
|
|
1637
1705
|
"web.guest_intro": "訪客登入:網頁只會顯示你在聊天中本來就能用的 {0} 個 agent。",
|
|
1638
1706
|
"web.guest_public": "從任何地方(公開連結,目前開啟中):{0}",
|
|
@@ -1653,6 +1721,7 @@ const zhTWMessages = {
|
|
|
1653
1721
|
"web.resend_local": "本機網路",
|
|
1654
1722
|
"update.available": "🆕 AgEnD {0} 可更新!執行:/update(或 agend update)",
|
|
1655
1723
|
"update.available_current": "🆕 AgEnD {0} 可更新(目前:{1})!執行:/update(或 agend update)",
|
|
1724
|
+
"update.available_web_only": "🆕 AgEnD {0} 已推出(目前是 {1})。在這台電腦上執行 agend update 安裝。",
|
|
1656
1725
|
"update.available_stable": "🆕 AgEnD {0}(穩定版)已推出(目前:{1},預覽版)。/update 會留在目前的預覽版線;要切換到穩定版請執行:agend update --stable",
|
|
1657
1726
|
"update.highlights": "更新重點:{0}",
|
|
1658
1727
|
"needs.live_header": "📥 等你處理 — {0}",
|
|
@@ -1678,6 +1747,15 @@ const zhTWMessages = {
|
|
|
1678
1747
|
"needs.reason.dangerous_command": "危險指令待確認",
|
|
1679
1748
|
"needs.reason.login": "需要登入",
|
|
1680
1749
|
"needs.reason.dialog": "停在對話框",
|
|
1750
|
+
"needs.reason.kiro_choice": "Kiro 需要你決定",
|
|
1751
|
+
"kiro3.readiness_classic": "尚未準備好使用 Kiro 3.x:請先在 Kiro 2.x 用 migrate_kiro_instance 完成遷移。",
|
|
1752
|
+
"kiro3.readiness_room": "尚未準備好使用 Kiro 3.x:這個 Classic 房間無法由 AgEnD 遷移;請在 Classic 設定把房間換成其他後端,或繼續使用 Kiro 2.x。",
|
|
1753
|
+
"kiro3.readiness_ready": "不需要進行 Classic 遷移。",
|
|
1754
|
+
"kiro3.readiness_all": "所有 Kiro Agent 都已不再使用 Classic。",
|
|
1755
|
+
"kiro3.readiness_remaining": "還有 {0} 個 Kiro Agent 使用 Classic。",
|
|
1756
|
+
"kiro3.readiness_none": "目前沒有 Kiro Agent。",
|
|
1757
|
+
"kiro3.classic": "Kiro CLI {0} 已不支援 Classic,所以這個 Agent 沒有啟動,已存的對話沒有變動。要繼續使用,請改用 Kiro CLI 2.x;或先在 2.x 把這個 Agent 遷移到新介面,再升級到 3.x。",
|
|
1758
|
+
"kiro3.running": "Kiro 正在等你選擇 V2 或 V3。AgEnD 已暫停送訊息給它,也不會替你回答這個選單。請打開 Agent 查看;要繼續用 Classic,請改用 Kiro CLI 2.x。",
|
|
1681
1759
|
"needs.reason.terminal_input": "可能在等輸入",
|
|
1682
1760
|
"inst.session_oom_proof": "匿名記憶體佔 RAM 的 {0}%,為其他最大程序 RSS 的 {1} 倍",
|
|
1683
1761
|
"inst.oom_unclear_stopped": "反覆當機(記憶體不足,原因不明)",
|
|
@@ -1708,6 +1786,7 @@ const zhTWMessages = {
|
|
|
1708
1786
|
"needs.reason.crashed": "已崩潰",
|
|
1709
1787
|
"needs.reason.delivery_uncertain": "無法確認是否送達",
|
|
1710
1788
|
"needs.reason.delivery_failed": "傳送失敗",
|
|
1789
|
+
"needs.reason.missed_offline": "AgEnD 離線時錯過",
|
|
1711
1790
|
"needs.reason.task_review": "等你確認",
|
|
1712
1791
|
"needs.reason.task_blocked": "卡住,在問你",
|
|
1713
1792
|
"needs.task_gap": "還沒補齊:{0}",
|
|
@@ -1769,7 +1848,11 @@ const zhTWMessages = {
|
|
|
1769
1848
|
"codex.package_companion_missing": "Codex 安裝不完整 — codex 執行檔旁({1}/bin)缺少 `{0}`;請用完整的官方套件重新安裝 Codex",
|
|
1770
1849
|
"codex.package_companion_not_executable": "Codex 安裝不完整 — codex 執行檔旁({1}/bin)的 `{0}` 無法執行;請用完整的官方套件重新安裝 Codex",
|
|
1771
1850
|
"codex.resume_db_unreadable_last": "讀不到 Codex 的 session 資料庫({0})。這個 repo 裡沒有其他 Codex instance,所以這次啟動退回用 `codex resume --last`。",
|
|
1772
|
-
"codex.
|
|
1851
|
+
"codex.resume_auto": "找到並接回了 {0} 之前的 Codex 對話({1}):Codex 自己的清單已經沒有它,但紀錄還在。",
|
|
1852
|
+
"codex.resume_large": "這段對話很長({0} MB),Codex 可能會先壓縮再回覆。",
|
|
1853
|
+
"codex.resume_oneshot": "已依要求接回 {0} 的 Codex 對話({1})。",
|
|
1854
|
+
"codex.resume_oneshot_invalid": "要求接回的 Codex 對話({1})無法用於 {0}({2}),這次照常啟動。",
|
|
1855
|
+
"codex.resume_failed": "Codex 無法接回 {0} 之前的對話({1}),所以這次啟動開了**新對話**。之前的對話仍保留。",
|
|
1773
1856
|
"inst.dialog_parked_hold": "⚠️ {0} 停在一個 AgEnD 認不準、因此**不會**自動回答的 CLI 對話框上({1})。請到它的 pane **先看清楚再按鍵**:游標可能已經在不同的選項上。對話框消失前,送給這個 instance 的訊息會先保留。",
|
|
1774
1857
|
"inst.dialog_parked_hold_claude_resume": "這是 Claude 的 session-resume 提示:請把游標移到「Resume full session as-is」再確認;除非你要丟掉完整 context,否則絕不要確認「Resume from summary」。",
|
|
1775
1858
|
"inst.dialog_parked_stuck": "⚠️ {0} 停在一個 CLI 對話框上({1}),自動回答沒有生效。請到它的 pane 手動完成。對話框消失前,送給這個 instance 的訊息會先保留。",
|
|
@@ -1890,6 +1973,7 @@ const zhTWMessages = {
|
|
|
1890
1973
|
"kiro.compaction_kept_ambiguous": "kiro:恢復 {0}:對話 {1} 被壓縮成不只一個對話({2}),無法判斷哪一個屬於這個 instance。",
|
|
1891
1974
|
"kiro.compaction_kept_not_ours": "kiro:恢復 {0}:對話 {1} 已被壓縮成 {2},但 {2} 已被其他 instance 認領或已被放棄。",
|
|
1892
1975
|
"kiro.claim_lost": "kiro:開新對話,因為紀錄中的對話 {0} 已不屬於這個 instance({1})。該對話仍保留在 kiro 的儲存區。",
|
|
1976
|
+
"kiro.identity_unreadable": "kiro:開新對話且不記錄,因為 AgEnD 的對話紀錄 {0} 無法完整讀取。該檔案原封保留(不會覆寫);在修復或移除它之前,每次啟動都會開新對話。",
|
|
1893
1977
|
"kiro.claim_lost_missing": "認領檔不見了",
|
|
1894
1978
|
"kiro.claim_lost_incomplete": "認領檔不完整;完整的認領檔是 instance 名稱加上一個換行",
|
|
1895
1979
|
"kiro.claim_lost_other_owner": "已被其他 instance 認領",
|
|
@@ -1975,6 +2059,7 @@ const zhTWMessages = {
|
|
|
1975
2059
|
"interactive.kind.dangerous_command": "危險命令確認",
|
|
1976
2060
|
"interactive.kind.login": "登入",
|
|
1977
2061
|
"interactive.kind.dialog": "CLI 選項",
|
|
2062
|
+
"interactive.kind.kiro_choice": "Kiro 需要你決定",
|
|
1978
2063
|
"interactive.kind.suspected_terminal_input": "可能需要終端輸入",
|
|
1979
2064
|
"interaction.waiting": "正在等你輸入({0});{1} 秒前看到。",
|
|
1980
2065
|
"interaction.candidate": "正在確認是否需要輸入({0});{1} 秒前看到。",
|
|
@@ -1990,6 +2075,7 @@ const zhTWMessages = {
|
|
|
1990
2075
|
"interactive.kind.confirmation": "Y/N 確認",
|
|
1991
2076
|
"interactive.kind.press_enter": "按 Enter",
|
|
1992
2077
|
"interactive.general_notice": "⚠️ {0} 正在等待人工輸入({1})。要請 General 協助,還是你自己到它的終端機處理?",
|
|
2078
|
+
"interactive.web_only_notice": "⚠️ {0} 正在終端機等待輸入({1})。請打開它的 View 在那裡回答。",
|
|
1993
2079
|
"interactive.instance_notice": "⚠️ {0} 正在等待人工輸入。請至 General channel 確認處理方式。",
|
|
1994
2080
|
"interactive.confirm": "請 General 協助",
|
|
1995
2081
|
"interactive.cancel": "我自己處理",
|
|
@@ -2000,6 +2086,7 @@ const zhTWMessages = {
|
|
|
2000
2086
|
"interactive.delivery_failed": "❌ 無法把 {0} 的協助請求送進 General。",
|
|
2001
2087
|
"card.question_intro": "❓ {0} 在問你:",
|
|
2002
2088
|
"card.question_hint": "請點下方的答案。",
|
|
2089
|
+
"card.selection_hint": "請在下方選一個——會照你的選擇輸入到 agent 的終端機。也可以自己到它的 View 回答。",
|
|
2003
2090
|
"card.question_hint_text": "請點下方的答案,或回覆這則訊息用自己的話回答。",
|
|
2004
2091
|
"card.recommended": "(建議)",
|
|
2005
2092
|
"card.skip": "⏭ 略過",
|
|
@@ -2032,6 +2119,9 @@ const zhTWMessages = {
|
|
|
2032
2119
|
"exit.restarted": "✅ {0} 已重新啟動。",
|
|
2033
2120
|
"exit.ignored": "🚫 已忽略 {0} 的重啟提示。",
|
|
2034
2121
|
"exit.expired": "⌛ {0} 的重啟提示已逾時。",
|
|
2122
|
+
"restart.superseded": "⌛ 沒有重啟:這個按鈕出現之後,{0} 已被停止、重啟或替換。",
|
|
2123
|
+
"instance.topic_deleted": "{0} 的 topic 也已一併刪除。",
|
|
2124
|
+
"instance.topic_kept": "{0} 的 topic 已保留:{1}",
|
|
2035
2125
|
"exit.restart_failed": "❌ 無法重啟 {0}:{1}",
|
|
2036
2126
|
"hang.detected": "⚠️ {0} 可能卡住了 — 畫面已 {1} 分鐘無變化,也偵測不到就緒提示",
|
|
2037
2127
|
"hang.restart": "🔄 強制重啟",
|
|
@@ -2060,6 +2150,7 @@ const zhTWMessages = {
|
|
|
2060
2150
|
"poll.not_ready": "投票還在送出中,請稍後再試。",
|
|
2061
2151
|
"poll.voters_title": "🗳 投票名單:",
|
|
2062
2152
|
"menu.click_stale": "⚠️ 沒有變更:這個 instance 已移到另一個 bot,或你已不再是那裡的管理員。請重新開啟選單。",
|
|
2153
|
+
"menu.instance_replaced": "⚠️ 沒有變更:開啟選單後,{0} 已被停止、重啟或替換。請重新開啟選單。",
|
|
2063
2154
|
"buttons.wrong_place": "⚠️ 這個按鈕和它所屬的提示對不上,請重新執行指令。",
|
|
2064
2155
|
"buttons.post_failed": "⚠️ 無法送出按鈕:{0}",
|
|
2065
2156
|
"tips.label": "小提示",
|
|
@@ -2162,6 +2253,7 @@ const zhTWMessages = {
|
|
|
2162
2253
|
"login.status_install": "安裝",
|
|
2163
2254
|
"login.status_install_then_auth": "安裝並登入",
|
|
2164
2255
|
"login.install_on_host": "尚未安裝,且沒有遠端安裝方式——請在主機上安裝。",
|
|
2256
|
+
"login.host_only": "請在主機上登入:在那裡執行 `{0}`。",
|
|
2165
2257
|
"login.none_available": "⚠️ 這裡沒有可以遠端安裝或登入的 Backend。",
|
|
2166
2258
|
"login.no_remote_flow": "⚠️ Backend「{0}」沒有遠端登入流程。請在主機上執行它自己的 CLI 登入指令。",
|
|
2167
2259
|
"login.unsupported": "⚠️ Backend「{0}」沒有遠端登入流程。OpenCode 憑證是 API key——請在可信任的終端用 `opencode auth` 管理。",
|
|
@@ -2264,9 +2356,15 @@ const zhTWMessages = {
|
|
|
2264
2356
|
"install.unsupported": "⚠️ Backend「{0}」沒有已知的安裝方式。",
|
|
2265
2357
|
"install.already": "✅ {0} 已安裝(找到 `{1}`)。可用 /login {0} 登入。",
|
|
2266
2358
|
"install.busy": "⚠️ 另一個安裝/登入視窗進行中,請先取消它。",
|
|
2267
|
-
"install.started": "📦 正在安裝 {0}
|
|
2359
|
+
"install.started": "📦 正在安裝 {0}…安裝程式的輸出會即時顯示在這裡,完成後會回報。",
|
|
2268
2360
|
"install.failed": "❌ {0} 安裝未完成:{1}。可用 `/login {0}` 重試,或改用 SSH 安裝。",
|
|
2269
|
-
"install.verify_failed": "⚠️ {0} 安裝程序結束,但 PATH 上仍找不到 `{1}
|
|
2361
|
+
"install.verify_failed": "⚠️ {0} 安裝程序結束,但 PATH 上仍找不到 `{1}`。最後幾行輸出在上方;請改用 SSH 安裝。",
|
|
2362
|
+
"install.timeout": "⏱ {0} 安裝已停止:{1} 分鐘內沒有結果。最後幾行輸出在上方。可用 `/login {0}` 重試,或改用 SSH 安裝。",
|
|
2363
|
+
"install.stream_running": "📦 正在安裝 {0}…(安裝程式輸出,即時)",
|
|
2364
|
+
"install.stream_ok": "✅ {0} 安裝程式已結束。",
|
|
2365
|
+
"install.stream_failed": "❌ {0} 安裝程式失敗。",
|
|
2366
|
+
"install.stream_timeout": "⏱ {0} 安裝程式 {1} 分鐘內沒有結果,已停止。",
|
|
2367
|
+
"install.stream_cancelled": "🛑 已取消 {0} 的安裝。",
|
|
2270
2368
|
"install.success_no_login": "✅ {0} 已安裝。",
|
|
2271
2369
|
"install.success": "✅ {0} 已安裝並驗證(`{1}`)。接著登入…",
|
|
2272
2370
|
"install.cancelled": "🛑 已取消 {0} 的安裝流程。",
|
|
@@ -2498,6 +2596,14 @@ const zhTWMessages = {
|
|
|
2498
2596
|
"usage.stale.transient": "暫時無法更新 · 快取於 {0}",
|
|
2499
2597
|
"usage.stale.error": "讀取失敗 · 快取於 {0}",
|
|
2500
2598
|
"usage.metric.reset_since": "已於 {0} 重置",
|
|
2599
|
+
"usage.capacity.line": "100% ≈ {0}({1}–{2})· 約 {3} token · 依 {4} 週",
|
|
2600
|
+
"usage.capacity.line_tokens": "100% ≈ {0} token({1}–{2})· 依 {3} 週",
|
|
2601
|
+
"usage.capacity.not_enough": "用量還不夠估算 100%(已用 Δ {0}%,需 10%)",
|
|
2602
|
+
"usage.capacity.only_agend": "只計算這個 fleet 的 agent;同一帳號在別處的使用會讓這個值偏低。",
|
|
2603
|
+
"usage.capacity.mixed": "各換算方式不一致——可能有 fleet 以外的使用",
|
|
2604
|
+
"usage.capacity.best_fit_api": "「API 等值」最吻合:{1} 週內 ±{0}%",
|
|
2605
|
+
"usage.capacity.best_fit_output": "「輸出 token」最吻合:{1} 週內 ±{0}%",
|
|
2606
|
+
"usage.capacity.best_fit_all": "「全部 token」最吻合:{1} 週內 ±{0}%",
|
|
2501
2607
|
"usage.error.http": "用量請求失敗(HTTP {0})。",
|
|
2502
2608
|
"usage.error.billing_http": "計費請求失敗(HTTP {0})。",
|
|
2503
2609
|
"usage.error.invalid_response": "用量端點回傳了無效資料。",
|
|
@@ -2713,6 +2819,8 @@ const zhTWMessages = {
|
|
|
2713
2819
|
"delivery.fleet_failed_silent_schedule": "❌ 靜默排程貼到 {0} 的內容未送達({3})。不會列入「需要你」;下一次排程照常執行。\noperation_id={1}; target={0}; delivery_id={2}; state=failed",
|
|
2714
2820
|
"delivery.expired": "有 {0} 筆跨 instance 訊息已等滿 24 小時。其中 {1} 筆仍無法確認是否送達,可能已送達,請不要重送;通知已排入佇列,等待送給寄件的 instance。",
|
|
2715
2821
|
"delivery.cancelled_unsent": "⏹ 已取消。你在取消前傳給 {1} 的 {0} 則訊息沒有送出(已標 ❌),還需要的話請再傳一次。",
|
|
2822
|
+
"delivery.handoff_not_taken": "⚠️ 你在 {1} 忙碌時傳的 {0} 則訊息排進了它的 CLI,但 CLI 結束這一輪後沒有處理(已標 ❌)。還需要的話請再傳一次。",
|
|
2823
|
+
"delivery.handoff_unverified_after_restart": "⚠️ {1} 重新啟動時,你傳的 {0} 則訊息還在它的 CLI 佇列中;AgEnD 無法確認它們是否已被處理,所以沒有重送(已標 ❌)。還需要的話請再傳一次。",
|
|
2716
2824
|
"delivery.lane_waiting": "⚠️ 送往 {0} 的訊息已等了 {1} 分鐘。下一筆會等目前的程序回報結果或被替換後再送。\ndelivery_id={2}",
|
|
2717
2825
|
"delivery.restart_blocked": "{0} 暫時保持停止,因為無法確認先前的 CLI 視窗已關閉。請先檢查該視窗再重啟,以免訊息重複送出。",
|
|
2718
2826
|
"delivery.error_expired": "這筆訊息已達等待期限。",
|
|
@@ -2824,6 +2932,21 @@ const zhTWMessages = {
|
|
|
2824
2932
|
"qs.service_install_failed": "無法自動安裝服務({0})。",
|
|
2825
2933
|
"qs.start_direct": "不透過服務啟動 fleet:{0}(或稍後再試一次服務:{1})",
|
|
2826
2934
|
"qs.start_fleet": "啟動 fleet:{0}",
|
|
2935
|
+
"qs.mode_title": "你要怎麼使用 AgEnD?",
|
|
2936
|
+
"qs.mode_web": "只用網頁(不需要 Discord/Telegram)",
|
|
2937
|
+
"qs.mode_chat": "搭配 Discord 或 Telegram bot",
|
|
2938
|
+
"qs.mode_web_chosen": "只用網頁:不需要 bot token,之後都在網頁儀表板使用 AgEnD。",
|
|
2939
|
+
"qs.agent_title": "步驟 {0}:第一個 agent",
|
|
2940
|
+
"qs.agent_name": "agent 名稱 [{0}]:",
|
|
2941
|
+
"qs.agent_name_invalid": "只能使用英文字母、數字、「.」、「_」和「-」(不能只有點)。",
|
|
2942
|
+
"qs.agent_dir": "專案資料夾(直接按 Enter 使用它自己的工作區 {0}):",
|
|
2943
|
+
"qs.agent_dir_invalid": "請輸入絕對路徑,或直接按 Enter。",
|
|
2944
|
+
"qs.web_signin_wait": "正在取得登入碼…",
|
|
2945
|
+
"qs.web_signin_title": "到網頁儀表板登入:",
|
|
2946
|
+
"qs.web_signin_next": "fleet 啟動後,在這台電腦上用這個指令取得登入碼:{0}",
|
|
2947
|
+
"qs.web_dashboard": "網頁儀表板:{0}",
|
|
2948
|
+
"qs.web_talk": "接著在儀表板的聊天和 {0} 對話。",
|
|
2949
|
+
"qs.env_tokens_retired": "已從 .env 移除舊的 bot token({0}),agent 不會再看到它們;原本的 .env 保留在 {1}。",
|
|
2827
2950
|
"import.missing_paths": "⚠️ fleet.yaml 中的下列路徑在這台裝置上不存在:",
|
|
2828
2951
|
"import.fix_paths": "執行 'agend start' 之前,請先編輯 {0} 修正這些路徑。",
|
|
2829
2952
|
"import.paths_ok": "fleet.yaml 中的所有路徑都已確認。",
|
|
@@ -2885,6 +3008,7 @@ const zhTWMessages = {
|
|
|
2885
3008
|
"settings_confirm.cli_question": "要套用這個變更嗎?[y/N] ",
|
|
2886
3009
|
"settings_confirm.cli_interactive": "需要互動確認;--yes 表示明確確認上面列出的差異。",
|
|
2887
3010
|
"settings_confirm.web_verified_label": "{0}(網頁驗證)",
|
|
3011
|
+
"settings_confirm.host_operator_label": "這台電腦的管理者",
|
|
2888
3012
|
"settings_confirm.host_operator": "主機操作者",
|
|
2889
3013
|
};
|
|
2890
3014
|
const messages = {
|