@astrale-os/cli 1.0.0-beta.8 → 1.0.0-npm-deprecated.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -166
- package/package.json +10 -102
- package/.check-workspace.cjs +0 -40
- package/LICENSE +0 -202
- package/THIRD-PARTY-NOTICES.md +0 -27
- package/dist/astrale.js +0 -93172
- package/dist/public/connect-core.js +0 -29187
- package/dist/public/keys/index.js +0 -5651
- package/dist/public/paths/index.js +0 -4282
- package/dist/types/admin/instance/model.d.ts +0 -39
- package/dist/types/connect-core.d.ts +0 -22
- package/dist/types/connection/auth.d.ts +0 -36
- package/dist/types/errors.d.ts +0 -23
- package/dist/types/identity/registry.d.ts +0 -25
- package/dist/types/keys/algorithm.d.ts +0 -6
- package/dist/types/keys/credential.d.ts +0 -21
- package/dist/types/keys/index.d.ts +0 -4
- package/dist/types/keys/pair.d.ts +0 -34
- package/dist/types/lib/admin-target.d.ts +0 -78
- package/dist/types/lib/ca-fetch.d.ts +0 -2
- package/dist/types/lib/config.d.ts +0 -71
- package/dist/types/lib/failure-debug.d.ts +0 -1
- package/dist/types/lib/format.d.ts +0 -1
- package/dist/types/lib/idp-session.d.ts +0 -33
- package/dist/types/lib/idp.d.ts +0 -404
- package/dist/types/lib/instance-target.d.ts +0 -38
- package/dist/types/lib/instance.d.ts +0 -196
- package/dist/types/lib/invocation.d.ts +0 -3
- package/dist/types/lib/log.d.ts +0 -33
- package/dist/types/lib/login-flow.d.ts +0 -49
- package/dist/types/lib/meta.d.ts +0 -36
- package/dist/types/lib/output.d.ts +0 -87
- package/dist/types/lib/proc.d.ts +0 -43
- package/dist/types/lib/table.d.ts +0 -18
- package/dist/types/lib/update.d.ts +0 -131
- package/dist/types/lib/validation.d.ts +0 -11
- package/dist/types/paths/index.d.ts +0 -2
- package/dist/types/state/exchange-credentials.d.ts +0 -25
- package/dist/types/state/files.d.ts +0 -9
- package/dist/types/state/identities.d.ts +0 -42
- package/dist/types/state/index.d.ts +0 -8
- package/dist/types/state/paths.d.ts +0 -32
- package/src/__tests__/fixtures/publication.ts +0 -20
- package/src/admin/.spec/api.d.ts +0 -3
- package/src/admin/.spec/architecture.md +0 -15
- package/src/admin/.spec/icon.svg +0 -3
- package/src/admin/.spec/layout.ts +0 -6
- package/src/admin/__tests__/binding.test.ts +0 -31
- package/src/admin/__tests__/fixture.ts +0 -101
- package/src/admin/binding.ts +0 -98
- package/src/admin/catalog/.spec/api.d.ts +0 -65
- package/src/admin/catalog/.spec/architecture.md +0 -6
- package/src/admin/catalog/.spec/icon.svg +0 -3
- package/src/admin/catalog/.spec/layout.ts +0 -6
- package/src/admin/catalog/__tests__/client.test.ts +0 -142
- package/src/admin/catalog/client.ts +0 -218
- package/src/admin/catalog/index.ts +0 -13
- package/src/admin/catalog/model.ts +0 -41
- package/src/admin/catalog/tsconfig.json +0 -8
- package/src/admin/graph/.spec/api.d.ts +0 -22
- package/src/admin/graph/.spec/architecture.md +0 -5
- package/src/admin/graph/.spec/icon.svg +0 -3
- package/src/admin/graph/.spec/layout.ts +0 -3
- package/src/admin/graph/index.ts +0 -6
- package/src/admin/graph/nodes.ts +0 -56
- package/src/admin/index.ts +0 -2
- package/src/admin/instance/.spec/api.d.ts +0 -66
- package/src/admin/instance/.spec/architecture.md +0 -10
- package/src/admin/instance/.spec/icon.svg +0 -3
- package/src/admin/instance/.spec/layout.ts +0 -6
- package/src/admin/instance/__tests__/client.test.ts +0 -266
- package/src/admin/instance/client.ts +0 -290
- package/src/admin/instance/index.ts +0 -16
- package/src/admin/instance/model.ts +0 -66
- package/src/admin/instance/tsconfig.json +0 -8
- package/src/commands/__tests__/admin-instance.test.ts +0 -88
- package/src/commands/__tests__/auth-login.test.ts +0 -231
- package/src/commands/__tests__/auth-token.test.ts +0 -223
- package/src/commands/__tests__/call-describe.test.ts +0 -80
- package/src/commands/__tests__/call.test.ts +0 -29
- package/src/commands/__tests__/domain-install-operation.test.ts +0 -126
- package/src/commands/__tests__/domain-install-owned.test.ts +0 -191
- package/src/commands/__tests__/domain-list.test.ts +0 -133
- package/src/commands/__tests__/domain-uninstall.test.ts +0 -53
- package/src/commands/__tests__/install-direct.test.ts +0 -21
- package/src/commands/__tests__/install-identity-override.test.ts +0 -76
- package/src/commands/__tests__/instance-bookmark.test.ts +0 -166
- package/src/commands/__tests__/instance-create-hosts.test.ts +0 -29
- package/src/commands/__tests__/instance-list-admin.test.ts +0 -26
- package/src/commands/__tests__/instance-list-rows.test.ts +0 -64
- package/src/commands/__tests__/instance-use.test.ts +0 -67
- package/src/commands/__tests__/introspect-parse.test.ts +0 -21
- package/src/commands/__tests__/logs.test.ts +0 -97
- package/src/commands/__tests__/read-commands.test.ts +0 -294
- package/src/commands/__tests__/setup-plan.test.ts +0 -61
- package/src/commands/__tests__/studio-descriptor.test.ts +0 -22
- package/src/commands/__tests__/token-ttl.test.ts +0 -21
- package/src/commands/__tests__/update.test.ts +0 -95
- package/src/commands/__tests__/view-build.test.ts +0 -58
- package/src/commands/__tests__/view.test.ts +0 -149
- package/src/commands/admin/status.ts +0 -61
- package/src/commands/admin/use.ts +0 -100
- package/src/commands/auth/login.ts +0 -82
- package/src/commands/auth/logout.ts +0 -52
- package/src/commands/auth/status.ts +0 -86
- package/src/commands/auth/token.ts +0 -174
- package/src/commands/browser.ts +0 -207
- package/src/commands/call-describe.ts +0 -123
- package/src/commands/call.ts +0 -205
- package/src/commands/domain/install.ts +0 -548
- package/src/commands/domain/list.ts +0 -155
- package/src/commands/domain/publish.ts +0 -133
- package/src/commands/domain/uninstall.ts +0 -128
- package/src/commands/get.ts +0 -69
- package/src/commands/identity/__tests__/register.test.ts +0 -93
- package/src/commands/identity/create.ts +0 -35
- package/src/commands/identity/delete.ts +0 -24
- package/src/commands/identity/export.ts +0 -46
- package/src/commands/identity/import.ts +0 -61
- package/src/commands/identity/list.ts +0 -56
- package/src/commands/identity/register.ts +0 -196
- package/src/commands/identity/sync.ts +0 -38
- package/src/commands/identity/unsync.ts +0 -34
- package/src/commands/identity/use.ts +0 -24
- package/src/commands/identity/whoami.ts +0 -34
- package/src/commands/idp/add.ts +0 -150
- package/src/commands/idp/list.ts +0 -57
- package/src/commands/idp/refresh.ts +0 -38
- package/src/commands/idp/remove.ts +0 -36
- package/src/commands/idp/show.ts +0 -29
- package/src/commands/instance/active.ts +0 -73
- package/src/commands/instance/bookmark.ts +0 -101
- package/src/commands/instance/create.ts +0 -69
- package/src/commands/instance/delete.ts +0 -68
- package/src/commands/instance/forget.ts +0 -26
- package/src/commands/instance/list.ts +0 -197
- package/src/commands/instance/status.ts +0 -38
- package/src/commands/instance/use.ts +0 -259
- package/src/commands/introspect.ts +0 -110
- package/src/commands/logs.ts +0 -283
- package/src/commands/mutate.ts +0 -122
- package/src/commands/query.ts +0 -136
- package/src/commands/session/analyze.ts +0 -50
- package/src/commands/session/list.ts +0 -36
- package/src/commands/setup.ts +0 -54
- package/src/commands/status.ts +0 -60
- package/src/commands/studio.ts +0 -434
- package/src/commands/token.ts +0 -107
- package/src/commands/update.ts +0 -334
- package/src/commands/use.ts +0 -86
- package/src/commands/view-serve.ts +0 -26
- package/src/commands/view.ts +0 -614
- package/src/connect-core.test.ts +0 -38
- package/src/connect-core.ts +0 -42
- package/src/connection/.spec/api.d.ts +0 -110
- package/src/connection/.spec/architecture.md +0 -47
- package/src/connection/.spec/capabilities/connection.ts +0 -13
- package/src/connection/.spec/examples/call.ts +0 -7
- package/src/connection/.spec/flows/command.ts +0 -20
- package/src/connection/.spec/flows/session.ts +0 -61
- package/src/connection/.spec/laws/connection.ts +0 -205
- package/src/connection/.spec/layout.ts +0 -21
- package/src/connection/__tests__/auth.test.ts +0 -128
- package/src/connection/__tests__/ca-fetch.test.ts +0 -60
- package/src/connection/__tests__/call.test.ts +0 -17
- package/src/connection/__tests__/credential.test.ts +0 -119
- package/src/connection/__tests__/errors.test.ts +0 -577
- package/src/connection/__tests__/exchange.test.ts +0 -295
- package/src/connection/__tests__/failure-fixtures.ts +0 -39
- package/src/connection/__tests__/failure-safety.test.ts +0 -75
- package/src/connection/__tests__/fixtures/localhost-cert.pem +0 -19
- package/src/connection/__tests__/fixtures/localhost-key.base64 +0 -1
- package/src/connection/__tests__/managed.test.ts +0 -39
- package/src/connection/__tests__/reasons.test.ts +0 -78
- package/src/connection/__tests__/self.test.ts +0 -71
- package/src/connection/__tests__/session.test.ts +0 -140
- package/src/connection/__tests__/target.test.ts +0 -93
- package/src/connection/auth.ts +0 -236
- package/src/connection/call.ts +0 -7
- package/src/connection/command.ts +0 -67
- package/src/connection/credential.ts +0 -117
- package/src/connection/errors.ts +0 -1
- package/src/connection/exchange.ts +0 -311
- package/src/connection/failure/classify.ts +0 -110
- package/src/connection/failure/index.ts +0 -18
- package/src/connection/failure/model.ts +0 -28
- package/src/connection/failure/render.ts +0 -116
- package/src/connection/index.ts +0 -8
- package/src/connection/reasons.ts +0 -209
- package/src/connection/self.ts +0 -138
- package/src/connection/session.ts +0 -185
- package/src/connection/target.ts +0 -112
- package/src/connection/tsconfig.json +0 -6
- package/src/errors.ts +0 -66
- package/src/graph/.spec/api.d.ts +0 -41
- package/src/graph/.spec/laws/documents.ts +0 -24
- package/src/graph/.spec/laws/projection.ts +0 -13
- package/src/graph/.spec/layout.ts +0 -14
- package/src/graph/__tests__/mutation.test.ts +0 -51
- package/src/graph/__tests__/projection.test.ts +0 -22
- package/src/graph/__tests__/query.test.ts +0 -173
- package/src/graph/class.ts +0 -30
- package/src/graph/index.ts +0 -4
- package/src/graph/mutation.ts +0 -46
- package/src/graph/projection.ts +0 -21
- package/src/graph/query.ts +0 -97
- package/src/graph/tsconfig.json +0 -6
- package/src/identity/.history/ard/bootstrap-root-transfer.md +0 -57
- package/src/identity/.history/ard/domain-mediated-registration.md +0 -36
- package/src/identity/.spec/api.d.ts +0 -124
- package/src/identity/.spec/architecture.md +0 -33
- package/src/identity/.spec/capabilities/identity.ts +0 -7
- package/src/identity/.spec/flows/bootstrap-root.ts +0 -79
- package/src/identity/.spec/flows/domain-mediated-registration.ts +0 -51
- package/src/identity/.spec/flows/import.ts +0 -29
- package/src/identity/.spec/laws/identity.ts +0 -56
- package/src/identity/.spec/layout.ts +0 -13
- package/src/identity/.spec/schemas/identity-export-v1.schema.json +0 -25
- package/src/identity/__tests__/fixtures/registry-journey.ts +0 -53
- package/src/identity/__tests__/registration.test.ts +0 -64
- package/src/identity/__tests__/registry.test.ts +0 -70
- package/src/identity/__tests__/transfer.test.ts +0 -198
- package/src/identity/index.ts +0 -23
- package/src/identity/registration.ts +0 -72
- package/src/identity/registry.ts +0 -179
- package/src/identity/transfer.ts +0 -187
- package/src/identity/tsconfig.json +0 -6
- package/src/index.ts +0 -1
- package/src/keys/.spec/api.d.ts +0 -74
- package/src/keys/.spec/architecture.md +0 -13
- package/src/keys/.spec/laws/keys.ts +0 -43
- package/src/keys/.spec/layout.ts +0 -6
- package/src/keys/__tests__/algorithm.test.ts +0 -39
- package/src/keys/__tests__/keys.test.ts +0 -168
- package/src/keys/algorithm.ts +0 -33
- package/src/keys/credential.ts +0 -112
- package/src/keys/index.ts +0 -14
- package/src/keys/pair.ts +0 -219
- package/src/keys/tsconfig.json +0 -6
- package/src/lib/__tests__/admin-target.test.ts +0 -184
- package/src/lib/__tests__/binary.test.ts +0 -55
- package/src/lib/__tests__/command-dx.test.ts +0 -102
- package/src/lib/__tests__/concurrency.test.ts +0 -62
- package/src/lib/__tests__/config.test.ts +0 -54
- package/src/lib/__tests__/design.test.ts +0 -99
- package/src/lib/__tests__/domain-publication.test.ts +0 -133
- package/src/lib/__tests__/format.test.ts +0 -22
- package/src/lib/__tests__/idp-session.driver.ts +0 -53
- package/src/lib/__tests__/idp-session.test.ts +0 -379
- package/src/lib/__tests__/idp.test.ts +0 -415
- package/src/lib/__tests__/instance-candidates.test.ts +0 -148
- package/src/lib/__tests__/instance-target.test.ts +0 -212
- package/src/lib/__tests__/instance.test.ts +0 -192
- package/src/lib/__tests__/local-status.test.ts +0 -202
- package/src/lib/__tests__/log-errors.test.ts +0 -64
- package/src/lib/__tests__/log.test.ts +0 -31
- package/src/lib/__tests__/meta.test.ts +0 -55
- package/src/lib/__tests__/output.test.ts +0 -162
- package/src/lib/__tests__/panel.test.ts +0 -40
- package/src/lib/__tests__/port.test.ts +0 -44
- package/src/lib/__tests__/prompt.test.ts +0 -25
- package/src/lib/__tests__/sdk-deps.test.ts +0 -68
- package/src/lib/__tests__/self.test.ts +0 -50
- package/src/lib/__tests__/studio-server-deps.test.ts +0 -111
- package/src/lib/__tests__/table.test.ts +0 -53
- package/src/lib/__tests__/update.test.ts +0 -351
- package/src/lib/__tests__/use-target.test.ts +0 -56
- package/src/lib/__tests__/validation.test.ts +0 -34
- package/src/lib/__tests__/view-assets.test.ts +0 -146
- package/src/lib/__tests__/view-open-intent.test.ts +0 -280
- package/src/lib/__tests__/view-port-allocation.test.ts +0 -82
- package/src/lib/__tests__/view-server.test.ts +0 -68
- package/src/lib/__tests__/view-session.test.ts +0 -99
- package/src/lib/__tests__/view-snapshot.test.ts +0 -77
- package/src/lib/admin-domain.ts +0 -43
- package/src/lib/admin-instance.ts +0 -50
- package/src/lib/admin-target.ts +0 -290
- package/src/lib/binary.ts +0 -110
- package/src/lib/browser.ts +0 -150
- package/src/lib/ca-fetch.ts +0 -133
- package/src/lib/command-dx.ts +0 -188
- package/src/lib/concurrency.ts +0 -31
- package/src/lib/config.ts +0 -46
- package/src/lib/domain-publication.ts +0 -102
- package/src/lib/failure-debug.ts +0 -26
- package/src/lib/format.ts +0 -4
- package/src/lib/idp-session.ts +0 -134
- package/src/lib/idp.ts +0 -906
- package/src/lib/instance-candidates.ts +0 -49
- package/src/lib/instance-target.ts +0 -197
- package/src/lib/instance.ts +0 -463
- package/src/lib/invocation.ts +0 -11
- package/src/lib/local-status.ts +0 -152
- package/src/lib/log.ts +0 -143
- package/src/lib/login-flow.ts +0 -201
- package/src/lib/meta.ts +0 -90
- package/src/lib/output.ts +0 -238
- package/src/lib/panel.ts +0 -61
- package/src/lib/port.ts +0 -41
- package/src/lib/proc.ts +0 -82
- package/src/lib/prompt.ts +0 -136
- package/src/lib/provision-instance.ts +0 -162
- package/src/lib/sdk-deps.ts +0 -104
- package/src/lib/self.ts +0 -22
- package/src/lib/skills.ts +0 -171
- package/src/lib/table.ts +0 -62
- package/src/lib/update.ts +0 -409
- package/src/lib/use-target.ts +0 -24
- package/src/lib/validation.ts +0 -59
- package/src/lib/view/assets.ts +0 -78
- package/src/lib/view/open-intent.ts +0 -67
- package/src/lib/view/port-allocation.ts +0 -19
- package/src/lib/view/resolve.ts +0 -111
- package/src/lib/view/server.ts +0 -244
- package/src/lib/view/session.ts +0 -152
- package/src/lib/view/snapshot.ts +0 -101
- package/src/paths/.spec/api.d.ts +0 -13
- package/src/paths/.spec/architecture.md +0 -5
- package/src/paths/.spec/layout.ts +0 -3
- package/src/paths/index.ts +0 -13
- package/src/program/.spec/api.d.ts +0 -42
- package/src/program/.spec/architecture.md +0 -18
- package/src/program/.spec/laws/program.ts +0 -29
- package/src/program/.spec/layout.ts +0 -14
- package/src/program/__tests__/program.test.ts +0 -362
- package/src/program/build.ts +0 -183
- package/src/program/command.ts +0 -42
- package/src/program/index.ts +0 -2
- package/src/program/options.ts +0 -41
- package/src/program/registry.ts +0 -63
- package/src/program/tsconfig.json +0 -6
- package/src/setup/__tests__/instance-step.test.ts +0 -239
- package/src/setup/__tests__/util.test.ts +0 -29
- package/src/setup/engine.ts +0 -83
- package/src/setup/render.ts +0 -107
- package/src/setup/steps/admin.ts +0 -93
- package/src/setup/steps/agent-browser.ts +0 -81
- package/src/setup/steps/auth.ts +0 -54
- package/src/setup/steps/domain.ts +0 -68
- package/src/setup/steps/index.ts +0 -18
- package/src/setup/steps/instance.ts +0 -199
- package/src/setup/steps/skills-bridge.ts +0 -70
- package/src/setup/steps/skills.ts +0 -59
- package/src/setup/types.ts +0 -61
- package/src/setup/util.ts +0 -34
- package/src/state/.spec/api.d.ts +0 -133
- package/src/state/.spec/architecture.md +0 -31
- package/src/state/.spec/capabilities/state.ts +0 -7
- package/src/state/.spec/flows/identity-update.ts +0 -22
- package/src/state/.spec/laws/state.ts +0 -73
- package/src/state/.spec/layout.ts +0 -14
- package/src/state/__tests__/exchange-credentials.test.ts +0 -188
- package/src/state/__tests__/files.test.ts +0 -113
- package/src/state/__tests__/fixtures/identity-transition.ts +0 -37
- package/src/state/__tests__/identities.test.ts +0 -142
- package/src/state/__tests__/paths.test.ts +0 -27
- package/src/state/exchange-credentials.ts +0 -219
- package/src/state/files.ts +0 -129
- package/src/state/identities.ts +0 -229
- package/src/state/index.ts +0 -29
- package/src/state/paths.ts +0 -61
- package/src/state/tsconfig.json +0 -6
- package/src/telemetry/__tests__/gate.test.ts +0 -63
- package/src/telemetry/__tests__/recorder.test.ts +0 -110
- package/src/telemetry/__tests__/redact.test.ts +0 -79
- package/src/telemetry/__tests__/session.test.ts +0 -166
- package/src/telemetry/__tests__/trigger.test.ts +0 -49
- package/src/telemetry/adapters/__tests__/claude-code.test.ts +0 -89
- package/src/telemetry/adapters/__tests__/codex.test.ts +0 -138
- package/src/telemetry/adapters/__tests__/index.test.ts +0 -88
- package/src/telemetry/adapters/claude-code.ts +0 -90
- package/src/telemetry/adapters/codex.ts +0 -160
- package/src/telemetry/adapters/index.ts +0 -45
- package/src/telemetry/adapters/types.ts +0 -21
- package/src/telemetry/analyze.ts +0 -227
- package/src/telemetry/gate.ts +0 -79
- package/src/telemetry/recorder.ts +0 -57
- package/src/telemetry/redact.ts +0 -53
- package/src/telemetry/session.ts +0 -88
- package/src/telemetry/settings.ts +0 -26
- package/src/telemetry/store.ts +0 -91
- package/src/telemetry/trigger.ts +0 -119
- package/src/telemetry/types.ts +0 -64
- package/src/test-utils.ts +0 -18
- package/studio/client/dist/assets/elk-api-Di4OXGNH.js +0 -1
- package/studio/client/dist/assets/elk-worker.min-C9JGDOE-.js +0 -6312
- package/studio/client/dist/assets/index-BLm6J11H.js +0 -81
- package/studio/client/dist/assets/index-BiGR8Oo9.css +0 -1
- package/studio/client/dist/assets/index-ChOr3yP0.css +0 -1
- package/studio/client/dist/assets/index-DTjvkOUX.js +0 -8
- package/studio/client/dist/index.html +0 -13
- package/studio/package.json +0 -65
- package/studio/server/agent/ask.test.ts +0 -74
- package/studio/server/agent/ask.ts +0 -71
- package/studio/server/agent/bridge/client.test.ts +0 -49
- package/studio/server/agent/bridge/client.ts +0 -37
- package/studio/server/agent/bridge/grant.test.ts +0 -62
- package/studio/server/agent/bridge/grant.ts +0 -84
- package/studio/server/agent/bridge/routes.test.ts +0 -151
- package/studio/server/agent/bridge/routes.ts +0 -148
- package/studio/server/agent/bridge/stdio.ts +0 -195
- package/studio/server/agent/conversation.test.ts +0 -89
- package/studio/server/agent/conversation.ts +0 -158
- package/studio/server/agent/harness/adapter.ts +0 -171
- package/studio/server/agent/harness/claude/adapter.test.ts +0 -348
- package/studio/server/agent/harness/claude/adapter.ts +0 -71
- package/studio/server/agent/harness/claude/ask.ts +0 -114
- package/studio/server/agent/harness/claude/capabilities.ts +0 -27
- package/studio/server/agent/harness/claude/command.ts +0 -63
- package/studio/server/agent/harness/claude/events.ts +0 -215
- package/studio/server/agent/harness/claude/loadout.ts +0 -132
- package/studio/server/agent/harness/claude/mcp.test.ts +0 -36
- package/studio/server/agent/harness/claude/mcp.ts +0 -41
- package/studio/server/agent/harness/claude/skills.ts +0 -43
- package/studio/server/agent/harness/codex/adapter.test.ts +0 -269
- package/studio/server/agent/harness/codex/adapter.ts +0 -116
- package/studio/server/agent/harness/codex/ask.test.ts +0 -176
- package/studio/server/agent/harness/codex/ask.ts +0 -181
- package/studio/server/agent/harness/codex/command.test.ts +0 -69
- package/studio/server/agent/harness/codex/command.ts +0 -43
- package/studio/server/agent/harness/codex/events.test.ts +0 -94
- package/studio/server/agent/harness/codex/events.ts +0 -132
- package/studio/server/agent/harness/codex/exec.ts +0 -113
- package/studio/server/agent/harness/codex/loadout.ts +0 -60
- package/studio/server/agent/harness/codex/mcp.test.ts +0 -32
- package/studio/server/agent/harness/codex/mcp.ts +0 -27
- package/studio/server/agent/harness/codex/models.test.ts +0 -167
- package/studio/server/agent/harness/codex/models.ts +0 -211
- package/studio/server/agent/harness/codex/skills.ts +0 -33
- package/studio/server/agent/harness/gateway/config.test.ts +0 -98
- package/studio/server/agent/harness/gateway/config.ts +0 -214
- package/studio/server/agent/harness/gateway/token.test.ts +0 -133
- package/studio/server/agent/harness/gateway/token.ts +0 -166
- package/studio/server/agent/harness/mock/adapter.ts +0 -190
- package/studio/server/agent/harness/mock/domain-edit.ts +0 -41
- package/studio/server/agent/harness/process.test.ts +0 -46
- package/studio/server/agent/harness/process.ts +0 -104
- package/studio/server/agent/harness/registry.ts +0 -37
- package/studio/server/agent/harness/selection.test.ts +0 -75
- package/studio/server/agent/harness/selection.ts +0 -85
- package/studio/server/agent/harness/skills.test.ts +0 -95
- package/studio/server/agent/harness/skills.ts +0 -100
- package/studio/server/agent/layout.test.ts +0 -95
- package/studio/server/agent/notify.ts +0 -12
- package/studio/server/agent/prompts/anchors.test.ts +0 -70
- package/studio/server/agent/prompts/anchors.ts +0 -153
- package/studio/server/agent/prompts/ask.ts +0 -34
- package/studio/server/agent/prompts/system.test.ts +0 -13
- package/studio/server/agent/prompts/system.ts +0 -99
- package/studio/server/agent/prompts/turn.ts +0 -66
- package/studio/server/agent/routes.test.ts +0 -176
- package/studio/server/agent/routes.ts +0 -214
- package/studio/server/agent/run/completion.ts +0 -193
- package/studio/server/agent/run/coordinator.test.ts +0 -337
- package/studio/server/agent/run/coordinator.ts +0 -104
- package/studio/server/agent/run/live-state.ts +0 -73
- package/studio/server/agent/run/preparation.ts +0 -163
- package/studio/server/agent/run/transcript.test.ts +0 -81
- package/studio/server/agent/run/transcript.ts +0 -196
- package/studio/server/agent/run/usage.test.ts +0 -70
- package/studio/server/agent/run/usage.ts +0 -62
- package/studio/server/agent/stream.ts +0 -37
- package/studio/server/agent/telemetry.ts +0 -13
- package/studio/server/api/canvas.ts +0 -43
- package/studio/server/api/comments.ts +0 -85
- package/studio/server/api/context.ts +0 -61
- package/studio/server/api/deployment.ts +0 -39
- package/studio/server/api/documents.ts +0 -55
- package/studio/server/api/domain.ts +0 -59
- package/studio/server/api/http.ts +0 -45
- package/studio/server/api/project.ts +0 -57
- package/studio/server/api/schema.ts +0 -12
- package/studio/server/api/views.ts +0 -57
- package/studio/server/api/workspace.ts +0 -60
- package/studio/server/api-agent-loadout.test.ts +0 -69
- package/studio/server/api.test.ts +0 -147
- package/studio/server/api.ts +0 -34
- package/studio/server/cache.test.ts +0 -122
- package/studio/server/cache.ts +0 -303
- package/studio/server/cli-consumers.test.ts +0 -494
- package/studio/server/cli.test.ts +0 -88
- package/studio/server/cli.ts +0 -240
- package/studio/server/client-package.test.ts +0 -147
- package/studio/server/client-package.ts +0 -266
- package/studio/server/detect.ts +0 -81
- package/studio/server/domain.test.ts +0 -77
- package/studio/server/domain.ts +0 -124
- package/studio/server/environment/dotenv-preview.test.ts +0 -39
- package/studio/server/environment/dotenv-preview.ts +0 -27
- package/studio/server/environment/files.test.ts +0 -53
- package/studio/server/environment/files.ts +0 -120
- package/studio/server/handoff/copy.ts +0 -171
- package/studio/server/handoff/service.test.ts +0 -22
- package/studio/server/handoff/service.ts +0 -62
- package/studio/server/index.ts +0 -148
- package/studio/server/instances/active.ts +0 -72
- package/studio/server/instances/deploy-record.test.ts +0 -31
- package/studio/server/instances/deploy-record.ts +0 -37
- package/studio/server/instances/deploy.ts +0 -56
- package/studio/server/instances/probe.test.ts +0 -67
- package/studio/server/instances/probe.ts +0 -67
- package/studio/server/instances/status.test.ts +0 -12
- package/studio/server/instances/status.ts +0 -49
- package/studio/server/introspect/anatomy/client-tree.ts +0 -57
- package/studio/server/introspect/anatomy/env-fields.ts +0 -66
- package/studio/server/introspect/anatomy/schema-definition.ts +0 -53
- package/studio/server/introspect/anatomy/source.ts +0 -181
- package/studio/server/introspect/anatomy/views/routes.ts +0 -114
- package/studio/server/introspect/anatomy/views.ts +0 -53
- package/studio/server/introspect/anatomy-extras.test.ts +0 -265
- package/studio/server/introspect/anatomy-extras.ts +0 -10
- package/studio/server/introspect/anatomy.test.ts +0 -41
- package/studio/server/introspect/anatomy.ts +0 -147
- package/studio/server/introspect/bundle.ts +0 -69
- package/studio/server/introspect/canonical-schema.test.ts +0 -179
- package/studio/server/introspect/canonical-schema.ts +0 -583
- package/studio/server/introspect/config-preview.test.ts +0 -32
- package/studio/server/introspect/config-preview.ts +0 -119
- package/studio/server/introspect/core-extractor.ts +0 -30
- package/studio/server/introspect/core.ts +0 -45
- package/studio/server/introspect/diff.test.ts +0 -124
- package/studio/server/introspect/diff.ts +0 -316
- package/studio/server/introspect/extractor.ts +0 -41
- package/studio/server/introspect/hash.ts +0 -24
- package/studio/server/introspect/overlay-tsmorph.test.ts +0 -146
- package/studio/server/introspect/overlay-tsmorph.ts +0 -9
- package/studio/server/introspect/overlay.test.ts +0 -44
- package/studio/server/introspect/overlay.ts +0 -40
- package/studio/server/introspect/revision.test.ts +0 -54
- package/studio/server/introspect/revision.ts +0 -49
- package/studio/server/introspect/runtime.test.ts +0 -157
- package/studio/server/introspect/runtime.ts +0 -140
- package/studio/server/introspect/schema-ir-json.test.ts +0 -70
- package/studio/server/introspect/schema-ir-json.ts +0 -151
- package/studio/server/introspect/schema-refs.test.ts +0 -55
- package/studio/server/introspect/schema-refs.ts +0 -32
- package/studio/server/introspect/source-overlay/annotations.ts +0 -14
- package/studio/server/introspect/source-overlay/handlers.ts +0 -161
- package/studio/server/introspect/source-overlay/kernel-calls.ts +0 -46
- package/studio/server/introspect/source-overlay/project.ts +0 -248
- package/studio/server/introspect/source-overlay/spans.ts +0 -330
- package/studio/server/json.ts +0 -46
- package/studio/server/lifecycle.ts +0 -42
- package/studio/server/sse.test.ts +0 -26
- package/studio/server/sse.ts +0 -60
- package/studio/server/state/baseline.test.ts +0 -267
- package/studio/server/state/baseline.ts +0 -354
- package/studio/server/state/comments.test.ts +0 -94
- package/studio/server/state/comments.ts +0 -484
- package/studio/server/state/context.ts +0 -199
- package/studio/server/state/documents.ts +0 -111
- package/studio/server/state/integrations.ts +0 -81
- package/studio/server/state/layout.test.ts +0 -34
- package/studio/server/state/layout.ts +0 -82
- package/studio/server/state/settings.test.ts +0 -78
- package/studio/server/state/settings.ts +0 -73
- package/studio/server/state/store.test.ts +0 -122
- package/studio/server/state/store.ts +0 -146
- package/studio/server/state/visibility.ts +0 -48
- package/studio/server/views/model.test.ts +0 -57
- package/studio/server/views/model.ts +0 -66
- package/studio/server/views/runtime.ts +0 -40
- package/studio/server/views/selection-repository.test.ts +0 -31
- package/studio/server/views/selection-repository.ts +0 -60
- package/studio/server/views/session.test.ts +0 -73
- package/studio/server/views/session.ts +0 -166
- package/studio/server/views/target.test.ts +0 -78
- package/studio/server/views/target.ts +0 -222
- package/studio/server/watch.test.ts +0 -36
- package/studio/server/watch.ts +0 -93
- package/studio/server/workspace/catalog.test.ts +0 -17
- package/studio/server/workspace/catalog.ts +0 -43
- package/studio/server/workspace/create.test.ts +0 -37
- package/studio/server/workspace/create.ts +0 -162
- package/studio/server/workspace/git.ts +0 -75
- package/studio/server/workspace/updates.ts +0 -83
- package/studio/server/workspace-state.ts +0 -26
- package/studio/server/workspace-watch.ts +0 -106
- package/studio/shared/agent-effort.test.ts +0 -12
- package/studio/shared/agent-effort.ts +0 -15
- package/studio/shared/agent-models.test.ts +0 -9
- package/studio/shared/agent-models.ts +0 -14
- package/studio/shared/contracts/README.md +0 -16
- package/studio/shared/contracts/agent.ts +0 -270
- package/studio/shared/contracts/runtime.ts +0 -50
- package/studio/shared/contracts/schema.ts +0 -393
- package/studio/shared/contracts/surface.test.ts +0 -317
- package/studio/shared/contracts/workspace.ts +0 -265
- package/studio/shared/layout.test.ts +0 -116
- package/studio/shared/schema/identity.test.ts +0 -34
- package/studio/shared/schema/identity.ts +0 -68
- package/studio/shared/settings-values.test.ts +0 -18
- package/studio/shared/settings-values.ts +0 -20
- package/studio/shared/types.ts +0 -14
- package/studio/tsconfig.json +0 -23
- package/tsconfig.json +0 -14
- package/viewer/dist/index.html +0 -93
- package/viewer/dist/main.js +0 -76
- package/viewer/tsconfig.json +0 -13
package/src/commands/update.ts
DELETED
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
import type { CommandDefinition } from '../program/index'
|
|
2
|
-
|
|
3
|
-
import pkg from '../../package.json' with { type: 'json' }
|
|
4
|
-
import { fatal, log } from '../lib/log'
|
|
5
|
-
import { isMachine, output, RAW_OUTPUT_OPTIONS, type RawOutputOpts } from '../lib/output'
|
|
6
|
-
import { confirmDefaultYes } from '../lib/prompt'
|
|
7
|
-
import {
|
|
8
|
-
applySdkUpdate,
|
|
9
|
-
findSdkOutdated,
|
|
10
|
-
foreignPackageManager,
|
|
11
|
-
inDomainProject,
|
|
12
|
-
type SdkOutdated,
|
|
13
|
-
} from '../lib/sdk-deps'
|
|
14
|
-
import { ASTRALE_CLI_SKILL, detectSkill, installSkills, SKILL_INSTALL_HINT } from '../lib/skills'
|
|
15
|
-
import { DEFAULT_UPDATE_CHANNEL, packageManagedUpdateError, updateAstrale } from '../lib/update'
|
|
16
|
-
|
|
17
|
-
type UpdateOpts = RawOutputOpts & {
|
|
18
|
-
check?: boolean
|
|
19
|
-
channel?: string
|
|
20
|
-
version?: string
|
|
21
|
-
skills?: boolean
|
|
22
|
-
deps?: boolean
|
|
23
|
-
yes?: boolean
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Refresh the astrale agent skills alongside the binary. Delegates to the same
|
|
28
|
-
* `npx skills add` installer `astrale setup` uses; re-running it updates an
|
|
29
|
-
* existing install to the latest published SKILL.md.
|
|
30
|
-
*
|
|
31
|
-
* Only refreshes skills the user already has — `astrale update` keeps an existing
|
|
32
|
-
* install current, it does not foist skills on a non-agent user; fresh installs
|
|
33
|
-
* go through `astrale setup`. Best-effort: a failure here never fails the update
|
|
34
|
-
* (the binary is already swapped), so we warn and move on.
|
|
35
|
-
*/
|
|
36
|
-
async function refreshSkills(): Promise<void> {
|
|
37
|
-
if (!detectSkill(ASTRALE_CLI_SKILL).installed) {
|
|
38
|
-
log.dim(` Agent skills not installed — get them with: ${SKILL_INSTALL_HINT}`)
|
|
39
|
-
return
|
|
40
|
-
}
|
|
41
|
-
log.step(`Refreshing the astrale agent skills — ${SKILL_INSTALL_HINT}`)
|
|
42
|
-
if (await installSkills()) {
|
|
43
|
-
log.success('astrale agent skills up to date')
|
|
44
|
-
} else {
|
|
45
|
-
log.warn(`Skill refresh did not complete — run it later: ${SKILL_INSTALL_HINT}`)
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Keep the project's first-party `@astrale-os/*` dependencies current by
|
|
51
|
-
* delegating to pnpm (`pnpm outdated` to detect, `pnpm update --latest` to
|
|
52
|
-
* apply). Runs only inside a domain project (the `astrale.config.ts` marker) and
|
|
53
|
-
* only when pnpm owns it; elsewhere it's a silent no-op. On a dry run (`check`)
|
|
54
|
-
* it only reports. Otherwise it lists the available bumps and applies them behind
|
|
55
|
-
* a single confirm — pnpm rewrites package.json AND the lockfile (no build scripts
|
|
56
|
-
* run; the user runs `pnpm install` to materialize). Returns true when bumps were
|
|
57
|
-
* available (so `--check` can exit 10). Best-effort: pnpm missing or any error
|
|
58
|
-
* surfaces as "up to date".
|
|
59
|
-
*/
|
|
60
|
-
async function refreshSdkDeps(check: boolean, assumeYes = false): Promise<boolean> {
|
|
61
|
-
if (!inDomainProject()) return false
|
|
62
|
-
|
|
63
|
-
const foreign = foreignPackageManager()
|
|
64
|
-
if (foreign) {
|
|
65
|
-
if (!check) {
|
|
66
|
-
log.dim(
|
|
67
|
-
` SDK dep check uses pnpm; this project uses ${foreign} — update it with ${foreign}.`,
|
|
68
|
-
)
|
|
69
|
-
}
|
|
70
|
-
return false
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
const outdated = await findSdkOutdated()
|
|
74
|
-
if (outdated.length === 0) {
|
|
75
|
-
if (!check) log.dim(' @astrale-os SDK packages are up to date')
|
|
76
|
-
return false
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
const plural = outdated.length === 1 ? '' : 's'
|
|
80
|
-
log.info(`@astrale-os SDK package${plural} with a newer release (${outdated.length}):`)
|
|
81
|
-
for (const o of outdated) log.dim(` ${o.pkg} ${o.current} → ${o.latest}`)
|
|
82
|
-
|
|
83
|
-
if (check) return true // dry run — report only
|
|
84
|
-
|
|
85
|
-
if (
|
|
86
|
-
!assumeYes &&
|
|
87
|
-
!(await confirmDefaultYes(
|
|
88
|
-
`Update ${outdated.length} @astrale-os dep${plural} (pnpm update --latest)?`,
|
|
89
|
-
))
|
|
90
|
-
) {
|
|
91
|
-
log.dim(' Skipped — your package.json is unchanged.')
|
|
92
|
-
return true
|
|
93
|
-
}
|
|
94
|
-
log.step('pnpm update --latest --lockfile-only "@astrale-os/*"')
|
|
95
|
-
if (await applySdkUpdate()) {
|
|
96
|
-
log.success(`Updated ${outdated.length} @astrale-os dep${plural} in package.json + lockfile`)
|
|
97
|
-
log.dim(' Run `pnpm install` to materialize the new versions.')
|
|
98
|
-
} else {
|
|
99
|
-
log.warn(' Update did not complete — run it yourself: pnpm update --latest "@astrale-os/*"')
|
|
100
|
-
}
|
|
101
|
-
return true
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Read-only staleness report for tooling — `astrale update --check --json`.
|
|
106
|
-
* domain-studio polls this on load to drive its "update available" badge. It is
|
|
107
|
-
* unified and NON-THROWING: an explicit package-managed result uses npm release
|
|
108
|
-
* identity, while script-install failures remain script failures in `error`
|
|
109
|
-
* instead of being recategorized. The SDK axis is already best-effort. Skills are
|
|
110
|
-
* intentionally absent — they ride along with `astrale update`, so a stale CLI or
|
|
111
|
-
* SDK is the only signal worth surfacing.
|
|
112
|
-
*/
|
|
113
|
-
export type StaleReport = {
|
|
114
|
-
stale: boolean
|
|
115
|
-
cli: {
|
|
116
|
-
stale: boolean
|
|
117
|
-
managed: boolean
|
|
118
|
-
current?: string
|
|
119
|
-
latest?: string
|
|
120
|
-
channel?: string
|
|
121
|
-
error?: string
|
|
122
|
-
}
|
|
123
|
-
sdk: { stale: boolean; inProject: boolean; outdated: SdkOutdated[] }
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
type CliStaleDependencies = {
|
|
127
|
-
update: typeof updateAstrale
|
|
128
|
-
fetchPackageVersion: (opts: Pick<UpdateOpts, 'channel' | 'version'>) => Promise<string>
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const CLI_STALE_DEPENDENCIES: CliStaleDependencies = {
|
|
132
|
-
update: updateAstrale,
|
|
133
|
-
fetchPackageVersion: fetchNpmTargetVersion,
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
export async function cliStale(
|
|
137
|
-
opts: Pick<UpdateOpts, 'channel' | 'version'>,
|
|
138
|
-
dependencies: CliStaleDependencies = CLI_STALE_DEPENDENCIES,
|
|
139
|
-
): Promise<StaleReport['cli']> {
|
|
140
|
-
const running = pkg.version
|
|
141
|
-
const target = { ...opts, channel: opts.channel ?? DEFAULT_UPDATE_CHANNEL }
|
|
142
|
-
try {
|
|
143
|
-
const r = await dependencies.update({
|
|
144
|
-
check: true,
|
|
145
|
-
channel: target.channel,
|
|
146
|
-
version: target.version,
|
|
147
|
-
currentVersion: running,
|
|
148
|
-
})
|
|
149
|
-
if (r.status === 'managed') {
|
|
150
|
-
const latest = await dependencies.fetchPackageVersion(target).catch(() => undefined)
|
|
151
|
-
return {
|
|
152
|
-
stale: latest !== undefined && latest !== running,
|
|
153
|
-
managed: true,
|
|
154
|
-
current: running,
|
|
155
|
-
...(latest === undefined ? {} : { latest, channel: 'npm' }),
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
if (r.status === 'updated') {
|
|
159
|
-
return {
|
|
160
|
-
stale: false,
|
|
161
|
-
managed: false,
|
|
162
|
-
current: r.currentVersion,
|
|
163
|
-
latest: r.currentVersion,
|
|
164
|
-
channel: r.channel,
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
return {
|
|
168
|
-
stale: r.status === 'available',
|
|
169
|
-
managed: false,
|
|
170
|
-
current: r.currentVersion,
|
|
171
|
-
latest: r.latestVersion,
|
|
172
|
-
channel: r.channel,
|
|
173
|
-
}
|
|
174
|
-
} catch (error) {
|
|
175
|
-
return {
|
|
176
|
-
stale: false,
|
|
177
|
-
managed: false,
|
|
178
|
-
current: running,
|
|
179
|
-
error: error instanceof Error ? error.message : String(error),
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
export async function fetchNpmTargetVersion(
|
|
185
|
-
opts: Pick<UpdateOpts, 'channel' | 'version'>,
|
|
186
|
-
): Promise<string> {
|
|
187
|
-
const channel = opts.channel ?? DEFAULT_UPDATE_CHANNEL
|
|
188
|
-
const target = opts.version ?? (channel === 'stable' ? 'latest' : channel)
|
|
189
|
-
const response = await fetch(`https://registry.npmjs.org/@astrale-os/cli/${target}`)
|
|
190
|
-
if (!response.ok) throw new Error(`npm registry HTTP ${response.status}`)
|
|
191
|
-
const body: unknown = await response.json()
|
|
192
|
-
if (
|
|
193
|
-
body === null ||
|
|
194
|
-
typeof body !== 'object' ||
|
|
195
|
-
typeof (body as { version?: unknown }).version !== 'string'
|
|
196
|
-
) {
|
|
197
|
-
throw new Error('npm registry latest document is missing version')
|
|
198
|
-
}
|
|
199
|
-
return (body as { version: string }).version
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
async function sdkStale(): Promise<StaleReport['sdk']> {
|
|
203
|
-
if (!inDomainProject() || foreignPackageManager()) {
|
|
204
|
-
return { stale: false, inProject: inDomainProject(), outdated: [] }
|
|
205
|
-
}
|
|
206
|
-
const outdated = await findSdkOutdated()
|
|
207
|
-
return { stale: outdated.length > 0, inProject: true, outdated }
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
export default {
|
|
211
|
-
name: 'update',
|
|
212
|
-
description: 'Check for and install Astrale CLI updates',
|
|
213
|
-
options: [
|
|
214
|
-
{ flags: '--check', description: 'Only check whether an update is available' },
|
|
215
|
-
{
|
|
216
|
-
flags: '--channel <name>',
|
|
217
|
-
description: 'Update from a release channel (alpha, beta, rc, canary, stable)',
|
|
218
|
-
default: DEFAULT_UPDATE_CHANNEL,
|
|
219
|
-
},
|
|
220
|
-
{ flags: '--version <version>', description: 'Update to an exact version tag' },
|
|
221
|
-
{ flags: '--no-skills', description: 'Skip refreshing the astrale agent skills' },
|
|
222
|
-
{ flags: '--no-deps', description: 'Skip checking @astrale-os SDK dependency versions' },
|
|
223
|
-
{
|
|
224
|
-
flags: '--yes',
|
|
225
|
-
description: 'Non-interactive: apply CLI + skills + SDK deps without prompts',
|
|
226
|
-
},
|
|
227
|
-
...RAW_OUTPUT_OPTIONS,
|
|
228
|
-
],
|
|
229
|
-
afterHelpText: `
|
|
230
|
-
Behavior:
|
|
231
|
-
Keeps three things current, in order. (1) The CLI binary: updates official
|
|
232
|
-
script installs only — if Astrale was installed by another package manager this
|
|
233
|
-
command refuses so that manager stays in charge; downloads are checksum-verified
|
|
234
|
-
before the binary is replaced. (2) The agent skills: if the astrale skills (cli +
|
|
235
|
-
domain) are already installed, refreshes them to the latest by delegating to
|
|
236
|
-
"npx skills add astrale-os/cli -g" — the same installer "astrale setup" uses;
|
|
237
|
-
fresh installs go through "astrale setup". (3) SDK deps: inside a pnpm domain
|
|
238
|
-
project, proposes any @astrale-os/* dependency with a newer release and, on
|
|
239
|
-
confirm, runs "pnpm update --latest --lockfile-only" (updates package.json AND
|
|
240
|
-
the lockfile, honoring your registry + supply-chain age policy; run "pnpm
|
|
241
|
-
install" to materialize).
|
|
242
|
-
|
|
243
|
-
The default release channel is beta; --channel overrides it for one run.
|
|
244
|
-
--check is a dry run (binary + SDK deps; exit 10 if anything is available) and
|
|
245
|
-
never writes. With --json it emits a unified staleness report
|
|
246
|
-
({ stale, cli, sdk }) for tooling — non-throwing, skills omitted (they ride
|
|
247
|
-
along with an update). --yes applies all three non-interactively (no prompts) and
|
|
248
|
-
is resilient — a binary that can't self-update (package-managed) warns but never
|
|
249
|
-
blocks the skills/deps steps; this is what domain-studio's "Update now" runs.
|
|
250
|
-
--no-skills / --no-deps skip those steps in a real run.
|
|
251
|
-
|
|
252
|
-
Examples:
|
|
253
|
-
$ astrale update
|
|
254
|
-
$ astrale update --check
|
|
255
|
-
$ astrale update --yes
|
|
256
|
-
$ astrale update --no-skills
|
|
257
|
-
$ astrale update --no-deps
|
|
258
|
-
$ astrale update --channel canary
|
|
259
|
-
$ astrale update --version 0.4.0-alpha.10
|
|
260
|
-
`,
|
|
261
|
-
action: async (opts: UpdateOpts) => {
|
|
262
|
-
try {
|
|
263
|
-
// Tooling path: a machine-readable `--check` (e.g. domain-studio's update
|
|
264
|
-
// badge polling `astrale update --check --json`) gets a unified,
|
|
265
|
-
// non-throwing staleness report — CLI + SDK only — and exits.
|
|
266
|
-
if (opts.check && isMachine(opts)) {
|
|
267
|
-
const cli = await cliStale(opts)
|
|
268
|
-
const sdk = await sdkStale()
|
|
269
|
-
const report: StaleReport = { stale: cli.stale || sdk.stale, cli, sdk }
|
|
270
|
-
output(report, opts)
|
|
271
|
-
if (report.stale) process.exitCode = 10
|
|
272
|
-
return
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
// Axis A — the CLI binary. Isolated so that under --yes (a non-interactive
|
|
276
|
-
// full update, e.g. domain-studio's "Update now") a binary that can't
|
|
277
|
-
// self-update — package-managed, no metadata — WARNS but does not abort the
|
|
278
|
-
// skills/deps axes. Without --yes the error surfaces as before.
|
|
279
|
-
let result: Awaited<ReturnType<typeof updateAstrale>> | null = null
|
|
280
|
-
try {
|
|
281
|
-
result = await updateAstrale({
|
|
282
|
-
check: opts.check,
|
|
283
|
-
channel: opts.channel,
|
|
284
|
-
version: opts.version,
|
|
285
|
-
currentVersion: pkg.version,
|
|
286
|
-
})
|
|
287
|
-
} catch (e) {
|
|
288
|
-
if (!opts.yes) throw e
|
|
289
|
-
log.warn(`CLI self-update skipped: ${e instanceof Error ? e.message : String(e)}`)
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
// Machine mode WITHOUT --yes (e.g. `astrale update --json`): emit the binary
|
|
293
|
-
// result and stop — never silently refresh skills / edit deps for a pipe.
|
|
294
|
-
if (result && isMachine(opts) && !opts.yes) {
|
|
295
|
-
output(result, opts)
|
|
296
|
-
return
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
// `available` only happens under --check (a real run already swapped the
|
|
300
|
-
// binary and returns `updated`).
|
|
301
|
-
let anyAvailable = false
|
|
302
|
-
if (result?.status === 'available') {
|
|
303
|
-
log.info(
|
|
304
|
-
`Astrale update available: ${result.currentVersion} -> ${result.latestVersion} (${result.channel})`,
|
|
305
|
-
)
|
|
306
|
-
anyAvailable = true
|
|
307
|
-
} else if (result?.status === 'up-to-date') {
|
|
308
|
-
log.success(`Astrale is up to date: ${result.currentVersion}`)
|
|
309
|
-
} else if (result?.status === 'updated') {
|
|
310
|
-
log.success(`Updated astrale ${result.previousVersion} -> ${result.currentVersion}`)
|
|
311
|
-
log.dim(` channel: ${result.channel}`)
|
|
312
|
-
log.dim(` binary: ${result.bin}`)
|
|
313
|
-
} else if (result?.status === 'managed') {
|
|
314
|
-
const error = packageManagedUpdateError(result.executable)
|
|
315
|
-
if (!opts.yes) throw error
|
|
316
|
-
log.warn(`CLI self-update skipped: ${error.message}`)
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
// Axis B — agent skills. Keep an existing install current with the CLI.
|
|
320
|
-
// Skip on --check (a dry run) and when the user opted out with --no-skills.
|
|
321
|
-
if (!opts.check && opts.skills !== false) await refreshSkills()
|
|
322
|
-
|
|
323
|
-
// Axis C — first-party @astrale-os/* deps in the current domain project.
|
|
324
|
-
// Runs on --check too (reports availability); --yes applies without a prompt.
|
|
325
|
-
if (opts.deps !== false && (await refreshSdkDeps(opts.check === true, opts.yes === true))) {
|
|
326
|
-
anyAvailable = true
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
if (opts.check && anyAvailable) process.exitCode = 10
|
|
330
|
-
} catch (e) {
|
|
331
|
-
fatal(e)
|
|
332
|
-
}
|
|
333
|
-
},
|
|
334
|
-
} satisfies CommandDefinition
|
package/src/commands/use.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import type { CommandDefinition } from '../program/index'
|
|
2
|
-
|
|
3
|
-
import { readIdentities, setDefault } from '../identity/index'
|
|
4
|
-
import { readInstances } from '../lib/instance'
|
|
5
|
-
import { fatal, log } from '../lib/log'
|
|
6
|
-
import { resolveUseTarget } from '../lib/use-target'
|
|
7
|
-
import instanceUseCommand from './instance/use'
|
|
8
|
-
|
|
9
|
-
type UseOpts = {
|
|
10
|
-
identity?: boolean
|
|
11
|
-
instance?: boolean
|
|
12
|
-
adoptDefault?: boolean
|
|
13
|
-
skipJwksCheck?: boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async function useIdentity(name: string): Promise<void> {
|
|
17
|
-
await setDefault(name)
|
|
18
|
-
log.success(`Active identity set to "${name}"`)
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export default {
|
|
22
|
-
name: 'use',
|
|
23
|
-
description: 'Set the active identity or instance when the name is unambiguous',
|
|
24
|
-
afterHelpText: `
|
|
25
|
-
Behavior:
|
|
26
|
-
\`astrale use <name>\` is a convenience resolver for local CLI context. It
|
|
27
|
-
switches identity when <name> is only an identity, switches instance when
|
|
28
|
-
<name> is only an instance, and refuses ambiguous names. In scripts, prefer
|
|
29
|
-
the explicit namespace commands or pass --identity / --instance.
|
|
30
|
-
|
|
31
|
-
Examples:
|
|
32
|
-
$ astrale use staging
|
|
33
|
-
$ astrale use alice
|
|
34
|
-
$ astrale use staging --instance
|
|
35
|
-
$ astrale use alice --identity
|
|
36
|
-
`,
|
|
37
|
-
arguments: [{ name: 'name', description: 'Identity or instance name', required: true }],
|
|
38
|
-
options: [
|
|
39
|
-
{ flags: '--identity', description: 'Treat <name> as an identity' },
|
|
40
|
-
{ flags: '--instance', description: 'Treat <name> as an instance' },
|
|
41
|
-
{ flags: '--adopt-default', description: 'When using an instance, adopt its default identity' },
|
|
42
|
-
{ flags: '--skip-jwks-check', description: 'When using an instance, skip the JWKS check' },
|
|
43
|
-
],
|
|
44
|
-
action: async (name: string, opts: UseOpts) => {
|
|
45
|
-
try {
|
|
46
|
-
if (opts.identity && opts.instance) {
|
|
47
|
-
fatal('Choose either --identity or --instance, not both')
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (opts.identity) {
|
|
51
|
-
await useIdentity(name)
|
|
52
|
-
return
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (opts.instance) {
|
|
56
|
-
await instanceUseCommand.action(name, opts)
|
|
57
|
-
return
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const [instances, identities] = await Promise.all([readInstances(), readIdentities()])
|
|
61
|
-
const target = resolveUseTarget(name, instances, identities)
|
|
62
|
-
|
|
63
|
-
if (target.kind === 'identity') {
|
|
64
|
-
await useIdentity(target.name)
|
|
65
|
-
return
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if (target.kind === 'instance') {
|
|
69
|
-
await instanceUseCommand.action(target.name, opts)
|
|
70
|
-
return
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (target.kind === 'ambiguous') {
|
|
74
|
-
fatal(
|
|
75
|
-
`Both an identity and an instance are named "${name}". Use: astrale identity use ${name} or astrale instance use ${name}`,
|
|
76
|
-
)
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
fatal(
|
|
80
|
-
`No identity or instance named "${name}". Try: astrale identity list or astrale instance list`,
|
|
81
|
-
)
|
|
82
|
-
} catch (e) {
|
|
83
|
-
fatal(e)
|
|
84
|
-
}
|
|
85
|
-
},
|
|
86
|
-
} satisfies CommandDefinition
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { readFile } from 'node:fs/promises'
|
|
2
|
-
|
|
3
|
-
import type { ViewServeConfig } from '../lib/view/session'
|
|
4
|
-
import type { CommandDefinition } from '../program/index'
|
|
5
|
-
|
|
6
|
-
import { startViewServer } from '../lib/view/server'
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Internal (hidden) entry for the detached view-session server: `astrale view`
|
|
10
|
-
* re-invokes the CLI with `__view-serve --config <file>` so the server runs
|
|
11
|
-
* under the same runtime and codebase as the CLI itself.
|
|
12
|
-
*/
|
|
13
|
-
export default {
|
|
14
|
-
name: '__view-serve',
|
|
15
|
-
hidden: true,
|
|
16
|
-
description: 'Internal: run a view-session server from a config file',
|
|
17
|
-
options: [{ flags: '--config <path>', description: 'ViewServeConfig JSON path' }],
|
|
18
|
-
action: async (opts: { config?: string }) => {
|
|
19
|
-
if (!opts.config) throw new Error('--config is required')
|
|
20
|
-
const config = JSON.parse(await readFile(opts.config, 'utf8')) as ViewServeConfig
|
|
21
|
-
startViewServer(config)
|
|
22
|
-
console.log(`view session ${config.session.id} listening on ${config.session.pageUrl}`)
|
|
23
|
-
// Keep the process alive; startViewServer owns shutdown (signals + idle).
|
|
24
|
-
await new Promise(() => {})
|
|
25
|
-
},
|
|
26
|
-
} satisfies CommandDefinition
|