@wenathlan/devthink 2.0.12 → 2.0.14

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 +20 -0
  2. package/accounts.ts +2087 -0
  3. package/agent.ts +2331 -0
  4. package/antigravity.ts +2139 -0
  5. package/apifreeze.ts +4146 -0
  6. package/auth.ts +642 -0
  7. package/background.ts +16837 -0
  8. package/bridge.ts +2080 -0
  9. package/build.ts +54 -0
  10. package/bun.ts +26 -0
  11. package/capture.ts +1614 -0
  12. package/checksecrets.ts +72 -0
  13. package/cjs.ts +9 -0
  14. package/cli.ts +3500 -0
  15. package/commands.ts +1101 -0
  16. package/companion.ts +450 -0
  17. package/compatibility.ts +37 -0
  18. package/config.ts +3137 -0
  19. package/constants.ts +943 -0
  20. package/core.ts +1473 -0
  21. package/crossbrowser.ts +1359 -0
  22. package/dashdone.ts +605 -0
  23. package/data.ts +943 -0
  24. package/database.ts +133 -0
  25. package/debug.ts +850 -0
  26. package/deno.ts +27 -0
  27. package/devthink.ts +707 -0
  28. package/dist/accounts.d.ts +409 -0
  29. package/dist/agent.d.ts +837 -0
  30. package/dist/antigravity.d.ts +380 -0
  31. package/dist/apifreeze.d.ts +113 -0
  32. package/dist/auth.d.ts +224 -0
  33. package/{bridge.d.ts → dist/bridge.d.ts} +1 -1
  34. package/dist/capture.d.ts +595 -0
  35. package/dist/cjs.d.ts +6 -0
  36. package/{cli.js → dist/cli.js} +2 -2
  37. package/dist/commands.d.ts +310 -0
  38. package/dist/compatibility.d.ts +17 -0
  39. package/dist/config.d.ts +1853 -0
  40. package/dist/constants.d.ts +637 -0
  41. package/dist/core.d.ts +361 -0
  42. package/dist/data.d.ts +330 -0
  43. package/dist/database.d.ts +24 -0
  44. package/dist/debug.d.ts +270 -0
  45. package/dist/engine.d.ts +74 -0
  46. package/dist/environments.d.ts +244 -0
  47. package/dist/evidence.d.ts +277 -0
  48. package/dist/export.d.ts +311 -0
  49. package/dist/fingerprint.d.ts +594 -0
  50. package/dist/flow.d.ts +300 -0
  51. package/dist/gates.d.ts +103 -0
  52. package/dist/identity.d.ts +51 -0
  53. package/dist/ids.d.ts +7 -0
  54. package/dist/llm.d.ts +652 -0
  55. package/dist/models.d.ts +1807 -0
  56. package/dist/net.d.ts +325 -0
  57. package/dist/neutral.d.ts +41 -0
  58. package/dist/oauth.d.ts +703 -0
  59. package/dist/page.d.ts +1166 -0
  60. package/dist/perf.d.ts +481 -0
  61. package/dist/plan.d.ts +134 -0
  62. package/dist/project.d.ts +395 -0
  63. package/dist/providers.d.ts +37 -0
  64. package/dist/quota.d.ts +453 -0
  65. package/dist/recovery.d.ts +621 -0
  66. package/dist/request.d.ts +1492 -0
  67. package/dist/run.d.ts +779 -0
  68. package/dist/runtime.d.ts +212 -0
  69. package/dist/search.d.ts +375 -0
  70. package/dist/security.d.ts +534 -0
  71. package/dist/serve.d.ts +136 -0
  72. package/dist/session.d.ts +296 -0
  73. package/dist/storage.d.ts +53 -0
  74. package/dist/streaming.d.ts +1119 -0
  75. package/dist/swarm.d.ts +328 -0
  76. package/dist/tools.d.ts +170 -0
  77. package/dist/types.d.ts +8357 -0
  78. package/dist/utils.d.ts +82 -0
  79. package/dist/version.d.ts +7 -0
  80. package/dist/versionregistry.d.ts +406 -0
  81. package/dist/views.d.ts +579 -0
  82. package/dist/workbenchsession.d.ts +69 -0
  83. package/dist/workflow.d.ts +649 -0
  84. package/docs/readme.md +92 -0
  85. package/docs/schemas/antigravity.json +192 -0
  86. package/engine.ts +1524 -0
  87. package/environments.ts +1005 -0
  88. package/evidence.ts +643 -0
  89. package/export.ts +889 -0
  90. package/fingerprint.ts +1458 -0
  91. package/flow.ts +1190 -0
  92. package/gates.ts +307 -0
  93. package/gateway.ts +34 -0
  94. package/hardening.ts +191 -0
  95. package/headless.ts +369 -0
  96. package/http.ts +2110 -0
  97. package/identity.ts +246 -0
  98. package/ids.ts +26 -0
  99. package/index.ts +369 -0
  100. package/llm.ts +2682 -0
  101. package/mcp.ts +1835 -0
  102. package/{memory.js → memory.ts} +3834 -2310
  103. package/models.ts +3805 -0
  104. package/modes.ts +43 -0
  105. package/net.ts +1214 -0
  106. package/neutral.ts +362 -0
  107. package/node.ts +26 -0
  108. package/oauth.ts +2216 -0
  109. package/offscreen.ts +170 -0
  110. package/pack.ts +956 -0
  111. package/package.json +175 -82
  112. package/page.ts +7824 -0
  113. package/pagebridge.ts +1116 -0
  114. package/perf.ts +957 -0
  115. package/plan.ts +672 -0
  116. package/plugin.ts +76 -0
  117. package/{policy.js → policy.ts} +5073 -4679
  118. package/prisma.config.ts +27 -0
  119. package/progress.ts +1308 -0
  120. package/project.ts +1291 -0
  121. package/protocol.ts +4187 -0
  122. package/providers.ts +246 -0
  123. package/quota.ts +1887 -0
  124. package/recovery.ts +2433 -0
  125. package/request.ts +4482 -0
  126. package/run.ts +2135 -0
  127. package/runtime.ts +526 -0
  128. package/search.ts +1760 -0
  129. package/security.ts +1673 -0
  130. package/serve.ts +419 -0
  131. package/server.ts +5538 -0
  132. package/session.ts +1162 -0
  133. package/storage.ts +182 -0
  134. package/streaming.ts +4101 -0
  135. package/swarm.ts +884 -0
  136. package/sync.ts +56 -0
  137. package/tests/agentcert.test.ts +128 -0
  138. package/tests/agentfleet.test.ts +214 -0
  139. package/tests/agentreview.test.ts +241 -0
  140. package/tests/agentstream.test.ts +335 -0
  141. package/tests/agentwork.test.ts +356 -0
  142. package/tests/apifreeze.test.ts +290 -0
  143. package/tests/apimap.test.ts +112 -0
  144. package/tests/approvalgate.test.ts +175 -0
  145. package/tests/artifactmanifest.test.ts +204 -0
  146. package/tests/attentionfeed.test.ts +163 -0
  147. package/tests/backgroundruns.test.ts +100 -0
  148. package/tests/batchscheduling.test.ts +131 -0
  149. package/tests/blackboard.test.ts +238 -0
  150. package/tests/bridge.test.ts +1088 -0
  151. package/tests/browsercoverage.test.ts +134 -0
  152. package/tests/browserpolyfills.test.ts +124 -0
  153. package/tests/build.mjs +1260 -0
  154. package/tests/clientauth.test.ts +223 -0
  155. package/tests/clitools.test.ts +578 -0
  156. package/tests/confirmgates.test.ts +190 -0
  157. package/tests/containerpack.test.ts +143 -0
  158. package/tests/controlflow.test.ts +2120 -0
  159. package/tests/coordination.test.ts +345 -0
  160. package/tests/copyscreen.test.ts +139 -0
  161. package/tests/core.test.ts +417 -0
  162. package/tests/costcert.test.ts +95 -0
  163. package/tests/crossbrowser.test.ts +115 -0
  164. package/tests/cspaudit.test.ts +79 -0
  165. package/tests/dashdone.test.ts +615 -0
  166. package/tests/datagrid.test.ts +137 -0
  167. package/tests/doccheck.test.ts +107 -0
  168. package/tests/dombatch.test.ts +109 -0
  169. package/tests/emulation.test.ts +282 -0
  170. package/tests/environments.test.ts +259 -0
  171. package/tests/evidenceviews.test.ts +88 -0
  172. package/tests/exporttools.test.ts +185 -0
  173. package/tests/firefoxprep.test.ts +134 -0
  174. package/tests/flowlibrary.test.ts +242 -0
  175. package/tests/flowrun.test.ts +303 -0
  176. package/tests/forensics.test.ts +439 -0
  177. package/tests/gateway.test.ts +939 -0
  178. package/tests/headlesslib.test.ts +171 -0
  179. package/tests/httpstream.test.ts +277 -0
  180. package/tests/immutablelog.test.ts +157 -0
  181. package/tests/inboundguard.test.ts +177 -0
  182. package/tests/lazyload.test.ts +72 -0
  183. package/tests/librarymodes.test.ts +623 -0
  184. package/tests/llm.test.ts +696 -0
  185. package/tests/manifest.test.ts +226 -0
  186. package/tests/maskinputs.test.ts +150 -0
  187. package/tests/matrixverify.test.ts +111 -0
  188. package/tests/mavenpack.test.ts +75 -0
  189. package/tests/mcpserver.test.ts +704 -0
  190. package/tests/memory.test.ts +4155 -0
  191. package/tests/memorycare.test.ts +230 -0
  192. package/tests/migrateplan.test.ts +349 -0
  193. package/tests/minimization.test.ts +414 -0
  194. package/tests/modelroute.test.ts +112 -0
  195. package/tests/multiagent.test.ts +440 -0
  196. package/tests/nativebridge.test.ts +807 -0
  197. package/tests/navigation.test.ts +284 -0
  198. package/tests/nugetpack.test.ts +83 -0
  199. package/tests/orchestration.test.ts +449 -0
  200. package/tests/originpolicy.test.ts +405 -0
  201. package/tests/outputcompare.test.ts +97 -0
  202. package/tests/package.test.ts +91 -0
  203. package/tests/pagebridge.test.ts +5909 -0
  204. package/tests/pentest.test.ts +75 -0
  205. package/tests/perfrecords.test.ts +257 -0
  206. package/tests/permdiff.test.ts +85 -0
  207. package/tests/phishguard.test.ts +128 -0
  208. package/tests/pickerviews.test.ts +155 -0
  209. package/tests/pipelines.test.ts +381 -0
  210. package/tests/planlint.test.ts +240 -0
  211. package/tests/planreview.test.ts +383 -0
  212. package/tests/platformtargets.test.ts +56 -0
  213. package/tests/policy.test.ts +8284 -0
  214. package/tests/portability.test.ts +96 -0
  215. package/tests/progress.test.ts +1036 -0
  216. package/tests/promptlibrary.test.ts +116 -0
  217. package/tests/protocol.test.ts +4793 -0
  218. package/tests/publishingpipeline.test.ts +314 -0
  219. package/tests/quickactions.test.ts +164 -0
  220. package/tests/readiness.test.ts +78 -0
  221. package/tests/recipes.test.ts +163 -0
  222. package/tests/redactshots.test.ts +216 -0
  223. package/tests/registernvidiakeys.ts +51 -0
  224. package/tests/relayserve.test.ts +304 -0
  225. package/tests/releasenotes.test.ts +276 -0
  226. package/tests/resilience.test.ts +467 -0
  227. package/tests/resourceaware.test.ts +187 -0
  228. package/tests/runbudget.test.ts +125 -0
  229. package/tests/runhistory.test.ts +299 -0
  230. package/tests/runreplay.test.ts +113 -0
  231. package/tests/runresume.test.ts +184 -0
  232. package/tests/runstate.test.ts +288 -0
  233. package/tests/runtimeadapters.test.ts +251 -0
  234. package/tests/safariskeleton.test.ts +115 -0
  235. package/tests/sandboxframe.test.ts +196 -0
  236. package/tests/sbom.test.ts +105 -0
  237. package/tests/secretvault.test.ts +188 -0
  238. package/tests/selcache.test.ts +111 -0
  239. package/tests/sessioninterface.test.ts +791 -0
  240. package/tests/sessions.test.ts +591 -0
  241. package/tests/siteprefs.test.ts +228 -0
  242. package/tests/snapshotdelta.test.ts +165 -0
  243. package/tests/statusviews.test.ts +237 -0
  244. package/tests/stepmeter.test.ts +200 -0
  245. package/tests/streamparse.test.ts +163 -0
  246. package/tests/stylepruning.test.ts +90 -0
  247. package/tests/surfaces.test.ts +282 -0
  248. package/tests/sweep.test.ts +78 -0
  249. package/tests/syncbridge.test.ts +164 -0
  250. package/tests/taskqueue.test.ts +206 -0
  251. package/tests/toolcalls.test.ts +336 -0
  252. package/tests/toolcatalog.test.ts +201 -0
  253. package/tests/torture-agent.test.ts +706 -0
  254. package/tests/torture-auth.test.ts +461 -0
  255. package/tests/torture-commands.test.ts +895 -0
  256. package/tests/torture-data.test.ts +923 -0
  257. package/tests/torture-environments.test.ts +285 -0
  258. package/tests/torture-export.test.ts +263 -0
  259. package/tests/torture-http.test.ts +1379 -0
  260. package/tests/torture-llm.test.ts +808 -0
  261. package/tests/torture-memory.test.ts +1084 -0
  262. package/tests/torture-plan.test.ts +829 -0
  263. package/tests/torture-run.test.ts +626 -0
  264. package/tests/torture-session.test.ts +928 -0
  265. package/tests/torture-swarm.test.ts +1245 -0
  266. package/tests/torture-tools.test.ts +964 -0
  267. package/tests/torture-workflow.test.ts +2354 -0
  268. package/tests/tourviews.test.ts +52 -0
  269. package/tests/transparency.test.ts +147 -0
  270. package/tests/trigger.test.ts +941 -0
  271. package/tests/v1sunset.test.ts +428 -0
  272. package/tests/virtlist.test.ts +94 -0
  273. package/tests/vision.test.ts +540 -0
  274. package/tests/vsixpack.test.ts +145 -0
  275. package/tests/webapi.test.ts +523 -0
  276. package/tests/workflow.test.ts +1785 -0
  277. package/tests/workfloweditor.test.ts +759 -0
  278. package/tests/xpipack.test.ts +128 -0
  279. package/tools.ts +734 -0
  280. package/types.ts +9908 -0
  281. package/umd.ts +9 -0
  282. package/utils.ts +249 -0
  283. package/version.ts +8 -0
  284. package/versionregistry.ts +1310 -0
  285. package/views.ts +2153 -0
  286. package/vitest.config.ts +12 -0
  287. package/web/App.tsx +78 -0
  288. package/web/README.md +47 -0
  289. package/web/capacitor.config.ts +46 -0
  290. package/web/const.ts +19 -0
  291. package/web/control.shell.tsx +66 -0
  292. package/web/dashboardpage.ts +554 -0
  293. package/web/db.ts +493 -0
  294. package/web/design.html +541 -0
  295. package/web/gatewayview/Gateway.tsx +345 -0
  296. package/web/gatewayview/config.ts +1042 -0
  297. package/web/gatewayview/definition.ts +174 -0
  298. package/web/icons.ts +15 -0
  299. package/{manifest.json → web/manifest.json} +1 -1
  300. package/web/optionspage.ts +691 -0
  301. package/web/popup.ts +1651 -0
  302. package/web/schema.prisma +176 -0
  303. package/web/sidepanel.ts +7941 -0
  304. package/web/sitemanifest.json +13 -0
  305. package/web/terminal-ui.tsx +622 -0
  306. package/web/transparencypage.ts +541 -0
  307. package/web/vite.config.ts +39 -0
  308. package/web/workspace.ts +23 -0
  309. package/workbenchmemory.ts +104 -0
  310. package/workbenchsession.ts +304 -0
  311. package/workflow.ts +4495 -0
  312. package/bridge.d.ts.map +0 -1
  313. package/bridge.js +0 -1877
  314. package/bun.d.ts.map +0 -1
  315. package/bun.js +0 -52329
  316. package/caps/background.json +0 -712
  317. package/caps/cli.json +0 -360
  318. package/caps/library.json +0 -3611
  319. package/caps/mcp.json +0 -126
  320. package/caps/pagebridge.json +0 -377
  321. package/caps/popup.json +0 -51
  322. package/caps/sidepanel.json +0 -522
  323. package/checksums.txt +0 -142
  324. package/cli.d.ts.map +0 -1
  325. package/companion.d.ts.map +0 -1
  326. package/companion.js +0 -389
  327. package/crossbrowser.d.ts.map +0 -1
  328. package/crossbrowser.js +0 -1191
  329. package/dashdone.d.ts.map +0 -1
  330. package/dashdone.js +0 -368
  331. package/deno.d.ts.map +0 -1
  332. package/deno.js +0 -52325
  333. package/devthink.umd.js +0 -52346
  334. package/fixtures/bun.ts +0 -7
  335. package/fixtures/cjs.js +0 -6
  336. package/fixtures/deno.ts +0 -6
  337. package/fixtures/example-org-pagestate.json +0 -22
  338. package/fixtures/importers/automa-workflow.json +0 -18
  339. package/fixtures/importers/selenium-side.json +0 -20
  340. package/fixtures/importers/tabular-plan.csv +0 -7
  341. package/fixtures/importers/uivision-macro.json +0 -10
  342. package/fixtures/importers/v1-plan.json +0 -13
  343. package/fixtures/mcp-client.mjs +0 -14
  344. package/fixtures/pages/checkout.html +0 -192
  345. package/fixtures/pages/dashboard.html +0 -110
  346. package/fixtures/pages/feed.html +0 -113
  347. package/fixtures/pages/product-grid.html +0 -150
  348. package/fixtures/plans/form-inventory-plan.json +0 -11
  349. package/fixtures/plans/release-notes-plan.json +0 -11
  350. package/fixtures/recipes/agentscompete.json +0 -11
  351. package/fixtures/recipes/agentsforms.json +0 -11
  352. package/fixtures/recipes/agentsmonitor.json +0 -11
  353. package/fixtures/recipes/agentsreview.json +0 -29
  354. package/fixtures/recipes/agentswarm.json +0 -11
  355. package/fixtures/recipes/fillcalendar.json +0 -12
  356. package/fixtures/recipes/fillcheckout.json +0 -13
  357. package/fixtures/recipes/filldependentdropdowns.json +0 -12
  358. package/fixtures/recipes/fillfromcsv.json +0 -13
  359. package/fixtures/recipes/fillloginform.json +0 -12
  360. package/fixtures/recipes/fillmultistepwizard.json +0 -13
  361. package/fixtures/recipes/fillregistration.json +0 -12
  362. package/fixtures/recipes/fillsearchfilters.json +0 -12
  363. package/fixtures/recipes/filltypeahead.json +0 -11
  364. package/fixtures/recipes/monitoralerts.json +0 -12
  365. package/fixtures/recipes/monitoravailability.json +0 -11
  366. package/fixtures/recipes/monitornetworkquiet.json +0 -12
  367. package/fixtures/recipes/monitorpagechanges.json +0 -11
  368. package/fixtures/recipes/monitorpricechange.json +0 -11
  369. package/fixtures/recipes/monitorschedule.json +0 -12
  370. package/fixtures/recipes/scrapedynamicprices.json +0 -13
  371. package/fixtures/recipes/scrapeimagegallery.json +0 -12
  372. package/fixtures/recipes/scrapeinfinitefeed.json +0 -13
  373. package/fixtures/recipes/scrapenestedlists.json +0 -12
  374. package/fixtures/recipes/scrapeproductgrid.json +0 -12
  375. package/fixtures/recipes/scrapereviews.json +0 -12
  376. package/fixtures/recipes/scrapesearchresults.json +0 -12
  377. package/fixtures/recipes/scrapetablepagination.json +0 -12
  378. package/fixtures/recipes/testaccessibility.json +0 -34
  379. package/fixtures/recipes/testconsoleerrors.json +0 -12
  380. package/fixtures/recipes/testdeeplinks.json +0 -12
  381. package/fixtures/recipes/testformvalidation.json +0 -13
  382. package/fixtures/recipes/testlayoutshift.json +0 -12
  383. package/fixtures/recipes/testlinkcheck.json +0 -12
  384. package/fixtures/recipes/testloadtiming.json +0 -12
  385. package/fixtures/recipes/testvisualdiff.json +0 -12
  386. package/fixtures/workflows/changelog-digest-workflow.json +0 -13
  387. package/fixtures/workflows/form-survey-workflow.json +0 -13
  388. package/gallery.json +0 -706
  389. package/hardening.d.ts.map +0 -1
  390. package/hardening.js +0 -188
  391. package/headless.d.ts.map +0 -1
  392. package/headless.js +0 -11522
  393. package/http.d.ts.map +0 -1
  394. package/http.js +0 -2165
  395. package/index.cjs +0 -54682
  396. package/index.d.ts.map +0 -1
  397. package/index.js +0 -52310
  398. package/index.neutral.js +0 -46343
  399. package/mcp.d.ts.map +0 -1
  400. package/mcp.js +0 -20515
  401. package/memory.d.ts.map +0 -1
  402. package/nativehost.template.json +0 -10
  403. package/node.cjs +0 -54686
  404. package/node.d.ts.map +0 -1
  405. package/pack.d.ts.map +0 -1
  406. package/pack.js +0 -805
  407. package/policy.d.ts.map +0 -1
  408. package/progress.d.ts.map +0 -1
  409. package/progress.js +0 -645
  410. package/protocol.d.ts.map +0 -1
  411. package/protocol.js +0 -8334
  412. package/schemas/audit.schema.json +0 -226
  413. package/schemas/capability.schema.json +0 -113
  414. package/schemas/envelope.schema.json +0 -162
  415. package/schemas/memory.schema.json +0 -51
  416. package/schemas/observation.schema.json +0 -113
  417. package/schemas/plan.schema.json +0 -208
  418. package/schemas/progress.schema.json +0 -126
  419. package/schemas/proposal.schema.json +0 -68
  420. package/schemas/session.schema.json +0 -82
  421. package/schemas/tool.schema.json +0 -94
  422. package/server.d.ts.map +0 -1
  423. package/server.js +0 -28877
  424. package/umd-example.html +0 -18
  425. package/umd.d.ts.map +0 -1
  426. /package/{bun.d.ts → dist/bun.d.ts} +0 -0
  427. /package/{cli.d.ts → dist/cli.d.ts} +0 -0
  428. /package/{companion.d.ts → dist/companion.d.ts} +0 -0
  429. /package/{crossbrowser.d.ts → dist/crossbrowser.d.ts} +0 -0
  430. /package/{dashdone.d.ts → dist/dashdone.d.ts} +0 -0
  431. /package/{deno.d.ts → dist/deno.d.ts} +0 -0
  432. /package/{hardening.d.ts → dist/hardening.d.ts} +0 -0
  433. /package/{headless.d.ts → dist/headless.d.ts} +0 -0
  434. /package/{http.d.ts → dist/http.d.ts} +0 -0
  435. /package/{index.d.ts → dist/index.d.ts} +0 -0
  436. /package/{mcp.d.ts → dist/mcp.d.ts} +0 -0
  437. /package/{memory.d.ts → dist/memory.d.ts} +0 -0
  438. /package/{node.d.ts → dist/node.d.ts} +0 -0
  439. /package/{pack.d.ts → dist/pack.d.ts} +0 -0
  440. /package/{policy.d.ts → dist/policy.d.ts} +0 -0
  441. /package/{progress.d.ts → dist/progress.d.ts} +0 -0
  442. /package/{protocol.d.ts → dist/protocol.d.ts} +0 -0
  443. /package/{server.d.ts → dist/server.d.ts} +0 -0
  444. /package/{umd.d.ts → dist/umd.d.ts} +0 -0
@@ -0,0 +1,380 @@
1
+ /**
2
+ * @file antigravity.ts — the antigravity provider plugin of the merged repository.
3
+ * @description
4
+ * Third-person observer: the observer analyses how Gemini CLI, OmniRoute, 9router and
5
+ * pi-antigravity-auth bypass the Project ID and reproduces exactly the same behaviour
6
+ * in a library-first, root-first shape.
7
+ *
8
+ * Responsabilidades (the merged plugin contract):
9
+ * - Total Project ID bypass acting exactly like the Gemini CLI: when
10
+ * account.projectId is absent the observer calls resolveProjectId which runs
11
+ * loadCodeAssist without a project (metadata only), onboardUser when needed
12
+ * (FREE tier), LRO polling, never demanding a project from the user. The
13
+ * in-memory cache carries a truncated SHA256 hash so a heap snapshot never
14
+ * leaks the token.
15
+ * - Endpoint wrapping {model, project, request} the Gemini CLI way
16
+ * (CodeAssistServer.createCodeAssistContentGenerator), straight to
17
+ * cloudcode-pa.googleapis.com, no localhost v1 proxy, no generativelanguage.
18
+ * - The complete model list through 25/08/2026: gemini-3.6, 3.5, 3.1, 3,
19
+ * 2.5, claude 4.5/4.6 thinking, gpt-oss-120b, preview variants plus the
20
+ * antigravity-* aliases.
21
+ * - Dual quota (Antigravity + Gemini CLI), cli_first, pid_offset_enabled
22
+ * 0-1000, google_search grounding.
23
+ * - Hooks: the fetch interceptor cascade 403/404/5xx with 0-80ms jitter,
24
+ * strip x-goog-user-project (fix #1830), skip sandbox for
25
+ * gemini-3.6/3.5/preview (fix #233), the third-person observer, node:*
26
+ * builtins + global fetch only.
27
+ */
28
+ export type PluginOptions = {
29
+ cli_first?: boolean;
30
+ pid_offset_enabled?: boolean;
31
+ /** true/false forces grounding on/off; "auto" enables it for Gemini (non-Claude) models only. */
32
+ google_search_enabled?: boolean | "auto";
33
+ quota_refresh_interval_minutes?: number;
34
+ rotation_strategy?: "round-robin" | "sticky";
35
+ debug?: boolean;
36
+ /** Prefix tool descriptions with hardening hints for Claude models. */
37
+ claude_tool_hardening?: boolean;
38
+ /** Keep thinking blocks/signatures in transformed output instead of dropping them. */
39
+ keep_thinking?: boolean;
40
+ /** Skip accounts whose used-percentage is at or above this threshold (0-100). */
41
+ soft_quota_threshold_percent?: number;
42
+ /** How long a soft-quota mark lasts, in minutes; "auto" resolves to 15. */
43
+ soft_quota_cache_ttl_minutes?: number | "auto";
44
+ /** Suppress toast() notifications. */
45
+ quiet_mode?: boolean;
46
+ };
47
+ import type { Account } from "./accounts.js";
48
+ export type { Account };
49
+ export { ANTIGRAVITY_VERSION_FALLBACK, CONTENT_TIMEOUT_MS, FALLBACK_PROJECT_ID, FORBIDDEN_HEADERS, FETCH_TIMEOUT_MS, GEMINI_CLI_SCOPES, PLUGIN_VERSION, } from "./constants.js";
50
+ export { fnv1a32, fnv1a32Hex, getJitter } from "./core.js";
51
+ export { buildAntagravityHeaders, getDynamicUserAgent } from "./fingerprint.js";
52
+ export { ALL_MODELS_2026, ANTIGRAVITY_VERSION_MIN, CODE_ASSIST_ENDPOINTS, ENDPOINT_ORDER, ENDPOINT_ORDER_GEMINI_CLI, GEMINI_CLI_ONLY_MODELS, MODELS_2026_BASE, MODELS_2026_ANTIGRAVITY_ALIAS, THINKING_BUDGET_MAP, THINKING_LEVELS, buildImageGenConfig, getEndpointsForModel, isGeminiCLIOnlyModel, isImageGenModel, mapModelToGroup, } from "./models.js";
53
+ export { MODELS_2026_PROVIDER as MODELS_2026 } from "./models.js";
54
+ export type { ModelId2026, ThinkingLevel } from "./models.js";
55
+ export { resolveProjectId } from "./project.js";
56
+ export type { ResolveProjectIdOptions, ResolveResult } from "./project.js";
57
+ type RequestInfo = Parameters<typeof fetch>[0];
58
+ export declare const PLUGIN_ID: "devthink";
59
+ /** Public alias kept for consumers that expect `VERSION` instead of `PLUGIN_VERSION`. */
60
+ export declare const VERSION: string;
61
+ /**
62
+ * User-facing notification glue (v2.1.15 Phase D: renamed from the former
63
+ * toast() — recovery.js owns the toast name with its sink-based notifier).
64
+ * No-op when quiet_mode is enabled.
65
+ */
66
+ export declare function notifyUser(message: string): void;
67
+ export declare class AntigravityPlugin {
68
+ private accountManager;
69
+ private quotaManager;
70
+ private options;
71
+ private version;
72
+ private initialized;
73
+ constructor(options?: PluginOptions);
74
+ init(): Promise<void>;
75
+ private getUserAgent;
76
+ private shouldHandleModel;
77
+ private getAccountForModel;
78
+ private refreshIfNeeded;
79
+ /**
80
+ * handleFetch — intercepta fetch do opencode provider google.
81
+ * Observer third-person: faz exatamente como Gemini CLI:
82
+ * - se account.projectId ausente, chama resolveProjectId que faz loadCodeAssist SEM project, onboardUser se necessário, nunca exige project do usuário.
83
+ * - wrapping {model, project, request} direto cloudcode-pa, sem localhost v1 proxy.
84
+ * - cascade 403/404/5xx, strip x-goog-user-project, skip sandbox para gemini-3.6/3.5/preview.
85
+ * - dual quota + cli_first + pid_offset.
86
+ */
87
+ handleFetch(originalFetch: typeof fetch, input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
88
+ getPluginDefinition(): {
89
+ id: "devthink";
90
+ version: "2.0.0";
91
+ name: string;
92
+ description: string;
93
+ onInit(): Promise<void>;
94
+ hooks: {
95
+ "tool.execute.before": (ctx: any) => Promise<any>;
96
+ "tool.execute.after": (ctx: any) => Promise<any>;
97
+ fetch: (input: RequestInfo | URL, init?: RequestInit, next?: typeof fetch) => Promise<Response>;
98
+ };
99
+ auth: {
100
+ provider: string;
101
+ /**
102
+ * opencode credential loader (merged from legacy plugin.ts): supplies the
103
+ * active account OAuth credentials to opencode without re-running login.
104
+ */
105
+ loader(): Promise<{
106
+ type: string;
107
+ accessToken: any;
108
+ refreshToken: any;
109
+ projectId: any;
110
+ email: any;
111
+ } | null>;
112
+ login(): Promise<{
113
+ email: any;
114
+ }>;
115
+ list(): Promise<any>;
116
+ logout(email?: string): Promise<void>;
117
+ /**
118
+ * Enable/disable toggle (merged from plugin(5)): disabled accounts are
119
+ * skipped by rotation until re-enabled.
120
+ */
121
+ enable(email: string, en?: boolean): Promise<void>;
122
+ };
123
+ config: {
124
+ schema: {
125
+ oauth_identity: {
126
+ type: string;
127
+ enum: string[];
128
+ default: string;
129
+ description: string;
130
+ };
131
+ cli_first: {
132
+ type: string;
133
+ default: boolean;
134
+ description: string;
135
+ };
136
+ pid_offset_enabled: {
137
+ type: string;
138
+ default: boolean;
139
+ description: string;
140
+ };
141
+ google_search_enabled: {
142
+ type: string[];
143
+ default: boolean;
144
+ description: string;
145
+ };
146
+ quota_refresh_interval_minutes: {
147
+ type: string;
148
+ default: number;
149
+ };
150
+ rotation_strategy: {
151
+ type: string;
152
+ enum: string[];
153
+ default: string;
154
+ };
155
+ claude_tool_hardening: {
156
+ type: string;
157
+ default: boolean;
158
+ description: string;
159
+ };
160
+ keep_thinking: {
161
+ type: string;
162
+ default: boolean;
163
+ description: string;
164
+ };
165
+ soft_quota_threshold_percent: {
166
+ type: string;
167
+ default: number;
168
+ description: string;
169
+ };
170
+ soft_quota_cache_ttl_minutes: {
171
+ type: string[];
172
+ default: string;
173
+ description: string;
174
+ };
175
+ quiet_mode: {
176
+ type: string;
177
+ default: boolean;
178
+ description: string;
179
+ };
180
+ };
181
+ defaults: {
182
+ cli_first: boolean;
183
+ pid_offset_enabled: boolean;
184
+ google_search_enabled: boolean;
185
+ quota_refresh_interval_minutes: number;
186
+ rotation_strategy: string;
187
+ claude_tool_hardening: boolean;
188
+ keep_thinking: boolean;
189
+ soft_quota_threshold_percent: number;
190
+ soft_quota_cache_ttl_minutes: string;
191
+ quiet_mode: boolean;
192
+ };
193
+ };
194
+ models: {
195
+ id: "antigravity-claude-opus-4-5-thinking" | "antigravity-claude-opus-4-6" | "antigravity-claude-opus-4-6-thinking" | "antigravity-claude-sonnet-4-5" | "antigravity-claude-sonnet-4-6" | "antigravity-claude-sonnet-4-6-thinking" | "antigravity-gemini-2.5-flash" | "antigravity-gemini-2.5-flash-lite" | "antigravity-gemini-2.5-pro" | "antigravity-gemini-3-deep-think" | "antigravity-gemini-3-flash" | "antigravity-gemini-3-flash-preview" | "antigravity-gemini-3-pro" | "antigravity-gemini-3-pro-preview" | "antigravity-gemini-3.1-flash-image" | "antigravity-gemini-3.1-flash-lite" | "antigravity-gemini-3.1-pro" | "antigravity-gemini-3.1-pro-high" | "antigravity-gemini-3.1-pro-low" | "antigravity-gemini-3.1-pro-preview" | "antigravity-gemini-3.1-pro-preview-customtools" | "antigravity-gemini-3.5-flash" | "antigravity-gemini-3.5-flash-high" | "antigravity-gemini-3.5-flash-lite" | "antigravity-gemini-3.5-flash-lite-preview" | "antigravity-gemini-3.5-flash-medium" | "antigravity-gemini-3.6-flash" | "antigravity-gemini-3.6-flash-high" | "antigravity-gemini-3.6-flash-low" | "antigravity-gemini-3.6-flash-medium" | "antigravity-gemini-3.6-flash-tiered" | "claude-opus-4-5-thinking" | "claude-opus-4-6-thinking" | "claude-sonnet-4-5" | "claude-sonnet-4-6-thinking" | "gemini-2.5-flash" | "gemini-2.5-flash-lite" | "gemini-2.5-pro" | "gemini-3-deep-think" | "gemini-3-flash" | "gemini-3-flash-preview" | "gemini-3-pro" | "gemini-3-pro-preview" | "gemini-3.1-flash-image" | "gemini-3.1-flash-lite" | "gemini-3.1-pro" | "gemini-3.1-pro-high" | "gemini-3.1-pro-low" | "gemini-3.1-pro-preview" | "gemini-3.1-pro-preview-customtools" | "gemini-3.5-flash" | "gemini-3.5-flash-high" | "gemini-3.5-flash-lite" | "gemini-3.5-flash-lite-preview" | "gemini-3.5-flash-medium" | "gemini-3.6-flash" | "gemini-3.6-flash-high" | "gemini-3.6-flash-low" | "gemini-3.6-flash-medium" | "gemini-3.6-flash-tiered" | "gpt-oss-120b-high" | "gpt-oss-120b-medium";
196
+ name: "antigravity-claude-opus-4-5-thinking" | "antigravity-claude-opus-4-6" | "antigravity-claude-opus-4-6-thinking" | "antigravity-claude-sonnet-4-5" | "antigravity-claude-sonnet-4-6" | "antigravity-claude-sonnet-4-6-thinking" | "antigravity-gemini-2.5-flash" | "antigravity-gemini-2.5-flash-lite" | "antigravity-gemini-2.5-pro" | "antigravity-gemini-3-deep-think" | "antigravity-gemini-3-flash" | "antigravity-gemini-3-flash-preview" | "antigravity-gemini-3-pro" | "antigravity-gemini-3-pro-preview" | "antigravity-gemini-3.1-flash-image" | "antigravity-gemini-3.1-flash-lite" | "antigravity-gemini-3.1-pro" | "antigravity-gemini-3.1-pro-high" | "antigravity-gemini-3.1-pro-low" | "antigravity-gemini-3.1-pro-preview" | "antigravity-gemini-3.1-pro-preview-customtools" | "antigravity-gemini-3.5-flash" | "antigravity-gemini-3.5-flash-high" | "antigravity-gemini-3.5-flash-lite" | "antigravity-gemini-3.5-flash-lite-preview" | "antigravity-gemini-3.5-flash-medium" | "antigravity-gemini-3.6-flash" | "antigravity-gemini-3.6-flash-high" | "antigravity-gemini-3.6-flash-low" | "antigravity-gemini-3.6-flash-medium" | "antigravity-gemini-3.6-flash-tiered" | "claude-opus-4-5-thinking" | "claude-opus-4-6-thinking" | "claude-sonnet-4-5" | "claude-sonnet-4-6-thinking" | "gemini-2.5-flash" | "gemini-2.5-flash-lite" | "gemini-2.5-pro" | "gemini-3-deep-think" | "gemini-3-flash" | "gemini-3-flash-preview" | "gemini-3-pro" | "gemini-3-pro-preview" | "gemini-3.1-flash-image" | "gemini-3.1-flash-lite" | "gemini-3.1-pro" | "gemini-3.1-pro-high" | "gemini-3.1-pro-low" | "gemini-3.1-pro-preview" | "gemini-3.1-pro-preview-customtools" | "gemini-3.5-flash" | "gemini-3.5-flash-high" | "gemini-3.5-flash-lite" | "gemini-3.5-flash-lite-preview" | "gemini-3.5-flash-medium" | "gemini-3.6-flash" | "gemini-3.6-flash-high" | "gemini-3.6-flash-low" | "gemini-3.6-flash-medium" | "gemini-3.6-flash-tiered" | "gpt-oss-120b-high" | "gpt-oss-120b-medium";
197
+ provider: string;
198
+ context: 200000 | 1048576;
199
+ output: 64000 | 65535;
200
+ api: "antigravity" | "gemini-cli";
201
+ modalities: {
202
+ input: string[];
203
+ output: string[];
204
+ };
205
+ }[];
206
+ };
207
+ }
208
+ export declare function getPlugin(options?: PluginOptions): AntigravityPlugin;
209
+ /** Legacy definition export (pre-1.18 shape) kept for library consumers. */
210
+ export declare const plugin: {
211
+ id: "devthink";
212
+ version: "2.0.0";
213
+ name: string;
214
+ description: string;
215
+ onInit(): Promise<void>;
216
+ hooks: {
217
+ "tool.execute.before": (ctx: any) => Promise<any>;
218
+ "tool.execute.after": (ctx: any) => Promise<any>;
219
+ fetch: (input: RequestInfo | URL, init?: RequestInit, next?: typeof fetch) => Promise<Response>;
220
+ };
221
+ auth: {
222
+ provider: string;
223
+ /**
224
+ * opencode credential loader (merged from legacy plugin.ts): supplies the
225
+ * active account OAuth credentials to opencode without re-running login.
226
+ */
227
+ loader(): Promise<{
228
+ type: string;
229
+ accessToken: any;
230
+ refreshToken: any;
231
+ projectId: any;
232
+ email: any;
233
+ } | null>;
234
+ login(): Promise<{
235
+ email: any;
236
+ }>;
237
+ list(): Promise<any>;
238
+ logout(email?: string): Promise<void>;
239
+ /**
240
+ * Enable/disable toggle (merged from plugin(5)): disabled accounts are
241
+ * skipped by rotation until re-enabled.
242
+ */
243
+ enable(email: string, en?: boolean): Promise<void>;
244
+ };
245
+ config: {
246
+ schema: {
247
+ oauth_identity: {
248
+ type: string;
249
+ enum: string[];
250
+ default: string;
251
+ description: string;
252
+ };
253
+ cli_first: {
254
+ type: string;
255
+ default: boolean;
256
+ description: string;
257
+ };
258
+ pid_offset_enabled: {
259
+ type: string;
260
+ default: boolean;
261
+ description: string;
262
+ };
263
+ google_search_enabled: {
264
+ type: string[];
265
+ default: boolean;
266
+ description: string;
267
+ };
268
+ quota_refresh_interval_minutes: {
269
+ type: string;
270
+ default: number;
271
+ };
272
+ rotation_strategy: {
273
+ type: string;
274
+ enum: string[];
275
+ default: string;
276
+ };
277
+ claude_tool_hardening: {
278
+ type: string;
279
+ default: boolean;
280
+ description: string;
281
+ };
282
+ keep_thinking: {
283
+ type: string;
284
+ default: boolean;
285
+ description: string;
286
+ };
287
+ soft_quota_threshold_percent: {
288
+ type: string;
289
+ default: number;
290
+ description: string;
291
+ };
292
+ soft_quota_cache_ttl_minutes: {
293
+ type: string[];
294
+ default: string;
295
+ description: string;
296
+ };
297
+ quiet_mode: {
298
+ type: string;
299
+ default: boolean;
300
+ description: string;
301
+ };
302
+ };
303
+ defaults: {
304
+ cli_first: boolean;
305
+ pid_offset_enabled: boolean;
306
+ google_search_enabled: boolean;
307
+ quota_refresh_interval_minutes: number;
308
+ rotation_strategy: string;
309
+ claude_tool_hardening: boolean;
310
+ keep_thinking: boolean;
311
+ soft_quota_threshold_percent: number;
312
+ soft_quota_cache_ttl_minutes: string;
313
+ quiet_mode: boolean;
314
+ };
315
+ };
316
+ models: {
317
+ id: "antigravity-claude-opus-4-5-thinking" | "antigravity-claude-opus-4-6" | "antigravity-claude-opus-4-6-thinking" | "antigravity-claude-sonnet-4-5" | "antigravity-claude-sonnet-4-6" | "antigravity-claude-sonnet-4-6-thinking" | "antigravity-gemini-2.5-flash" | "antigravity-gemini-2.5-flash-lite" | "antigravity-gemini-2.5-pro" | "antigravity-gemini-3-deep-think" | "antigravity-gemini-3-flash" | "antigravity-gemini-3-flash-preview" | "antigravity-gemini-3-pro" | "antigravity-gemini-3-pro-preview" | "antigravity-gemini-3.1-flash-image" | "antigravity-gemini-3.1-flash-lite" | "antigravity-gemini-3.1-pro" | "antigravity-gemini-3.1-pro-high" | "antigravity-gemini-3.1-pro-low" | "antigravity-gemini-3.1-pro-preview" | "antigravity-gemini-3.1-pro-preview-customtools" | "antigravity-gemini-3.5-flash" | "antigravity-gemini-3.5-flash-high" | "antigravity-gemini-3.5-flash-lite" | "antigravity-gemini-3.5-flash-lite-preview" | "antigravity-gemini-3.5-flash-medium" | "antigravity-gemini-3.6-flash" | "antigravity-gemini-3.6-flash-high" | "antigravity-gemini-3.6-flash-low" | "antigravity-gemini-3.6-flash-medium" | "antigravity-gemini-3.6-flash-tiered" | "claude-opus-4-5-thinking" | "claude-opus-4-6-thinking" | "claude-sonnet-4-5" | "claude-sonnet-4-6-thinking" | "gemini-2.5-flash" | "gemini-2.5-flash-lite" | "gemini-2.5-pro" | "gemini-3-deep-think" | "gemini-3-flash" | "gemini-3-flash-preview" | "gemini-3-pro" | "gemini-3-pro-preview" | "gemini-3.1-flash-image" | "gemini-3.1-flash-lite" | "gemini-3.1-pro" | "gemini-3.1-pro-high" | "gemini-3.1-pro-low" | "gemini-3.1-pro-preview" | "gemini-3.1-pro-preview-customtools" | "gemini-3.5-flash" | "gemini-3.5-flash-high" | "gemini-3.5-flash-lite" | "gemini-3.5-flash-lite-preview" | "gemini-3.5-flash-medium" | "gemini-3.6-flash" | "gemini-3.6-flash-high" | "gemini-3.6-flash-low" | "gemini-3.6-flash-medium" | "gemini-3.6-flash-tiered" | "gpt-oss-120b-high" | "gpt-oss-120b-medium";
318
+ name: "antigravity-claude-opus-4-5-thinking" | "antigravity-claude-opus-4-6" | "antigravity-claude-opus-4-6-thinking" | "antigravity-claude-sonnet-4-5" | "antigravity-claude-sonnet-4-6" | "antigravity-claude-sonnet-4-6-thinking" | "antigravity-gemini-2.5-flash" | "antigravity-gemini-2.5-flash-lite" | "antigravity-gemini-2.5-pro" | "antigravity-gemini-3-deep-think" | "antigravity-gemini-3-flash" | "antigravity-gemini-3-flash-preview" | "antigravity-gemini-3-pro" | "antigravity-gemini-3-pro-preview" | "antigravity-gemini-3.1-flash-image" | "antigravity-gemini-3.1-flash-lite" | "antigravity-gemini-3.1-pro" | "antigravity-gemini-3.1-pro-high" | "antigravity-gemini-3.1-pro-low" | "antigravity-gemini-3.1-pro-preview" | "antigravity-gemini-3.1-pro-preview-customtools" | "antigravity-gemini-3.5-flash" | "antigravity-gemini-3.5-flash-high" | "antigravity-gemini-3.5-flash-lite" | "antigravity-gemini-3.5-flash-lite-preview" | "antigravity-gemini-3.5-flash-medium" | "antigravity-gemini-3.6-flash" | "antigravity-gemini-3.6-flash-high" | "antigravity-gemini-3.6-flash-low" | "antigravity-gemini-3.6-flash-medium" | "antigravity-gemini-3.6-flash-tiered" | "claude-opus-4-5-thinking" | "claude-opus-4-6-thinking" | "claude-sonnet-4-5" | "claude-sonnet-4-6-thinking" | "gemini-2.5-flash" | "gemini-2.5-flash-lite" | "gemini-2.5-pro" | "gemini-3-deep-think" | "gemini-3-flash" | "gemini-3-flash-preview" | "gemini-3-pro" | "gemini-3-pro-preview" | "gemini-3.1-flash-image" | "gemini-3.1-flash-lite" | "gemini-3.1-pro" | "gemini-3.1-pro-high" | "gemini-3.1-pro-low" | "gemini-3.1-pro-preview" | "gemini-3.1-pro-preview-customtools" | "gemini-3.5-flash" | "gemini-3.5-flash-high" | "gemini-3.5-flash-lite" | "gemini-3.5-flash-lite-preview" | "gemini-3.5-flash-medium" | "gemini-3.6-flash" | "gemini-3.6-flash-high" | "gemini-3.6-flash-low" | "gemini-3.6-flash-medium" | "gemini-3.6-flash-tiered" | "gpt-oss-120b-high" | "gpt-oss-120b-medium";
319
+ provider: string;
320
+ context: 200000 | 1048576;
321
+ output: 64000 | 65535;
322
+ api: "antigravity" | "gemini-cli";
323
+ modalities: {
324
+ input: string[];
325
+ output: string[];
326
+ };
327
+ }[];
328
+ };
329
+ /**
330
+ * Detects which opencode.json provider block belongs to the provider plugin by looking at
331
+ * MODEL IDS ONLY (never the provider name): any provider whose models include
332
+ * `antigravity-*` prefixed ids or Google `gemini-*` ids is a provider consumer,
333
+ * whatever the user named it ("google", "antigravity", "casas-bahia", ...).
334
+ * Deterministic priority: antigravity-* models > gemini-* models; exact ids
335
+ * "google" / "antigravity" win ties; file order breaks remaining ties.
336
+ * Returns null when no config/provider qualifies (caller falls back "google").
337
+ */
338
+ export declare function detectOpencodeProviderId(configDir?: string): string | null;
339
+ /**
340
+ * Builds a complete opencode AuthHook for one provider id (shared loader +
341
+ * the OAuth methods). Used by the ./server entry for the standard "google"
342
+ * and "antigravity" entries and for the custom provider detected by model
343
+ * ids — all three surface in `opencode auth login` with an OAuth option.
344
+ */
345
+ export declare function buildOpencodeAuthHook(providerId: string): Record<string, any>;
346
+ /**
347
+ * Standard-entry safety net: ensures a provider "antigravity" ALWAYS exists
348
+ * in the config (npm @ai-sdk/google + the provider model catalog) unless the
349
+ * user defined their own "antigravity" block or disabled the provider.
350
+ * This is one of the TWO standard entries ("google" is the other — it always
351
+ * exists in opencode's models.dev database): the "Antigravity" entry of
352
+ * `opencode auth login` is immediately usable, and credentials stored under
353
+ * "antigravity" (e.g. from a zero-config login on another project) always
354
+ * find their provider — opencode crashes on auth-loader credentials whose
355
+ * provider exists neither in models.dev nor in the config. ADD-ONLY and
356
+ * in-memory: the user's file is never touched and an explicit
357
+ * "antigravity" block always wins.
358
+ */
359
+ export declare function injectAntigravityProvider(cfg: any, enabled?: boolean): void;
360
+ /**
361
+ * The opencode server entry: initializes the plugin singleton and returns
362
+ * the hooks object implementing the 1.18.x contract — header injection,
363
+ * the zero-config antigravity provider injection and the auth entry for
364
+ * the CUSTOM provider detected by model ids. The standard "google" and
365
+ * "antigravity" auth entries are registered by server.ts (the ./server
366
+ * package entry) and are never duplicated here.
367
+ */
368
+ export declare function opencodeServer(_input?: unknown, options?: PluginOptions): Promise<Record<string, any>>;
369
+ /**
370
+ * The opencode PluginModule (V1 shape): what loaders that read package.json
371
+ * `main` directly get (library consumers, older opencode builds). It always
372
+ * carries exactly one auth entry — the detected provider with the "google"
373
+ * fallback — so single-hook loaders keep working.
374
+ */
375
+ declare const opencodePluginModule: {
376
+ readonly id: "devthink";
377
+ readonly server: (input?: unknown, options?: PluginOptions) => Promise<Record<string, any>>;
378
+ };
379
+ export default opencodePluginModule;
380
+ //# sourceMappingURL=antigravity.d.ts.map
@@ -0,0 +1,113 @@
1
+ /**
2
+ * The api freeze family of the 1.1.91 release: the versioned contracts, the capability manifests and the deprecation policy that pinned the external surface of the library until the 2.0.0 sunset closed the window.
3
+ * The correlation is the freeze itself: the protocolv2 negotiation that answers major two to new clients, refused every version one declaration below the supported floor once the 2.0.0 sunset raised it and refuses every major above two until a future bump; the frozen surface catalogs of the background, pagebridge, sidepanel, popup, cli, library and mcp surfaces with their message types, action kinds and permissions; the capability manifest builder and the manifest comparison that flags capability drift between releases; the deprecation registry the 2.0.0 sunset emptied with the window record it keeps as history; and the freeze scope record that names the release, the date and the surfaces the pin covers.
4
+ * No new capability enters the library through this family: the module carries frozen data and pure guarantees only — the message schemas stay in protocol.ts and types.ts, the gates stay in policy.ts, and every surface list here mirrors the code it freezes so the apifreeze gate can verify the mirror never drifts.
5
+ */
6
+ /** The supported protocol major range of protocolv2: the minimum follows the protocol floor of version.ts — the 2.0.0 sunset closed the deprecation window and raised it to major two, so the line speaks major two only while every major above two refuses until a future major bump. */
7
+ export declare const protocolsupported: Readonly<{
8
+ minimum: number;
9
+ maximum: number;
10
+ }>;
11
+ /** The release that pinned the frozen contracts: a fixed contract fact of the freeze history, never a runtime stamp. */
12
+ export declare const apifreezerelease = "1.1.91";
13
+ /** The date the api freeze pinned the contracts: a fixed contract fact recorded in the freeze artifact, never a runtime timestamp. */
14
+ export declare const apifreezedate = "2026-08-31";
15
+ /** The scope of the api freeze: the seven surfaces whose message types, kinds and permissions the release pinned. */
16
+ export declare const apifreezescope: readonly string[];
17
+ /** Parses the protocol major of one version declaration: a full package version string carries its major in the first component while a bare non negative integer is the major itself — a declared major of zero parses as zero so the negotiation refuses it below the supported floor instead of mistaking it for an undeclared client — and anything unparseable answers undefined. */
18
+ export declare function protocolmajorof(declaration: string | number | undefined): number | undefined;
19
+ /** Negotiates the protocol major with one client: a client that declares no version answers the frozen default of two, a client that declares major one refuses below the supported floor the 2.0.0 sunset raised — the refusal names the supported range and points version one assets at the migrateplan command and the migration guide — and a major outside the supported range refuses with the range inside the refusal so the mismatch always names what the server supports. */
20
+ export declare function negotiateprotocol(input: {
21
+ client?: string | number;
22
+ }): {
23
+ agreed: boolean;
24
+ major?: number;
25
+ deprecation?: string;
26
+ reason?: string;
27
+ };
28
+ /** Negotiates the highest shared protocol major with one client: the shared line is the highest major both sides speak inside the supported range — a list that carries both one and two filters down to the supported side and answers major two, the negotiate up path the 2.0.0 roadmap promises — and an empty intersection names the supported range in its refusal. */
29
+ export declare function sharedprotocolversion(clientversions: number[]): {
30
+ shared: boolean;
31
+ major?: number;
32
+ reason?: string;
33
+ };
34
+ /** One deprecated field of the deprecation window: the surface that carries it, the field name, the plain language notice and the sunset release that removes it. */
35
+ export interface deprecatedfield {
36
+ surface: string;
37
+ field: string;
38
+ notice: string;
39
+ sunsetrelease: string;
40
+ }
41
+ /** The deprecation registry of the api freeze: the 2.0.0 sunset removed every entry the window carried — the umd Devthink shim and the mcp protocolversion string both left the registry and the code at their sunset — so the registry stays empty and hashes into the freeze artifact as the empty contract until a future release opens a new window through a changelog entry that names its deprecations, their notices and their sunset releases. */
42
+ export declare const deprecatedfields: readonly deprecatedfield[];
43
+ /** The deprecation window of the api freeze kept as history: the window opened at the freeze release 1.1.91, carried version one acceptance with one warning per session per deprecated field and closed at 2.0.0 when the sunset removed every field it carried. */
44
+ export declare const deprecationwindow: Readonly<{
45
+ opens: string;
46
+ closes: string;
47
+ }>;
48
+ /** Reads the deprecation notice of one declared field: the registry answers the notice of the exact surface and field pair, and an unregistered pair answers undefined. */
49
+ export declare function deprecationnoticeof(surface: string, field: string): string | undefined;
50
+ /** Warns one deprecated field once per session: the first sighting joins the warned set and answers its notice while every later sighting of the same field stays silent, exactly the one warning per session the deprecation window promises — the umd shim of the Devthink global is the precedent this rule generalizes. */
51
+ export declare function warnonce(input: {
52
+ warned: ReadonlySet<string>;
53
+ surface: string;
54
+ field: string;
55
+ }): {
56
+ warned: ReadonlySet<string>;
57
+ notice?: string;
58
+ };
59
+ /** Maps every extension manifest permission to its consuming capability: the surface that holds the permission, the message types that need it and the action kinds that exercise it — the map answers what each granted permission serves, so the permission list of the manifest and the capability manifests never disagree. */
60
+ export declare const permissioncoverage: Readonly<Record<string, {
61
+ surface: string;
62
+ messages: string[];
63
+ kinds: string[];
64
+ }>>;
65
+ /** The frozen message types of the background surface: every kind the request router of the service worker dispatches, extracted from the request switch and pinned here so the gate can verify the router and the manifest never drift apart. */
66
+ export declare const backgroundsurfacemessages: readonly string[];
67
+ /** The frozen member names of the pagebridge surface: every member of the injected devthinkbridge object, pinned here so the gate can verify the injected bridge and the manifest never drift apart. */
68
+ export declare const pagebridgesurfacemessages: readonly string[];
69
+ /** The frozen message types of the sidepanel surface: every kind the sidepanel request helper sends to the background, pinned here so the gate can verify the panel and the manifest never drift apart. */
70
+ export declare const sidepanelsurfacemessages: readonly string[];
71
+ /** The frozen message types of the popup surface: every kind the popup request helper sends to the background, pinned here so the gate can verify the popup and the manifest never drift apart. */
72
+ export declare const popupsurfacemessages: readonly string[];
73
+ /** The frozen commands of the cli surface: every command the terminal dispatches, pinned here so the gate can verify the dispatch, the command registry and the manifest never drift apart. */
74
+ export declare const clisurfacecommands: readonly string[];
75
+ /** The frozen tools of the mcp surface with their per tool versions frozen from this release on, so the catalog, the tool listing and the manifest never drift apart. */
76
+ export declare const mcpsurfacetools: ReadonlyArray<{
77
+ name: string;
78
+ version: number;
79
+ }>;
80
+ /** The frozen kinds the mcp tool catalog wraps: the reviewed action kinds of the four tool domains, so the mcp manifest and the domain grammar never drift apart. */
81
+ export declare const mcpsurfacekinds: readonly string[];
82
+ /** The frozen export surface of the library: every symbol index.ts exports across its family star exports and explicit re-exports — the library message types of the freeze — pinned here so the gate can verify the library exposes no undeclared symbol. */
83
+ export declare const librarysurfaceexports: readonly string[];
84
+ /** One surface name of the freeze. */
85
+ export type capmanifestsurface = "background" | "pagebridge" | "sidepanel" | "popup" | "cli" | "library" | "mcp";
86
+ /** One capability manifest of a frozen surface: the surface name, the release the manifest pins, the protocol major of the freeze, the message types the surface speaks, the action kinds it names, the permissions it consumes and the permission coverage slice that maps each permission to its consuming capability. */
87
+ export interface capmanifest {
88
+ surface: capmanifestsurface;
89
+ release: string;
90
+ protocolmajor: number;
91
+ messages: string[];
92
+ kinds: string[];
93
+ permissions: string[];
94
+ permissioncoverage: Record<string, {
95
+ surface: string;
96
+ messages: string[];
97
+ kinds: string[];
98
+ }>;
99
+ /** The per tool versions of the mcp surface; every other surface carries none. */
100
+ toolversions?: Record<string, number>;
101
+ }
102
+ /** Builds the capability manifest of one frozen surface: the manifest lists the message types, the kinds and the permissions of its surface with the release version the manifest pins — the background manifest carries the full permission coverage of the extension while every other surface carries the slice it consumes. */
103
+ export declare function capmanifestof(surface: capmanifestsurface): capmanifest;
104
+ /** Compares two capability manifests and flags the capability drift between releases: every added or removed message type, kind, permission and tool version answers as one named drift entry, so a release review reads exactly what moved on the surface. */
105
+ export declare function capmanifestdiff(previous: capmanifest, current: capmanifest): string[];
106
+ /** Reads the surface size of one manifest family: the message count the freeze reports per family, so the freeze artifact records the size of every surface it pins. */
107
+ export declare function capsurfacesize(surface: capmanifestsurface): {
108
+ surface: capmanifestsurface;
109
+ messages: number;
110
+ kinds: number;
111
+ permissions: number;
112
+ };
113
+ //# sourceMappingURL=apifreeze.d.ts.map