@cortexkit/antigravity-auth-core 1.1.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/account-manager.d.ts +325 -0
  2. package/dist/account-manager.d.ts.map +1 -0
  3. package/dist/account-manager.js +1480 -0
  4. package/dist/account-manager.js.map +1 -0
  5. package/dist/account-storage.d.ts +162 -0
  6. package/dist/account-storage.d.ts.map +1 -0
  7. package/dist/account-storage.js +635 -0
  8. package/dist/account-storage.js.map +1 -0
  9. package/dist/account-types.d.ts +155 -0
  10. package/dist/account-types.d.ts.map +1 -0
  11. package/dist/account-types.js +9 -0
  12. package/dist/account-types.js.map +1 -0
  13. package/dist/agy-request-metadata.d.ts +12 -5
  14. package/dist/agy-request-metadata.d.ts.map +1 -1
  15. package/dist/agy-request-metadata.js +64 -38
  16. package/dist/agy-request-metadata.js.map +1 -1
  17. package/dist/agy-transport.d.ts +2 -2
  18. package/dist/agy-transport.d.ts.map +1 -1
  19. package/dist/agy-transport.js +87 -74
  20. package/dist/agy-transport.js.map +1 -1
  21. package/dist/antigravity/oauth.d.ts +3 -2
  22. package/dist/antigravity/oauth.d.ts.map +1 -1
  23. package/dist/antigravity/oauth.js +65 -55
  24. package/dist/antigravity/oauth.js.map +1 -1
  25. package/dist/atomic-write.d.ts +23 -0
  26. package/dist/atomic-write.d.ts.map +1 -0
  27. package/dist/atomic-write.js +47 -0
  28. package/dist/atomic-write.js.map +1 -0
  29. package/dist/auth-types.d.ts +12 -2
  30. package/dist/auth-types.d.ts.map +1 -1
  31. package/dist/auth.d.ts +1 -1
  32. package/dist/auth.d.ts.map +1 -1
  33. package/dist/auth.js +9 -6
  34. package/dist/auth.js.map +1 -1
  35. package/dist/constants.d.ts +19 -12
  36. package/dist/constants.d.ts.map +1 -1
  37. package/dist/constants.js +51 -39
  38. package/dist/constants.js.map +1 -1
  39. package/dist/fetch-timeout.d.ts +26 -0
  40. package/dist/fetch-timeout.d.ts.map +1 -0
  41. package/dist/fetch-timeout.js +43 -0
  42. package/dist/fetch-timeout.js.map +1 -0
  43. package/dist/file-lock.d.ts +79 -0
  44. package/dist/file-lock.d.ts.map +1 -0
  45. package/dist/file-lock.js +438 -0
  46. package/dist/file-lock.js.map +1 -0
  47. package/dist/fingerprint.d.ts +9 -3
  48. package/dist/fingerprint.d.ts.map +1 -1
  49. package/dist/fingerprint.js +28 -20
  50. package/dist/fingerprint.js.map +1 -1
  51. package/dist/index.d.ts +23 -13
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +18 -9
  54. package/dist/index.js.map +1 -1
  55. package/dist/logger.d.ts +1 -1
  56. package/dist/logger.d.ts.map +1 -1
  57. package/dist/logger.js +10 -10
  58. package/dist/logger.js.map +1 -1
  59. package/dist/model-registry.d.ts +5 -5
  60. package/dist/model-registry.d.ts.map +1 -1
  61. package/dist/model-registry.js +119 -107
  62. package/dist/model-registry.js.map +1 -1
  63. package/dist/project.d.ts +4 -1
  64. package/dist/project.d.ts.map +1 -1
  65. package/dist/project.js +84 -31
  66. package/dist/project.js.map +1 -1
  67. package/dist/quota-manager.d.ts +203 -0
  68. package/dist/quota-manager.d.ts.map +1 -0
  69. package/dist/quota-manager.js +718 -0
  70. package/dist/quota-manager.js.map +1 -0
  71. package/dist/quota-types.d.ts +68 -0
  72. package/dist/quota-types.d.ts.map +1 -0
  73. package/dist/quota-types.js +50 -0
  74. package/dist/quota-types.js.map +1 -0
  75. package/dist/rotation.d.ts +175 -0
  76. package/dist/rotation.d.ts.map +1 -0
  77. package/dist/rotation.js +391 -0
  78. package/dist/rotation.js.map +1 -0
  79. package/dist/transform/claude.d.ts +1 -1
  80. package/dist/transform/claude.d.ts.map +1 -1
  81. package/dist/transform/claude.js +63 -41
  82. package/dist/transform/claude.js.map +1 -1
  83. package/dist/transform/cross-model-sanitizer.d.ts +1 -1
  84. package/dist/transform/cross-model-sanitizer.d.ts.map +1 -1
  85. package/dist/transform/cross-model-sanitizer.js +19 -16
  86. package/dist/transform/cross-model-sanitizer.js.map +1 -1
  87. package/dist/transform/gemini.d.ts +1 -1
  88. package/dist/transform/gemini.d.ts.map +1 -1
  89. package/dist/transform/gemini.js +111 -85
  90. package/dist/transform/gemini.js.map +1 -1
  91. package/dist/transform/index.d.ts +9 -9
  92. package/dist/transform/index.d.ts.map +1 -1
  93. package/dist/transform/index.js +6 -6
  94. package/dist/transform/index.js.map +1 -1
  95. package/dist/transform/model-resolver.d.ts +5 -5
  96. package/dist/transform/model-resolver.d.ts.map +1 -1
  97. package/dist/transform/model-resolver.js +97 -75
  98. package/dist/transform/model-resolver.js.map +1 -1
  99. package/dist/transform/types.d.ts +5 -5
  100. package/dist/transform/types.d.ts.map +1 -1
  101. package/dist/version.d.ts +1 -1
  102. package/dist/version.d.ts.map +1 -1
  103. package/dist/version.js +14 -16
  104. package/dist/version.js.map +1 -1
  105. package/package.json +16 -10
@@ -1,10 +1,11 @@
1
- import { generatePKCE } from "@openauthjs/openauth/pkce";
2
- import { ANTIGRAVITY_CLIENT_ID, ANTIGRAVITY_CLIENT_SECRET, ANTIGRAVITY_REDIRECT_URI, ANTIGRAVITY_SCOPES, ANTIGRAVITY_ENDPOINT_FALLBACKS, ANTIGRAVITY_LOAD_ENDPOINTS, GEMINI_CLI_HEADERS, } from "../constants.js";
3
- import { createLogger } from "../logger.js";
4
- import { calculateTokenExpiry } from "../auth.js";
1
+ import { generatePKCE } from '@openauthjs/openauth/pkce';
5
2
  import { fetchWithAgyCliTransport } from "../agy-transport.js";
3
+ import { calculateTokenExpiry } from "../auth.js";
4
+ import { ANTIGRAVITY_CLIENT_ID, ANTIGRAVITY_CLIENT_SECRET, ANTIGRAVITY_ENDPOINT_FALLBACKS, ANTIGRAVITY_LOAD_ENDPOINTS, ANTIGRAVITY_REDIRECT_URI, ANTIGRAVITY_SCOPES, GEMINI_CLI_HEADERS, } from "../constants.js";
5
+ import { fetchWithActiveTimeout } from "../fetch-timeout.js";
6
6
  import { buildAntigravityHarnessBootstrapHeaders, buildAntigravityLoadCodeAssistMetadata, } from "../fingerprint.js";
7
- const log = createLogger("oauth");
7
+ import { createLogger } from "../logger.js";
8
+ const log = createLogger('oauth');
8
9
  /**
9
10
  * Refresh an Antigravity OAuth access token using a bare refresh token.
10
11
  * Harness-agnostic: performs only the token POST and returns the new
@@ -12,19 +13,19 @@ const log = createLogger("oauth");
12
13
  */
13
14
  export async function refreshAntigravityToken(refreshToken) {
14
15
  const startTime = Date.now();
15
- const response = await fetch("https://oauth2.googleapis.com/token", {
16
- method: "POST",
17
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
16
+ const response = await fetchWithActiveTimeout('https://oauth2.googleapis.com/token', {
17
+ method: 'POST',
18
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
18
19
  body: new URLSearchParams({
19
- grant_type: "refresh_token",
20
+ grant_type: 'refresh_token',
20
21
  refresh_token: refreshToken,
21
22
  client_id: ANTIGRAVITY_CLIENT_ID,
22
23
  client_secret: ANTIGRAVITY_CLIENT_SECRET,
23
24
  }),
24
25
  });
25
26
  if (!response.ok) {
26
- const errorText = await response.text().catch(() => "");
27
- throw new Error(`Antigravity token refresh failed (${response.status} ${response.statusText})${errorText ? ` - ${errorText}` : ""}`);
27
+ const errorText = await response.text().catch(() => '');
28
+ throw new Error(`Antigravity token refresh failed (${response.status} ${response.statusText})${errorText ? ` - ${errorText}` : ''}`);
28
29
  }
29
30
  const payload = (await response.json());
30
31
  return {
@@ -37,68 +38,74 @@ export async function refreshAntigravityToken(refreshToken) {
37
38
  * Encode an object into a URL-safe base64 string.
38
39
  */
39
40
  function encodeState(payload) {
40
- return Buffer.from(JSON.stringify(payload), "utf8").toString("base64url");
41
+ return Buffer.from(JSON.stringify(payload), 'utf8').toString('base64url');
41
42
  }
42
43
  /**
43
44
  * Decode an OAuth state parameter back into its structured representation.
44
45
  */
45
46
  function decodeState(state) {
46
- const normalized = state.replace(/-/g, "+").replace(/_/g, "/");
47
- const padded = normalized.padEnd(normalized.length + ((4 - normalized.length % 4) % 4), "=");
48
- const json = Buffer.from(padded, "base64").toString("utf8");
47
+ const normalized = state.replace(/-/g, '+').replace(/_/g, '/');
48
+ const padded = normalized.padEnd(normalized.length + ((4 - (normalized.length % 4)) % 4), '=');
49
+ const json = Buffer.from(padded, 'base64').toString('utf8');
49
50
  const parsed = JSON.parse(json);
50
- if (typeof parsed.verifier !== "string") {
51
- throw new Error("Missing PKCE verifier in state");
51
+ if (typeof parsed.verifier !== 'string') {
52
+ throw new Error('Missing PKCE verifier in state');
52
53
  }
53
54
  return {
54
55
  verifier: parsed.verifier,
55
- projectId: typeof parsed.projectId === "string" ? parsed.projectId : "",
56
+ projectId: typeof parsed.projectId === 'string' ? parsed.projectId : '',
56
57
  };
57
58
  }
58
59
  /**
59
60
  * Build the Antigravity OAuth authorization URL including PKCE and optional project metadata.
60
61
  */
61
- export async function authorizeAntigravity(projectId = "") {
62
+ export async function authorizeAntigravity(projectId = '') {
62
63
  const pkce = (await generatePKCE());
63
- const url = new URL("https://accounts.google.com/o/oauth2/v2/auth");
64
- url.searchParams.set("client_id", ANTIGRAVITY_CLIENT_ID);
65
- url.searchParams.set("response_type", "code");
66
- url.searchParams.set("redirect_uri", ANTIGRAVITY_REDIRECT_URI);
67
- url.searchParams.set("scope", ANTIGRAVITY_SCOPES.join(" "));
68
- url.searchParams.set("code_challenge", pkce.challenge);
69
- url.searchParams.set("code_challenge_method", "S256");
70
- url.searchParams.set("state", encodeState({ verifier: pkce.verifier, projectId: projectId || "" }));
71
- url.searchParams.set("access_type", "offline");
72
- url.searchParams.set("prompt", "consent");
64
+ const url = new URL('https://accounts.google.com/o/oauth2/v2/auth');
65
+ url.searchParams.set('client_id', ANTIGRAVITY_CLIENT_ID);
66
+ url.searchParams.set('response_type', 'code');
67
+ url.searchParams.set('redirect_uri', ANTIGRAVITY_REDIRECT_URI);
68
+ url.searchParams.set('scope', ANTIGRAVITY_SCOPES.join(' '));
69
+ url.searchParams.set('code_challenge', pkce.challenge);
70
+ url.searchParams.set('code_challenge_method', 'S256');
71
+ url.searchParams.set('state', encodeState({ verifier: pkce.verifier, projectId: projectId || '' }));
72
+ url.searchParams.set('access_type', 'offline');
73
+ url.searchParams.set('prompt', 'consent');
73
74
  return {
74
75
  url: url.toString(),
75
76
  verifier: pkce.verifier,
76
- projectId: projectId || "",
77
+ projectId: projectId || '',
77
78
  };
78
79
  }
79
80
  async function fetchProjectID(accessToken) {
80
81
  const errors = [];
81
82
  const loadHeaders = buildAntigravityHarnessBootstrapHeaders(accessToken);
82
- const loadEndpoints = Array.from(new Set([...ANTIGRAVITY_LOAD_ENDPOINTS, ...ANTIGRAVITY_ENDPOINT_FALLBACKS]));
83
+ const loadEndpoints = Array.from(new Set([
84
+ ...ANTIGRAVITY_LOAD_ENDPOINTS,
85
+ ...ANTIGRAVITY_ENDPOINT_FALLBACKS,
86
+ ]));
83
87
  for (const baseEndpoint of loadEndpoints) {
84
88
  try {
85
89
  const url = `${baseEndpoint}/v1internal:loadCodeAssist`;
86
90
  const response = await fetchWithAgyCliTransport(url, {
87
- method: "POST",
91
+ method: 'POST',
88
92
  headers: loadHeaders,
89
- body: JSON.stringify({ metadata: buildAntigravityLoadCodeAssistMetadata() }),
93
+ body: JSON.stringify({
94
+ metadata: buildAntigravityLoadCodeAssistMetadata(),
95
+ }),
90
96
  }, { timeoutMs: 10000 });
91
97
  if (!response.ok) {
92
- const message = await response.text().catch(() => "");
93
- errors.push(`loadCodeAssist ${response.status} at ${baseEndpoint}${message ? `: ${message}` : ""}`);
98
+ const message = await response.text().catch(() => '');
99
+ errors.push(`loadCodeAssist ${response.status} at ${baseEndpoint}${message ? `: ${message}` : ''}`);
94
100
  continue;
95
101
  }
96
102
  const data = await response.json();
97
- if (typeof data.cloudaicompanionProject === "string" && data.cloudaicompanionProject) {
103
+ if (typeof data.cloudaicompanionProject === 'string' &&
104
+ data.cloudaicompanionProject) {
98
105
  return data.cloudaicompanionProject;
99
106
  }
100
107
  if (data.cloudaicompanionProject &&
101
- typeof data.cloudaicompanionProject.id === "string" &&
108
+ typeof data.cloudaicompanionProject.id === 'string' &&
102
109
  data.cloudaicompanionProject.id) {
103
110
  return data.cloudaicompanionProject.id;
104
111
  }
@@ -109,9 +116,11 @@ async function fetchProjectID(accessToken) {
109
116
  }
110
117
  }
111
118
  if (errors.length) {
112
- log.warn("Failed to resolve Antigravity project via loadCodeAssist", { errors: errors.join("; ") });
119
+ log.warn('Failed to resolve Antigravity project via loadCodeAssist', {
120
+ errors: errors.join('; '),
121
+ });
113
122
  }
114
- return "";
123
+ return '';
115
124
  }
116
125
  /**
117
126
  * Exchange an authorization code for Antigravity CLI access and refresh tokens.
@@ -120,32 +129,32 @@ export async function exchangeAntigravity(code, state) {
120
129
  try {
121
130
  const { verifier, projectId } = decodeState(state);
122
131
  const startTime = Date.now();
123
- const tokenResponse = await fetch("https://oauth2.googleapis.com/token", {
124
- method: "POST",
132
+ const tokenResponse = await fetchWithActiveTimeout('https://oauth2.googleapis.com/token', {
133
+ method: 'POST',
125
134
  headers: {
126
- "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
127
- "Accept": "*/*",
128
- "Accept-Encoding": "gzip, deflate, br",
129
- "User-Agent": GEMINI_CLI_HEADERS["User-Agent"],
135
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
136
+ Accept: '*/*',
137
+ 'Accept-Encoding': 'gzip, deflate, br',
138
+ 'User-Agent': GEMINI_CLI_HEADERS['User-Agent'],
130
139
  },
131
140
  body: new URLSearchParams({
132
141
  client_id: ANTIGRAVITY_CLIENT_ID,
133
142
  client_secret: ANTIGRAVITY_CLIENT_SECRET,
134
143
  code,
135
- grant_type: "authorization_code",
144
+ grant_type: 'authorization_code',
136
145
  redirect_uri: ANTIGRAVITY_REDIRECT_URI,
137
146
  code_verifier: verifier,
138
147
  }),
139
148
  });
140
149
  if (!tokenResponse.ok) {
141
150
  const errorText = await tokenResponse.text();
142
- return { type: "failed", error: errorText };
151
+ return { type: 'failed', error: errorText };
143
152
  }
144
153
  const tokenPayload = (await tokenResponse.json());
145
- const userInfoResponse = await fetch("https://www.googleapis.com/oauth2/v1/userinfo?alt=json", {
154
+ const userInfoResponse = await fetchWithActiveTimeout('https://www.googleapis.com/oauth2/v1/userinfo?alt=json', {
146
155
  headers: {
147
156
  Authorization: `Bearer ${tokenPayload.access_token}`,
148
- "User-Agent": GEMINI_CLI_HEADERS["User-Agent"],
157
+ 'User-Agent': GEMINI_CLI_HEADERS['User-Agent'],
149
158
  },
150
159
  });
151
160
  const userInfo = userInfoResponse.ok
@@ -153,26 +162,27 @@ export async function exchangeAntigravity(code, state) {
153
162
  : {};
154
163
  const refreshToken = tokenPayload.refresh_token;
155
164
  if (!refreshToken) {
156
- return { type: "failed", error: "Missing refresh token in response" };
165
+ return { type: 'failed', error: 'Missing refresh token in response' };
157
166
  }
158
167
  let effectiveProjectId = projectId;
159
168
  if (!effectiveProjectId) {
160
169
  effectiveProjectId = await fetchProjectID(tokenPayload.access_token);
161
170
  }
162
- const storedRefresh = `${refreshToken}|${effectiveProjectId || ""}`;
171
+ const storedRefresh = `${refreshToken}|${effectiveProjectId || ''}`;
163
172
  return {
164
- type: "success",
173
+ type: 'success',
165
174
  refresh: storedRefresh,
166
175
  access: tokenPayload.access_token,
167
176
  expires: calculateTokenExpiry(startTime, tokenPayload.expires_in),
168
177
  email: userInfo.email,
169
- projectId: effectiveProjectId || "",
178
+ label: userInfo.name?.trim() || undefined,
179
+ projectId: effectiveProjectId || '',
170
180
  };
171
181
  }
172
182
  catch (error) {
173
183
  return {
174
- type: "failed",
175
- error: error instanceof Error ? error.message : "Unknown error",
184
+ type: 'failed',
185
+ error: error instanceof Error ? error.message : 'Unknown error',
176
186
  };
177
187
  }
178
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/antigravity/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/antigravity/oauth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Atomic JSON file writer.
3
+ *
4
+ * Stages the payload at `${path}.${randomUUID()}.tmp` (same directory as
5
+ * the target so the rename is atomic on POSIX, and uses the same NTFS
6
+ * volume on Windows) and renames onto `path`. The `0o600` mode is enforced
7
+ * on the staged file; on POSIX the rename replaces the target's inode so
8
+ * the new file inherits the staged mode bits. Windows ignores POSIX mode
9
+ * bits and relies on the current user's inherited ACL — we do not attempt
10
+ * to harden ACLs from Node.
11
+ *
12
+ * Failures are deliberately NOT masked by a copy fallback: a blind
13
+ * copy-then-unlink after a failing replace can paper over partial writes
14
+ * and let concurrent writers silently corrupt state. The caller decides
15
+ * whether to retry, surface, or back off.
16
+ */
17
+ /**
18
+ * Atomically serialize `value` as pretty-printed JSON and rename it onto
19
+ * `path`. Throws if any step fails; the staged temp file is removed before
20
+ * rethrow so no `${path}.<uuid>.tmp` is left behind.
21
+ */
22
+ export declare function writeJsonAtomic(path: string, value: unknown): Promise<void>;
23
+ //# sourceMappingURL=atomic-write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-write.d.ts","sourceRoot":"","sources":["../src/atomic-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAsBf"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Atomic JSON file writer.
3
+ *
4
+ * Stages the payload at `${path}.${randomUUID()}.tmp` (same directory as
5
+ * the target so the rename is atomic on POSIX, and uses the same NTFS
6
+ * volume on Windows) and renames onto `path`. The `0o600` mode is enforced
7
+ * on the staged file; on POSIX the rename replaces the target's inode so
8
+ * the new file inherits the staged mode bits. Windows ignores POSIX mode
9
+ * bits and relies on the current user's inherited ACL — we do not attempt
10
+ * to harden ACLs from Node.
11
+ *
12
+ * Failures are deliberately NOT masked by a copy fallback: a blind
13
+ * copy-then-unlink after a failing replace can paper over partial writes
14
+ * and let concurrent writers silently corrupt state. The caller decides
15
+ * whether to retry, surface, or back off.
16
+ */
17
+ import { randomUUID } from 'node:crypto';
18
+ import { mkdir, rename, rm, writeFile } from 'node:fs/promises';
19
+ import { dirname } from 'node:path';
20
+ /**
21
+ * Atomically serialize `value` as pretty-printed JSON and rename it onto
22
+ * `path`. Throws if any step fails; the staged temp file is removed before
23
+ * rethrow so no `${path}.<uuid>.tmp` is left behind.
24
+ */
25
+ export async function writeJsonAtomic(path, value) {
26
+ const serialized = `${JSON.stringify(value, null, 2)}\n`;
27
+ const tempPath = `${path}.${randomUUID()}.tmp`;
28
+ await mkdir(dirname(path), { recursive: true });
29
+ let renamed = false;
30
+ try {
31
+ await writeFile(tempPath, serialized, {
32
+ encoding: 'utf8',
33
+ mode: 0o600,
34
+ });
35
+ await rename(tempPath, path);
36
+ renamed = true;
37
+ }
38
+ finally {
39
+ if (!renamed) {
40
+ // Cleanup the staged temp whether `writeFile` threw after a partial
41
+ // write or `rename` failed. `force: true` makes the call a no-op
42
+ // when the file never landed on disk.
43
+ await rm(tempPath, { force: true }).catch(() => { });
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=atomic-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../src/atomic-write.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAY,EACZ,KAAc;IAEd,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA;IACxD,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,UAAU,EAAE,MAAM,CAAA;IAE9C,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/C,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE;YACpC,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAC5B,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,oEAAoE;YACpE,iEAAiE;YACjE,sCAAsC;YACtC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,11 +1,11 @@
1
1
  export interface OAuthAuthDetails {
2
- type: "oauth";
2
+ type: 'oauth';
3
3
  refresh: string;
4
4
  access?: string;
5
5
  expires?: number;
6
6
  }
7
7
  export interface ApiKeyAuthDetails {
8
- type: "api_key";
8
+ type: 'api_key';
9
9
  key: string;
10
10
  }
11
11
  export interface NonOAuthAuthDetails {
@@ -22,5 +22,15 @@ export interface RefreshParts {
22
22
  export interface ProjectContextResult {
23
23
  auth: OAuthAuthDetails;
24
24
  effectiveProjectId: string;
25
+ /**
26
+ * Plan tier captured from the `loadCodeAssist` payload at project-context
27
+ * resolution time. Present only when the upstream returned a non-empty
28
+ * `currentTier.id`; absent when the payload lacked tier info.
29
+ */
30
+ capturedTier?: {
31
+ id: string;
32
+ paidId?: string;
33
+ capturedAt: number;
34
+ };
25
35
  }
26
36
  //# sourceMappingURL=auth-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../src/auth-types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,mBAAmB,CAAA;AAEpF,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;AAEhD,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;CAC3B"}
1
+ {"version":3,"file":"auth-types.d.ts","sourceRoot":"","sources":["../src/auth-types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,MAAM,WAAW,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,CAAA;AAEvB,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;AAEhD,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CACnE"}
package/dist/auth.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { OAuthAuthDetails, RefreshParts } from "./auth-types.ts";
1
+ import type { OAuthAuthDetails, RefreshParts } from './auth-types.ts';
2
2
  export declare function isOAuthAuth(auth: unknown): auth is OAuthAuthDetails;
3
3
  /**
4
4
  * Splits a packed refresh string into its constituent refresh token and project IDs.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAItE,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,gBAAgB,CAEnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAO/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAKlE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,MAAM,CAO7F"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAIrE,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,gBAAgB,CAOnE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAS/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAKlE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,OAAO,GACxB,MAAM,CAOR"}
package/dist/auth.js CHANGED
@@ -1,12 +1,15 @@
1
1
  const ACCESS_TOKEN_EXPIRY_BUFFER_MS = 60 * 1000;
2
2
  export function isOAuthAuth(auth) {
3
- return typeof auth === "object" && auth !== null && "type" in auth && auth.type === "oauth";
3
+ return (typeof auth === 'object' &&
4
+ auth !== null &&
5
+ 'type' in auth &&
6
+ auth.type === 'oauth');
4
7
  }
5
8
  /**
6
9
  * Splits a packed refresh string into its constituent refresh token and project IDs.
7
10
  */
8
11
  export function parseRefreshParts(refresh) {
9
- const [refreshToken = "", projectId = "", managedProjectId = ""] = (refresh ?? "").split("|");
12
+ const [refreshToken = '', projectId = '', managedProjectId = ''] = (refresh ?? '').split('|');
10
13
  return {
11
14
  refreshToken,
12
15
  projectId: projectId || undefined,
@@ -17,7 +20,7 @@ export function parseRefreshParts(refresh) {
17
20
  * Serializes refresh token parts into the stored string format.
18
21
  */
19
22
  export function formatRefreshParts(parts) {
20
- const projectSegment = parts.projectId ?? "";
23
+ const projectSegment = parts.projectId ?? '';
21
24
  const base = `${parts.refreshToken}|${projectSegment}`;
22
25
  return parts.managedProjectId ? `${base}|${parts.managedProjectId}` : base;
23
26
  }
@@ -25,7 +28,7 @@ export function formatRefreshParts(parts) {
25
28
  * Determines whether an access token is expired or missing, with buffer for clock skew.
26
29
  */
27
30
  export function accessTokenExpired(auth) {
28
- if (!auth.access || typeof auth.expires !== "number") {
31
+ if (!auth.access || typeof auth.expires !== 'number') {
29
32
  return true;
30
33
  }
31
34
  return auth.expires <= Date.now() + ACCESS_TOKEN_EXPIRY_BUFFER_MS;
@@ -36,9 +39,9 @@ export function accessTokenExpired(auth) {
36
39
  * @param expiresInSeconds The duration returned by the server
37
40
  */
38
41
  export function calculateTokenExpiry(requestTimeMs, expiresInSeconds) {
39
- const seconds = typeof expiresInSeconds === "number" ? expiresInSeconds : 3600;
42
+ const seconds = typeof expiresInSeconds === 'number' ? expiresInSeconds : 3600;
40
43
  // Safety check for bad data - if it's not a positive number, treat as immediately expired
41
- if (isNaN(seconds) || seconds <= 0) {
44
+ if (Number.isNaN(seconds) || seconds <= 0) {
42
45
  return requestTimeMs;
43
46
  }
44
47
  return requestTimeMs + seconds * 1000;
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,CAAC,YAAY,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,gBAAgB,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9F,OAAO;QACL,YAAY;QACZ,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;KAChD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;IACvD,OAAO,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,6BAA6B,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAAqB,EAAE,gBAAyB;IACnF,MAAM,OAAO,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,0FAA0F;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,OAAO,aAAa,GAAG,OAAO,GAAG,IAAI,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAEA,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,CAAA;AAE/C,MAAM,UAAU,WAAW,CAAC,IAAa;IACvC,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACd,IAAI,CAAC,IAAI,KAAK,OAAO,CACtB,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,CAAC,YAAY,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,gBAAgB,GAAG,EAAE,CAAC,GAAG,CACjE,OAAO,IAAI,EAAE,CACd,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACZ,OAAO;QACL,YAAY;QACZ,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;KAChD,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAA;IAC5C,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,YAAY,IAAI,cAAc,EAAE,CAAA;IACtD,OAAO,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAsB;IACvD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,6BAA6B,CAAA;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,aAAqB,EACrB,gBAAyB;IAEzB,MAAM,OAAO,GAAG,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9E,0FAA0F;IAC1F,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,OAAO,aAAa,GAAG,OAAO,GAAG,IAAI,CAAA;AACvC,CAAC"}
@@ -16,7 +16,7 @@ export declare const ANTIGRAVITY_SCOPES: readonly string[];
16
16
  export declare const ANTIGRAVITY_REDIRECT_URI = "http://localhost:51121/oauth-callback";
17
17
  /**
18
18
  * Root endpoints for the Antigravity API (in fallback order).
19
- * Live agy CLI 1.1.5 traffic uses daily-cloudcode-pa.googleapis.com.
19
+ * Live agy CLI 1.1.6 traffic uses daily-cloudcode-pa.googleapis.com.
20
20
  */
21
21
  export declare const ANTIGRAVITY_ENDPOINT_DAILY = "https://daily-cloudcode-pa.googleapis.com";
22
22
  export declare const ANTIGRAVITY_ENDPOINT_AUTOPUSH = "https://autopush-cloudcode-pa.sandbox.googleapis.com";
@@ -53,16 +53,23 @@ export declare function getAntigravityVersion(): string;
53
53
  * Subsequent calls are silently ignored to prevent accidental mutation.
54
54
  */
55
55
  export declare function setAntigravityVersion(version: string): void;
56
+ /**
57
+ * Test-only: reset the version lock so `setAntigravityVersion` can run again.
58
+ * Bun has no Vitest-style module reset hook, and module state lives in this
59
+ * singleton — tests that exercise the lock need a way to start clean per
60
+ * scenario.
61
+ */
62
+ export declare function __resetAntigravityVersionForTesting(): void;
56
63
  /** @deprecated Use getAntigravityVersion() for runtime access. */
57
64
  export declare const ANTIGRAVITY_VERSION = "1.18.3";
58
65
  export declare function getAntigravityHeaders(): HeaderSet & {
59
- "Client-Metadata": string;
66
+ 'Client-Metadata': string;
60
67
  };
61
68
  /** @deprecated Use getAntigravityHeaders() for runtime access. */
62
69
  export declare const ANTIGRAVITY_HEADERS: {
63
- readonly "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/1.18.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36";
64
- readonly "X-Goog-Api-Client": "google-cloud-sdk vscode_cloudshelleditor/0.1";
65
- readonly "Client-Metadata": "{\"ideType\":\"ANTIGRAVITY\",\"platform\":\"WINDOWS\",\"pluginType\":\"GEMINI\"}" | "{\"ideType\":\"ANTIGRAVITY\",\"platform\":\"MACOS\",\"pluginType\":\"GEMINI\"}";
70
+ readonly 'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/1.18.3 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36";
71
+ readonly 'X-Goog-Api-Client': "google-cloud-sdk vscode_cloudshelleditor/0.1";
72
+ readonly 'Client-Metadata': "{\"ideType\":\"ANTIGRAVITY\",\"platform\":\"WINDOWS\",\"pluginType\":\"GEMINI\"}" | "{\"ideType\":\"ANTIGRAVITY\",\"platform\":\"MACOS\",\"pluginType\":\"GEMINI\"}";
66
73
  };
67
74
  export declare const GEMINI_CLI_VERSION = "1.0.0";
68
75
  /**
@@ -78,17 +85,17 @@ export declare const GEMINI_CLI_DEFAULT_MODEL = "gemini-2.5-pro";
78
85
  export declare function buildGeminiCliUserAgent(model?: string): string;
79
86
  /** @deprecated Use buildGeminiCliUserAgent() for runtime access. */
80
87
  export declare const GEMINI_CLI_HEADERS: {
81
- readonly "User-Agent": "google-api-nodejs-client/9.15.1";
82
- readonly "X-Goog-Api-Client": "gl-node/22.17.0";
83
- readonly "Client-Metadata": "ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI";
88
+ readonly 'User-Agent': "google-api-nodejs-client/9.15.1";
89
+ readonly 'X-Goog-Api-Client': "gl-node/22.17.0";
90
+ readonly 'Client-Metadata': "ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI";
84
91
  };
85
92
  export type HeaderSet = {
86
- "User-Agent": string;
87
- "X-Goog-Api-Client"?: string;
88
- "Client-Metadata"?: string;
93
+ 'User-Agent': string;
94
+ 'X-Goog-Api-Client'?: string;
95
+ 'Client-Metadata'?: string;
89
96
  };
90
97
  export declare function getRandomizedHeaders(style: HeaderStyle, model?: string): HeaderSet;
91
- export type HeaderStyle = "antigravity" | "gemini-cli";
98
+ export type HeaderStyle = 'antigravity' | 'gemini-cli';
92
99
  /**
93
100
  * Provider identifier shared between the plugin loader and credential store.
94
101
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,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;;;GAGG;AACH,eAAO,MAAM,0BAA0B,8CAA8C,CAAC;AACtF,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AACpG,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,+FAGjC,CAAC;AACX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+FAG7B,CAAC;AACX;;GAEG;AACH,eAAO,MAAM,oBAAoB,8CAA6B,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;AACX,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,CAWlF;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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,qBAAqB,8EAC2C,CAAA;AAE7E;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAA;AAE9E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAA;AAE/E;;;GAGG;AACH,eAAO,MAAM,0BAA0B,8CACM,CAAA;AAC7C,eAAO,MAAM,6BAA6B,yDACc,CAAA;AACxD,eAAO,MAAM,yBAAyB,wCAAwC,CAAA;AAE9E;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,+FAGjC,CAAA;AACV;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+FAG7B,CAAA;AACV;;GAEG;AACH,eAAO,MAAM,oBAAoB,8CAA6B,CAAA;AAE9D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wCAA4B,CAAA;AAE5D;;GAEG;AACH,eAAO,MAAM,8BAA8B,sBAAsB,CAAA;AAEjE,eAAO,MAAM,4BAA4B,WAAW,CAAA;AAIpD,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,IAAI,IAAI,CAG1D;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,WAA+B,CAAA;AAE/D,wBAAgB,qBAAqB,IAAI,SAAS,GAAG;IACnD,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAMA;AAED,kEAAkE;AAClE,eAAO,MAAM,mBAAmB;;;;CAItB,CAAA;AAEV,eAAO,MAAM,kBAAkB,UAAU,CAAA;AAEzC;;GAEG;AACH,eAAO,MAAM,wBAAwB,mBAAmB,CAAA;AAExD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,oEAAoE;AACpE,eAAO,MAAM,kBAAkB;;;;CAKrB,CAAA;AACV,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE,MAAM,GACb,SAAS,CAWX;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAA;AAM/C;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,4zBAWiD,CAAA;AAE5F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,kDAAwC,CAAA;AAE9E,eAAO,MAAM,6BAA6B,iBAAiB,CAAA;AAC3D,eAAO,MAAM,oCAAoC,mCACf,CAAA;AAElC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,qCAAqC,CAAA;AAMxE;;;GAGG;AACH,eAAO,MAAM,YAAY,qBAAqB,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAA;AAEhD;;GAEG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAA;AAEtC;;GAEG;AACH,eAAO,MAAM,yBAAyB,qlBAYY,CAAA"}