@cortexkit/opencode-antigravity-auth 3.0.4 → 3.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -352
- package/dist/cli.js +9199 -8799
- package/dist/cli.js.map +4 -4
- package/dist/cli.meta.json +1286 -1064
- package/dist/index.js +13641 -14559
- package/dist/index.js.map +4 -4
- package/dist/index.meta.json +1333 -1342
- package/dist/server.js +9578 -9987
- package/dist/server.js.map +4 -4
- package/dist/server.meta.json +1 -1
- package/dist/src/auth-method-labels.d.ts +3 -0
- package/dist/src/auth-method-labels.d.ts.map +1 -0
- package/dist/src/auth-method-labels.js +5 -0
- package/dist/src/auth-method-labels.js.map +1 -0
- package/dist/src/cli.d.ts +3 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +98 -12
- package/dist/src/cli.js.map +1 -1
- package/dist/src/common-auth-embedded/claustrum/consumer.d.ts +33 -3
- package/dist/src/common-auth-embedded/claustrum/consumer.js +96 -1
- package/dist/src/common-auth-embedded/claustrum/custody.d.ts +4 -1
- package/dist/src/common-auth-embedded/claustrum/enrollment.d.ts +6 -1
- package/dist/src/common-auth-embedded/claustrum/enrollment.js +6 -1
- package/dist/src/common-auth-embedded/claustrum/index.d.ts +2 -1
- package/dist/src/common-auth-embedded/claustrum/index.js +5 -3
- package/dist/src/common-auth-embedded/claustrum/insula.d.ts +69 -0
- package/dist/src/common-auth-embedded/claustrum/insula.js +152 -0
- package/dist/src/common-auth-embedded/claustrum/roster.d.ts +13 -0
- package/dist/src/common-auth-embedded/claustrum/roster.js +33 -3
- package/dist/src/common-auth-embedded/fs/refresh-file-lock.js +20 -11
- package/dist/src/common-auth-embedded/quota/codec.d.ts +2 -0
- package/dist/src/common-auth-embedded/quota/codec.js +2 -1
- package/dist/src/common-auth-embedded/quota/format.d.ts +26 -0
- package/dist/src/common-auth-embedded/quota/format.js +78 -42
- package/dist/src/common-auth-embedded/quota/index.d.ts +4 -4
- package/dist/src/common-auth-embedded/quota/index.js +2 -2
- package/dist/src/common-auth-embedded/quota/map.d.ts +11 -0
- package/dist/src/common-auth-embedded/quota/map.js +36 -1
- package/dist/src/common-auth-embedded/quota/merge.d.ts +3 -1
- package/dist/src/common-auth-embedded/quota/merge.js +21 -5
- package/dist/src/common-auth-embedded/quota/projection.d.ts +2 -1
- package/dist/src/common-auth-embedded/quota/projection.js +3 -1
- package/dist/src/common-auth-embedded/setup/command-runner.js +49 -0
- package/dist/src/common-auth-embedded/setup/command.d.ts +3 -0
- package/dist/src/common-auth-embedded/setup/command.js +215 -0
- package/dist/src/common-auth-embedded/setup/config-write.js +60 -0
- package/dist/src/common-auth-embedded/setup/detect.d.ts +6 -0
- package/dist/src/common-auth-embedded/setup/detect.js +224 -0
- package/dist/src/common-auth-embedded/setup/enroll.js +70 -0
- package/dist/src/common-auth-embedded/setup/index.d.ts +5 -0
- package/dist/src/common-auth-embedded/setup/index.js +4 -0
- package/dist/src/common-auth-embedded/setup/paths.js +33 -0
- package/dist/src/common-auth-embedded/setup/process-fence.d.ts +43 -0
- package/dist/src/common-auth-embedded/setup/process-fence.js +270 -0
- package/dist/src/common-auth-embedded/setup/prompts.js +26 -0
- package/dist/src/common-auth-embedded/setup/register.d.ts +11 -0
- package/dist/src/common-auth-embedded/setup/register.js +130 -0
- package/dist/src/common-auth-embedded/setup/types.d.ts +136 -0
- package/dist/src/common-auth-embedded/source-output.json +228 -80
- package/dist/src/common-auth-embedded/store/schema.d.ts +2 -0
- package/dist/src/common-auth-embedded/store/schema.js +3 -2
- package/dist/src/ga/rpc/protocol.d.ts +6 -10
- package/dist/src/ga/rpc/protocol.d.ts.map +1 -1
- package/dist/src/ga/rpc/protocol.js +65 -13
- package/dist/src/ga/rpc/protocol.js.map +1 -1
- package/dist/src/ga/server/auth.d.ts +8 -3
- package/dist/src/ga/server/auth.d.ts.map +1 -1
- package/dist/src/ga/server/auth.js +25 -9
- package/dist/src/ga/server/auth.js.map +1 -1
- package/dist/src/ga/server/index.d.ts +39 -12
- package/dist/src/ga/server/index.d.ts.map +1 -1
- package/dist/src/ga/server/index.js +229 -55
- package/dist/src/ga/server/index.js.map +1 -1
- package/dist/src/ga/server/pool-login.d.ts +22 -0
- package/dist/src/ga/server/pool-login.d.ts.map +1 -0
- package/dist/src/ga/server/pool-login.js +150 -0
- package/dist/src/ga/server/pool-login.js.map +1 -0
- package/dist/src/ga/tui/host-ga.d.ts +2 -5
- package/dist/src/ga/tui/host-ga.d.ts.map +1 -1
- package/dist/src/ga/tui/host-ga.js +17 -49
- package/dist/src/ga/tui/host-ga.js.map +1 -1
- package/dist/src/plugin/accounts.d.ts +1 -1
- package/dist/src/plugin/accounts.d.ts.map +1 -1
- package/dist/src/plugin/accounts.js +1 -0
- package/dist/src/plugin/accounts.js.map +1 -1
- package/dist/src/plugin/background-vault-quota-refresh.d.ts +2 -0
- package/dist/src/plugin/background-vault-quota-refresh.d.ts.map +1 -1
- package/dist/src/plugin/background-vault-quota-refresh.js +125 -10
- package/dist/src/plugin/background-vault-quota-refresh.js.map +1 -1
- package/dist/src/plugin/command-apply.d.ts +2 -2
- package/dist/src/plugin/command-apply.d.ts.map +1 -1
- package/dist/src/plugin/command-apply.js +3 -10
- package/dist/src/plugin/command-apply.js.map +1 -1
- package/dist/src/plugin/commands.d.ts +1 -0
- package/dist/src/plugin/commands.d.ts.map +1 -1
- package/dist/src/plugin/commands.js +2 -2
- package/dist/src/plugin/commands.js.map +1 -1
- package/dist/src/plugin/config/operator-settings-schema.d.ts +0 -4
- package/dist/src/plugin/config/operator-settings-schema.d.ts.map +1 -1
- package/dist/src/plugin/config/operator-settings-schema.js +0 -5
- package/dist/src/plugin/config/operator-settings-schema.js.map +1 -1
- package/dist/src/plugin/config/schema.d.ts +0 -7
- package/dist/src/plugin/config/schema.d.ts.map +1 -1
- package/dist/src/plugin/config/schema.js +0 -43
- package/dist/src/plugin/config/schema.js.map +1 -1
- package/dist/src/plugin/config/writer.d.ts +1 -1
- package/dist/src/plugin/config/writer.js +1 -1
- package/dist/src/plugin/fetch/retry-state.d.ts +19 -3
- package/dist/src/plugin/fetch/retry-state.d.ts.map +1 -1
- package/dist/src/plugin/fetch/retry-state.js +0 -6
- package/dist/src/plugin/fetch/retry-state.js.map +1 -1
- package/dist/src/plugin/fetch-interceptor.d.ts.map +1 -1
- package/dist/src/plugin/fetch-interceptor.js +0 -3
- package/dist/src/plugin/fetch-interceptor.js.map +1 -1
- package/dist/src/plugin/fetch-routing.d.ts +0 -16
- package/dist/src/plugin/fetch-routing.d.ts.map +1 -1
- package/dist/src/plugin/fetch-routing.js +0 -49
- package/dist/src/plugin/fetch-routing.js.map +1 -1
- package/dist/src/plugin/ga-location-services.d.ts +14 -9
- package/dist/src/plugin/ga-location-services.d.ts.map +1 -1
- package/dist/src/plugin/ga-location-services.js +120 -40
- package/dist/src/plugin/ga-location-services.js.map +1 -1
- package/dist/src/plugin/google-origin.d.ts +7 -0
- package/dist/src/plugin/google-origin.d.ts.map +1 -0
- package/dist/src/plugin/google-origin.js +14 -0
- package/dist/src/plugin/google-origin.js.map +1 -0
- package/dist/src/plugin/index.d.ts.map +1 -1
- package/dist/src/plugin/index.js +15 -4
- package/dist/src/plugin/index.js.map +1 -1
- package/dist/src/plugin/oauth-methods.d.ts.map +1 -1
- package/dist/src/plugin/oauth-methods.js +0 -33
- package/dist/src/plugin/oauth-methods.js.map +1 -1
- package/dist/src/plugin/operator-settings.d.ts +1 -1
- package/dist/src/plugin/operator-settings.d.ts.map +1 -1
- package/dist/src/plugin/operator-settings.js +1 -8
- package/dist/src/plugin/operator-settings.js.map +1 -1
- package/dist/src/plugin/quota.d.ts +11 -7
- package/dist/src/plugin/quota.d.ts.map +1 -1
- package/dist/src/plugin/quota.js +128 -102
- package/dist/src/plugin/quota.js.map +1 -1
- package/dist/src/plugin/request.d.ts +5 -3
- package/dist/src/plugin/request.d.ts.map +1 -1
- package/dist/src/plugin/request.js +87 -168
- package/dist/src/plugin/request.js.map +1 -1
- package/dist/src/plugin/server.d.ts.map +1 -1
- package/dist/src/plugin/server.js +60 -53
- package/dist/src/plugin/server.js.map +1 -1
- package/dist/src/plugin/shared/advisory-repository.d.ts +20 -0
- package/dist/src/plugin/shared/advisory-repository.d.ts.map +1 -0
- package/dist/src/plugin/shared/advisory-repository.js +91 -0
- package/dist/src/plugin/shared/advisory-repository.js.map +1 -0
- package/dist/src/plugin/shared/request-services.d.ts +19 -25
- package/dist/src/plugin/shared/request-services.d.ts.map +1 -1
- package/dist/src/plugin/shared/request-services.js +105 -188
- package/dist/src/plugin/shared/request-services.js.map +1 -1
- package/dist/src/plugin/shared/runtime.js +4 -2
- package/dist/src/plugin/shared/runtime.js.map +1 -1
- package/dist/src/plugin/shared/vault-request-credentials.d.ts +4 -1
- package/dist/src/plugin/shared/vault-request-credentials.d.ts.map +1 -1
- package/dist/src/plugin/shared/vault-request-credentials.js +41 -7
- package/dist/src/plugin/shared/vault-request-credentials.js.map +1 -1
- package/dist/src/plugin/storage.d.ts +2 -2
- package/dist/src/plugin/storage.d.ts.map +1 -1
- package/dist/src/plugin/storage.js.map +1 -1
- package/dist/src/plugin/vault-custody.d.ts.map +1 -1
- package/dist/src/plugin/vault-custody.js +147 -35
- package/dist/src/plugin/vault-custody.js.map +1 -1
- package/dist/src/plugin/vault-quota-outcome.d.ts +19 -0
- package/dist/src/plugin/vault-quota-outcome.d.ts.map +1 -0
- package/dist/src/plugin/vault-quota-outcome.js +47 -0
- package/dist/src/plugin/vault-quota-outcome.js.map +1 -0
- package/dist/src/quota-presentation.d.ts +29 -1
- package/dist/src/quota-presentation.d.ts.map +1 -1
- package/dist/src/quota-presentation.js +52 -17
- package/dist/src/quota-presentation.js.map +1 -1
- package/dist/src/setup.d.ts +15 -0
- package/dist/src/setup.d.ts.map +1 -0
- package/dist/src/setup.js +320 -0
- package/dist/src/setup.js.map +1 -0
- package/dist/src/sidebar-projection.d.ts +1 -1
- package/dist/src/sidebar-projection.d.ts.map +1 -1
- package/dist/src/sidebar-state.d.ts +1 -1
- package/dist/src/sidebar-state.d.ts.map +1 -1
- package/dist/src/sidebar-state.js +19 -1
- package/dist/src/sidebar-state.js.map +1 -1
- package/dist/src/tui.d.ts.map +1 -1
- package/dist/src/tui.js +205 -110
- package/dist/src/tui.js.map +1 -1
- package/dist/tui-build-map.json +37 -37
- package/dist/tui-ga-build-map.json +33 -33
- package/dist/types/src/auth-method-labels.d.ts +3 -0
- package/dist/types/src/auth-method-labels.d.ts.map +1 -0
- package/dist/types/src/cli.d.ts +3 -1
- package/dist/types/src/cli.d.ts.map +1 -1
- package/dist/types/src/common-auth-embedded/auth-menu/terminal.d.ts +43 -0
- package/dist/types/src/common-auth-embedded/claustrum/consumer.d.ts +132 -0
- package/dist/types/src/common-auth-embedded/claustrum/custody.d.ts +178 -0
- package/dist/types/src/common-auth-embedded/claustrum/enrollment.d.ts +164 -0
- package/dist/types/src/common-auth-embedded/claustrum/errors.d.ts +16 -0
- package/dist/types/src/common-auth-embedded/claustrum/host-slot.d.ts +39 -0
- package/dist/types/src/common-auth-embedded/claustrum/index.d.ts +19 -0
- package/dist/types/src/common-auth-embedded/claustrum/insula.d.ts +69 -0
- package/dist/types/src/common-auth-embedded/claustrum/interlock.d.ts +27 -0
- package/dist/types/src/common-auth-embedded/claustrum/roster.d.ts +221 -0
- package/dist/types/src/common-auth-embedded/opencode2/errors.d.ts +25 -0
- package/dist/types/src/common-auth-embedded/opencode2/index.d.ts +8 -0
- package/dist/types/src/common-auth-embedded/opencode2/install.d.ts +55 -0
- package/dist/types/src/common-auth-embedded/opencode2/integration.d.ts +112 -0
- package/dist/types/src/common-auth-embedded/opencode2/sse.d.ts +12 -0
- package/dist/types/src/common-auth-embedded/opencode2/types.d.ts +413 -0
- package/dist/types/src/common-auth-embedded/quota/codec.d.ts +2 -0
- package/dist/types/src/common-auth-embedded/quota/format.d.ts +26 -0
- package/dist/types/src/common-auth-embedded/quota/index.d.ts +4 -4
- package/dist/types/src/common-auth-embedded/quota/map.d.ts +11 -0
- package/dist/types/src/common-auth-embedded/quota/merge.d.ts +3 -1
- package/dist/types/src/common-auth-embedded/quota/projection.d.ts +2 -1
- package/dist/types/src/common-auth-embedded/routing/admission.d.ts +93 -0
- package/dist/types/src/common-auth-embedded/routing/index.d.ts +8 -0
- package/dist/types/src/common-auth-embedded/routing/ordered.d.ts +47 -0
- package/dist/types/src/common-auth-embedded/routing/pins.d.ts +22 -0
- package/dist/types/src/common-auth-embedded/routing/sticky.d.ts +158 -0
- package/dist/types/src/common-auth-embedded/setup/command.d.ts +3 -0
- package/dist/types/src/common-auth-embedded/setup/detect.d.ts +6 -0
- package/dist/types/src/common-auth-embedded/setup/index.d.ts +5 -0
- package/dist/types/src/common-auth-embedded/setup/process-fence.d.ts +43 -0
- package/dist/types/src/common-auth-embedded/setup/register.d.ts +11 -0
- package/dist/types/src/common-auth-embedded/setup/types.d.ts +136 -0
- package/dist/types/src/common-auth-embedded/store/schema.d.ts +2 -0
- package/dist/types/src/ga/rpc/protocol.d.ts +6 -10
- package/dist/types/src/ga/rpc/protocol.d.ts.map +1 -1
- package/dist/types/src/ga/server/auth.d.ts +8 -3
- package/dist/types/src/ga/server/auth.d.ts.map +1 -1
- package/dist/types/src/ga/server/index.d.ts +39 -12
- package/dist/types/src/ga/server/index.d.ts.map +1 -1
- package/dist/types/src/ga/server/pool-login.d.ts +22 -0
- package/dist/types/src/ga/server/pool-login.d.ts.map +1 -0
- package/dist/types/src/plugin/accounts.d.ts +1 -1
- package/dist/types/src/plugin/accounts.d.ts.map +1 -1
- package/dist/types/src/plugin/background-vault-quota-refresh.d.ts +2 -0
- package/dist/types/src/plugin/background-vault-quota-refresh.d.ts.map +1 -1
- package/dist/types/src/plugin/command-apply.d.ts +2 -2
- package/dist/types/src/plugin/command-apply.d.ts.map +1 -1
- package/dist/types/src/plugin/commands.d.ts +1 -0
- package/dist/types/src/plugin/commands.d.ts.map +1 -1
- package/dist/types/src/plugin/config/operator-settings-schema.d.ts +0 -4
- package/dist/types/src/plugin/config/operator-settings-schema.d.ts.map +1 -1
- package/dist/types/src/plugin/config/schema.d.ts +0 -7
- package/dist/types/src/plugin/config/schema.d.ts.map +1 -1
- package/dist/types/src/plugin/config/writer.d.ts +1 -1
- package/dist/types/src/plugin/fetch/retry-state.d.ts +19 -3
- package/dist/types/src/plugin/fetch/retry-state.d.ts.map +1 -1
- package/dist/types/src/plugin/fetch-interceptor.d.ts.map +1 -1
- package/dist/types/src/plugin/fetch-routing.d.ts +0 -16
- package/dist/types/src/plugin/fetch-routing.d.ts.map +1 -1
- package/dist/types/src/plugin/ga-location-services.d.ts +14 -9
- package/dist/types/src/plugin/ga-location-services.d.ts.map +1 -1
- package/dist/types/src/plugin/google-origin.d.ts +7 -0
- package/dist/types/src/plugin/google-origin.d.ts.map +1 -0
- package/dist/types/src/plugin/index.d.ts.map +1 -1
- package/dist/types/src/plugin/oauth-methods.d.ts.map +1 -1
- package/dist/types/src/plugin/operator-settings.d.ts +1 -1
- package/dist/types/src/plugin/operator-settings.d.ts.map +1 -1
- package/dist/types/src/plugin/quota.d.ts +11 -7
- package/dist/types/src/plugin/quota.d.ts.map +1 -1
- package/dist/types/src/plugin/request.d.ts +5 -3
- package/dist/types/src/plugin/request.d.ts.map +1 -1
- package/dist/types/src/plugin/server.d.ts.map +1 -1
- package/dist/types/src/plugin/shared/advisory-repository.d.ts +20 -0
- package/dist/types/src/plugin/shared/advisory-repository.d.ts.map +1 -0
- package/dist/types/src/plugin/shared/request-services.d.ts +19 -25
- package/dist/types/src/plugin/shared/request-services.d.ts.map +1 -1
- package/dist/types/src/plugin/shared/vault-request-credentials.d.ts +4 -1
- package/dist/types/src/plugin/shared/vault-request-credentials.d.ts.map +1 -1
- package/dist/types/src/plugin/storage.d.ts +2 -2
- package/dist/types/src/plugin/storage.d.ts.map +1 -1
- package/dist/types/src/plugin/vault-custody.d.ts.map +1 -1
- package/dist/types/src/plugin/vault-quota-outcome.d.ts +19 -0
- package/dist/types/src/plugin/vault-quota-outcome.d.ts.map +1 -0
- package/dist/types/src/setup.d.ts +15 -0
- package/dist/types/src/setup.d.ts.map +1 -0
- package/dist/types/src/sidebar-state.d.ts +1 -1
- package/dist/types/src/sidebar-state.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/common-auth-embedded/claustrum/consumer.d.ts +33 -3
- package/src/common-auth-embedded/claustrum/consumer.js +96 -1
- package/src/common-auth-embedded/claustrum/custody.d.ts +4 -1
- package/src/common-auth-embedded/claustrum/enrollment.d.ts +6 -1
- package/src/common-auth-embedded/claustrum/enrollment.js +6 -1
- package/src/common-auth-embedded/claustrum/index.d.ts +2 -1
- package/src/common-auth-embedded/claustrum/index.js +5 -3
- package/src/common-auth-embedded/claustrum/insula.d.ts +69 -0
- package/src/common-auth-embedded/claustrum/insula.js +152 -0
- package/src/common-auth-embedded/claustrum/roster.d.ts +13 -0
- package/src/common-auth-embedded/claustrum/roster.js +33 -3
- package/src/common-auth-embedded/fs/refresh-file-lock.js +20 -11
- package/src/common-auth-embedded/quota/codec.d.ts +2 -0
- package/src/common-auth-embedded/quota/codec.js +2 -1
- package/src/common-auth-embedded/quota/format.d.ts +26 -0
- package/src/common-auth-embedded/quota/format.js +78 -42
- package/src/common-auth-embedded/quota/index.d.ts +4 -4
- package/src/common-auth-embedded/quota/index.js +2 -2
- package/src/common-auth-embedded/quota/map.d.ts +11 -0
- package/src/common-auth-embedded/quota/map.js +36 -1
- package/src/common-auth-embedded/quota/merge.d.ts +3 -1
- package/src/common-auth-embedded/quota/merge.js +21 -5
- package/src/common-auth-embedded/quota/projection.d.ts +2 -1
- package/src/common-auth-embedded/quota/projection.js +3 -1
- package/src/common-auth-embedded/setup/command-runner.js +49 -0
- package/src/common-auth-embedded/setup/command.d.ts +3 -0
- package/src/common-auth-embedded/setup/command.js +215 -0
- package/src/common-auth-embedded/setup/config-write.js +60 -0
- package/src/common-auth-embedded/setup/detect.d.ts +6 -0
- package/src/common-auth-embedded/setup/detect.js +224 -0
- package/src/common-auth-embedded/setup/enroll.js +70 -0
- package/src/common-auth-embedded/setup/index.d.ts +5 -0
- package/src/common-auth-embedded/setup/index.js +4 -0
- package/src/common-auth-embedded/setup/paths.js +33 -0
- package/src/common-auth-embedded/setup/process-fence.d.ts +43 -0
- package/src/common-auth-embedded/setup/process-fence.js +270 -0
- package/src/common-auth-embedded/setup/prompts.js +26 -0
- package/src/common-auth-embedded/setup/register.d.ts +11 -0
- package/src/common-auth-embedded/setup/register.js +130 -0
- package/src/common-auth-embedded/setup/types.d.ts +136 -0
- package/src/common-auth-embedded/source-output.json +228 -80
- package/src/common-auth-embedded/store/schema.d.ts +2 -0
- package/src/common-auth-embedded/store/schema.js +3 -2
- package/src/sidebar-state.ts +19 -2
- package/src/tui-compiled/common-auth-embedded/quota/codec.js +2 -1
- package/src/tui-compiled/common-auth-embedded/quota/format.js +78 -42
- package/src/tui-compiled/common-auth-embedded/quota/index.js +2 -2
- package/src/tui-compiled/common-auth-embedded/quota/map.js +36 -1
- package/src/tui-compiled/common-auth-embedded/quota/merge.js +21 -5
- package/src/tui-compiled/common-auth-embedded/quota/projection.js +3 -1
- package/src/tui-compiled/quota-presentation.js +42 -9
- package/src/tui-compiled/sidebar-state.js +15 -1
- package/src/tui-compiled/tui.js +516 -334
- package/src/tui-ga-compiled/host-ga.js +11 -38
- package/src/tui-ga-compiled/shared/1ff34afa7c42d196-projection.js +3 -1
- package/src/tui-ga-compiled/shared/77138df80c7ae006-map.js +36 -1
- package/src/tui-ga-compiled/shared/98cc0c186c46c42d-quota-presentation.js +42 -9
- package/src/tui-ga-compiled/shared/aef2402f8fc342f0-format.js +78 -42
- package/src/tui-ga-compiled/shared/bf17cbee28e58197-index.js +2 -2
- package/src/tui-ga-compiled/shared/ca21dc417b36dc5d-codec.js +2 -1
- package/src/tui-ga-compiled/shared/ecc214300932dfb6-merge.js +21 -5
- package/src/tui-ga-raw/host-ga.tsx +31 -62
- package/src/tui-ga-raw/shared/1ff34afa7c42d196-projection.js +3 -1
- package/src/tui-ga-raw/shared/77138df80c7ae006-map.js +36 -1
- package/src/tui-ga-raw/shared/98cc0c186c46c42d-quota-presentation.js +42 -9
- package/src/tui-ga-raw/shared/aef2402f8fc342f0-format.js +78 -42
- package/src/tui-ga-raw/shared/bf17cbee28e58197-index.js +2 -2
- package/src/tui-ga-raw/shared/ca21dc417b36dc5d-codec.js +2 -1
- package/src/tui-ga-raw/shared/ecc214300932dfb6-merge.js +21 -5
- package/src/tui-raw/common-auth-embedded/quota/codec.js +2 -1
- package/src/tui-raw/common-auth-embedded/quota/format.js +78 -42
- package/src/tui-raw/common-auth-embedded/quota/index.js +2 -2
- package/src/tui-raw/common-auth-embedded/quota/map.js +36 -1
- package/src/tui-raw/common-auth-embedded/quota/merge.js +21 -5
- package/src/tui-raw/common-auth-embedded/quota/projection.js +3 -1
- package/src/tui-raw/quota-presentation.js +42 -9
- package/src/tui-raw/sidebar-state.js +15 -1
- package/src/tui-raw/tui.tsx +423 -218
- package/src/tui.tsx +423 -218
- package/dist/src/tui/vault-setup.d.ts +0 -98
- package/dist/src/tui/vault-setup.d.ts.map +0 -1
- package/dist/src/tui/vault-setup.js +0 -198
- package/dist/src/tui/vault-setup.js.map +0 -1
- package/dist/types/src/plugin/transform/model-resolver.d.ts +0 -2
- package/dist/types/src/plugin/transform/model-resolver.d.ts.map +0 -1
- package/dist/types/src/quota-presentation.d.ts +0 -18
- package/dist/types/src/quota-presentation.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-routing.js","sourceRoot":"","sources":["../../../src/plugin/fetch-routing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch-routing.js","sourceRoot":"","sources":["../../../src/plugin/fetch-routing.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAE3E,MAAM,UAAU,8BAA8B,CAC5C,oBAA4B;IAE5B,OAAO,oBAAoB,IAAI,0BAA0B,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,mBAA2B;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,mBAAmB,EACnB,yBAAyB,CAAC,MAAM,GAAG,CAAC,CACrC,CAAA;IACD,OAAO,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,SAAS,GAAI,KAAiB,CAAC,GAAG,CAAA;IACxC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CACjC,kBAAkB,EAClB,wBAAwB,CACzB,CAAA;QACH,CAAC;QACD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAClC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAC7D,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAAiB,EACjB,KAAgE;IAEhE,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;IAC5C,IAAI,MAAM,GAAgB,QAAQ,CAAA;IAClC,IAAI,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,QAAQ,CAAA;IACnB,CAAC;IACD,IAAI,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC;QAC5B,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* The GA server module is imported for types only, so it can import this
|
|
19
19
|
* module's factory without a cycle.
|
|
20
20
|
*/
|
|
21
|
-
import { type AccountManager, type AccountRepository, type AccountRow, type AccountStoreModules, type AntigravityMenuAccounts, type AntigravityQuotaCheckReport, type AntigravityRepositoryMenuOptions, type AntigravityVaultAccountSource, type CommonAuthCommandsModule, type FetchAccountQuota, type ManagedAccount, type OAuthAuthDetails, type RowRef, type VaultRouteRef } from '@cortexkit/antigravity-auth-core';
|
|
21
|
+
import { type AccountManager, type AccountMigrationModules, type AccountRepository, type AccountRow, type AccountStoreModules, type AntigravityMenuAccounts, type AntigravityQuotaCheckReport, type AntigravityRepositoryMenuOptions, type AntigravityVaultAccountSource, type CommonAuthCommandsModule, type FetchAccountQuota, type ManagedAccount, type OAuthAuthDetails, type QuotaCheckPurpose, type RowRef, type VaultRouteRef } from '@cortexkit/antigravity-auth-core';
|
|
22
22
|
import type { AntigravityRpcScope, AntigravitySettingsDto, AntigravityStatusDto } from '../ga/rpc/protocol.js';
|
|
23
23
|
import type { GaCommandService, GaJobExecutor, GaLocationServices, GaLocationServicesFactory, GaPluginOverrides, GaRpcActivation, GaRuntimeCollaborators, GaStateSource, HarnessAccessBlock, ObserveAccountSnapshot } from '../ga/server/index.js';
|
|
24
24
|
import type { SidebarRoutingEntry } from '../sidebar-state.js';
|
|
@@ -69,7 +69,7 @@ export declare function accessBlockOf(row: AccountRow): HarnessAccessBlock;
|
|
|
69
69
|
* only reads; per-account killswitch overrides stay out because their keys
|
|
70
70
|
* derive from refresh tokens.
|
|
71
71
|
*/
|
|
72
|
-
export declare function gaSettingsOf(settings: OperatorSettings, dump: Pick<GeminiDumpState, 'isEnabled'
|
|
72
|
+
export declare function gaSettingsOf(settings: OperatorSettings, dump: Pick<GeminiDumpState, 'isEnabled'>, selectionStrategy: AntigravitySettingsDto['selectionStrategy']): AntigravitySettingsDto;
|
|
73
73
|
export interface GaAccountStateOptions {
|
|
74
74
|
readonly repository: Pick<AccountRepository, 'read'>;
|
|
75
75
|
readonly registry: GaSelectorRegistry;
|
|
@@ -106,7 +106,7 @@ export type GaCommandMenu = ReturnType<CommonAuthCommandsModule['createCommandMe
|
|
|
106
106
|
export declare function createGaLocationMenu(input: {
|
|
107
107
|
readonly commands: CommonAuthCommandsModule;
|
|
108
108
|
readonly repository: AntigravityMenuAccounts & Pick<AccountRepository, 'updateMetadata'>;
|
|
109
|
-
readonly runtime: Pick<LocationRuntime, 'operatorSettings' | 'dump' | 'applyOperatorSettings'>;
|
|
109
|
+
readonly runtime: Pick<LocationRuntime, 'operatorSettings' | 'dump' | 'applyOperatorSettings' | 'config'>;
|
|
110
110
|
readonly refreshQuota?: AntigravityRepositoryMenuOptions['refreshQuota'];
|
|
111
111
|
readonly reauthorize?: AntigravityRepositoryMenuOptions['reauthorize'];
|
|
112
112
|
/** The Vault section, when the location has vault custody available. */
|
|
@@ -207,7 +207,7 @@ export interface GaRequestPipeline {
|
|
|
207
207
|
type GaStartInput = Parameters<GaLocationServices['start']>[0];
|
|
208
208
|
export interface GaLocationServicesBindings {
|
|
209
209
|
/** The common-auth `./store` and `./fs` modules the repository is built on. */
|
|
210
|
-
readonly loadStoreModules: () => Promise<AccountStoreModules>;
|
|
210
|
+
readonly loadStoreModules: () => Promise<AccountStoreModules & AccountMigrationModules>;
|
|
211
211
|
/** Resolve the shared pool; a new workspace must not create a separate account store. */
|
|
212
212
|
readonly resolveAccountFile: (directory: string) => string;
|
|
213
213
|
readonly now: () => number;
|
|
@@ -245,6 +245,7 @@ export interface GaLocationServicesBindings {
|
|
|
245
245
|
export type GaVaultCustodySource = VaultRequestSource & VaultStateSource & Pick<AntigravityVaultAccountSource, 'send'>;
|
|
246
246
|
/** The vault custody operations a GA location uses. */
|
|
247
247
|
export interface GaLocationCustody extends Pick<OpenCodeVaultCustody, 'readMode' | 'menuSection' | 'dispose' | 'readState'> {
|
|
248
|
+
startObservation?(): Promise<void>;
|
|
248
249
|
custodySource(): Promise<GaVaultCustodySource>;
|
|
249
250
|
}
|
|
250
251
|
/**
|
|
@@ -272,6 +273,9 @@ export interface GaQuotaTarget {
|
|
|
272
273
|
}
|
|
273
274
|
/** The bearer a quota check may use, for exactly the captured credential. */
|
|
274
275
|
export type GaQuotaAuthorization = {
|
|
276
|
+
readonly status: 'skipped';
|
|
277
|
+
readonly reason: 'refresh-needed';
|
|
278
|
+
} | {
|
|
275
279
|
readonly status: 'authorized';
|
|
276
280
|
readonly ref: RowRef;
|
|
277
281
|
readonly auth: OAuthAuthDetails;
|
|
@@ -283,10 +287,10 @@ export type GaQuotaAuthorization = {
|
|
|
283
287
|
* Resolves the bearer for one quota check from the repository, by the
|
|
284
288
|
* target's captured ref only. A row that no longer holds that exact
|
|
285
289
|
* credential (replaced, re-identified or removed) is refused rather than
|
|
286
|
-
* checked on its successor.
|
|
287
|
-
* repository
|
|
290
|
+
* checked on its successor. Required checks refresh an expired token through
|
|
291
|
+
* the repository. Explicit advisory checks skip instead of owning credential writes.
|
|
288
292
|
*/
|
|
289
|
-
export declare function authorizeGaQuotaCheck(repository: Pick<AccountRepository, 'read' | 'refresh'>, target: GaQuotaTarget, now: () => number): Promise<GaQuotaAuthorization>;
|
|
293
|
+
export declare function authorizeGaQuotaCheck(repository: Pick<AccountRepository, 'read' | 'refresh'>, target: GaQuotaTarget, now: () => number, purpose?: QuotaCheckPurpose): Promise<GaQuotaAuthorization>;
|
|
290
294
|
/**
|
|
291
295
|
* The GA location's quota fetcher. Each check is attributed to the target's
|
|
292
296
|
* captured repository ref: the bearer comes from `authorizeGaQuotaCheck`
|
|
@@ -308,7 +312,7 @@ export interface GaRouteBook {
|
|
|
308
312
|
}
|
|
309
313
|
export declare function createGaRouteBook(limit?: number): GaRouteBook;
|
|
310
314
|
/** Runs one bridged job through the shared request engine. */
|
|
311
|
-
export declare function createGaJobExecutor(executor: Pick<AntigravityRequestExecutor, 'execute'>): GaJobExecutor;
|
|
315
|
+
export declare function createGaJobExecutor(executor: Pick<AntigravityRequestExecutor, 'execute'>, overrides?: Pick<GaPluginOverrides, 'send'>): GaJobExecutor;
|
|
312
316
|
/**
|
|
313
317
|
* The shared request engine over a repository-backed account manager. The
|
|
314
318
|
* engine is the same one OpenCode 1 uses; only its collaborators are this
|
|
@@ -380,7 +384,8 @@ export interface GaVaultHost {
|
|
|
380
384
|
* the system clock, the repository-backed request pipeline and the
|
|
381
385
|
* collaborators above. Every activation gets its own repository, account
|
|
382
386
|
* slot and pipeline. With `vault`, a location can also serve the vault's
|
|
383
|
-
* accounts:
|
|
387
|
+
* accounts: each operation re-reads the enrollment files. An approved host
|
|
388
|
+
* uses the vault; an unenrolled host uses its local store.
|
|
384
389
|
*/
|
|
385
390
|
export declare function createGaLocationServicesForHost(vault?: GaVaultHost): GaLocationServicesFactory;
|
|
386
391
|
/** The connection API belongs to this setup context, not a module-wide host. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ga-location-services.d.ts","sourceRoot":"","sources":["../../../src/plugin/ga-location-services.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,iBAAiB,EAEtB,KAAK,UAAU,EAEf,KAAK,mBAAmB,EAGxB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAGlC,KAAK,wBAAwB,EAK7B,KAAK,iBAAiB,EAKtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EAErB,KAAK,MAAM,EAOX,KAAK,aAAa,EACnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EAEtB,aAAa,EACb,kBAAkB,EAGlB,sBAAsB,EACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAc5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"ga-location-services.d.ts","sourceRoot":"","sources":["../../../src/plugin/ga-location-services.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,15 +23,17 @@ import { ANTIGRAVITY_MENU_COMMAND, antigravitySettingsSections, authorizeAntigra
|
|
|
23
23
|
import { createRepositoryAccountAccessService, extractAccountAccessErrorDetails, } from "./account-access.js";
|
|
24
24
|
import { createLocalAccountCredentials, loadAccountManagerFromRepository, } from "./accounts.js";
|
|
25
25
|
import { createStoreAccountLimits, diagnosticsMenuSection, operatorMenuSettings, } from "./command-apply.js";
|
|
26
|
+
import { commitLogins } from "./persist-account-pool.js";
|
|
26
27
|
import { createAuthorizedFetchAccountQuota, createStoreQuotaService, } from "./quota.js";
|
|
27
28
|
import { buildThinkingWarmupBody, getImageModelLocalTitle, getLastCacheStats, prepareAntigravityRequest, transformAntigravityResponse, } from "./request.js";
|
|
28
29
|
import { startOAuthListener } from "./server.js";
|
|
29
30
|
import { AgySessionRegistry } from "./session-context.js";
|
|
30
|
-
import {
|
|
31
|
+
import { createAdvisoryRepositoryOwner } from "./shared/advisory-repository.js";
|
|
32
|
+
import { createLocalQuotaRefresh, createRequestExecutor, retiredModelResponse, } from "./shared/request-services.js";
|
|
31
33
|
import { createMemoryQuotaSnapshots, } from "./shared/runtime.js";
|
|
32
34
|
import { createVaultAccountMenuSections } from './shared/vault-menu';
|
|
33
35
|
import { checkVaultQuota, createVaultAccountPool, vaultAccountRowKey, } from "./shared/vault-request-credentials.js";
|
|
34
|
-
import { getStoragePath } from './storage';
|
|
36
|
+
import { getStoragePath, initializeFreshAccountStoreFor } from './storage';
|
|
35
37
|
import { createOpenCodeVaultCustody, } from "./vault-custody.js";
|
|
36
38
|
/** Accounts one `state` answer may carry (`ANTIGRAVITY_RPC_LIMITS.accounts`). */
|
|
37
39
|
const ACCOUNT_LIMIT = 64;
|
|
@@ -263,12 +265,9 @@ function redactionInputOf(row, position, current, health) {
|
|
|
263
265
|
* only reads; per-account killswitch overrides stay out because their keys
|
|
264
266
|
* derive from refresh tokens.
|
|
265
267
|
*/
|
|
266
|
-
export function gaSettingsOf(settings, dump) {
|
|
268
|
+
export function gaSettingsOf(settings, dump, selectionStrategy) {
|
|
267
269
|
return {
|
|
268
|
-
|
|
269
|
-
cliFirst: settings.routing.cli_first,
|
|
270
|
-
quotaStyleFallback: settings.routing.quota_style_fallback,
|
|
271
|
-
},
|
|
270
|
+
selectionStrategy,
|
|
272
271
|
killswitch: {
|
|
273
272
|
enabled: settings.killswitch.enabled,
|
|
274
273
|
minimumRemainingPercent: settings.killswitch.minimum_remaining_percent,
|
|
@@ -389,7 +388,7 @@ export function createGaLocationMenu(input) {
|
|
|
389
388
|
source: 'repository',
|
|
390
389
|
commands: input.commands,
|
|
391
390
|
accounts: input.repository,
|
|
392
|
-
settings: operatorMenuSettings(runtime.operatorSettings),
|
|
391
|
+
settings: operatorMenuSettings(runtime.operatorSettings, () => runtime.config.config.account_selection_strategy),
|
|
393
392
|
diagnostics: diagnosticsMenuSection({
|
|
394
393
|
settings: runtime.operatorSettings,
|
|
395
394
|
dump: runtime.dump,
|
|
@@ -658,17 +657,27 @@ function storeRefusal(status) {
|
|
|
658
657
|
: `The Antigravity account store is ${status.status}; finish its migration or rollback with \`antigravity-auth migrate --offline\` or \`antigravity-auth rollback --offline\`.`);
|
|
659
658
|
}
|
|
660
659
|
/**
|
|
661
|
-
* Opens the
|
|
662
|
-
*
|
|
663
|
-
*
|
|
664
|
-
*
|
|
665
|
-
*
|
|
666
|
-
* side effect of activation.
|
|
660
|
+
* Opens the account store published by initialization or migration. Management
|
|
661
|
+
* may open that store to recover an unfinished account clear or replacement;
|
|
662
|
+
* serving requires a separate `assertServingAdmission` check before using
|
|
663
|
+
* credentials. Activation never initializes or migrates storage. An explicit
|
|
664
|
+
* pool login may initialize a fresh store, but cannot resume a migration.
|
|
667
665
|
*/
|
|
668
|
-
async function openLocationRepository(directory, bindings, overrides) {
|
|
666
|
+
async function openLocationRepository(directory, bindings, overrides, login) {
|
|
669
667
|
const legacyPath = bindings.resolveAccountFile(directory);
|
|
670
668
|
const modules = await bindings.loadStoreModules();
|
|
671
|
-
|
|
669
|
+
await login?.admit();
|
|
670
|
+
let binding = await readAccountStoreBinding(legacyPath, modules, bindings.now);
|
|
671
|
+
await login?.admit();
|
|
672
|
+
if (login && binding.status === 'initialization-required') {
|
|
673
|
+
await initializeFreshAccountStoreFor(modules, {
|
|
674
|
+
legacyPath,
|
|
675
|
+
now: bindings.now,
|
|
676
|
+
});
|
|
677
|
+
await login.admit();
|
|
678
|
+
binding = await readAccountStoreBinding(legacyPath, modules, bindings.now);
|
|
679
|
+
await login.admit();
|
|
680
|
+
}
|
|
672
681
|
if (binding.status !== 'bound')
|
|
673
682
|
throw storeRefusal(binding);
|
|
674
683
|
return {
|
|
@@ -746,10 +755,10 @@ const QUOTA_TOKEN_SKEW_MS = 60_000;
|
|
|
746
755
|
* Resolves the bearer for one quota check from the repository, by the
|
|
747
756
|
* target's captured ref only. A row that no longer holds that exact
|
|
748
757
|
* credential (replaced, re-identified or removed) is refused rather than
|
|
749
|
-
* checked on its successor.
|
|
750
|
-
* repository
|
|
758
|
+
* checked on its successor. Required checks refresh an expired token through
|
|
759
|
+
* the repository. Explicit advisory checks skip instead of owning credential writes.
|
|
751
760
|
*/
|
|
752
|
-
export async function authorizeGaQuotaCheck(repository, target, now) {
|
|
761
|
+
export async function authorizeGaQuotaCheck(repository, target, now, purpose = 'required') {
|
|
753
762
|
const ref = target.rowRef;
|
|
754
763
|
if (ref === undefined)
|
|
755
764
|
return { status: 'refused', reason: 'unattributed' };
|
|
@@ -788,6 +797,8 @@ export async function authorizeGaQuotaCheck(repository, target, now) {
|
|
|
788
797
|
},
|
|
789
798
|
};
|
|
790
799
|
}
|
|
800
|
+
if (purpose === 'advisory')
|
|
801
|
+
return { status: 'skipped', reason: 'refresh-needed' };
|
|
791
802
|
const outcome = await repository.refresh(ref);
|
|
792
803
|
if (outcome.status !== 'rotated')
|
|
793
804
|
return { status: 'refused', reason: 'refresh-refused' };
|
|
@@ -849,17 +860,26 @@ export function createGaFetchAccountQuota(options) {
|
|
|
849
860
|
return createAuthorizedFetchAccountQuota({
|
|
850
861
|
logger: options.logger,
|
|
851
862
|
...(quotaFetch ? { transport: () => quotaFetch } : {}),
|
|
852
|
-
async authorize(account) {
|
|
863
|
+
async authorize(account, _signal, purpose = 'required') {
|
|
853
864
|
// Captured before any await: the ref of exactly this target.
|
|
854
865
|
const rowRef = rowRefOfTarget(account);
|
|
855
866
|
await options.assertAdmission?.();
|
|
856
|
-
const authorization = await authorizeGaQuotaCheck(options.repository, { rowRef }, options.now);
|
|
867
|
+
const authorization = await authorizeGaQuotaCheck(options.repository, { rowRef }, options.now, purpose);
|
|
857
868
|
if (authorization.status !== 'authorized')
|
|
858
|
-
return
|
|
869
|
+
return authorization;
|
|
859
870
|
const ref = authorization.ref;
|
|
860
871
|
const accessToken = authorization.auth.access ?? '';
|
|
861
872
|
await options.assertAdmission?.();
|
|
862
|
-
const
|
|
873
|
+
const storedProjects = parseRefreshParts(authorization.auth.refresh);
|
|
874
|
+
const storedProject = storedProjects.managedProjectId ?? storedProjects.projectId;
|
|
875
|
+
if (purpose === 'advisory' && !storedProject)
|
|
876
|
+
return { status: 'skipped', reason: 'project-needed' };
|
|
877
|
+
const project = purpose === 'advisory'
|
|
878
|
+
? {
|
|
879
|
+
auth: authorization.auth,
|
|
880
|
+
effectiveProjectId: storedProject ?? '',
|
|
881
|
+
}
|
|
882
|
+
: await ensureProject(authorization.auth);
|
|
863
883
|
await options.assertAdmission?.();
|
|
864
884
|
const managedProjectId = parseRefreshParts(project.auth.refresh).managedProjectId;
|
|
865
885
|
return {
|
|
@@ -917,17 +937,42 @@ export function createGaRouteBook(limit = 256) {
|
|
|
917
937
|
};
|
|
918
938
|
}
|
|
919
939
|
/** Runs one bridged job through the shared request engine. */
|
|
920
|
-
export function createGaJobExecutor(executor) {
|
|
940
|
+
export function createGaJobExecutor(executor, overrides = {}) {
|
|
941
|
+
const send = overrides.send;
|
|
921
942
|
return (job, context) => executor.execute(job.url, {
|
|
922
943
|
method: 'POST',
|
|
923
944
|
headers: { 'content-type': 'application/json' },
|
|
924
945
|
body: job.body,
|
|
925
946
|
signal: context.signal,
|
|
926
947
|
}, {
|
|
948
|
+
kind: job.kind,
|
|
949
|
+
variant: job.variant ?? undefined,
|
|
927
950
|
session: {
|
|
928
951
|
sessionId: job.sessionID,
|
|
929
952
|
parentSessionId: job.parentSessionID,
|
|
930
953
|
},
|
|
954
|
+
...(send
|
|
955
|
+
? {
|
|
956
|
+
transport: async (url, init, options) => {
|
|
957
|
+
const signal = options?.signal;
|
|
958
|
+
const authorization = new Headers(init?.headers).get('authorization');
|
|
959
|
+
if (typeof init?.body !== 'string' ||
|
|
960
|
+
!authorization?.startsWith('Bearer ') ||
|
|
961
|
+
!signal) {
|
|
962
|
+
throw new Error('The prepared Antigravity send is incomplete');
|
|
963
|
+
}
|
|
964
|
+
// The engine has prepared the body and bearer for this send,
|
|
965
|
+
// whether it is a warmup probe or the main request.
|
|
966
|
+
return send({
|
|
967
|
+
envelope: JSON.parse(init.body),
|
|
968
|
+
auth: { access: authorization.slice('Bearer '.length) },
|
|
969
|
+
endpoint: new URL(url).origin,
|
|
970
|
+
signal,
|
|
971
|
+
kind: job.kind,
|
|
972
|
+
});
|
|
973
|
+
},
|
|
974
|
+
}
|
|
975
|
+
: {}),
|
|
931
976
|
});
|
|
932
977
|
}
|
|
933
978
|
/**
|
|
@@ -958,7 +1003,6 @@ function gaEngineCollaborators(input) {
|
|
|
958
1003
|
}
|
|
959
1004
|
return fetchWithAgyCliTransport(url, init, transportOptions);
|
|
960
1005
|
},
|
|
961
|
-
fetchImpl: (request, init) => fetch(request, init),
|
|
962
1006
|
wire: {
|
|
963
1007
|
prepare: prepareAntigravityRequest,
|
|
964
1008
|
transformResponse: transformAntigravityResponse,
|
|
@@ -981,11 +1025,14 @@ function gaEngineCollaborators(input) {
|
|
|
981
1025
|
export async function createGaLocalRequestPipeline(input) {
|
|
982
1026
|
const runtime = input.runtime;
|
|
983
1027
|
await input.assertAdmission?.();
|
|
984
|
-
const
|
|
1028
|
+
const logger = runtime.logger.createLogger('request');
|
|
1029
|
+
const advisory = createAdvisoryRepositoryOwner(input.repository, logger);
|
|
1030
|
+
const manager = await loadAccountManagerFromRepository(advisory.repository, {
|
|
1031
|
+
onWriteError: advisory.owns,
|
|
1032
|
+
});
|
|
985
1033
|
input.accounts.current = manager;
|
|
986
1034
|
input.accounts.quotaLogger = runtime.logger.createLogger('quota');
|
|
987
1035
|
await runtime.replaceAccounts(manager);
|
|
988
|
-
const logger = runtime.logger.createLogger('request');
|
|
989
1036
|
const executor = createRequestExecutor({
|
|
990
1037
|
...gaEngineCollaborators({
|
|
991
1038
|
runtime,
|
|
@@ -1027,12 +1074,13 @@ export async function createGaLocalRequestPipeline(input) {
|
|
|
1027
1074
|
...(quotaFetch ? { transport: () => quotaFetch } : {}),
|
|
1028
1075
|
});
|
|
1029
1076
|
return {
|
|
1030
|
-
execute: createGaJobExecutor(executor),
|
|
1077
|
+
execute: createGaJobExecutor(executor, input.overrides),
|
|
1031
1078
|
refreshQuota: (refs) => storeQuota.checkStoreQuota(refs),
|
|
1032
1079
|
refreshAccounts: () => manager.refreshFromRepository(),
|
|
1033
1080
|
async dispose() {
|
|
1034
1081
|
await executor.dispose();
|
|
1035
1082
|
await storeQuota.dispose();
|
|
1083
|
+
await advisory.drain();
|
|
1036
1084
|
if (input.accounts.current === manager) {
|
|
1037
1085
|
input.accounts.current = null;
|
|
1038
1086
|
input.accounts.quotaLogger = null;
|
|
@@ -1080,7 +1128,7 @@ export async function createGaVaultRequestPipeline(input) {
|
|
|
1080
1128
|
execute: async (job, context) => {
|
|
1081
1129
|
await input.assertAdmission?.();
|
|
1082
1130
|
await pool.sync();
|
|
1083
|
-
return createGaJobExecutor(executor)(job, context);
|
|
1131
|
+
return createGaJobExecutor(executor, input.overrides)(job, context);
|
|
1084
1132
|
},
|
|
1085
1133
|
rows: () => pool.selector.rows,
|
|
1086
1134
|
refreshAccounts: async () => {
|
|
@@ -1274,7 +1322,7 @@ async function createGaVaultLocationServices(input) {
|
|
|
1274
1322
|
})
|
|
1275
1323
|
: undefined;
|
|
1276
1324
|
const started = pipeline;
|
|
1277
|
-
const settings = operatorMenuSettings(location.operatorSettings);
|
|
1325
|
+
const settings = operatorMenuSettings(location.operatorSettings, () => 'vault');
|
|
1278
1326
|
const menu = createAntigravityCommandMenu({
|
|
1279
1327
|
source: 'sections',
|
|
1280
1328
|
commands: await loadCommonAuthCommands(),
|
|
@@ -1297,7 +1345,7 @@ async function createGaVaultLocationServices(input) {
|
|
|
1297
1345
|
selectorOf,
|
|
1298
1346
|
...(input.nextReadSeq ? { nextReadSeq: input.nextReadSeq } : {}),
|
|
1299
1347
|
generation: start.generation,
|
|
1300
|
-
settings: () => gaSettingsOf(location.operatorSettings.get(), location.dump),
|
|
1348
|
+
settings: () => gaSettingsOf(location.operatorSettings.get(), location.dump, 'vault'),
|
|
1301
1349
|
route: (scope) => routes.route(scope),
|
|
1302
1350
|
...(overrides.observeAccountSnapshot
|
|
1303
1351
|
? { observe: overrides.observeAccountSnapshot }
|
|
@@ -1390,9 +1438,9 @@ export function createGaLocationServicesFactory(bindings) {
|
|
|
1390
1438
|
await refreshVaultBinding?.();
|
|
1391
1439
|
}
|
|
1392
1440
|
};
|
|
1393
|
-
const getRepository = async () => {
|
|
1441
|
+
const getRepository = async (login) => {
|
|
1394
1442
|
await assertLocal();
|
|
1395
|
-
repositoryPromise ??= openLocationRepository(directory, bindings, overrides).catch((error) => {
|
|
1443
|
+
repositoryPromise ??= openLocationRepository(directory, bindings, overrides, login).catch((error) => {
|
|
1396
1444
|
repositoryPromise = undefined;
|
|
1397
1445
|
throw error;
|
|
1398
1446
|
});
|
|
@@ -1416,7 +1464,7 @@ export function createGaLocationServicesFactory(bindings) {
|
|
|
1416
1464
|
const result = await Reflect.apply(value, target, args);
|
|
1417
1465
|
if (key !== 'settled' && refusedWrites.length > 0) {
|
|
1418
1466
|
const failures = refusedWrites.splice(0);
|
|
1419
|
-
throw new AggregateError(failures, 'Local writes were refused by source authority');
|
|
1467
|
+
throw new AggregateError(failures, 'Local writes were refused by source authority', { cause: result });
|
|
1420
1468
|
}
|
|
1421
1469
|
return result;
|
|
1422
1470
|
})();
|
|
@@ -1460,6 +1508,7 @@ export function createGaLocationServicesFactory(bindings) {
|
|
|
1460
1508
|
(await authority()) === 'local' &&
|
|
1461
1509
|
(!previousMayRun || (await previousMayRun())),
|
|
1462
1510
|
};
|
|
1511
|
+
await custody?.startObservation?.();
|
|
1463
1512
|
}
|
|
1464
1513
|
catch (error) {
|
|
1465
1514
|
await custody?.dispose().catch(() => { });
|
|
@@ -1467,6 +1516,27 @@ export function createGaLocationServicesFactory(bindings) {
|
|
|
1467
1516
|
}
|
|
1468
1517
|
return {
|
|
1469
1518
|
runtime,
|
|
1519
|
+
localLogin: {
|
|
1520
|
+
assertAdmission: assertLocal,
|
|
1521
|
+
async persist(result, admit) {
|
|
1522
|
+
await assertLocal();
|
|
1523
|
+
await admit();
|
|
1524
|
+
const repository = await getRepository({ admit });
|
|
1525
|
+
await admit();
|
|
1526
|
+
const opened = await repositoryPromise;
|
|
1527
|
+
await admit();
|
|
1528
|
+
if (!opened)
|
|
1529
|
+
throw new Error('The local repository was not constructed');
|
|
1530
|
+
await assertServingAdmission(opened, bindings.now);
|
|
1531
|
+
await admit();
|
|
1532
|
+
const committed = await commitLogins(repository, [result]);
|
|
1533
|
+
await admit();
|
|
1534
|
+
if (committed.length !== 1 || committed[0]?.status !== 'committed')
|
|
1535
|
+
throw new Error('The Antigravity pool login could not be completed.');
|
|
1536
|
+
await localPipeline?.refreshAccounts();
|
|
1537
|
+
await admit();
|
|
1538
|
+
},
|
|
1539
|
+
},
|
|
1470
1540
|
async start(input) {
|
|
1471
1541
|
if (closing)
|
|
1472
1542
|
throw new Error('The location services are disposed');
|
|
@@ -1474,7 +1544,7 @@ export function createGaLocationServicesFactory(bindings) {
|
|
|
1474
1544
|
throw new Error('The location services already started');
|
|
1475
1545
|
started = true;
|
|
1476
1546
|
const location = input.runtime;
|
|
1477
|
-
const settings = operatorMenuSettings(location.operatorSettings);
|
|
1547
|
+
const settings = operatorMenuSettings(location.operatorSettings, () => location.config.config.account_selection_strategy);
|
|
1478
1548
|
const recoveryMenu = createAntigravityCommandMenu({
|
|
1479
1549
|
source: 'sections',
|
|
1480
1550
|
commands: await loadCommonAuthCommands(),
|
|
@@ -1523,7 +1593,7 @@ export function createGaLocationServicesFactory(bindings) {
|
|
|
1523
1593
|
quotaBackoffUntil: null,
|
|
1524
1594
|
routingAuthoritative: false,
|
|
1525
1595
|
},
|
|
1526
|
-
settings: gaSettingsOf(location.operatorSettings.get(), location.dump),
|
|
1596
|
+
settings: gaSettingsOf(location.operatorSettings.get(), location.dump, location.config.config.account_selection_strategy),
|
|
1527
1597
|
};
|
|
1528
1598
|
},
|
|
1529
1599
|
},
|
|
@@ -1588,7 +1658,7 @@ export function createGaLocationServicesFactory(bindings) {
|
|
|
1588
1658
|
registry,
|
|
1589
1659
|
generation: input.generation,
|
|
1590
1660
|
nextReadSeq,
|
|
1591
|
-
settings: () => gaSettingsOf(location.operatorSettings.get(), location.dump),
|
|
1661
|
+
settings: () => gaSettingsOf(location.operatorSettings.get(), location.dump, location.config.config.account_selection_strategy),
|
|
1592
1662
|
status: () => ({
|
|
1593
1663
|
checkedAt: null,
|
|
1594
1664
|
quotaBackoffUntil: null,
|
|
@@ -1680,6 +1750,15 @@ export function createGaLocationServicesFactory(bindings) {
|
|
|
1680
1750
|
execute: (job, context) => run(async () => {
|
|
1681
1751
|
if (context.signal.aborted)
|
|
1682
1752
|
throw context.signal.reason;
|
|
1753
|
+
if (closing)
|
|
1754
|
+
throw new Error('The location services are disposed');
|
|
1755
|
+
// The shared engine replaces retired title models before checking
|
|
1756
|
+
// retirement; leave that routing ahead of this early rejection.
|
|
1757
|
+
if (job.kind !== 'title') {
|
|
1758
|
+
const retired = retiredModelResponse(job.url);
|
|
1759
|
+
if (retired)
|
|
1760
|
+
return retired;
|
|
1761
|
+
}
|
|
1683
1762
|
return (await choose('execute')).execute(job, context);
|
|
1684
1763
|
}),
|
|
1685
1764
|
commands: {
|
|
@@ -1763,7 +1842,7 @@ export function createGaLocationServicesFactory(bindings) {
|
|
|
1763
1842
|
export function createGaRuntimeCollaborators(input) {
|
|
1764
1843
|
return {
|
|
1765
1844
|
quotaSnapshots: createMemoryQuotaSnapshots(),
|
|
1766
|
-
fetchAccountQuota: async (account, signal) => {
|
|
1845
|
+
fetchAccountQuota: async (account, signal, purpose) => {
|
|
1767
1846
|
const repository = await input.getRepository();
|
|
1768
1847
|
return createGaFetchAccountQuota({
|
|
1769
1848
|
repository,
|
|
@@ -1775,7 +1854,7 @@ export function createGaRuntimeCollaborators(input) {
|
|
|
1775
1854
|
logger: {
|
|
1776
1855
|
debug: (...args) => input.accounts.quotaLogger?.debug(...args),
|
|
1777
1856
|
},
|
|
1778
|
-
})(account, signal);
|
|
1857
|
+
})(account, signal, purpose);
|
|
1779
1858
|
},
|
|
1780
1859
|
refreshToken: async (_auth, account) => {
|
|
1781
1860
|
const manager = input.accounts.current;
|
|
@@ -1793,7 +1872,8 @@ export function createGaRuntimeCollaborators(input) {
|
|
|
1793
1872
|
* the system clock, the repository-backed request pipeline and the
|
|
1794
1873
|
* collaborators above. Every activation gets its own repository, account
|
|
1795
1874
|
* slot and pipeline. With `vault`, a location can also serve the vault's
|
|
1796
|
-
* accounts:
|
|
1875
|
+
* accounts: each operation re-reads the enrollment files. An approved host
|
|
1876
|
+
* uses the vault; an unenrolled host uses its local store.
|
|
1797
1877
|
*/
|
|
1798
1878
|
export function createGaLocationServicesForHost(vault) {
|
|
1799
1879
|
return (input) => {
|