@cortexkit/opencode-antigravity-auth 1.1.0 → 2.0.1
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 +225 -569
- package/dist/cli.js +4017 -0
- package/dist/cli.js.map +7 -0
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20742 -14586
- package/dist/index.js.map +4 -4
- package/dist/src/antigravity/oauth.d.ts +1 -1
- package/dist/src/antigravity/oauth.js +1 -1
- package/dist/src/cli.d.ts +21 -0
- package/dist/src/cli.d.ts.map +1 -0
- package/dist/src/cli.js +237 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/constants.d.ts +1 -1
- package/dist/src/constants.js +1 -1
- package/dist/src/hooks/auto-update-checker/cache.d.ts.map +1 -1
- package/dist/src/hooks/auto-update-checker/cache.js +13 -13
- package/dist/src/hooks/auto-update-checker/cache.js.map +1 -1
- package/dist/src/hooks/auto-update-checker/checker.d.ts +1 -1
- package/dist/src/hooks/auto-update-checker/checker.d.ts.map +1 -1
- package/dist/src/hooks/auto-update-checker/checker.js +75 -51
- package/dist/src/hooks/auto-update-checker/checker.js.map +1 -1
- package/dist/src/hooks/auto-update-checker/constants.d.ts.map +1 -1
- package/dist/src/hooks/auto-update-checker/constants.js +12 -12
- package/dist/src/hooks/auto-update-checker/constants.js.map +1 -1
- package/dist/src/hooks/auto-update-checker/index.d.ts +6 -6
- package/dist/src/hooks/auto-update-checker/index.d.ts.map +1 -1
- package/dist/src/hooks/auto-update-checker/index.js +17 -17
- package/dist/src/hooks/auto-update-checker/index.js.map +1 -1
- package/dist/src/hooks/auto-update-checker/logging.js +2 -2
- package/dist/src/hooks/auto-update-checker/logging.js.map +1 -1
- package/dist/src/hooks/auto-update-checker/types.d.ts.map +1 -1
- package/dist/src/plugin/account-access.d.ts +99 -0
- package/dist/src/plugin/account-access.d.ts.map +1 -0
- package/dist/src/plugin/account-access.js +480 -0
- package/dist/src/plugin/account-access.js.map +1 -0
- package/dist/src/plugin/account-command-oauth.d.ts +34 -0
- package/dist/src/plugin/account-command-oauth.d.ts.map +1 -0
- package/dist/src/plugin/account-command-oauth.js +156 -0
- package/dist/src/plugin/account-command-oauth.js.map +1 -0
- package/dist/src/plugin/accounts.d.ts +7 -256
- package/dist/src/plugin/accounts.d.ts.map +1 -1
- package/dist/src/plugin/accounts.js +31 -1367
- package/dist/src/plugin/accounts.js.map +1 -1
- package/dist/src/plugin/agy-request-metadata.d.ts +1 -1
- package/dist/src/plugin/agy-request-metadata.js +1 -1
- package/dist/src/plugin/agy-transport.d.ts +1 -1
- package/dist/src/plugin/agy-transport.js +1 -1
- package/dist/src/plugin/auth-doctor.d.ts +6 -6
- package/dist/src/plugin/auth-doctor.d.ts.map +1 -1
- package/dist/src/plugin/auth-doctor.js +74 -66
- package/dist/src/plugin/auth-doctor.js.map +1 -1
- package/dist/src/plugin/auth-drift.d.ts +4 -4
- package/dist/src/plugin/auth-drift.d.ts.map +1 -1
- package/dist/src/plugin/auth-drift.js +15 -15
- package/dist/src/plugin/auth-drift.js.map +1 -1
- package/dist/src/plugin/auth-loader.d.ts +50 -0
- package/dist/src/plugin/auth-loader.d.ts.map +1 -0
- package/dist/src/plugin/auth-loader.js +225 -0
- package/dist/src/plugin/auth-loader.js.map +1 -0
- package/dist/src/plugin/auth.d.ts +1 -1
- package/dist/src/plugin/auth.js +1 -1
- package/dist/src/plugin/background-quota-refresh.d.ts +146 -0
- package/dist/src/plugin/background-quota-refresh.d.ts.map +1 -0
- package/dist/src/plugin/background-quota-refresh.js +347 -0
- package/dist/src/plugin/background-quota-refresh.js.map +1 -0
- package/dist/src/plugin/cache/index.d.ts +1 -1
- package/dist/src/plugin/cache/index.d.ts.map +1 -1
- package/dist/src/plugin/cache/index.js +1 -1
- package/dist/src/plugin/cache/index.js.map +1 -1
- package/dist/src/plugin/cache/signature-cache.d.ts +1 -1
- package/dist/src/plugin/cache/signature-cache.d.ts.map +1 -1
- package/dist/src/plugin/cache/signature-cache.js +23 -24
- package/dist/src/plugin/cache/signature-cache.js.map +1 -1
- package/dist/src/plugin/cache.d.ts +6 -5
- package/dist/src/plugin/cache.d.ts.map +1 -1
- package/dist/src/plugin/cache.js +21 -7
- package/dist/src/plugin/cache.js.map +1 -1
- package/dist/src/plugin/catalog.d.ts +23 -0
- package/dist/src/plugin/catalog.d.ts.map +1 -0
- package/dist/src/plugin/catalog.js +60 -0
- package/dist/src/plugin/catalog.js.map +1 -0
- package/dist/src/plugin/cli.d.ts +7 -7
- package/dist/src/plugin/cli.d.ts.map +1 -1
- package/dist/src/plugin/cli.js +62 -55
- package/dist/src/plugin/cli.js.map +1 -1
- package/dist/src/plugin/command-data.d.ts +329 -0
- package/dist/src/plugin/command-data.d.ts.map +1 -0
- package/dist/src/plugin/command-data.js +517 -0
- package/dist/src/plugin/command-data.js.map +1 -0
- package/dist/src/plugin/commands.d.ts +154 -0
- package/dist/src/plugin/commands.d.ts.map +1 -0
- package/dist/src/plugin/commands.js +746 -0
- package/dist/src/plugin/commands.js.map +1 -0
- package/dist/src/plugin/config/index.d.ts +2 -2
- package/dist/src/plugin/config/index.d.ts.map +1 -1
- package/dist/src/plugin/config/index.js +2 -2
- package/dist/src/plugin/config/index.js.map +1 -1
- package/dist/src/plugin/config/loader.d.ts +1 -1
- package/dist/src/plugin/config/loader.d.ts.map +1 -1
- package/dist/src/plugin/config/loader.js +18 -16
- package/dist/src/plugin/config/loader.js.map +1 -1
- package/dist/src/plugin/config/models.d.ts +2 -2
- package/dist/src/plugin/config/models.d.ts.map +1 -1
- package/dist/src/plugin/config/models.js +1 -1
- package/dist/src/plugin/config/models.js.map +1 -1
- package/dist/src/plugin/config/operator-settings-schema.d.ts +29 -0
- package/dist/src/plugin/config/operator-settings-schema.d.ts.map +1 -0
- package/dist/src/plugin/config/operator-settings-schema.js +28 -0
- package/dist/src/plugin/config/operator-settings-schema.js.map +1 -0
- package/dist/src/plugin/config/schema.d.ts +23 -2
- package/dist/src/plugin/config/schema.d.ts.map +1 -1
- package/dist/src/plugin/config/schema.js +109 -25
- package/dist/src/plugin/config/schema.js.map +1 -1
- package/dist/src/plugin/config/updater.d.ts.map +1 -1
- package/dist/src/plugin/config/updater.js +15 -15
- package/dist/src/plugin/config/updater.js.map +1 -1
- package/dist/src/plugin/config/writer.d.ts +34 -0
- package/dist/src/plugin/config/writer.d.ts.map +1 -0
- package/dist/src/plugin/config/writer.js +81 -0
- package/dist/src/plugin/config/writer.js.map +1 -0
- package/dist/src/plugin/core/streaming/index.d.ts +1 -1
- package/dist/src/plugin/core/streaming/index.d.ts.map +1 -1
- package/dist/src/plugin/core/streaming/index.js +1 -1
- package/dist/src/plugin/core/streaming/index.js.map +1 -1
- package/dist/src/plugin/core/streaming/transformer.d.ts.map +1 -1
- package/dist/src/plugin/core/streaming/transformer.js +85 -44
- package/dist/src/plugin/core/streaming/transformer.js.map +1 -1
- package/dist/src/plugin/core/streaming/types.d.ts.map +1 -1
- package/dist/src/plugin/debug.d.ts +10 -3
- package/dist/src/plugin/debug.d.ts.map +1 -1
- package/dist/src/plugin/debug.js +110 -47
- package/dist/src/plugin/debug.js.map +1 -1
- package/dist/src/plugin/dependencies.d.ts +129 -0
- package/dist/src/plugin/dependencies.d.ts.map +1 -0
- package/dist/src/plugin/dependencies.js +107 -0
- package/dist/src/plugin/dependencies.js.map +1 -0
- package/dist/src/plugin/errors.d.ts +27 -0
- package/dist/src/plugin/errors.d.ts.map +1 -1
- package/dist/src/plugin/errors.js +29 -3
- package/dist/src/plugin/errors.js.map +1 -1
- package/dist/src/plugin/event-handler.d.ts +53 -0
- package/dist/src/plugin/event-handler.d.ts.map +1 -0
- package/dist/src/plugin/event-handler.js +101 -0
- package/dist/src/plugin/event-handler.js.map +1 -0
- package/dist/src/plugin/fetch/retry-state.d.ts +61 -0
- package/dist/src/plugin/fetch/retry-state.d.ts.map +1 -0
- package/dist/src/plugin/fetch/retry-state.js +248 -0
- package/dist/src/plugin/fetch/retry-state.js.map +1 -0
- package/dist/src/plugin/fetch/warmup.d.ts +30 -0
- package/dist/src/plugin/fetch/warmup.d.ts.map +1 -0
- package/dist/src/plugin/fetch/warmup.js +76 -0
- package/dist/src/plugin/fetch/warmup.js.map +1 -0
- package/dist/src/plugin/fetch-interceptor.d.ts +59 -0
- package/dist/src/plugin/fetch-interceptor.d.ts.map +1 -0
- package/dist/src/plugin/fetch-interceptor.js +1399 -0
- package/dist/src/plugin/fetch-interceptor.js.map +1 -0
- package/dist/src/plugin/fetch-routing.d.ts +26 -0
- package/dist/src/plugin/fetch-routing.d.ts.map +1 -0
- package/dist/src/plugin/fetch-routing.js +99 -0
- package/dist/src/plugin/fetch-routing.js.map +1 -0
- package/dist/src/plugin/fingerprint.d.ts +1 -1
- package/dist/src/plugin/fingerprint.js +1 -1
- package/dist/src/plugin/gemini-dump.d.ts +5 -5
- package/dist/src/plugin/gemini-dump.d.ts.map +1 -1
- package/dist/src/plugin/gemini-dump.js +109 -55
- package/dist/src/plugin/gemini-dump.js.map +1 -1
- package/dist/src/plugin/google-search-tool.d.ts +9 -0
- package/dist/src/plugin/google-search-tool.d.ts.map +1 -0
- package/dist/src/plugin/google-search-tool.js +56 -0
- package/dist/src/plugin/google-search-tool.js.map +1 -0
- package/dist/src/plugin/image-saver.d.ts.map +1 -1
- package/dist/src/plugin/image-saver.js +16 -16
- package/dist/src/plugin/image-saver.js.map +1 -1
- package/dist/src/plugin/index.d.ts +30 -0
- package/dist/src/plugin/index.d.ts.map +1 -0
- package/dist/src/plugin/index.js +411 -0
- package/dist/src/plugin/index.js.map +1 -0
- package/dist/src/plugin/killswitch.d.ts +94 -0
- package/dist/src/plugin/killswitch.d.ts.map +1 -0
- package/dist/src/plugin/killswitch.js +197 -0
- package/dist/src/plugin/killswitch.js.map +1 -0
- package/dist/src/plugin/lifecycle.d.ts +40 -0
- package/dist/src/plugin/lifecycle.d.ts.map +1 -0
- package/dist/src/plugin/lifecycle.js +73 -0
- package/dist/src/plugin/lifecycle.js.map +1 -0
- package/dist/src/plugin/logger.d.ts +10 -1
- package/dist/src/plugin/logger.d.ts.map +1 -1
- package/dist/src/plugin/logger.js +38 -12
- package/dist/src/plugin/logger.js.map +1 -1
- package/dist/src/plugin/logging-utils.d.ts +35 -1
- package/dist/src/plugin/logging-utils.d.ts.map +1 -1
- package/dist/src/plugin/logging-utils.js +98 -15
- package/dist/src/plugin/logging-utils.js.map +1 -1
- package/dist/src/plugin/model-registry.d.ts +1 -1
- package/dist/src/plugin/model-registry.js +1 -1
- package/dist/src/plugin/oauth-login.d.ts +22 -0
- package/dist/src/plugin/oauth-login.d.ts.map +1 -0
- package/dist/src/plugin/oauth-login.js +37 -0
- package/dist/src/plugin/oauth-login.js.map +1 -0
- package/dist/src/plugin/oauth-methods.d.ts +42 -0
- package/dist/src/plugin/oauth-methods.d.ts.map +1 -0
- package/dist/src/plugin/oauth-methods.js +1276 -0
- package/dist/src/plugin/oauth-methods.js.map +1 -0
- package/dist/src/plugin/operator-settings.d.ts +40 -0
- package/dist/src/plugin/operator-settings.d.ts.map +1 -0
- package/dist/src/plugin/operator-settings.js +148 -0
- package/dist/src/plugin/operator-settings.js.map +1 -0
- package/dist/src/plugin/persist-account-pool.d.ts +37 -0
- package/dist/src/plugin/persist-account-pool.d.ts.map +1 -0
- package/dist/src/plugin/persist-account-pool.js +142 -0
- package/dist/src/plugin/persist-account-pool.js.map +1 -0
- package/dist/src/plugin/project.d.ts +1 -1
- package/dist/src/plugin/project.js +1 -1
- package/dist/src/plugin/prompt-context.d.ts.map +1 -1
- package/dist/src/plugin/prompt-context.js +11 -11
- package/dist/src/plugin/prompt-context.js.map +1 -1
- package/dist/src/plugin/quota.d.ts +138 -41
- package/dist/src/plugin/quota.d.ts.map +1 -1
- package/dist/src/plugin/quota.js +417 -285
- package/dist/src/plugin/quota.js.map +1 -1
- package/dist/src/plugin/recovery/constants.d.ts.map +1 -1
- package/dist/src/plugin/recovery/constants.js +24 -15
- package/dist/src/plugin/recovery/constants.js.map +1 -1
- package/dist/src/plugin/recovery/index.d.ts +3 -3
- package/dist/src/plugin/recovery/index.d.ts.map +1 -1
- package/dist/src/plugin/recovery/index.js +3 -3
- package/dist/src/plugin/recovery/index.js.map +1 -1
- package/dist/src/plugin/recovery/storage.d.ts +1 -1
- package/dist/src/plugin/recovery/storage.d.ts.map +1 -1
- package/dist/src/plugin/recovery/storage.js +31 -39
- package/dist/src/plugin/recovery/storage.js.map +1 -1
- package/dist/src/plugin/recovery/types.d.ts +12 -12
- package/dist/src/plugin/recovery/types.d.ts.map +1 -1
- package/dist/src/plugin/recovery.d.ts +3 -3
- package/dist/src/plugin/recovery.d.ts.map +1 -1
- package/dist/src/plugin/recovery.js +62 -58
- package/dist/src/plugin/recovery.js.map +1 -1
- package/dist/src/plugin/refresh-queue.d.ts +5 -2
- package/dist/src/plugin/refresh-queue.d.ts.map +1 -1
- package/dist/src/plugin/refresh-queue.js +37 -15
- package/dist/src/plugin/refresh-queue.js.map +1 -1
- package/dist/src/plugin/request-helpers.d.ts +1 -1
- package/dist/src/plugin/request-helpers.d.ts.map +1 -1
- package/dist/src/plugin/request-helpers.js +451 -352
- package/dist/src/plugin/request-helpers.js.map +1 -1
- package/dist/src/plugin/request.d.ts +7 -7
- package/dist/src/plugin/request.d.ts.map +1 -1
- package/dist/src/plugin/request.js +622 -384
- package/dist/src/plugin/request.js.map +1 -1
- package/dist/src/plugin/rotation.d.ts +1 -168
- package/dist/src/plugin/rotation.d.ts.map +1 -1
- package/dist/src/plugin/rotation.js +1 -327
- package/dist/src/plugin/rotation.js.map +1 -1
- package/dist/src/plugin/search.d.ts.map +1 -1
- package/dist/src/plugin/search.js +39 -35
- package/dist/src/plugin/search.js.map +1 -1
- package/dist/src/plugin/server.d.ts +1 -1
- package/dist/src/plugin/server.d.ts.map +1 -1
- package/dist/src/plugin/server.js +42 -37
- package/dist/src/plugin/server.js.map +1 -1
- package/dist/src/plugin/session-context.d.ts +2 -1
- package/dist/src/plugin/session-context.d.ts.map +1 -1
- package/dist/src/plugin/session-context.js +11 -7
- package/dist/src/plugin/session-context.js.map +1 -1
- package/dist/src/plugin/storage.d.ts +59 -120
- package/dist/src/plugin/storage.d.ts.map +1 -1
- package/dist/src/plugin/storage.js +140 -485
- package/dist/src/plugin/storage.js.map +1 -1
- package/dist/src/plugin/stores/signature-store.d.ts.map +1 -1
- package/dist/src/plugin/stores/signature-store.js.map +1 -1
- package/dist/src/plugin/thinking-recovery.d.ts.map +1 -1
- package/dist/src/plugin/thinking-recovery.js +35 -33
- package/dist/src/plugin/thinking-recovery.js.map +1 -1
- package/dist/src/plugin/token.d.ts +2 -2
- package/dist/src/plugin/token.d.ts.map +1 -1
- package/dist/src/plugin/token.js +30 -21
- package/dist/src/plugin/token.js.map +1 -1
- package/dist/src/plugin/transform/cross-model-sanitizer.d.ts +1 -1
- package/dist/src/plugin/transform/cross-model-sanitizer.js +1 -1
- package/dist/src/plugin/transform/index.d.ts +1 -1
- package/dist/src/plugin/transform/index.js +1 -1
- package/dist/src/plugin/transform/model-resolver.d.ts +1 -1
- package/dist/src/plugin/transform/model-resolver.js +1 -1
- package/dist/src/plugin/transform/types.d.ts +1 -1
- package/dist/src/plugin/transform/types.js +1 -1
- package/dist/src/plugin/types.d.ts +25 -69
- package/dist/src/plugin/types.d.ts.map +1 -1
- package/dist/src/plugin/ui/ansi.d.ts.map +1 -1
- package/dist/src/plugin/ui/ansi.js.map +1 -1
- package/dist/src/plugin/ui/auth-menu.d.ts +1 -1
- package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -1
- package/dist/src/plugin/ui/auth-menu.js +84 -35
- package/dist/src/plugin/ui/auth-menu.js.map +1 -1
- package/dist/src/plugin/ui/confirm.d.ts.map +1 -1
- package/dist/src/plugin/ui/confirm.js.map +1 -1
- package/dist/src/plugin/ui/model-status.d.ts +3 -3
- package/dist/src/plugin/ui/model-status.d.ts.map +1 -1
- package/dist/src/plugin/ui/model-status.js +3 -3
- package/dist/src/plugin/ui/model-status.js.map +1 -1
- package/dist/src/plugin/ui/quota-status.d.ts +4 -4
- package/dist/src/plugin/ui/quota-status.d.ts.map +1 -1
- package/dist/src/plugin/ui/quota-status.js +49 -49
- package/dist/src/plugin/ui/quota-status.js.map +1 -1
- package/dist/src/plugin/ui/select.d.ts.map +1 -1
- package/dist/src/plugin/ui/select.js +22 -12
- package/dist/src/plugin/ui/select.js.map +1 -1
- package/dist/src/plugin/version.d.ts +1 -1
- package/dist/src/plugin/version.js +1 -1
- package/dist/src/rpc/notifications.d.ts +6 -0
- package/dist/src/rpc/notifications.d.ts.map +1 -0
- package/dist/src/rpc/notifications.js +46 -0
- package/dist/src/rpc/notifications.js.map +1 -0
- package/dist/src/rpc/port-file.d.ts +13 -0
- package/dist/src/rpc/port-file.d.ts.map +1 -0
- package/dist/src/rpc/port-file.js +109 -0
- package/dist/src/rpc/port-file.js.map +1 -0
- package/dist/src/rpc/protocol.d.ts +22 -0
- package/dist/src/rpc/protocol.d.ts.map +1 -0
- package/dist/src/rpc/protocol.js +1 -0
- package/dist/src/rpc/protocol.js.map +1 -0
- package/dist/src/rpc/rpc-client.d.ts +10 -0
- package/dist/src/rpc/rpc-client.d.ts.map +1 -0
- package/dist/src/rpc/rpc-client.js +58 -0
- package/dist/src/rpc/rpc-client.js.map +1 -0
- package/dist/src/rpc/rpc-dir.d.ts +4 -0
- package/dist/src/rpc/rpc-dir.d.ts.map +1 -0
- package/dist/src/rpc/rpc-dir.js +19 -0
- package/dist/src/rpc/rpc-dir.js.map +1 -0
- package/dist/src/rpc/rpc-server.d.ts +13 -0
- package/dist/src/rpc/rpc-server.d.ts.map +1 -0
- package/dist/src/rpc/rpc-server.js +231 -0
- package/dist/src/rpc/rpc-server.js.map +1 -0
- package/dist/src/sidebar-state.d.ts +357 -0
- package/dist/src/sidebar-state.d.ts.map +1 -0
- package/dist/src/sidebar-state.js +680 -0
- package/dist/src/sidebar-state.js.map +1 -0
- package/dist/src/tui/command-dialogs.d.ts +61 -0
- package/dist/src/tui/command-dialogs.d.ts.map +1 -0
- package/dist/src/tui/command-dialogs.js +595 -0
- package/dist/src/tui/command-dialogs.js.map +1 -0
- package/dist/src/tui/file-logger.d.ts +41 -0
- package/dist/src/tui/file-logger.d.ts.map +1 -0
- package/dist/src/tui/file-logger.js +114 -0
- package/dist/src/tui/file-logger.js.map +1 -0
- package/dist/src/tui-preferences.d.ts +40 -0
- package/dist/src/tui-preferences.d.ts.map +1 -0
- package/dist/src/tui-preferences.js +328 -0
- package/dist/src/tui-preferences.js.map +1 -0
- package/dist/src/tui.d.ts +68 -0
- package/dist/src/tui.d.ts.map +1 -0
- package/dist/src/tui.js +697 -0
- package/dist/src/tui.js.map +1 -0
- package/package.json +46 -22
- package/src/plugin/command-data.ts +931 -0
- package/src/rpc/port-file.ts +143 -0
- package/src/rpc/protocol.ts +31 -0
- package/src/rpc/rpc-client.ts +102 -0
- package/src/rpc/rpc-dir.ts +24 -0
- package/src/sidebar-state.ts +991 -0
- package/src/tui/command-dialogs.tsx +832 -0
- package/src/tui/entry.mjs +74 -0
- package/src/tui/file-logger.ts +145 -0
- package/src/tui-compiled/plugin/command-data.ts +931 -0
- package/src/tui-compiled/rpc/port-file.ts +143 -0
- package/src/tui-compiled/rpc/protocol.ts +31 -0
- package/src/tui-compiled/rpc/rpc-client.ts +102 -0
- package/src/tui-compiled/rpc/rpc-dir.ts +24 -0
- package/src/tui-compiled/sidebar-state.ts +991 -0
- package/src/tui-compiled/tui/command-dialogs.tsx +779 -0
- package/src/tui-compiled/tui/file-logger.ts +145 -0
- package/src/tui-compiled/tui-preferences.ts +416 -0
- package/src/tui-compiled/tui.tsx +1193 -0
- package/src/tui-preferences.ts +416 -0
- package/src/tui.tsx +1171 -0
- package/dist/src/plugin.d.ts +0 -48
- package/dist/src/plugin.d.ts.map +0 -1
- package/dist/src/plugin.js +0 -3311
- package/dist/src/plugin.js.map +0 -1
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background quota poller.
|
|
3
|
+
*
|
|
4
|
+
* Runs a jittered, `unref()`'d timer that periodically refreshes quota for
|
|
5
|
+
* all accounts and pushes ONE sidebar snapshot per tick. Three-layer
|
|
6
|
+
* cross-process dedup:
|
|
7
|
+
*
|
|
8
|
+
* 1. Freshness gate — the only hard correctness bound for quota snapshots.
|
|
9
|
+
* Reads `checkedAt` from the on-disk sidebar state; skips quota work when
|
|
10
|
+
* it is fresher than
|
|
11
|
+
* `max(intervalMs − 60_000, floor(intervalMs / 2))`. The /2 floor
|
|
12
|
+
* ensures the gate still fires at the 1-minute minimum interval.
|
|
13
|
+
*
|
|
14
|
+
* 2. Advisory fenced lock — an optimization that lets a single process do
|
|
15
|
+
* the network work when several wake up simultaneously. Held → skip.
|
|
16
|
+
*
|
|
17
|
+
* 3. Lock throws → FAIL CLOSED (skip this tick, add jitter to next). A
|
|
18
|
+
* fallback mutex is NOT used here. The correct reasoning is: the
|
|
19
|
+
* freshness gate (layer 1) already bounds how many refreshes can land;
|
|
20
|
+
* a secondary "claim marker" file is just a worse re-implementation of
|
|
21
|
+
* the fenced lock we just failed to acquire — it replicates the same
|
|
22
|
+
* ownership problem without the protocol guarantees, and any transient
|
|
23
|
+
* I/O error that made the lock throw will likely affect a claim file
|
|
24
|
+
* too. The previous poller attempt fell into this trap across three
|
|
25
|
+
* review rounds; this comment exists so a future reviewer stops
|
|
26
|
+
* re-litigating it.
|
|
27
|
+
*/
|
|
28
|
+
import { createHash } from 'node:crypto';
|
|
29
|
+
import { acquireFencedFileLock, } from '@cortexkit/antigravity-auth-core/file-lock';
|
|
30
|
+
import { readSidebarState, toCapturedTier } from '../sidebar-state';
|
|
31
|
+
import { pushSidebarQuotaSnapshot } from './quota';
|
|
32
|
+
/**
|
|
33
|
+
* Opaque identity derived from a refresh token. Three callers keep
|
|
34
|
+
* independent copies: this module, `command-data.ts` (ships into the TUI
|
|
35
|
+
* compiled tree and cannot reach the core barrel), and `index.ts`. All
|
|
36
|
+
* three must produce the same 16-char hex prefix.
|
|
37
|
+
*/
|
|
38
|
+
function quotaAccountIdentity(refreshToken) {
|
|
39
|
+
return createHash('sha256').update(refreshToken).digest('hex').slice(0, 16);
|
|
40
|
+
}
|
|
41
|
+
/** Minimum poll interval (1 minute, matching the config schema min). */
|
|
42
|
+
const MIN_INTERVAL_MS = 60_000;
|
|
43
|
+
/** Spread startup jitter so N processes don't all fire at once on launch. */
|
|
44
|
+
const STARTUP_JITTER_MS = 30_000;
|
|
45
|
+
/** Additional jitter added to the next tick when the lock mechanism throws. */
|
|
46
|
+
const ERROR_JITTER_MS = 15_000;
|
|
47
|
+
/** TTL for the renewable advisory poll lock. */
|
|
48
|
+
const POLL_LOCK_TTL_MS = 60_000;
|
|
49
|
+
/** Maximum age of a captured tier before the poller refreshes it. 24 h. */
|
|
50
|
+
const TIER_STALENESS_TTL_MS = 24 * 60 * 60 * 1_000;
|
|
51
|
+
/** A capture at this version distinguishes an absent paid tier from old data. */
|
|
52
|
+
const CAPTURED_TIER_SCHEMA_VERSION = 1;
|
|
53
|
+
/**
|
|
54
|
+
* Per-loader-instance background quota poller.
|
|
55
|
+
*
|
|
56
|
+
* Must be created after the plugin has initialised (so `getAccountManager()`
|
|
57
|
+
* is populated) and disposed via the producer lifecycle phase.
|
|
58
|
+
*/
|
|
59
|
+
export class BackgroundQuotaRefresh {
|
|
60
|
+
intervalMs;
|
|
61
|
+
sidebarStateFile;
|
|
62
|
+
getAccountManager;
|
|
63
|
+
quotaManager;
|
|
64
|
+
loadAccountTier;
|
|
65
|
+
now;
|
|
66
|
+
random;
|
|
67
|
+
acquireLock;
|
|
68
|
+
timer = null;
|
|
69
|
+
/** Resolves when the currently-running tick completes (or immediately if none). */
|
|
70
|
+
inFlight = null;
|
|
71
|
+
disposed = false;
|
|
72
|
+
constructor(options) {
|
|
73
|
+
this.intervalMs = options.intervalMs;
|
|
74
|
+
this.sidebarStateFile = options.sidebarStateFile;
|
|
75
|
+
this.getAccountManager = options.getAccountManager;
|
|
76
|
+
this.quotaManager = options.quotaManager;
|
|
77
|
+
this.loadAccountTier = options.loadAccountTier;
|
|
78
|
+
this.now = options.now ?? (() => Date.now());
|
|
79
|
+
this.random = options.random ?? Math.random;
|
|
80
|
+
this.acquireLock = options.acquireLock ?? acquireFencedFileLock;
|
|
81
|
+
}
|
|
82
|
+
/** Start the background timer. Idempotent: a second call is a no-op. */
|
|
83
|
+
start() {
|
|
84
|
+
if (this.disposed || this.timer !== null)
|
|
85
|
+
return;
|
|
86
|
+
this.scheduleNext(this.jitteredStartDelay());
|
|
87
|
+
}
|
|
88
|
+
/** Stop the timer and await any in-flight tick. */
|
|
89
|
+
async dispose() {
|
|
90
|
+
if (this.disposed)
|
|
91
|
+
return;
|
|
92
|
+
this.disposed = true;
|
|
93
|
+
if (this.timer !== null) {
|
|
94
|
+
clearTimeout(this.timer);
|
|
95
|
+
this.timer = null;
|
|
96
|
+
}
|
|
97
|
+
await this.inFlight;
|
|
98
|
+
}
|
|
99
|
+
// ── internals ─────────────────────────────────────────────────────────────
|
|
100
|
+
jitteredStartDelay() {
|
|
101
|
+
return Math.floor(this.random() * STARTUP_JITTER_MS);
|
|
102
|
+
}
|
|
103
|
+
jitteredInterval(extraJitterMs = 0) {
|
|
104
|
+
// ±10% on top of the base interval prevents phase-locking across restarts.
|
|
105
|
+
const jitter = Math.floor(this.random() * this.intervalMs * 0.1);
|
|
106
|
+
return this.intervalMs + jitter + extraJitterMs;
|
|
107
|
+
}
|
|
108
|
+
scheduleNext(delayMs) {
|
|
109
|
+
if (this.disposed)
|
|
110
|
+
return;
|
|
111
|
+
this.timer = setTimeout(() => {
|
|
112
|
+
this.timer = null;
|
|
113
|
+
// Re-entry guard: if the previous tick is still in flight (refresh
|
|
114
|
+
// duration > interval), skip this timer callback. The in-flight tick
|
|
115
|
+
// calls scheduleNext itself when it completes, so the poller continues.
|
|
116
|
+
// Without this guard, assigning this.inFlight here would overwrite the
|
|
117
|
+
// first tick's promise and dispose() would await the wrong one.
|
|
118
|
+
if (this.inFlight !== null)
|
|
119
|
+
return;
|
|
120
|
+
this.inFlight = this.runTick()
|
|
121
|
+
.catch(() => {
|
|
122
|
+
// Errors inside runTick are already caught per-phase. An unexpected
|
|
123
|
+
// throw here (before any internal reschedule) means no next tick
|
|
124
|
+
// was queued — reschedule with error jitter so the poller degrades
|
|
125
|
+
// to a delayed tick rather than dying permanently.
|
|
126
|
+
this.scheduleNext(this.jitteredInterval(ERROR_JITTER_MS));
|
|
127
|
+
})
|
|
128
|
+
.finally(() => {
|
|
129
|
+
this.inFlight = null;
|
|
130
|
+
});
|
|
131
|
+
}, delayMs);
|
|
132
|
+
// Unreffing lets the process exit while the timer is pending — the poller
|
|
133
|
+
// must never be the reason an idle session stays alive.
|
|
134
|
+
if (this.timer.unref)
|
|
135
|
+
this.timer.unref();
|
|
136
|
+
}
|
|
137
|
+
async runTick() {
|
|
138
|
+
// ── 1. Quota freshness gate ──────────────────────────────────────────
|
|
139
|
+
//
|
|
140
|
+
// Bound: `max(intervalMs − 60_000, floor(intervalMs / 2))`.
|
|
141
|
+
//
|
|
142
|
+
// - intervalMs − 60_000: at 5-minute intervals this is 240 s — tight
|
|
143
|
+
// enough to prevent double refreshes while allowing drift.
|
|
144
|
+
// - floor(intervalMs / 2): the fallback that keeps the gate non-trivial
|
|
145
|
+
// at the 1-minute minimum (floor(60000/2) = 30 000 ms, i.e. 30 s).
|
|
146
|
+
const freshnessThresholdMs = Math.max(this.intervalMs - MIN_INTERVAL_MS, Math.floor(this.intervalMs / 2));
|
|
147
|
+
const state = readSidebarState(this.sidebarStateFile);
|
|
148
|
+
const ageMs = this.now() - state.checkedAt;
|
|
149
|
+
// ── 2. Advisory fenced lock ──────────────────────────────────────────
|
|
150
|
+
let lock = null;
|
|
151
|
+
try {
|
|
152
|
+
lock = await this.acquireLock({
|
|
153
|
+
path: this.sidebarStateFile,
|
|
154
|
+
name: 'bg-quota-poll',
|
|
155
|
+
ttlMs: POLL_LOCK_TTL_MS,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
// Lock mechanism threw (I/O error, filesystem issue). FAIL CLOSED:
|
|
160
|
+
// skip this tick. See module-level invariant comment for why we do not
|
|
161
|
+
// invent a fallback mutex here.
|
|
162
|
+
this.scheduleNext(this.jitteredInterval(ERROR_JITTER_MS));
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
if (lock === null) {
|
|
166
|
+
// Another process holds the lock — its tier phase owns this tick's
|
|
167
|
+
// metadata work as well as any quota snapshot write.
|
|
168
|
+
this.scheduleNext(this.jitteredInterval());
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
try {
|
|
172
|
+
if (ageMs >= freshnessThresholdMs)
|
|
173
|
+
await this.refresh();
|
|
174
|
+
else
|
|
175
|
+
await this.refreshTierSlot();
|
|
176
|
+
}
|
|
177
|
+
finally {
|
|
178
|
+
await lock.release().catch(() => {
|
|
179
|
+
// Release is best-effort; the TTL expires it if we can't reach it.
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
if (!this.disposed) {
|
|
183
|
+
this.scheduleNext(this.jitteredInterval());
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
async refresh() {
|
|
187
|
+
const refreshedQuota = await this.refreshQuota();
|
|
188
|
+
await this.refreshTierSlot();
|
|
189
|
+
if (refreshedQuota)
|
|
190
|
+
await this.pushSnapshot();
|
|
191
|
+
}
|
|
192
|
+
async refreshQuota() {
|
|
193
|
+
if (this.disposed)
|
|
194
|
+
return false;
|
|
195
|
+
const manager = this.getAccountManager();
|
|
196
|
+
if (!manager)
|
|
197
|
+
return false;
|
|
198
|
+
const accounts = manager.getAccountsForQuotaCheck();
|
|
199
|
+
if (accounts.length === 0)
|
|
200
|
+
return false;
|
|
201
|
+
// Refresh all accounts, then stamp the live manager once per result.
|
|
202
|
+
// Using the shared quotaManager deduplicates in-flight refreshes with
|
|
203
|
+
// any concurrent modal or fetch-interceptor refresh.
|
|
204
|
+
let results;
|
|
205
|
+
try {
|
|
206
|
+
results = await this.quotaManager.refreshAccounts(accounts, {
|
|
207
|
+
indexFor: (account) => accounts.indexOf(account),
|
|
208
|
+
// Do not force: the quota manager's per-account dedup and backoff
|
|
209
|
+
// apply — an account that already refreshed recently is skipped.
|
|
210
|
+
force: false,
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
return false;
|
|
215
|
+
}
|
|
216
|
+
if (this.disposed)
|
|
217
|
+
return false;
|
|
218
|
+
// Re-resolve live indices after the await: a concurrent add/remove may
|
|
219
|
+
// have shifted positions.
|
|
220
|
+
const liveAccounts = manager.getAccounts();
|
|
221
|
+
const liveIndexByToken = new Map();
|
|
222
|
+
for (const entry of liveAccounts) {
|
|
223
|
+
liveIndexByToken.set(entry.parts.refreshToken, entry.index);
|
|
224
|
+
}
|
|
225
|
+
let anyUpdated = false;
|
|
226
|
+
for (let i = 0; i < results.length; i++) {
|
|
227
|
+
const result = results[i];
|
|
228
|
+
if (result?.status !== 'ok' || !result.quota?.groups)
|
|
229
|
+
continue;
|
|
230
|
+
const candidateTokens = [
|
|
231
|
+
result.updatedAccount?.refreshToken,
|
|
232
|
+
accounts[i]?.refreshToken,
|
|
233
|
+
].filter((token) => Boolean(token));
|
|
234
|
+
const liveIndex = candidateTokens
|
|
235
|
+
.map((token) => liveIndexByToken.get(token))
|
|
236
|
+
.find((index) => index !== undefined);
|
|
237
|
+
if (liveIndex === undefined)
|
|
238
|
+
continue;
|
|
239
|
+
const liveToken = liveAccounts[liveIndex]?.parts.refreshToken;
|
|
240
|
+
if (!liveToken)
|
|
241
|
+
continue;
|
|
242
|
+
manager.updateQuotaCache(liveIndex, result.quota.groups, liveToken);
|
|
243
|
+
// Persist tier captured during ensureProjectContext (same tick, no extra
|
|
244
|
+
// network call) so the sidebar snapshot carries it after every poll.
|
|
245
|
+
const uaTier = toCapturedTier(result.updatedAccount ?? {});
|
|
246
|
+
if (uaTier !== undefined) {
|
|
247
|
+
manager.applyUpdatedAccount(liveIndex, {
|
|
248
|
+
capturedTierId: uaTier.id,
|
|
249
|
+
...(uaTier.paidId !== undefined
|
|
250
|
+
? { capturedPaidTierId: uaTier.paidId }
|
|
251
|
+
: {}),
|
|
252
|
+
capturedTierAt: uaTier.capturedAt,
|
|
253
|
+
capturedTierSchemaVersion: CAPTURED_TIER_SCHEMA_VERSION,
|
|
254
|
+
}, liveToken);
|
|
255
|
+
}
|
|
256
|
+
anyUpdated = true;
|
|
257
|
+
}
|
|
258
|
+
if (anyUpdated)
|
|
259
|
+
manager.requestSaveToDisk();
|
|
260
|
+
return true;
|
|
261
|
+
}
|
|
262
|
+
async refreshTierSlot() {
|
|
263
|
+
if (this.disposed || !this.loadAccountTier)
|
|
264
|
+
return;
|
|
265
|
+
const manager = this.getAccountManager();
|
|
266
|
+
if (!manager)
|
|
267
|
+
return;
|
|
268
|
+
const liveAccounts = manager.getAccounts();
|
|
269
|
+
const accounts = manager.getAccountsForQuotaCheck();
|
|
270
|
+
const accountByToken = new Map(accounts.map((account) => [account.refreshToken, account]));
|
|
271
|
+
const now = this.now();
|
|
272
|
+
let stalestEntry;
|
|
273
|
+
for (const entry of liveAccounts) {
|
|
274
|
+
const needsPaidTierBackfill = entry.capturedPaidTierId === undefined &&
|
|
275
|
+
entry.capturedTierSchemaVersion !== CAPTURED_TIER_SCHEMA_VERSION;
|
|
276
|
+
const isTierStale = entry.capturedTierAt === undefined ||
|
|
277
|
+
now - entry.capturedTierAt >= TIER_STALENESS_TTL_MS ||
|
|
278
|
+
needsPaidTierBackfill;
|
|
279
|
+
if (isTierStale &&
|
|
280
|
+
(stalestEntry === undefined ||
|
|
281
|
+
(entry.capturedTierAt ?? 0) < (stalestEntry.capturedTierAt ?? 0))) {
|
|
282
|
+
stalestEntry = entry;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
if (stalestEntry === undefined)
|
|
286
|
+
return;
|
|
287
|
+
const refreshToken = stalestEntry.parts.refreshToken;
|
|
288
|
+
const accountForTier = accountByToken.get(refreshToken);
|
|
289
|
+
if (!accountForTier)
|
|
290
|
+
return;
|
|
291
|
+
try {
|
|
292
|
+
const tier = await this.loadAccountTier(accountForTier);
|
|
293
|
+
if (tier === null || this.disposed)
|
|
294
|
+
return;
|
|
295
|
+
const liveEntry = manager
|
|
296
|
+
.getAccounts()
|
|
297
|
+
.find((entry) => entry.parts.refreshToken === refreshToken);
|
|
298
|
+
if (!liveEntry)
|
|
299
|
+
return;
|
|
300
|
+
manager.applyUpdatedAccount(liveEntry.index, {
|
|
301
|
+
capturedTierId: tier.id,
|
|
302
|
+
...(tier.paidId !== undefined
|
|
303
|
+
? { capturedPaidTierId: tier.paidId }
|
|
304
|
+
: {}),
|
|
305
|
+
capturedTierAt: tier.capturedAt,
|
|
306
|
+
capturedTierSchemaVersion: CAPTURED_TIER_SCHEMA_VERSION,
|
|
307
|
+
}, refreshToken);
|
|
308
|
+
manager.requestSaveToDisk();
|
|
309
|
+
}
|
|
310
|
+
catch {
|
|
311
|
+
// Tier is best-effort; a failure must never break the tick.
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
async pushSnapshot() {
|
|
315
|
+
// ONE sidebar write per poll. `pushSidebarQuotaSnapshot` reads the live
|
|
316
|
+
// account view (with the just-updated cached values) and writes atomically.
|
|
317
|
+
const getAccounts = () => {
|
|
318
|
+
const m = this.getAccountManager();
|
|
319
|
+
return m ? m.getAccounts() : null;
|
|
320
|
+
};
|
|
321
|
+
await pushSidebarQuotaSnapshot(() => {
|
|
322
|
+
const accts = getAccounts();
|
|
323
|
+
if (!accts)
|
|
324
|
+
return null;
|
|
325
|
+
return accts.map((entry) => ({
|
|
326
|
+
index: entry.index,
|
|
327
|
+
label: entry.label,
|
|
328
|
+
enabled: entry.enabled,
|
|
329
|
+
coolingDownUntil: entry.coolingDownUntil,
|
|
330
|
+
cachedQuota: entry.cachedQuota,
|
|
331
|
+
cachedQuotaAccountId: entry.cachedQuotaAccountId,
|
|
332
|
+
// Derive current identity from the LIVE refresh token, independent
|
|
333
|
+
// of whatever stamp the cached snapshot carries. Mirrors index.ts's
|
|
334
|
+
// two correct call sites so the sidebar can detect a stale snapshot
|
|
335
|
+
// after an account reorder.
|
|
336
|
+
currentQuotaAccountId: quotaAccountIdentity(entry.parts.refreshToken),
|
|
337
|
+
tier: toCapturedTier(entry),
|
|
338
|
+
}));
|
|
339
|
+
}, 0, () => {
|
|
340
|
+
const m = this.getAccountManager();
|
|
341
|
+
return m ? m.getActiveIndexByFamily() : null;
|
|
342
|
+
}).catch(() => {
|
|
343
|
+
// Sidebar write failure is not fatal; the next tick will retry.
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=background-quota-refresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-quota-refresh.js","sourceRoot":"","sources":["../../../src/plugin/background-quota-refresh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugin/cache/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugin/cache/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,cAAc,GACf,MAAM,mBAAmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugin/cache/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugin/cache/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,cAAc,GACf,MAAM,mBAAmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-cache.d.ts","sourceRoot":"","sources":["../../../../src/plugin/cache/signature-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"signature-cache.d.ts","sourceRoot":"","sources":["../../../../src/plugin/cache/signature-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAgCrD,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,OAAO,CAAA;IACd,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AA0BD,qBAAa,cAAc;IAEzB,OAAO,CAAC,KAAK,CAAqC;IAGlD,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA8C;IAGlE,OAAO,CAAC,KAAK,CAKZ;gBAEW,MAAM,EAAE,oBAAoB;IAiBxC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAI1D;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAU3C;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAkBpC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAczB;;;;;OAKG;IACH,aAAa,CACX,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,IAAI;IAaP;;;OAGG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAoBvD;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUjC;;OAEG;IACH,QAAQ,IAAI,UAAU;IAStB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAK/B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAmBhB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqCpB;;;OAGG;IACH,OAAO,CAAC,UAAU;IA0FlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,cAAc;CAcvB;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,oBAAoB,GAAG,SAAS,GACvC,cAAc,GAAG,IAAI,CAMvB"}
|
|
@@ -9,24 +9,23 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Cache key format: `${sessionId}:${modelId}`
|
|
11
11
|
*/
|
|
12
|
-
import { existsSync, mkdirSync, readFileSync,
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { ensureGitignoreSync } from "../storage";
|
|
12
|
+
import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync, } from 'node:fs';
|
|
13
|
+
import { homedir, tmpdir } from 'node:os';
|
|
14
|
+
import { dirname, join } from 'node:path';
|
|
15
|
+
import { ensureGitignoreSync } from '../storage';
|
|
17
16
|
// =============================================================================
|
|
18
17
|
// Path Utilities
|
|
19
18
|
// =============================================================================
|
|
20
19
|
function getConfigDir() {
|
|
21
20
|
const platform = process.platform;
|
|
22
|
-
if (platform ===
|
|
23
|
-
return join(process.env.APPDATA || join(homedir(),
|
|
21
|
+
if (platform === 'win32') {
|
|
22
|
+
return join(process.env.APPDATA || join(homedir(), 'AppData', 'Roaming'), 'opencode');
|
|
24
23
|
}
|
|
25
|
-
const xdgConfig = process.env.XDG_CONFIG_HOME || join(homedir(),
|
|
26
|
-
return join(xdgConfig,
|
|
24
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME || join(homedir(), '.config');
|
|
25
|
+
return join(xdgConfig, 'opencode');
|
|
27
26
|
}
|
|
28
27
|
function getCacheFilePath() {
|
|
29
|
-
return join(getConfigDir(),
|
|
28
|
+
return join(getConfigDir(), 'antigravity-signature-cache.json');
|
|
30
29
|
}
|
|
31
30
|
// =============================================================================
|
|
32
31
|
// Signature Cache Class
|
|
@@ -144,7 +143,7 @@ export class SignatureCache {
|
|
|
144
143
|
if (!this.enabled)
|
|
145
144
|
return null;
|
|
146
145
|
const entry = this.cache.get(key);
|
|
147
|
-
if (!entry
|
|
146
|
+
if (!entry?.thinkingText)
|
|
148
147
|
return null;
|
|
149
148
|
const age = Date.now() - entry.timestamp;
|
|
150
149
|
if (age > this.memoryTtlMs) {
|
|
@@ -165,7 +164,7 @@ export class SignatureCache {
|
|
|
165
164
|
if (!this.enabled)
|
|
166
165
|
return false;
|
|
167
166
|
const entry = this.cache.get(key);
|
|
168
|
-
if (!entry
|
|
167
|
+
if (!entry?.thinkingText)
|
|
169
168
|
return false;
|
|
170
169
|
const age = Date.now() - entry.timestamp;
|
|
171
170
|
return age <= this.memoryTtlMs;
|
|
@@ -216,15 +215,15 @@ export class SignatureCache {
|
|
|
216
215
|
if (!existsSync(this.cacheFilePath)) {
|
|
217
216
|
return;
|
|
218
217
|
}
|
|
219
|
-
const content = readFileSync(this.cacheFilePath,
|
|
218
|
+
const content = readFileSync(this.cacheFilePath, 'utf-8');
|
|
220
219
|
const data = JSON.parse(content);
|
|
221
|
-
if (data.version !==
|
|
220
|
+
if (data.version !== '1.0') {
|
|
222
221
|
// Version mismatch - silently start fresh
|
|
223
222
|
return;
|
|
224
223
|
}
|
|
225
224
|
const now = Date.now();
|
|
226
|
-
let
|
|
227
|
-
let
|
|
225
|
+
let _loaded = 0;
|
|
226
|
+
let _expired = 0;
|
|
228
227
|
for (const [key, entry] of Object.entries(data.entries)) {
|
|
229
228
|
const age = now - entry.timestamp;
|
|
230
229
|
if (age <= this.diskTtlMs) {
|
|
@@ -232,10 +231,10 @@ export class SignatureCache {
|
|
|
232
231
|
value: entry.value,
|
|
233
232
|
timestamp: entry.timestamp,
|
|
234
233
|
});
|
|
235
|
-
|
|
234
|
+
_loaded++;
|
|
236
235
|
}
|
|
237
236
|
else {
|
|
238
|
-
|
|
237
|
+
_expired++;
|
|
239
238
|
}
|
|
240
239
|
}
|
|
241
240
|
// Silently load - no console output
|
|
@@ -261,7 +260,7 @@ export class SignatureCache {
|
|
|
261
260
|
let existingEntries = {};
|
|
262
261
|
if (existsSync(this.cacheFilePath)) {
|
|
263
262
|
try {
|
|
264
|
-
const content = readFileSync(this.cacheFilePath,
|
|
263
|
+
const content = readFileSync(this.cacheFilePath, 'utf-8');
|
|
265
264
|
const data = JSON.parse(content);
|
|
266
265
|
existingEntries = data.entries || {};
|
|
267
266
|
}
|
|
@@ -287,7 +286,7 @@ export class SignatureCache {
|
|
|
287
286
|
}
|
|
288
287
|
// Step 4: Build cache data
|
|
289
288
|
const cacheData = {
|
|
290
|
-
version:
|
|
289
|
+
version: '1.0',
|
|
291
290
|
memory_ttl_seconds: this.memoryTtlMs / 1000,
|
|
292
291
|
disk_ttl_seconds: this.diskTtlMs / 1000,
|
|
293
292
|
entries: mergedEntries,
|
|
@@ -301,7 +300,7 @@ export class SignatureCache {
|
|
|
301
300
|
};
|
|
302
301
|
// Step 5: Atomic write (temp file + rename)
|
|
303
302
|
const tmpPath = join(tmpdir(), `antigravity-cache-${Date.now()}-${Math.random().toString(36).slice(2)}.tmp`);
|
|
304
|
-
writeFileSync(tmpPath, JSON.stringify(cacheData, null, 2),
|
|
303
|
+
writeFileSync(tmpPath, JSON.stringify(cacheData, null, 2), 'utf-8');
|
|
305
304
|
try {
|
|
306
305
|
renameSync(tmpPath, this.cacheFilePath);
|
|
307
306
|
}
|
|
@@ -348,12 +347,12 @@ export class SignatureCache {
|
|
|
348
347
|
*/
|
|
349
348
|
cleanupExpired() {
|
|
350
349
|
const now = Date.now();
|
|
351
|
-
let
|
|
350
|
+
let _cleaned = 0;
|
|
352
351
|
for (const [key, entry] of this.cache.entries()) {
|
|
353
352
|
const age = now - entry.timestamp;
|
|
354
353
|
if (age > this.memoryTtlMs) {
|
|
355
354
|
this.cache.delete(key);
|
|
356
|
-
|
|
355
|
+
_cleaned++;
|
|
357
356
|
}
|
|
358
357
|
}
|
|
359
358
|
// Silently clean - no console output
|
|
@@ -367,7 +366,7 @@ export class SignatureCache {
|
|
|
367
366
|
* Returns null if caching is disabled.
|
|
368
367
|
*/
|
|
369
368
|
export function createSignatureCache(config) {
|
|
370
|
-
if (!config
|
|
369
|
+
if (!config?.enabled) {
|
|
371
370
|
return null;
|
|
372
371
|
}
|
|
373
372
|
return new SignatureCache(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-cache.js","sourceRoot":"","sources":["../../../../src/plugin/cache/signature-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"signature-cache.js","sourceRoot":"","sources":["../../../../src/plugin/cache/signature-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAkDhD,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,SAAS,YAAY;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IACjC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CACT,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAC5D,UAAU,CACX,CAAA;IACH,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;IAC3E,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,kCAAkC,CAAC,CAAA;AACjE,CAAC;AAED,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,MAAM,OAAO,cAAc;IACzB,0EAA0E;IAClE,KAAK,GAA4B,IAAI,GAAG,EAAE,CAAA;IAElD,gBAAgB;IACR,WAAW,CAAQ;IACnB,SAAS,CAAQ;IACjB,eAAe,CAAQ;IACvB,aAAa,CAAQ;IACrB,OAAO,CAAS;IAExB,QAAQ;IACA,KAAK,GAAY,KAAK,CAAA;IACtB,UAAU,GAA0C,IAAI,CAAA;IACxD,YAAY,GAA0C,IAAI,CAAA;IAElE,aAAa;IACL,KAAK,GAAG;QACd,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;KACV,CAAA;IAED,YAAY,MAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAA;QACnD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAA;QAC/C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAA;QAC3D,IAAI,CAAC,aAAa,GAAG,gBAAgB,EAAE,CAAA;QAEvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,aAAa;IACb,8EAA8E;IAE9E;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,SAAiB,EAAE,OAAe;QAC/C,OAAO,GAAG,SAAS,IAAI,OAAO,EAAE,CAAA;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAW,EAAE,SAAiB;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,GAAW;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;YACxC,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;gBACvB,OAAO,KAAK,CAAC,KAAK,CAAA;YACpB,CAAC;YACD,iCAAiC;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAExB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;QACxC,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAA;IAChC,CAAC;IAED,8EAA8E;IAC9E,sDAAsD;IACtD,8EAA8E;IAE9E;;;;;OAKG;IACH,aAAa,CACX,GAAW,EACX,YAAoB,EACpB,SAAiB,EACjB,OAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;YAAE,OAAM;QAExD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,YAAY;YACZ,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACvC,OAAO;SACR,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACnB,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,GAAW;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK,EAAE,YAAY;YAAE,OAAO,IAAI,CAAA;QAErC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;QACxC,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;QACvB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,YAAY;YACxB,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK,EAAE,YAAY;YAAE,OAAO,KAAK,CAAA;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAA;QACxC,OAAO,GAAG,IAAI,IAAI,CAAC,WAAW,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,GAAG,IAAI,CAAC,KAAK;YACb,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,OAAO;SAC1B,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAC9B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QAC1B,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAE9E;;OAEG;IACK,YAAY;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACpC,OAAM;YACR,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAc,CAAA;YAE7C,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC3B,0CAA0C;gBAC1C,OAAM;YACR,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,IAAI,OAAO,GAAG,CAAC,CAAA;YACf,IAAI,QAAQ,GAAG,CAAC,CAAA;YAEhB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAA;gBACjC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;wBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;qBAC3B,CAAC,CAAA;oBACF,OAAO,EAAE,CAAA;gBACX,CAAC;qBAAM,CAAC;oBACN,QAAQ,EAAE,CAAA;gBACZ,CAAC;YACH,CAAC;YAED,oCAAoC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,UAAU;QAChB,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACrC,CAAC;YAED,mBAAmB,CAAC,GAAG,CAAC,CAAA;YAExB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAEtB,8CAA8C;YAC9C,IAAI,eAAe,GAA+B,EAAE,CAAA;YACpD,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;oBACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAc,CAAA;oBAC7C,eAAe,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;gBACtC,CAAC;gBAAC,MAAM,CAAC;oBACP,2BAA2B;gBAC7B,CAAC;YACH,CAAC;YAED,mDAAmD;YACnD,MAAM,gBAAgB,GAA+B,EAAE,CAAA;YACvD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3D,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAA;gBACjC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC1B,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBAC/B,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,MAAM,aAAa,GAA+B,EAAE,GAAG,gBAAgB,EAAE,CAAA;YACzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBAChD,aAAa,CAAC,GAAG,CAAC,GAAG;oBACnB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B,CAAA;YACH,CAAC;YAED,2BAA2B;YAC3B,MAAM,SAAS,GAAc;gBAC3B,OAAO,EAAE,KAAK;gBACd,kBAAkB,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI;gBAC3C,gBAAgB,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI;gBACvC,OAAO,EAAE,aAAa;gBACtB,UAAU,EAAE;oBACV,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;oBAClC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC9B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBACzB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;oBAC7B,UAAU,EAAE,GAAG;iBAChB;aACF,CAAA;YAED,4CAA4C;YAC5C,MAAM,OAAO,GAAG,IAAI,CAClB,MAAM,EAAE,EACR,qBAAqB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAC7E,CAAA;YACD,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAEnE,IAAI,CAAC;gBACH,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;YACzC,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;gBAC7C,6BAA6B;gBAC7B,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;gBACxD,IAAI,CAAC;oBACH,UAAU,CAAC,OAAO,CAAC,CAAA;gBACrB,CAAC;gBAAC,MAAM,CAAC;oBACP,wBAAwB;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAA;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;YACzC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;IACnB,8EAA8E;IAE9E;;OAEG;IACK,oBAAoB;QAC1B,uBAAuB;QACvB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,UAAU,EAAE,CAAA;YACnB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAExB,6CAA6C;QAC7C,IAAI,CAAC,YAAY,GAAG,WAAW,CAC7B,GAAG,EAAE;YACH,IAAI,CAAC,cAAc,EAAE,CAAA;QACvB,CAAC,EACD,EAAE,GAAG,EAAE,GAAG,IAAI,CACf,CAAA;IACH,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAA;YACjC,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACtB,QAAQ,EAAE,CAAA;YACZ,CAAC;QACH,CAAC;QAED,qCAAqC;IACvC,CAAC;CACF;AAED,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAwC;IAExC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { OAuthAuthDetails } from
|
|
1
|
+
import type { OAuthAuthDetails } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Returns a cached auth snapshot when available, favoring unexpired tokens.
|
|
4
4
|
*/
|
|
@@ -11,8 +11,8 @@ export declare function storeCachedAuth(auth: OAuthAuthDetails): void;
|
|
|
11
11
|
* Clears cached auth globally or for a specific refresh token.
|
|
12
12
|
*/
|
|
13
13
|
export declare function clearCachedAuth(refresh?: string): void;
|
|
14
|
-
import { SignatureCache } from
|
|
15
|
-
import type { SignatureCacheConfig } from
|
|
14
|
+
import { type SignatureCache } from './cache/signature-cache';
|
|
15
|
+
import type { SignatureCacheConfig } from './config';
|
|
16
16
|
/**
|
|
17
17
|
* Initialize the disk-based signature cache.
|
|
18
18
|
* Call this from plugin initialization when keep_thinking is enabled.
|
|
@@ -22,6 +22,7 @@ export declare function initDiskSignatureCache(config: SignatureCacheConfig | un
|
|
|
22
22
|
* Get the disk cache instance (for testing/debugging).
|
|
23
23
|
*/
|
|
24
24
|
export declare function getDiskSignatureCache(): SignatureCache | null;
|
|
25
|
+
export declare function shutdownDiskSignatureCache(): Promise<void>;
|
|
25
26
|
/**
|
|
26
27
|
* Caches a thinking signature for a given session and text.
|
|
27
28
|
* Used for Claude models that require signed thinking blocks in multi-turn conversations.
|
|
@@ -39,6 +40,6 @@ export declare function getCachedSignature(sessionId: string, text: string): str
|
|
|
39
40
|
* Also clears from disk cache if enabled.
|
|
40
41
|
*/
|
|
41
42
|
export declare function clearSignatureCache(sessionId?: string): void;
|
|
42
|
-
export {
|
|
43
|
-
export type { SignatureCacheConfig } from
|
|
43
|
+
export { createSignatureCache, SignatureCache } from './cache/signature-cache';
|
|
44
|
+
export type { SignatureCacheConfig } from './config';
|
|
44
45
|
//# sourceMappingURL=cache.d.ts.map
|