@wenathlan/devthink 2.0.14 → 2.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/{dist/bridge.d.ts → bridge.d.ts} +1 -1
  3. package/bridge.d.ts.map +1 -0
  4. package/bridge.js +1877 -0
  5. package/bun.d.ts.map +1 -0
  6. package/bun.js +52329 -0
  7. package/caps/background.json +712 -0
  8. package/caps/cli.json +360 -0
  9. package/caps/library.json +3611 -0
  10. package/caps/mcp.json +126 -0
  11. package/caps/pagebridge.json +377 -0
  12. package/caps/popup.json +51 -0
  13. package/caps/sidepanel.json +522 -0
  14. package/checksums.txt +142 -0
  15. package/cli.d.ts.map +1 -0
  16. package/{dist/cli.js → cli.js} +2 -2
  17. package/companion.d.ts.map +1 -0
  18. package/companion.js +389 -0
  19. package/crossbrowser.d.ts.map +1 -0
  20. package/crossbrowser.js +1191 -0
  21. package/dashdone.d.ts.map +1 -0
  22. package/dashdone.js +368 -0
  23. package/deno.d.ts.map +1 -0
  24. package/deno.js +52325 -0
  25. package/devthink.umd.js +52346 -0
  26. package/fixtures/bun.ts +7 -0
  27. package/fixtures/cjs.js +6 -0
  28. package/fixtures/deno.ts +6 -0
  29. package/fixtures/example-org-pagestate.json +22 -0
  30. package/fixtures/importers/automa-workflow.json +18 -0
  31. package/fixtures/importers/selenium-side.json +20 -0
  32. package/fixtures/importers/tabular-plan.csv +7 -0
  33. package/fixtures/importers/uivision-macro.json +10 -0
  34. package/fixtures/importers/v1-plan.json +13 -0
  35. package/fixtures/mcp-client.mjs +14 -0
  36. package/fixtures/pages/checkout.html +192 -0
  37. package/fixtures/pages/dashboard.html +110 -0
  38. package/fixtures/pages/feed.html +113 -0
  39. package/fixtures/pages/product-grid.html +150 -0
  40. package/fixtures/plans/form-inventory-plan.json +11 -0
  41. package/fixtures/plans/release-notes-plan.json +11 -0
  42. package/fixtures/recipes/agentscompete.json +11 -0
  43. package/fixtures/recipes/agentsforms.json +11 -0
  44. package/fixtures/recipes/agentsmonitor.json +11 -0
  45. package/fixtures/recipes/agentsreview.json +29 -0
  46. package/fixtures/recipes/agentswarm.json +11 -0
  47. package/fixtures/recipes/fillcalendar.json +12 -0
  48. package/fixtures/recipes/fillcheckout.json +13 -0
  49. package/fixtures/recipes/filldependentdropdowns.json +12 -0
  50. package/fixtures/recipes/fillfromcsv.json +13 -0
  51. package/fixtures/recipes/fillloginform.json +12 -0
  52. package/fixtures/recipes/fillmultistepwizard.json +13 -0
  53. package/fixtures/recipes/fillregistration.json +12 -0
  54. package/fixtures/recipes/fillsearchfilters.json +12 -0
  55. package/fixtures/recipes/filltypeahead.json +11 -0
  56. package/fixtures/recipes/monitoralerts.json +12 -0
  57. package/fixtures/recipes/monitoravailability.json +11 -0
  58. package/fixtures/recipes/monitornetworkquiet.json +12 -0
  59. package/fixtures/recipes/monitorpagechanges.json +11 -0
  60. package/fixtures/recipes/monitorpricechange.json +11 -0
  61. package/fixtures/recipes/monitorschedule.json +12 -0
  62. package/fixtures/recipes/scrapedynamicprices.json +13 -0
  63. package/fixtures/recipes/scrapeimagegallery.json +12 -0
  64. package/fixtures/recipes/scrapeinfinitefeed.json +13 -0
  65. package/fixtures/recipes/scrapenestedlists.json +12 -0
  66. package/fixtures/recipes/scrapeproductgrid.json +12 -0
  67. package/fixtures/recipes/scrapereviews.json +12 -0
  68. package/fixtures/recipes/scrapesearchresults.json +12 -0
  69. package/fixtures/recipes/scrapetablepagination.json +12 -0
  70. package/fixtures/recipes/testaccessibility.json +34 -0
  71. package/fixtures/recipes/testconsoleerrors.json +12 -0
  72. package/fixtures/recipes/testdeeplinks.json +12 -0
  73. package/fixtures/recipes/testformvalidation.json +13 -0
  74. package/fixtures/recipes/testlayoutshift.json +12 -0
  75. package/fixtures/recipes/testlinkcheck.json +12 -0
  76. package/fixtures/recipes/testloadtiming.json +12 -0
  77. package/fixtures/recipes/testvisualdiff.json +12 -0
  78. package/fixtures/workflows/changelog-digest-workflow.json +13 -0
  79. package/fixtures/workflows/form-survey-workflow.json +13 -0
  80. package/gallery.json +706 -0
  81. package/hardening.d.ts.map +1 -0
  82. package/hardening.js +188 -0
  83. package/headless.d.ts.map +1 -0
  84. package/headless.js +11522 -0
  85. package/http.d.ts.map +1 -0
  86. package/http.js +2165 -0
  87. package/index.cjs +54682 -0
  88. package/index.d.ts.map +1 -0
  89. package/index.js +52310 -0
  90. package/index.neutral.js +46343 -0
  91. package/{web/manifest.json → manifest.json} +1 -1
  92. package/mcp.d.ts.map +1 -0
  93. package/mcp.js +20515 -0
  94. package/memory.d.ts.map +1 -0
  95. package/{memory.ts → memory.js} +2310 -3834
  96. package/nativehost.template.json +10 -0
  97. package/node.cjs +54686 -0
  98. package/node.d.ts.map +1 -0
  99. package/pack.d.ts.map +1 -0
  100. package/pack.js +805 -0
  101. package/package.json +83 -176
  102. package/policy.d.ts.map +1 -0
  103. package/{policy.ts → policy.js} +4679 -5073
  104. package/progress.d.ts.map +1 -0
  105. package/progress.js +645 -0
  106. package/protocol.d.ts.map +1 -0
  107. package/protocol.js +8334 -0
  108. package/schemas/audit.schema.json +226 -0
  109. package/schemas/capability.schema.json +113 -0
  110. package/schemas/envelope.schema.json +162 -0
  111. package/schemas/memory.schema.json +51 -0
  112. package/schemas/observation.schema.json +113 -0
  113. package/schemas/plan.schema.json +208 -0
  114. package/schemas/progress.schema.json +126 -0
  115. package/schemas/proposal.schema.json +68 -0
  116. package/schemas/session.schema.json +82 -0
  117. package/schemas/tool.schema.json +94 -0
  118. package/server.d.ts.map +1 -0
  119. package/server.js +28877 -0
  120. package/umd-example.html +18 -0
  121. package/umd.d.ts.map +1 -0
  122. package/accounts.ts +0 -2087
  123. package/agent.ts +0 -2331
  124. package/antigravity.ts +0 -2139
  125. package/apifreeze.ts +0 -4146
  126. package/auth.ts +0 -642
  127. package/background.ts +0 -16837
  128. package/bridge.ts +0 -2080
  129. package/build.ts +0 -54
  130. package/bun.ts +0 -26
  131. package/capture.ts +0 -1614
  132. package/checksecrets.ts +0 -72
  133. package/cjs.ts +0 -9
  134. package/cli.ts +0 -3500
  135. package/commands.ts +0 -1101
  136. package/companion.ts +0 -450
  137. package/compatibility.ts +0 -37
  138. package/config.ts +0 -3137
  139. package/constants.ts +0 -943
  140. package/core.ts +0 -1473
  141. package/crossbrowser.ts +0 -1359
  142. package/dashdone.ts +0 -605
  143. package/data.ts +0 -943
  144. package/database.ts +0 -133
  145. package/debug.ts +0 -850
  146. package/deno.ts +0 -27
  147. package/devthink.ts +0 -707
  148. package/dist/accounts.d.ts +0 -409
  149. package/dist/agent.d.ts +0 -837
  150. package/dist/antigravity.d.ts +0 -380
  151. package/dist/apifreeze.d.ts +0 -113
  152. package/dist/auth.d.ts +0 -224
  153. package/dist/capture.d.ts +0 -595
  154. package/dist/cjs.d.ts +0 -6
  155. package/dist/commands.d.ts +0 -310
  156. package/dist/compatibility.d.ts +0 -17
  157. package/dist/config.d.ts +0 -1853
  158. package/dist/constants.d.ts +0 -637
  159. package/dist/core.d.ts +0 -361
  160. package/dist/data.d.ts +0 -330
  161. package/dist/database.d.ts +0 -24
  162. package/dist/debug.d.ts +0 -270
  163. package/dist/engine.d.ts +0 -74
  164. package/dist/environments.d.ts +0 -244
  165. package/dist/evidence.d.ts +0 -277
  166. package/dist/export.d.ts +0 -311
  167. package/dist/fingerprint.d.ts +0 -594
  168. package/dist/flow.d.ts +0 -300
  169. package/dist/gates.d.ts +0 -103
  170. package/dist/identity.d.ts +0 -51
  171. package/dist/ids.d.ts +0 -7
  172. package/dist/llm.d.ts +0 -652
  173. package/dist/models.d.ts +0 -1807
  174. package/dist/net.d.ts +0 -325
  175. package/dist/neutral.d.ts +0 -41
  176. package/dist/oauth.d.ts +0 -703
  177. package/dist/page.d.ts +0 -1166
  178. package/dist/perf.d.ts +0 -481
  179. package/dist/plan.d.ts +0 -134
  180. package/dist/project.d.ts +0 -395
  181. package/dist/providers.d.ts +0 -37
  182. package/dist/quota.d.ts +0 -453
  183. package/dist/recovery.d.ts +0 -621
  184. package/dist/request.d.ts +0 -1492
  185. package/dist/run.d.ts +0 -779
  186. package/dist/runtime.d.ts +0 -212
  187. package/dist/search.d.ts +0 -375
  188. package/dist/security.d.ts +0 -534
  189. package/dist/serve.d.ts +0 -136
  190. package/dist/session.d.ts +0 -296
  191. package/dist/storage.d.ts +0 -53
  192. package/dist/streaming.d.ts +0 -1119
  193. package/dist/swarm.d.ts +0 -328
  194. package/dist/tools.d.ts +0 -170
  195. package/dist/types.d.ts +0 -8357
  196. package/dist/utils.d.ts +0 -82
  197. package/dist/version.d.ts +0 -7
  198. package/dist/versionregistry.d.ts +0 -406
  199. package/dist/views.d.ts +0 -579
  200. package/dist/workbenchsession.d.ts +0 -69
  201. package/dist/workflow.d.ts +0 -649
  202. package/docs/readme.md +0 -92
  203. package/docs/schemas/antigravity.json +0 -192
  204. package/engine.ts +0 -1524
  205. package/environments.ts +0 -1005
  206. package/evidence.ts +0 -643
  207. package/export.ts +0 -889
  208. package/fingerprint.ts +0 -1458
  209. package/flow.ts +0 -1190
  210. package/gates.ts +0 -307
  211. package/gateway.ts +0 -34
  212. package/hardening.ts +0 -191
  213. package/headless.ts +0 -369
  214. package/http.ts +0 -2110
  215. package/identity.ts +0 -246
  216. package/ids.ts +0 -26
  217. package/index.ts +0 -369
  218. package/llm.ts +0 -2682
  219. package/mcp.ts +0 -1835
  220. package/models.ts +0 -3805
  221. package/modes.ts +0 -43
  222. package/net.ts +0 -1214
  223. package/neutral.ts +0 -362
  224. package/node.ts +0 -26
  225. package/oauth.ts +0 -2216
  226. package/offscreen.ts +0 -170
  227. package/pack.ts +0 -956
  228. package/page.ts +0 -7824
  229. package/pagebridge.ts +0 -1116
  230. package/perf.ts +0 -957
  231. package/plan.ts +0 -672
  232. package/plugin.ts +0 -76
  233. package/prisma.config.ts +0 -27
  234. package/progress.ts +0 -1308
  235. package/project.ts +0 -1291
  236. package/protocol.ts +0 -4187
  237. package/providers.ts +0 -246
  238. package/quota.ts +0 -1887
  239. package/recovery.ts +0 -2433
  240. package/request.ts +0 -4482
  241. package/run.ts +0 -2135
  242. package/runtime.ts +0 -526
  243. package/search.ts +0 -1760
  244. package/security.ts +0 -1673
  245. package/serve.ts +0 -419
  246. package/server.ts +0 -5538
  247. package/session.ts +0 -1162
  248. package/storage.ts +0 -182
  249. package/streaming.ts +0 -4101
  250. package/swarm.ts +0 -884
  251. package/sync.ts +0 -56
  252. package/tests/agentcert.test.ts +0 -128
  253. package/tests/agentfleet.test.ts +0 -214
  254. package/tests/agentreview.test.ts +0 -241
  255. package/tests/agentstream.test.ts +0 -335
  256. package/tests/agentwork.test.ts +0 -356
  257. package/tests/apifreeze.test.ts +0 -290
  258. package/tests/apimap.test.ts +0 -112
  259. package/tests/approvalgate.test.ts +0 -175
  260. package/tests/artifactmanifest.test.ts +0 -204
  261. package/tests/attentionfeed.test.ts +0 -163
  262. package/tests/backgroundruns.test.ts +0 -100
  263. package/tests/batchscheduling.test.ts +0 -131
  264. package/tests/blackboard.test.ts +0 -238
  265. package/tests/bridge.test.ts +0 -1088
  266. package/tests/browsercoverage.test.ts +0 -134
  267. package/tests/browserpolyfills.test.ts +0 -124
  268. package/tests/build.mjs +0 -1260
  269. package/tests/clientauth.test.ts +0 -223
  270. package/tests/clitools.test.ts +0 -578
  271. package/tests/confirmgates.test.ts +0 -190
  272. package/tests/containerpack.test.ts +0 -143
  273. package/tests/controlflow.test.ts +0 -2120
  274. package/tests/coordination.test.ts +0 -345
  275. package/tests/copyscreen.test.ts +0 -139
  276. package/tests/core.test.ts +0 -417
  277. package/tests/costcert.test.ts +0 -95
  278. package/tests/crossbrowser.test.ts +0 -115
  279. package/tests/cspaudit.test.ts +0 -79
  280. package/tests/dashdone.test.ts +0 -615
  281. package/tests/datagrid.test.ts +0 -137
  282. package/tests/doccheck.test.ts +0 -107
  283. package/tests/dombatch.test.ts +0 -109
  284. package/tests/emulation.test.ts +0 -282
  285. package/tests/environments.test.ts +0 -259
  286. package/tests/evidenceviews.test.ts +0 -88
  287. package/tests/exporttools.test.ts +0 -185
  288. package/tests/firefoxprep.test.ts +0 -134
  289. package/tests/flowlibrary.test.ts +0 -242
  290. package/tests/flowrun.test.ts +0 -303
  291. package/tests/forensics.test.ts +0 -439
  292. package/tests/gateway.test.ts +0 -939
  293. package/tests/headlesslib.test.ts +0 -171
  294. package/tests/httpstream.test.ts +0 -277
  295. package/tests/immutablelog.test.ts +0 -157
  296. package/tests/inboundguard.test.ts +0 -177
  297. package/tests/lazyload.test.ts +0 -72
  298. package/tests/librarymodes.test.ts +0 -623
  299. package/tests/llm.test.ts +0 -696
  300. package/tests/manifest.test.ts +0 -226
  301. package/tests/maskinputs.test.ts +0 -150
  302. package/tests/matrixverify.test.ts +0 -111
  303. package/tests/mavenpack.test.ts +0 -75
  304. package/tests/mcpserver.test.ts +0 -704
  305. package/tests/memory.test.ts +0 -4155
  306. package/tests/memorycare.test.ts +0 -230
  307. package/tests/migrateplan.test.ts +0 -349
  308. package/tests/minimization.test.ts +0 -414
  309. package/tests/modelroute.test.ts +0 -112
  310. package/tests/multiagent.test.ts +0 -440
  311. package/tests/nativebridge.test.ts +0 -807
  312. package/tests/navigation.test.ts +0 -284
  313. package/tests/nugetpack.test.ts +0 -83
  314. package/tests/orchestration.test.ts +0 -449
  315. package/tests/originpolicy.test.ts +0 -405
  316. package/tests/outputcompare.test.ts +0 -97
  317. package/tests/package.test.ts +0 -91
  318. package/tests/pagebridge.test.ts +0 -5909
  319. package/tests/pentest.test.ts +0 -75
  320. package/tests/perfrecords.test.ts +0 -257
  321. package/tests/permdiff.test.ts +0 -85
  322. package/tests/phishguard.test.ts +0 -128
  323. package/tests/pickerviews.test.ts +0 -155
  324. package/tests/pipelines.test.ts +0 -381
  325. package/tests/planlint.test.ts +0 -240
  326. package/tests/planreview.test.ts +0 -383
  327. package/tests/platformtargets.test.ts +0 -56
  328. package/tests/policy.test.ts +0 -8284
  329. package/tests/portability.test.ts +0 -96
  330. package/tests/progress.test.ts +0 -1036
  331. package/tests/promptlibrary.test.ts +0 -116
  332. package/tests/protocol.test.ts +0 -4793
  333. package/tests/publishingpipeline.test.ts +0 -314
  334. package/tests/quickactions.test.ts +0 -164
  335. package/tests/readiness.test.ts +0 -78
  336. package/tests/recipes.test.ts +0 -163
  337. package/tests/redactshots.test.ts +0 -216
  338. package/tests/registernvidiakeys.ts +0 -51
  339. package/tests/relayserve.test.ts +0 -304
  340. package/tests/releasenotes.test.ts +0 -276
  341. package/tests/resilience.test.ts +0 -467
  342. package/tests/resourceaware.test.ts +0 -187
  343. package/tests/runbudget.test.ts +0 -125
  344. package/tests/runhistory.test.ts +0 -299
  345. package/tests/runreplay.test.ts +0 -113
  346. package/tests/runresume.test.ts +0 -184
  347. package/tests/runstate.test.ts +0 -288
  348. package/tests/runtimeadapters.test.ts +0 -251
  349. package/tests/safariskeleton.test.ts +0 -115
  350. package/tests/sandboxframe.test.ts +0 -196
  351. package/tests/sbom.test.ts +0 -105
  352. package/tests/secretvault.test.ts +0 -188
  353. package/tests/selcache.test.ts +0 -111
  354. package/tests/sessioninterface.test.ts +0 -791
  355. package/tests/sessions.test.ts +0 -591
  356. package/tests/siteprefs.test.ts +0 -228
  357. package/tests/snapshotdelta.test.ts +0 -165
  358. package/tests/statusviews.test.ts +0 -237
  359. package/tests/stepmeter.test.ts +0 -200
  360. package/tests/streamparse.test.ts +0 -163
  361. package/tests/stylepruning.test.ts +0 -90
  362. package/tests/surfaces.test.ts +0 -282
  363. package/tests/sweep.test.ts +0 -78
  364. package/tests/syncbridge.test.ts +0 -164
  365. package/tests/taskqueue.test.ts +0 -206
  366. package/tests/toolcalls.test.ts +0 -336
  367. package/tests/toolcatalog.test.ts +0 -201
  368. package/tests/torture-agent.test.ts +0 -706
  369. package/tests/torture-auth.test.ts +0 -461
  370. package/tests/torture-commands.test.ts +0 -895
  371. package/tests/torture-data.test.ts +0 -923
  372. package/tests/torture-environments.test.ts +0 -285
  373. package/tests/torture-export.test.ts +0 -263
  374. package/tests/torture-http.test.ts +0 -1379
  375. package/tests/torture-llm.test.ts +0 -808
  376. package/tests/torture-memory.test.ts +0 -1084
  377. package/tests/torture-plan.test.ts +0 -829
  378. package/tests/torture-run.test.ts +0 -626
  379. package/tests/torture-session.test.ts +0 -928
  380. package/tests/torture-swarm.test.ts +0 -1245
  381. package/tests/torture-tools.test.ts +0 -964
  382. package/tests/torture-workflow.test.ts +0 -2354
  383. package/tests/tourviews.test.ts +0 -52
  384. package/tests/transparency.test.ts +0 -147
  385. package/tests/trigger.test.ts +0 -941
  386. package/tests/v1sunset.test.ts +0 -428
  387. package/tests/virtlist.test.ts +0 -94
  388. package/tests/vision.test.ts +0 -540
  389. package/tests/vsixpack.test.ts +0 -145
  390. package/tests/webapi.test.ts +0 -523
  391. package/tests/workflow.test.ts +0 -1785
  392. package/tests/workfloweditor.test.ts +0 -759
  393. package/tests/xpipack.test.ts +0 -128
  394. package/tools.ts +0 -734
  395. package/types.ts +0 -9908
  396. package/umd.ts +0 -9
  397. package/utils.ts +0 -249
  398. package/version.ts +0 -8
  399. package/versionregistry.ts +0 -1310
  400. package/views.ts +0 -2153
  401. package/vitest.config.ts +0 -12
  402. package/web/App.tsx +0 -78
  403. package/web/README.md +0 -47
  404. package/web/capacitor.config.ts +0 -46
  405. package/web/const.ts +0 -19
  406. package/web/control.shell.tsx +0 -66
  407. package/web/dashboardpage.ts +0 -554
  408. package/web/db.ts +0 -493
  409. package/web/design.html +0 -541
  410. package/web/gatewayview/Gateway.tsx +0 -345
  411. package/web/gatewayview/config.ts +0 -1042
  412. package/web/gatewayview/definition.ts +0 -174
  413. package/web/icons.ts +0 -15
  414. package/web/optionspage.ts +0 -691
  415. package/web/popup.ts +0 -1651
  416. package/web/schema.prisma +0 -176
  417. package/web/sidepanel.ts +0 -7941
  418. package/web/sitemanifest.json +0 -13
  419. package/web/terminal-ui.tsx +0 -622
  420. package/web/transparencypage.ts +0 -541
  421. package/web/vite.config.ts +0 -39
  422. package/web/workspace.ts +0 -23
  423. package/workbenchmemory.ts +0 -104
  424. package/workbenchsession.ts +0 -304
  425. package/workflow.ts +0 -4495
  426. /package/{dist/bun.d.ts → bun.d.ts} +0 -0
  427. /package/{dist/cli.d.ts → cli.d.ts} +0 -0
  428. /package/{dist/companion.d.ts → companion.d.ts} +0 -0
  429. /package/{dist/crossbrowser.d.ts → crossbrowser.d.ts} +0 -0
  430. /package/{dist/dashdone.d.ts → dashdone.d.ts} +0 -0
  431. /package/{dist/deno.d.ts → deno.d.ts} +0 -0
  432. /package/{dist/hardening.d.ts → hardening.d.ts} +0 -0
  433. /package/{dist/headless.d.ts → headless.d.ts} +0 -0
  434. /package/{dist/http.d.ts → http.d.ts} +0 -0
  435. /package/{dist/index.d.ts → index.d.ts} +0 -0
  436. /package/{dist/mcp.d.ts → mcp.d.ts} +0 -0
  437. /package/{dist/memory.d.ts → memory.d.ts} +0 -0
  438. /package/{dist/node.d.ts → node.d.ts} +0 -0
  439. /package/{dist/pack.d.ts → pack.d.ts} +0 -0
  440. /package/{dist/policy.d.ts → policy.d.ts} +0 -0
  441. /package/{dist/progress.d.ts → progress.d.ts} +0 -0
  442. /package/{dist/protocol.d.ts → protocol.d.ts} +0 -0
  443. /package/{dist/server.d.ts → server.d.ts} +0 -0
  444. /package/{dist/umd.d.ts → umd.d.ts} +0 -0
@@ -1,594 +0,0 @@
1
- /**
2
- * @file fingerprint.ts
3
- * @module provider/fingerprint
4
- * @description
5
- * Anti-detection fingerprint generator mimicking Gemini CLI / Antigravity
6
- * traffic against cloudcode-pa.googleapis.com (merged superset of the two
7
- * prior variants).
8
- *
9
- * v2.1.15 Phase B: this module is THE single owner of identity masquerade —
10
- * it absorbed getDynamicUserAgent (+Async), fetchRemoteAntigravityVersion,
11
- * normalizePlatform/normalizeArch, getXGoogApiClient + X_GOOG_API_CLIENT (+
12
- * the accurately split X_GOOG_API_CLIENT_GEMINI_CLI snapshot),
13
- * buildClientMetadata, buildGeminiUserAgent, ua/apiClient (auth lineage),
14
- * getRandomPlatformString, getGeminiCLIHeaders(WithOptions),
15
- * getAntigravityHeaders(WithOptions), buildAntagravityHeaders (canonical of
16
- * the five plugin/project/quota/search/models variants) and the hex/limit
17
- * utility re-exports from core.js. Raw values stay in constants.ts; generic
18
- * utilities live in core.js.
19
- *
20
- * Merged responsibilities:
21
- * - OAuth constants, endpoints, 2026 model list
22
- * - Weighted coherent platform pools (win32/x64, linux/x64, darwin/arm64)
23
- * plus a keyed PLATFORM_POOLS record with Go-style amd64 naming
24
- * - Deterministic FNV-1a hashing for session_id / user_prompt_id
25
- * - Jitter 0-80ms anti-rate-limit (sync value + async sleep + instance API)
26
- * - Gemini CLI style User-Agent with google-api-nodejs-client pairing
27
- * - Antigravity style User-Agent (`antigravity/{version} {os}/{arch}`)
28
- * - X-Goog-Api-Client generation (simplified and full chains)
29
- * - Client-Metadata (fixed IDE_UNSPECIFIED form and structured JSON form)
30
- * - Unified FingerprintGenerator constructor accepting BOTH option shapes:
31
- * new FingerprintGenerator({ directory, allowExtendedPlatforms, ... })
32
- * new FingerprintGenerator("1.19.2" | "antigravity/1.19.2 darwin/arm64")
33
- * - defaultFingerprintGenerator singleton + getFingerprintHeaders() wrapper
34
- *
35
- * Runtime constraint: only node:* builtins + global fetch/Headers.
36
- *
37
- * @license MIT
38
- */
39
- import { ANTIGRAVITY_CLI_VERSION_POOL, ANTIGRAVITY_VERSION_FALLBACK, CLOUDCODE_BASE_URL, FINGERPRINT_IDE_TYPES, FINGERPRINT_PLATFORMS, FINGERPRINT_PLUGIN_TYPES, GEMINI_CLI_OAUTH_CLIENT_ID as OAUTH_CLIENT_ID, GEMINI_CLI_OAUTH_CLIENT_SECRET as OAUTH_CLIENT_SECRET, GEMINI_CLI_VERSION_POOL, GL_NODE_VERSION_POOL, PLATFORM_POOL, PROJECT_FALLBACK } from "./constants.js";
40
- import type { AntigravityVersion, SupportedArch, SupportedPlatform } from "./constants.js";
41
- export { ANTIGRAVITY_VERSION_FALLBACK, OAUTH_CLIENT_ID, OAUTH_CLIENT_SECRET, PROJECT_FALLBACK };
42
- /** Scopes required by the Gemini CLI auth flow. */
43
- /** Base URL for the Cloud Code API (imported from constants.js — canonical owner since v2.1.15 Phase B). */
44
- export { CLOUDCODE_BASE_URL };
45
- export type { AntigravityVersion, SupportedArch, SupportedPlatform };
46
- /**
47
- * v1internal endpoints used by Gemini CLI.
48
- * All POST, requiring OAuth2 auth plus fingerprint headers.
49
- */
50
- declare const FINGERPRINT_API_PATHS: {
51
- readonly loadCodeAssist: "https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist";
52
- };
53
- import { MODELS_2026_LEGACY as MODELS_2026 } from "./models.js";
54
- import type { ModelId2026 } from "./models.js";
55
- export { MODELS_2026 };
56
- export type { ModelId2026 };
57
- export type PlatformOS = "win32" | "linux" | "darwin";
58
- export type PlatformArch = "x64" | "arm64";
59
- export type FingerprintType = "gemini-cli" | "antigravity";
60
- /**
61
- * Supported header generation styles (observer naming for FingerprintType).
62
- * - antigravity: emulates Antigravity Manager content requests
63
- * - gemini-cli: emulates Gemini CLI quota pool (includes X-Goog-Api-Client)
64
- */
65
- export type HeaderStyle = "antigravity" | "gemini-cli";
66
- /** OS name normalized for keyed fingerprint pools. */
67
- export type OsName = "windows" | "darwin" | "linux";
68
- /** Architecture name normalized for keyed fingerprint pools. */
69
- export type ArchName = "amd64" | "arm64" | "x64";
70
- /**
71
- * Coherent platform profile for the weighted UA pools.
72
- * Guarantees win32 never pairs with arm64 and that darwin prefers arm64.
73
- */
74
- export interface PlatformProfile {
75
- /** Node.js OS identifier, exact `process.platform` value */
76
- os: PlatformOS;
77
- /** Node.js architecture identifier */
78
- arch: PlatformArch;
79
- /** Formatted string inside the UA parenthesis: "win32; x64" */
80
- uaSegment: string;
81
- /** Distribution source - GitHub dominant for coherence */
82
- source: string;
83
- /** Randomization weight - darwin arm64 more common among developers */
84
- weight: number;
85
- }
86
- /**
87
- * Keyed coherent platform pool entry (Go-style amd64 naming on Windows,
88
- * matching observed AM traffic).
89
- */
90
- export interface PlatformPool {
91
- /** Logical key e.g. "windows/amd64" */
92
- readonly key: string;
93
- /** Normalized OS name used in User-Agent */
94
- readonly os: OsName;
95
- /** Normalized arch name used in User-Agent */
96
- readonly arch: ArchName;
97
- /** Node.js platform identifier */
98
- readonly nodePlatform: NodeJS.Platform;
99
- /** Node.js arch identifier */
100
- readonly nodeArch: string;
101
- /** Electron/Chrome OS display fragment */
102
- readonly displayOs: string;
103
- }
104
- /** Map of all known keyed pools. */
105
- export type PoolMap = Record<string, PlatformPool>;
106
- /**
107
- * Keyed pool record. Windows uses Go-convention amd64 naming to match AM
108
- * traffic; darwin uses arm64 (Apple Silicon primary for 2026); linux x64.
109
- */
110
- export declare const PLATFORM_POOLS: PoolMap;
111
- /** Weighted pool of real-world valid combinations. */
112
- export declare const PLATFORM_PROFILE_POOL: readonly PlatformProfile[];
113
- export { PLATFORM_POOL };
114
- export declare const PLATFORM_POOL_EXTENDED: readonly PlatformProfile[];
115
- /** Preferred plugin version for new installs / Client-Metadata payloads. */
116
- export declare const PLUGIN_VERSION_FALLBACK = "2.1.16";
117
- export { ANTIGRAVITY_CLI_VERSION_POOL, GEMINI_CLI_VERSION_POOL, GL_NODE_VERSION_POOL };
118
- export declare const ANTIGRAVITY_VERSION_POOL: readonly ["1.12.8", "1.12.7", "1.12.5", "1.11.9", "1.11.4"];
119
- /** google-api-nodejs-client versions - lockstep with GeminiCLI releases. */
120
- export declare const GOOGLE_API_CLIENT_VERSION_POOL: readonly ["9.15.1", "9.15.0", "9.14.1", "9.14.0", "9.13.0"];
121
- /** Complementary gax version pool. */
122
- export declare const GAX_VERSION_POOL: readonly ["5.0.4", "5.0.3", "4.3.6"];
123
- import { fnv1a32, fnv1a32Hex, fnv1a64, getJitterMs, pickRandom } from "./core.js";
124
- export { fnv1a32, fnv1a32Hex, fnv1a64, getJitterMs, pickRandom };
125
- /**
126
- * Generates a deterministic session_id based on the current directory.
127
- * Same folder => same session_id => avoids device-hopping flags.
128
- *
129
- * @param directory - base path (defaults to process.cwd())
130
- */
131
- export declare function generateSessionUuid(directory?: string): string;
132
- /**
133
- * Secure random float in [0,1) using crypto.randomInt with Math.random fallback.
134
- */
135
- export declare function secureRandom(): number;
136
- /** Picks a random element honoring optional weights. */
137
- export declare function pickRandomWeighted<T extends {
138
- weight: number;
139
- }>(pool: readonly T[]): T;
140
- /**
141
- * Async jitter SLEEP in [minMs, maxMs] for anti-rate-limit / anti-ban delays
142
- * (renamed from `jitter` in v2.1.15 Phase B: core.js owns the sync `jitter`
143
- * number draw, so this async sleep variant carries an accurate distinct name).
144
- */
145
- export declare function jitterSleep(minMs?: number, maxMs?: number): Promise<void>;
146
- /**
147
- * Normalizes a Node platform identifier for UA emission (identity-form
148
- * canonical: darwin/win32/linux pass through; exotic values pass through
149
- * unchanged as well — this is a stable lowercase identity map, not a filter).
150
- */
151
- export declare function normalizePlatform(p: string): string;
152
- /**
153
- * Normalizes a Node arch identifier for UA emission
154
- * (arm64/x64/ia32 identity; exotic values pass through unchanged).
155
- */
156
- export declare function normalizeArch(a: string): string;
157
- /**
158
- * Dynamic Antigravity User-Agent: `antigravity/{version} {os}/{arch}`.
159
- * Invalid/absent versions fall back to ANTIGRAVITY_VERSION_FALLBACK.
160
- * Canonical of the getDynamicUserAgent family (v2.1.15 Phase B: the
161
- * constants.ts, models.ts, plugin.ts and quota.ts locals deleted; the
162
- * async version.ts GeminiCLI-template variant stays in version.ts under its
163
- * own accurate name because it is a semantically distinct async builder).
164
- */
165
- export declare function getDynamicUserAgent(version?: string, opts?: {
166
- os?: string;
167
- arch?: string;
168
- }): string;
169
- /**
170
- * Async dynamic Antigravity User-Agent — resolves the remote Antigravity
171
- * version when no cached version qualifies, then builds the UA via
172
- * {@link getDynamicUserAgent}. (Absorbed from constants.ts in v2.1.15
173
- * Phase B; version.ts's own remote chain remains the version-detection
174
- * owner and may dedupe with {@link fetchRemoteAntigravityVersion} later.)
175
- */
176
- export declare function getDynamicUserAgentAsync(cachedVersion?: string): Promise<string>;
177
- /**
178
- * Fetches the latest Antigravity version across the known update sources
179
- * (absorbed from constants.ts in v2.1.15 Phase B). Returns null when every
180
- * source fails; never throws.
181
- */
182
- export declare function fetchRemoteAntigravityVersion(): Promise<string | null>;
183
- /**
184
- * Builds the antigravity-style X-Goog-Api-Client chain:
185
- * `antigravity/{version} gl-node/{node} gax/4.9.0 grpc/1.14.0`.
186
- * Canonical of the getXGoogApiClient family (constants.ts lineage — the same
187
- * chain request.ts's buildApiClient and plugin.ts's buildCommonHeaders
188
- * compose inline; the bare `gl-node/22.19.0` snapshot has its own accurate
189
- * name below).
190
- */
191
- export declare function getXGoogApiClient(version?: string): string;
192
- /**
193
- * Canonical X_GOOG_API_CLIENT computed value — the dynamic
194
- * {@link getXGoogApiClient} result (v2.1.15 Phase B: the constants.ts
195
- * computed export moved here; the static "gl-node/22.19.0" copies in
196
- * config/project/recovery/request/streaming were NOT the same value and
197
- * keep their exact wire behavior through the accurately named
198
- * {@link X_GOOG_API_CLIENT_GEMINI_CLI}).
199
- */
200
- export declare const X_GOOG_API_CLIENT: string;
201
- /**
202
- * Bare gl-node X-Goog-Api-Client snapshot observed on real Gemini CLI
203
- * traffic (`gl-node/22.19.0`). Distinct value from {@link X_GOOG_API_CLIENT}
204
- * — the former static "stale" copies in project.ts, quota.ts, request.ts,
205
- * streaming.ts, recovery.ts, accounts.ts and config.ts resolve HERE so every
206
- * live chain keeps sending exactly the bytes it sent before the merge.
207
- */
208
- export declare const X_GOOG_API_CLIENT_GEMINI_CLI: "gl-node/22.19.0";
209
- /**
210
- * Builds the Antigravity Client-Metadata header string — the quota.ts
211
- * lineage (live-validated quota chain): uppercase platform/arch,
212
- * pluginVersion taken from the constants template, osVersion before arch.
213
- * Canonical of the buildClientMetadata family (v2.1.15 Phase B: the
214
- * constants.ts, quota.ts, request.ts and search.ts locals deleted).
215
- */
216
- export declare function buildClientMetadata(version?: string): string;
217
- /**
218
- * Builds the GeminiCLI User-Agent dynamically, varying the platform:
219
- * `GeminiCLI/<cliVersion>/<model> (<platform>; <arch>; GitHub)
220
- * google-api-nodejs-client/<gclientVersion>`. Canonical of the
221
- * buildGeminiUserAgent family (v2.1.15 Phase B: config.ts lineage body —
222
- * overrides accepted; the auth.ts win32->"windows" mapping is expressed by
223
- * auth.ts passing the pre-mapped platform, so one implementation serves
224
- * both historical call shapes).
225
- */
226
- export declare function buildGeminiUserAgent(overrides?: {
227
- cliVersion?: string;
228
- model?: string;
229
- platform?: string;
230
- arch?: string;
231
- gclientVersion?: string;
232
- }): string;
233
- /**
234
- * Antigravity User-Agent short form (auth.ts lineage):
235
- * `antigravity/{version} {platform}/{arch}`. Thin alias of
236
- * {@link getDynamicUserAgent} kept under its historical auth surface name;
237
- * the auth call sites always invoke it without arguments, where the two
238
- * implementations are byte-identical.
239
- */
240
- export declare const ua: (v?: string) => string;
241
- /**
242
- * Antigravity X-Goog-Api-Client short form (auth.ts lineage):
243
- * `antigravity/{version} gl-node/{node} gccl/1.0.0 gax/1.0.0`. Distinct
244
- * segment chain from {@link getXGoogApiClient} (gccl/gax-1.0.0 vs
245
- * gax-4.9.0/grpc) — the live auth retrieveQuota path sends exactly this
246
- * form, so it keeps its own accurate implementation here.
247
- */
248
- export declare const apiClient: (v?: string) => string;
249
- /**
250
- * Builds a platform string in the format expected by the Gemini CLI
251
- * User-Agent, e.g. "linux; x64; GitHub" (absorbed from constants.ts in
252
- * v2.1.15 Phase B).
253
- */
254
- export declare function getRandomPlatformString(platformOverride?: SupportedPlatform, archOverride?: SupportedArch): string;
255
- export interface GeminiCliHeaderOptions {
256
- /** model to include in the User-Agent (e.g. gemini-3-pro-preview) */
257
- model?: string | undefined;
258
- /** platform override (randomizes / uses process.platform when absent) */
259
- platform?: SupportedPlatform | undefined;
260
- /** arch override */
261
- arch?: SupportedArch;
262
- /** specific Gemini CLI version to spoof */
263
- cliVersion?: string;
264
- /** specific gapi client version */
265
- gapiVersion?: string;
266
- /** specific gl-node version */
267
- glNodeVersion?: string;
268
- /** access token for Authorization */
269
- accessToken?: string;
270
- /** custom ideType */
271
- ideType?: (typeof FINGERPRINT_IDE_TYPES)[number];
272
- /** custom platform metadata */
273
- platformMeta?: (typeof FINGERPRINT_PLATFORMS)[number];
274
- /** custom pluginType */
275
- pluginType?: (typeof FINGERPRINT_PLUGIN_TYPES)[number];
276
- }
277
- /**
278
- * Generates headers identical to the official Gemini CLI for detection
279
- * bypass (canonical of the family: the richer constants.ts WithOptions
280
- * lineage; plugin.ts's legacy terminal-platform variant had zero callers
281
- * and was deleted in v2.1.15 Phase B).
282
- *
283
- * @param model - optional, defaults to gemini-3-pro-preview
284
- * @param platform - optional, randomized with linux bias by default
285
- */
286
- export declare function getGeminiCLIHeaders(model?: string, platform?: SupportedPlatform): Record<string, string>;
287
- /** Object-style variant, more robust for internal plugin usage. */
288
- export declare function getGeminiCLIHeadersWithOptions(opts?: GeminiCliHeaderOptions): Record<string, string>;
289
- /** Headers specialized for Antigravity versioning. */
290
- export interface AntigravityHeaderOptions {
291
- version?: AntigravityVersion;
292
- accessToken?: string;
293
- cliVersion?: string;
294
- model?: string;
295
- platform?: SupportedPlatform;
296
- }
297
- export declare function getAntigravityHeaders(version?: AntigravityVersion | string): Record<string, string>;
298
- export declare function getAntigravityHeadersWithOptions(opts?: AntigravityHeaderOptions): Record<string, string>;
299
- /**
300
- * Options for {@link buildAntagravityHeaders} — the canonical of the
301
- * buildAntagravityHeaders family (v2.1.15 Phase B). The flags preserve each
302
- * historical variant's exact effective header set:
303
- * - plugin.ts / project.ts lineage (default): Authorization, Content-Type,
304
- * User-Agent + extras;
305
- * - quota.ts lineage: `accept: true` adds Accept: application/json;
306
- * - search.ts lineage: `identityHeaders: true` adds X-Goog-Api-Client
307
- * (dynamic getXGoogApiClient) and Client-Metadata (buildClientMetadata);
308
- * - the models.ts strip-variant had zero consumers and was deleted.
309
- */
310
- export interface AntigravityHeadersOptions {
311
- userAgent?: string | undefined;
312
- extra?: Record<string, string>;
313
- /** Include Accept: application/json (quota/search lineage). Default false. */
314
- accept?: boolean;
315
- /** Include X-Goog-Api-Client + Client-Metadata (search lineage). Default false. */
316
- identityHeaders?: boolean;
317
- }
318
- /**
319
- * Builds the Antigravity content-request header map (Authorization bearer,
320
- * JSON content type, dynamic Antigravity UA, optional Accept and bypass
321
- * identity headers, extras merged last with x-goog-user-project always
322
- * filtered per the observer requirement).
323
- */
324
- export declare function buildAntagravityHeaders(accessToken: string, opts?: AntigravityHeadersOptions): Record<string, string>;
325
- export interface FingerprintOptions {
326
- /** Directory for deterministic seed (defaults to cwd) */
327
- directory?: string;
328
- /** Allow rare extended platform combos (default false) */
329
- allowExtendedPlatforms?: boolean;
330
- /** Pin a specific platform (for tests) */
331
- fixedPlatform?: PlatformProfile | undefined;
332
- /** Pin the Gemini CLI version */
333
- fixedCliVersion?: string | undefined;
334
- /** Pin the google-api-client version */
335
- fixedGoogleApiVersion?: string | undefined;
336
- /** Pin the gl-node version */
337
- fixedNodeVersion?: string | undefined;
338
- /**
339
- * Antigravity app version embedded in observer-style UAs.
340
- * Accepts bare semver ("1.19.2") or full UA strings
341
- * ("antigravity/1.19.2 darwin/arm64"); invalid values fall back to
342
- * ANTIGRAVITY_VERSION_FALLBACK.
343
- */
344
- antigravityVersion?: string;
345
- }
346
- export interface FullHeadersResult {
347
- /** Exact Gemini CLI User-Agent */
348
- "User-Agent": string;
349
- /** X-Goog-Api-Client fingerprint */
350
- "X-Goog-Api-Client": string;
351
- /** Hardened Client-Metadata */
352
- "Client-Metadata": string;
353
- /** Standard Content-Type */
354
- "Content-Type": string;
355
- /** Accept */
356
- Accept: string;
357
- /** Optional for some endpoints */
358
- "X-Client-Details"?: string;
359
- /** Extra metadata for internal debug/tracing */
360
- __meta: {
361
- platform: PlatformProfile;
362
- cliVersion: string;
363
- googleApiVersion: string;
364
- glNodeVersion: string;
365
- gaxVersion: string;
366
- sessionId: string;
367
- model: string;
368
- type: FingerprintType;
369
- jitterMs: number;
370
- };
371
- }
372
- /**
373
- * Anti-detection generator that mimics Gemini CLI exactly while also exposing
374
- * the observer-style Antigravity header set.
375
- *
376
- * Coherence guarantees:
377
- * - Chosen platform drives the UA segment consistently
378
- * - Node / gax / google-api-client versions pair like a real release
379
- * - session_id is deterministic per directory (avoids device hopping)
380
- * - Observer mode never mutates global state
381
- *
382
- * Usage:
383
- * ```ts
384
- * const fp = new FingerprintGenerator({ directory: process.cwd() });
385
- * const headers = fp.getFullHeaders('gemini-3-pro-preview', 'gemini-cli');
386
- * // or observer style:
387
- * const fp2 = new FingerprintGenerator('1.19.2');
388
- * const h2 = fp2.getFingerprintHeaders('gemini-cli');
389
- * ```
390
- */
391
- export declare class FingerprintGenerator {
392
- private readonly directory;
393
- private readonly allowExtended;
394
- private readonly fixedPlatform?;
395
- private readonly fixedCliVersion?;
396
- private readonly fixedGoogleApiVersion?;
397
- private readonly fixedNodeVersion?;
398
- private readonly sessionId;
399
- private cachedPlatform;
400
- /** Antigravity app version used in observer User-Agents. */
401
- private readonly version;
402
- private poolCache;
403
- /**
404
- * Unified constructor accepting BOTH historical option shapes:
405
- *
406
- * @param opts - either an options object ({@link FingerprintOptions}) or a
407
- * plain version string ("1.19.2", "antigravity/1.19.2 ...",
408
- * falls back to ANTIGRAVITY_VERSION_FALLBACK when invalid).
409
- */
410
- constructor(opts?: FingerprintOptions | string);
411
- /** Validates / extracts the Antigravity version from raw input. */
412
- private normalizeAntigravityVersion;
413
- /** Numeric 32-bit FNV-1a (deterministic, fast, no crypto overhead). */
414
- private fnv1a32m;
415
- /** Numeric 64-bit FNV-1a for longer session identifiers. */
416
- private fnv1a64b;
417
- /** Hex representation (8 chars) of the 32-bit FNV-1a hash. */
418
- fnv1aHex(input: string): string;
419
- /**
420
- * Deterministic session id from a seed (sess_ prefixed, FNV-based). When no
421
- * seed is supplied, falls back to randomUUID + hostname + timestamp hashed
422
- * into the same format. Never throws.
423
- *
424
- * v2.1.16 divergence note: {@link generateUserPromptId} below is the
425
- * structural twin of this method, kept separate (not parametrized into one
426
- * prefix+salt helper) because the outputs intentionally differ in four
427
- * places: the prefix (sess_ vs up_), the secondary hash salt (`:sess` vs
428
- * `:up`), the unseeded base (Date.now() vs process.pid) and the catch-path
429
- * fallback shape (sess_ appends a base36 timestamp, up_ does not).
430
- */
431
- generateSessionId(seed?: string): string;
432
- /**
433
- * Deterministic user_prompt_id mirroring Antigravity Manager behavior where
434
- * prompt IDs stay stable per request content. Never throws.
435
- */
436
- generateUserPromptId(seed?: string): string;
437
- /**
438
- * Returns a coherent platform with per-instance caching for stability.
439
- * A fixedPlatform always wins (deterministic tests); an explicit override
440
- * bypasses the cache entirely.
441
- */
442
- getPlatform(override?: PlatformProfile): PlatformProfile;
443
- /** Forces a platform rotation (useful for anti-ban testing). */
444
- rotatePlatform(): PlatformProfile;
445
- /**
446
- * Runtime-detected keyed pool (cached):
447
- * win32 -> windows/amd64, darwin -> darwin/arm64 (even under Rosetta),
448
- * everything else -> linux/x64.
449
- */
450
- getPlatformPool(): PlatformPool;
451
- /** Static accessor for all keyed pools (testing / CLI listing). */
452
- static getPlatformPools(): PoolMap;
453
- /** Current keyed pool key, e.g. "darwin/arm64". */
454
- getCurrentPoolKey(): string;
455
- /** Cryptographically strong jitter in the inclusive 0..80ms range. */
456
- getJitterMs(): number;
457
- /** Applies jitter asynchronously - awaits 0..80ms. */
458
- applyJitter(): Promise<void>;
459
- /**
460
- * Produces a coherent version set that actually shipped together.
461
- * 70% recent-user slice, 30% long-tail for realistic distribution.
462
- */
463
- private getCoherentVersionPair;
464
- /**
465
- * User-Agent identical to the official Gemini CLI:
466
- * `GeminiCLI/0.57.0/gemini-3-pro-preview (win32; x64; GitHub) google-api-nodejs-client/9.15.1`
467
- */
468
- getGeminiCLIUserAgent(model?: string, platform?: PlatformProfile): string;
469
- /**
470
- * Antigravity-flavored User-Agent observed in fetchAvailableModels traces:
471
- * `Antigravity/1.12.8 (linux; x64) CodeAssist/0.9.2 google-api-nodejs-client/9.15.1 gl-node/22.19.0`
472
- */
473
- getAntigravityUserAgent(version?: string, platform?: PlatformProfile): string;
474
- /**
475
- * X-Goog-Api-Client identical to the Node.js Google client. 80% simplified
476
- * (`gl-node/22.19.0`), 20% full chain with gccl/gax/grpc segments.
477
- */
478
- getXGoogApiClient(): string;
479
- /**
480
- * Hardened fixed Client-Metadata validated by onboarding/loadCodeAssist:
481
- * `ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI`
482
- */
483
- getClientMetadata(): string;
484
- /**
485
- * Structured JSON Client-Metadata used by observer-style requests
486
- * (ideType ANTIGRAVITY + plugin/arch/node details). Falls back to a compact
487
- * key=value form and never throws.
488
- */
489
- private buildClientMetadata;
490
- /**
491
- * Observer-style X-Goog-Api-Client:
492
- * `gl-node/<node> antigravity/<version> gccl/1.0.0`. Never throws.
493
- */
494
- private buildApiClient;
495
- /**
496
- * Complete Gemini CLI-compatible header set including coherent UA,
497
- * X-Goog-Api-Client jitter, hardened Client-Metadata and Content-Type.
498
- */
499
- getFullHeaders(model?: string, type?: FingerprintType, platformOverride?: PlatformProfile): FullHeadersResult;
500
- /** Native Fetch API Headers instance ready for direct fetch() usage. */
501
- toFetchHeaders(model?: string, type?: FingerprintType): Headers;
502
- /**
503
- * Generates observer-style fingerprint headers.
504
- *
505
- * Enforced requirements:
506
- * - User-Agent: `antigravity/{version} {os}/{arch}` (coherent keyed pool)
507
- * - Client-Metadata: always included (structured JSON, AM observed)
508
- * - X-Goog-Api-Client ONLY when headerStyle === 'gemini-cli'
509
- * - Never includes X-Goog-QuotaUser nor X-Client-Device-Id
510
- *
511
- * @param headerStyle - 'antigravity' (default content path) or 'gemini-cli'
512
- */
513
- getFingerprintHeaders(headerStyle?: HeaderStyle): Record<string, string>;
514
- /** Antigravity version currently embedded in observer fingerprints. */
515
- getVersion(): string;
516
- /** Deterministic session_id of this instance. */
517
- getSessionId(): string;
518
- /** Full OAuth config for the auth flow. */
519
- getOAuthConfig(): {
520
- clientId: string;
521
- clientSecret: string;
522
- scopes: readonly string[];
523
- projectFallback: string;
524
- };
525
- /** Endpoint map (v2.1.15 Phase D: derives from the constants.js parts). */
526
- getEndpoints(): typeof FINGERPRINT_API_PATHS;
527
- }
528
- /**
529
- * Default shared generator using ANTIGRAVITY_VERSION_FALLBACK until
530
- * version.ts resolves the remote version. Consumers may create their own
531
- * instances with a dynamic version. The grand merge folded this module into
532
- * the shared core graph the platform-portable bundles ship, so the singleton
533
- * constructs on first use (the constructor resolves the cwd through the node
534
- * path builtin): under node and bun the behavior is identical while a stubbed
535
- * browser bundle never instantiates the generator at import time.
536
- */
537
- export declare const defaultFingerprintGenerator: FingerprintGenerator;
538
- /**
539
- * Convenience wrapper matching the original plugin export names. Uses the
540
- * default singleton, or a temporary generator when a version is supplied.
541
- *
542
- * @param style - 'antigravity' (default) or 'gemini-cli'
543
- * @param version - optional Antigravity version override
544
- */
545
- export declare function getFingerprintHeaders(style?: HeaderStyle, version?: string): Record<string, string>;
546
- /**
547
- * Short helper generating Gemini CLI compatible headers for project bypass.
548
- *
549
- * @param model - model id (default gemini-3-pro-preview)
550
- * @param type - 'gemini-cli' or 'antigravity'
551
- * @param platform - profile object, "win32 x64" string, or plain OS string
552
- */
553
- export declare function generateHeaders(model?: string, type?: FingerprintType, platform?: PlatformProfile | `${PlatformOS} ${PlatformArch}` | PlatformOS): Record<string, string>;
554
- /** Variant returning a native Fetch API Headers instance (Node 20+). */
555
- export declare function generateFetchHeaders(model?: string, type?: FingerprintType, platform?: PlatformProfile | `${PlatformOS} ${PlatformArch}`): Headers;
556
- /**
557
- * Full fingerprint with metadata for debugging/tracing; validates bypasses
558
- * during development.
559
- */
560
- export declare function generateFullFingerprint(model?: string, type?: FingerprintType, directory?: string): FullHeadersResult;
561
- /**
562
- * Creates an instance bound to a specific directory (deterministic
563
- * session_id). Essential for multi-workspace setups.
564
- */
565
- export declare function createFingerprintForDirectory(directory: string): FingerprintGenerator;
566
- /**
567
- * Bypass helper producing headers plus the base body for loadCodeAssist,
568
- * including the blinded project fallback.
569
- */
570
- export declare function buildLoadCodeAssistRequest(projectId?: string, model?: string): {
571
- url: string;
572
- method: "POST";
573
- headers: Record<string, string>;
574
- body: string;
575
- sessionId: string;
576
- };
577
- export declare const FingerprintConstants: {
578
- readonly OAUTH_CLIENT_ID: string;
579
- readonly OAUTH_CLIENT_SECRET: string;
580
- readonly GEMINI_CLI_SCOPES: readonly ["https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/userinfo.profile"];
581
- readonly PROJECT_FALLBACK: "rising-fact-p41fc";
582
- readonly CLOUDCODE_BASE_URL: "https://cloudcode-pa.googleapis.com";
583
- /** Lazy through the models.js import cycle: the aggregate reads the owner at access time, so every module evaluation order stays legal (the models → core → config → fingerprint cycle of the merged graph never evaluates this read during import). */
584
- readonly MODELS_2026: readonly ["antigravity-gemini-3-pro", "antigravity-gemini-3.1-pro", "antigravity-gemini-3-flash", "antigravity-claude-sonnet-4-6", "antigravity-claude-opus-4-6-thinking", "gemini-2.5-flash", "gemini-2.5-pro", "gemini-3-flash-preview", "gemini-3-pro-preview", "gemini-3.1-pro-preview", "gemini-3.1-pro-preview-customtools"];
585
- readonly PLATFORM_PROFILE_POOL: readonly PlatformProfile[];
586
- readonly PLATFORM_POOLS: PoolMap;
587
- readonly GEMINI_CLI_VERSION_POOL: readonly ["0.57.0", "0.56.0", "0.55.1", "0.54.0", "0.53.0", "0.52.0", "0.51.2", "0.50.0"];
588
- readonly GOOGLE_API_CLIENT_VERSION_POOL: readonly ["9.15.1", "9.15.0", "9.14.1", "9.14.0", "9.13.0"];
589
- readonly GL_NODE_VERSION_POOL: readonly ["22.19.0", "22.16.0", "22.14.0", "20.19.3", "20.18.1", "20.17.0", "20.11.0", "18.20.4"];
590
- readonly ANTIGRAVITY_VERSION_FALLBACK: "1.19.2";
591
- readonly PLUGIN_VERSION_FALLBACK: "2.1.16";
592
- };
593
- export default FingerprintGenerator;
594
- //# sourceMappingURL=fingerprint.d.ts.map