@wenathlan/devthink 2.0.13 → 2.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/accounts.ts +2087 -0
- package/agent.ts +2331 -0
- package/antigravity.ts +2139 -0
- package/apifreeze.ts +4146 -0
- package/auth.ts +642 -0
- package/background.ts +16837 -0
- package/bridge.ts +2080 -0
- package/build.ts +54 -0
- package/bun.ts +26 -0
- package/capture.ts +1614 -0
- package/checksecrets.ts +72 -0
- package/cjs.ts +9 -0
- package/cli.ts +3500 -0
- package/commands.ts +1101 -0
- package/companion.ts +450 -0
- package/compatibility.ts +37 -0
- package/config.ts +3137 -0
- package/constants.ts +943 -0
- package/core.ts +1473 -0
- package/crossbrowser.ts +1359 -0
- package/dashdone.ts +605 -0
- package/data.ts +943 -0
- package/database.ts +133 -0
- package/debug.ts +850 -0
- package/deno.ts +27 -0
- package/devthink.ts +707 -0
- package/dist/accounts.d.ts +409 -0
- package/dist/agent.d.ts +837 -0
- package/dist/antigravity.d.ts +380 -0
- package/dist/apifreeze.d.ts +113 -0
- package/dist/auth.d.ts +224 -0
- package/{bridge.d.ts → dist/bridge.d.ts} +1 -1
- package/dist/capture.d.ts +595 -0
- package/dist/cjs.d.ts +6 -0
- package/{cli.js → dist/cli.js} +2 -2
- package/dist/commands.d.ts +310 -0
- package/dist/compatibility.d.ts +17 -0
- package/dist/config.d.ts +1853 -0
- package/dist/constants.d.ts +637 -0
- package/dist/core.d.ts +361 -0
- package/dist/data.d.ts +330 -0
- package/dist/database.d.ts +24 -0
- package/dist/debug.d.ts +270 -0
- package/dist/engine.d.ts +74 -0
- package/dist/environments.d.ts +244 -0
- package/dist/evidence.d.ts +277 -0
- package/dist/export.d.ts +311 -0
- package/dist/fingerprint.d.ts +594 -0
- package/dist/flow.d.ts +300 -0
- package/dist/gates.d.ts +103 -0
- package/dist/identity.d.ts +51 -0
- package/dist/ids.d.ts +7 -0
- package/dist/llm.d.ts +652 -0
- package/dist/models.d.ts +1807 -0
- package/dist/net.d.ts +325 -0
- package/dist/neutral.d.ts +41 -0
- package/dist/oauth.d.ts +703 -0
- package/dist/page.d.ts +1166 -0
- package/dist/perf.d.ts +481 -0
- package/dist/plan.d.ts +134 -0
- package/dist/project.d.ts +395 -0
- package/dist/providers.d.ts +37 -0
- package/dist/quota.d.ts +453 -0
- package/dist/recovery.d.ts +621 -0
- package/dist/request.d.ts +1492 -0
- package/dist/run.d.ts +779 -0
- package/dist/runtime.d.ts +212 -0
- package/dist/search.d.ts +375 -0
- package/dist/security.d.ts +534 -0
- package/dist/serve.d.ts +136 -0
- package/dist/session.d.ts +296 -0
- package/dist/storage.d.ts +53 -0
- package/dist/streaming.d.ts +1119 -0
- package/dist/swarm.d.ts +328 -0
- package/dist/tools.d.ts +170 -0
- package/dist/types.d.ts +8357 -0
- package/dist/utils.d.ts +82 -0
- package/dist/version.d.ts +7 -0
- package/dist/versionregistry.d.ts +406 -0
- package/dist/views.d.ts +579 -0
- package/dist/workbenchsession.d.ts +69 -0
- package/dist/workflow.d.ts +649 -0
- package/docs/readme.md +92 -0
- package/docs/schemas/antigravity.json +192 -0
- package/engine.ts +1524 -0
- package/environments.ts +1005 -0
- package/evidence.ts +643 -0
- package/export.ts +889 -0
- package/fingerprint.ts +1458 -0
- package/flow.ts +1190 -0
- package/gates.ts +307 -0
- package/gateway.ts +34 -0
- package/hardening.ts +191 -0
- package/headless.ts +369 -0
- package/http.ts +2110 -0
- package/identity.ts +246 -0
- package/ids.ts +26 -0
- package/index.ts +369 -0
- package/llm.ts +2682 -0
- package/mcp.ts +1835 -0
- package/{memory.js → memory.ts} +3834 -2310
- package/models.ts +3805 -0
- package/modes.ts +43 -0
- package/net.ts +1214 -0
- package/neutral.ts +362 -0
- package/node.ts +26 -0
- package/oauth.ts +2216 -0
- package/offscreen.ts +170 -0
- package/pack.ts +956 -0
- package/package.json +175 -82
- package/page.ts +7824 -0
- package/pagebridge.ts +1116 -0
- package/perf.ts +957 -0
- package/plan.ts +672 -0
- package/plugin.ts +76 -0
- package/{policy.js → policy.ts} +5073 -4679
- package/prisma.config.ts +27 -0
- package/progress.ts +1308 -0
- package/project.ts +1291 -0
- package/protocol.ts +4187 -0
- package/providers.ts +246 -0
- package/quota.ts +1887 -0
- package/recovery.ts +2433 -0
- package/request.ts +4482 -0
- package/run.ts +2135 -0
- package/runtime.ts +526 -0
- package/search.ts +1760 -0
- package/security.ts +1673 -0
- package/serve.ts +419 -0
- package/server.ts +5538 -0
- package/session.ts +1162 -0
- package/storage.ts +182 -0
- package/streaming.ts +4101 -0
- package/swarm.ts +884 -0
- package/sync.ts +56 -0
- package/tests/agentcert.test.ts +128 -0
- package/tests/agentfleet.test.ts +214 -0
- package/tests/agentreview.test.ts +241 -0
- package/tests/agentstream.test.ts +335 -0
- package/tests/agentwork.test.ts +356 -0
- package/tests/apifreeze.test.ts +290 -0
- package/tests/apimap.test.ts +112 -0
- package/tests/approvalgate.test.ts +175 -0
- package/tests/artifactmanifest.test.ts +204 -0
- package/tests/attentionfeed.test.ts +163 -0
- package/tests/backgroundruns.test.ts +100 -0
- package/tests/batchscheduling.test.ts +131 -0
- package/tests/blackboard.test.ts +238 -0
- package/tests/bridge.test.ts +1088 -0
- package/tests/browsercoverage.test.ts +134 -0
- package/tests/browserpolyfills.test.ts +124 -0
- package/tests/build.mjs +1260 -0
- package/tests/clientauth.test.ts +223 -0
- package/tests/clitools.test.ts +578 -0
- package/tests/confirmgates.test.ts +190 -0
- package/tests/containerpack.test.ts +143 -0
- package/tests/controlflow.test.ts +2120 -0
- package/tests/coordination.test.ts +345 -0
- package/tests/copyscreen.test.ts +139 -0
- package/tests/core.test.ts +417 -0
- package/tests/costcert.test.ts +95 -0
- package/tests/crossbrowser.test.ts +115 -0
- package/tests/cspaudit.test.ts +79 -0
- package/tests/dashdone.test.ts +615 -0
- package/tests/datagrid.test.ts +137 -0
- package/tests/doccheck.test.ts +107 -0
- package/tests/dombatch.test.ts +109 -0
- package/tests/emulation.test.ts +282 -0
- package/tests/environments.test.ts +259 -0
- package/tests/evidenceviews.test.ts +88 -0
- package/tests/exporttools.test.ts +185 -0
- package/tests/firefoxprep.test.ts +134 -0
- package/tests/flowlibrary.test.ts +242 -0
- package/tests/flowrun.test.ts +303 -0
- package/tests/forensics.test.ts +439 -0
- package/tests/gateway.test.ts +939 -0
- package/tests/headlesslib.test.ts +171 -0
- package/tests/httpstream.test.ts +277 -0
- package/tests/immutablelog.test.ts +157 -0
- package/tests/inboundguard.test.ts +177 -0
- package/tests/lazyload.test.ts +72 -0
- package/tests/librarymodes.test.ts +623 -0
- package/tests/llm.test.ts +696 -0
- package/tests/manifest.test.ts +226 -0
- package/tests/maskinputs.test.ts +150 -0
- package/tests/matrixverify.test.ts +111 -0
- package/tests/mavenpack.test.ts +75 -0
- package/tests/mcpserver.test.ts +704 -0
- package/tests/memory.test.ts +4155 -0
- package/tests/memorycare.test.ts +230 -0
- package/tests/migrateplan.test.ts +349 -0
- package/tests/minimization.test.ts +414 -0
- package/tests/modelroute.test.ts +112 -0
- package/tests/multiagent.test.ts +440 -0
- package/tests/nativebridge.test.ts +807 -0
- package/tests/navigation.test.ts +284 -0
- package/tests/nugetpack.test.ts +83 -0
- package/tests/orchestration.test.ts +449 -0
- package/tests/originpolicy.test.ts +405 -0
- package/tests/outputcompare.test.ts +97 -0
- package/tests/package.test.ts +91 -0
- package/tests/pagebridge.test.ts +5909 -0
- package/tests/pentest.test.ts +75 -0
- package/tests/perfrecords.test.ts +257 -0
- package/tests/permdiff.test.ts +85 -0
- package/tests/phishguard.test.ts +128 -0
- package/tests/pickerviews.test.ts +155 -0
- package/tests/pipelines.test.ts +381 -0
- package/tests/planlint.test.ts +240 -0
- package/tests/planreview.test.ts +383 -0
- package/tests/platformtargets.test.ts +56 -0
- package/tests/policy.test.ts +8284 -0
- package/tests/portability.test.ts +96 -0
- package/tests/progress.test.ts +1036 -0
- package/tests/promptlibrary.test.ts +116 -0
- package/tests/protocol.test.ts +4793 -0
- package/tests/publishingpipeline.test.ts +314 -0
- package/tests/quickactions.test.ts +164 -0
- package/tests/readiness.test.ts +78 -0
- package/tests/recipes.test.ts +163 -0
- package/tests/redactshots.test.ts +216 -0
- package/tests/registernvidiakeys.ts +51 -0
- package/tests/relayserve.test.ts +304 -0
- package/tests/releasenotes.test.ts +276 -0
- package/tests/resilience.test.ts +467 -0
- package/tests/resourceaware.test.ts +187 -0
- package/tests/runbudget.test.ts +125 -0
- package/tests/runhistory.test.ts +299 -0
- package/tests/runreplay.test.ts +113 -0
- package/tests/runresume.test.ts +184 -0
- package/tests/runstate.test.ts +288 -0
- package/tests/runtimeadapters.test.ts +251 -0
- package/tests/safariskeleton.test.ts +115 -0
- package/tests/sandboxframe.test.ts +196 -0
- package/tests/sbom.test.ts +105 -0
- package/tests/secretvault.test.ts +188 -0
- package/tests/selcache.test.ts +111 -0
- package/tests/sessioninterface.test.ts +791 -0
- package/tests/sessions.test.ts +591 -0
- package/tests/siteprefs.test.ts +228 -0
- package/tests/snapshotdelta.test.ts +165 -0
- package/tests/statusviews.test.ts +237 -0
- package/tests/stepmeter.test.ts +200 -0
- package/tests/streamparse.test.ts +163 -0
- package/tests/stylepruning.test.ts +90 -0
- package/tests/surfaces.test.ts +282 -0
- package/tests/sweep.test.ts +78 -0
- package/tests/syncbridge.test.ts +164 -0
- package/tests/taskqueue.test.ts +206 -0
- package/tests/toolcalls.test.ts +336 -0
- package/tests/toolcatalog.test.ts +201 -0
- package/tests/torture-agent.test.ts +706 -0
- package/tests/torture-auth.test.ts +461 -0
- package/tests/torture-commands.test.ts +895 -0
- package/tests/torture-data.test.ts +923 -0
- package/tests/torture-environments.test.ts +285 -0
- package/tests/torture-export.test.ts +263 -0
- package/tests/torture-http.test.ts +1379 -0
- package/tests/torture-llm.test.ts +808 -0
- package/tests/torture-memory.test.ts +1084 -0
- package/tests/torture-plan.test.ts +829 -0
- package/tests/torture-run.test.ts +626 -0
- package/tests/torture-session.test.ts +928 -0
- package/tests/torture-swarm.test.ts +1245 -0
- package/tests/torture-tools.test.ts +964 -0
- package/tests/torture-workflow.test.ts +2354 -0
- package/tests/tourviews.test.ts +52 -0
- package/tests/transparency.test.ts +147 -0
- package/tests/trigger.test.ts +941 -0
- package/tests/v1sunset.test.ts +428 -0
- package/tests/virtlist.test.ts +94 -0
- package/tests/vision.test.ts +540 -0
- package/tests/vsixpack.test.ts +145 -0
- package/tests/webapi.test.ts +523 -0
- package/tests/workflow.test.ts +1785 -0
- package/tests/workfloweditor.test.ts +759 -0
- package/tests/xpipack.test.ts +128 -0
- package/tools.ts +734 -0
- package/types.ts +9908 -0
- package/umd.ts +9 -0
- package/utils.ts +249 -0
- package/version.ts +8 -0
- package/versionregistry.ts +1310 -0
- package/views.ts +2153 -0
- package/vitest.config.ts +12 -0
- package/web/App.tsx +78 -0
- package/web/README.md +47 -0
- package/web/capacitor.config.ts +46 -0
- package/web/const.ts +19 -0
- package/web/control.shell.tsx +66 -0
- package/web/dashboardpage.ts +554 -0
- package/web/db.ts +493 -0
- package/web/design.html +541 -0
- package/web/gatewayview/Gateway.tsx +345 -0
- package/web/gatewayview/config.ts +1042 -0
- package/web/gatewayview/definition.ts +174 -0
- package/web/icons.ts +15 -0
- package/{manifest.json → web/manifest.json} +1 -1
- package/web/optionspage.ts +691 -0
- package/web/popup.ts +1651 -0
- package/web/schema.prisma +176 -0
- package/web/sidepanel.ts +7941 -0
- package/web/sitemanifest.json +13 -0
- package/web/terminal-ui.tsx +622 -0
- package/web/transparencypage.ts +541 -0
- package/web/vite.config.ts +39 -0
- package/web/workspace.ts +23 -0
- package/workbenchmemory.ts +104 -0
- package/workbenchsession.ts +304 -0
- package/workflow.ts +4495 -0
- package/bridge.d.ts.map +0 -1
- package/bridge.js +0 -1877
- package/bun.d.ts.map +0 -1
- package/bun.js +0 -52329
- package/caps/background.json +0 -712
- package/caps/cli.json +0 -360
- package/caps/library.json +0 -3611
- package/caps/mcp.json +0 -126
- package/caps/pagebridge.json +0 -377
- package/caps/popup.json +0 -51
- package/caps/sidepanel.json +0 -522
- package/checksums.txt +0 -142
- package/cli.d.ts.map +0 -1
- package/companion.d.ts.map +0 -1
- package/companion.js +0 -389
- package/crossbrowser.d.ts.map +0 -1
- package/crossbrowser.js +0 -1191
- package/dashdone.d.ts.map +0 -1
- package/dashdone.js +0 -368
- package/deno.d.ts.map +0 -1
- package/deno.js +0 -52325
- package/devthink.umd.js +0 -52346
- package/fixtures/bun.ts +0 -7
- package/fixtures/cjs.js +0 -6
- package/fixtures/deno.ts +0 -6
- package/fixtures/example-org-pagestate.json +0 -22
- package/fixtures/importers/automa-workflow.json +0 -18
- package/fixtures/importers/selenium-side.json +0 -20
- package/fixtures/importers/tabular-plan.csv +0 -7
- package/fixtures/importers/uivision-macro.json +0 -10
- package/fixtures/importers/v1-plan.json +0 -13
- package/fixtures/mcp-client.mjs +0 -14
- package/fixtures/pages/checkout.html +0 -192
- package/fixtures/pages/dashboard.html +0 -110
- package/fixtures/pages/feed.html +0 -113
- package/fixtures/pages/product-grid.html +0 -150
- package/fixtures/plans/form-inventory-plan.json +0 -11
- package/fixtures/plans/release-notes-plan.json +0 -11
- package/fixtures/recipes/agentscompete.json +0 -11
- package/fixtures/recipes/agentsforms.json +0 -11
- package/fixtures/recipes/agentsmonitor.json +0 -11
- package/fixtures/recipes/agentsreview.json +0 -29
- package/fixtures/recipes/agentswarm.json +0 -11
- package/fixtures/recipes/fillcalendar.json +0 -12
- package/fixtures/recipes/fillcheckout.json +0 -13
- package/fixtures/recipes/filldependentdropdowns.json +0 -12
- package/fixtures/recipes/fillfromcsv.json +0 -13
- package/fixtures/recipes/fillloginform.json +0 -12
- package/fixtures/recipes/fillmultistepwizard.json +0 -13
- package/fixtures/recipes/fillregistration.json +0 -12
- package/fixtures/recipes/fillsearchfilters.json +0 -12
- package/fixtures/recipes/filltypeahead.json +0 -11
- package/fixtures/recipes/monitoralerts.json +0 -12
- package/fixtures/recipes/monitoravailability.json +0 -11
- package/fixtures/recipes/monitornetworkquiet.json +0 -12
- package/fixtures/recipes/monitorpagechanges.json +0 -11
- package/fixtures/recipes/monitorpricechange.json +0 -11
- package/fixtures/recipes/monitorschedule.json +0 -12
- package/fixtures/recipes/scrapedynamicprices.json +0 -13
- package/fixtures/recipes/scrapeimagegallery.json +0 -12
- package/fixtures/recipes/scrapeinfinitefeed.json +0 -13
- package/fixtures/recipes/scrapenestedlists.json +0 -12
- package/fixtures/recipes/scrapeproductgrid.json +0 -12
- package/fixtures/recipes/scrapereviews.json +0 -12
- package/fixtures/recipes/scrapesearchresults.json +0 -12
- package/fixtures/recipes/scrapetablepagination.json +0 -12
- package/fixtures/recipes/testaccessibility.json +0 -34
- package/fixtures/recipes/testconsoleerrors.json +0 -12
- package/fixtures/recipes/testdeeplinks.json +0 -12
- package/fixtures/recipes/testformvalidation.json +0 -13
- package/fixtures/recipes/testlayoutshift.json +0 -12
- package/fixtures/recipes/testlinkcheck.json +0 -12
- package/fixtures/recipes/testloadtiming.json +0 -12
- package/fixtures/recipes/testvisualdiff.json +0 -12
- package/fixtures/workflows/changelog-digest-workflow.json +0 -13
- package/fixtures/workflows/form-survey-workflow.json +0 -13
- package/gallery.json +0 -706
- package/hardening.d.ts.map +0 -1
- package/hardening.js +0 -188
- package/headless.d.ts.map +0 -1
- package/headless.js +0 -11522
- package/http.d.ts.map +0 -1
- package/http.js +0 -2165
- package/index.cjs +0 -54682
- package/index.d.ts.map +0 -1
- package/index.js +0 -52310
- package/index.neutral.js +0 -46343
- package/mcp.d.ts.map +0 -1
- package/mcp.js +0 -20515
- package/memory.d.ts.map +0 -1
- package/nativehost.template.json +0 -10
- package/node.cjs +0 -54686
- package/node.d.ts.map +0 -1
- package/pack.d.ts.map +0 -1
- package/pack.js +0 -805
- package/policy.d.ts.map +0 -1
- package/progress.d.ts.map +0 -1
- package/progress.js +0 -645
- package/protocol.d.ts.map +0 -1
- package/protocol.js +0 -8334
- package/schemas/audit.schema.json +0 -226
- package/schemas/capability.schema.json +0 -113
- package/schemas/envelope.schema.json +0 -162
- package/schemas/memory.schema.json +0 -51
- package/schemas/observation.schema.json +0 -113
- package/schemas/plan.schema.json +0 -208
- package/schemas/progress.schema.json +0 -126
- package/schemas/proposal.schema.json +0 -68
- package/schemas/session.schema.json +0 -82
- package/schemas/tool.schema.json +0 -94
- package/server.d.ts.map +0 -1
- package/server.js +0 -28877
- package/umd-example.html +0 -18
- package/umd.d.ts.map +0 -1
- /package/{bun.d.ts → dist/bun.d.ts} +0 -0
- /package/{cli.d.ts → dist/cli.d.ts} +0 -0
- /package/{companion.d.ts → dist/companion.d.ts} +0 -0
- /package/{crossbrowser.d.ts → dist/crossbrowser.d.ts} +0 -0
- /package/{dashdone.d.ts → dist/dashdone.d.ts} +0 -0
- /package/{deno.d.ts → dist/deno.d.ts} +0 -0
- /package/{hardening.d.ts → dist/hardening.d.ts} +0 -0
- /package/{headless.d.ts → dist/headless.d.ts} +0 -0
- /package/{http.d.ts → dist/http.d.ts} +0 -0
- /package/{index.d.ts → dist/index.d.ts} +0 -0
- /package/{mcp.d.ts → dist/mcp.d.ts} +0 -0
- /package/{memory.d.ts → dist/memory.d.ts} +0 -0
- /package/{node.d.ts → dist/node.d.ts} +0 -0
- /package/{pack.d.ts → dist/pack.d.ts} +0 -0
- /package/{policy.d.ts → dist/policy.d.ts} +0 -0
- /package/{progress.d.ts → dist/progress.d.ts} +0 -0
- /package/{protocol.d.ts → dist/protocol.d.ts} +0 -0
- /package/{server.d.ts → dist/server.d.ts} +0 -0
- /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
|