opencode-antigravity-auth 1.6.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +36 -12
  2. package/dist/index.d.ts +10 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/antigravity/oauth.d.ts.map +1 -1
  7. package/dist/src/antigravity/oauth.js +25 -29
  8. package/dist/src/antigravity/oauth.js.map +1 -1
  9. package/dist/src/constants.d.ts +53 -25
  10. package/dist/src/constants.d.ts.map +1 -1
  11. package/dist/src/constants.js +66 -47
  12. package/dist/src/constants.js.map +1 -1
  13. package/dist/src/hooks/auto-update-checker/cache.js +1 -1
  14. package/dist/src/hooks/auto-update-checker/checker.d.ts +1 -1
  15. package/dist/src/hooks/auto-update-checker/checker.js +2 -2
  16. package/dist/src/hooks/auto-update-checker/index.d.ts +4 -4
  17. package/dist/src/hooks/auto-update-checker/index.js +6 -6
  18. package/dist/src/hooks/auto-update-checker/logging.js +1 -1
  19. package/dist/src/plugin/accounts.d.ts +8 -8
  20. package/dist/src/plugin/accounts.d.ts.map +1 -1
  21. package/dist/src/plugin/accounts.js +13 -7
  22. package/dist/src/plugin/accounts.js.map +1 -1
  23. package/dist/src/plugin/auth.d.ts +1 -1
  24. package/dist/src/plugin/cache/index.d.ts +1 -1
  25. package/dist/src/plugin/cache/index.js +1 -1
  26. package/dist/src/plugin/cache/signature-cache.d.ts +1 -1
  27. package/dist/src/plugin/cache/signature-cache.js +1 -1
  28. package/dist/src/plugin/cache.d.ts +7 -5
  29. package/dist/src/plugin/cache.d.ts.map +1 -1
  30. package/dist/src/plugin/cache.js +20 -3
  31. package/dist/src/plugin/cache.js.map +1 -1
  32. package/dist/src/plugin/cli.d.ts +3 -3
  33. package/dist/src/plugin/cli.js +3 -3
  34. package/dist/src/plugin/config/index.d.ts +2 -2
  35. package/dist/src/plugin/config/index.js +2 -2
  36. package/dist/src/plugin/config/loader.d.ts +1 -1
  37. package/dist/src/plugin/config/loader.js +2 -2
  38. package/dist/src/plugin/config/models-v2.d.ts +36 -0
  39. package/dist/src/plugin/config/models-v2.d.ts.map +1 -0
  40. package/dist/src/plugin/config/models-v2.js +51 -0
  41. package/dist/src/plugin/config/models-v2.js.map +1 -0
  42. package/dist/src/plugin/config/models.d.ts +1 -1
  43. package/dist/src/plugin/config/updater.d.ts +16 -3
  44. package/dist/src/plugin/config/updater.d.ts.map +1 -1
  45. package/dist/src/plugin/config/updater.js +53 -10
  46. package/dist/src/plugin/config/updater.js.map +1 -1
  47. package/dist/src/plugin/core/streaming/index.d.ts +2 -2
  48. package/dist/src/plugin/core/streaming/index.js +2 -2
  49. package/dist/src/plugin/core/streaming/transformer.d.ts +1 -1
  50. package/dist/src/plugin/core/streaming/transformer.js +1 -1
  51. package/dist/src/plugin/debug.d.ts +1 -1
  52. package/dist/src/plugin/debug.js +2 -2
  53. package/dist/src/plugin/fingerprint.d.ts +8 -5
  54. package/dist/src/plugin/fingerprint.d.ts.map +1 -1
  55. package/dist/src/plugin/fingerprint.js +23 -41
  56. package/dist/src/plugin/fingerprint.js.map +1 -1
  57. package/dist/src/plugin/logger.d.ts +1 -1
  58. package/dist/src/plugin/logger.js +2 -2
  59. package/dist/src/plugin/project.d.ts +4 -4
  60. package/dist/src/plugin/project.d.ts.map +1 -1
  61. package/dist/src/plugin/project.js +95 -94
  62. package/dist/src/plugin/project.js.map +1 -1
  63. package/dist/src/plugin/quota.d.ts +2 -2
  64. package/dist/src/plugin/quota.d.ts.map +1 -1
  65. package/dist/src/plugin/quota.js +12 -8
  66. package/dist/src/plugin/quota.js.map +1 -1
  67. package/dist/src/plugin/recovery/index.d.ts +3 -3
  68. package/dist/src/plugin/recovery/index.js +3 -3
  69. package/dist/src/plugin/recovery/storage.d.ts +1 -1
  70. package/dist/src/plugin/recovery/storage.js +1 -1
  71. package/dist/src/plugin/recovery.d.ts +3 -3
  72. package/dist/src/plugin/recovery.js +3 -3
  73. package/dist/src/plugin/refresh-queue.d.ts +2 -2
  74. package/dist/src/plugin/refresh-queue.js +2 -2
  75. package/dist/src/plugin/request-helpers.d.ts +1 -1
  76. package/dist/src/plugin/request-helpers.js +5 -5
  77. package/dist/src/plugin/request.d.ts +9 -6
  78. package/dist/src/plugin/request.d.ts.map +1 -1
  79. package/dist/src/plugin/request.js +23 -23
  80. package/dist/src/plugin/request.js.map +1 -1
  81. package/dist/src/plugin/search.js +7 -7
  82. package/dist/src/plugin/search.js.map +1 -1
  83. package/dist/src/plugin/server.js +1 -1
  84. package/dist/src/plugin/storage.d.ts +3 -3
  85. package/dist/src/plugin/storage.d.ts.map +1 -1
  86. package/dist/src/plugin/storage.js +56 -67
  87. package/dist/src/plugin/storage.js.map +1 -1
  88. package/dist/src/plugin/stores/signature-store.d.ts +1 -1
  89. package/dist/src/plugin/token.d.ts +1 -1
  90. package/dist/src/plugin/token.js +5 -5
  91. package/dist/src/plugin/transform/claude.d.ts +1 -1
  92. package/dist/src/plugin/transform/claude.js +1 -1
  93. package/dist/src/plugin/transform/cross-model-sanitizer.js +2 -2
  94. package/dist/src/plugin/transform/gemini.d.ts +1 -1
  95. package/dist/src/plugin/transform/index.d.ts +9 -9
  96. package/dist/src/plugin/transform/index.js +4 -4
  97. package/dist/src/plugin/transform/model-resolver.d.ts +12 -1
  98. package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
  99. package/dist/src/plugin/transform/model-resolver.js +26 -4
  100. package/dist/src/plugin/transform/model-resolver.js.map +1 -1
  101. package/dist/src/plugin/transform/types.d.ts +1 -1
  102. package/dist/src/plugin/types.d.ts +26 -2
  103. package/dist/src/plugin/types.d.ts.map +1 -1
  104. package/dist/src/plugin/ui/auth-menu.d.ts +1 -1
  105. package/dist/src/plugin/ui/auth-menu.js +4 -4
  106. package/dist/src/plugin/ui/confirm.js +1 -1
  107. package/dist/src/plugin/ui/select.js +1 -1
  108. package/dist/src/plugin/version.d.ts +35 -6
  109. package/dist/src/plugin/version.d.ts.map +1 -1
  110. package/dist/src/plugin/version.js +138 -42
  111. package/dist/src/plugin/version.js.map +1 -1
  112. package/dist/src/plugin.d.ts +11 -7
  113. package/dist/src/plugin.d.ts.map +1 -1
  114. package/dist/src/plugin.js +89 -54
  115. package/dist/src/plugin.js.map +1 -1
  116. package/dist/src/v2.d.ts +4 -0
  117. package/dist/src/v2.d.ts.map +1 -0
  118. package/dist/src/v2.js +391 -0
  119. package/dist/src/v2.js.map +1 -0
  120. package/index.js +4 -0
  121. package/package.json +15 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-v2.js","sourceRoot":"","sources":["../../../../src/plugin/config/models-v2.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ProviderModel } from "../types";
1
+ import type { ProviderModel } from "../types.js";
2
2
  export type ModelThinkingLevel = "minimal" | "low" | "medium" | "high";
3
3
  export interface ModelThinkingConfig {
4
4
  thinkingBudget: number;
@@ -8,9 +8,18 @@ export interface UpdateConfigResult {
8
8
  configPath: string;
9
9
  error?: string;
10
10
  }
11
+ type PluginEntry = string | {
12
+ package: string;
13
+ options?: Record<string, unknown>;
14
+ };
15
+ type LegacyPluginEntry = PluginEntry | [string, Record<string, unknown>];
11
16
  export interface OpencodeConfig {
12
17
  $schema?: string;
13
- plugin?: string[];
18
+ plugin?: LegacyPluginEntry[];
19
+ plugins?: PluginEntry[];
20
+ providers?: Record<string, Record<string, unknown> & {
21
+ models?: Record<string, unknown>;
22
+ }>;
14
23
  provider?: {
15
24
  google?: {
16
25
  models?: Record<string, unknown>;
@@ -23,6 +32,8 @@ export interface OpencodeConfig {
23
32
  export interface UpdateConfigOptions {
24
33
  /** Override the config file path (for testing) */
25
34
  configPath?: string;
35
+ /** V1 remains available for callers using the legacy entrypoint. */
36
+ version?: 1 | 2;
26
37
  }
27
38
  /**
28
39
  * Get the opencode config directory path.
@@ -40,16 +51,18 @@ export declare function getOpencodeConfigPath(): string;
40
51
  *
41
52
  * This function:
42
53
  * 1. Reads existing opencode.json/opencode.jsonc (or creates default structure)
43
- * 2. Replaces `provider.google.models` with plugin models
54
+ * 2. Ensures a plugin entry; V1 also writes its model definitions
44
55
  * 3. Writes back to disk with proper formatting
45
56
  *
46
57
  * Preserves:
47
58
  * - $schema and other top-level config keys
48
59
  * - Non-google provider sections
49
- * - Other settings within google provider (except models)
60
+ * - Other settings within google provider (V1 replaces models)
61
+ * - All provider objects in V2, whose catalog is registered at runtime
50
62
  *
51
63
  * @param options - Optional configuration (e.g., custom configPath for testing)
52
64
  * @returns UpdateConfigResult with success status and path
53
65
  */
54
66
  export declare function updateOpencodeConfig(options?: UpdateConfigOptions): Promise<UpdateConfigResult>;
67
+ export {};
55
68
  //# sourceMappingURL=updater.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE;YACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;QACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAoBD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAa9C;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAoE7B"}
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/updater.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,WAAW,GAAG,MAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AACnF,KAAK,iBAAiB,GAAG,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAwBzE,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAC3F,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE;YACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;SACxB,CAAC;QACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB;AAoBD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAa9C;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAoF7B"}
@@ -4,9 +4,33 @@
4
4
  * Updates ~/.config/opencode/opencode.json(c) with plugin models.
5
5
  */
6
6
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
7
- import { join, dirname } from "node:path";
7
+ import { join, dirname, isAbsolute, resolve } from "node:path";
8
8
  import { homedir } from "node:os";
9
- import { OPENCODE_MODEL_DEFINITIONS } from "./models";
9
+ import { fileURLToPath } from "node:url";
10
+ import { OPENCODE_MODEL_DEFINITIONS } from "./models.js";
11
+ function pluginPackage(entry) {
12
+ return typeof entry === "string" ? entry : Array.isArray(entry) ? entry[0] : entry.package;
13
+ }
14
+ function isAntigravityEntry(entry, configPath) {
15
+ const name = pluginPackage(entry).replace(/^-/, "");
16
+ if (name === "opencode-antigravity-auth" || name.startsWith("opencode-antigravity-auth@"))
17
+ return true;
18
+ const path = name.startsWith("file:") ? fileURLToPath(name)
19
+ : isAbsolute(name) || name.startsWith(".") ? resolve(dirname(configPath), name) : undefined;
20
+ if (!path)
21
+ return false;
22
+ const manifest = join(path, "package.json");
23
+ if (existsSync(manifest)) {
24
+ try {
25
+ return JSON.parse(readFileSync(manifest, "utf8")).name === "opencode-antigravity-auth";
26
+ }
27
+ catch {
28
+ // An unrelated checkout's malformed manifest must not block config writes.
29
+ return false;
30
+ }
31
+ }
32
+ return path.includes("opencode-antigravity-auth");
33
+ }
10
34
  // =============================================================================
11
35
  // Constants
12
36
  // =============================================================================
@@ -23,6 +47,8 @@ function stripJsonCommentsAndTrailingCommas(json) {
23
47
  * Get the opencode config directory path.
24
48
  */
25
49
  export function getOpencodeConfigDir() {
50
+ if (process.env.OPENCODE_CONFIG_DIR)
51
+ return process.env.OPENCODE_CONFIG_DIR;
26
52
  const xdgConfig = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
27
53
  return join(xdgConfig, "opencode");
28
54
  }
@@ -52,13 +78,14 @@ export function getOpencodeConfigPath() {
52
78
  *
53
79
  * This function:
54
80
  * 1. Reads existing opencode.json/opencode.jsonc (or creates default structure)
55
- * 2. Replaces `provider.google.models` with plugin models
81
+ * 2. Ensures a plugin entry; V1 also writes its model definitions
56
82
  * 3. Writes back to disk with proper formatting
57
83
  *
58
84
  * Preserves:
59
85
  * - $schema and other top-level config keys
60
86
  * - Non-google provider sections
61
- * - Other settings within google provider (except models)
87
+ * - Other settings within google provider (V1 replaces models)
88
+ * - All provider objects in V2, whose catalog is registered at runtime
62
89
  *
63
90
  * @param options - Optional configuration (e.g., custom configPath for testing)
64
91
  * @returns UpdateConfigResult with success status and path
@@ -74,22 +101,38 @@ export async function updateOpencodeConfig(options = {}) {
74
101
  }
75
102
  else {
76
103
  // Create default config structure
77
- config = {
78
- $schema: SCHEMA_URL,
79
- plugin: [],
80
- provider: {},
81
- };
104
+ config = options.version === 2
105
+ ? { $schema: SCHEMA_URL, plugins: [] }
106
+ : { $schema: SCHEMA_URL, plugin: [], provider: {} };
82
107
  }
83
108
  // Ensure $schema is set
84
109
  if (!config.$schema) {
85
110
  config.$schema = SCHEMA_URL;
86
111
  }
112
+ if (options.version === 2) {
113
+ const legacyPlugins = Array.isArray(config.plugin) ? config.plugin : [];
114
+ // Ordered enable/disable entries can repeat intentionally in V2.
115
+ config.plugins = [
116
+ ...legacyPlugins.map((entry) => Array.isArray(entry) ? { package: entry[0], options: entry[1] } : entry),
117
+ ...(config.plugins ?? []),
118
+ ];
119
+ delete config.plugin;
120
+ const hasPlugin = config.plugins.some((entry) => isAntigravityEntry(entry, configPath));
121
+ if (!hasPlugin)
122
+ config.plugins.push(PLUGIN_NAME);
123
+ // V2 contributes its catalog at runtime. Let Core migrate legacy provider
124
+ // objects: creating providers.google here would take precedence over the
125
+ // entire legacy Google provider and hide its settings and custom models.
126
+ mkdirSync(dirname(configPath), { recursive: true });
127
+ writeFileSync(configPath, JSON.stringify(config, null, 2), "utf-8");
128
+ return { success: true, configPath };
129
+ }
87
130
  // Ensure plugin array exists and contains our plugin
88
131
  if (!Array.isArray(config.plugin)) {
89
132
  config.plugin = [];
90
133
  }
91
134
  // Check if plugin is already in the list (any version)
92
- const hasPlugin = config.plugin.some((p) => p.includes("opencode-antigravity-auth"));
135
+ const hasPlugin = config.plugin.some((p) => pluginPackage(p).includes("opencode-antigravity-auth"));
93
136
  if (!hasPlugin) {
94
137
  config.plugin.push(PLUGIN_NAME);
95
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../../../src/plugin/config/updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../../../src/plugin/config/updater.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export * from './types';
2
- export * from './transformer';
1
+ export * from './types.js';
2
+ export * from './transformer.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,3 +1,3 @@
1
- export * from './types';
2
- export * from './transformer';
1
+ export * from './types.js';
2
+ export * from './transformer.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import type { SignatureStore, StreamingCallbacks, StreamingOptions, ThoughtBuffer } from './types';
1
+ import type { SignatureStore, StreamingCallbacks, StreamingOptions, ThoughtBuffer } from './types.js';
2
2
  export declare function createThoughtBuffer(): ThoughtBuffer;
3
3
  export declare function transformStreamingPayload(payload: string, transformThinkingParts?: (response: unknown) => unknown): string;
4
4
  export declare function deduplicateThinkingText(response: unknown, sentBuffer: ThoughtBuffer, displayedThinkingHashes?: Set<string>): unknown;
@@ -1,4 +1,4 @@
1
- import { processImageData } from '../../image-saver';
1
+ import { processImageData } from '../../image-saver.js';
2
2
  /**
3
3
  * Simple string hash for thinking deduplication.
4
4
  * Uses DJB2-like algorithm.
@@ -1,4 +1,4 @@
1
- import type { AntigravityConfig } from "./config";
1
+ import type { AntigravityConfig } from "./config/index.js";
2
2
  export declare const DEBUG_MESSAGE_PREFIX = "[opencode-antigravity-auth debug]";
3
3
  /**
4
4
  * Initialize or reinitialize debug state with the given config.
@@ -2,8 +2,8 @@ import { createWriteStream, mkdirSync, readdirSync, statSync, unlinkSync } from
2
2
  import { join } from "node:path";
3
3
  import { env } from "node:process";
4
4
  import { homedir } from "node:os";
5
- import { deriveDebugPolicy, formatAccountContextLabel, formatAccountLabel, formatBodyPreviewForLog, formatErrorForLog, isTruthyFlag, truncateTextForLog, } from "./logging-utils";
6
- import { ensureGitignoreSync } from "./storage";
5
+ import { deriveDebugPolicy, formatAccountContextLabel, formatAccountLabel, formatBodyPreviewForLog, formatErrorForLog, isTruthyFlag, truncateTextForLog, } from "./logging-utils.js";
6
+ import { ensureGitignoreSync } from "./storage.js";
7
7
  const MAX_BODY_PREVIEW_CHARS = 12000;
8
8
  const MAX_BODY_LOG_CHARS = 50000;
9
9
  export const DEBUG_MESSAGE_PREFIX = "[opencode-antigravity-auth debug]";
@@ -38,23 +38,26 @@ export interface FingerprintHeaders {
38
38
  }
39
39
  /**
40
40
  * Generate a randomized device fingerprint.
41
- * Each fingerprint represents a unique "device" identity.
41
+ * Each fingerprint represents a unique "device" identity. The userAgent is the
42
+ * shared Hub User-Agent because Cloud Code ties it to the release and build CL.
42
43
  */
43
44
  export declare function generateFingerprint(): Fingerprint;
44
45
  /**
45
46
  * Collect fingerprint based on actual current system.
46
- * Uses real OS info instead of randomized values.
47
+ * Uses real OS info for stored metadata; the userAgent is still the Hub User-Agent.
47
48
  */
48
49
  export declare function collectCurrentFingerprint(): Fingerprint;
49
50
  /**
50
- * Update the version in a fingerprint's userAgent to match the current runtime version.
51
- * Called after version fetcher resolves so saved fingerprints always carry the latest version.
51
+ * Migrate a fingerprint's userAgent to the current Hub User-Agent.
52
+ * Saved fingerprints may carry a legacy `antigravity/<version> <os>/<arch>` agent or
53
+ * an older Hub release. Requests never send the stored value; this keeps storage in sync.
52
54
  * Returns true if the userAgent was changed.
53
55
  */
54
56
  export declare function updateFingerprintVersion(fingerprint: Fingerprint): boolean;
55
57
  /**
56
58
  * Build HTTP headers from a fingerprint object.
57
- * These headers are used to identify the "device" making API requests.
59
+ * The User-Agent is resolved at call time from the current Hub version, so a stale
60
+ * stored fingerprint userAgent is never sent.
58
61
  */
59
62
  export declare function buildFingerprintHeaders(fingerprint: Fingerprint | null): Partial<FingerprintHeaders>;
60
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../../src/plugin/fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA8BH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;CAChD;AAED,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAcD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAsBjD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,CAqBvD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAW1E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQpG;AAQD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAKnD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,WAAW,CAG1D"}
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../../src/plugin/fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;CAChD;AAED,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;CACtB;AAkBD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAajD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,CAavD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAQ1E;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQpG;AAQD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAKnD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,WAAW,CAG1D"}
@@ -9,31 +9,23 @@
9
9
  */
10
10
  import * as crypto from "node:crypto";
11
11
  import * as os from "node:os";
12
- import { getAntigravityVersion } from "../constants";
13
- const OS_VERSIONS = {
14
- darwin: ["10.15.7", "11.6.8", "12.6.3", "13.5.2", "14.2.1", "14.5"],
15
- win32: ["10.0.19041", "10.0.19042", "10.0.19043", "10.0.22000", "10.0.22621", "10.0.22631"],
16
- linux: ["5.15.0", "5.19.0", "6.1.0", "6.2.0", "6.5.0", "6.6.0"],
17
- };
18
- const ARCHITECTURES = ["x64", "arm64"];
19
- const IDE_TYPES = [
20
- "ANTIGRAVITY",
21
- ];
22
- const PLATFORMS = [
23
- "WINDOWS",
24
- "MACOS",
25
- ];
12
+ import { getAntigravityUserAgent } from "../constants.js";
26
13
  const SDK_CLIENTS = [
27
14
  "google-cloud-sdk vscode_cloudshelleditor/0.1",
28
15
  "google-cloud-sdk vscode/1.86.0",
29
16
  "google-cloud-sdk vscode/1.87.0",
30
17
  "google-cloud-sdk vscode/1.96.0",
31
18
  ];
19
+ /** Matches the Hub User-Agent, which always reports the darwin/arm64 manifest build. */
20
+ const HUB_METADATA_PLATFORM = "MACOS";
32
21
  /** Maximum number of fingerprint versions to keep per account */
33
22
  export const MAX_FINGERPRINT_HISTORY = 5;
34
23
  function randomFrom(arr) {
35
24
  return arr[Math.floor(Math.random() * arr.length)];
36
25
  }
26
+ function platformToDisplayName(platform) {
27
+ return platform === "win32" ? "WINDOWS" : "MACOS";
28
+ }
37
29
  function generateDeviceId() {
38
30
  return crypto.randomUUID();
39
31
  }
@@ -42,23 +34,18 @@ function generateSessionToken() {
42
34
  }
43
35
  /**
44
36
  * Generate a randomized device fingerprint.
45
- * Each fingerprint represents a unique "device" identity.
37
+ * Each fingerprint represents a unique "device" identity. The userAgent is the
38
+ * shared Hub User-Agent because Cloud Code ties it to the release and build CL.
46
39
  */
47
40
  export function generateFingerprint() {
48
- const platform = randomFrom(["darwin", "win32"]);
49
- const arch = randomFrom(ARCHITECTURES);
50
- const osVersion = randomFrom(OS_VERSIONS[platform] ?? OS_VERSIONS.darwin);
51
- const matchingPlatform = platform === "win32"
52
- ? "WINDOWS"
53
- : "MACOS";
54
41
  return {
55
42
  deviceId: generateDeviceId(),
56
43
  sessionToken: generateSessionToken(),
57
- userAgent: `antigravity/${getAntigravityVersion()} ${platform}/${arch}`,
44
+ userAgent: getAntigravityUserAgent(),
58
45
  apiClient: randomFrom(SDK_CLIENTS),
59
46
  clientMetadata: {
60
- ideType: randomFrom(IDE_TYPES),
61
- platform: matchingPlatform,
47
+ ideType: "ANTIGRAVITY",
48
+ platform: HUB_METADATA_PLATFORM,
62
49
  pluginType: "GEMINI",
63
50
  },
64
51
  createdAt: Date.now(),
@@ -66,52 +53,47 @@ export function generateFingerprint() {
66
53
  }
67
54
  /**
68
55
  * Collect fingerprint based on actual current system.
69
- * Uses real OS info instead of randomized values.
56
+ * Uses real OS info for stored metadata; the userAgent is still the Hub User-Agent.
70
57
  */
71
58
  export function collectCurrentFingerprint() {
72
- const platform = os.platform();
73
- const arch = os.arch();
74
- const matchingPlatform = platform === "win32"
75
- ? "WINDOWS"
76
- : "MACOS";
77
59
  return {
78
60
  deviceId: generateDeviceId(),
79
61
  sessionToken: generateSessionToken(),
80
- userAgent: `antigravity/${getAntigravityVersion()} ${platform}/${arch}`,
62
+ userAgent: getAntigravityUserAgent(),
81
63
  apiClient: "google-cloud-sdk vscode_cloudshelleditor/0.1",
82
64
  clientMetadata: {
83
65
  ideType: "ANTIGRAVITY",
84
- platform: matchingPlatform,
66
+ platform: platformToDisplayName(os.platform()),
85
67
  pluginType: "GEMINI",
86
68
  },
87
69
  createdAt: Date.now(),
88
70
  };
89
71
  }
90
72
  /**
91
- * Update the version in a fingerprint's userAgent to match the current runtime version.
92
- * Called after version fetcher resolves so saved fingerprints always carry the latest version.
73
+ * Migrate a fingerprint's userAgent to the current Hub User-Agent.
74
+ * Saved fingerprints may carry a legacy `antigravity/<version> <os>/<arch>` agent or
75
+ * an older Hub release. Requests never send the stored value; this keeps storage in sync.
93
76
  * Returns true if the userAgent was changed.
94
77
  */
95
78
  export function updateFingerprintVersion(fingerprint) {
96
- const currentVersion = getAntigravityVersion();
97
- const versionPattern = /^(antigravity\/)([\d.]+)/;
98
- const match = fingerprint.userAgent.match(versionPattern);
99
- if (!match || match[2] === currentVersion) {
79
+ const currentUserAgent = getAntigravityUserAgent();
80
+ if (fingerprint.userAgent === currentUserAgent) {
100
81
  return false;
101
82
  }
102
- fingerprint.userAgent = fingerprint.userAgent.replace(versionPattern, `$1${currentVersion}`);
83
+ fingerprint.userAgent = currentUserAgent;
103
84
  return true;
104
85
  }
105
86
  /**
106
87
  * Build HTTP headers from a fingerprint object.
107
- * These headers are used to identify the "device" making API requests.
88
+ * The User-Agent is resolved at call time from the current Hub version, so a stale
89
+ * stored fingerprint userAgent is never sent.
108
90
  */
109
91
  export function buildFingerprintHeaders(fingerprint) {
110
92
  if (!fingerprint) {
111
93
  return {};
112
94
  }
113
95
  return {
114
- "User-Agent": fingerprint.userAgent,
96
+ "User-Agent": getAntigravityUserAgent(),
115
97
  };
116
98
  }
117
99
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../../src/plugin/fingerprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../../../src/plugin/fingerprint.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * - either sink can be enabled independently
8
8
  * - OPENCODE_ANTIGRAVITY_CONSOLE_LOG=1 → console output (independent of debug flags)
9
9
  */
10
- import type { PluginClient } from "./types";
10
+ import type { PluginClient } from "./types.js";
11
11
  export interface Logger {
12
12
  debug(message: string, extra?: Record<string, unknown>): void;
13
13
  info(message: string, extra?: Record<string, unknown>): void;
@@ -7,8 +7,8 @@
7
7
  * - either sink can be enabled independently
8
8
  * - OPENCODE_ANTIGRAVITY_CONSOLE_LOG=1 → console output (independent of debug flags)
9
9
  */
10
- import { isDebugTuiEnabled } from "./debug";
11
- import { isTruthyFlag, writeConsoleLog, } from "./logging-utils";
10
+ import { isDebugTuiEnabled } from "./debug.js";
11
+ import { isTruthyFlag, writeConsoleLog, } from "./logging-utils.js";
12
12
  const ENV_CONSOLE_LOG = "OPENCODE_ANTIGRAVITY_CONSOLE_LOG";
13
13
  let _client = null;
14
14
  /**
@@ -1,4 +1,4 @@
1
- import type { OAuthAuthDetails, ProjectContextResult } from "./types";
1
+ import type { OAuthAuthDetails, ProjectContextResult } from "./types.js";
2
2
  interface AntigravityUserTier {
3
3
  id?: string;
4
4
  isDefault?: boolean;
@@ -18,11 +18,11 @@ interface LoadCodeAssistPayload {
18
18
  */
19
19
  export declare function invalidateProjectContextCache(refresh?: string): void;
20
20
  /**
21
- * Loads managed project information for the given access token and optional project.
21
+ * Loads managed project information for the given access token from the Antigravity host.
22
22
  */
23
- export declare function loadManagedProject(accessToken: string, projectId?: string): Promise<LoadCodeAssistPayload | null>;
23
+ export declare function loadManagedProject(accessToken: string): Promise<LoadCodeAssistPayload | null>;
24
24
  /**
25
- * Onboards a managed project for the user, optionally retrying until completion.
25
+ * Onboards a managed project for the user, polling until the operation completes.
26
26
  */
27
27
  export declare function onboardManagedProject(accessToken: string, tierId: string, projectId?: string, attempts?: number, delayMs?: number): Promise<string | undefined>;
28
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/plugin/project.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAatE,UAAU,mBAAmB;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,UAAU,qBAAqB;IAC7B,uBAAuB,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,WAAW,CAAC,EAAE;QACZ,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACtC;AAuED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAQpE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAuCvC;AAGD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,SAAK,EACb,OAAO,SAAO,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6C7B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+FhG"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../src/plugin/project.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAmBtE,UAAU,mBAAmB;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,UAAU,qBAAqB;IAC7B,uBAAuB,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,WAAW,CAAC,EAAE;QACZ,EAAE,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACtC;AA6ED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAQpE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CA0BnG;AAGD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,SAAK,EACb,OAAO,SAAO,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4C7B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+FhG"}