@songsid/agend 2.3.5-alpha.3 → 2.3.5-alpha.5
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/THIRD_PARTY_NOTICES.md +52 -0
- package/dist/accounts-view.d.ts +97 -0
- package/dist/accounts-view.js +116 -0
- package/dist/accounts-view.js.map +1 -0
- package/dist/agent-cli-instructions.md +1 -1
- 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/agent-file-read.js +1 -1
- package/dist/agent-file-read.js.map +1 -1
- package/dist/agent-runtime-api.d.ts +4 -0
- package/dist/agent-runtime-api.js +59 -0
- package/dist/agent-runtime-api.js.map +1 -0
- package/dist/agent-runtime-change.d.ts +76 -0
- package/dist/agent-runtime-change.js +114 -0
- package/dist/agent-runtime-change.js.map +1 -0
- package/dist/agent-workspace.d.ts +93 -0
- package/dist/agent-workspace.js +353 -0
- package/dist/agent-workspace.js.map +1 -0
- package/dist/auth-api.d.ts +27 -0
- package/dist/auth-api.js +168 -3
- 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/backend/antigravity.js +3 -1
- package/dist/backend/antigravity.js.map +1 -1
- package/dist/backend/codex-footer-hints.d.ts +7 -0
- package/dist/backend/codex-footer-hints.js +41 -0
- package/dist/backend/codex-footer-hints.js.map +1 -0
- package/dist/backend/codex-metadata.d.ts +14 -0
- package/dist/backend/codex-metadata.js +45 -0
- package/dist/backend/codex-metadata.js.map +1 -1
- package/dist/backend/codex-quota-history.d.ts +7 -0
- package/dist/backend/codex-quota-history.js +57 -0
- package/dist/backend/codex-quota-history.js.map +1 -0
- package/dist/backend/codex-session-lookup.d.ts +6 -0
- package/dist/backend/codex-session-lookup.js +1 -1
- package/dist/backend/codex-session-lookup.js.map +1 -1
- package/dist/backend/codex-speed.d.ts +14 -0
- package/dist/backend/codex-speed.js +35 -0
- package/dist/backend/codex-speed.js.map +1 -0
- package/dist/backend/codex.d.ts +7 -0
- package/dist/backend/codex.js +85 -24
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/grok-weekly-reset.d.ts +24 -0
- package/dist/backend/grok-weekly-reset.js +95 -0
- package/dist/backend/grok-weekly-reset.js.map +1 -0
- package/dist/backend/grok.d.ts +30 -1
- package/dist/backend/grok.js +301 -54
- package/dist/backend/grok.js.map +1 -1
- package/dist/backend/kiro.d.ts +3 -0
- package/dist/backend/kiro.js +50 -2
- 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/native-pane.d.ts +3 -1
- package/dist/backend/native-pane.js +2 -2
- package/dist/backend/native-pane.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/build-provenance-cli.d.ts +3 -0
- package/dist/build-provenance-cli.js +11 -0
- package/dist/build-provenance-cli.js.map +1 -0
- package/dist/build-provenance.d.ts +20 -0
- package/dist/build-provenance.js +67 -0
- package/dist/build-provenance.js.map +1 -0
- package/dist/build-provenance.json +1 -0
- package/dist/cache-ledger.d.ts +95 -0
- package/dist/cache-ledger.js +276 -4
- 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 +11 -3
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/adapters/telegram.d.ts +51 -0
- package/dist/channel/adapters/telegram.js +235 -17
- package/dist/channel/adapters/telegram.js.map +1 -1
- 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/claude-auth-status.d.ts +48 -0
- package/dist/claude-auth-status.js +149 -0
- package/dist/claude-auth-status.js.map +1 -0
- package/dist/cli.js +138 -37
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +21 -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 +70 -1
- package/dist/daemon.js +547 -25
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard-permissions.d.ts +8 -0
- package/dist/dashboard-permissions.js +16 -0
- package/dist/dashboard-permissions.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 +1 -1
- package/dist/delivery-reconciliation.js +1 -1
- package/dist/delivery-reconciliation.js.map +1 -1
- package/dist/doctor.js +20 -9
- package/dist/doctor.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 +362 -7
- package/dist/fleet-manager.js +1522 -91
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-windows-runtime.d.ts +8 -2
- package/dist/fleet-windows-runtime.js +93 -6
- package/dist/fleet-windows-runtime.js.map +1 -1
- package/dist/general-knowledge/skills/concepts/SKILL.md +425 -0
- package/dist/general-knowledge/skills/credential-profiles/SKILL.md +5 -2
- package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +1 -0
- package/dist/general-knowledge/skills/fleet-health/SKILL.md +2 -2
- 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/session-management/SKILL.md +1 -1
- package/dist/general-knowledge/skills/tui-effort/SKILL.md +10 -10
- package/dist/general-knowledge/skills/web-dashboard/SKILL.md +31 -15
- package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
- package/dist/general-role.d.ts +1 -1
- package/dist/general-role.js +1 -0
- package/dist/general-role.js.map +1 -1
- package/dist/hub/admission.d.ts +28 -0
- package/dist/hub/admission.js +62 -0
- package/dist/hub/admission.js.map +1 -0
- package/dist/hub/attachments/limits.d.ts +20 -0
- package/dist/hub/attachments/limits.js +48 -0
- package/dist/hub/attachments/limits.js.map +1 -0
- package/dist/hub/attachments/store.d.ts +116 -0
- package/dist/hub/attachments/store.js +246 -0
- package/dist/hub/attachments/store.js.map +1 -0
- package/dist/hub/audit/index.d.ts +62 -0
- package/dist/hub/audit/index.js +344 -0
- package/dist/hub/audit/index.js.map +1 -0
- package/dist/hub/browser-certificate.d.ts +38 -0
- package/dist/hub/browser-certificate.js +247 -0
- package/dist/hub/browser-certificate.js.map +1 -0
- package/dist/hub/buttons-model.d.ts +9 -0
- package/dist/hub/buttons-model.js +42 -0
- package/dist/hub/buttons-model.js.map +1 -0
- package/dist/hub/buttons.d.ts +54 -0
- package/dist/hub/buttons.js +346 -0
- package/dist/hub/buttons.js.map +1 -0
- package/dist/hub/catalog.d.ts +74 -0
- package/dist/hub/catalog.js +195 -0
- package/dist/hub/catalog.js.map +1 -0
- package/dist/hub/client.d.ts +69 -0
- package/dist/hub/client.js +300 -0
- package/dist/hub/client.js.map +1 -0
- package/dist/hub/compose/member.d.ts +139 -0
- package/dist/hub/compose/member.js +450 -0
- package/dist/hub/compose/member.js.map +1 -0
- package/dist/hub/compose/server.d.ts +77 -0
- package/dist/hub/compose/server.js +349 -0
- package/dist/hub/compose/server.js.map +1 -0
- package/dist/hub/compose/views.d.ts +12 -0
- package/dist/hub/compose/views.js +4 -0
- package/dist/hub/compose/views.js.map +1 -0
- package/dist/hub/db.d.ts +56 -0
- package/dist/hub/db.js +188 -0
- package/dist/hub/db.js.map +1 -0
- package/dist/hub/directory/config.d.ts +39 -0
- package/dist/hub/directory/config.js +108 -0
- package/dist/hub/directory/config.js.map +1 -0
- package/dist/hub/directory/directory.d.ts +18 -0
- package/dist/hub/directory/directory.js +320 -0
- package/dist/hub/directory/directory.js.map +1 -0
- package/dist/hub/directory/index.d.ts +7 -0
- package/dist/hub/directory/index.js +4 -0
- package/dist/hub/directory/index.js.map +1 -0
- package/dist/hub/directory/profiles.d.ts +41 -0
- package/dist/hub/directory/profiles.js +90 -0
- package/dist/hub/directory/profiles.js.map +1 -0
- package/dist/hub/directory/types.d.ts +71 -0
- package/dist/hub/directory/types.js +14 -0
- package/dist/hub/directory/types.js.map +1 -0
- package/dist/hub/execution/cli-provider.d.ts +23 -0
- package/dist/hub/execution/cli-provider.js +341 -0
- package/dist/hub/execution/cli-provider.js.map +1 -0
- package/dist/hub/execution/index.d.ts +13 -0
- package/dist/hub/execution/index.js +8 -0
- package/dist/hub/execution/index.js.map +1 -0
- package/dist/hub/execution/model-broker.d.ts +24 -0
- package/dist/hub/execution/model-broker.js +208 -0
- package/dist/hub/execution/model-broker.js.map +1 -0
- package/dist/hub/execution/provider-setup.d.ts +11 -0
- package/dist/hub/execution/provider-setup.js +21 -0
- package/dist/hub/execution/provider-setup.js.map +1 -0
- package/dist/hub/execution/sandbox-runner.d.ts +1 -0
- package/dist/hub/execution/sandbox-runner.js +221 -0
- package/dist/hub/execution/sandbox-runner.js.map +1 -0
- package/dist/hub/execution/service.d.ts +136 -0
- package/dist/hub/execution/service.js +459 -0
- package/dist/hub/execution/service.js.map +1 -0
- package/dist/hub/execution/store.d.ts +61 -0
- package/dist/hub/execution/store.js +182 -0
- package/dist/hub/execution/store.js.map +1 -0
- package/dist/hub/execution/views.d.ts +20 -0
- package/dist/hub/execution/views.js +48 -0
- package/dist/hub/execution/views.js.map +1 -0
- package/dist/hub/http/compose.d.ts +20 -0
- package/dist/hub/http/compose.js +518 -0
- package/dist/hub/http/compose.js.map +1 -0
- package/dist/hub/http/core.d.ts +49 -0
- package/dist/hub/http/core.js +124 -0
- package/dist/hub/http/core.js.map +1 -0
- package/dist/hub/http/deps.d.ts +61 -0
- package/dist/hub/http/deps.js +2 -0
- package/dist/hub/http/deps.js.map +1 -0
- package/dist/hub/http/schema.d.ts +14 -0
- package/dist/hub/http/schema.js +80 -0
- package/dist/hub/http/schema.js.map +1 -0
- package/dist/hub/identity.d.ts +32 -0
- package/dist/hub/identity.js +80 -0
- package/dist/hub/identity.js.map +1 -0
- package/dist/hub/init/browser-certificate.d.ts +9 -0
- package/dist/hub/init/browser-certificate.js +78 -0
- package/dist/hub/init/browser-certificate.js.map +1 -0
- package/dist/hub/init/browser-tls.d.ts +18 -0
- package/dist/hub/init/browser-tls.js +62 -0
- package/dist/hub/init/browser-tls.js.map +1 -0
- package/dist/hub/init/cli.d.ts +3 -0
- package/dist/hub/init/cli.js +83 -0
- package/dist/hub/init/cli.js.map +1 -0
- package/dist/hub/init/directory-certificate.d.ts +24 -0
- package/dist/hub/init/directory-certificate.js +222 -0
- package/dist/hub/init/directory-certificate.js.map +1 -0
- package/dist/hub/init/existing-fleet.d.ts +6 -0
- package/dist/hub/init/existing-fleet.js +58 -0
- package/dist/hub/init/existing-fleet.js.map +1 -0
- package/dist/hub/init/handoff.d.ts +8 -0
- package/dist/hub/init/handoff.js +36 -0
- package/dist/hub/init/handoff.js.map +1 -0
- package/dist/hub/init/identity.d.ts +5 -0
- package/dist/hub/init/identity.js +24 -0
- package/dist/hub/init/identity.js.map +1 -0
- package/dist/hub/init/initializer.d.ts +24 -0
- package/dist/hub/init/initializer.js +385 -0
- package/dist/hub/init/initializer.js.map +1 -0
- package/dist/hub/init/inventory.d.ts +17 -0
- package/dist/hub/init/inventory.js +33 -0
- package/dist/hub/init/inventory.js.map +1 -0
- package/dist/hub/init/layout.d.ts +32 -0
- package/dist/hub/init/layout.js +53 -0
- package/dist/hub/init/layout.js.map +1 -0
- package/dist/hub/init/network.d.ts +18 -0
- package/dist/hub/init/network.js +104 -0
- package/dist/hub/init/network.js.map +1 -0
- package/dist/hub/init/plan-digest.d.ts +5 -0
- package/dist/hub/init/plan-digest.js +47 -0
- package/dist/hub/init/plan-digest.js.map +1 -0
- package/dist/hub/init/prompt.d.ts +26 -0
- package/dist/hub/init/prompt.js +110 -0
- package/dist/hub/init/prompt.js.map +1 -0
- package/dist/hub/init/secret-file.d.ts +1 -0
- package/dist/hub/init/secret-file.js +59 -0
- package/dist/hub/init/secret-file.js.map +1 -0
- package/dist/hub/init/text.d.ts +127 -0
- package/dist/hub/init/text.js +247 -0
- package/dist/hub/init/text.js.map +1 -0
- package/dist/hub/init/types.d.ts +114 -0
- package/dist/hub/init/types.js +9 -0
- package/dist/hub/init/types.js.map +1 -0
- package/dist/hub/init/wizard.d.ts +34 -0
- package/dist/hub/init/wizard.js +554 -0
- package/dist/hub/init/wizard.js.map +1 -0
- package/dist/hub/initialization.d.ts +23 -0
- package/dist/hub/initialization.js +28 -0
- package/dist/hub/initialization.js.map +1 -0
- package/dist/hub/member/agent-mode.d.ts +6 -0
- package/dist/hub/member/agent-mode.js +23 -0
- package/dist/hub/member/agent-mode.js.map +1 -0
- package/dist/hub/member/attachments.d.ts +29 -0
- package/dist/hub/member/attachments.js +107 -0
- package/dist/hub/member/attachments.js.map +1 -0
- package/dist/hub/member/exposure-api.d.ts +87 -0
- package/dist/hub/member/exposure-api.js +64 -0
- package/dist/hub/member/exposure-api.js.map +1 -0
- package/dist/hub/member/exposures.d.ts +123 -0
- package/dist/hub/member/exposures.js +282 -0
- package/dist/hub/member/exposures.js.map +1 -0
- package/dist/hub/member/pairing-api.d.ts +85 -0
- package/dist/hub/member/pairing-api.js +385 -0
- package/dist/hub/member/pairing-api.js.map +1 -0
- package/dist/hub/member/quota.d.ts +20 -0
- package/dist/hub/member/quota.js +98 -0
- package/dist/hub/member/quota.js.map +1 -0
- package/dist/hub/member-journal.d.ts +104 -0
- package/dist/hub/member-journal.js +336 -0
- package/dist/hub/member-journal.js.map +1 -0
- package/dist/hub/member-reconciliation.d.ts +14 -0
- package/dist/hub/member-reconciliation.js +97 -0
- package/dist/hub/member-reconciliation.js.map +1 -0
- package/dist/hub/mount.d.ts +39 -0
- package/dist/hub/mount.js +123 -0
- package/dist/hub/mount.js.map +1 -0
- package/dist/hub/pairing-client.d.ts +17 -0
- package/dist/hub/pairing-client.js +108 -0
- package/dist/hub/pairing-client.js.map +1 -0
- package/dist/hub/pairing.d.ts +65 -0
- package/dist/hub/pairing.js +211 -0
- package/dist/hub/pairing.js.map +1 -0
- package/dist/hub/policy.d.ts +63 -0
- package/dist/hub/policy.js +147 -0
- package/dist/hub/policy.js.map +1 -0
- package/dist/hub/preview.d.ts +32 -0
- package/dist/hub/preview.js +64 -0
- package/dist/hub/preview.js.map +1 -0
- package/dist/hub/private-files.d.ts +5 -0
- package/dist/hub/private-files.js +44 -0
- package/dist/hub/private-files.js.map +1 -0
- package/dist/hub/profile.d.ts +59 -0
- package/dist/hub/profile.js +73 -0
- package/dist/hub/profile.js.map +1 -0
- package/dist/hub/protocol.d.ts +779 -0
- package/dist/hub/protocol.js +93 -0
- package/dist/hub/protocol.js.map +1 -0
- package/dist/hub/quota.d.ts +24 -0
- package/dist/hub/quota.js +112 -0
- package/dist/hub/quota.js.map +1 -0
- package/dist/hub/representative.d.ts +141 -0
- package/dist/hub/representative.js +528 -0
- package/dist/hub/representative.js.map +1 -0
- package/dist/hub/retention.d.ts +17 -0
- package/dist/hub/retention.js +45 -0
- package/dist/hub/retention.js.map +1 -0
- package/dist/hub/rooms.d.ts +120 -0
- package/dist/hub/rooms.js +535 -0
- package/dist/hub/rooms.js.map +1 -0
- package/dist/hub/runtime.d.ts +106 -0
- package/dist/hub/runtime.js +298 -0
- package/dist/hub/runtime.js.map +1 -0
- package/dist/hub/server.d.ts +56 -0
- package/dist/hub/server.js +202 -0
- package/dist/hub/server.js.map +1 -0
- package/dist/hub/service-start.d.ts +17 -0
- package/dist/hub/service-start.js +109 -0
- package/dist/hub/service-start.js.map +1 -0
- package/dist/hub/sessions.d.ts +53 -0
- package/dist/hub/sessions.js +196 -0
- package/dist/hub/sessions.js.map +1 -0
- package/dist/hub/socket.d.ts +24 -0
- package/dist/hub/socket.js +79 -0
- package/dist/hub/socket.js.map +1 -0
- package/dist/hub/store.d.ts +77 -0
- package/dist/hub/store.js +88 -0
- package/dist/hub/store.js.map +1 -0
- package/dist/hub/tls.d.ts +31 -0
- package/dist/hub/tls.js +135 -0
- package/dist/hub/tls.js.map +1 -0
- package/dist/hub/types.d.ts +401 -0
- package/dist/hub/types.js +2 -0
- package/dist/hub/types.js.map +1 -0
- package/dist/hub/validation.d.ts +33 -0
- package/dist/hub/validation.js +136 -0
- package/dist/hub/validation.js.map +1 -0
- package/dist/hub/version-floor.d.ts +10 -0
- package/dist/hub/version-floor.js +45 -0
- package/dist/hub/version-floor.js.map +1 -0
- package/dist/hub-browser-certificate-policy.d.ts +31 -0
- package/dist/hub-browser-certificate-policy.js +25 -0
- package/dist/hub-browser-certificate-policy.js.map +1 -0
- package/dist/hub-membership-settings.d.ts +6 -0
- package/dist/hub-membership-settings.js +21 -0
- package/dist/hub-membership-settings.js.map +1 -0
- package/dist/hub-mode.d.ts +15 -0
- package/dist/hub-mode.js +17 -0
- package/dist/hub-mode.js.map +1 -0
- package/dist/hub-pairing-summary.d.ts +48 -0
- package/dist/hub-pairing-summary.js +36 -0
- package/dist/hub-pairing-summary.js.map +1 -0
- package/dist/hub-report-target.d.ts +32 -0
- package/dist/hub-report-target.js +33 -0
- package/dist/hub-report-target.js.map +1 -0
- package/dist/hub-retention-policy.d.ts +14 -0
- package/dist/hub-retention-policy.js +15 -0
- package/dist/hub-retention-policy.js.map +1 -0
- package/dist/instance-config-impact.js +3 -0
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +17 -2
- package/dist/instance-lifecycle.js +58 -8
- 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 +1 -1
- package/dist/instructions.js +1 -1
- package/dist/instructions.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/launchd-service-domain.d.ts +5 -0
- package/dist/launchd-service-domain.js +21 -0
- package/dist/launchd-service-domain.js.map +1 -0
- package/dist/locale.js +125 -3
- package/dist/locale.js.map +1 -1
- package/dist/log-service.d.ts +28 -0
- package/dist/log-service.js +29 -0
- 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 +16 -2
- package/dist/logger.js +346 -66
- package/dist/logger.js.map +1 -1
- package/dist/login-flows.d.ts +15 -7
- package/dist/login-flows.js +29 -3
- package/dist/login-flows.js.map +1 -1
- package/dist/login-manager.js +25 -4
- package/dist/login-manager.js.map +1 -1
- package/dist/ls-rows.js +3 -4
- package/dist/ls-rows.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/native-instance-api.d.ts +0 -1
- package/dist/native-instance-api.js +15 -3
- package/dist/native-instance-api.js.map +1 -1
- package/dist/native-instance-input.d.ts +3 -0
- package/dist/native-instance-input.js +6 -1
- package/dist/native-instance-input.js.map +1 -1
- package/dist/native-instance-registry.d.ts +6 -0
- package/dist/native-instance-registry.js +24 -0
- package/dist/native-instance-registry.js.map +1 -1
- package/dist/native-mcp.d.ts +3 -0
- package/dist/native-mcp.js +15 -2
- package/dist/native-mcp.js.map +1 -1
- package/dist/native-pane-lifecycle.d.ts +8 -0
- package/dist/native-pane-lifecycle.js +13 -4
- package/dist/native-pane-lifecycle.js.map +1 -1
- package/dist/native-pane-manager.js +17 -9
- package/dist/native-pane-manager.js.map +1 -1
- package/dist/needs-you-hub.d.ts +9 -1
- package/dist/needs-you-hub.js +46 -8
- package/dist/needs-you-hub.js.map +1 -1
- package/dist/needs-you.d.ts +47 -2
- package/dist/needs-you.js +31 -3
- package/dist/needs-you.js.map +1 -1
- package/dist/office-share-page.js +3 -3
- package/dist/office-share-page.js.map +1 -1
- package/dist/office-share.d.ts +11 -0
- package/dist/office-share.js +14 -0
- package/dist/office-share.js.map +1 -1
- package/dist/office-talk.d.ts +26 -0
- package/dist/office-talk.js +50 -0
- package/dist/office-talk.js.map +1 -0
- package/dist/outbound-handlers.d.ts +14 -0
- package/dist/outbound-handlers.js +49 -6
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +33 -1
- package/dist/outbound-schemas.js +29 -16
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/pane-quota-history.d.ts +9 -0
- package/dist/pane-quota-history.js +67 -0
- package/dist/pane-quota-history.js.map +1 -0
- package/dist/pause-marker.d.ts +1 -1
- package/dist/pause-marker.js +1 -1
- package/dist/pause-marker.js.map +1 -1
- package/dist/platform-general.d.ts +46 -0
- package/dist/platform-general.js +91 -0
- package/dist/platform-general.js.map +1 -0
- package/dist/public-web-gateway.js +7 -0
- package/dist/public-web-gateway.js.map +1 -1
- package/dist/public-web-link.d.ts +6 -0
- package/dist/public-web-link.js +9 -0
- package/dist/public-web-link.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.d.ts +13 -0
- package/dist/quickstart.js +81 -5
- package/dist/quickstart.js.map +1 -1
- package/dist/quota-notice.d.ts +7 -0
- package/dist/quota-notice.js +40 -0
- package/dist/quota-notice.js.map +1 -1
- package/dist/reply-buttons-controller.js +10 -6
- package/dist/reply-buttons-controller.js.map +1 -1
- package/dist/reply-polls.d.ts +2 -2
- package/dist/reply-polls.js +3 -3
- package/dist/reply-polls.js.map +1 -1
- package/dist/runtime-api.d.ts +2 -0
- package/dist/runtime-api.js +106 -13
- package/dist/runtime-api.js.map +1 -1
- package/dist/runtime-build-info.d.ts +9 -0
- package/dist/runtime-build-info.js +59 -0
- package/dist/runtime-build-info.js.map +1 -0
- package/dist/runtime-bundle.d.ts +6 -1
- package/dist/runtime-bundle.js +17 -9
- package/dist/runtime-bundle.js.map +1 -1
- package/dist/runtime-cli.d.ts +13 -1
- package/dist/runtime-cli.js +173 -19
- package/dist/runtime-cli.js.map +1 -1
- package/dist/runtime-client-store.d.ts +27 -1
- package/dist/runtime-client-store.js +86 -6
- package/dist/runtime-client-store.js.map +1 -1
- package/dist/runtime-client.d.ts +74 -0
- package/dist/runtime-client.js +336 -26
- package/dist/runtime-client.js.map +1 -1
- package/dist/runtime-connection.d.ts +22 -0
- package/dist/runtime-connection.js +93 -0
- package/dist/runtime-connection.js.map +1 -0
- package/dist/runtime-coordinator.d.ts +16 -0
- package/dist/runtime-coordinator.js +287 -62
- package/dist/runtime-coordinator.js.map +1 -1
- package/dist/runtime-credential-profiles.d.ts +78 -0
- package/dist/runtime-credential-profiles.js +280 -0
- package/dist/runtime-credential-profiles.js.map +1 -0
- package/dist/runtime-install.d.ts +50 -0
- package/dist/runtime-install.js +186 -0
- package/dist/runtime-install.js.map +1 -0
- package/dist/runtime-pane-assets.d.ts +1 -1
- package/dist/runtime-pane-assets.js +1 -1
- package/dist/runtime-pane-assets.js.map +1 -1
- package/dist/runtime-pane-boot.d.ts +7 -0
- package/dist/runtime-pane-boot.js +23 -0
- package/dist/runtime-pane-boot.js.map +1 -1
- package/dist/runtime-pane-codex-index.d.ts +10 -1
- package/dist/runtime-pane-codex-index.js +131 -27
- package/dist/runtime-pane-codex-index.js.map +1 -1
- package/dist/runtime-pane-host.d.ts +19 -0
- package/dist/runtime-pane-host.js +50 -7
- package/dist/runtime-pane-host.js.map +1 -1
- package/dist/runtime-pane-link.d.ts +7 -0
- package/dist/runtime-pane-link.js +93 -2
- package/dist/runtime-pane-link.js.map +1 -1
- package/dist/runtime-pane-mcp-relay.d.ts +1 -0
- package/dist/runtime-pane-mcp-relay.js +10 -0
- package/dist/runtime-pane-mcp-relay.js.map +1 -1
- package/dist/runtime-pane-mcp.d.ts +4 -0
- package/dist/runtime-pane-mcp.js +6 -3
- package/dist/runtime-pane-mcp.js.map +1 -1
- package/dist/runtime-pane-native.d.ts +32 -2
- package/dist/runtime-pane-native.js +55 -6
- package/dist/runtime-pane-native.js.map +1 -1
- package/dist/runtime-pane-port.d.ts +5 -0
- package/dist/runtime-pane-port.js +17 -1
- package/dist/runtime-pane-port.js.map +1 -1
- package/dist/runtime-pane-process.d.ts +1 -1
- package/dist/runtime-pane-process.js +11 -2
- package/dist/runtime-pane-process.js.map +1 -1
- package/dist/runtime-pane-protocol.d.ts +11 -1
- package/dist/runtime-pane-protocol.js +27 -5
- package/dist/runtime-pane-protocol.js.map +1 -1
- package/dist/runtime-pane-quota-history.d.ts +6 -0
- package/dist/runtime-pane-quota-history.js +44 -0
- package/dist/runtime-pane-quota-history.js.map +1 -0
- package/dist/runtime-pane-service.d.ts +5 -0
- package/dist/runtime-pane-service.js +47 -12
- package/dist/runtime-pane-service.js.map +1 -1
- package/dist/runtime-pane-transcript.d.ts +5 -0
- package/dist/runtime-pane-transcript.js +66 -5
- package/dist/runtime-pane-transcript.js.map +1 -1
- package/dist/runtime-pane-worker.js +19 -6
- package/dist/runtime-pane-worker.js.map +1 -1
- package/dist/runtime-protocol.d.ts +30 -2
- package/dist/runtime-protocol.js +30 -0
- package/dist/runtime-protocol.js.map +1 -1
- package/dist/runtime-update-activity.d.ts +21 -0
- package/dist/runtime-update-activity.js +51 -0
- package/dist/runtime-update-activity.js.map +1 -0
- package/dist/runtime-update-artifact.d.ts +31 -0
- package/dist/runtime-update-artifact.js +252 -0
- package/dist/runtime-update-artifact.js.map +1 -0
- package/dist/runtime-update-install.d.ts +31 -0
- package/dist/runtime-update-install.js +205 -0
- package/dist/runtime-update-install.js.map +1 -0
- package/dist/runtime-update-journal.d.ts +44 -0
- package/dist/runtime-update-journal.js +121 -0
- package/dist/runtime-update-journal.js.map +1 -0
- package/dist/runtime-update-lock.d.ts +48 -0
- package/dist/runtime-update-lock.js +217 -0
- package/dist/runtime-update-lock.js.map +1 -0
- package/dist/runtime-update-owners.d.ts +29 -0
- package/dist/runtime-update-owners.js +240 -0
- package/dist/runtime-update-owners.js.map +1 -0
- package/dist/runtime-update-protocol.d.ts +15 -0
- package/dist/runtime-update-protocol.js +13 -0
- package/dist/runtime-update-protocol.js.map +1 -0
- package/dist/runtime-windows-bridge.d.ts +2 -1
- package/dist/runtime-windows-bridge.js +11 -1
- package/dist/runtime-windows-bridge.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/scheduler/task-board-text.js +1 -1
- package/dist/scheduler/task-board-text.js.map +1 -1
- package/dist/scheduler/task-board.d.ts +13 -0
- package/dist/scheduler/task-board.js +28 -3
- package/dist/scheduler/task-board.js.map +1 -1
- package/dist/service-drain.d.ts +19 -0
- package/dist/service-drain.js +64 -0
- package/dist/service-drain.js.map +1 -0
- package/dist/service-installer.d.ts +7 -2
- package/dist/service-installer.js +13 -10
- package/dist/service-installer.js.map +1 -1
- package/dist/settings-api.d.ts +20 -0
- package/dist/settings-api.js +414 -4
- package/dist/settings-api.js.map +1 -1
- package/dist/settings-baseline.d.ts +6 -0
- package/dist/settings-baseline.js +3 -1
- package/dist/settings-baseline.js.map +1 -1
- package/dist/settings-change.js +29 -6
- package/dist/settings-change.js.map +1 -1
- package/dist/settings-effect.d.ts +13 -0
- package/dist/settings-effect.js +98 -1
- package/dist/settings-effect.js.map +1 -1
- package/dist/settings-http-confirmation.d.ts +3 -0
- package/dist/settings-http-confirmation.js +28 -1
- package/dist/settings-http-confirmation.js.map +1 -1
- package/dist/settings-instance-patch.js +27 -0
- package/dist/settings-instance-patch.js.map +1 -1
- package/dist/setup-wizard.js +6 -2
- package/dist/setup-wizard.js.map +1 -1
- package/dist/task-board-tool.d.ts +13 -1
- package/dist/task-board-tool.js +104 -4
- package/dist/task-board-tool.js.map +1 -1
- package/dist/task-board-waker.d.ts +6 -0
- package/dist/task-board-waker.js +4 -0
- package/dist/task-board-waker.js.map +1 -1
- package/dist/tmux-binary.d.ts +59 -0
- package/dist/tmux-binary.js +200 -0
- package/dist/tmux-binary.js.map +1 -0
- package/dist/tmux-control.js +4 -4
- package/dist/tmux-control.js.map +1 -1
- package/dist/tmux-exec-helper.js +32 -1
- package/dist/tmux-exec-helper.js.map +1 -1
- package/dist/tmux-manager.d.ts +1 -1
- package/dist/tmux-manager.js +45 -36
- package/dist/tmux-manager.js.map +1 -1
- package/dist/tmux-read.js +4 -3
- package/dist/tmux-read.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 +10 -5
- package/dist/topic-commands.js.map +1 -1
- package/dist/transcript-monitor.d.ts +20 -0
- package/dist/transcript-monitor.js +47 -3
- package/dist/transcript-monitor.js.map +1 -1
- package/dist/transcript-needles.d.ts +7 -0
- package/dist/transcript-needles.js +9 -1
- package/dist/transcript-needles.js.map +1 -1
- package/dist/transcript-records.d.ts +1 -1
- package/dist/transcript-records.js +2 -1
- package/dist/transcript-records.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/ui/account-identity.js +27 -0
- package/dist/ui/accounts-view.js +214 -0
- package/dist/ui/agent-runtime-settings.js +68 -0
- package/dist/ui/agent-runtime.js +20 -2
- package/dist/ui/backend-signin.js +39 -21
- package/dist/ui/chat-ambient.js +1 -1
- package/dist/ui/chat-md-strings.js +3 -0
- package/dist/ui/chat-render.js +3 -670
- package/dist/ui/chat-store.js +1 -1
- package/dist/ui/chat-strings.js +3 -333
- package/dist/ui/chat-thread.js +3 -919
- package/dist/ui/chat-time.js +3 -80
- package/dist/ui/chat-tour.js +1 -1
- package/dist/ui/credential-profile-select.js +54 -0
- package/dist/ui/fleet-office-dialogue.d.ts +30 -0
- package/dist/ui/fleet-office-dialogue.js +382 -0
- package/dist/ui/fleet-office-pack.d.ts +9 -0
- package/dist/ui/fleet-office-pack.js +76 -4
- package/dist/ui/fleet-office-skin.js +23 -5
- package/dist/ui/fleet-office-store.js +5 -0
- package/dist/ui/fleet-office.js +173 -6
- package/dist/ui/fleet-task-card.js +10 -6
- package/dist/ui/fleet-task-common.js +12 -2
- package/dist/ui/fleet-task-menu.js +188 -0
- package/dist/ui/fleet-task-stats.js +124 -0
- package/dist/ui/fleet-task-view.js +340 -0
- package/dist/ui/fleet-tasks.js +131 -43
- package/dist/ui/fleet-usage.js +90 -27
- package/dist/ui/html-attachment.js +3 -40
- package/dist/ui/hub-agent-copy.js +23 -0
- package/dist/ui/hub-button-actions.js +65 -0
- package/dist/ui/hub-chat-store.js +158 -0
- package/dist/ui/hub-chat-strings.js +77 -0
- package/dist/ui/hub-client.js +329 -0
- package/dist/ui/hub-owner-strings.js +51 -0
- package/dist/ui/hub-provider-guidance.js +31 -0
- package/dist/ui/hub-quota.js +85 -0
- package/dist/ui/hub-strings.js +162 -0
- package/dist/ui/hub-switcher.js +27 -0
- package/dist/ui/native-instance-settings.js +5 -8
- package/dist/ui/native-pane-recovery.js +1 -1
- package/dist/ui/office-share-page.js +4 -2
- package/dist/ui/panel-chat.js +36 -49
- package/dist/ui/panel-details.js +1 -1
- package/dist/ui/panel-fleet.js +82 -12
- package/dist/ui/panel-hub.js +619 -0
- package/dist/ui/panel-log.js +2 -2
- package/dist/ui/panel-needs.js +24 -8
- package/dist/ui/panel-runtimes.js +239 -45
- package/dist/ui/panel-settings.js +266 -192
- package/dist/ui/panel-windows-cli.js +88 -42
- package/dist/ui/preview-pages.js +1 -1
- package/dist/ui/preview-panel.js +92 -6
- package/dist/ui/preview-versions.js +1 -1
- package/dist/ui/preview.js +3 -476
- package/dist/ui/runtime-commands.d.ts +4 -0
- package/dist/ui/runtime-commands.js +59 -0
- package/dist/ui/search-dialog.js +2 -0
- package/dist/ui/settings-access-strings.js +42 -0
- package/dist/ui/settings-agent-filters.js +94 -0
- package/dist/ui/settings-appearance.js +122 -23
- package/dist/ui/settings-build-version.js +35 -0
- package/dist/ui/settings-codex-copy.js +19 -0
- package/dist/ui/settings-devices.js +253 -0
- package/dist/ui/settings-dialogs.js +33 -12
- package/dist/ui/settings-guests.js +25 -11
- package/dist/ui/settings-hub-browser-certificate.js +74 -0
- package/dist/ui/settings-hub-membership.js +72 -0
- package/dist/ui/settings-hub-retention.js +52 -0
- package/dist/ui/settings-hub.js +196 -0
- package/dist/ui/settings-layout.js +242 -0
- package/dist/ui/settings-model.js +24 -2
- package/dist/ui/settings-outside.js +104 -38
- package/dist/ui/settings-registry.js +9 -4
- package/dist/ui/settings-shared-strings.js +143 -0
- package/dist/ui/settings-shared.js +345 -0
- package/dist/ui/settings-shortcuts.js +65 -0
- package/dist/ui/settings-strings.js +89 -32
- package/dist/ui/settings-web-authority.js +17 -11
- package/dist/ui/shared/accounts.css +15 -0
- package/dist/ui/shared/app-i18n.js +2 -2
- package/dist/ui/shared/app-needs.js +1 -1
- package/dist/ui/shared/app-route.js +6 -1
- package/dist/ui/shared/app-session.js +6 -2
- package/dist/ui/shared/app-shell.js +81 -15
- package/dist/ui/shared/app.css +1114 -13
- package/dist/ui/shared/app.js +12 -3
- package/dist/ui/shared/chat-composer.js +68 -0
- package/dist/ui/shared/chat-md-strings.js +9 -0
- package/dist/ui/shared/chat-render.js +682 -0
- package/dist/ui/shared/chat-strings.js +333 -0
- package/dist/ui/shared/chat-thread.js +969 -0
- package/dist/ui/shared/chat-time.js +80 -0
- package/dist/ui/shared/header-tools.js +3 -5
- package/dist/ui/shared/html-attachment.js +42 -0
- package/dist/ui/shared/hub-chat.css +85 -0
- package/dist/ui/shared/hub-owner.css +33 -0
- package/dist/ui/shared/hub-quota.css +8 -0
- package/dist/ui/shared/hub.css +71 -0
- package/dist/ui/shared/instance-nav.js +3 -2
- package/dist/ui/shared/machine-name.js +13 -0
- package/dist/ui/shared/page-head.js +8 -0
- package/dist/ui/shared/panel-view.js +77 -4
- package/dist/ui/shared/preview.js +476 -0
- package/dist/ui/shared/runtime-install.css +26 -0
- package/dist/ui/shared/settings-width.js +31 -0
- package/dist/ui/shared/side-rail.js +15 -0
- package/dist/ui/shared/signin.js +172 -0
- package/dist/ui/shared/task-board.css +95 -0
- package/dist/ui/shared/tokens.css +1 -0
- package/dist/ui/shared/ui-dialog.js +2 -2
- package/dist/ui/shared/ui-menu.js +3 -3
- 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 +16 -0
- package/dist/ui/shared/workspace.css +20 -0
- package/dist/ui/signin.html +21 -0
- package/dist/ui/windows-cli-catalog.js +41 -12
- package/dist/ui/workspace-panel.js +189 -0
- package/dist/ui/workspace-strings.js +35 -0
- package/dist/unattended-install.d.ts +11 -2
- package/dist/unattended-install.js +41 -6
- package/dist/unattended-install.js.map +1 -1
- 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/providers.js +2 -1
- package/dist/usage/providers.js.map +1 -1
- 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 +6 -1
- package/dist/usage-rollup.js +16 -4
- package/dist/usage-rollup.js.map +1 -1
- package/dist/view-api.d.ts +16 -0
- package/dist/view-api.js +105 -23
- 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 +49 -2
- package/dist/web-api.js +279 -8
- package/dist/web-api.js.map +1 -1
- package/dist/web-backend-login.d.ts +23 -1
- package/dist/web-backend-login.js +11 -17
- package/dist/web-backend-login.js.map +1 -1
- package/dist/web-device-login.d.ts +153 -0
- package/dist/web-device-login.js +278 -0
- package/dist/web-device-login.js.map +1 -0
- package/dist/web-office-skins.d.ts +9 -0
- package/dist/web-office-skins.js +16 -1
- package/dist/web-office-skins.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 +35 -0
- package/dist/web-session.js +7 -0
- 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 +6 -0
- package/dist/web-shell-routes.js +7 -0
- package/dist/web-shell-routes.js.map +1 -1
- package/dist/web-terminal.d.ts +4 -30
- package/dist/web-terminal.js +9 -6
- package/dist/web-terminal.js.map +1 -1
- package/dist/windows-agents.d.ts +4 -1
- package/dist/windows-agents.js +14 -10
- package/dist/windows-agents.js.map +1 -1
- package/dist/windows-cli-api.d.ts +12 -1
- package/dist/windows-cli-api.js +29 -2
- package/dist/windows-cli-api.js.map +1 -1
- package/dist/windows-cli-providers.d.ts +0 -9
- package/dist/windows-cli-providers.js +4 -9
- package/dist/windows-cli-providers.js.map +1 -1
- package/dist/windows-cli-worker.d.ts +25 -0
- package/dist/windows-cli-worker.js +98 -7
- package/dist/windows-cli-worker.js.map +1 -1
- package/dist/windows-cli.d.ts +11 -0
- package/dist/windows-cli.js +17 -3
- package/dist/windows-cli.js.map +1 -1
- package/dist/yaml-shared-nodes.js +8 -3
- package/dist/yaml-shared-nodes.js.map +1 -1
- package/launcher/agend-install.cjs +8 -1
- package/launcher/launchd-session-type.cjs +14 -0
- package/launcher/postinstall.cjs +27 -2
- package/launcher/private-home.cjs +1 -1
- package/launcher/tmux-bundle.cjs +247 -0
- package/package.json +3 -2
- package/templates/launchd.plist.ejs +3 -1
- package/templates/runtime-install/install.ps1 +270 -0
|
@@ -5,9 +5,8 @@ import { register } from "/assets/app-i18n.js";
|
|
|
5
5
|
register("settings", {
|
|
6
6
|
en: {
|
|
7
7
|
noticeTopic: "Topic", noticeOff: "Off",
|
|
8
|
-
webNotifyLogin: "Web sign-in notices",
|
|
8
|
+
webNotifyLogin: "Web sign-in notices",
|
|
9
9
|
webNotifyLoginHint: "Posted in the topic. Off suppresses operator notices only; guest and public-link security notices still post. Default: Topic.",
|
|
10
|
-
dailyTipsHint: "Posted in the General topic. Default: Topic. /tips still posts where invoked.",
|
|
11
10
|
title: "Settings",
|
|
12
11
|
myAgents: "My Agents",
|
|
13
12
|
bots: "Bots",
|
|
@@ -64,13 +63,12 @@ register("settings", {
|
|
|
64
63
|
tags: "Tags",
|
|
65
64
|
generalTopicField: "General topic (fleet dispatcher)",
|
|
66
65
|
oneGeneral: "{0} is already the General. Untick it first.",
|
|
67
|
-
runtimeResources: "Runtime & Resources",
|
|
68
66
|
autoPause: "Auto-pause after",
|
|
69
67
|
minutes: "minutes",
|
|
70
68
|
inheritDefault: "Inherit from defaults",
|
|
71
69
|
// #2347 §10: the value in effect, and where it comes from.
|
|
72
70
|
defaultMark: "default", inEffect: "In effect: {0}", inheritedValue: "Inherited: {0}",
|
|
73
|
-
|
|
71
|
+
changeInClassic: "change in ClassicBot defaults",
|
|
74
72
|
cappedBySession: "capped by the session length", hoursValue: "{0} h", minutesValue: "{0} min", valueOn: "on", valueOff: "off", valueNone: "none",
|
|
75
73
|
concurrencyAuto: "automatic, 2–10 by free memory and CPU cores", inEffectShort: "in effect: {0}", cappedByTotal: "capped by upload_max_total_mb",
|
|
76
74
|
statusEmojis: "Status emojis",
|
|
@@ -98,18 +96,13 @@ register("settings", {
|
|
|
98
96
|
se_externalEmojiHint: "Another server's emoji needs the bot's Use External Emojis permission in the channel it reacts in.",
|
|
99
97
|
se_unavailable: "unavailable",
|
|
100
98
|
se_hint: "Empty keeps the default. The preview is resolved by AgEnD exactly as the bot will react. Progress prefix is not a reaction: it starts the progress message.",
|
|
101
|
-
detection: "Detection",
|
|
102
|
-
startup: "Startup",
|
|
103
99
|
backendSection: "Backend",
|
|
104
100
|
advancedSection: "Advanced",
|
|
105
|
-
hangEnabled: "Hang detector enabled",
|
|
106
101
|
hangTimeout: "Stuck timeout",
|
|
107
102
|
agentMode: "Agent mode",
|
|
108
103
|
toolSet: "Tool set",
|
|
109
104
|
toolSetUnset: "Not set ({0}; a General: {1})",
|
|
110
105
|
toolProgress: "Tool progress",
|
|
111
|
-
crossInstanceVisibility: "Bot-to-bot messages in topics",
|
|
112
|
-
crossInstanceVisibilityHint: "full: the whole message · summary: one line · hidden: nothing. Messages are always delivered; the Mirror Topic still shows them.",
|
|
113
106
|
replyCompletionGuard: "Require a delivered reply",
|
|
114
107
|
dashboardAccess: "Dashboard access",
|
|
115
108
|
dashboardAccessHint: "What this agent may use on the dashboard, on top of its tool set. Switching a feature off applies at once (its tools are refused and leave its tool list); switching one on is confirmed first.",
|
|
@@ -167,7 +160,7 @@ register("settings", {
|
|
|
167
160
|
failed: "Failed",
|
|
168
161
|
actionFailed: "{0} failed",
|
|
169
162
|
noAgentMatch: "No agents match \"{0}\".",
|
|
170
|
-
deleteAgent: "Delete agent \"{0}\"? This will be applied only after you confirm the pending changes.",
|
|
163
|
+
deleteAgent: "Delete agent \"{0}\" and its chat topic (on Discord, its channel and history)? This will be applied only after you confirm the pending changes.",
|
|
171
164
|
nameRequired: "name required",
|
|
172
165
|
tokenEnvRequired: "token env required",
|
|
173
166
|
removeBot: "Remove bot \"{0}\"? (the token in .env is left untouched)",
|
|
@@ -292,7 +285,7 @@ register("settings", {
|
|
|
292
285
|
sec_agents: "Agents",
|
|
293
286
|
"sec_windows-cli": "Windows CLI",
|
|
294
287
|
sec_runtimes: "Runtime",
|
|
295
|
-
|
|
288
|
+
sec_chat: "Chat & connections", "sec_web-dashboard": "Web dashboard", sec_access: "Access & security",
|
|
296
289
|
sec_advanced: "Advanced", sec_look: "Look", grp_you: "You", grp_fleet: "Fleet",
|
|
297
290
|
classicDefaultsTitle: "ClassicBot defaults", publicLinkTitle: "Public link & fixed address", webDashboardTitle: "Dashboard features", webSettingsLabel: "Web settings",
|
|
298
291
|
stRunning: "Running",
|
|
@@ -318,7 +311,6 @@ register("settings", {
|
|
|
318
311
|
updateAgent: "Update {0}",
|
|
319
312
|
projectRootsTitle: "Project folders", projectRootsHint: "New agents may only work inside these folders (empty: anywhere). Checked when an agent is created.",
|
|
320
313
|
projectRootsAnywhere: "any folder",
|
|
321
|
-
updateDefaults: "Update agent defaults",
|
|
322
314
|
updateClassicDefaults: "Update ClassicBot defaults and access",
|
|
323
315
|
updateAccess: "Update {0} access",
|
|
324
316
|
updateEmojis: "Update {0} status emojis",
|
|
@@ -349,7 +341,6 @@ register("settings", {
|
|
|
349
341
|
keyApplied: "Applied",
|
|
350
342
|
keyRolledBack: "Rolled back",
|
|
351
343
|
keyRollbackFailed: "Rollback failed",
|
|
352
|
-
accessTitle: "Access",
|
|
353
344
|
webChat: "Web chat",
|
|
354
345
|
// #1629 r4 §3: Settings → Appearance (owner CSS).
|
|
355
346
|
motionTitle: "Effects on this device", groupLook: "Look", groupLayout: "Your layout", groupCss: "Styles you write", groupMods: "Add-ons", groupAdvanced: "Advanced", learnMore: "Learn more: {0}",
|
|
@@ -582,7 +573,6 @@ register("settings", {
|
|
|
582
573
|
searchRetentionUnset: "not set (no age limit; 300,000-row cap)",
|
|
583
574
|
searchRetentionZero: "0 (no age limit; 300,000-row cap)",
|
|
584
575
|
webSearchHint: "Global search keeps entries with no age limit by default. The daily prune still caps the index at 300,000 rows (oldest first). Set web.search.retention_days in fleet.yaml (1–3650 days, or 0 for no age limit); it takes effect at the next fleet start.",
|
|
585
|
-
defaultsTitle: "Defaults",
|
|
586
576
|
classicBackend: "ClassicBot default backend",
|
|
587
577
|
whoUsesClassic: "Who can use ClassicBot",
|
|
588
578
|
userIdPlaceholder: "user id",
|
|
@@ -653,7 +643,6 @@ register("settings", {
|
|
|
653
643
|
devApply: "Apply",
|
|
654
644
|
devApplyHint: "Adds this edit to the Save bar below: Save writes it, with any other unsaved change.",
|
|
655
645
|
devStaged: "In the Save bar: {0} change(s) to fleet.yaml. Save writes them, Discard drops them; edit and Apply again to replace them.",
|
|
656
|
-
devFormsUnsaved: "Save or discard the unsaved changes to agents, agent defaults or connections first: this editor writes the same settings.",
|
|
657
646
|
yamlUnsaved: "An unsaved fleet.yaml edit (Advanced) writes these settings. Save or discard it to edit them here.",
|
|
658
647
|
yamlOpen: "Open the editor",
|
|
659
648
|
noChanges: "Nothing to change.",
|
|
@@ -665,7 +654,6 @@ register("settings", {
|
|
|
665
654
|
help1: "Agents: each agent's settings, Start/Stop, Pause/Wake, and New agent.",
|
|
666
655
|
help2: "Connections: who may use each bot, its binding, its status emojis, a new token; and provider API keys.",
|
|
667
656
|
help3: "ClassicBot: each room's backend, model and options.",
|
|
668
|
-
help4: "General: defaults for every agent and ClassicBot defaults. Web: the dashboard's sign-in sessions, browser terminal, web echo, Log and public link. Review changes stages them.",
|
|
669
657
|
help5: "Changes are staged, then applied together with Apply changes. Each shows what it costs: immediately, an agent restart, or an AgEnD restart.",
|
|
670
658
|
help6: "A change to access, secrets or connections waits for a fleet admin to confirm it in chat before it applies.",
|
|
671
659
|
},
|
|
@@ -696,9 +684,8 @@ register("settings", {
|
|
|
696
684
|
se_unavailable: "無法使用",
|
|
697
685
|
se_hint: "留空即使用預設值。預覽由 AgEnD 依 bot 實際 react 的方式解析。進度前綴不是反應,而是進度訊息開頭的 emoji。",
|
|
698
686
|
noticeTopic: "頻道", noticeOff: "關閉",
|
|
699
|
-
webNotifyLogin: "網頁登入通知",
|
|
687
|
+
webNotifyLogin: "網頁登入通知",
|
|
700
688
|
webNotifyLoginHint: "發在頻道。關閉只停用管理者登入通知;訪客與公開連結安全通知仍會發出。預設:頻道。",
|
|
701
|
-
dailyTipsHint: "發在 General 頻道。預設:頻道。/tips 仍送至呼叫的聊天室。",
|
|
702
689
|
title: "設定",
|
|
703
690
|
myAgents: "我的 Agent",
|
|
704
691
|
bots: "機器人",
|
|
@@ -755,26 +742,20 @@ register("settings", {
|
|
|
755
742
|
tags: "標籤",
|
|
756
743
|
generalTopicField: "General topic(fleet 分派器)",
|
|
757
744
|
oneGeneral: "{0} 已經是 General,請先取消勾選它。",
|
|
758
|
-
runtimeResources: "執行環境與資源",
|
|
759
745
|
autoPause: "閒置後自動暫停",
|
|
760
746
|
minutes: "分鐘",
|
|
761
747
|
inheritDefault: "沿用全域預設值",
|
|
762
748
|
defaultMark: "預設", inEffect: "目前生效:{0}", inheritedValue: "沿用:{0}",
|
|
763
|
-
|
|
749
|
+
changeInClassic: "到 ClassicBot 預設值變更",
|
|
764
750
|
cappedBySession: "受 session 時長限制", hoursValue: "{0} 小時", minutesValue: "{0} 分鐘", valueOn: "開", valueOff: "關", valueNone: "無",
|
|
765
751
|
concurrencyAuto: "自動,依可用記憶體與 CPU 核心數取 2–10", inEffectShort: "實際:{0}", cappedByTotal: "受 upload_max_total_mb 限制",
|
|
766
|
-
detection: "偵測",
|
|
767
|
-
startup: "啟動",
|
|
768
752
|
backendSection: "後端",
|
|
769
753
|
advancedSection: "進階",
|
|
770
|
-
hangEnabled: "啟用卡住偵測",
|
|
771
754
|
hangTimeout: "卡住逾時",
|
|
772
755
|
agentMode: "Agent 模式",
|
|
773
756
|
toolSet: "工具集",
|
|
774
757
|
toolSetUnset: "未設定({0};General 為 {1})",
|
|
775
758
|
toolProgress: "工具進度",
|
|
776
|
-
crossInstanceVisibility: "Agent 之間的訊息在主題中",
|
|
777
|
-
crossInstanceVisibilityHint: "full:完整訊息 · summary:一行摘要 · hidden:不顯示。訊息一律照常送達,Mirror Topic 也照常顯示。",
|
|
778
759
|
replyCompletionGuard: "要求送出回覆",
|
|
779
760
|
dashboardAccess: "Dashboard 權限",
|
|
780
761
|
dashboardAccessHint: "這個 agent 能在 dashboard 上用哪些功能(在工具組之外再加一層限制)。關掉立即生效(工具會被拒絕,也從它的工具清單拿掉);打開要先確認。",
|
|
@@ -832,7 +813,7 @@ register("settings", {
|
|
|
832
813
|
failed: "失敗",
|
|
833
814
|
actionFailed: "{0}失敗",
|
|
834
815
|
noAgentMatch: "沒有符合「{0}」的 Agent。",
|
|
835
|
-
deleteAgent: "確定刪除 Agent「{0}
|
|
816
|
+
deleteAgent: "確定刪除 Agent「{0}」及它的聊天 topic(在 Discord 上是它的頻道與訊息記錄)嗎?只有在確認套用待處理變更後才會生效。",
|
|
836
817
|
nameRequired: "必須填寫名稱",
|
|
837
818
|
tokenEnvRequired: "必須填寫 token 環境變數",
|
|
838
819
|
removeBot: "確定移除機器人「{0}」嗎?(.env 中的 token 會保留)",
|
|
@@ -957,7 +938,7 @@ register("settings", {
|
|
|
957
938
|
sec_agents: "Agent",
|
|
958
939
|
"sec_windows-cli": "Windows CLI",
|
|
959
940
|
sec_runtimes: "Runtime",
|
|
960
|
-
|
|
941
|
+
sec_chat: "聊天與連線", "sec_web-dashboard": "網頁儀表板", sec_access: "存取與安全",
|
|
961
942
|
sec_advanced: "進階", sec_look: "外觀", grp_you: "你自己", grp_fleet: "整個 Fleet",
|
|
962
943
|
classicDefaultsTitle: "ClassicBot 預設值", publicLinkTitle: "公開連結與固定網址", webDashboardTitle: "儀表板功能", webSettingsLabel: "網頁設定",
|
|
963
944
|
stRunning: "執行中",
|
|
@@ -983,7 +964,6 @@ register("settings", {
|
|
|
983
964
|
updateAgent: "更新 {0}",
|
|
984
965
|
projectRootsTitle: "專案資料夾", projectRootsHint: "新的 agent 只能在這些資料夾裡工作(留空:不限)。建立 agent 時檢查。",
|
|
985
966
|
projectRootsAnywhere: "不限",
|
|
986
|
-
updateDefaults: "更新 agent 預設值",
|
|
987
967
|
updateClassicDefaults: "更新 ClassicBot 預設值與存取",
|
|
988
968
|
updateAccess: "更新 {0} 的存取",
|
|
989
969
|
updateEmojis: "更新 {0} 的狀態表情",
|
|
@@ -1014,7 +994,6 @@ register("settings", {
|
|
|
1014
994
|
keyApplied: "已套用",
|
|
1015
995
|
keyRolledBack: "已還原",
|
|
1016
996
|
keyRollbackFailed: "還原失敗",
|
|
1017
|
-
accessTitle: "存取",
|
|
1018
997
|
webChat: "網頁聊天",
|
|
1019
998
|
motionTitle: "這個裝置上的特效", groupLook: "外觀", groupLayout: "你的版面", groupCss: "自己寫的樣式", groupMods: "擴充", groupAdvanced: "進階", learnMore: "了解更多:{0}",
|
|
1020
999
|
colorTitle: "識別色", colorLead: "單一 agent 的顏色:⋯ 選單 → 顏色…",
|
|
@@ -1245,7 +1224,6 @@ register("settings", {
|
|
|
1245
1224
|
searchRetentionUnset: "未設定(不限天數;上限 30 萬筆)",
|
|
1246
1225
|
searchRetentionZero: "0(不限天數;上限 30 萬筆)",
|
|
1247
1226
|
webSearchHint: "全域搜尋預設不限天數。每日清理仍會把索引上限維持在 30 萬筆(先刪最舊的)。在 fleet.yaml 設定 web.search.retention_days(1–3650 天,或 0 代表不限天數),下次啟動 fleet 後生效。",
|
|
1248
|
-
defaultsTitle: "預設值",
|
|
1249
1227
|
classicBackend: "ClassicBot 預設 backend",
|
|
1250
1228
|
whoUsesClassic: "誰可以使用 ClassicBot",
|
|
1251
1229
|
userIdPlaceholder: "使用者 id",
|
|
@@ -1316,7 +1294,6 @@ register("settings", {
|
|
|
1316
1294
|
devApply: "套用",
|
|
1317
1295
|
devApplyHint: "把這次編輯加入下方的儲存列:按「儲存」時和其他未儲存的變更一起寫入。",
|
|
1318
1296
|
devStaged: "已加入儲存列:fleet.yaml 的 {0} 項變更。按「儲存」寫入,按「捨棄」放棄;修改後再按「套用」會取代它們。",
|
|
1319
|
-
devFormsUnsaved: "請先儲存或捨棄 Agent、Agent 預設值或連線中未儲存的變更:這個編輯器會寫入相同的設定。",
|
|
1320
1297
|
yamlUnsaved: "有一份未儲存的 fleet.yaml 編輯(進階)會寫入這些設定。請先儲存或捨棄它,才能在這裡修改。",
|
|
1321
1298
|
yamlOpen: "開啟編輯器",
|
|
1322
1299
|
noChanges: "沒有需要變更的內容。",
|
|
@@ -1328,8 +1305,88 @@ register("settings", {
|
|
|
1328
1305
|
help1: "Agent:每個 agent 的設定、啟動/停止、暫停/喚醒,以及新增 agent。",
|
|
1329
1306
|
help2: "連線:誰可以使用各個 bot、它的綁定、狀態表情、新的 token;以及供應商 API key。",
|
|
1330
1307
|
help3: "ClassicBot:每個房間的 backend、model 與選項。",
|
|
1331
|
-
help4: "一般:所有 agent 的預設值與 ClassicBot 預設值。網頁:儀表板的登入 session、瀏覽器終端機、網頁轉發、紀錄與公開連結。「檢查變更」會把它們暫存。",
|
|
1332
1308
|
help5: "變更會先暫存,再用「套用變更」一起套用。每項都會標示代價:立即生效、重新啟動 agent,或重新啟動 AgEnD。",
|
|
1333
1309
|
help6: "存取、密鑰或連線的變更,要等 fleet 管理員在聊天中確認後才會套用。",
|
|
1334
1310
|
},
|
|
1335
1311
|
});
|
|
1312
|
+
|
|
1313
|
+
// Settings UX presentation labels.
|
|
1314
|
+
register("settings", {
|
|
1315
|
+
"en": {
|
|
1316
|
+
"prefsProfileGroup": "Personal details",
|
|
1317
|
+
"prefsContentGroup": "Language and content",
|
|
1318
|
+
"prefsAccountScope": "Your account",
|
|
1319
|
+
"prefsHelpGroup": "Help and guidance",
|
|
1320
|
+
"prefsTourHint": "Walk through the controls in an Agent conversation.",
|
|
1321
|
+
"prefsReplayTour": "Replay tour",
|
|
1322
|
+
"prefsLookHint": "Theme, appearance and effects are in Look",
|
|
1323
|
+
"prefsNameImmediate": "Save name applies this change immediately, separately from the other preferences.",
|
|
1324
|
+
"prefsSaveName": "Save name",
|
|
1325
|
+
"lookDisplayGroup": "Display and layout",
|
|
1326
|
+
"lookThemeHint": "Choose the theme used on your signed-in devices.",
|
|
1327
|
+
"lookIdentityGroup": "Agent identity",
|
|
1328
|
+
"lookMotionGroup": "Themes and motion",
|
|
1329
|
+
"lookPreview": "Preview",
|
|
1330
|
+
"lookPreviewHint": "A sample of your current colours and default card size."
|
|
1331
|
+
},
|
|
1332
|
+
"zh-TW": {
|
|
1333
|
+
"prefsProfileGroup": "個人資料",
|
|
1334
|
+
"prefsContentGroup": "語言與內容",
|
|
1335
|
+
"prefsAccountScope": "你的帳號",
|
|
1336
|
+
"prefsHelpGroup": "使用說明",
|
|
1337
|
+
"prefsTourHint": "重新了解 Agent 對話中的常用操作。",
|
|
1338
|
+
"prefsReplayTour": "重新播放導覽",
|
|
1339
|
+
"prefsLookHint": "主題、外觀與動態效果請前往「外觀」",
|
|
1340
|
+
"prefsNameImmediate": "「儲存名字」會立即套用,與其他偏好的儲存分開。",
|
|
1341
|
+
"prefsSaveName": "儲存名字",
|
|
1342
|
+
"lookDisplayGroup": "顯示與版面",
|
|
1343
|
+
"lookThemeHint": "選擇你登入的裝置所使用的主題。",
|
|
1344
|
+
"lookIdentityGroup": "Agent 識別",
|
|
1345
|
+
"lookMotionGroup": "主題與動態效果",
|
|
1346
|
+
"lookPreview": "預覽",
|
|
1347
|
+
"lookPreviewHint": "目前識別色與預設身分卡大小的示意。"
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
);
|
|
1351
|
+
|
|
1352
|
+
// Settings UX presentation labels.
|
|
1353
|
+
register("settings", {
|
|
1354
|
+
"en": {
|
|
1355
|
+
"uiAgentColumnName": "Name",
|
|
1356
|
+
"uiAgentColumnCli": "CLI & model",
|
|
1357
|
+
"uiListColumnState": "Status",
|
|
1358
|
+
"uiListColumnActions": "Actions",
|
|
1359
|
+
"uiRuntimeWindowsLocal": "Local Windows",
|
|
1360
|
+
"uiRuntimeWindowsRemote": "Windows runtime",
|
|
1361
|
+
"uiConnectionColumnService": "Service & connection",
|
|
1362
|
+
"uiConnectionColumnInfo": "Connection details",
|
|
1363
|
+
"uiClassicColumnRoom": "Room",
|
|
1364
|
+
"uiProviderKeyActionHint": "Verify and apply each key separately. These actions do not wait for the page Save button."
|
|
1365
|
+
},
|
|
1366
|
+
"zh-TW": {
|
|
1367
|
+
"uiAgentColumnName": "名稱",
|
|
1368
|
+
"uiAgentColumnCli": "CLI 與模型",
|
|
1369
|
+
"uiListColumnState": "狀態",
|
|
1370
|
+
"uiListColumnActions": "操作",
|
|
1371
|
+
"uiRuntimeWindowsLocal": "Windows 本機",
|
|
1372
|
+
"uiRuntimeWindowsRemote": "Windows Runtime",
|
|
1373
|
+
"uiConnectionColumnService": "服務與連線",
|
|
1374
|
+
"uiConnectionColumnInfo": "連線資訊",
|
|
1375
|
+
"uiClassicColumnRoom": "房間",
|
|
1376
|
+
"uiProviderKeyActionHint": "每組金鑰會分別驗證並套用,不需等待頁面底部的儲存。"
|
|
1377
|
+
}
|
|
1378
|
+
}
|
|
1379
|
+
);
|
|
1380
|
+
|
|
1381
|
+
register("settings", {
|
|
1382
|
+
"en": {
|
|
1383
|
+
"lookBrandGroup": "Brand",
|
|
1384
|
+
"lookIconMore": "Icon update help",
|
|
1385
|
+
"prefsNameImmediate": "Name changes save immediately."
|
|
1386
|
+
},
|
|
1387
|
+
"zh-TW": {
|
|
1388
|
+
"lookBrandGroup": "品牌",
|
|
1389
|
+
"lookIconMore": "圖示更新說明",
|
|
1390
|
+
"prefsNameImmediate": "名字會立即儲存。"
|
|
1391
|
+
}
|
|
1392
|
+
});
|
|
@@ -14,6 +14,8 @@ import { DEFAULT_SCHEMA, impactOf, sameValue } from "./settings-model.js";
|
|
|
14
14
|
import { editsOf, keepDraft, syncStage } from "./settings-draft.js";
|
|
15
15
|
import { resetWebAuthorization } from "/assets/web-authorize.js";
|
|
16
16
|
import "./settings-strings.js";
|
|
17
|
+
import { layoutText } from "./settings-layout.js";
|
|
18
|
+
import "./settings-access-strings.js"; // revAuthorityBriefWeb / revAuthorityEnabledWeb / revAuthorityRule: an older settings-layout.js from a tab that visited Fleet first lacks them (#3061)
|
|
17
19
|
|
|
18
20
|
const tn = (k, ...v) => t(`settings.${k}`, ...v);
|
|
19
21
|
|
|
@@ -64,7 +66,9 @@ export function WebAuthorityCard({ ctx, staged, disabled = false }) {
|
|
|
64
66
|
syncStage(ctx, "verified_authority", body ? { label: tn("vaTitle"), count: Object.keys(body).length,
|
|
65
67
|
impact: impactOf(ctx.schema || DEFAULT_SCHEMA, "web.verified_authority"), request: { method: "PUT", url: "/api/settings/fleet/web", body: { verified_authority: body } } } : null);
|
|
66
68
|
}, [f, original, overview]);
|
|
67
|
-
|
|
69
|
+
// A fleet with no chat connection is worded for the authenticator (the reference page); one with Discord / Telegram keeps the confirm-card words.
|
|
70
|
+
const webOnly = !!overview && overview.webOnly === true;
|
|
71
|
+
const card = (body) => html`<section class="card s-web-authority"><h3>${tn("vaTitle")}</h3><p class="note s-authority-brief">${layoutText(webOnly ? "revAuthorityBriefWeb" : "revAuthorityBrief")}</p><p class="note s-authority-rule">${layoutText("revAuthorityRule")}</p>${body}<details class="s-setting-details"><summary>${layoutText("revAuthorityDetails")}</summary><p class="note">${tn("vaHint")}</p><p class="note">${tn("vaEnabledHint")}</p><p class="note">${tn("vaLoopbackOnlyHint")}</p></details></section>`;
|
|
68
72
|
if (failed) return card(html`<p class="note" role="status">${tn("vaLoadFailed")} <button type="button" class="btn btn-sm" onClick=${load}>${t("app.retry")}</button></p>`);
|
|
69
73
|
if (!overview || !f) return card(html`<p class="note">${t("app.loading")}</p>`);
|
|
70
74
|
|
|
@@ -86,26 +90,28 @@ export function WebAuthorityCard({ ctx, staged, disabled = false }) {
|
|
|
86
90
|
|
|
87
91
|
return card(html`<fieldset class="s-va-fields" disabled=${disabled}>
|
|
88
92
|
${stuckOff ? html`<p class="note s-va-warn" role="status" id="vaStuckOff">${tn("vaStuckOff")}</p>` : null}
|
|
89
|
-
<label class=${fc("check", "enabled")}><input id="vaEnabled" type="checkbox" checked=${f.enabled} onChange=${(e) => set({ enabled: e.target.checked })} /><span>${
|
|
90
|
-
<p class="note">${
|
|
91
|
-
<label class=${fc("check", "loopbackOnly")}><input id="vaLoopbackOnly" type="checkbox" checked=${f.loopbackOnly} onChange=${(e) => set({ loopbackOnly: e.target.checked })} /><span>${
|
|
92
|
-
<p class="note">${
|
|
93
|
+
<label class=${fc("check", "enabled")}><input class="s-ui-toggle" id="vaEnabled" type="checkbox" checked=${f.enabled} onChange=${(e) => set({ enabled: e.target.checked })} /><span>${layoutText(webOnly ? "revAuthorityEnabledWeb" : "revAuthorityEnabled")}</span></label>
|
|
94
|
+
<p class="note">${layoutText("revAuthorityEnabledHint")}</p>
|
|
95
|
+
<label class=${fc("check", "loopbackOnly")}><input class="s-ui-toggle" id="vaLoopbackOnly" type="checkbox" checked=${f.loopbackOnly} onChange=${(e) => set({ loopbackOnly: e.target.checked })} /><span>${layoutText("revAuthorityLocal")}</span></label>
|
|
96
|
+
<p class="note">${layoutText("revAuthorityLocalHint")}</p>
|
|
93
97
|
${warnHosts ? html`<p class="note s-va-warn" role="status" id="vaLanWarning">${tn("vaLanWarning", overview.lanHosts.join(", "))}</p>` : null}
|
|
94
|
-
${overview.namedHost || original.namedLink ? html`<label class=${fc("check", "namedLink")}><input id="vaNamedLink" type="checkbox" checked=${f.namedLink} onChange=${(e) => set({ namedLink: e.target.checked })} /><span>${tn("vaNamedLink", overview.namedHost || "—")}</span></label>
|
|
95
|
-
<p class="note">${tn("vaNamedLinkHint")}</p>` : null}
|
|
96
|
-
${/* §0.3: always shown — any fleet can open the temporary public link with /web. */ ""}
|
|
97
|
-
<label class=${fc("check", "quickLink")}><input id="vaQuickLink" type="checkbox" checked=${f.quickLink} onChange=${(e) => set({ quickLink: e.target.checked })} /><span>${tn("vaQuickLink")}</span></label>
|
|
98
|
-
<p class="note">${tn("vaQuickLinkHint")}</p>
|
|
99
98
|
<div class=${fc("field", "hours")}><label for="vaHours">${tn("vaHours", overview.hours.min, overview.hours.max)}</label>
|
|
100
99
|
<input id="vaHours" type="number" min=${overview.hours.min} max=${overview.hours.max} step="any"
|
|
101
100
|
class=${hoursError ? "invalid" : ""} value=${hoursText} onInput=${(e) => set({ hours: onHoursText(e.target.value) })} />
|
|
102
101
|
<${Feedback} error=${hoursError} />
|
|
103
102
|
${hoursText.trim() === "" ? html`<${InEffect} text=${tn("hoursValue", overview.hours.default)} />` : null}</div>
|
|
103
|
+
<p class="note s-authority-public-warning">${layoutText("revAuthorityPublicWarning")}</p>
|
|
104
|
+
<details class="s-authority-links"><summary>${layoutText("revAuthorityLinks")}</summary><div> ${overview.namedHost || original.namedLink ? html`<label class=${fc("check", "namedLink")}><input class="s-ui-toggle" id="vaNamedLink" type="checkbox" checked=${f.namedLink} onChange=${(e) => set({ namedLink: e.target.checked })} /><span>${tn("vaNamedLink", overview.namedHost || "—")}</span></label>
|
|
105
|
+
<p class="note">${tn("vaNamedLinkHint")}</p>` : null}
|
|
106
|
+
${/* §0.3: always shown — any fleet can open the temporary public link with /web. */ ""}
|
|
107
|
+
<label class=${fc("check", "quickLink")}><input class="s-ui-toggle" id="vaQuickLink" type="checkbox" checked=${f.quickLink} onChange=${(e) => set({ quickLink: e.target.checked })} /><span>${tn("vaQuickLink")}</span></label>
|
|
108
|
+
<p class="note">${tn("vaQuickLinkHint")}</p>
|
|
109
|
+
</div></details>
|
|
104
110
|
<h4>${tn("vaSessionsTitle")}</h4>
|
|
105
111
|
${overview.authorized.length
|
|
106
112
|
? html`<ul class="s-va-sessions" id="vaSessions">${overview.authorized.map((a) => html`<li key=${a.handle} data-handle=${a.handle}>
|
|
107
113
|
<strong>${a.label}</strong> <span class="note">${a.account}</span>${a.named ? html` <span class="note s-va-named">${tn("vaSessionNamed")}</span>` : null}${a.quick ? html` <span class="note s-va-named s-va-quick">${tn("vaSessionQuick")}</span>` : null}<br /><span class="note">${tn("vaSessionUntil", when(a.authorizedAt), when(a.until))}</span></li>`)}</ul>`
|
|
108
114
|
: html`<p class="note" id="vaSessionsNone">${tn("vaSessionsNone")}</p>`}
|
|
109
115
|
</fieldset>
|
|
110
|
-
<div class="save-row"><button type="button" class="btn btn-danger" id="vaRevoke" disabled=${disabled} onClick=${revoke}>${tn("vaRevoke")}</button></div>`);
|
|
116
|
+
<div class="save-row s-authority-revoke"><button type="button" class="btn btn-danger" id="vaRevoke" disabled=${disabled} onClick=${revoke}>${tn("vaRevoke")}</button></div>`);
|
|
111
117
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* #3212: Settings → Agents → Accounts — linked by accounts-view.js (a page holding an older app.css still draws it). */
|
|
2
|
+
.s-accounts { display: grid; gap: var(--s-3); }
|
|
3
|
+
.s-account-card { border: 1px solid var(--border); border-radius: var(--r-md); padding: var(--s-3); display: grid; gap: var(--s-2); background: var(--surface); }
|
|
4
|
+
.s-account-head { display: flex; align-items: center; gap: var(--s-2); }
|
|
5
|
+
.s-account-rows { display: grid; gap: var(--s-1); }
|
|
6
|
+
.s-account-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
|
|
7
|
+
.s-account-who { flex: 1 1 16em; min-width: 0; display: grid; gap: 2px; }
|
|
8
|
+
.s-account-who small { color: var(--text-2); font-size: var(--fs-xs); overflow-wrap: anywhere; }
|
|
9
|
+
.s-account-usage.is-stale { color: var(--text-3); }
|
|
10
|
+
.s-account-row .s-actions { display: flex; flex-wrap: wrap; gap: var(--s-1); }
|
|
11
|
+
.s-account-row details { flex-basis: 100%; }
|
|
12
|
+
.s-account-default { margin: var(--s-1) 0 0; }
|
|
13
|
+
.s-account-machine { border-top: 1px dashed var(--border); padding-top: var(--s-2); }
|
|
14
|
+
.s-account-move { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-1); }
|
|
15
|
+
.s-account-move .check small { margin-left: var(--s-2); }
|
|
@@ -111,7 +111,7 @@ register("app", {
|
|
|
111
111
|
confirmTitle: "Please confirm", confirmOk: "Continue", cancel: "Cancel",
|
|
112
112
|
sidePanelLeave: "Leave {0} without saving? Your changes there will be lost.", sidePanelDiscard: "Discard changes",
|
|
113
113
|
// The server's own wording (src/locale.ts needs.reason.*), so the web says what Discord says.
|
|
114
|
-
needs_reason_hang: "Not responding", needs_reason_exited: "Exited", needs_reason_assist: "Waiting at its terminal", needs_reason_question: "Asking you a question", needs_reason_permission: "Permission needed", needs_reason_dangerous_command: "Dangerous command waiting", needs_reason_login: "Sign-in needed", needs_reason_dialog: "Waiting at a dialog", needs_reason_terminal_input: "May be waiting for input", needs_reason_auth_paused: "Paused: sign-in needed", needs_reason_backend_signin: "Backend sign-in needed", needs_reason_config_invalid: "Configuration file needs attention", needs_reason_config_fallback: "Running on stored configuration", config_history_edit: "{0}, line {1}, column {2}: {3}. AgEnD is still running on the previous settings. The next restart would use the stored valid copy from {4}. Correct the YAML error; the file has not been changed by AgEnD.", config_history_no_history: "{0}, line {1}, column {2}: {3}. AgEnD is still running on the previous settings. No stored valid copy is available, so the next restart cannot recover automatically. Correct the YAML error before restarting; the file has not been changed by AgEnD.", config_history_fallback: "{0}, line {1}, column {2}: {3}. AgEnD started using the stored valid copy from {4}. Correct the YAML error and reload the settings. The file on disk has not been changed by AgEnD.", needs_reason_general_windows_offline: "General’s Windows PC is offline", needs_reason_general_location_hold: "Run General on", needs_reason_native_pane_hold: "Windows agent needs attention", needs_reason_crashed: "Crashed", needs_reason_usage_limit: "Usage limit reached · reset time unknown", needs_reason_delivery_uncertain: "Could not confirm delivery", needs_reason_delivery_failed: "Delivery failed", needs_reason_task_review: "Waiting for your confirmation", needs_reason_task_blocked: "Blocked: asks you",
|
|
114
|
+
needs_reason_kiro_choice: "Kiro needs your decision", needs_reason_hang: "Not responding", needs_reason_exited: "Exited", needs_reason_assist: "Waiting at its terminal", needs_reason_question: "Asking you a question", needs_reason_permission: "Permission needed", needs_reason_dangerous_command: "Dangerous command waiting", needs_reason_login: "Sign-in needed", needs_reason_dialog: "Waiting at a dialog", needs_reason_terminal_input: "May be waiting for input", needs_reason_auth_paused: "Paused: sign-in needed", needs_reason_backend_signin: "Backend sign-in needed", needs_reason_config_invalid: "Configuration file needs attention", needs_reason_hub_proposal: "Hub action proposed: review locally", needs_reason_hub_execution_hold: "Hub work held: review locally", needs_reason_hub_unavailable: "Hub not running", needs_reason_config_fallback: "Running on stored configuration", config_history_edit: "{0}, line {1}, column {2}: {3}. AgEnD is still running on the previous settings. The next restart would use the stored valid copy from {4}. Correct the YAML error; the file has not been changed by AgEnD.", config_history_no_history: "{0}, line {1}, column {2}: {3}. AgEnD is still running on the previous settings. No stored valid copy is available, so the next restart cannot recover automatically. Correct the YAML error before restarting; the file has not been changed by AgEnD.", config_history_fallback: "{0}, line {1}, column {2}: {3}. AgEnD started using the stored valid copy from {4}. Correct the YAML error and reload the settings. The file on disk has not been changed by AgEnD.", needs_reason_general_windows_offline: "General’s Windows PC is offline", needs_reason_general_location_hold: "Run General on", needs_reason_native_pane_hold: "Windows agent needs attention", needs_reason_crashed: "Crashed", needs_reason_usage_limit: "Usage limit reached · reset time unknown", needs_reason_delivery_uncertain: "Could not confirm delivery", needs_reason_delivery_failed: "Delivery failed", needs_reason_missed_offline: "Missed while AgEnD was offline", needs_reason_task_review: "Waiting for your confirmation", needs_reason_task_blocked: "Blocked: asks you",
|
|
115
115
|
},
|
|
116
116
|
"zh-TW": {
|
|
117
117
|
brand: "AgEnD", fleet: "Fleet", fleetOverview: "Fleet 概覽", view: "檢視", settings: "設定", instances: "Instances", newInstance: "新增 instance", newAgent: "新增 Agent",
|
|
@@ -156,6 +156,6 @@ register("app", {
|
|
|
156
156
|
search: "搜尋", searchTitle: "搜尋聊天、agent 之間的訊息與任務({0})",
|
|
157
157
|
confirmTitle: "請確認", confirmOk: "繼續", cancel: "取消",
|
|
158
158
|
sidePanelLeave: "不儲存就離開「{0}」?你在那裡的修改會遺失。", sidePanelDiscard: "捨棄修改",
|
|
159
|
-
needs_reason_hang: "沒有回應", needs_reason_exited: "已結束", needs_reason_assist: "在終端機上等待", needs_reason_question: "正在問你問題", needs_reason_permission: "需要權限", needs_reason_dangerous_command: "危險指令待確認", needs_reason_login: "需要登入", needs_reason_dialog: "停在對話框", needs_reason_terminal_input: "可能在等輸入", needs_reason_auth_paused: "已暫停:需要登入", needs_reason_backend_signin: "後端需要登入", needs_reason_config_invalid: "設定檔需要處理", needs_reason_config_fallback: "正在使用儲存的設定副本", config_history_edit: "{0} 第 {1} 行、第 {2} 欄:{3}。AgEnD 仍使用先前的設定執行。下次重新啟動會改用 {4} 儲存的有效副本。請修正 YAML 錯誤;AgEnD 未更動此檔案。", config_history_no_history: "{0} 第 {1} 行、第 {2} 欄:{3}。AgEnD 仍使用先前的設定執行。沒有可用的有效副本,下次重新啟動將無法自動恢復。請在重新啟動前修正 YAML 錯誤;AgEnD 未更動此檔案。", config_history_fallback: "{0} 第 {1} 行、第 {2} 欄:{3}。AgEnD 已使用 {4} 儲存的有效副本啟動。請修正 YAML 錯誤並重新載入設定。AgEnD 未更動磁碟上的檔案。", needs_reason_general_windows_offline: "General 所在的 Windows 電腦已離線", needs_reason_general_location_hold: "General 執行位置", needs_reason_native_pane_hold: "Windows 代理需要處理", needs_reason_crashed: "已崩潰", needs_reason_usage_limit: "用量已達上限 · 恢復時間未知", needs_reason_delivery_uncertain: "無法確認是否送達", needs_reason_delivery_failed: "傳送失敗", needs_reason_task_review: "等你確認", needs_reason_task_blocked: "卡住,在問你",
|
|
159
|
+
needs_reason_kiro_choice: "Kiro 需要你決定", needs_reason_hang: "沒有回應", needs_reason_exited: "已結束", needs_reason_assist: "在終端機上等待", needs_reason_question: "正在問你問題", needs_reason_permission: "需要權限", needs_reason_dangerous_command: "危險指令待確認", needs_reason_login: "需要登入", needs_reason_dialog: "停在對話框", needs_reason_terminal_input: "可能在等輸入", needs_reason_auth_paused: "已暫停:需要登入", needs_reason_backend_signin: "後端需要登入", needs_reason_config_invalid: "設定檔需要處理", needs_reason_hub_proposal: "Hub 提議操作:請在本機檢視", needs_reason_hub_execution_hold: "Hub 工作已暫停:請在本機檢視", needs_reason_hub_unavailable: "Hub 未在執行", needs_reason_config_fallback: "正在使用儲存的設定副本", config_history_edit: "{0} 第 {1} 行、第 {2} 欄:{3}。AgEnD 仍使用先前的設定執行。下次重新啟動會改用 {4} 儲存的有效副本。請修正 YAML 錯誤;AgEnD 未更動此檔案。", config_history_no_history: "{0} 第 {1} 行、第 {2} 欄:{3}。AgEnD 仍使用先前的設定執行。沒有可用的有效副本,下次重新啟動將無法自動恢復。請在重新啟動前修正 YAML 錯誤;AgEnD 未更動此檔案。", config_history_fallback: "{0} 第 {1} 行、第 {2} 欄:{3}。AgEnD 已使用 {4} 儲存的有效副本啟動。請修正 YAML 錯誤並重新載入設定。AgEnD 未更動磁碟上的檔案。", needs_reason_general_windows_offline: "General 所在的 Windows 電腦已離線", needs_reason_general_location_hold: "General 執行位置", needs_reason_native_pane_hold: "Windows 代理需要處理", needs_reason_crashed: "已崩潰", needs_reason_usage_limit: "用量已達上限 · 恢復時間未知", needs_reason_delivery_uncertain: "無法確認是否送達", needs_reason_delivery_failed: "傳送失敗", needs_reason_missed_offline: "AgEnD 離線時錯過", needs_reason_task_review: "等你確認", needs_reason_task_blocked: "卡住,在問你",
|
|
160
160
|
},
|
|
161
161
|
});
|
|
@@ -63,7 +63,7 @@ export const configDetail = (item) => {
|
|
|
63
63
|
const issue = item.configIssue;
|
|
64
64
|
return issue ? t(`app.config_history_${issue.mode === "fallback" ? "fallback" : issue.time ? "edit" : "no_history"}`, issue.file, issue.line, issue.column, issue.reason, issue.time || "") : item.detail;
|
|
65
65
|
};
|
|
66
|
-
export const reasonText = (item) => t(`app.needs_reason_${item.reason}`);
|
|
66
|
+
export const reasonText = (item) => t(`app.needs_reason_${item.kiroChoice ? "kiro_choice" : item.reason}`);
|
|
67
67
|
|
|
68
68
|
let stop = null;
|
|
69
69
|
|
|
@@ -34,6 +34,10 @@ export function parseRoute(pathname) {
|
|
|
34
34
|
if (pathname === "/ui/fleet") return { panel: "fleet", tab: "tasks" };
|
|
35
35
|
if (pathname === "/ui/needs") return { panel: "needs" };
|
|
36
36
|
if (pathname === NOTICES_PATH) return { panel: "notices" }; // #2910 D2: a web-only fleet's Notices
|
|
37
|
+
// AgEnD Hub P1: a Hub workspace's pages (served only by a Hub's own listener; this fleet's answers not found).
|
|
38
|
+
if (pathname === "/ui/hub") return { panel: "hub", tab: "ask" };
|
|
39
|
+
if (pathname === "/ui/hub/exposures") return { panel: "hub", tab: "exposures" };
|
|
40
|
+
if (pathname === "/ui/hub/admin") return { panel: "hub", tab: "admin" };
|
|
37
41
|
// #1523 N2: one instance's Details (`agent` is no Fleet tab; a tab is one segment).
|
|
38
42
|
let m = /^\/ui\/fleet\/agent\/([^/]+)$/.exec(pathname);
|
|
39
43
|
if (m) return named("details", m[1]);
|
|
@@ -116,6 +120,7 @@ export function routePath(route) {
|
|
|
116
120
|
if (route.panel === "settings") return settingsPath(route.section);
|
|
117
121
|
if (route.panel === "needs") return NEEDS_PATH;
|
|
118
122
|
if (route.panel === "notices") return NOTICES_PATH;
|
|
123
|
+
if (route.panel === "hub") return route.tab === "exposures" ? "/ui/hub/exposures" : route.tab === "admin" ? "/ui/hub/admin" : "/ui/hub";
|
|
119
124
|
if (route.panel === "view") return viewPath(route.instance);
|
|
120
125
|
if (route.panel === "details") return detailsPath(route.instance);
|
|
121
126
|
if (route.panel === "log") return logPath(route.instance);
|
|
@@ -148,7 +153,7 @@ export function routeKey(route) {
|
|
|
148
153
|
if (!route) return "none";
|
|
149
154
|
if (route.panel === "needs") return "needs:";
|
|
150
155
|
if (route.panel === "notices") return "notices:";
|
|
151
|
-
return `${route.panel}:${route.panel === "fleet" ? route.tab : route.panel === "settings" ? route.section : route.instance ?? ""}`;
|
|
156
|
+
return `${route.panel}:${route.panel === "fleet" || route.panel === "hub" ? route.tab : route.panel === "settings" ? route.section : route.instance ?? ""}`;
|
|
152
157
|
}
|
|
153
158
|
|
|
154
159
|
/**
|
|
@@ -19,6 +19,9 @@ const ago = (ms) => { const m = Math.round((Date.now() - ms) / 60000); return m
|
|
|
19
19
|
export function SessionMenu() {
|
|
20
20
|
const [me, setMe] = useState(undefined); // undefined: not read yet; null: signed out
|
|
21
21
|
const [sessions, setSessions] = useState(null);
|
|
22
|
+
// #3061 (P2b): on a web-only fleet only the verified owner ends the OTHER devices (the server says so with the list and
|
|
23
|
+
// refuses anyone else regardless); a session that is not one still sees them and can sign itself out.
|
|
24
|
+
const [mayEndOthers, setMayEndOthers] = useState(true);
|
|
22
25
|
const [open, setOpen] = useState(false);
|
|
23
26
|
const [error, setError] = useState(false);
|
|
24
27
|
const btn = useRef(null), pop = useRef(null);
|
|
@@ -27,6 +30,7 @@ export function SessionMenu() {
|
|
|
27
30
|
setMe(m);
|
|
28
31
|
const s = m ? await getJson("/auth/sessions") : null;
|
|
29
32
|
setSessions(s && s.sessions ? s.sessions : null);
|
|
33
|
+
setMayEndOthers(!(s && s.canEndOthers === false));
|
|
30
34
|
}
|
|
31
35
|
useEffect(() => { refresh(); }, []);
|
|
32
36
|
useEffect(() => {
|
|
@@ -57,10 +61,10 @@ export function SessionMenu() {
|
|
|
57
61
|
<${AuthorizeChip} />
|
|
58
62
|
${rows.length > 1 ? html`<h3>${t("app.devices")}</h3><ul class="devices">${rows.map(s => html`<li key=${s.handle}>
|
|
59
63
|
<span class="grow"><span class="name">${s.label}${s.current ? ` · ${t("app.thisDevice")}` : ""}</span><span class="when">${t("app.lastActive", ago(s.lastSeen))}</span></span>
|
|
60
|
-
${s.current ? null : html`<button type="button" class="btn btn-sm danger" onClick=${() => act("DELETE", `/auth/sessions/${encodeURIComponent(s.handle)}`, refresh)}>${t("app.signOut")}</button>`}</li>`)}</ul>` : null}
|
|
64
|
+
${s.current || !mayEndOthers ? null : html`<button type="button" class="btn btn-sm danger" onClick=${() => act("DELETE", `/auth/sessions/${encodeURIComponent(s.handle)}`, refresh)}>${t("app.signOut")}</button>`}</li>`)}</ul>` : null}
|
|
61
65
|
<div class="row">
|
|
62
66
|
<button type="button" class="btn" onClick=${() => act("POST", "/auth/logout", () => { location.href = "/signin"; })}><${Icon} name="user" size=${16} />${t("app.signOut")}</button>
|
|
63
|
-
${rows.length > 1 ? html`<button type="button" class="btn danger" onClick=${() => act("DELETE", "/auth/sessions", () => { location.href = "/signin"; })}>${t("app.signOutAll")}</button>` : null}
|
|
67
|
+
${rows.length > 1 && mayEndOthers ? html`<button type="button" class="btn danger" onClick=${() => act("DELETE", "/auth/sessions", () => { location.href = "/signin"; })}>${t("app.signOutAll")}</button>` : null}
|
|
64
68
|
</div>`}
|
|
65
69
|
${error ? html`<p class="err" role="alert">${t("app.failed")}</p>` : null}
|
|
66
70
|
</div>` : null}
|