dsh-coding-subscription-oauth 0.6.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +291 -255
- package/CONTRIBUTING.md +138 -129
- package/INSTALL.md +261 -256
- package/LICENSE +19 -19
- package/NOTICE +11 -11
- package/README.de.md +303 -303
- package/README.es.md +304 -304
- package/README.fr.md +304 -304
- package/README.ja.md +304 -304
- package/README.ko.md +304 -304
- package/README.md +321 -320
- package/README.pt-BR.md +304 -304
- package/README.ru.md +304 -304
- package/README.zh-CN.md +319 -318
- package/compatibility/dsh-bom.json +36 -30
- package/cordis.patch.yml +13 -13
- package/docs/00-project-rules.md +213 -212
- package/docs/02-architecture.md +142 -138
- package/docs/02-architecture.zh-CN.md +142 -138
- package/lib/auth-routes.d.ts +10 -1
- package/lib/auth-routes.d.ts.map +1 -1
- package/lib/bin.js +483 -50
- package/lib/bin.js.map +4 -4
- package/lib/client.js +5 -5
- package/lib/client.js.map +4 -4
- package/lib/compatibility.d.ts +0 -1
- package/lib/compatibility.d.ts.map +1 -1
- package/lib/gateway-protocol.d.ts +3 -46
- package/lib/gateway-protocol.d.ts.map +1 -1
- package/lib/gateway-routes.d.ts.map +1 -1
- package/lib/grok-errors.d.ts +2 -12
- package/lib/grok-errors.d.ts.map +1 -1
- package/lib/grok-imagine/client.d.ts +73 -0
- package/lib/grok-imagine/client.d.ts.map +1 -0
- package/lib/grok-imagine/index.d.ts +8 -0
- package/lib/grok-imagine/index.d.ts.map +1 -0
- package/lib/grok-imagine/net.d.ts +10 -0
- package/lib/grok-imagine/net.d.ts.map +1 -0
- package/lib/grok-imagine/parse.d.ts +20 -0
- package/lib/grok-imagine/parse.d.ts.map +1 -0
- package/lib/grok-imagine/types.d.ts +191 -0
- package/lib/grok-imagine/types.d.ts.map +1 -0
- package/lib/grok-imagine.d.ts +3 -263
- package/lib/grok-imagine.d.ts.map +1 -1
- package/lib/http-json.d.ts +2 -9
- package/lib/http-json.d.ts.map +1 -1
- package/lib/ids.d.ts +4 -0
- package/lib/ids.d.ts.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +730 -196
- package/lib/index.js.map +4 -4
- package/lib/invariant.js.map +1 -1
- package/lib/kimi-errors.d.ts +2 -12
- package/lib/kimi-errors.d.ts.map +1 -1
- package/lib/oauth-session.d.ts +2 -0
- package/lib/oauth-session.d.ts.map +1 -1
- package/lib/session.d.ts +2 -0
- package/lib/session.d.ts.map +1 -1
- package/lib/store.d.ts +73 -1
- package/lib/store.d.ts.map +1 -1
- package/media/en/settings_accounts.png +0 -0
- package/media/en/settings_capabilities.png +0 -0
- package/media/en/settings_gateway.png +0 -0
- package/media/settings_accounts.png +0 -0
- package/media/settings_capabilities.png +0 -0
- package/media/settings_gateway.png +0 -0
- package/media/settings_overview.png +0 -0
- package/media/zh-CN/settings_accounts.png +0 -0
- package/media/zh-CN/settings_capabilities.png +0 -0
- package/media/zh-CN/settings_gateway.png +0 -0
- package/package.json +224 -221
- package/patches/dsh-agy@0.1.2.patch +25 -25
- package/scripts/release.mjs +187 -186
- package/scripts/smoke-deployed-routes.mjs +146 -146
- package/scripts/verify-deployed-catalog.mjs +87 -87
- package/src/adapter.ts +0 -348
- package/src/alias-adapter.ts +0 -147
- package/src/auth-routes.ts +0 -921
- package/src/auth.ts +0 -67
- package/src/bin.ts +0 -350
- package/src/capability-routes.ts +0 -279
- package/src/capability-runtime.ts +0 -314
- package/src/capability-settings.ts +0 -671
- package/src/capability-tools.ts +0 -685
- package/src/catalog.ts +0 -271
- package/src/client/GrokBuildSettings.tsx +0 -771
- package/src/client/api.ts +0 -88
- package/src/client/components/AboutTab.tsx +0 -30
- package/src/client/components/AccountsTab.tsx +0 -241
- package/src/client/components/Badge.tsx +0 -33
- package/src/client/components/CapabilitiesTab.tsx +0 -265
- package/src/client/components/CliPullPreview.tsx +0 -116
- package/src/client/components/CopyButton.tsx +0 -57
- package/src/client/components/GatewayTab.tsx +0 -469
- package/src/client/components/NoticeBanner.tsx +0 -46
- package/src/client/components/ProgressBar.tsx +0 -53
- package/src/client/components/ProviderCard.tsx +0 -606
- package/src/client/components/SettingsTabs.tsx +0 -75
- package/src/client/components/ToggleSwitch.tsx +0 -71
- package/src/client/constants.ts +0 -230
- package/src/client/display.ts +0 -61
- package/src/client/dshClientAdapter.ts +0 -127
- package/src/client/gatewaySnippets.ts +0 -37
- package/src/client/index.tsx +0 -156
- package/src/client/locales.ts +0 -540
- package/src/client/microStyles.ts +0 -52
- package/src/client/parsers.ts +0 -398
- package/src/client/styles.ts +0 -325
- package/src/client/types.ts +0 -199
- package/src/codex-http.ts +0 -447
- package/src/codex-images.ts +0 -503
- package/src/codex-model-capabilities.ts +0 -320
- package/src/codex-search.ts +0 -245
- package/src/codex-usage.ts +0 -263
- package/src/compatibility.ts +0 -55
- package/src/dsh-host-adapter.ts +0 -173
- package/src/gateway-anthropic-messages.ts +0 -84
- package/src/gateway-auth.ts +0 -102
- package/src/gateway-backend.ts +0 -274
- package/src/gateway-body.ts +0 -49
- package/src/gateway-config.ts +0 -76
- package/src/gateway-http.ts +0 -104
- package/src/gateway-openai-chat.ts +0 -124
- package/src/gateway-openai-responses.ts +0 -53
- package/src/gateway-parse.ts +0 -224
- package/src/gateway-protocol.ts +0 -52
- package/src/gateway-routes.ts +0 -158
- package/src/gateway.ts +0 -258
- package/src/grok-errors.ts +0 -24
- package/src/grok-imagine.ts +0 -1627
- package/src/grok-import.ts +0 -151
- package/src/http-json.ts +0 -82
- package/src/ids.ts +0 -59
- package/src/imagine-routes.ts +0 -463
- package/src/index.ts +0 -735
- package/src/invariant.ts +0 -17
- package/src/kimi-errors.ts +0 -26
- package/src/media-store.ts +0 -927
- package/src/oauth-import-routes.ts +0 -324
- package/src/oauth-providers.ts +0 -152
- package/src/oauth-session.ts +0 -183
- package/src/oauth-sources.ts +0 -1104
- package/src/oauth.ts +0 -620
- package/src/provider.ts +0 -128
- package/src/proxy.ts +0 -11
- package/src/redact.ts +0 -72
- package/src/session.ts +0 -218
- package/src/store.ts +0 -217
- package/src/web-origin.ts +0 -296
- package/src/web-routes.ts +0 -38
package/lib/invariant.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/invariant.ts"],
|
|
4
|
-
"sourcesContent": ["/**\
|
|
4
|
+
"sourcesContent": ["/**\n * Package-owned invariant companion for `dsh-coding-subscription-oauth`.\n * @module dsh-coding-subscription-oauth/invariant\n */\n\nimport type { Context } from \"@deepseek-ai/cordis\";\nimport type { InvariantInstaller } from \"@deepseek-ai/dsh-invariants\";\n\nconst PACKAGE_NAME = \"dsh-coding-subscription-oauth\";\n\nexport const name = \"grok-build-invariant\";\nexport const inject = [\"invariants\"];\n\nconst install: InvariantInstaller = () => {};\n\nexport const apply = (ctx: Context): Promise<() => void> =>\n\tPromise.resolve(ctx.invariants.register(PACKAGE_NAME, install));\n"],
|
|
5
5
|
"mappings": ";;;AAQA,IAAM,eAAe;AAEd,IAAM,OAAO;AACb,IAAM,SAAS,CAAC,YAAY;AAEnC,IAAM,UAA8B,MAAM;AAAC;AAEpC,IAAM,QAAQ,CAAC,QACrB,QAAQ,QAAQ,IAAI,WAAW,SAAS,cAAc,OAAO,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/lib/kimi-errors.d.ts
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
* @module dsh-coding-subscription-oauth/kimi-errors
|
|
4
|
-
*/
|
|
5
|
-
export declare function isMisclassifiedContextWindowError(detail: string): boolean;
|
|
6
|
-
export declare function remapAuthFailureIfContextOverflow(failure: {
|
|
7
|
-
message: string;
|
|
8
|
-
code: string;
|
|
9
|
-
}): {
|
|
10
|
-
message: string;
|
|
11
|
-
code: string;
|
|
12
|
-
};
|
|
1
|
+
/** Compatibility facade — implementation lives in published `dsh-coding-oauth-core`. */
|
|
2
|
+
export { isMisclassifiedContextWindowError, remapAuthFailureIfContextOverflow, } from "dsh-coding-oauth-core/kimi-errors";
|
|
13
3
|
//# sourceMappingURL=kimi-errors.d.ts.map
|
package/lib/kimi-errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kimi-errors.d.ts","sourceRoot":"","sources":["../../src/kimi-errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"kimi-errors.d.ts","sourceRoot":"","sources":["../../src/kimi-errors.ts"],"names":[],"mappings":"AAAA,wFAAwF;AAExF,OAAO,EACN,iCAAiC,EACjC,iCAAiC,GACjC,MAAM,mCAAmC,CAAC"}
|
package/lib/oauth-session.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ export declare class OAuthProviderSession {
|
|
|
33
33
|
* Called after an upstream 401 rejected a locally-valid token.
|
|
34
34
|
*/
|
|
35
35
|
invalidateAccessToken(): Promise<void>;
|
|
36
|
+
/** Refresh host discovery after an account switch/remove without a full logout. */
|
|
37
|
+
notifyCredentialChange(): void;
|
|
36
38
|
storedCredential(): Promise<OAuthCredential | undefined>;
|
|
37
39
|
logout(): Promise<void>;
|
|
38
40
|
private writeCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-session.d.ts","sourceRoot":"","sources":["../../src/oauth-session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACX,GAAG,EACH,eAAe,EACf,UAAU,EACV,KAAK,EACL,aAAa,EACb,eAAe,EACf,QAAQ,EACR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAuB,MAAM,YAAY,CAAC;AAgC3E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,MAAM,WAAW,mBAAmB;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,oBAAoB;IAQ/B,QAAQ,CAAC,UAAU,EAAE,uBAAuB;IAP7C,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,WAAW,CAAuB;gBAGhC,UAAU,EAAE,uBAAuB,EAC5C,eAAe,CAAC,EAAE,MAAM,IAAI,EAC5B,KAAK,GAAE,wBAIN,EACD,SAAS,GAAE,MAA6D;IAWzE,OAAO,CAAC,eAAe,CAA2B;IAElD,eAAe,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAI/B,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS;IAIxC,aAAa,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAS7B,QAAQ,IAAI,QAAQ;IAId,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC,iBAAiB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxD,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMtC,KAAK,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAMxD,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOvD;;;OAGG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-session.d.ts","sourceRoot":"","sources":["../../src/oauth-session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EACX,GAAG,EACH,eAAe,EACf,UAAU,EACV,KAAK,EACL,aAAa,EACb,eAAe,EACf,QAAQ,EACR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAuB,MAAM,YAAY,CAAC;AAgC3E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,MAAM,WAAW,mBAAmB;IACnC,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,oBAAoB;IAQ/B,QAAQ,CAAC,UAAU,EAAE,uBAAuB;IAP7C,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,WAAW,CAAuB;gBAGhC,UAAU,EAAE,uBAAuB,EAC5C,eAAe,CAAC,EAAE,MAAM,IAAI,EAC5B,KAAK,GAAE,wBAIN,EACD,SAAS,GAAE,MAA6D;IAWzE,OAAO,CAAC,eAAe,CAA2B;IAElD,eAAe,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAI/B,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS;IAIxC,aAAa,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAS7B,QAAQ,IAAI,QAAQ;IAId,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC,iBAAiB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxD,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMtC,KAAK,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAMxD,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAOvD;;;OAGG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C,mFAAmF;IACnF,sBAAsB,IAAI,IAAI;IAIxB,gBAAgB,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAKxD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAaf,UAAU;CAWxB"}
|
package/lib/session.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ export declare class GrokBuildSession {
|
|
|
34
34
|
* Called after an upstream 401 rejected a locally-valid token.
|
|
35
35
|
*/
|
|
36
36
|
invalidateAccessToken(): Promise<void>;
|
|
37
|
+
/** Refresh host discovery after an account switch/remove without a full logout. */
|
|
38
|
+
notifyCredentialChange(): void;
|
|
37
39
|
logout(): Promise<void>;
|
|
38
40
|
private writeCache;
|
|
39
41
|
}
|
package/lib/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EACN,KAAK,aAAa,EAKlB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAsDtD,4EAA4E;AAC5E,qBAAa,gBAAgB;IAC5B,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,eAAe,CAA2B;gBAEtC,KAAK,GAAE,wBAAyD,EAAE,eAAe,CAAC,EAAE,MAAM,IAAI;IAW1G,4DAA4D;IAC5D,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,eAAe,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAI/B,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS;IAIxC,aAAa,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAO7B,kFAAkF;IAClF,QAAQ,IAAI,QAAQ;IASd,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,iBAAiB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D;;;OAGG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EACN,KAAK,aAAa,EAKlB,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAsDtD,4EAA4E;AAC5E,qBAAa,gBAAgB;IAC5B,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IACxD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,eAAe,CAA2B;gBAEtC,KAAK,GAAE,wBAAyD,EAAE,eAAe,CAAC,EAAE,MAAM,IAAI;IAW1G,4DAA4D;IAC5D,IAAI,YAAY,IAAI,MAAM,GAAG,SAAS,CAErC;IAED,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,eAAe,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAI/B,gBAAgB,IAAI,MAAM,EAAE,GAAG,SAAS;IAIxC,aAAa,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;IAO7B,kFAAkF;IAClF,QAAQ,IAAI,QAAQ;IASd,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBvD,iBAAiB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D;;;OAGG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C,mFAAmF;IACnF,sBAAsB,IAAI,IAAI;IAIxB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAiBf,UAAU;CAaxB"}
|
package/lib/store.d.ts
CHANGED
|
@@ -2,7 +2,43 @@
|
|
|
2
2
|
* Owner-only persistent OAuth credential storage for coding-subscription routes.
|
|
3
3
|
* @module dsh-coding-subscription-oauth/store
|
|
4
4
|
*/
|
|
5
|
-
import type { Credential, CredentialInfo, CredentialStore } from "@earendil-works/pi-ai";
|
|
5
|
+
import type { Credential, CredentialInfo, CredentialStore, OAuthCredential } from "@earendil-works/pi-ai";
|
|
6
|
+
/** On-disk multi-account format. Readers still accept v1 and migrate under lock. */
|
|
7
|
+
declare const AUTH_FORMAT_VERSION: 2;
|
|
8
|
+
/** Operator-owned account hard cap (Settings + store). Aligned with Hub. */
|
|
9
|
+
export declare const OAUTH_MAX_ACCOUNTS = 8;
|
|
10
|
+
/** How a login or import writes into the multi-account document. */
|
|
11
|
+
export type LoginPersistMode = "add" | "overwrite-active";
|
|
12
|
+
export interface LoginPersistOptions {
|
|
13
|
+
mode: LoginPersistMode;
|
|
14
|
+
confirmOverwrite?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Non-empty account id; max 128; restricted charset for path-safe operator labels. */
|
|
17
|
+
export type AccountId = string;
|
|
18
|
+
export interface AccountRecord {
|
|
19
|
+
id: AccountId;
|
|
20
|
+
label?: string;
|
|
21
|
+
credential: OAuthCredential;
|
|
22
|
+
createdAt: number;
|
|
23
|
+
}
|
|
24
|
+
export interface AuthDocumentV2 {
|
|
25
|
+
version: typeof AUTH_FORMAT_VERSION;
|
|
26
|
+
activeAccountId: AccountId;
|
|
27
|
+
accounts: AccountRecord[];
|
|
28
|
+
}
|
|
29
|
+
/** Non-secret row for Settings account lists. Never includes tokens. */
|
|
30
|
+
export interface AccountSummary {
|
|
31
|
+
id: AccountId;
|
|
32
|
+
label?: string;
|
|
33
|
+
expires: number;
|
|
34
|
+
accountId?: string;
|
|
35
|
+
}
|
|
36
|
+
export declare function isValidAccountId(value: unknown): value is AccountId;
|
|
37
|
+
/**
|
|
38
|
+
* Prefer provider `credential.accountId` when path-safe; otherwise mint a unique
|
|
39
|
+
* operator id so multiple anonymous logins do not collide on `legacy`.
|
|
40
|
+
*/
|
|
41
|
+
export declare function resolveAccountIdForCredential(credential: OAuthCredential): AccountId;
|
|
6
42
|
/** Resolve one private OAuth document path beneath DSH_HOME. */
|
|
7
43
|
export declare function oauthCredentialPath(basename: string, dshHome?: string): string;
|
|
8
44
|
/** Resolve the legacy Grok Build OAuth document path. */
|
|
@@ -10,11 +46,14 @@ export declare function grokBuildAuthPath(dshHome?: string): string;
|
|
|
10
46
|
/**
|
|
11
47
|
* File-backed pi-ai store scoped to exactly one provider id. Separate provider
|
|
12
48
|
* files prevent one corrupted or rotated credential from affecting another.
|
|
49
|
+
* On disk the file may hold up to eight operator-owned accounts; CredentialStore
|
|
50
|
+
* methods always project the active account only.
|
|
13
51
|
*/
|
|
14
52
|
export declare class OAuthCredentialFileStore implements CredentialStore {
|
|
15
53
|
readonly providerId: string;
|
|
16
54
|
private readonly label;
|
|
17
55
|
readonly filename: string;
|
|
56
|
+
private loginPersist;
|
|
18
57
|
constructor(providerId: string, filename: string, label: string);
|
|
19
58
|
private readCurrent;
|
|
20
59
|
/**
|
|
@@ -23,11 +62,22 @@ export declare class OAuthCredentialFileStore implements CredentialStore {
|
|
|
23
62
|
* Unsafe/symlink/wrong-owner/too-large files still throw.
|
|
24
63
|
*/
|
|
25
64
|
private loadCurrent;
|
|
65
|
+
private loadDocument;
|
|
26
66
|
/** Refuse a dest that became unsafe after the lock was taken and before rename. */
|
|
27
67
|
private assertDestinationReplaceable;
|
|
68
|
+
private writeDocument;
|
|
69
|
+
private nextDocumentAfterLogin;
|
|
70
|
+
private mutateDocument;
|
|
28
71
|
read(providerId: string): Promise<Credential | undefined>;
|
|
29
72
|
list(): Promise<readonly CredentialInfo[]>;
|
|
30
73
|
modify(providerId: string, fn: (current: Credential | undefined) => Promise<Credential | undefined>): Promise<Credential | undefined>;
|
|
74
|
+
/**
|
|
75
|
+
* Redirect `modify` writes (pi-ai `models.login`) through multi-account upsert
|
|
76
|
+
* semantics for the duration of `fn`.
|
|
77
|
+
*/
|
|
78
|
+
runLoginPersist<T>(options: LoginPersistOptions, fn: () => Promise<T>): Promise<T>;
|
|
79
|
+
/** Persist a login/import credential without going through pi-ai `modify`. */
|
|
80
|
+
persistLoginCredential(credential: OAuthCredential, options: LoginPersistOptions): Promise<void>;
|
|
31
81
|
/**
|
|
32
82
|
* Force the next `getAuth()` to refresh by backdating `expires` into the past.
|
|
33
83
|
* Used after an upstream 401: the stored access token was rejected even though
|
|
@@ -38,9 +88,31 @@ export declare class OAuthCredentialFileStore implements CredentialStore {
|
|
|
38
88
|
*/
|
|
39
89
|
invalidate(providerId: string): Promise<boolean>;
|
|
40
90
|
delete(providerId: string): Promise<void>;
|
|
91
|
+
/** Read-only account list for Settings / API. Never includes tokens. */
|
|
92
|
+
listAccounts(): Promise<readonly AccountSummary[]>;
|
|
93
|
+
getActiveAccountId(): Promise<string | undefined>;
|
|
94
|
+
/**
|
|
95
|
+
* Read one account's credential without changing activeAccountId.
|
|
96
|
+
* Used by the optional quota-aware pool proxy for sticky per-request routing.
|
|
97
|
+
*/
|
|
98
|
+
readAccount(id: string): Promise<OAuthCredential | undefined>;
|
|
99
|
+
/**
|
|
100
|
+
* Serialized refresh/write for one account id. Does not move activeAccountId.
|
|
101
|
+
* Returns undefined when the account is absent (caller treats as missing credential).
|
|
102
|
+
*/
|
|
103
|
+
modifyAccount(id: string, fn: (current: Credential | undefined) => Promise<Credential | undefined>): Promise<Credential | undefined>;
|
|
104
|
+
setActiveAccount(id: string): Promise<void>;
|
|
105
|
+
upsertAccount(input: {
|
|
106
|
+
id: string;
|
|
107
|
+
label?: string;
|
|
108
|
+
credential: OAuthCredential;
|
|
109
|
+
makeActive?: boolean;
|
|
110
|
+
}): Promise<void>;
|
|
111
|
+
removeAccount(id: string): Promise<void>;
|
|
41
112
|
}
|
|
42
113
|
/** Legacy-named store retained for existing imports and credential migration. */
|
|
43
114
|
export declare class GrokBuildCredentialStore extends OAuthCredentialFileStore {
|
|
44
115
|
constructor(filename?: string);
|
|
45
116
|
}
|
|
117
|
+
export {};
|
|
46
118
|
//# sourceMappingURL=store.d.ts.map
|
package/lib/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|