@slkiser/opencode-quota 3.7.1 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/dist/lib/entries.d.ts +9 -1
- package/dist/lib/entries.d.ts.map +1 -1
- package/dist/lib/google-antigravity-companion.d.ts.map +1 -1
- package/dist/lib/google-antigravity-companion.js +218 -66
- package/dist/lib/google-antigravity-companion.js.map +1 -1
- package/dist/lib/google-gemini-cli-companion.d.ts.map +1 -1
- package/dist/lib/google-gemini-cli-companion.js +45 -10
- package/dist/lib/google-gemini-cli-companion.js.map +1 -1
- package/dist/lib/jsonc.d.ts.map +1 -1
- package/dist/lib/jsonc.js +2 -1
- package/dist/lib/jsonc.js.map +1 -1
- package/dist/lib/minimax-auth.d.ts +18 -8
- package/dist/lib/minimax-auth.d.ts.map +1 -1
- package/dist/lib/minimax-auth.js +124 -45
- package/dist/lib/minimax-auth.js.map +1 -1
- package/dist/lib/minimax-endpoints.d.ts +10 -0
- package/dist/lib/minimax-endpoints.d.ts.map +1 -0
- package/dist/lib/minimax-endpoints.js +19 -0
- package/dist/lib/minimax-endpoints.js.map +1 -0
- package/dist/lib/provider-metadata.d.ts +1 -1
- package/dist/lib/provider-metadata.d.ts.map +1 -1
- package/dist/lib/provider-metadata.js +29 -0
- package/dist/lib/provider-metadata.js.map +1 -1
- package/dist/lib/quota-render-data.d.ts +1 -0
- package/dist/lib/quota-render-data.d.ts.map +1 -1
- package/dist/lib/quota-render-data.js +13 -4
- package/dist/lib/quota-render-data.js.map +1 -1
- package/dist/lib/quota-runtime-context.d.ts.map +1 -1
- package/dist/lib/quota-runtime-context.js +3 -0
- package/dist/lib/quota-runtime-context.js.map +1 -1
- package/dist/lib/quota-stats.d.ts +4 -0
- package/dist/lib/quota-stats.d.ts.map +1 -1
- package/dist/lib/quota-stats.js +21 -5
- package/dist/lib/quota-stats.js.map +1 -1
- package/dist/lib/quota-status.d.ts.map +1 -1
- package/dist/lib/quota-status.js +124 -45
- package/dist/lib/quota-status.js.map +1 -1
- package/dist/lib/session-tokens-format.d.ts.map +1 -1
- package/dist/lib/session-tokens-format.js +19 -5
- package/dist/lib/session-tokens-format.js.map +1 -1
- package/dist/lib/session-tokens.d.ts.map +1 -1
- package/dist/lib/session-tokens.js +2 -0
- package/dist/lib/session-tokens.js.map +1 -1
- package/dist/lib/tui-compact-format.d.ts.map +1 -1
- package/dist/lib/tui-compact-format.js +6 -1
- package/dist/lib/tui-compact-format.js.map +1 -1
- package/dist/lib/types.d.ts +6 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/zhipu-auth.d.ts +38 -0
- package/dist/lib/zhipu-auth.d.ts.map +1 -0
- package/dist/lib/zhipu-auth.js +107 -0
- package/dist/lib/zhipu-auth.js.map +1 -0
- package/dist/lib/zhipu.d.ts +11 -0
- package/dist/lib/zhipu.d.ts.map +1 -0
- package/dist/lib/zhipu.js +87 -0
- package/dist/lib/zhipu.js.map +1 -0
- package/dist/providers/minimax-coding-plan.d.ts +4 -0
- package/dist/providers/minimax-coding-plan.d.ts.map +1 -1
- package/dist/providers/minimax-coding-plan.js +106 -56
- package/dist/providers/minimax-coding-plan.js.map +1 -1
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +4 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/zhipu.d.ts +8 -0
- package/dist/providers/zhipu.d.ts.map +1 -0
- package/dist/providers/zhipu.js +79 -0
- package/dist/providers/zhipu.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -200,6 +200,7 @@ Most providers work automatically. If a provider has a “Needs setup” link, o
|
|
|
200
200
|
| Qwen Code | [Needs setup](#qwen-code) | Local estimation |
|
|
201
201
|
| Alibaba Coding Plan | Automatic | Local estimation |
|
|
202
202
|
| MiniMax Coding Plan | Automatic | Remote API |
|
|
203
|
+
| MiniMax Coding Plan (CN) | Automatic | Remote API |
|
|
203
204
|
| Kimi Code | Automatic | Remote API |
|
|
204
205
|
| Chutes AI | Usually automatic | Remote API |
|
|
205
206
|
| Crof.ai | Manual env/config | Remote API |
|
|
@@ -207,6 +208,7 @@ Most providers work automatically. If a provider has a “Needs setup” link, o
|
|
|
207
208
|
| Google Antigravity | [Needs setup](#google-antigravity) | Remote API |
|
|
208
209
|
| Gemini CLI | [Needs setup](#gemini-cli) | Remote API |
|
|
209
210
|
| Z.ai Coding Plan | Automatic | Remote API |
|
|
211
|
+
| Zhipu Coding Plan | Automatic | Remote API |
|
|
210
212
|
| NanoGPT | Usually automatic | Remote API |
|
|
211
213
|
| OpenCode Go | [Needs setup](#opencode-go) | Dashboard scraping |
|
|
212
214
|
|
|
@@ -344,7 +346,7 @@ Existing `experimental.quotaToast` settings still work when no sidecar file exis
|
|
|
344
346
|
| `formatStyle` | `singleWindow` | Shared quota reset-period display for popup toasts and the Sidebar panel: `singleWindow` shows one reset period per provider; `allWindows` shows all reset periods per provider. Legacy `classic`/`grouped` aliases are still accepted. |
|
|
345
347
|
| `percentDisplayMode` | `remaining` | Shared quota percentage meaning for popup toasts and the Sidebar panel: `remaining` shows quota left; `used` shows quota consumed. `/quota` keeps its existing remaining-percent output. |
|
|
346
348
|
| `onlyCurrentModel` | `false` | Filter quota rows to the current model/provider when that session selection can be resolved. |
|
|
347
|
-
| `showSessionTokens` | `true` | Show the `Session input/output tokens` section when session token data is available. |
|
|
349
|
+
| `showSessionTokens` | `true` | Show the `Session input/output tokens` section when session token data is available. When cached input is present, the section keeps the legacy `in/out` layout and appends cached input in parentheses next to the input amount. |
|
|
348
350
|
| `pricingSnapshot.source` | `"auto"` | Token pricing snapshot selection for `/tokens_*`: `auto`, `bundled`, or `runtime`. |
|
|
349
351
|
| `pricingSnapshot.autoRefresh` | `7` | Refresh stale local pricing data after this many days. |
|
|
350
352
|
|
|
@@ -572,18 +574,20 @@ Run `/quota_status` and check the Alibaba auth, resolved tier, state-file path,
|
|
|
572
574
|
</details>
|
|
573
575
|
|
|
574
576
|
<details>
|
|
575
|
-
<summary><strong>MiniMax, Kimi, Chutes AI, Crof.ai, Synthetic, Z.ai, and NanoGPT</strong></summary>
|
|
577
|
+
<summary><strong>MiniMax, Kimi, Chutes AI, Crof.ai, Synthetic, Z.ai, Zhipu, and NanoGPT</strong></summary>
|
|
576
578
|
|
|
577
579
|
These providers use trusted env vars, trusted user/global OpenCode config, or native OpenCode auth. Run `/quota_status` and check the provider-specific API-key diagnostics. Crof.ai is env/config only.
|
|
578
580
|
|
|
579
581
|
| Provider | Useful checks |
|
|
580
582
|
| --- | --- |
|
|
581
|
-
| MiniMax Coding Plan | Use `MINIMAX_CODING_PLAN_API_KEY` or `MINIMAX_API_KEY
|
|
583
|
+
| MiniMax Coding Plan | Use `MINIMAX_CODING_PLAN_API_KEY` or `MINIMAX_API_KEY` for the international endpoint. Runtime/config ids like `minimax` and `minimax-coding-plan` use this provider. Repo-local provider secrets are ignored. |
|
|
584
|
+
| MiniMax Coding Plan (CN) | Use `MINIMAX_CHINA_CODING_PLAN_API_KEY` or trusted user/global OpenCode config under `minimax-china-coding-plan`, `minimax-cn-coding-plan`, `minimax-cn`, or `minimax-china`. Runtime id `minimax-cn-coding-plan` uses this provider. |
|
|
582
585
|
| Kimi Code | Use `KIMI_API_KEY` or `KIMI_CODE_API_KEY`; repo-local provider secrets are ignored. |
|
|
583
586
|
| Chutes AI | Use `CHUTES_API_KEY` or trusted user/global config. |
|
|
584
587
|
| Crof.ai | Use `CROF_API_KEY`, `CROFAI_API_KEY`, or trusted user/global config. |
|
|
585
588
|
| Synthetic | Use `SYNTHETIC_API_KEY`, trusted user/global config, or OpenCode auth. |
|
|
586
589
|
| Z.ai Coding Plan | Use `ZAI_API_KEY` or `ZAI_CODING_PLAN_API_KEY`; malformed fallback auth is surfaced as an auth error. |
|
|
590
|
+
| Zhipu Coding Plan | Use `ZHIPU_API_KEY` or `ZHIPU_CODING_PLAN_API_KEY`; malformed fallback auth is surfaced as an auth error. |
|
|
587
591
|
| NanoGPT | Use `NANOGPT_API_KEY`, `NANO_GPT_API_KEY`, trusted user/global config, or OpenCode auth. |
|
|
588
592
|
|
|
589
593
|
For security, repo-local `opencode.json` / `opencode.jsonc` is ignored for provider secrets in these integrations. Put secrets in environment variables or trusted user/global config.
|
package/dist/lib/entries.d.ts
CHANGED
|
@@ -50,12 +50,16 @@ export interface QuotaToastError {
|
|
|
50
50
|
export interface SessionTokenModel {
|
|
51
51
|
modelID: string;
|
|
52
52
|
input: number;
|
|
53
|
+
cachedInput?: number;
|
|
54
|
+
totalInput?: number;
|
|
53
55
|
output: number;
|
|
54
56
|
}
|
|
55
57
|
/** Session tokens data for toast display. */
|
|
56
58
|
export interface SessionTokensData {
|
|
57
59
|
models: SessionTokenModel[];
|
|
58
60
|
totalInput: number;
|
|
61
|
+
totalCachedInput?: number;
|
|
62
|
+
totalCombinedInput?: number;
|
|
59
63
|
totalOutput: number;
|
|
60
64
|
}
|
|
61
65
|
export interface QuotaProviderPresentation {
|
|
@@ -69,6 +73,9 @@ export interface QuotaProviderResult {
|
|
|
69
73
|
errors: QuotaToastError[];
|
|
70
74
|
presentation?: QuotaProviderPresentation;
|
|
71
75
|
}
|
|
76
|
+
export interface QuotaProviderMatchContext {
|
|
77
|
+
enabledProviders: string[] | "auto";
|
|
78
|
+
}
|
|
72
79
|
export interface QuotaProviderContext {
|
|
73
80
|
client: {
|
|
74
81
|
config: {
|
|
@@ -100,6 +107,7 @@ export interface QuotaProviderContext {
|
|
|
100
107
|
onlyCurrentModel?: boolean;
|
|
101
108
|
currentModel?: string;
|
|
102
109
|
currentProviderID?: string;
|
|
110
|
+
enabledProviders: string[] | "auto";
|
|
103
111
|
};
|
|
104
112
|
}
|
|
105
113
|
export interface QuotaProvider {
|
|
@@ -110,6 +118,6 @@ export interface QuotaProvider {
|
|
|
110
118
|
/** Fetch and normalize quota for this provider */
|
|
111
119
|
fetch: (ctx: QuotaProviderContext) => Promise<QuotaProviderResult>;
|
|
112
120
|
/** Optional provider match for onlyCurrentModel filtering */
|
|
113
|
-
matchesCurrentModel?: (model: string) => boolean;
|
|
121
|
+
matchesCurrentModel?: (model: string, context?: QuotaProviderMatchContext) => boolean;
|
|
114
122
|
}
|
|
115
123
|
//# sourceMappingURL=entries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-antigravity-companion.d.ts","sourceRoot":"","sources":["../../src/lib/google-antigravity-companion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google-antigravity-companion.d.ts","sourceRoot":"","sources":["../../src/lib/google-antigravity-companion.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,kCAAkC,GAC1C;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,MAAM,MAAM,sCAAsC,GAAG;IACnD,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAC1C,sCAAsC,GACtC;IACE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAqUN,wBAAsB,mCAAmC,IAAI,OAAO,CAAC,kCAAkC,CAAC,CAGvG;AAED,wBAAsB,mCAAmC,IAAI,OAAO,CAAC,kCAAkC,CAAC,CAGvG;AAED,wBAAgB,sCAAsC,IAAI,IAAI,CAE7D"}
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
+
import { readFile } from "fs/promises";
|
|
1
2
|
import { createRequire } from "node:module";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
2
4
|
import { pathToFileURL } from "node:url";
|
|
5
|
+
import { getOpencodeRuntimeDirCandidates } from "./opencode-runtime-paths.js";
|
|
3
6
|
const require = createRequire(import.meta.url);
|
|
4
7
|
const COMPANION_PACKAGE_NAME = "opencode-antigravity-auth";
|
|
5
|
-
const
|
|
8
|
+
const COMPANION_JS_IMPORT_SPECIFIERS = [
|
|
9
|
+
`${COMPANION_PACKAGE_NAME}/dist/src/constants.js`,
|
|
10
|
+
`${COMPANION_PACKAGE_NAME}/src/constants.js`,
|
|
11
|
+
];
|
|
12
|
+
const COMPANION_SOURCE_IMPORT_SPECIFIER = `${COMPANION_PACKAGE_NAME}/src/constants.ts`;
|
|
13
|
+
const COMPANION_PACKAGE_JSON_SPECIFIER = `${COMPANION_PACKAGE_NAME}/package.json`;
|
|
14
|
+
const COMPANION_DIRECT_CANDIDATE_PATHS = [
|
|
15
|
+
["dist", "src", "constants.js"],
|
|
16
|
+
["src", "constants.ts"],
|
|
17
|
+
["src", "constants.js"],
|
|
18
|
+
["dist", "index.js"],
|
|
19
|
+
];
|
|
6
20
|
const COMPANION_MISSING_ERROR = `Install ${COMPANION_PACKAGE_NAME} separately to enable Google Antigravity quota`;
|
|
7
21
|
const COMPANION_INVALID_ERROR = `Installed ${COMPANION_PACKAGE_NAME} package is incompatible`;
|
|
8
22
|
let resolvedCompanionStatePromise = null;
|
|
@@ -17,88 +31,226 @@ function isModuleNotFoundError(error) {
|
|
|
17
31
|
const message = error instanceof Error ? error.message : "";
|
|
18
32
|
return message.includes("Cannot find module");
|
|
19
33
|
}
|
|
20
|
-
|
|
34
|
+
function isPackagePathNotExportedError(error) {
|
|
35
|
+
if (!error || typeof error !== "object") {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return "code" in error && error.code === "ERR_PACKAGE_PATH_NOT_EXPORTED";
|
|
39
|
+
}
|
|
40
|
+
function isFallthroughResolutionError(error) {
|
|
41
|
+
return isModuleNotFoundError(error) || isPackagePathNotExportedError(error);
|
|
42
|
+
}
|
|
43
|
+
function normalizeCredential(value) {
|
|
44
|
+
return typeof value === "string" ? value.trim() : "";
|
|
45
|
+
}
|
|
46
|
+
function getCompanionResolvePaths() {
|
|
47
|
+
return getOpencodeRuntimeDirCandidates().cacheDirs;
|
|
48
|
+
}
|
|
49
|
+
function markPackageFoundForExportBlock(error, context) {
|
|
50
|
+
if (isPackagePathNotExportedError(error)) {
|
|
51
|
+
context.packageFound = true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function resolveCompanionSpecifier(specifier, context) {
|
|
55
|
+
try {
|
|
56
|
+
return require.resolve(specifier);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
markPackageFoundForExportBlock(error, context);
|
|
60
|
+
if (!isFallthroughResolutionError(error)) {
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
return require.resolve(specifier, { paths: getCompanionResolvePaths() });
|
|
65
|
+
}
|
|
66
|
+
catch (resolvePathsError) {
|
|
67
|
+
markPackageFoundForExportBlock(resolvePathsError, context);
|
|
68
|
+
throw resolvePathsError;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function buildConfiguredState(params) {
|
|
73
|
+
return {
|
|
74
|
+
presence: {
|
|
75
|
+
state: "present",
|
|
76
|
+
importSpecifier: params.importSpecifier,
|
|
77
|
+
resolvedPath: params.resolvedPath,
|
|
78
|
+
},
|
|
79
|
+
credentials: {
|
|
80
|
+
state: "configured",
|
|
81
|
+
clientId: params.clientId,
|
|
82
|
+
clientSecret: params.clientSecret,
|
|
83
|
+
resolvedPath: params.resolvedPath,
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
function buildInvalidState(importSpecifier, resolvedPath) {
|
|
88
|
+
return {
|
|
89
|
+
presence: {
|
|
90
|
+
state: "invalid",
|
|
91
|
+
importSpecifier,
|
|
92
|
+
...(resolvedPath ? { resolvedPath } : {}),
|
|
93
|
+
error: COMPANION_INVALID_ERROR,
|
|
94
|
+
},
|
|
95
|
+
credentials: {
|
|
96
|
+
state: "invalid",
|
|
97
|
+
...(resolvedPath ? { resolvedPath } : {}),
|
|
98
|
+
error: COMPANION_INVALID_ERROR,
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function parseSourceCredentials(content) {
|
|
103
|
+
const clientId = content.match(/(?:export\s+const|const|var)\s+ANTIGRAVITY_CLIENT_ID\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
|
|
104
|
+
const clientSecret = content.match(/(?:export\s+const|const|var)\s+ANTIGRAVITY_CLIENT_SECRET\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
|
|
105
|
+
return clientId && clientSecret ? { clientId, clientSecret } : null;
|
|
106
|
+
}
|
|
107
|
+
function getPackageCredentialPaths(packageRoot) {
|
|
108
|
+
return COMPANION_DIRECT_CANDIDATE_PATHS.map((parts) => join(packageRoot, ...parts));
|
|
109
|
+
}
|
|
110
|
+
function getRuntimeCredentialPaths() {
|
|
111
|
+
return getCompanionResolvePaths().flatMap((cacheDir) => getPackageCredentialPaths(join(cacheDir, "node_modules", COMPANION_PACKAGE_NAME)));
|
|
112
|
+
}
|
|
113
|
+
function isMissingFileError(error) {
|
|
114
|
+
if (!error || typeof error !== "object") {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
const code = "code" in error ? error.code : undefined;
|
|
118
|
+
return code === "ENOENT" || code === "ENOTDIR";
|
|
119
|
+
}
|
|
120
|
+
async function tryReadCredentialsPath(importSpecifier, resolvedPath) {
|
|
121
|
+
let content;
|
|
122
|
+
try {
|
|
123
|
+
content = await readFile(resolvedPath, "utf8");
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
return isMissingFileError(error) ? null : buildInvalidState(importSpecifier, resolvedPath);
|
|
127
|
+
}
|
|
128
|
+
const credentials = parseSourceCredentials(content);
|
|
129
|
+
if (!credentials) {
|
|
130
|
+
return buildInvalidState(importSpecifier, resolvedPath);
|
|
131
|
+
}
|
|
132
|
+
return buildConfiguredState({
|
|
133
|
+
importSpecifier,
|
|
134
|
+
resolvedPath,
|
|
135
|
+
clientId: credentials.clientId,
|
|
136
|
+
clientSecret: credentials.clientSecret,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
async function tryResolveJsConstants(importSpecifier, context) {
|
|
21
140
|
let resolvedPath;
|
|
22
141
|
try {
|
|
23
|
-
resolvedPath =
|
|
142
|
+
resolvedPath = resolveCompanionSpecifier(importSpecifier, context);
|
|
24
143
|
}
|
|
25
144
|
catch (error) {
|
|
26
|
-
if (
|
|
27
|
-
return
|
|
28
|
-
presence: {
|
|
29
|
-
state: "missing",
|
|
30
|
-
importSpecifier: COMPANION_IMPORT_SPECIFIER,
|
|
31
|
-
error: COMPANION_MISSING_ERROR,
|
|
32
|
-
},
|
|
33
|
-
credentials: {
|
|
34
|
-
state: "missing",
|
|
35
|
-
error: COMPANION_MISSING_ERROR,
|
|
36
|
-
},
|
|
37
|
-
};
|
|
145
|
+
if (isFallthroughResolutionError(error)) {
|
|
146
|
+
return null;
|
|
38
147
|
}
|
|
39
|
-
return
|
|
40
|
-
presence: {
|
|
41
|
-
state: "invalid",
|
|
42
|
-
importSpecifier: COMPANION_IMPORT_SPECIFIER,
|
|
43
|
-
error: COMPANION_INVALID_ERROR,
|
|
44
|
-
},
|
|
45
|
-
credentials: {
|
|
46
|
-
state: "invalid",
|
|
47
|
-
error: COMPANION_INVALID_ERROR,
|
|
48
|
-
},
|
|
49
|
-
};
|
|
148
|
+
return buildInvalidState(importSpecifier);
|
|
50
149
|
}
|
|
51
150
|
let companionModule;
|
|
52
151
|
try {
|
|
53
152
|
companionModule = (await import(pathToFileURL(resolvedPath).href));
|
|
54
153
|
}
|
|
55
154
|
catch {
|
|
56
|
-
return
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
resolvedPath,
|
|
61
|
-
error: COMPANION_INVALID_ERROR,
|
|
62
|
-
},
|
|
63
|
-
credentials: {
|
|
64
|
-
state: "invalid",
|
|
65
|
-
resolvedPath,
|
|
66
|
-
error: COMPANION_INVALID_ERROR,
|
|
67
|
-
},
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
const clientId = typeof companionModule.ANTIGRAVITY_CLIENT_ID === "string"
|
|
71
|
-
? companionModule.ANTIGRAVITY_CLIENT_ID.trim()
|
|
72
|
-
: "";
|
|
73
|
-
const clientSecret = typeof companionModule.ANTIGRAVITY_CLIENT_SECRET === "string"
|
|
74
|
-
? companionModule.ANTIGRAVITY_CLIENT_SECRET.trim()
|
|
75
|
-
: "";
|
|
155
|
+
return buildInvalidState(importSpecifier, resolvedPath);
|
|
156
|
+
}
|
|
157
|
+
const clientId = normalizeCredential(companionModule.ANTIGRAVITY_CLIENT_ID);
|
|
158
|
+
const clientSecret = normalizeCredential(companionModule.ANTIGRAVITY_CLIENT_SECRET);
|
|
76
159
|
if (!clientId || !clientSecret) {
|
|
77
|
-
return
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
160
|
+
return buildInvalidState(importSpecifier, resolvedPath);
|
|
161
|
+
}
|
|
162
|
+
return buildConfiguredState({ importSpecifier, resolvedPath, clientId, clientSecret });
|
|
163
|
+
}
|
|
164
|
+
async function tryRuntimeCredentialPaths() {
|
|
165
|
+
for (const candidatePath of getRuntimeCredentialPaths()) {
|
|
166
|
+
const resolved = await tryReadCredentialsPath(COMPANION_SOURCE_IMPORT_SPECIFIER, candidatePath);
|
|
167
|
+
if (resolved) {
|
|
168
|
+
return resolved;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
async function tryResolveSourceConstants(context) {
|
|
174
|
+
let resolvedPath;
|
|
175
|
+
try {
|
|
176
|
+
resolvedPath = resolveCompanionSpecifier(COMPANION_SOURCE_IMPORT_SPECIFIER, context);
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
return isFallthroughResolutionError(error)
|
|
180
|
+
? null
|
|
181
|
+
: buildInvalidState(COMPANION_SOURCE_IMPORT_SPECIFIER);
|
|
182
|
+
}
|
|
183
|
+
return ((await tryReadCredentialsPath(COMPANION_SOURCE_IMPORT_SPECIFIER, resolvedPath)) ??
|
|
184
|
+
buildInvalidState(COMPANION_SOURCE_IMPORT_SPECIFIER, resolvedPath));
|
|
185
|
+
}
|
|
186
|
+
async function tryResolvePackageJson(context) {
|
|
187
|
+
let packageJsonPath;
|
|
188
|
+
try {
|
|
189
|
+
packageJsonPath = resolveCompanionSpecifier(COMPANION_PACKAGE_JSON_SPECIFIER, context);
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
return isFallthroughResolutionError(error)
|
|
193
|
+
? null
|
|
194
|
+
: buildInvalidState(COMPANION_PACKAGE_JSON_SPECIFIER);
|
|
195
|
+
}
|
|
196
|
+
const packageRoot = dirname(packageJsonPath);
|
|
197
|
+
for (const candidatePath of getPackageCredentialPaths(packageRoot)) {
|
|
198
|
+
const resolved = await tryReadCredentialsPath(COMPANION_PACKAGE_JSON_SPECIFIER, candidatePath);
|
|
199
|
+
if (resolved) {
|
|
200
|
+
return resolved;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return buildInvalidState(COMPANION_PACKAGE_JSON_SPECIFIER, packageJsonPath);
|
|
204
|
+
}
|
|
205
|
+
async function tryResolvePackageEntry(context) {
|
|
206
|
+
let packageEntryPath;
|
|
207
|
+
try {
|
|
208
|
+
packageEntryPath = resolveCompanionSpecifier(COMPANION_PACKAGE_NAME, context);
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
return isFallthroughResolutionError(error)
|
|
212
|
+
? null
|
|
213
|
+
: buildInvalidState(COMPANION_PACKAGE_NAME);
|
|
214
|
+
}
|
|
215
|
+
return ((await tryReadCredentialsPath(COMPANION_PACKAGE_NAME, packageEntryPath)) ??
|
|
216
|
+
buildInvalidState(COMPANION_PACKAGE_NAME, packageEntryPath));
|
|
217
|
+
}
|
|
218
|
+
async function resolveCompanionState() {
|
|
219
|
+
const context = { packageFound: false };
|
|
220
|
+
for (const importSpecifier of COMPANION_JS_IMPORT_SPECIFIERS) {
|
|
221
|
+
const resolved = await tryResolveJsConstants(importSpecifier, context);
|
|
222
|
+
if (resolved) {
|
|
223
|
+
return resolved;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
const runtimeResolved = await tryRuntimeCredentialPaths();
|
|
227
|
+
if (runtimeResolved) {
|
|
228
|
+
return runtimeResolved;
|
|
229
|
+
}
|
|
230
|
+
const sourceResolved = await tryResolveSourceConstants(context);
|
|
231
|
+
if (sourceResolved) {
|
|
232
|
+
return sourceResolved;
|
|
233
|
+
}
|
|
234
|
+
const packageJsonResolved = await tryResolvePackageJson(context);
|
|
235
|
+
if (packageJsonResolved) {
|
|
236
|
+
return packageJsonResolved;
|
|
237
|
+
}
|
|
238
|
+
const packageEntryResolved = await tryResolvePackageEntry(context);
|
|
239
|
+
if (packageEntryResolved) {
|
|
240
|
+
return packageEntryResolved;
|
|
241
|
+
}
|
|
242
|
+
if (context.packageFound) {
|
|
243
|
+
return buildInvalidState(COMPANION_PACKAGE_NAME);
|
|
90
244
|
}
|
|
91
245
|
return {
|
|
92
246
|
presence: {
|
|
93
|
-
state: "
|
|
94
|
-
importSpecifier:
|
|
95
|
-
|
|
247
|
+
state: "missing",
|
|
248
|
+
importSpecifier: COMPANION_SOURCE_IMPORT_SPECIFIER,
|
|
249
|
+
error: COMPANION_MISSING_ERROR,
|
|
96
250
|
},
|
|
97
251
|
credentials: {
|
|
98
|
-
state: "
|
|
99
|
-
|
|
100
|
-
clientSecret,
|
|
101
|
-
resolvedPath,
|
|
252
|
+
state: "missing",
|
|
253
|
+
error: COMPANION_MISSING_ERROR,
|
|
102
254
|
},
|
|
103
255
|
};
|
|
104
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-antigravity-companion.js","sourceRoot":"","sources":["../../src/lib/google-antigravity-companion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AAC3D,MAAM,
|
|
1
|
+
{"version":3,"file":"google-antigravity-companion.js","sourceRoot":"","sources":["../../src/lib/google-antigravity-companion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-gemini-cli-companion.d.ts","sourceRoot":"","sources":["../../src/lib/google-gemini-cli-companion.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,0BAA0B,GAClC;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,8BAA8B,GAC9B;IACE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"google-gemini-cli-companion.d.ts","sourceRoot":"","sources":["../../src/lib/google-gemini-cli-companion.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,0BAA0B,GAClC;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEN,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAClC,8BAA8B,GAC9B;IACE,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AA0PN,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAG7F;AAED,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,0BAA0B,CAAC,CAG7F;AAED,wBAAgB,oCAAoC,IAAI,IAAI,CAE3D"}
|
|
@@ -25,6 +25,15 @@ function isModuleNotFoundError(error) {
|
|
|
25
25
|
const message = error instanceof Error ? error.message : "";
|
|
26
26
|
return message.includes("Cannot find module");
|
|
27
27
|
}
|
|
28
|
+
function isPackagePathNotExportedError(error) {
|
|
29
|
+
if (!error || typeof error !== "object") {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return "code" in error && error.code === "ERR_PACKAGE_PATH_NOT_EXPORTED";
|
|
33
|
+
}
|
|
34
|
+
function isFallthroughResolutionError(error) {
|
|
35
|
+
return isModuleNotFoundError(error) || isPackagePathNotExportedError(error);
|
|
36
|
+
}
|
|
28
37
|
function normalizeCredential(value) {
|
|
29
38
|
return typeof value === "string" ? value.trim() : "";
|
|
30
39
|
}
|
|
@@ -36,7 +45,7 @@ function resolveCompanionSpecifier(specifier) {
|
|
|
36
45
|
return require.resolve(specifier);
|
|
37
46
|
}
|
|
38
47
|
catch (error) {
|
|
39
|
-
if (!
|
|
48
|
+
if (!isFallthroughResolutionError(error)) {
|
|
40
49
|
throw error;
|
|
41
50
|
}
|
|
42
51
|
return require.resolve(specifier, { paths: getCompanionResolvePaths() });
|
|
@@ -73,12 +82,17 @@ function buildInvalidState(importSpecifier, resolvedPath) {
|
|
|
73
82
|
};
|
|
74
83
|
}
|
|
75
84
|
function parseSourceCredentials(content) {
|
|
76
|
-
const clientId = content.match(/export\s+const\s+GEMINI_CLIENT_ID\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
|
|
77
|
-
const clientSecret = content.match(/export\s+const\s+GEMINI_CLIENT_SECRET\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
|
|
85
|
+
const clientId = content.match(/(?:export\s+const|const|var)\s+GEMINI_CLIENT_ID\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
|
|
86
|
+
const clientSecret = content.match(/(?:export\s+const|const|var)\s+GEMINI_CLIENT_SECRET\s*=\s*["']([^"']+)["']/)?.[1]?.trim() ?? "";
|
|
78
87
|
return clientId && clientSecret ? { clientId, clientSecret } : null;
|
|
79
88
|
}
|
|
80
89
|
function getRuntimeSourceConstantPaths() {
|
|
81
|
-
return getCompanionResolvePaths().
|
|
90
|
+
return getCompanionResolvePaths().flatMap((cacheDir) => [
|
|
91
|
+
join(cacheDir, "node_modules", COMPANION_PACKAGE_NAME, "src", "constants.ts"),
|
|
92
|
+
join(cacheDir, "node_modules", COMPANION_PACKAGE_NAME, "src", "constants.js"),
|
|
93
|
+
join(cacheDir, "node_modules", COMPANION_PACKAGE_NAME, "dist", "src", "constants.js"),
|
|
94
|
+
join(cacheDir, "node_modules", COMPANION_PACKAGE_NAME, "dist", "index.js"),
|
|
95
|
+
]);
|
|
82
96
|
}
|
|
83
97
|
async function tryReadSourceConstantsPath(resolvedPath) {
|
|
84
98
|
try {
|
|
@@ -104,7 +118,7 @@ async function tryResolveJsConstants(importSpecifier) {
|
|
|
104
118
|
resolvedPath = resolveCompanionSpecifier(importSpecifier);
|
|
105
119
|
}
|
|
106
120
|
catch (error) {
|
|
107
|
-
if (
|
|
121
|
+
if (isFallthroughResolutionError(error)) {
|
|
108
122
|
return null;
|
|
109
123
|
}
|
|
110
124
|
return buildInvalidState(importSpecifier);
|
|
@@ -123,13 +137,23 @@ async function tryResolveJsConstants(importSpecifier) {
|
|
|
123
137
|
}
|
|
124
138
|
return buildConfiguredState({ importSpecifier, resolvedPath, clientId, clientSecret });
|
|
125
139
|
}
|
|
140
|
+
async function tryResolvePackageEntry() {
|
|
141
|
+
try {
|
|
142
|
+
const packageEntryPath = resolveCompanionSpecifier(COMPANION_PACKAGE_NAME);
|
|
143
|
+
const packageEntryResolved = await tryReadSourceConstantsPath(packageEntryPath);
|
|
144
|
+
return packageEntryResolved ?? buildInvalidState(COMPANION_PACKAGE_NAME, packageEntryPath);
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
return isFallthroughResolutionError(error) ? null : buildInvalidState(COMPANION_PACKAGE_NAME);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
126
150
|
async function tryResolveSourceConstants() {
|
|
127
151
|
let resolvedPath;
|
|
128
152
|
try {
|
|
129
153
|
resolvedPath = require.resolve(COMPANION_SOURCE_IMPORT_SPECIFIER);
|
|
130
154
|
}
|
|
131
155
|
catch (error) {
|
|
132
|
-
if (!
|
|
156
|
+
if (!isFallthroughResolutionError(error)) {
|
|
133
157
|
return buildInvalidState(COMPANION_SOURCE_IMPORT_SPECIFIER);
|
|
134
158
|
}
|
|
135
159
|
for (const candidatePath of getRuntimeSourceConstantPaths()) {
|
|
@@ -140,12 +164,23 @@ async function tryResolveSourceConstants() {
|
|
|
140
164
|
}
|
|
141
165
|
try {
|
|
142
166
|
const packageJsonPath = resolveCompanionSpecifier(COMPANION_PACKAGE_JSON_SPECIFIER);
|
|
143
|
-
|
|
167
|
+
const packageRoot = dirname(packageJsonPath);
|
|
168
|
+
for (const candidatePath of [
|
|
169
|
+
join(packageRoot, "src", "constants.ts"),
|
|
170
|
+
join(packageRoot, "dist", "index.js"),
|
|
171
|
+
]) {
|
|
172
|
+
const packageResolved = await tryReadSourceConstantsPath(candidatePath);
|
|
173
|
+
if (packageResolved) {
|
|
174
|
+
return packageResolved;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
resolvedPath = join(packageRoot, "src", "constants.ts");
|
|
144
178
|
}
|
|
145
179
|
catch (packageError) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
180
|
+
if (isFallthroughResolutionError(packageError)) {
|
|
181
|
+
return tryResolvePackageEntry();
|
|
182
|
+
}
|
|
183
|
+
return buildInvalidState(COMPANION_SOURCE_IMPORT_SPECIFIER);
|
|
149
184
|
}
|
|
150
185
|
}
|
|
151
186
|
return ((await tryReadSourceConstantsPath(resolvedPath)) ??
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-gemini-cli-companion.js","sourceRoot":"","sources":["../../src/lib/google-gemini-cli-companion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AACtD,MAAM,8BAA8B,GAAG;IACrC,GAAG,sBAAsB,wBAAwB;IACjD,GAAG,sBAAsB,mBAAmB;CACpC,CAAC;AACX,MAAM,iCAAiC,GAAG,GAAG,sBAAsB,mBAAmB,CAAC;AACvF,MAAM,gCAAgC,GAAG,GAAG,sBAAsB,eAAe,CAAC;AAClF,MAAM,uBAAuB,GAAG,WAAW,sBAAsB,wCAAwC,CAAC;AAC1G,MAAM,uBAAuB,GAAG,aAAa,sBAAsB,0BAA0B,CAAC;AA6C9F,IAAI,6BAA6B,GAA2C,IAAI,CAAC;AAEjF,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,+BAA+B,EAAE,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,yBAAyB,CAAC,SAAiB;IAClD,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"google-gemini-cli-companion.js","sourceRoot":"","sources":["../../src/lib/google-gemini-cli-companion.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/jsonc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonc.d.ts","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jsonc.d.ts","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiD3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAG3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAG3D"}
|
package/dist/lib/jsonc.js
CHANGED
package/dist/lib/jsonc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonc.js","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"jsonc.js","sourceRoot":"","sources":["../../src/lib/jsonc.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAExB,2BAA2B;QAC3B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACrC,cAAc,EAAE,CAAC;gBACjB,CAAC,EAAE,CAAC;YACN,CAAC;YAED,IAAI,cAAc,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,QAAQ,GAAG,IAAI,CAAC;oBAChB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;qBAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBACD,MAAM,IAAI,IAAI,CAAC;gBACf,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,mFAAmF;YACnF,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBACrE,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,IAAI,IAAI,CAAC;QACf,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAgB;IAChE,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,8EAA8E;IAC9E,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC"}
|