@expiren/opencode-antigravity-auth 1.6.17 → 1.6.19
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/dist/index.js +600 -81
- package/dist/index.js.map +4 -4
- package/dist/src/constants.d.ts +13 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +19 -1
- package/dist/src/constants.js.map +1 -1
- package/dist/src/plugin/auth-doctor.d.ts +30 -0
- package/dist/src/plugin/auth-doctor.d.ts.map +1 -0
- package/dist/src/plugin/auth-doctor.js +144 -0
- package/dist/src/plugin/auth-doctor.js.map +1 -0
- package/dist/src/plugin/auth-drift.d.ts +13 -0
- package/dist/src/plugin/auth-drift.d.ts.map +1 -0
- package/dist/src/plugin/auth-drift.js +70 -0
- package/dist/src/plugin/auth-drift.js.map +1 -0
- package/dist/src/plugin/cli.d.ts +12 -2
- package/dist/src/plugin/cli.d.ts.map +1 -1
- package/dist/src/plugin/cli.js +36 -3
- package/dist/src/plugin/cli.js.map +1 -1
- package/dist/src/plugin/config/models.d.ts +2 -32
- package/dist/src/plugin/config/models.d.ts.map +1 -1
- package/dist/src/plugin/config/models.js +1 -113
- package/dist/src/plugin/config/models.js.map +1 -1
- package/dist/src/plugin/config/schema.js +2 -2
- package/dist/src/plugin/config/schema.js.map +1 -1
- package/dist/src/plugin/model-registry.d.ts +46 -0
- package/dist/src/plugin/model-registry.d.ts.map +1 -0
- package/dist/src/plugin/model-registry.js +180 -0
- package/dist/src/plugin/model-registry.js.map +1 -0
- package/dist/src/plugin/quota.d.ts +1 -0
- package/dist/src/plugin/quota.d.ts.map +1 -1
- package/dist/src/plugin/quota.js +8 -5
- package/dist/src/plugin/quota.js.map +1 -1
- package/dist/src/plugin/request.d.ts.map +1 -1
- package/dist/src/plugin/request.js +9 -9
- package/dist/src/plugin/request.js.map +1 -1
- package/dist/src/plugin/transform/claude.d.ts +1 -0
- package/dist/src/plugin/transform/claude.d.ts.map +1 -1
- package/dist/src/plugin/transform/claude.js +13 -0
- package/dist/src/plugin/transform/claude.js.map +1 -1
- package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
- package/dist/src/plugin/transform/model-resolver.js +4 -26
- package/dist/src/plugin/transform/model-resolver.js.map +1 -1
- package/dist/src/plugin/ui/auth-menu.d.ts +25 -1
- package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -1
- package/dist/src/plugin/ui/auth-menu.js +72 -16
- package/dist/src/plugin/ui/auth-menu.js.map +1 -1
- package/dist/src/plugin/ui/model-status.d.ts +28 -0
- package/dist/src/plugin/ui/model-status.d.ts.map +1 -0
- package/dist/src/plugin/ui/model-status.js +80 -0
- package/dist/src/plugin/ui/model-status.js.map +1 -0
- package/dist/src/plugin/ui/quota-status.d.ts +67 -0
- package/dist/src/plugin/ui/quota-status.d.ts.map +1 -0
- package/dist/src/plugin/ui/quota-status.js +194 -0
- package/dist/src/plugin/ui/quota-status.js.map +1 -0
- package/dist/src/plugin/version.d.ts +8 -1
- package/dist/src/plugin/version.d.ts.map +1 -1
- package/dist/src/plugin/version.js +8 -1
- package/dist/src/plugin/version.js.map +1 -1
- package/dist/src/plugin.d.ts.map +1 -1
- package/dist/src/plugin.js +66 -5
- package/dist/src/plugin.js.map +1 -1
- package/package.json +1 -1
package/dist/src/constants.d.ts
CHANGED
|
@@ -64,6 +64,19 @@ export declare const ANTIGRAVITY_HEADERS: {
|
|
|
64
64
|
readonly "X-Goog-Api-Client": "google-cloud-sdk vscode_cloudshelleditor/0.1";
|
|
65
65
|
readonly "Client-Metadata": "{\"ideType\":\"ANTIGRAVITY\",\"platform\":\"WINDOWS\",\"pluginType\":\"GEMINI\"}" | "{\"ideType\":\"ANTIGRAVITY\",\"platform\":\"MACOS\",\"pluginType\":\"GEMINI\"}";
|
|
66
66
|
};
|
|
67
|
+
export declare const GEMINI_CLI_VERSION = "1.0.0";
|
|
68
|
+
/**
|
|
69
|
+
* Default model used in Gemini CLI User-Agent when no model is specified.
|
|
70
|
+
*/
|
|
71
|
+
export declare const GEMINI_CLI_DEFAULT_MODEL = "gemini-2.5-pro";
|
|
72
|
+
/**
|
|
73
|
+
* Build Gemini CLI User-Agent string matching the official google-gemini/gemini-cli format.
|
|
74
|
+
* Format: `GeminiCLI/{version}/{model} ({platform}; {arch})`
|
|
75
|
+
*
|
|
76
|
+
* @see https://github.com/google-gemini/gemini-cli
|
|
77
|
+
*/
|
|
78
|
+
export declare function buildGeminiCliUserAgent(model?: string): string;
|
|
79
|
+
/** @deprecated Use buildGeminiCliUserAgent() for runtime access. */
|
|
67
80
|
export declare const GEMINI_CLI_HEADERS: {
|
|
68
81
|
readonly "User-Agent": "google-api-nodejs-client/9.15.1";
|
|
69
82
|
readonly "X-Goog-Api-Client": "gl-node/22.17.0";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,8EAA8E,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAC9F,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AACpG,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+JAIjC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+JAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,oBAAoB,sDAA6B,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wCAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAIrD,wBAAgB,qBAAqB,IAAI,MAAM,CAA+B;AAE9E;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,WAA+B,CAAC;AAEhE,wBAAgB,qBAAqB,IAAI,SAAS,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAMjF;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,8EAA8E,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAC9F,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AACpG,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+JAIjC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+JAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,oBAAoB,sDAA6B,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wCAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,eAAO,MAAM,4BAA4B,WAAW,CAAC;AAIrD,wBAAgB,qBAAqB,IAAI,MAAM,CAA+B;AAE9E;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,WAA+B,CAAC;AAEhE,wBAAgB,qBAAqB,IAAI,SAAS,GAAG;IAAE,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAMjF;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,oEAAoE;AACpE,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAaX,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAclF;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAMhD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,4zBAWiD,CAAC;AAE7F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,kDAAwC,CAAC;AAE/E,eAAO,MAAM,6BAA6B,iBAAiB,CAAC;AAC5D,eAAO,MAAM,oCAAoC,mCAAmC,CAAC;AAErF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AAMzE;;;GAGG;AACH,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,yBAAyB,qlBAYY,CAAC"}
|
package/dist/src/constants.js
CHANGED
|
@@ -89,6 +89,24 @@ export const ANTIGRAVITY_HEADERS = {
|
|
|
89
89
|
"X-Goog-Api-Client": "google-cloud-sdk vscode_cloudshelleditor/0.1",
|
|
90
90
|
"Client-Metadata": `{"ideType":"ANTIGRAVITY","platform":"${process.platform === "win32" ? "WINDOWS" : "MACOS"}","pluginType":"GEMINI"}`,
|
|
91
91
|
};
|
|
92
|
+
export const GEMINI_CLI_VERSION = "1.0.0";
|
|
93
|
+
/**
|
|
94
|
+
* Default model used in Gemini CLI User-Agent when no model is specified.
|
|
95
|
+
*/
|
|
96
|
+
export const GEMINI_CLI_DEFAULT_MODEL = "gemini-2.5-pro";
|
|
97
|
+
/**
|
|
98
|
+
* Build Gemini CLI User-Agent string matching the official google-gemini/gemini-cli format.
|
|
99
|
+
* Format: `GeminiCLI/{version}/{model} ({platform}; {arch})`
|
|
100
|
+
*
|
|
101
|
+
* @see https://github.com/google-gemini/gemini-cli
|
|
102
|
+
*/
|
|
103
|
+
export function buildGeminiCliUserAgent(model) {
|
|
104
|
+
const effectiveModel = model || GEMINI_CLI_DEFAULT_MODEL;
|
|
105
|
+
const platform = process.platform || "darwin";
|
|
106
|
+
const arch = process.arch || "arm64";
|
|
107
|
+
return `GeminiCLI/${GEMINI_CLI_VERSION}/${effectiveModel} (${platform}; ${arch})`;
|
|
108
|
+
}
|
|
109
|
+
/** @deprecated Use buildGeminiCliUserAgent() for runtime access. */
|
|
92
110
|
export const GEMINI_CLI_HEADERS = {
|
|
93
111
|
"User-Agent": "google-api-nodejs-client/9.15.1",
|
|
94
112
|
"X-Goog-Api-Client": "gl-node/22.17.0",
|
|
@@ -106,7 +124,7 @@ function randomFrom(arr) {
|
|
|
106
124
|
export function getRandomizedHeaders(style, model) {
|
|
107
125
|
if (style === "gemini-cli") {
|
|
108
126
|
return {
|
|
109
|
-
"User-Agent":
|
|
127
|
+
"User-Agent": buildGeminiCliUserAgent(model),
|
|
110
128
|
"X-Goog-Api-Client": GEMINI_CLI_HEADERS["X-Goog-Api-Client"],
|
|
111
129
|
"Client-Metadata": GEMINI_CLI_HEADERS["Client-Metadata"],
|
|
112
130
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2EAA2E,CAAC;AAEjH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,gDAAgD;IAChD,gDAAgD;IAChD,kDAAkD;IAClD,uCAAuC;IACvC,uDAAuD;CACxD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uCAAuC,CAAC;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,mDAAmD,CAAC;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAG,sDAAsD,CAAC;AACpG,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,0BAA0B;IAC1B,6BAA6B;IAC7B,yBAAyB;CACjB,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB;IACzB,0BAA0B;IAC1B,6BAA6B;CACrB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE/D;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAAmB,CAAC;AAElE,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAAC;AACrD,IAAI,kBAAkB,GAAG,4BAA4B,CAAC;AACtD,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,MAAM,UAAU,qBAAqB,KAAa,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,IAAI,aAAa;QAAE,OAAO;IAC1B,kBAAkB,GAAG,OAAO,CAAC;IAC7B,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AAEhE,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,YAAY,EAAE,gGAAgG,qBAAqB,EAAE,sDAAsD;QAC3L,mBAAmB,EAAE,8CAA8C;QACnE,iBAAiB,EAAE,wCAAwC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,0BAA0B;KACxI,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,YAAY,EAAE,gGAAgG,mBAAmB,sDAAsD;IACvL,mBAAmB,EAAE,8CAA8C;IACnE,iBAAiB,EAAE,wCAAwC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,0BAA0B;CAC/H,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY,EAAE,iCAAiC;IAC/C,mBAAmB,EAAE,iBAAiB;IACtC,iBAAiB,EAAE,yEAAyE;CACpF,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { AccountStorageV4 } from "./storage";
|
|
2
|
+
import type { AuthDetails } from "./types";
|
|
3
|
+
export type AuthDoctorStatus = "ok" | "warning" | "repairable" | "error";
|
|
4
|
+
export type AuthDoctorFindingCode = "auth-matches-storage" | "missing-opencode-auth" | "non-oauth-opencode-auth" | "refresh-token-not-in-storage" | "no-account-storage" | "no-enabled-accounts" | "active-index-out-of-range" | "active-account-disabled" | "verification-required";
|
|
5
|
+
export type AuthDoctorRepair = "restore-opencode-auth" | "clamp-active-index" | "select-enabled-account" | "verify-account";
|
|
6
|
+
export interface AuthDoctorFinding {
|
|
7
|
+
code: AuthDoctorFindingCode;
|
|
8
|
+
severity: "info" | "warning" | "error";
|
|
9
|
+
message: string;
|
|
10
|
+
repair?: AuthDoctorRepair;
|
|
11
|
+
accountEmail?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AuthDoctorReport {
|
|
14
|
+
status: AuthDoctorStatus;
|
|
15
|
+
summary: string;
|
|
16
|
+
findings: AuthDoctorFinding[];
|
|
17
|
+
runtime?: AuthDoctorRuntimeMetadata;
|
|
18
|
+
}
|
|
19
|
+
export interface AuthDoctorRuntimeMetadata {
|
|
20
|
+
antigravityVersion: string;
|
|
21
|
+
antigravityVersionSource: string;
|
|
22
|
+
}
|
|
23
|
+
export interface CreateAuthDoctorReportInput {
|
|
24
|
+
auth: AuthDetails | undefined | null;
|
|
25
|
+
storage: AccountStorageV4 | null | undefined;
|
|
26
|
+
runtime?: AuthDoctorRuntimeMetadata;
|
|
27
|
+
}
|
|
28
|
+
export declare function createAuthDoctorReport(input: CreateAuthDoctorReportInput): AuthDoctorReport;
|
|
29
|
+
export declare function formatAuthDoctorReport(report: AuthDoctorReport): string;
|
|
30
|
+
//# sourceMappingURL=auth-doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-doctor.d.ts","sourceRoot":"","sources":["../../../src/plugin/auth-doctor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAA;AAExE,MAAM,MAAM,qBAAqB,GAC7B,sBAAsB,GACtB,uBAAuB,GACvB,yBAAyB,GACzB,8BAA8B,GAC9B,oBAAoB,GACpB,qBAAqB,GACrB,2BAA2B,GAC3B,yBAAyB,GACzB,uBAAuB,CAAA;AAE3B,MAAM,MAAM,gBAAgB,GACxB,uBAAuB,GACvB,oBAAoB,GACpB,wBAAwB,GACxB,gBAAgB,CAAA;AAEpB,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAA;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IACtC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,iBAAiB,EAAE,CAAA;IAC7B,OAAO,CAAC,EAAE,yBAAyB,CAAA;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,wBAAwB,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAA;IACpC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAA;IAC5C,OAAO,CAAC,EAAE,yBAAyB,CAAA;CACpC;AAgCD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,gBAAgB,CAkG3F;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAqBvE"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { detectAuthStorageDrift } from "./auth-drift";
|
|
2
|
+
function isEnabled(account) {
|
|
3
|
+
return account.enabled !== false;
|
|
4
|
+
}
|
|
5
|
+
function statusFromFindings(findings) {
|
|
6
|
+
if (findings.some((finding) => finding.repair && finding.severity === "error")) {
|
|
7
|
+
return "repairable";
|
|
8
|
+
}
|
|
9
|
+
if (findings.some((finding) => finding.severity === "error")) {
|
|
10
|
+
return "error";
|
|
11
|
+
}
|
|
12
|
+
if (findings.some((finding) => finding.severity === "warning")) {
|
|
13
|
+
return "warning";
|
|
14
|
+
}
|
|
15
|
+
return "ok";
|
|
16
|
+
}
|
|
17
|
+
function summaryFromStatus(status) {
|
|
18
|
+
switch (status) {
|
|
19
|
+
case "ok":
|
|
20
|
+
return "OpenCode auth and Antigravity account storage are in sync.";
|
|
21
|
+
case "repairable":
|
|
22
|
+
return "Auth drift detected. One or more safe repairs are available.";
|
|
23
|
+
case "warning":
|
|
24
|
+
return "Auth is usable, but one or more accounts need attention.";
|
|
25
|
+
case "error":
|
|
26
|
+
return "Auth state is not usable and no safe automatic repair is available.";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export function createAuthDoctorReport(input) {
|
|
30
|
+
const findings = [];
|
|
31
|
+
const drift = detectAuthStorageDrift(input.auth, input.storage);
|
|
32
|
+
switch (drift.reason) {
|
|
33
|
+
case "auth-matches-storage":
|
|
34
|
+
findings.push({
|
|
35
|
+
code: "auth-matches-storage",
|
|
36
|
+
severity: "info",
|
|
37
|
+
message: "OpenCode OAuth refresh token exists in Antigravity account storage.",
|
|
38
|
+
accountEmail: drift.account?.email,
|
|
39
|
+
});
|
|
40
|
+
break;
|
|
41
|
+
case "missing-opencode-auth":
|
|
42
|
+
findings.push({
|
|
43
|
+
code: "missing-opencode-auth",
|
|
44
|
+
severity: "error",
|
|
45
|
+
message: "OpenCode auth.json has no Google OAuth entry, but Antigravity account storage has a restorable account.",
|
|
46
|
+
repair: "restore-opencode-auth",
|
|
47
|
+
accountEmail: drift.account?.email,
|
|
48
|
+
});
|
|
49
|
+
break;
|
|
50
|
+
case "non-oauth-opencode-auth":
|
|
51
|
+
findings.push({
|
|
52
|
+
code: "non-oauth-opencode-auth",
|
|
53
|
+
severity: "error",
|
|
54
|
+
message: "OpenCode Google auth is not OAuth, but Antigravity account storage has a restorable OAuth account.",
|
|
55
|
+
repair: "restore-opencode-auth",
|
|
56
|
+
accountEmail: drift.account?.email,
|
|
57
|
+
});
|
|
58
|
+
break;
|
|
59
|
+
case "refresh-token-not-in-storage":
|
|
60
|
+
findings.push({
|
|
61
|
+
code: "refresh-token-not-in-storage",
|
|
62
|
+
severity: "error",
|
|
63
|
+
message: "OpenCode Google OAuth refresh token does not match any stored Antigravity account.",
|
|
64
|
+
repair: "restore-opencode-auth",
|
|
65
|
+
accountEmail: drift.account?.email,
|
|
66
|
+
});
|
|
67
|
+
break;
|
|
68
|
+
case "no-account-storage":
|
|
69
|
+
findings.push({
|
|
70
|
+
code: "no-account-storage",
|
|
71
|
+
severity: "error",
|
|
72
|
+
message: "No Antigravity account storage was found.",
|
|
73
|
+
});
|
|
74
|
+
break;
|
|
75
|
+
case "no-enabled-accounts":
|
|
76
|
+
findings.push({
|
|
77
|
+
code: "no-enabled-accounts",
|
|
78
|
+
severity: "error",
|
|
79
|
+
message: "Antigravity account storage exists, but all accounts are disabled.",
|
|
80
|
+
});
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
const storage = input.storage;
|
|
84
|
+
if (storage && storage.accounts.length > 0) {
|
|
85
|
+
if (!Number.isInteger(storage.activeIndex) || storage.activeIndex < 0 || storage.activeIndex >= storage.accounts.length) {
|
|
86
|
+
findings.push({
|
|
87
|
+
code: "active-index-out-of-range",
|
|
88
|
+
severity: "error",
|
|
89
|
+
message: `Active account index ${storage.activeIndex} is outside the stored account range.`,
|
|
90
|
+
repair: "clamp-active-index",
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
const activeAccount = storage.accounts[storage.activeIndex];
|
|
95
|
+
if (activeAccount && !isEnabled(activeAccount) && storage.accounts.some(isEnabled)) {
|
|
96
|
+
findings.push({
|
|
97
|
+
code: "active-account-disabled",
|
|
98
|
+
severity: "error",
|
|
99
|
+
message: "The active account is disabled while another enabled account is available.",
|
|
100
|
+
repair: "select-enabled-account",
|
|
101
|
+
accountEmail: activeAccount.email,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
for (const account of storage.accounts) {
|
|
106
|
+
if (account.verificationRequired) {
|
|
107
|
+
findings.push({
|
|
108
|
+
code: "verification-required",
|
|
109
|
+
severity: "warning",
|
|
110
|
+
message: account.verificationRequiredReason ?? "Account requires Google verification before it can be used.",
|
|
111
|
+
repair: "verify-account",
|
|
112
|
+
accountEmail: account.email,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const status = statusFromFindings(findings);
|
|
118
|
+
return {
|
|
119
|
+
status,
|
|
120
|
+
summary: summaryFromStatus(status),
|
|
121
|
+
findings,
|
|
122
|
+
runtime: input.runtime,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export function formatAuthDoctorReport(report) {
|
|
126
|
+
const lines = [
|
|
127
|
+
"Antigravity auth doctor",
|
|
128
|
+
`Status: ${report.status}`,
|
|
129
|
+
report.summary,
|
|
130
|
+
"",
|
|
131
|
+
];
|
|
132
|
+
if (report.runtime) {
|
|
133
|
+
lines.push(`Antigravity version: ${report.runtime.antigravityVersion} (${report.runtime.antigravityVersionSource})`);
|
|
134
|
+
lines.push("");
|
|
135
|
+
}
|
|
136
|
+
for (const finding of report.findings) {
|
|
137
|
+
const repair = finding.repair ? ` | repair: ${finding.repair}` : "";
|
|
138
|
+
const account = finding.accountEmail ? ` | account: ${finding.accountEmail}` : "";
|
|
139
|
+
lines.push(`- [${finding.severity}] ${finding.code}${account}${repair}`);
|
|
140
|
+
lines.push(` ${finding.message}`);
|
|
141
|
+
}
|
|
142
|
+
return lines.join("\n");
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=auth-doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-doctor.js","sourceRoot":"","sources":["../../../src/plugin/auth-doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AccountMetadataV3, AccountStorageV4 } from "./storage";
|
|
2
|
+
import type { AuthDetails, OAuthAuthDetails } from "./types";
|
|
3
|
+
export type AuthStorageDriftStatus = "healthy" | "restorable" | "drifted" | "unavailable";
|
|
4
|
+
export type AuthStorageDriftReason = "auth-matches-storage" | "missing-opencode-auth" | "non-oauth-opencode-auth" | "refresh-token-not-in-storage" | "no-account-storage" | "no-enabled-accounts";
|
|
5
|
+
export interface AuthStorageDriftReport {
|
|
6
|
+
status: AuthStorageDriftStatus;
|
|
7
|
+
reason: AuthStorageDriftReason;
|
|
8
|
+
account?: AccountMetadataV3;
|
|
9
|
+
}
|
|
10
|
+
export declare function selectRestorableAccount(storage: AccountStorageV4 | null | undefined): AccountMetadataV3 | undefined;
|
|
11
|
+
export declare function buildAuthFromStoredAccount(account: AccountMetadataV3): OAuthAuthDetails;
|
|
12
|
+
export declare function detectAuthStorageDrift(auth: AuthDetails | undefined | null, storage: AccountStorageV4 | null | undefined): AuthStorageDriftReport;
|
|
13
|
+
//# sourceMappingURL=auth-drift.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-drift.d.ts","sourceRoot":"","sources":["../../../src/plugin/auth-drift.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE5D,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,aAAa,CAAA;AAEzF,MAAM,MAAM,sBAAsB,GAC9B,sBAAsB,GACtB,uBAAuB,GACvB,yBAAyB,GACzB,8BAA8B,GAC9B,oBAAoB,GACpB,qBAAqB,CAAA;AAEzB,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,MAAM,EAAE,sBAAsB,CAAA;IAC9B,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC5B;AAMD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAWnH;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CAWvF;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,EACpC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAC3C,sBAAsB,CA+CxB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { formatRefreshParts, isOAuthAuth, parseRefreshParts } from "./auth";
|
|
2
|
+
function isAccountEnabled(account) {
|
|
3
|
+
return account.enabled !== false;
|
|
4
|
+
}
|
|
5
|
+
export function selectRestorableAccount(storage) {
|
|
6
|
+
if (!storage || storage.accounts.length === 0) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
const activeAccount = storage.accounts[storage.activeIndex];
|
|
10
|
+
if (activeAccount && isAccountEnabled(activeAccount)) {
|
|
11
|
+
return activeAccount;
|
|
12
|
+
}
|
|
13
|
+
return storage.accounts.find(isAccountEnabled);
|
|
14
|
+
}
|
|
15
|
+
export function buildAuthFromStoredAccount(account) {
|
|
16
|
+
return {
|
|
17
|
+
type: "oauth",
|
|
18
|
+
refresh: formatRefreshParts({
|
|
19
|
+
refreshToken: account.refreshToken,
|
|
20
|
+
projectId: account.projectId,
|
|
21
|
+
managedProjectId: account.managedProjectId,
|
|
22
|
+
}),
|
|
23
|
+
access: "",
|
|
24
|
+
expires: 0,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function detectAuthStorageDrift(auth, storage) {
|
|
28
|
+
if (!storage || storage.accounts.length === 0) {
|
|
29
|
+
return {
|
|
30
|
+
status: "unavailable",
|
|
31
|
+
reason: "no-account-storage",
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const restorableAccount = selectRestorableAccount(storage);
|
|
35
|
+
if (!restorableAccount) {
|
|
36
|
+
return {
|
|
37
|
+
status: "unavailable",
|
|
38
|
+
reason: "no-enabled-accounts",
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
if (!auth) {
|
|
42
|
+
return {
|
|
43
|
+
status: "restorable",
|
|
44
|
+
reason: "missing-opencode-auth",
|
|
45
|
+
account: restorableAccount,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (!isOAuthAuth(auth)) {
|
|
49
|
+
return {
|
|
50
|
+
status: "restorable",
|
|
51
|
+
reason: "non-oauth-opencode-auth",
|
|
52
|
+
account: restorableAccount,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
const authRefreshToken = parseRefreshParts(auth.refresh).refreshToken;
|
|
56
|
+
const matchedAccount = storage.accounts.find((account) => account.refreshToken === authRefreshToken);
|
|
57
|
+
if (matchedAccount) {
|
|
58
|
+
return {
|
|
59
|
+
status: "healthy",
|
|
60
|
+
reason: "auth-matches-storage",
|
|
61
|
+
account: matchedAccount,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
status: "drifted",
|
|
66
|
+
reason: "refresh-token-not-in-storage",
|
|
67
|
+
account: restorableAccount,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=auth-drift.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-drift.js","sourceRoot":"","sources":["../../../src/plugin/auth-drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAoB3E,SAAS,gBAAgB,CAAC,OAA0B;IAClD,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA4C;IAClF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC3D,IAAI,aAAa,IAAI,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;QACrD,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAA0B;IACnE,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,kBAAkB,CAAC;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC;QACF,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC;KACX,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAoC,EACpC,OAA4C;IAE5C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,oBAAoB;SAC7B,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAC1D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,qBAAqB;SAC9B,CAAA;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,uBAAuB;YAC/B,OAAO,EAAE,iBAAiB;SAC3B,CAAA;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,yBAAyB;YACjC,OAAO,EAAE,iBAAiB;SAC3B,CAAA;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,CAAA;IACrE,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,KAAK,gBAAgB,CAAC,CAAA;IACpG,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,sBAAsB;YAC9B,OAAO,EAAE,cAAc;SACxB,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,8BAA8B;QACtC,OAAO,EAAE,iBAAiB;KAC3B,CAAA;AACH,CAAC"}
|
package/dist/src/plugin/cli.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { type AccountStatus } from "./ui/auth-menu";
|
|
1
|
+
import { type AccountStatus, type FingerprintHistoryEntry } from "./ui/auth-menu";
|
|
2
|
+
import type { CooldownReason } from "./accounts";
|
|
3
|
+
import type { QuotaGroupSummary } from "./quota";
|
|
2
4
|
export declare function promptProjectId(): Promise<string>;
|
|
3
5
|
export declare function promptAddAnotherAccount(currentCount: number): Promise<boolean>;
|
|
4
|
-
export type LoginMode = "add" | "fresh" | "manage" | "check" | "verify" | "verify-all" | "cancel";
|
|
6
|
+
export type LoginMode = "add" | "fresh" | "manage" | "check" | "doctor" | "repair" | "current" | "switch-account" | "restore-fingerprint" | "verify" | "verify-all" | "cancel";
|
|
5
7
|
export interface ExistingAccountInfo {
|
|
6
8
|
email?: string;
|
|
7
9
|
index: number;
|
|
@@ -10,6 +12,11 @@ export interface ExistingAccountInfo {
|
|
|
10
12
|
status?: AccountStatus;
|
|
11
13
|
isCurrentAccount?: boolean;
|
|
12
14
|
enabled?: boolean;
|
|
15
|
+
quotaSummary?: string;
|
|
16
|
+
cooldownMs?: number;
|
|
17
|
+
cooldownReason?: CooldownReason;
|
|
18
|
+
cachedQuota?: Partial<Record<string, QuotaGroupSummary>>;
|
|
19
|
+
fingerprintHistory?: FingerprintHistoryEntry[];
|
|
13
20
|
}
|
|
14
21
|
export interface LoginMenuResult {
|
|
15
22
|
mode: LoginMode;
|
|
@@ -17,6 +24,9 @@ export interface LoginMenuResult {
|
|
|
17
24
|
refreshAccountIndex?: number;
|
|
18
25
|
toggleAccountIndex?: number;
|
|
19
26
|
verifyAccountIndex?: number;
|
|
27
|
+
switchAccountIndex?: number;
|
|
28
|
+
restoreFingerprintAccountIndex?: number;
|
|
29
|
+
restoreFingerprintHistoryIndex?: number;
|
|
20
30
|
verifyAll?: boolean;
|
|
21
31
|
deleteAll?: boolean;
|
|
22
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/plugin/cli.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/plugin/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAQvD;AAED,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASpF;AAED,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE/K,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACzD,kBAAkB,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyCD,wBAAsB,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAgGvG;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/src/plugin/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createInterface } from "node:readline/promises";
|
|
2
2
|
import { stdin as input, stdout as output } from "node:process";
|
|
3
|
-
import { showAuthMenu, showAccountDetails, isTTY, } from "./ui/auth-menu";
|
|
3
|
+
import { showAuthMenu, showAccountDetails, showFingerprintHistory, isTTY, } from "./ui/auth-menu";
|
|
4
4
|
import { updateOpencodeConfig } from "./config/updater";
|
|
5
5
|
export async function promptProjectId() {
|
|
6
6
|
const rl = createInterface({ input, output });
|
|
@@ -33,7 +33,7 @@ async function promptLoginModeFallback(existingAccounts) {
|
|
|
33
33
|
}
|
|
34
34
|
console.log("");
|
|
35
35
|
while (true) {
|
|
36
|
-
const answer = await rl.question("(a)dd new, (f)resh start, (c)heck quotas, (v)erify account, (va) verify all? [a/f/c/v/va]: ");
|
|
36
|
+
const answer = await rl.question("(a)dd new, (f)resh start, (c)heck quotas, auth (d)octor, (v)erify account, (va) verify all? [a/f/c/d/v/va]: ");
|
|
37
37
|
const normalized = answer.trim().toLowerCase();
|
|
38
38
|
if (normalized === "a" || normalized === "add") {
|
|
39
39
|
return { mode: "add" };
|
|
@@ -44,13 +44,16 @@ async function promptLoginModeFallback(existingAccounts) {
|
|
|
44
44
|
if (normalized === "c" || normalized === "check") {
|
|
45
45
|
return { mode: "check" };
|
|
46
46
|
}
|
|
47
|
+
if (normalized === "d" || normalized === "doctor" || normalized === "auth-doctor") {
|
|
48
|
+
return { mode: "doctor" };
|
|
49
|
+
}
|
|
47
50
|
if (normalized === "v" || normalized === "verify") {
|
|
48
51
|
return { mode: "verify" };
|
|
49
52
|
}
|
|
50
53
|
if (normalized === "va" || normalized === "verify-all" || normalized === "all") {
|
|
51
54
|
return { mode: "verify-all", verifyAll: true };
|
|
52
55
|
}
|
|
53
|
-
console.log("Please enter 'a', 'f', 'c', 'v', or 'va'.");
|
|
56
|
+
console.log("Please enter 'a', 'f', 'c', 'd', 'v', or 'va'.");
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
finally {
|
|
@@ -69,6 +72,11 @@ export async function promptLoginMode(existingAccounts) {
|
|
|
69
72
|
status: acc.status,
|
|
70
73
|
isCurrentAccount: acc.isCurrentAccount,
|
|
71
74
|
enabled: acc.enabled,
|
|
75
|
+
quotaSummary: acc.quotaSummary,
|
|
76
|
+
cooldownMs: acc.cooldownMs,
|
|
77
|
+
cooldownReason: acc.cooldownReason,
|
|
78
|
+
cachedQuota: acc.cachedQuota,
|
|
79
|
+
fingerprintHistory: acc.fingerprintHistory,
|
|
72
80
|
}));
|
|
73
81
|
console.log("");
|
|
74
82
|
while (true) {
|
|
@@ -78,6 +86,12 @@ export async function promptLoginMode(existingAccounts) {
|
|
|
78
86
|
return { mode: "add" };
|
|
79
87
|
case "check":
|
|
80
88
|
return { mode: "check" };
|
|
89
|
+
case "doctor":
|
|
90
|
+
return { mode: "doctor" };
|
|
91
|
+
case "repair":
|
|
92
|
+
return { mode: "repair" };
|
|
93
|
+
case "current":
|
|
94
|
+
return { mode: "current" };
|
|
81
95
|
case "verify":
|
|
82
96
|
return { mode: "verify" };
|
|
83
97
|
case "verify-all":
|
|
@@ -96,6 +110,25 @@ export async function promptLoginMode(existingAccounts) {
|
|
|
96
110
|
if (accountAction === "verify") {
|
|
97
111
|
return { mode: "verify", verifyAccountIndex: action.account.index };
|
|
98
112
|
}
|
|
113
|
+
if (accountAction === "switch-account") {
|
|
114
|
+
const accountLabel = action.account.email || `Account ${action.account.index + 1}`;
|
|
115
|
+
console.log(`\n✓ Switched to ${accountLabel}. Restart OpenCode for changes to take effect.\n`);
|
|
116
|
+
return { mode: "switch-account", switchAccountIndex: action.account.index };
|
|
117
|
+
}
|
|
118
|
+
if (accountAction === "restore-fingerprint") {
|
|
119
|
+
const history = action.account.fingerprintHistory;
|
|
120
|
+
if (!history || history.length === 0)
|
|
121
|
+
continue;
|
|
122
|
+
const accountLabel = action.account.email || `Account ${action.account.index + 1}`;
|
|
123
|
+
const historyIndex = await showFingerprintHistory(history, accountLabel);
|
|
124
|
+
if (historyIndex === null)
|
|
125
|
+
continue;
|
|
126
|
+
return {
|
|
127
|
+
mode: "restore-fingerprint",
|
|
128
|
+
restoreFingerprintAccountIndex: action.account.index,
|
|
129
|
+
restoreFingerprintHistoryIndex: historyIndex,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
99
132
|
continue;
|
|
100
133
|
}
|
|
101
134
|
case "delete-all":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/plugin/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,KAAK,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/plugin/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export type
|
|
3
|
-
export interface ModelThinkingConfig {
|
|
4
|
-
thinkingBudget: number;
|
|
5
|
-
}
|
|
6
|
-
export interface ModelVariant {
|
|
7
|
-
thinkingLevel?: ModelThinkingLevel;
|
|
8
|
-
thinkingConfig?: ModelThinkingConfig;
|
|
9
|
-
}
|
|
10
|
-
export interface ModelLimit {
|
|
11
|
-
context: number;
|
|
12
|
-
output: number;
|
|
13
|
-
}
|
|
14
|
-
export type ModelModality = "text" | "image" | "pdf";
|
|
15
|
-
export interface ModelModalities {
|
|
16
|
-
input: ModelModality[];
|
|
17
|
-
output: ModelModality[];
|
|
18
|
-
}
|
|
19
|
-
export interface OpencodeModelDefinition extends ProviderModel {
|
|
20
|
-
id: string;
|
|
21
|
-
name: string;
|
|
22
|
-
release_date: string;
|
|
23
|
-
attachment: boolean;
|
|
24
|
-
reasoning: boolean;
|
|
25
|
-
temperature: boolean;
|
|
26
|
-
tool_call: boolean;
|
|
27
|
-
limit: ModelLimit;
|
|
28
|
-
modalities: ModelModalities;
|
|
29
|
-
variants?: Record<string, ModelVariant>;
|
|
30
|
-
}
|
|
31
|
-
export type OpencodeModelDefinitions = Record<string, OpencodeModelDefinition>;
|
|
32
|
-
export declare const OPENCODE_MODEL_DEFINITIONS: OpencodeModelDefinitions;
|
|
1
|
+
export { OPENCODE_MODEL_DEFINITIONS, getPublicModelDefinitions, } from "../model-registry";
|
|
2
|
+
export type { ModelLimit, ModelModalities, ModelModality, ModelThinkingConfig, ModelThinkingLevel, ModelVariant, OpencodeModelDefinition, OpencodeModelDefinitions, } from "../model-registry";
|
|
33
3
|
//# sourceMappingURL=models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/models.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,mBAAmB,CAAA"}
|