dsh-coding-subscription-oauth 0.5.7 → 0.6.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.
Files changed (141) hide show
  1. package/CHANGELOG.md +211 -182
  2. package/CONTRIBUTING.md +120 -109
  3. package/INSTALL.md +240 -209
  4. package/LICENSE +19 -19
  5. package/NOTICE +11 -11
  6. package/README.de.md +298 -293
  7. package/README.es.md +299 -294
  8. package/README.fr.md +299 -294
  9. package/README.ja.md +299 -294
  10. package/README.ko.md +299 -294
  11. package/README.md +313 -306
  12. package/README.pt-BR.md +299 -294
  13. package/README.ru.md +299 -294
  14. package/README.zh-CN.md +311 -304
  15. package/compatibility/dsh-bom.json +43 -0
  16. package/cordis.patch.yml +13 -13
  17. package/docs/00-project-rules.md +195 -195
  18. package/docs/02-architecture.md +134 -129
  19. package/docs/02-architecture.zh-CN.md +134 -129
  20. package/lib/auth-routes.d.ts +8 -15
  21. package/lib/auth-routes.d.ts.map +1 -1
  22. package/lib/bin.js +746 -1402
  23. package/lib/bin.js.map +4 -4
  24. package/lib/capability-routes.d.ts +3 -3
  25. package/lib/capability-routes.d.ts.map +1 -1
  26. package/lib/capability-settings.d.ts +5 -4
  27. package/lib/capability-settings.d.ts.map +1 -1
  28. package/lib/client.js +27 -8
  29. package/lib/client.js.map +4 -4
  30. package/lib/compatibility.d.ts +46 -0
  31. package/lib/compatibility.d.ts.map +1 -0
  32. package/lib/dsh-host-adapter.d.ts +18 -0
  33. package/lib/dsh-host-adapter.d.ts.map +1 -0
  34. package/lib/gateway-auth.d.ts +1 -2
  35. package/lib/gateway-auth.d.ts.map +1 -1
  36. package/lib/gateway-routes.d.ts +3 -4
  37. package/lib/gateway-routes.d.ts.map +1 -1
  38. package/lib/gateway.d.ts +4 -0
  39. package/lib/gateway.d.ts.map +1 -1
  40. package/lib/ids.d.ts +3 -32
  41. package/lib/ids.d.ts.map +1 -1
  42. package/lib/imagine-routes.d.ts +2 -0
  43. package/lib/imagine-routes.d.ts.map +1 -1
  44. package/lib/index.d.ts +19 -4
  45. package/lib/index.d.ts.map +1 -1
  46. package/lib/index.js +26573 -1023
  47. package/lib/index.js.map +4 -4
  48. package/lib/invariant.js.map +1 -1
  49. package/lib/oauth-import-routes.d.ts +3 -4
  50. package/lib/oauth-import-routes.d.ts.map +1 -1
  51. package/lib/proxy.d.ts +3 -16
  52. package/lib/proxy.d.ts.map +1 -1
  53. package/lib/web-origin.d.ts +28 -4
  54. package/lib/web-origin.d.ts.map +1 -1
  55. package/lib/web-routes.d.ts.map +1 -1
  56. package/media/en/settings_accounts.png +0 -0
  57. package/media/en/settings_capabilities.png +0 -0
  58. package/media/en/settings_gateway.png +0 -0
  59. package/media/zh-CN/settings_accounts.png +0 -0
  60. package/media/zh-CN/settings_capabilities.png +0 -0
  61. package/media/zh-CN/settings_gateway.png +0 -0
  62. package/package.json +209 -172
  63. package/patches/dsh-agy@0.1.2.patch +25 -25
  64. package/scripts/release.mjs +186 -166
  65. package/scripts/smoke-deployed-routes.mjs +146 -146
  66. package/scripts/verify-deployed-catalog.mjs +87 -87
  67. package/src/adapter.ts +287 -287
  68. package/src/alias-adapter.ts +153 -153
  69. package/src/auth-routes.ts +921 -871
  70. package/src/auth.ts +67 -67
  71. package/src/bin.ts +350 -350
  72. package/src/capability-routes.ts +279 -275
  73. package/src/capability-runtime.ts +313 -313
  74. package/src/capability-settings.ts +658 -657
  75. package/src/capability-tools.ts +666 -666
  76. package/src/catalog.ts +271 -271
  77. package/src/client/GrokBuildSettings.tsx +770 -718
  78. package/src/client/api.ts +88 -88
  79. package/src/client/components/AboutTab.tsx +30 -20
  80. package/src/client/components/AccountsTab.tsx +241 -224
  81. package/src/client/components/Badge.tsx +33 -33
  82. package/src/client/components/CapabilitiesTab.tsx +265 -227
  83. package/src/client/components/CliPullPreview.tsx +116 -107
  84. package/src/client/components/CopyButton.tsx +57 -57
  85. package/src/client/components/GatewayTab.tsx +469 -364
  86. package/src/client/components/NoticeBanner.tsx +46 -46
  87. package/src/client/components/ProgressBar.tsx +53 -52
  88. package/src/client/components/ProviderCard.tsx +606 -502
  89. package/src/client/components/SettingsTabs.tsx +75 -75
  90. package/src/client/components/ToggleSwitch.tsx +71 -62
  91. package/src/client/constants.ts +224 -206
  92. package/src/client/display.ts +61 -61
  93. package/src/client/dshClientAdapter.ts +109 -0
  94. package/src/client/gatewaySnippets.ts +37 -36
  95. package/src/client/index.tsx +156 -37
  96. package/src/client/locales.ts +535 -487
  97. package/src/client/microStyles.ts +52 -33
  98. package/src/client/parsers.ts +396 -386
  99. package/src/client/styles.ts +325 -312
  100. package/src/client/types.ts +197 -185
  101. package/src/codex-http.ts +447 -447
  102. package/src/codex-images.ts +485 -485
  103. package/src/codex-model-capabilities.ts +320 -320
  104. package/src/codex-search.ts +245 -245
  105. package/src/codex-usage.ts +263 -263
  106. package/src/compatibility.ts +55 -0
  107. package/src/dsh-host-adapter.ts +171 -0
  108. package/src/gateway-anthropic-messages.ts +84 -84
  109. package/src/gateway-auth.ts +102 -100
  110. package/src/gateway-backend.ts +274 -274
  111. package/src/gateway-body.ts +49 -49
  112. package/src/gateway-config.ts +76 -76
  113. package/src/gateway-http.ts +104 -104
  114. package/src/gateway-openai-chat.ts +124 -124
  115. package/src/gateway-openai-responses.ts +53 -53
  116. package/src/gateway-parse.ts +224 -224
  117. package/src/gateway-protocol.ts +52 -52
  118. package/src/gateway-routes.ts +158 -152
  119. package/src/gateway.ts +258 -242
  120. package/src/grok-errors.ts +24 -24
  121. package/src/grok-imagine.ts +1627 -1627
  122. package/src/grok-import.ts +151 -151
  123. package/src/http-json.ts +82 -82
  124. package/src/ids.ts +59 -45
  125. package/src/imagine-routes.ts +463 -461
  126. package/src/index.ts +748 -598
  127. package/src/invariant.ts +17 -17
  128. package/src/kimi-errors.ts +26 -26
  129. package/src/media-store.ts +927 -927
  130. package/src/oauth-import-routes.ts +324 -314
  131. package/src/oauth-providers.ts +152 -152
  132. package/src/oauth-session.ts +183 -183
  133. package/src/oauth-sources.ts +1104 -1104
  134. package/src/oauth.ts +620 -620
  135. package/src/provider.ts +128 -128
  136. package/src/proxy.ts +11 -99
  137. package/src/redact.ts +72 -72
  138. package/src/session.ts +218 -218
  139. package/src/store.ts +217 -217
  140. package/src/web-origin.ts +296 -60
  141. package/src/web-routes.ts +38 -75
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/invariant.ts"],
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"],
4
+ "sourcesContent": ["/**\r\n * Package-owned invariant companion for `dsh-coding-subscription-oauth`.\r\n * @module dsh-coding-subscription-oauth/invariant\r\n */\r\n\r\nimport type { Context } from \"@deepseek-ai/cordis\";\r\nimport type { InvariantInstaller } from \"@deepseek-ai/dsh-invariants\";\r\n\r\nconst PACKAGE_NAME = \"dsh-coding-subscription-oauth\";\r\n\r\nexport const name = \"grok-build-invariant\";\r\nexport const inject = [\"invariants\"];\r\n\r\nconst install: InvariantInstaller = () => {};\r\n\r\nexport const apply = (ctx: Context): Promise<() => void> =>\r\n\tPromise.resolve(ctx.invariants.register(PACKAGE_NAME, install));\r\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
  }
@@ -7,10 +7,8 @@
7
7
  */
8
8
  import type { IncomingMessage, ServerResponse } from "node:http";
9
9
  import { type OAuthImportCommitAction, type OAuthImportSessionOptions, type OAuthSourceCredential, type OAuthSourceDiscovery, type OAuthSourceKind, type OAuthSourcePathOptions } from "./oauth-sources.js";
10
- export declare const OAUTH_IMPORT_SOURCES_PATH = "/plugins/dsh-grok-build/oauth/sources";
11
- export declare const OAUTH_IMPORT_PREVIEW_PATH = "/plugins/dsh-grok-build/oauth/sources/preview";
12
- export declare const OAUTH_IMPORT_COMMIT_PATH = "/plugins/dsh-grok-build/oauth/sources/commit";
13
- export declare const OAUTH_IMPORT_CANCEL_PATH = "/plugins/dsh-grok-build/oauth/sources/cancel";
10
+ import { type OwnerRequestPolicy } from "./web-origin.js";
11
+ export { OAUTH_IMPORT_CANCEL_PATH, OAUTH_IMPORT_COMMIT_PATH, OAUTH_IMPORT_PREVIEW_PATH, OAUTH_IMPORT_SOURCES_PATH, } from "./ids.js";
14
12
  export interface OAuthImportRouteContext {
15
13
  webServer: {
16
14
  register(route: {
@@ -38,6 +36,7 @@ export interface OAuthImportAppliedEvent {
38
36
  }
39
37
  export interface OAuthImportRouteOptions extends OAuthImportSessionOptions, OAuthSourcePathOptions {
40
38
  onImported?: (event: OAuthImportAppliedEvent) => void | Promise<void>;
39
+ ownerRequestPolicy?: OwnerRequestPolicy;
41
40
  }
42
41
  export interface OAuthImportSourcesResponse {
43
42
  sources: OAuthSourceDiscovery[];
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-import-routes.d.ts","sourceRoot":"","sources":["../../src/oauth-import-routes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAIN,KAAK,uBAAuB,EAI5B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAGzB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,MAAM,oBAAoB,CAAC;AAK5B,eAAO,MAAM,yBAAyB,0CAA0C,CAAC;AACjF,eAAO,MAAM,yBAAyB,kDAAkD,CAAC;AACzF,eAAO,MAAM,wBAAwB,iDAAiD,CAAC;AACvF,eAAO,MAAM,wBAAwB,iDAAiD,CAAC;AAEvF,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE;QACV,QAAQ,CAAC,KAAK,EAAE;YACf,IAAI,EAAE,OAAO,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACtF,GAAG,MAAM,IAAI,CAAC;KACf,CAAC;IACF,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,MAAM,CACL,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,KAAK,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,GAC5F,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,2BAA2B,CAAC;CACnC;AAED,MAAM,MAAM,uBAAuB,GAAG;KAAG,CAAC,IAAI,eAAe,GAAG,sBAAsB;CAAE,CAAC;AAEzF,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC,uBAAuB,EAAE,UAAU,GAAG,aAAa,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB,EAAE,sBAAsB;IACjG,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,0BAA0B;IAC1C,OAAO,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACvC,EAAE,EAAE,IAAI,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,qFAAqF;AACrF,wBAAgB,yBAAyB,CACxC,GAAG,EAAE,uBAAuB,EAC5B,YAAY,EAAE,uBAAuB,EACrC,OAAO,GAAE,uBAA4B,GACnC,MAAM,IAAI,CAiGZ;AAwED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAsB7D"}
1
+ {"version":3,"file":"oauth-import-routes.d.ts","sourceRoot":"","sources":["../../src/oauth-import-routes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAQjE,OAAO,EAIN,KAAK,uBAAuB,EAI5B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAGzB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAiC,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGzF,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GACzB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE;QACV,QAAQ,CAAC,KAAK,EAAE;YACf,IAAI,EAAE,OAAO,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACtF,GAAG,MAAM,IAAI,CAAC;KACf,CAAC;IACF,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,2BAA2B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,MAAM,CACL,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,KAAK,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,GAC5F,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,2BAA2B,CAAC;CACnC;AAED,MAAM,MAAM,uBAAuB,GAAG;KAAG,CAAC,IAAI,eAAe,GAAG,sBAAsB;CAAE,CAAC;AAEzF,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC,uBAAuB,EAAE,UAAU,GAAG,aAAa,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB,EAAE,sBAAsB;IACjG,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B;IAC1C,OAAO,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACvC,EAAE,EAAE,IAAI,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,qFAAqF;AACrF,wBAAgB,yBAAyB,CACxC,GAAG,EAAE,uBAAuB,EAC5B,YAAY,EAAE,uBAAuB,EACrC,OAAO,GAAE,uBAA4B,GACnC,MAAM,IAAI,CAkGZ;AAwED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAsB7D"}
package/lib/proxy.d.ts CHANGED
@@ -1,17 +1,4 @@
1
- /**
2
- * Scoped egress proxy for coding-subscription OAuth and inference traffic.
3
- * @module dsh-coding-subscription-oauth/proxy
4
- */
5
- export interface CodingOAuthProxyOptions {
6
- proxyKimi?: boolean;
7
- }
8
- /** Install one process-wide dispatcher that proxies only the audited host list. */
9
- export declare function ensureCodingOAuthProxy(explicit?: string, options?: CodingOAuthProxyOptions): string | undefined;
10
- /** Backward-compatible name retained for existing callers. */
11
- export declare function ensureGrokBuildProxy(explicit?: string): string | undefined;
12
- export declare function codingOAuthProxyInEffect(): string | undefined;
13
- /** Appended to Grok discovery/token/catalog transport errors when a scoped proxy is installed. */
14
- export declare function codingOAuthProxyUnreachableHint(): string;
15
- /** Backward-compatible status accessor. */
16
- export declare function grokBuildProxyInEffect(): string | undefined;
1
+ /** Compatibility facade for the shared process-wide coding OAuth proxy. */
2
+ export type { CodingOAuthProxyLease, CodingOAuthProxyOptions } from "dsh-coding-oauth-core";
3
+ export { acquireCodingOAuthProxy, codingOAuthProxyInEffect, codingOAuthProxyUnreachableHint, ensureCodingOAuthProxy, ensureGrokBuildProxy, grokBuildProxyInEffect, } from "dsh-coding-oauth-core";
17
4
  //# sourceMappingURL=proxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwDH,MAAM,WAAW,uBAAuB;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,MAAM,GAAG,SAAS,CAenH;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,SAAS,CAE7D;AAED,kGAAkG;AAClG,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,2CAA2C;AAC3C,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAE3D"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/proxy.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EACN,uBAAuB,EACvB,wBAAwB,EACxB,+BAA+B,EAC/B,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,GACtB,MAAM,uBAAuB,CAAC"}
@@ -1,10 +1,34 @@
1
1
  /**
2
- * Loopback + same-origin authorization shared by private plugin Web routes.
3
- * Rejecting non-loopback Host values closes DNS-rebinding access even when the
4
- * TCP peer itself is 127.0.0.1 or ::1.
2
+ * Owner-request authorization shared by private plugin Web routes.
5
3
  * @module dsh-coding-subscription-oauth/web-origin
6
4
  */
7
5
  import type { IncomingMessage } from "node:http";
8
- /** Authorize one browser request for owner-local exact/settings routes. */
6
+ import type { OwnerRequestPolicy as CoreOwnerRequestPolicy } from "dsh-coding-oauth-core";
7
+ import type { DshCompatibilityDiagnostic } from "./compatibility.js";
8
+ export declare const OWNER_PROOF_HEADER = "x-dsh-owner-proof";
9
+ export declare const OWNER_CSRF_HEADER = "x-dsh-csrf-token";
10
+ export type { OwnerAccessMode } from "dsh-coding-oauth-core";
11
+ export interface TrustedReverseProxyPolicyConfig {
12
+ /** Exact TCP peers allowed to inject owner-only headers. Forwarded peers never count. */
13
+ readonly peers?: readonly string[];
14
+ /** Exact browser origins allowed through the trusted proxy. */
15
+ readonly origins?: readonly string[];
16
+ /** Secret injected by the trusted proxy only after owner authentication. */
17
+ readonly ownerProof?: string;
18
+ /** Independent CSRF secret injected by the trusted proxy. */
19
+ readonly csrfToken?: string;
20
+ }
21
+ export interface OwnerRequestPolicyConfig {
22
+ /** Use when loopback is intentionally reached through an SSH port forward. */
23
+ readonly loopbackAccessMode?: "loopback" | "ssh-tunnel";
24
+ readonly trustedProxy?: TrustedReverseProxyPolicyConfig;
25
+ }
26
+ export type OwnerRequestPolicy = CoreOwnerRequestPolicy<IncomingMessage, DshCompatibilityDiagnostic>;
27
+ /** Adapt a host-owned policy so service churn cannot escape through Web routes. */
28
+ export declare function safeguardOwnerRequestPolicy(policy: OwnerRequestPolicy): OwnerRequestPolicy;
29
+ /** Build an immutable owner-request policy. Partial proxy configuration is deliberately unusable. */
30
+ export declare function createOwnerRequestPolicy(config?: OwnerRequestPolicyConfig): OwnerRequestPolicy;
31
+ export declare const LOOPBACK_OWNER_REQUEST_POLICY: OwnerRequestPolicy;
32
+ /** Backward-compatible loopback predicate for external callers. */
9
33
  export declare function isTrustedLoopbackWebRequest(req: IncomingMessage): boolean;
10
34
  //# sourceMappingURL=web-origin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"web-origin.d.ts","sourceRoot":"","sources":["../../src/web-origin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,2EAA2E;AAC3E,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAezE"}
1
+ {"version":3,"file":"web-origin.d.ts","sourceRoot":"","sources":["../../src/web-origin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EACX,kBAAkB,IAAI,sBAAsB,EAG5C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,+BAA+B;IAC/C,yFAAyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACxC,8EAA8E;IAC9E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxD,QAAQ,CAAC,YAAY,CAAC,EAAE,+BAA+B,CAAC;CACxD;AAED,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC;AAWrG,mFAAmF;AACnF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAgC1F;AAgBD,qGAAqG;AACrG,wBAAgB,wBAAwB,CAAC,MAAM,GAAE,wBAA6B,GAAG,kBAAkB,CAgDlG;AAED,eAAO,MAAM,6BAA6B,oBAA6B,CAAC;AAExE,mEAAmE;AACnE,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAEzE"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-routes.d.ts","sourceRoot":"","sources":["../../src/web-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,IAAI,CAAC;CAC5C;AAED,6EAA6E;AAC7E,wBAAgB,+BAA+B,CAC9C,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,GACjD,MAAM,IAAI,CAqBZ;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,CAC1C,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,SAAS,cAAc,EAAE,GAC/B,MAAM,IAAI,CAcZ"}
1
+ {"version":3,"file":"web-routes.d.ts","sourceRoot":"","sources":["../../src/web-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMjE,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,IAAI,CAAC;CAC5C;AAED,6EAA6E;AAC7E,wBAAgB,+BAA+B,CAC9C,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,GACjD,MAAM,IAAI,CAEZ;AAED,mEAAmE;AACnE,wBAAgB,2BAA2B,CAC1C,QAAQ,EAAE,sBAAsB,EAChC,MAAM,EAAE,SAAS,cAAc,EAAE,GAC/B,MAAM,IAAI,CAEZ"}
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,186 +1,223 @@
1
- {
2
- "name": "dsh-coding-subscription-oauth",
3
- "description": "DeepSeek Harness coding-subscription OAuth: SuperGrok/Grok Build, ChatGPT Plus Codex, Kimi Code, Claude Code. Fixes AUTH API key is invalid, INVALID_REPLAY_STATE, grok-4.6 xhigh, Kimi Bearer vs x-api-key.",
4
- "version": "0.5.7",
5
- "publishConfig": {
6
- "access": "public",
7
- "registry": "https://registry.npmjs.org/"
8
- },
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://github.com/lninghaha/dsh-coding-subscription-oauth.git"
12
- },
13
- "bugs": "https://github.com/lninghaha/dsh-coding-subscription-oauth/issues",
14
- "homepage": "https://github.com/lninghaha/dsh-coding-subscription-oauth#readme",
15
- "keywords": [
16
- "deepseek-harness",
17
- "dsh-plugin",
18
- "oauth",
19
- "grok-build",
20
- "super-grok",
21
- "grok-4.6",
22
- "cli-chat-proxy",
23
- "openai-codex",
24
- "chatgpt-plus",
25
- "kimi-code",
26
- "claude-code",
27
- "google-antigravity",
28
- "xhigh",
29
- "device-code"
30
- ],
31
- "type": "module",
32
- "packageManager": "pnpm@11.21.0",
33
- "engines": {
34
- "node": "^22.19.0 || >=24.0.0"
35
- },
36
- "main": "lib/index.js",
37
- "types": "lib/index.d.ts",
38
- "bin": {
39
- "dsh-coding-oauth": "lib/bin.js",
40
- "dsh-grok-build": "lib/bin.js"
41
- },
1
+ {
2
+ "name": "dsh-coding-subscription-oauth",
3
+ "description": "DeepSeek Harness coding-subscription OAuth: SuperGrok/Grok Build, ChatGPT Plus Codex, Kimi Code, Claude Code. Fixes AUTH API key is invalid, INVALID_REPLAY_STATE, grok-4.6 xhigh, Kimi Bearer vs x-api-key.",
4
+ "version": "0.6.0",
5
+ "publishConfig": {
6
+ "access": "public",
7
+ "registry": "https://registry.npmjs.org/"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/lninghaha/dsh-coding-subscription-oauth.git"
12
+ },
13
+ "bugs": "https://github.com/lninghaha/dsh-coding-subscription-oauth/issues",
14
+ "homepage": "https://github.com/lninghaha/dsh-coding-subscription-oauth#readme",
15
+ "keywords": [
16
+ "deepseek-harness",
17
+ "dsh-plugin",
18
+ "oauth",
19
+ "grok-build",
20
+ "super-grok",
21
+ "grok-4.6",
22
+ "cli-chat-proxy",
23
+ "openai-codex",
24
+ "chatgpt-plus",
25
+ "kimi-code",
26
+ "claude-code",
27
+ "google-antigravity",
28
+ "xhigh",
29
+ "device-code"
30
+ ],
31
+ "type": "module",
32
+ "packageManager": "pnpm@11.21.0",
33
+ "engines": {
34
+ "node": "^22.19.0 || >=24.0.0"
35
+ },
36
+ "main": "lib/index.js",
37
+ "types": "lib/index.d.ts",
38
+ "bin": {
39
+ "dsh-coding-oauth": "lib/bin.js",
40
+ "dsh-grok-build": "lib/bin.js"
41
+ },
42
42
  "scripts": {
43
- "clean": "node build/clean.mjs",
44
- "typecheck": "tsc -b tsconfig.host.json tsconfig.client.json",
45
- "build:server": "tsc -p tsconfig.build.json && tsc -p tsconfig.dts-bin.json && node build/build-server.mjs",
46
- "build:client": "node build/build-client.mjs",
47
- "build:artifacts": "pnpm run clean && pnpm run typecheck && pnpm run build:server && pnpm run build:client",
48
- "build": "pnpm run release:build",
49
- "test": "vitest run",
50
- "test:watch": "vitest",
51
- "lint": "biome check",
52
- "check:next": "pnpm run lint && pnpm run typecheck && pnpm run test",
53
- "check": "pnpm run lint && pnpm run release:build && pnpm run test",
54
- "release:promote": "node build/promote-release.mjs",
55
- "release:verify": "node build/verify-release.mjs",
56
- "release:build": "pnpm run build:artifacts && pnpm run release:promote",
57
- "release:dry": "node scripts/release.mjs --dry-run",
58
- "release:pack": "node scripts/release.mjs --pack",
59
- "verify:deployed": "node scripts/verify-deployed-catalog.mjs",
60
- "smoke:deployed": "node scripts/smoke-deployed-routes.mjs",
61
- "prepack": "pnpm run release:build"
62
- },
63
- "exports": {
64
- ".": {
65
- "types": "./lib/index.d.ts",
66
- "default": "./lib/index.js"
67
- },
68
- "./invariant": {
69
- "types": "./lib/invariant.d.ts",
70
- "default": "./lib/invariant.js"
71
- },
72
- "./client": "./lib/client.js",
73
- "./cordis.patch.yml": "./cordis.patch.yml",
74
- "./package.json": "./package.json"
75
- },
76
- "files": [
77
- "lib",
78
- "src",
79
- "media",
80
- "cordis.patch.yml",
81
- "INSTALL.md",
82
- "CHANGELOG.md",
83
- "CONTRIBUTING.md",
84
- "docs/00-project-rules.md",
43
+ "check:bom": "node build/verify-dsh-bom.mjs",
44
+ "clean": "node build/clean.mjs",
45
+ "typecheck": "tsc -b tsconfig.host.json tsconfig.client.json",
46
+ "build:server": "tsc -p tsconfig.build.json && tsc -p tsconfig.dts-bin.json && node build/build-server.mjs",
47
+ "build:client": "node build/build-client.mjs",
48
+ "build:artifacts": "pnpm run check:bom && pnpm run clean && pnpm run typecheck && pnpm run build:server && pnpm run build:client",
49
+ "build": "pnpm run release:build",
50
+ "test": "vitest run",
51
+ "test:watch": "vitest",
52
+ "lint": "biome check",
53
+ "check:next": "pnpm run check:bom && pnpm run lint && pnpm run typecheck && pnpm run test",
54
+ "check": "pnpm run lint && pnpm run release:build && pnpm run test",
55
+ "release:promote": "node build/promote-release.mjs",
56
+ "release:verify": "node build/verify-release.mjs",
57
+ "release:build": "pnpm run build:artifacts && pnpm run release:promote",
58
+ "release:dry": "node scripts/release.mjs --dry-run",
59
+ "release:pack": "node scripts/release.mjs --pack",
60
+ "verify:deployed": "node scripts/verify-deployed-catalog.mjs",
61
+ "smoke:deployed": "node scripts/smoke-deployed-routes.mjs",
62
+ "prepack": "pnpm run release:build"
63
+ },
64
+ "exports": {
65
+ ".": {
66
+ "types": "./lib/index.d.ts",
67
+ "default": "./lib/index.js"
68
+ },
69
+ "./invariant": {
70
+ "types": "./lib/invariant.d.ts",
71
+ "default": "./lib/invariant.js"
72
+ },
73
+ "./client": "./lib/client.js",
74
+ "./cordis.patch.yml": "./cordis.patch.yml",
75
+ "./package.json": "./package.json"
76
+ },
77
+ "files": [
78
+ "lib",
79
+ "src",
80
+ "media",
81
+ "cordis.patch.yml",
82
+ "INSTALL.md",
83
+ "CHANGELOG.md",
84
+ "CONTRIBUTING.md",
85
+ "docs/00-project-rules.md",
85
86
  "docs/02-architecture.md",
86
87
  "docs/02-architecture.zh-CN.md",
87
- "README.zh-CN.md",
88
- "README.ja.md",
89
- "README.ko.md",
90
- "README.pt-BR.md",
91
- "README.es.md",
92
- "README.fr.md",
93
- "README.de.md",
94
- "README.ru.md",
95
- "patches/dsh-agy@0.1.2.patch",
96
- "scripts/verify-deployed-catalog.mjs",
97
- "scripts/smoke-deployed-routes.mjs",
98
- "scripts/release.mjs",
99
- "LICENSE",
100
- "NOTICE"
101
- ],
102
- "license": "Apache-2.0",
88
+ "compatibility/dsh-bom.json",
89
+ "README.zh-CN.md",
90
+ "README.ja.md",
91
+ "README.ko.md",
92
+ "README.pt-BR.md",
93
+ "README.es.md",
94
+ "README.fr.md",
95
+ "README.de.md",
96
+ "README.ru.md",
97
+ "patches/dsh-agy@0.1.2.patch",
98
+ "scripts/verify-deployed-catalog.mjs",
99
+ "scripts/smoke-deployed-routes.mjs",
100
+ "scripts/release.mjs",
101
+ "LICENSE",
102
+ "NOTICE"
103
+ ],
104
+ "license": "Apache-2.0",
103
105
  "dsh": {
104
- "bundle": {
105
- "patch": "./cordis.patch.yml"
106
+ "compatibility": {
107
+ "coreAbi": "dsh-coding-oauth-core/v1",
108
+ "verifiedBom": "./compatibility/dsh-bom.json",
109
+ "participant": "coding-subscription-oauth",
110
+ "diagnostics": "standalone",
111
+ "bom": {
112
+ "@deepseek-ai/cordis": "4.0.1",
113
+ "@deepseek-ai/dsh-atomic-write": "0.1.0-rc.6",
114
+ "@deepseek-ai/dsh-attachment": "0.1.0-rc.6",
115
+ "@deepseek-ai/dsh-client-locale": "0.1.0-rc.6",
116
+ "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.6",
117
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.0-rc.6",
118
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.6",
119
+ "@deepseek-ai/dsh-client-web": "0.1.0-rc.6",
120
+ "@deepseek-ai/dsh-credentials": "0.1.0-rc.6",
121
+ "@deepseek-ai/dsh-home-paths": "0.1.0-rc.6",
122
+ "@deepseek-ai/dsh-host-webserver": "0.1.0-rc.6",
123
+ "@deepseek-ai/dsh-invariants": "0.1.0-rc.6",
124
+ "@deepseek-ai/dsh-llm": "0.1.0-rc.6",
125
+ "@deepseek-ai/dsh-llm-pi-ai": "0.1.0-rc.6",
126
+ "@deepseek-ai/dsh-tools": "0.1.0-rc.6",
127
+ "@deepseek-ai/schemastery": "3.18.1",
128
+ "@earendil-works/pi-ai": "0.84.2",
129
+ "react": "18.3.1",
130
+ "react-dom": "18.3.1"
131
+ }
106
132
  },
107
- "client": {
108
- "inject": [
109
- "@deepseek-ai/dsh-client-runtime",
110
- "@deepseek-ai/dsh-client-ui-settings",
111
- "@deepseek-ai/dsh-client-locale"
112
- ],
113
- "platform": "web"
114
- }
115
- },
133
+ "bundle": {
134
+ "patch": "./cordis.patch.yml"
135
+ },
136
+ "client": {
137
+ "inject": [
138
+ "@deepseek-ai/dsh-client-runtime",
139
+ "@deepseek-ai/dsh-client-ui-settings",
140
+ "@deepseek-ai/dsh-client-locale"
141
+ ],
142
+ "platform": "web"
143
+ }
144
+ },
116
145
  "dependencies": {
146
+ "dsh-coding-oauth-core": "0.1.0",
117
147
  "undici": "^7.24.8"
118
148
  },
119
- "peerDependencies": {
120
- "@deepseek-ai/cordis": "^4.0.1-rc.1",
121
- "@deepseek-ai/dsh-atomic-write": "0.1.0-rc.6",
122
- "@deepseek-ai/dsh-attachment": "*",
123
- "@deepseek-ai/dsh-credentials": "*",
124
- "@deepseek-ai/dsh-home-paths": "0.1.0-rc.6",
125
- "@deepseek-ai/dsh-host-webserver": "*",
126
- "@deepseek-ai/dsh-invariants": "*",
127
- "@deepseek-ai/dsh-llm": "0.1.0-rc.6",
128
- "@deepseek-ai/dsh-llm-pi-ai": "0.1.0-rc.6",
129
- "@deepseek-ai/dsh-tools": "*",
130
- "@deepseek-ai/schemastery": "3.18.1",
131
- "@earendil-works/pi-ai": "0.84.2",
132
- "react": "^18.2.0"
133
- },
134
- "peerDependenciesMeta": {
135
- "@deepseek-ai/cordis": {
136
- "optional": true
137
- },
138
- "@deepseek-ai/dsh-attachment": {
139
- "optional": true
140
- },
141
- "@deepseek-ai/dsh-credentials": {
142
- "optional": true
143
- },
144
- "@deepseek-ai/dsh-host-webserver": {
145
- "optional": true
146
- },
147
- "@deepseek-ai/dsh-invariants": {
148
- "optional": true
149
- },
150
- "@deepseek-ai/dsh-tools": {
151
- "optional": true
152
- },
153
- "react": {
154
- "optional": true
155
- }
156
- },
157
- "devDependencies": {
158
- "@biomejs/biome": "^2.5.8",
159
- "@deepseek-ai/cordis": "^4.0.1",
160
- "@deepseek-ai/dsh-atomic-write": "0.1.0-rc.6",
149
+ "peerDependencies": {
150
+ "@deepseek-ai/cordis": "4.0.1",
151
+ "@deepseek-ai/dsh-atomic-write": "0.1.0-rc.6",
161
152
  "@deepseek-ai/dsh-attachment": "0.1.0-rc.6",
162
- "@deepseek-ai/dsh-client-locale": "0.1.0-rc.6",
163
- "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.6",
164
- "@deepseek-ai/dsh-client-ui-settings": "0.1.0-rc.6",
165
- "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.6",
166
153
  "@deepseek-ai/dsh-credentials": "0.1.0-rc.6",
167
- "@deepseek-ai/dsh-home-paths": "0.1.0-rc.6",
154
+ "@deepseek-ai/dsh-home-paths": "0.1.0-rc.6",
168
155
  "@deepseek-ai/dsh-host-webserver": "0.1.0-rc.6",
169
156
  "@deepseek-ai/dsh-invariants": "0.1.0-rc.6",
170
- "@deepseek-ai/dsh-llm": "0.1.0-rc.6",
171
- "@deepseek-ai/dsh-llm-pi-ai": "0.1.0-rc.6",
157
+ "@deepseek-ai/dsh-llm": "0.1.0-rc.6",
158
+ "@deepseek-ai/dsh-llm-pi-ai": "0.1.0-rc.6",
172
159
  "@deepseek-ai/dsh-tools": "0.1.0-rc.6",
173
- "@deepseek-ai/schemastery": "3.18.1",
174
- "@earendil-works/pi-ai": "0.84.2",
175
- "@types/node": "^22.20.0",
160
+ "@deepseek-ai/schemastery": "3.18.1",
161
+ "@earendil-works/pi-ai": "0.84.2",
162
+ "react": "18.3.1",
163
+ "react-dom": "18.3.1"
164
+ },
165
+ "peerDependenciesMeta": {
166
+ "@deepseek-ai/cordis": {
167
+ "optional": true
168
+ },
169
+ "@deepseek-ai/dsh-attachment": {
170
+ "optional": true
171
+ },
172
+ "@deepseek-ai/dsh-credentials": {
173
+ "optional": true
174
+ },
175
+ "@deepseek-ai/dsh-host-webserver": {
176
+ "optional": true
177
+ },
178
+ "@deepseek-ai/dsh-invariants": {
179
+ "optional": true
180
+ },
181
+ "@deepseek-ai/dsh-tools": {
182
+ "optional": true
183
+ },
184
+ "react": {
185
+ "optional": true
186
+ },
187
+ "react-dom": {
188
+ "optional": true
189
+ }
190
+ },
191
+ "devDependencies": {
192
+ "@biomejs/biome": "^2.5.8",
193
+ "@deepseek-ai/cordis": "4.0.1",
194
+ "@deepseek-ai/dsh-atomic-write": "0.1.0-rc.6",
195
+ "@deepseek-ai/dsh-attachment": "0.1.0-rc.6",
196
+ "@deepseek-ai/dsh-client-locale": "0.1.0-rc.6",
197
+ "@deepseek-ai/dsh-client-runtime": "0.1.0-rc.6",
198
+ "@deepseek-ai/dsh-client-ui-settings": "0.1.0-rc.6",
199
+ "@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.6",
200
+ "@deepseek-ai/dsh-client-web": "0.1.0-rc.6",
201
+ "@deepseek-ai/dsh-credentials": "0.1.0-rc.6",
202
+ "@deepseek-ai/dsh-home-paths": "0.1.0-rc.6",
203
+ "@deepseek-ai/dsh-host-webserver": "0.1.0-rc.6",
204
+ "@deepseek-ai/dsh-invariants": "0.1.0-rc.6",
205
+ "@deepseek-ai/dsh-llm": "0.1.0-rc.6",
206
+ "@deepseek-ai/dsh-llm-pi-ai": "0.1.0-rc.6",
207
+ "@deepseek-ai/dsh-tools": "0.1.0-rc.6",
208
+ "@deepseek-ai/schemastery": "3.18.1",
209
+ "@earendil-works/pi-ai": "0.84.2",
210
+ "@types/node": "^22.20.0",
176
211
  "@types/react": "~18.3.1",
177
- "esbuild": "^0.28.2",
178
- "react": "^18.2.0",
179
- "typescript": "^6.0.3",
180
- "undici": "^7.24.8",
181
- "vitest": "^4.1.8"
182
- },
183
- "overrides": {
184
- "@earendil-works/pi-ai": "0.84.2"
185
- }
186
- }
212
+ "@types/react-dom": "18.3.7",
213
+ "esbuild": "^0.28.2",
214
+ "react": "18.3.1",
215
+ "react-dom": "18.3.1",
216
+ "typescript": "^6.0.3",
217
+ "undici": "^7.24.8",
218
+ "vitest": "^4.1.8"
219
+ },
220
+ "overrides": {
221
+ "@earendil-works/pi-ai": "0.84.2"
222
+ }
223
+ }
@@ -1,25 +1,25 @@
1
- diff --git a/lib/plugin-common-YSDKp1DG.mjs b/lib/plugin-common-YSDKp1DG.mjs
2
- index 3bd4405d9010705cdbfb675e62538645c4af5321..aeb9dd8375ac4dfc0376b525f44e4cf8eba67719 100644
3
- --- a/lib/plugin-common-YSDKp1DG.mjs
4
- +++ b/lib/plugin-common-YSDKp1DG.mjs
5
- @@ -135,12 +135,17 @@ var AgyAdapter = class extends LlmAdapter {
6
- providerInfo(_provider) {
7
- return {
8
- id: "agy",
9
- - name: "Antigravity (agy)"
10
- + name: "Google Antigravity (OAuth)"
11
- };
12
- }
13
- async listModels(_provider) {
14
- - const session = await this.options.getSession();
15
- - return listAgyModels(session?.auth.access, session?.account.projectId);
16
- + try {
17
- + const session = await this.options.getSession();
18
- + if (!session) return [];
19
- + return listAgyModels(session.auth.access, session.account.projectId);
20
- + } catch {
21
- + return [];
22
- + }
23
- }
24
- async resolveModel(provider, model) {
25
- return resolveAgyModel(provider, model);
1
+ diff --git a/lib/plugin-common-YSDKp1DG.mjs b/lib/plugin-common-YSDKp1DG.mjs
2
+ index 3bd4405d9010705cdbfb675e62538645c4af5321..aeb9dd8375ac4dfc0376b525f44e4cf8eba67719 100644
3
+ --- a/lib/plugin-common-YSDKp1DG.mjs
4
+ +++ b/lib/plugin-common-YSDKp1DG.mjs
5
+ @@ -135,12 +135,17 @@ var AgyAdapter = class extends LlmAdapter {
6
+ providerInfo(_provider) {
7
+ return {
8
+ id: "agy",
9
+ - name: "Antigravity (agy)"
10
+ + name: "Google Antigravity (OAuth)"
11
+ };
12
+ }
13
+ async listModels(_provider) {
14
+ - const session = await this.options.getSession();
15
+ - return listAgyModels(session?.auth.access, session?.account.projectId);
16
+ + try {
17
+ + const session = await this.options.getSession();
18
+ + if (!session) return [];
19
+ + return listAgyModels(session.auth.access, session.account.projectId);
20
+ + } catch {
21
+ + return [];
22
+ + }
23
+ }
24
+ async resolveModel(provider, model) {
25
+ return resolveAgyModel(provider, model);