@timurproko/a1 0.2.7-dev.1249 → 0.2.7-dev.1252
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 +11 -36
- package/bin/cli.js +2 -17
- package/bin/ui.js +7 -48
- package/dist/app/session-shell/exit-notice.d.ts +2 -2
- package/dist/app/session-shell/exit-notice.js +10 -10
- package/dist/app/session-shell/prompt-submission.d.ts +2 -4
- package/dist/app/session-shell/prompt-submission.js +3 -23
- package/dist/app/session-shell/response-copy-transport.js +1 -2
- package/dist/app/session-shell/session-lifecycle.d.ts +1 -2
- package/dist/app/session-shell/session-lifecycle.js +2 -4
- package/dist/app/session-shell/session-shell-root.d.ts +0 -31
- package/dist/app/session-shell/session-shell-root.js +3 -4
- package/dist/app/session-shell/session-shell.js +6 -47
- package/dist/app/session-shell/session-viewport-controller.js +3 -6
- package/dist/app/session-shell/shell-host.js +2 -18
- package/dist/app/session-shell/transcript-document.d.ts +1 -2
- package/dist/app/session-shell/transcript-document.js +3 -28
- package/dist/app/session-shell/workflow-output.js +1 -1
- package/dist/app/session-shell/workflow-router.d.ts +1 -3
- package/dist/app/session-shell/workflow-router.js +1 -4
- package/dist/cli/dispatch.d.ts +1 -11
- package/dist/cli/dispatch.js +5 -92
- package/dist/cli/session-context.js +5 -7
- package/dist/cli/uninstall.d.ts +1 -5
- package/dist/cli/uninstall.js +6 -35
- package/dist/cli/version-stats.js +4 -7
- package/dist/composition/owned-settings.d.ts +0 -1
- package/dist/composition/owned-settings.js +0 -1
- package/dist/composition/owned-ui.d.ts +2 -24
- package/dist/composition/owned-ui.js +11 -87
- package/dist/composition/release-update-observation.d.ts +4 -4
- package/dist/composition/release-update-observation.js +17 -47
- package/dist/composition/session-backend.d.ts +0 -1
- package/dist/composition/session-runtime-registry.d.ts +3 -3
- package/dist/composition/settings-route-host.d.ts +0 -7
- package/dist/composition/settings-route-host.js +4 -10
- package/dist/composition/startup-route.d.ts +0 -1
- package/dist/composition/startup-route.js +0 -1
- package/dist/contracts/owned-ui/index.d.ts +1 -1
- package/dist/contracts/owned-ui/model.d.ts +0 -3
- package/dist/contracts/owned-ui/session-workflows.d.ts +1 -4
- package/dist/features/launch/development-launch.js +0 -1
- package/dist/features/launch/index.d.ts +1 -1
- package/dist/features/launch/intent.d.ts +1 -3
- package/dist/features/launch/intent.js +2 -4
- package/dist/features/launch/session-context.d.ts +2 -2
- package/dist/features/owned-ui/reference-screen-app.d.ts +0 -2
- package/dist/features/owned-ui/reference-screen-app.js +2 -9
- package/dist/features/owned-ui/settings-app.d.ts +0 -6
- package/dist/features/owned-ui/settings-app.js +5 -36
- package/dist/foundation/launch-context/index.d.ts +0 -12
- package/dist/foundation/launch-context/index.js +0 -26
- package/dist/foundation/lifecycle/claim-gate.d.ts +8 -0
- package/dist/foundation/lifecycle/claim-gate.js +37 -0
- package/dist/foundation/lifecycle/index.d.ts +5 -9
- package/dist/foundation/lifecycle/index.js +3 -4
- package/dist/foundation/lifecycle/model.d.ts +2 -59
- package/dist/foundation/lifecycle/model.js +0 -35
- package/dist/foundation/lifecycle/paths.d.ts +0 -24
- package/dist/foundation/lifecycle/paths.js +0 -40
- package/dist/foundation/lifecycle/process-liveness.d.ts +8 -0
- package/dist/foundation/lifecycle/process-liveness.js +18 -0
- package/dist/foundation/lifecycle/session-claim-lock.d.ts +1 -1
- package/dist/foundation/lifecycle/session-claim-lock.js +2 -2
- package/dist/foundation/lifecycle/session-repository-context.d.ts +6 -6
- package/dist/foundation/lifecycle/session-repository-context.js +2 -3
- package/dist/foundation/release/automatic-update.d.ts +1 -3
- package/dist/foundation/release/automatic-update.js +9 -30
- package/dist/foundation/release/bootstrap.d.ts +2 -25
- package/dist/foundation/release/bootstrap.js +33 -344
- package/dist/foundation/release/cohort-state.d.ts +21 -46
- package/dist/foundation/release/cohort-state.js +30 -62
- package/dist/foundation/release/dependency-certification.d.ts +1 -1
- package/dist/foundation/release/index.d.ts +10 -17
- package/dist/foundation/release/index.js +7 -11
- package/dist/foundation/release/latest-release.d.ts +1 -2
- package/dist/foundation/release/latest-release.js +1 -2
- package/dist/foundation/release/process-liveness.d.ts +2 -0
- package/dist/foundation/release/process-liveness.js +12 -0
- package/dist/foundation/release/release-gc.d.ts +12 -9
- package/dist/foundation/release/release-gc.js +34 -98
- package/dist/foundation/release/release-store.d.ts +2 -2
- package/dist/foundation/release/release-store.js +2 -2
- package/dist/foundation/release/restart-certification.js +1 -1
- package/dist/foundation/release/update-activation.d.ts +2 -9
- package/dist/foundation/release/update-activation.js +28 -43
- package/dist/foundation/release/update-execution-lease.js +1 -1
- package/dist/foundation/release/update-launch.d.ts +0 -2
- package/dist/foundation/release/update-launch.js +0 -7
- package/dist/foundation/release/update-recovery.js +1 -1
- package/dist/foundation/release/update-transaction.d.ts +1 -1
- package/dist/foundation/release/update-transaction.js +5 -2
- package/dist/foundation/release/update.d.ts +2 -10
- package/dist/foundation/release/update.js +23 -200
- package/dist/foundation/session-writer-lock/index.d.ts +14 -6
- package/dist/foundation/session-writer-lock/index.js +48 -103
- package/dist/foundation/startup/startup-runtime.d.ts +1 -1
- package/dist/foundation/terminal-cleanup/exit-notice.d.ts +6 -0
- package/dist/foundation/terminal-cleanup/exit-notice.js +36 -0
- package/dist/foundation/terminal-cleanup/index.d.ts +2 -1
- package/dist/foundation/terminal-cleanup/index.js +2 -1
- package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +0 -5
- package/dist/foundation/terminal-cleanup/terminal-reset.js +0 -5
- package/dist/integrations/pi/components/index.d.ts +1 -1
- package/dist/integrations/pi/components/index.js +1 -1
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +1 -4
- package/dist/integrations/pi/components/shell-footer-status.d.ts +1 -1
- package/dist/integrations/pi/components/shell-footer-status.js +2 -2
- package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +2 -5
- package/dist/integrations/pi/components/shell-presenters-info.js +4 -18
- package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +1 -1
- package/dist/integrations/pi/components/shell-presenters-transcript.js +1 -1
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +0 -2
- package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +2 -5
- package/dist/integrations/pi/components/submitted-prompt-adapter.js +2 -16
- package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +1 -2
- package/dist/integrations/pi/components/upstream/components/session-footer.js +6 -8
- package/dist/integrations/pi/engine/adapter.d.ts +0 -1
- package/dist/integrations/pi/engine/adapter.js +1 -16
- package/dist/integrations/pi/engine/diagnostics-state.d.ts +0 -1
- package/dist/integrations/pi/engine/diagnostics-state.js +0 -14
- package/dist/integrations/pi/engine/prompt-suggestions.d.ts +0 -1
- package/dist/integrations/pi/engine/prompt-suggestions.js +0 -40
- package/dist/integrations/pi/engine/session-runtime.js +0 -2
- package/dist/integrations/pi/engine/workflow-runner.js +1 -1
- package/dist/integrations/pi/tui-runtime/adapter.d.ts +2 -2
- package/dist/integrations/pi/tui-runtime/adapter.js +2 -2
- package/dist/product-identity.d.ts +4 -6
- package/dist/product-identity.js +6 -11
- package/dist/product-identity.json +1 -40
- package/dist/runtime-payload-inventory.json +0 -3
- package/dist/ui/components/index.d.ts +2 -2
- package/dist/ui/components/index.js +1 -1
- package/dist/ui/components/submitted-prompt.d.ts +3 -13
- package/dist/ui/components/submitted-prompt.js +8 -41
- package/dist/ui/components/transcript-viewport.d.ts +1 -3
- package/dist/ui/components/transcript-viewport.js +1 -4
- package/dist/ui/settings/declarations.d.ts +3 -97
- package/dist/ui/settings/declarations.js +3 -78
- package/dist/ui/settings/migrations.js +18 -2
- package/docs/architecture/boundaries.md +22 -39
- package/docs/architecture/code-documentation.md +2 -2
- package/docs/architecture/internal-naming.md +9 -17
- package/docs/architecture/project-structure.md +9 -14
- package/docs/architecture/resource-and-data-policy.md +16 -31
- package/docs/architecture/toolchain.md +14 -19
- package/docs/architecture/ui-reference-provenance.md +2 -2
- package/docs/ci-release-runbook.md +5 -5
- package/docs/features/launch-profiles.md +11 -17
- package/docs/features/prompt-history.md +10 -11
- package/docs/local-worktree-cleanup.md +28 -1
- package/docs/manual-owned-ui-checkpoint.md +0 -1
- package/docs/validation.md +5 -11
- package/docs/worktree-link-recovery.md +6 -6
- package/package.json +7 -19
- package/bin/guardian.js +0 -42
- package/bin/supervisor.js +0 -7
- package/bin/tab-launch-context.d.ts +0 -27
- package/bin/tab-launch-context.js +0 -94
- package/dist/app/session-shell/resident-tab-coordinator.d.ts +0 -38
- package/dist/app/session-shell/resident-tab-coordinator.js +0 -77
- package/dist/cli/tabs-request.d.ts +0 -7
- package/dist/cli/tabs-request.js +0 -1
- package/dist/cli/tabs.d.ts +0 -14
- package/dist/cli/tabs.js +0 -151
- package/dist/composition/resident-tab-bridge.d.ts +0 -41
- package/dist/composition/resident-tab-bridge.js +0 -209
- package/dist/composition/utility-tab.d.ts +0 -28
- package/dist/composition/utility-tab.js +0 -244
- package/dist/features/owned-ui/plus-menu-dialog.d.ts +0 -28
- package/dist/features/owned-ui/plus-menu-dialog.js +0 -89
- package/dist/features/resident-tab/auto-name.d.ts +0 -11
- package/dist/features/resident-tab/auto-name.js +0 -44
- package/dist/features/resident-tab/index.d.ts +0 -5
- package/dist/features/resident-tab/index.js +0 -7
- package/dist/features/resident-tab/shortcut-bindings-file.d.ts +0 -8
- package/dist/features/resident-tab/shortcut-bindings-file.js +0 -40
- package/dist/features/resident-tab/shortcut-declarations.d.ts +0 -13
- package/dist/features/resident-tab/shortcut-declarations.js +0 -26
- package/dist/features/resident-tab/shortcut-projection.d.ts +0 -29
- package/dist/features/resident-tab/shortcut-projection.js +0 -64
- package/dist/features/resident-tab/status-deriver.d.ts +0 -10
- package/dist/features/resident-tab/status-deriver.js +0 -12
- package/dist/foundation/launch-guardian/exit-watcher.d.ts +0 -14
- package/dist/foundation/launch-guardian/exit-watcher.js +0 -103
- package/dist/foundation/launch-guardian/index.d.ts +0 -2
- package/dist/foundation/launch-guardian/index.js +0 -1
- package/dist/foundation/launch-guardian/main.d.ts +0 -39
- package/dist/foundation/launch-guardian/main.js +0 -232
- package/dist/foundation/lifecycle/commands.d.ts +0 -40
- package/dist/foundation/lifecycle/commands.js +0 -1
- package/dist/foundation/lifecycle/launch-instance.d.ts +0 -46
- package/dist/foundation/lifecycle/launch-instance.js +0 -134
- package/dist/foundation/lifecycle/native-claim-gate.d.ts +0 -5
- package/dist/foundation/lifecycle/native-claim-gate.js +0 -41
- package/dist/foundation/lifecycle/supervisor-startup.d.ts +0 -30
- package/dist/foundation/lifecycle/supervisor-startup.js +0 -106
- package/dist/foundation/process-containment/addon-containment.d.ts +0 -20
- package/dist/foundation/process-containment/addon-containment.js +0 -139
- package/dist/foundation/process-containment/addon-process-inspector.d.ts +0 -11
- package/dist/foundation/process-containment/addon-process-inspector.js +0 -36
- package/dist/foundation/process-containment/addon.d.ts +0 -47
- package/dist/foundation/process-containment/addon.js +0 -57
- package/dist/foundation/process-containment/artifact.d.ts +0 -1
- package/dist/foundation/process-containment/artifact.js +0 -35
- package/dist/foundation/process-containment/contracts.d.ts +0 -33
- package/dist/foundation/process-containment/contracts.js +0 -35
- package/dist/foundation/process-containment/index.d.ts +0 -9
- package/dist/foundation/process-containment/index.js +0 -7
- package/dist/foundation/process-containment/linux-process-inspector.d.ts +0 -7
- package/dist/foundation/process-containment/linux-process-inspector.js +0 -27
- package/dist/foundation/process-containment/native-process-inspector.d.ts +0 -4
- package/dist/foundation/process-containment/native-process-inspector.js +0 -21
- package/dist/foundation/protocol/client.d.ts +0 -18
- package/dist/foundation/protocol/client.js +0 -130
- package/dist/foundation/protocol/index.d.ts +0 -3
- package/dist/foundation/protocol/index.js +0 -2
- package/dist/foundation/protocol/messages.d.ts +0 -90
- package/dist/foundation/protocol/messages.js +0 -100
- package/dist/foundation/release/cohort-selection.d.ts +0 -33
- package/dist/foundation/release/cohort-selection.js +0 -67
- package/dist/foundation/release/endpoint-lock.d.ts +0 -2
- package/dist/foundation/release/endpoint-lock.js +0 -37
- package/dist/foundation/release/endpoint-recovery.d.ts +0 -10
- package/dist/foundation/release/endpoint-recovery.js +0 -45
- package/dist/foundation/release/endpoints.d.ts +0 -32
- package/dist/foundation/release/endpoints.js +0 -152
- package/dist/foundation/release/prepared-update-activation.d.ts +0 -3
- package/dist/foundation/release/prepared-update-activation.js +0 -27
- package/dist/foundation/release/process-cleanup.d.ts +0 -14
- package/dist/foundation/release/process-cleanup.js +0 -76
- package/dist/foundation/release/supervisor-identity.d.ts +0 -15
- package/dist/foundation/release/supervisor-identity.js +0 -63
- package/dist/foundation/resident-tabs/boot-identity.d.ts +0 -6
- package/dist/foundation/resident-tabs/boot-identity.js +0 -16
- package/dist/foundation/resident-tabs/bounded-host-command.d.ts +0 -20
- package/dist/foundation/resident-tabs/bounded-host-command.js +0 -62
- package/dist/foundation/resident-tabs/bridge-client.d.ts +0 -73
- package/dist/foundation/resident-tabs/bridge-client.js +0 -327
- package/dist/foundation/resident-tabs/continuity.d.ts +0 -12
- package/dist/foundation/resident-tabs/continuity.js +0 -63
- package/dist/foundation/resident-tabs/doctor.d.ts +0 -28
- package/dist/foundation/resident-tabs/doctor.js +0 -166
- package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +0 -27
- package/dist/foundation/resident-tabs/draft-checkpoint.js +0 -145
- package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +0 -36
- package/dist/foundation/resident-tabs/ensure-terminal-host.js +0 -151
- package/dist/foundation/resident-tabs/fault-injection.d.ts +0 -8
- package/dist/foundation/resident-tabs/fault-injection.js +0 -26
- package/dist/foundation/resident-tabs/fixture-control.d.ts +0 -7
- package/dist/foundation/resident-tabs/fixture-control.js +0 -35
- package/dist/foundation/resident-tabs/host-entry.d.ts +0 -1
- package/dist/foundation/resident-tabs/host-entry.js +0 -17
- package/dist/foundation/resident-tabs/index.d.ts +0 -15
- package/dist/foundation/resident-tabs/index.js +0 -10
- package/dist/foundation/resident-tabs/maintenance.d.ts +0 -39
- package/dist/foundation/resident-tabs/maintenance.js +0 -75
- package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +0 -34
- package/dist/foundation/resident-tabs/progress-observation-schema.js +0 -1
- package/dist/foundation/resident-tabs/progress-observation.d.ts +0 -4
- package/dist/foundation/resident-tabs/progress-observation.js +0 -150
- package/dist/foundation/resident-tabs/prompt-journal.d.ts +0 -63
- package/dist/foundation/resident-tabs/prompt-journal.js +0 -213
- package/dist/foundation/resident-tabs/protocol.d.ts +0 -12
- package/dist/foundation/resident-tabs/protocol.js +0 -195
- package/dist/foundation/resident-tabs/recovery.d.ts +0 -26
- package/dist/foundation/resident-tabs/recovery.js +0 -205
- package/dist/foundation/resident-tabs/release-holds.d.ts +0 -28
- package/dist/foundation/resident-tabs/release-holds.js +0 -78
- package/dist/foundation/resident-tabs/routes.d.ts +0 -5
- package/dist/foundation/resident-tabs/routes.js +0 -5
- package/dist/foundation/resident-tabs/routing.d.ts +0 -11
- package/dist/foundation/resident-tabs/routing.js +0 -10
- package/dist/foundation/resident-tabs/runtime-control.d.ts +0 -38
- package/dist/foundation/resident-tabs/runtime-control.js +0 -74
- package/dist/foundation/resident-tabs/session-sync.d.ts +0 -14
- package/dist/foundation/resident-tabs/session-sync.js +0 -37
- package/dist/foundation/resident-tabs/settings.d.ts +0 -16
- package/dist/foundation/resident-tabs/settings.js +0 -60
- package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +0 -14
- package/dist/foundation/resident-tabs/terminal-host-artifact.js +0 -78
- package/dist/foundation/resident-tabs/zip-archive.d.ts +0 -9
- package/dist/foundation/resident-tabs/zip-archive.js +0 -56
- package/dist/foundation/storage/control-store.d.ts +0 -20
- package/dist/foundation/storage/control-store.js +0 -331
- package/dist/foundation/storage/index.d.ts +0 -1
- package/dist/foundation/storage/index.js +0 -1
- package/dist/foundation/supervision/index.d.ts +0 -3
- package/dist/foundation/supervision/index.js +0 -3
- package/dist/foundation/supervision/main.d.ts +0 -1
- package/dist/foundation/supervision/main.js +0 -86
- package/dist/foundation/supervision/paths.d.ts +0 -1
- package/dist/foundation/supervision/paths.js +0 -1
- package/dist/foundation/supervision/server.d.ts +0 -46
- package/dist/foundation/supervision/server.js +0 -611
- package/dist/integrations/pi/engine/offline-settings-port.d.ts +0 -23
- package/dist/integrations/pi/engine/offline-settings-port.js +0 -54
- package/dist/native/darwin-arm64/manifest.json +0 -23
- package/dist/native/darwin-arm64/process-guardian.node +0 -0
- package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10500
- package/dist/native/darwin-arm64/terminal-host.manifest.json +0 -46
- package/dist/native/darwin-arm64/terminal-host.node +0 -0
- package/dist/native/darwin-x64/manifest.json +0 -23
- package/dist/native/darwin-x64/process-guardian.node +0 -0
- package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10737
- package/dist/native/darwin-x64/terminal-host.manifest.json +0 -46
- package/dist/native/darwin-x64/terminal-host.node +0 -0
- package/dist/native/linux-x64/manifest.json +0 -23
- package/dist/native/linux-x64/process-guardian.node +0 -0
- package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -11226
- package/dist/native/linux-x64/terminal-host.manifest.json +0 -46
- package/dist/native/linux-x64/terminal-host.node +0 -0
- package/dist/native/win32-x64/manifest.json +0 -23
- package/dist/native/win32-x64/process-guardian.node +0 -0
- package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10757
- package/dist/native/win32-x64/terminal-host.manifest.json +0 -46
- package/dist/native/win32-x64/terminal-host.node +0 -0
- package/docs/architecture/evidence/resident-tabs/linux-x64.md +0 -37
- package/docs/architecture/evidence/resident-tabs/macos-arm64.md +0 -36
- package/docs/architecture/evidence/resident-tabs/macos-x64.md +0 -35
- package/docs/architecture/evidence/resident-tabs/windows-x64.md +0 -36
- package/docs/architecture/evidence/terminal-host-spike/manual-one-pane-terminal-host.md +0 -70
- package/docs/architecture/evidence/terminal-host-spike/manual-two-by-two-basic-terminal-host.md +0 -32
- package/docs/architecture/evidence/terminal-host-spike/milestone-baseline.json +0 -115
- package/docs/architecture/evidence/terminal-host-spike/owned-ui-foundation-prerequisite.json +0 -48
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-provenance.json +0 -125
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-1.json +0 -56
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-3.json +0 -174
- package/docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json +0 -18
- package/docs/architecture/native-fixture-isolation.md +0 -23
- package/docs/architecture/process-guardian-provenance.md +0 -36
- package/docs/architecture/resident-tabs-requirements.md +0 -18
- package/docs/architecture/resident-tabs.md +0 -668
- package/docs/architecture/terminal-host-proof-gate.md +0 -34
- package/docs/architecture/terminal-host-provenance.md +0 -81
- package/docs/architecture/terminal-host-spike-evidence.md +0 -39
- package/docs/launch-recovery.md +0 -23
- package/docs/manual-launch-instance-acceptance.md +0 -43
- package/docs/manual-resident-tabs-acceptance.md +0 -51
package/dist/product-identity.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import rawIdentity from "./product-identity.json" with { type: "json" };
|
|
2
2
|
const ENVIRONMENT_KEYS = [
|
|
3
|
-
"clipboardDiagnostics", "configDir", "dataDir", "
|
|
4
|
-
"
|
|
3
|
+
"clipboardDiagnostics", "configDir", "dataDir", "developmentHistoryDataDir", "developmentInstanceId", "developmentRoot", "exitNoticePath",
|
|
4
|
+
"prFooterPreview", "profileHome", "runtimeDir", "sessionRuntimeId", "skipVersionCheck", "startupTrace", "suggestionDiagnostics",
|
|
5
5
|
];
|
|
6
6
|
const FILESYSTEM_KEYS = ["slug", "windowsDirectory", "unixDirectory", "temporaryPrefix"];
|
|
7
7
|
const STATE_KEYS = ["windowsControlDirectory", "unixControlDirectory", "developmentDirectory", "piAgentProfile", "piVanillaProfile", "sessionRepositoryDirectory", "sessionWorktreeClaimDirectory"];
|
|
8
|
-
const ENDPOINT_KEYS = ["windowsPipeStem", "unixSocketFilename", "metadataFilename", "supervisorLogFilename", "databaseFilename"];
|
|
9
8
|
const MANIFEST_KEYS = ["releaseFilename", "packageFilename"];
|
|
10
|
-
const PROTOCOL_KEYS = ["namespace", "
|
|
11
|
-
const EVIDENCE_KEYS = ["
|
|
12
|
-
const ARTIFACT_KEYS = ["cliEntry", "
|
|
13
|
-
const ROOT_KEYS = ["schema", "displayName", "commandName", "packageName", "filesystem", "environment", "state", "
|
|
9
|
+
const PROTOCOL_KEYS = ["namespace", "promptHistorySchema", "releaseCohortSchema", "updateJournalSchema"];
|
|
10
|
+
const EVIDENCE_KEYS = ["stableReleaseSchema", "previewReleaseSchema", "releaseCertificationSchema", "previewPlatformVerdictSchema", "piSourceLedgerSchema", "piComponentParitySchema", "piEventFrameParitySchema", "startupTraceSchema", "dependencyLayerSchema", "dependencyLayerCertificationSchema", "runtimePayloadSchema"];
|
|
11
|
+
const ARTIFACT_KEYS = ["cliEntry", "uiEntry", "releaseTarballStem", "diagnosticStem"];
|
|
12
|
+
const ROOT_KEYS = ["schema", "displayName", "commandName", "packageName", "filesystem", "environment", "state", "manifest", "protocol", "evidence", "artifacts"];
|
|
14
13
|
export function validateProductIdentity(value) {
|
|
15
14
|
const root = exactObject(value, ROOT_KEYS, "product identity");
|
|
16
15
|
const schema = stringValue(root.schema, "product identity schema");
|
|
@@ -20,7 +19,6 @@ export function validateProductIdentity(value) {
|
|
|
20
19
|
const filesystem = stringObject(root.filesystem, FILESYSTEM_KEYS, "filesystem identity");
|
|
21
20
|
const environment = stringObject(root.environment, ENVIRONMENT_KEYS, "environment identity");
|
|
22
21
|
const state = stringObject(root.state, STATE_KEYS, "state identity");
|
|
23
|
-
const endpoint = stringObject(root.endpoint, ENDPOINT_KEYS, "endpoint identity");
|
|
24
22
|
const manifest = stringObject(root.manifest, MANIFEST_KEYS, "manifest identity");
|
|
25
23
|
const protocol = stringObject(root.protocol, PROTOCOL_KEYS, "protocol identity");
|
|
26
24
|
const evidence = stringObject(root.evidence, EVIDENCE_KEYS, "evidence identity");
|
|
@@ -41,8 +39,6 @@ export function validateProductIdentity(value) {
|
|
|
41
39
|
if (state.windowsControlDirectory !== filesystem.windowsDirectory || state.unixControlDirectory !== filesystem.unixDirectory) {
|
|
42
40
|
throw new TypeError("product state directories must match the filesystem identity");
|
|
43
41
|
}
|
|
44
|
-
if (endpoint.windowsPipeStem !== filesystem.slug)
|
|
45
|
-
throw new TypeError("product endpoint stem must match the filesystem slug");
|
|
46
42
|
if (protocol.namespace !== commandName)
|
|
47
43
|
throw new TypeError("product protocol namespace must match the command name");
|
|
48
44
|
if (artifacts.diagnosticStem !== filesystem.slug)
|
|
@@ -73,7 +69,6 @@ export function validateProductIdentity(value) {
|
|
|
73
69
|
filesystem,
|
|
74
70
|
environment,
|
|
75
71
|
state,
|
|
76
|
-
endpoint,
|
|
77
72
|
manifest,
|
|
78
73
|
protocol,
|
|
79
74
|
evidence,
|
|
@@ -13,34 +13,17 @@
|
|
|
13
13
|
"clipboardDiagnostics": "A1_CLIPBOARD_DIAGNOSTICS",
|
|
14
14
|
"configDir": "A1_CONFIG_DIR",
|
|
15
15
|
"dataDir": "A1_DATA_DIR",
|
|
16
|
-
"databasePath": "A1_DATABASE_PATH",
|
|
17
16
|
"developmentHistoryDataDir": "A1_DEV_HISTORY_DATA_DIR",
|
|
18
17
|
"developmentInstanceId": "A1_DEV_INSTANCE_ID",
|
|
19
18
|
"developmentRoot": "A1_DEV_ROOT",
|
|
20
|
-
"endpoint": "A1_ENDPOINT",
|
|
21
19
|
"exitNoticePath": "A1_EXIT_NOTICE_PATH",
|
|
22
|
-
"paneId": "A1_PANE_ID",
|
|
23
|
-
"probeTrace": "A1_PROBE_TRACE",
|
|
24
|
-
"processGuardianPath": "A1_PROCESS_GUARDIAN_PATH",
|
|
25
20
|
"prFooterPreview": "A1_PR_FOOTER_PREVIEW",
|
|
26
21
|
"profileHome": "A1_PROFILE_HOME",
|
|
27
|
-
"residentFixtureControlDir": "A1_RESIDENT_FIXTURE_CONTROL_DIR",
|
|
28
|
-
"residentProgressObservationDir": "A1_RESIDENT_PROGRESS_OBSERVATION_DIR",
|
|
29
|
-
"residentProgressRunId": "A1_RESIDENT_PROGRESS_RUN_ID",
|
|
30
|
-
"residentProgressTabId": "A1_RESIDENT_PROGRESS_TAB_ID",
|
|
31
|
-
"residentProgressTabIncarnation": "A1_RESIDENT_PROGRESS_TAB_INCARNATION",
|
|
32
22
|
"runtimeDir": "A1_RUNTIME_DIR",
|
|
33
23
|
"sessionRuntimeId": "A1_SESSION_RUNTIME_ID",
|
|
34
24
|
"skipVersionCheck": "A1_SKIP_VERSION_CHECK",
|
|
35
25
|
"startupTrace": "A1_STARTUP_TRACE",
|
|
36
|
-
"suggestionDiagnostics": "A1_SUGGESTION_DIAGNOSTICS"
|
|
37
|
-
"tabEndpoint": "A1_TAB_ENDPOINT",
|
|
38
|
-
"tabId": "A1_TAB_ID",
|
|
39
|
-
"tabReleaseId": "A1_TAB_RELEASE_ID",
|
|
40
|
-
"tabToken": "A1_TAB_TOKEN",
|
|
41
|
-
"tabsEndpoint": "A1_TABS_ENDPOINT",
|
|
42
|
-
"terminalHostPath": "A1_TERMINAL_HOST_PATH",
|
|
43
|
-
"terminalSessionId": "A1_TERMINAL_SESSION_ID"
|
|
26
|
+
"suggestionDiagnostics": "A1_SUGGESTION_DIAGNOSTICS"
|
|
44
27
|
},
|
|
45
28
|
"state": {
|
|
46
29
|
"windowsControlDirectory": "a1",
|
|
@@ -51,33 +34,17 @@
|
|
|
51
34
|
"sessionRepositoryDirectory": "session-repositories",
|
|
52
35
|
"sessionWorktreeClaimDirectory": "session-worktree-claims"
|
|
53
36
|
},
|
|
54
|
-
"endpoint": {
|
|
55
|
-
"windowsPipeStem": "a1",
|
|
56
|
-
"unixSocketFilename": "supervisor.sock",
|
|
57
|
-
"metadataFilename": "supervisor.json",
|
|
58
|
-
"supervisorLogFilename": "supervisor.log",
|
|
59
|
-
"databaseFilename": "control.sqlite3"
|
|
60
|
-
},
|
|
61
37
|
"manifest": {
|
|
62
38
|
"releaseFilename": ".a1-release.json",
|
|
63
39
|
"packageFilename": "package.json"
|
|
64
40
|
},
|
|
65
41
|
"protocol": {
|
|
66
42
|
"namespace": "a1",
|
|
67
|
-
"controlEnvelope": "a1-control-envelope",
|
|
68
|
-
"supervisorSchema": "a1-supervisor-v1",
|
|
69
|
-
"nativeHostSchema": "a1-native-host-v1",
|
|
70
|
-
"structuredAgentSchema": "a1-structured-agent-v1",
|
|
71
|
-
"controlStoreSchema": "a1-control-store-v1",
|
|
72
43
|
"promptHistorySchema": "a1-prompt-history-v1",
|
|
73
44
|
"releaseCohortSchema": "a1-release-cohort-v1",
|
|
74
45
|
"updateJournalSchema": "a1-update-journal-v1"
|
|
75
46
|
},
|
|
76
47
|
"evidence": {
|
|
77
|
-
"nativeSpikeSchema": "a1-native-host-spike-evidence-v1",
|
|
78
|
-
"terminalProvenanceSchema": "a1-terminal-host-provenance-v1",
|
|
79
|
-
"terminalProofSchema": "a1-terminal-host-proof-v1",
|
|
80
|
-
"terminalTemporalSnapshotSchema": "a1-terminal-temporal-snapshot-v1",
|
|
81
48
|
"stableReleaseSchema": "a1-stable-release-v1",
|
|
82
49
|
"previewReleaseSchema": "a1-preview-release-v1",
|
|
83
50
|
"releaseCertificationSchema": "a1-release-certification-v1",
|
|
@@ -92,13 +59,7 @@
|
|
|
92
59
|
},
|
|
93
60
|
"artifacts": {
|
|
94
61
|
"cliEntry": "bin/cli.js",
|
|
95
|
-
"supervisorEntry": "bin/supervisor.js",
|
|
96
|
-
"guardianEntry": "bin/guardian.js",
|
|
97
62
|
"uiEntry": "bin/ui.js",
|
|
98
|
-
"terminalHostAddon": "terminal-host",
|
|
99
|
-
"terminalHostEntry": "host-entry",
|
|
100
|
-
"nativeCrate": "terminal-host",
|
|
101
|
-
"processGuardianAddon": "process-guardian",
|
|
102
63
|
"releaseTarballStem": "timurproko-a1",
|
|
103
64
|
"diagnosticStem": "a1"
|
|
104
65
|
}
|
|
@@ -3,12 +3,9 @@
|
|
|
3
3
|
"entryPoints": [
|
|
4
4
|
"bin/activate.js",
|
|
5
5
|
"bin/cli.js",
|
|
6
|
-
"bin/guardian.js",
|
|
7
|
-
"bin/supervisor.js",
|
|
8
6
|
"bin/ui.js",
|
|
9
7
|
"bin/update-recovery.js",
|
|
10
8
|
"bin/warmup.js",
|
|
11
|
-
"dist/foundation/launch-guardian/exit-watcher.js",
|
|
12
9
|
"dist/foundation/startup/startup-descriptor.js",
|
|
13
10
|
"dist/integrations/pi/startup-public.js"
|
|
14
11
|
],
|
|
@@ -32,8 +32,8 @@ export { readVisibleHyperlinks } from "./visible-hyperlinks.js";
|
|
|
32
32
|
export type { VisibleHyperlinkRange, VisibleHyperlinkRow } from "./visible-hyperlinks.js";
|
|
33
33
|
export { renderStatusLine, statusText } from "./status-line.js";
|
|
34
34
|
export type { StatusLineInput } from "./status-line.js";
|
|
35
|
-
export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows,
|
|
36
|
-
export type { SubmittedPromptLayout, SubmittedPromptStyle
|
|
35
|
+
export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows, submittedPromptLayout } from "./submitted-prompt.js";
|
|
36
|
+
export type { SubmittedPromptLayout, SubmittedPromptStyle } from "./submitted-prompt.js";
|
|
37
37
|
export { numericValues, steppedValue, stepperEnds } from "./stepper.js";
|
|
38
38
|
export type { NumericRange } from "./stepper.js";
|
|
39
39
|
export { TranscriptViewport, assertTranscriptViewportFrameDescriptor } from "./transcript-viewport.js";
|
|
@@ -16,7 +16,7 @@ export { GLOBAL_SCOPE, ShortcutRegistry, assembleShortcuts, assertNoShortcutConf
|
|
|
16
16
|
export { backgroundSgrSpan, heldNativeHyperlinkStyle, hyperlinkSgrSpan, hyperlinkTargetAtColumn, nativeHyperlinkStyle, overlaySpan } from "./spans.js";
|
|
17
17
|
export { readVisibleHyperlinks } from "./visible-hyperlinks.js";
|
|
18
18
|
export { renderStatusLine, statusText } from "./status-line.js";
|
|
19
|
-
export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows,
|
|
19
|
+
export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows, submittedPromptLayout } from "./submitted-prompt.js";
|
|
20
20
|
export { numericValues, steppedValue, stepperEnds } from "./stepper.js";
|
|
21
21
|
export { TranscriptViewport, assertTranscriptViewportFrameDescriptor } from "./transcript-viewport.js";
|
|
22
22
|
export { RAIL_COLUMNS, renderEmptyState, withScrollbarRail } from "./surface.js";
|
|
@@ -1,26 +1,16 @@
|
|
|
1
|
-
export type UiTimeFormat = "20:00" | "8:00 PM";
|
|
2
|
-
/** Deterministic local hour/minute presentation shared by A1-owned time labels. */
|
|
3
|
-
export declare function formatLocalTime(source: Date | number, format?: UiTimeFormat): string | null;
|
|
4
1
|
/** Visible width of the submitted-prompt prefix (` ❯ `). */
|
|
5
2
|
export declare const SUBMITTED_PROMPT_PREFIX_WIDTH = 3;
|
|
6
3
|
export interface SubmittedPromptStyle {
|
|
7
4
|
readonly prefix?: (text: string) => string;
|
|
8
|
-
readonly timestamp?: (text: string) => string;
|
|
9
5
|
}
|
|
10
6
|
export interface SubmittedPromptLayout {
|
|
11
7
|
readonly contentWidth: number;
|
|
12
|
-
readonly timestamp: string | null;
|
|
13
8
|
}
|
|
14
|
-
/**
|
|
15
|
-
export declare function
|
|
16
|
-
/**
|
|
17
|
-
* Computes the width at which the prompt's Markdown body must be rendered.
|
|
18
|
-
* The timestamp is omitted rather than allowing it to crowd useful content.
|
|
19
|
-
*/
|
|
20
|
-
export declare function submittedPromptLayout(width: number, source?: Date | number | null, format?: UiTimeFormat): SubmittedPromptLayout;
|
|
9
|
+
/** Computes the width at which the prompt's Markdown body must be rendered. */
|
|
10
|
+
export declare function submittedPromptLayout(width: number): SubmittedPromptLayout;
|
|
21
11
|
/**
|
|
22
12
|
* Composes already-rendered prompt content into the compact submitted bar.
|
|
23
13
|
* Continuations align below the content, not below the prefix, and no row can
|
|
24
14
|
* exceed the supplied terminal width even when the content renderer misbehaves.
|
|
25
15
|
*/
|
|
26
|
-
export declare function composeSubmittedPromptRows(contentRows: readonly string[], width: number,
|
|
16
|
+
export declare function composeSubmittedPromptRows(contentRows: readonly string[], width: number, style?: SubmittedPromptStyle): readonly string[];
|
|
@@ -1,57 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
/** Deterministic local hour/minute presentation shared by A1-owned time labels. */
|
|
3
|
-
export function formatLocalTime(source, format = "8:00 PM") {
|
|
4
|
-
const date = source instanceof Date ? source : new Date(source);
|
|
5
|
-
if (!Number.isFinite(date.getTime()))
|
|
6
|
-
return null;
|
|
7
|
-
const hour = date.getHours();
|
|
8
|
-
const minute = String(date.getMinutes()).padStart(2, "0");
|
|
9
|
-
if (format === "20:00")
|
|
10
|
-
return `${String(hour).padStart(2, "0")}:${minute}`;
|
|
11
|
-
return `${hour % 12 || 12}:${minute} ${hour < 12 ? "AM" : "PM"}`;
|
|
12
|
-
}
|
|
1
|
+
import { truncateToWidth } from "./text.js";
|
|
13
2
|
/** Visible width of the submitted-prompt prefix (` ❯ `). */
|
|
14
3
|
export const SUBMITTED_PROMPT_PREFIX_WIDTH = 3;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
export function formatSubmittedPromptTime(source, format = "8:00 PM") {
|
|
19
|
-
return formatLocalTime(source, format);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Computes the width at which the prompt's Markdown body must be rendered.
|
|
23
|
-
* The timestamp is omitted rather than allowing it to crowd useful content.
|
|
24
|
-
*/
|
|
25
|
-
export function submittedPromptLayout(width, source, format = "8:00 PM") {
|
|
26
|
-
const boundedWidth = Math.max(1, width);
|
|
27
|
-
const timestamp = source === undefined || source === null ? null : formatSubmittedPromptTime(source, format);
|
|
28
|
-
const timestampReserve = timestamp === null ? 0 : displayWidth(timestamp) + TIMESTAMP_MARGIN;
|
|
29
|
-
const canShowTimestamp = timestamp !== null
|
|
30
|
-
&& boundedWidth - SUBMITTED_PROMPT_PREFIX_WIDTH - timestampReserve >= MIN_USEFUL_CONTENT_WIDTH;
|
|
31
|
-
return {
|
|
32
|
-
contentWidth: Math.max(1, boundedWidth - SUBMITTED_PROMPT_PREFIX_WIDTH - (canShowTimestamp ? timestampReserve : 0)),
|
|
33
|
-
timestamp: canShowTimestamp ? timestamp : null,
|
|
34
|
-
};
|
|
4
|
+
/** Computes the width at which the prompt's Markdown body must be rendered. */
|
|
5
|
+
export function submittedPromptLayout(width) {
|
|
6
|
+
return { contentWidth: Math.max(1, Math.max(1, width) - SUBMITTED_PROMPT_PREFIX_WIDTH) };
|
|
35
7
|
}
|
|
36
8
|
/**
|
|
37
9
|
* Composes already-rendered prompt content into the compact submitted bar.
|
|
38
10
|
* Continuations align below the content, not below the prefix, and no row can
|
|
39
11
|
* exceed the supplied terminal width even when the content renderer misbehaves.
|
|
40
12
|
*/
|
|
41
|
-
export function composeSubmittedPromptRows(contentRows, width,
|
|
13
|
+
export function composeSubmittedPromptRows(contentRows, width, style = {}) {
|
|
42
14
|
if (width <= 0)
|
|
43
15
|
return [];
|
|
44
|
-
const layout = submittedPromptLayout(width
|
|
16
|
+
const layout = submittedPromptLayout(width);
|
|
45
17
|
const prefix = (style.prefix ?? identity)(" ❯ ");
|
|
46
|
-
|
|
18
|
+
return (contentRows.length === 0 ? [""] : contentRows).map((row, index) => {
|
|
47
19
|
const content = truncateToWidth(row, layout.contentWidth);
|
|
48
|
-
return `${index === 0 ? prefix : " ".repeat(SUBMITTED_PROMPT_PREFIX_WIDTH)}${content}
|
|
20
|
+
return truncateToWidth(`${index === 0 ? prefix : " ".repeat(SUBMITTED_PROMPT_PREFIX_WIDTH)}${content}`, width);
|
|
49
21
|
});
|
|
50
|
-
if (layout.timestamp !== null && rows[0] !== undefined) {
|
|
51
|
-
const gap = Math.max(1, width - displayWidth(rows[0]) - displayWidth(layout.timestamp));
|
|
52
|
-
rows[0] = `${rows[0]}${" ".repeat(gap)}${(style.timestamp ?? identity)(layout.timestamp)}`;
|
|
53
|
-
}
|
|
54
|
-
return rows.map(row => truncateToWidth(row, width));
|
|
55
22
|
}
|
|
56
23
|
function identity(text) {
|
|
57
24
|
return text;
|
|
@@ -4,10 +4,8 @@ export interface TranscriptPromptAnchor {
|
|
|
4
4
|
readonly id: string;
|
|
5
5
|
readonly firstRow: number;
|
|
6
6
|
readonly lastRow: number;
|
|
7
|
-
/** The source first row, including its submitted-prompt styling
|
|
7
|
+
/** The source first row, including its submitted-prompt styling. */
|
|
8
8
|
readonly sourceRow: string;
|
|
9
|
-
/** Right-edge metadata cells omitted from semantic prompt copies. */
|
|
10
|
-
readonly copySuffixWidth?: number;
|
|
11
9
|
/** Optional source-styled row used only while prominent and not hovered. */
|
|
12
10
|
readonly prominentSourceRow?: string;
|
|
13
11
|
}
|
|
@@ -266,10 +266,7 @@ export class TranscriptViewport {
|
|
|
266
266
|
const dock = anchor?.kind === "dock" ? this.#copyableDockRows.get(anchor.fromBottom) : undefined;
|
|
267
267
|
if (prompt !== undefined && anchor?.kind === "document") {
|
|
268
268
|
const first = anchor.row === prompt.firstRow;
|
|
269
|
-
|
|
270
|
-
? truncateToWidth(row, Math.max(0, displayWidth(row) - (prompt.copySuffixWidth ?? 0)))
|
|
271
|
-
: row;
|
|
272
|
-
return selectionCopyLineContent(copyRow, first ? "first" : "continuation");
|
|
269
|
+
return selectionCopyLineContent(row, first ? "first" : "continuation");
|
|
273
270
|
}
|
|
274
271
|
// Invariant: the dock editor has no prefix; transcript prompts still carry chrome.
|
|
275
272
|
return dock?.prompt !== undefined ? usefulTextLineContent(row, 1) : usefulTextLineContent(row);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const OWNED_UI_SETTINGS_VERSION =
|
|
1
|
+
export declare const OWNED_UI_SETTINGS_VERSION = 21;
|
|
2
2
|
export type OwnedUiSettingValue = string | number | boolean;
|
|
3
3
|
export type OwnedUiSettingApplication = "live" | "restart";
|
|
4
4
|
export interface OwnedUiSettingDeclaration {
|
|
@@ -30,22 +30,10 @@ export declare const OWNED_SETTING_DECLARATIONS: Readonly<{
|
|
|
30
30
|
id: "generic";
|
|
31
31
|
title: "Generic";
|
|
32
32
|
}>;
|
|
33
|
-
description: "Auto checks the running channel every 15 minutes while open and installs verified updates silently
|
|
33
|
+
description: "Auto checks the running channel every 15 minutes while open and installs verified updates silently, then shows Update installed, restart to update; the next start runs it. No leaves updates manual. Applies on next start.";
|
|
34
34
|
application: "restart";
|
|
35
35
|
defaultValue: "auto";
|
|
36
|
-
allowedValues: readonly ["auto", "
|
|
37
|
-
}>;
|
|
38
|
-
readonly timeFormat: Readonly<{
|
|
39
|
-
id: "timeFormat";
|
|
40
|
-
label: "Time format";
|
|
41
|
-
section: Readonly<{
|
|
42
|
-
id: "generic";
|
|
43
|
-
title: "Generic";
|
|
44
|
-
}>;
|
|
45
|
-
description: "Format used by submitted-prompt timestamps and the resident tab clock when Time is enabled.";
|
|
46
|
-
application: "live";
|
|
47
|
-
defaultValue: "8:00 PM";
|
|
48
|
-
allowedValues: readonly ["20:00", "8:00 PM"];
|
|
36
|
+
allowedValues: readonly ["auto", "no"];
|
|
49
37
|
}>;
|
|
50
38
|
readonly accentColor: Readonly<{
|
|
51
39
|
id: "accentColor";
|
|
@@ -191,88 +179,6 @@ export declare const OWNED_SETTING_DECLARATIONS: Readonly<{
|
|
|
191
179
|
defaultValue: 8;
|
|
192
180
|
allowedValues: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
|
|
193
181
|
}>;
|
|
194
|
-
readonly tabsPosition: Readonly<{
|
|
195
|
-
id: "tabsPosition";
|
|
196
|
-
label: "Position";
|
|
197
|
-
section: Readonly<{
|
|
198
|
-
id: "tabs";
|
|
199
|
-
title: "Tab Bar";
|
|
200
|
-
}>;
|
|
201
|
-
description: "Place the resident tab bar at the top or bottom of the terminal.";
|
|
202
|
-
application: "live";
|
|
203
|
-
defaultValue: "top";
|
|
204
|
-
allowedValues: readonly ["top", "bottom"];
|
|
205
|
-
}>;
|
|
206
|
-
readonly tabBarPlusMenu: Readonly<{
|
|
207
|
-
id: "tabBarPlusMenu";
|
|
208
|
-
label: "Plus menu";
|
|
209
|
-
section: Readonly<{
|
|
210
|
-
id: "tabs";
|
|
211
|
-
title: "Tab Bar";
|
|
212
|
-
}>;
|
|
213
|
-
description: "The tabs + offers. With only Agent, + adds an Agent at once; with more, it opens a menu; with none, + is hidden.";
|
|
214
|
-
application: "live";
|
|
215
|
-
defaultValue: "agent";
|
|
216
|
-
allowedValues: readonly ["", "agent", "settings", "changelog", "agent,settings", "agent,changelog", "settings,changelog", "agent,settings,changelog"];
|
|
217
|
-
flags: readonly (Readonly<{
|
|
218
|
-
key: "agent";
|
|
219
|
-
label: "Agent";
|
|
220
|
-
description: "Add a new Agent tab every time.";
|
|
221
|
-
}> | Readonly<{
|
|
222
|
-
key: "settings";
|
|
223
|
-
label: "Settings";
|
|
224
|
-
description: "Show the one Settings tab.";
|
|
225
|
-
}> | Readonly<{
|
|
226
|
-
key: "changelog";
|
|
227
|
-
label: "Changelog";
|
|
228
|
-
description: "Show the one Changelog tab.";
|
|
229
|
-
}>)[];
|
|
230
|
-
}>;
|
|
231
|
-
readonly tabBarRightItems: Readonly<{
|
|
232
|
-
id: "tabBarRightItems";
|
|
233
|
-
label: "Widgets";
|
|
234
|
-
section: Readonly<{
|
|
235
|
-
id: "tabs";
|
|
236
|
-
title: "Tab Bar";
|
|
237
|
-
}>;
|
|
238
|
-
description: "Choose whether the tab bar's right side shows the executing Version, Time, both, or neither.";
|
|
239
|
-
application: "live";
|
|
240
|
-
defaultValue: "version,time";
|
|
241
|
-
allowedValues: readonly ["", "version", "time", "version,time"];
|
|
242
|
-
flags: readonly (Readonly<{
|
|
243
|
-
key: "version";
|
|
244
|
-
label: "Version";
|
|
245
|
-
description: "Show the executing A1 version.";
|
|
246
|
-
}> | Readonly<{
|
|
247
|
-
key: "time";
|
|
248
|
-
label: "Time";
|
|
249
|
-
description: "Show the current time.";
|
|
250
|
-
}>)[];
|
|
251
|
-
}>;
|
|
252
|
-
readonly tabBarBackgroundStyle: Readonly<{
|
|
253
|
-
id: "tabBarBackgroundStyle";
|
|
254
|
-
label: "Background";
|
|
255
|
-
section: Readonly<{
|
|
256
|
-
id: "tabs";
|
|
257
|
-
title: "Tab Bar";
|
|
258
|
-
}>;
|
|
259
|
-
description: "Tab-bar canvas.";
|
|
260
|
-
application: "live";
|
|
261
|
-
defaultValue: "transparent";
|
|
262
|
-
allowedValues: readonly ["transparent", "black", "accent"];
|
|
263
|
-
}>;
|
|
264
|
-
readonly tabsAutoName: Readonly<{
|
|
265
|
-
id: "tabsAutoName";
|
|
266
|
-
label: "Auto name";
|
|
267
|
-
section: Readonly<{
|
|
268
|
-
id: "tabs";
|
|
269
|
-
title: "Tab Bar";
|
|
270
|
-
}>;
|
|
271
|
-
description: "Automatically name a new tab from its first completed turn with the tab's current model.";
|
|
272
|
-
application: "live";
|
|
273
|
-
defaultValue: true;
|
|
274
|
-
allowedValues: readonly [true, false];
|
|
275
|
-
}>;
|
|
276
182
|
}>;
|
|
277
183
|
export type OwnedSettingId = keyof typeof OWNED_SETTING_DECLARATIONS;
|
|
278
184
|
export type OwnedSettingValueOf<Id extends OwnedSettingId> = (typeof OWNED_SETTING_DECLARATIONS)[Id]["allowedValues"][number];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const OWNED_UI_SETTINGS_VERSION =
|
|
1
|
+
export const OWNED_UI_SETTINGS_VERSION = 21;
|
|
2
2
|
const UI_ACCENT_COLOR_CHOICES = Object.freeze([
|
|
3
3
|
"blue", "purple", "cyan", "green", "orange", "pink",
|
|
4
4
|
]);
|
|
@@ -8,43 +8,15 @@ const GENERIC_SECTION = Object.freeze({ id: "generic", title: "Generic" });
|
|
|
8
8
|
const APPEARANCE_SECTION = Object.freeze({ id: "appearance", title: "Appearance" });
|
|
9
9
|
const SCROLL_SECTION = Object.freeze({ id: "scroll", title: "Scroll" });
|
|
10
10
|
const AGENT_SECTION = Object.freeze({ id: "agent", title: "Agent" });
|
|
11
|
-
const TABS_SECTION = Object.freeze({ id: "tabs", title: "Tab Bar" });
|
|
12
|
-
/** The tab kinds the strip's `+` can offer, in the order it shows them. */
|
|
13
|
-
const PLUS_MENU_KINDS = Object.freeze([
|
|
14
|
-
Object.freeze({ key: "agent", label: "Agent", description: "Add a new Agent tab every time." }),
|
|
15
|
-
Object.freeze({ key: "settings", label: "Settings", description: "Show the one Settings tab." }),
|
|
16
|
-
Object.freeze({ key: "changelog", label: "Changelog", description: "Show the one Changelog tab." }),
|
|
17
|
-
]);
|
|
18
|
-
/** Every enabled subset of the plus-menu kinds, each in kind order. */
|
|
19
|
-
const PLUS_MENU_VALUES = Object.freeze([
|
|
20
|
-
"", "agent", "settings", "changelog", "agent,settings", "agent,changelog", "settings,changelog", "agent,settings,changelog",
|
|
21
|
-
]);
|
|
22
|
-
/** The right-side strip items, in their fixed presentation order. */
|
|
23
|
-
const TAB_BAR_RIGHT_ITEMS = Object.freeze([
|
|
24
|
-
Object.freeze({ key: "version", label: "Version", description: "Show the executing A1 version." }),
|
|
25
|
-
Object.freeze({ key: "time", label: "Time", description: "Show the current time." }),
|
|
26
|
-
]);
|
|
27
|
-
const TAB_BAR_RIGHT_ITEM_VALUES = Object.freeze(["", "version", "time", "version,time"]);
|
|
28
11
|
export const OWNED_SETTING_DECLARATIONS = Object.freeze({
|
|
29
12
|
updateCheck: Object.freeze({
|
|
30
13
|
id: "updateCheck",
|
|
31
14
|
label: "Update",
|
|
32
15
|
section: GENERIC_SECTION,
|
|
33
|
-
description: "Auto checks the running channel every 15 minutes while open and installs verified updates silently
|
|
16
|
+
description: "Auto checks the running channel every 15 minutes while open and installs verified updates silently, then shows Update installed, restart to update; the next start runs it. No leaves updates manual. Applies on next start.",
|
|
34
17
|
application: "restart",
|
|
35
18
|
defaultValue: "auto",
|
|
36
|
-
allowedValues: Object.freeze(["auto", "
|
|
37
|
-
}),
|
|
38
|
-
timeFormat: Object.freeze({
|
|
39
|
-
id: "timeFormat",
|
|
40
|
-
label: "Time format",
|
|
41
|
-
section: GENERIC_SECTION,
|
|
42
|
-
description: "Format used by submitted-prompt timestamps and the resident tab clock when Time is enabled.",
|
|
43
|
-
application: "live",
|
|
44
|
-
defaultValue: "8:00 PM",
|
|
45
|
-
allowedValues: Object.freeze([
|
|
46
|
-
"20:00", "8:00 PM",
|
|
47
|
-
]),
|
|
19
|
+
allowedValues: Object.freeze(["auto", "no"]),
|
|
48
20
|
}),
|
|
49
21
|
accentColor: Object.freeze({
|
|
50
22
|
id: "accentColor",
|
|
@@ -156,53 +128,6 @@ export const OWNED_SETTING_DECLARATIONS = Object.freeze({
|
|
|
156
128
|
defaultValue: 8,
|
|
157
129
|
allowedValues: Object.freeze([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]),
|
|
158
130
|
}),
|
|
159
|
-
tabsPosition: Object.freeze({
|
|
160
|
-
id: "tabsPosition",
|
|
161
|
-
label: "Position",
|
|
162
|
-
section: TABS_SECTION,
|
|
163
|
-
description: "Place the resident tab bar at the top or bottom of the terminal.",
|
|
164
|
-
application: "live",
|
|
165
|
-
defaultValue: "top",
|
|
166
|
-
allowedValues: Object.freeze(["top", "bottom"]),
|
|
167
|
-
}),
|
|
168
|
-
tabBarPlusMenu: Object.freeze({
|
|
169
|
-
id: "tabBarPlusMenu",
|
|
170
|
-
label: "Plus menu",
|
|
171
|
-
section: TABS_SECTION,
|
|
172
|
-
description: "The tabs + offers. With only Agent, + adds an Agent at once; with more, it opens a menu; with none, + is hidden.",
|
|
173
|
-
application: "live",
|
|
174
|
-
defaultValue: "agent",
|
|
175
|
-
allowedValues: PLUS_MENU_VALUES,
|
|
176
|
-
flags: PLUS_MENU_KINDS,
|
|
177
|
-
}),
|
|
178
|
-
tabBarRightItems: Object.freeze({
|
|
179
|
-
id: "tabBarRightItems",
|
|
180
|
-
label: "Widgets",
|
|
181
|
-
section: TABS_SECTION,
|
|
182
|
-
description: "Choose whether the tab bar's right side shows the executing Version, Time, both, or neither.",
|
|
183
|
-
application: "live",
|
|
184
|
-
defaultValue: "version,time",
|
|
185
|
-
allowedValues: TAB_BAR_RIGHT_ITEM_VALUES,
|
|
186
|
-
flags: TAB_BAR_RIGHT_ITEMS,
|
|
187
|
-
}),
|
|
188
|
-
tabBarBackgroundStyle: Object.freeze({
|
|
189
|
-
id: "tabBarBackgroundStyle",
|
|
190
|
-
label: "Background",
|
|
191
|
-
section: TABS_SECTION,
|
|
192
|
-
description: "Tab-bar canvas.",
|
|
193
|
-
application: "live",
|
|
194
|
-
defaultValue: "transparent",
|
|
195
|
-
allowedValues: Object.freeze(["transparent", "black", "accent"]),
|
|
196
|
-
}),
|
|
197
|
-
tabsAutoName: Object.freeze({
|
|
198
|
-
id: "tabsAutoName",
|
|
199
|
-
label: "Auto name",
|
|
200
|
-
section: TABS_SECTION,
|
|
201
|
-
description: "Automatically name a new tab from its first completed turn with the tab's current model.",
|
|
202
|
-
application: "live",
|
|
203
|
-
defaultValue: true,
|
|
204
|
-
allowedValues: Object.freeze([true, false]),
|
|
205
|
-
}),
|
|
206
131
|
});
|
|
207
132
|
export const OWNED_UI_SETTING_DECLARATIONS = Object.freeze(Object.values(OWNED_SETTING_DECLARATIONS));
|
|
208
133
|
export function isOwnedSettingId(id) {
|
|
@@ -162,6 +162,22 @@ export const OWNED_UI_SETTINGS_MIGRATIONS = Object.freeze([
|
|
|
162
162
|
return { ...values };
|
|
163
163
|
},
|
|
164
164
|
}),
|
|
165
|
+
Object.freeze({
|
|
166
|
+
to: 21,
|
|
167
|
+
description: "Retire tab-bar and time-format settings and reduce updates to auto or no.",
|
|
168
|
+
migrate(values) {
|
|
169
|
+
const migrated = { ...values };
|
|
170
|
+
// Compatibility: notify and the legacy boolean both meant "look for updates"; auto now does that.
|
|
171
|
+
if (migrated.updateCheck === "notify" || migrated.updateCheck === true)
|
|
172
|
+
migrated.updateCheck = "auto";
|
|
173
|
+
if (migrated.updateCheck === false)
|
|
174
|
+
migrated.updateCheck = "no";
|
|
175
|
+
for (const key of ["tabsPosition", "tabBarPlusMenu", "tabBarRightItems", "tabBarBackgroundStyle", "tabsAutoName", "timeFormat"]) {
|
|
176
|
+
delete migrated[key];
|
|
177
|
+
}
|
|
178
|
+
return migrated;
|
|
179
|
+
},
|
|
180
|
+
}),
|
|
165
181
|
]);
|
|
166
182
|
/** Shape-selected compatibility for the metadata-free product object. */
|
|
167
183
|
export function normalizeOwnedUiSettingsValues(source) {
|
|
@@ -171,8 +187,8 @@ export function normalizeOwnedUiSettingsValues(source) {
|
|
|
171
187
|
values.scrollbarAppearance = "auto";
|
|
172
188
|
if (values.accentColor === "default")
|
|
173
189
|
values.accentColor = "purple";
|
|
174
|
-
if (values.updateCheck === true)
|
|
175
|
-
values.updateCheck = "
|
|
190
|
+
if (values.updateCheck === true || values.updateCheck === "notify")
|
|
191
|
+
values.updateCheck = "auto";
|
|
176
192
|
else if (values.updateCheck === false)
|
|
177
193
|
values.updateCheck = "no";
|
|
178
194
|
if (values.quitEffect === "off") {
|