@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
package/docs/readme.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Example plans, workflows and fixtures
|
|
2
|
+
|
|
3
|
+
This directory ships the sample files the terminal commands operate on: the plans `devthink planlint` lints, the workflows `devthink runworkflow` replays in dry run mode and the recorded page state fixtures `devthink headless` executes read only steps against. Every file is a reviewed example: the plans grant only read kinds, the workflows compose only read steps and the fixtures scope their grants to the kinds their observation satisfies.
|
|
4
|
+
|
|
5
|
+
## Plan files
|
|
6
|
+
|
|
7
|
+
A plan file is the schema the `planlint` command parses under schemastrict: the version, the goal, the HTTPS origin, the optional grants and denials of action kinds and the step list. A step carries its id, its kind from the reviewed catalog, its label and its optional target selector, value, options, gate, loop bound and retry attempts. Unknown fields refuse with the path that names them.
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"version": "1.1.79",
|
|
12
|
+
"goal": "Read the release notes of the example project",
|
|
13
|
+
"origin": "https://example.org",
|
|
14
|
+
"grants": ["observe", "readtext", "countelements"],
|
|
15
|
+
"steps": [
|
|
16
|
+
{ "id": "observe", "kind": "observe", "label": "Observe the release page" },
|
|
17
|
+
{ "id": "read", "kind": "readtext", "label": "Read the release notes text", "target": "main" }
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Lint the whole directory with `node dist/cli.js planlint dist/fixtures/plans`; any error diagnostic exits non zero.
|
|
23
|
+
|
|
24
|
+
## Workflow documents
|
|
25
|
+
|
|
26
|
+
A workflow document is the schema the `runworkflow` command loads: the version beside the workflow payload of the composeworkflow grammar — the name, the positive integer version, the granted HTTPS origins and the step list. The command composes the document through the same engine the extension runs, so the kinds verify against the reviewed catalog and the risk grades flow through the same policy table.
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"version": "1.1.79",
|
|
31
|
+
"workflow": {
|
|
32
|
+
"name": "changelog digest",
|
|
33
|
+
"version": 1,
|
|
34
|
+
"origins": ["https://example.org"],
|
|
35
|
+
"steps": [
|
|
36
|
+
{ "id": "observe", "kind": "observe", "label": "Observe the changelog page" },
|
|
37
|
+
{ "id": "read", "kind": "readtext", "label": "Read the changelog text", "target": "main" }
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Replay a workflow with no side effects with `node dist/cli.js runworkflow dist/fixtures/workflows/changelog-digest-workflow.json --dryrun --quiet`; the command writes its audit trail file beside the workflow after each run and persists its checkpoints so `--resume <runid>` continues from the last checkpoint.
|
|
44
|
+
|
|
45
|
+
## Fixture files
|
|
46
|
+
|
|
47
|
+
A fixture file records one page state through the observation schema the live snapshot pipeline writes: the fixture identity, the HTTPS origin it recorded, the observation payload, the fixture scoped grants and the recording time. The observation carries the fields the snapshot captures — the schema version, the url, the title, the text preview and length, the form controls, the interactive elements and the capture time — so the headless replay answers read only kinds from recorded state with no live tab. The grants list scopes what the fixture allows: a kind outside the grants refuses through the fixture consent gate exactly as a live session refuses it.
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"id": "example-org-pagestate",
|
|
52
|
+
"origin": "https://example.org",
|
|
53
|
+
"recordedat": 1800000000000,
|
|
54
|
+
"grants": ["observe", "readtext", "readforms", "inspect", "countelements"],
|
|
55
|
+
"observation": {
|
|
56
|
+
"schemaversion": 1,
|
|
57
|
+
"url": "https://example.org/releases",
|
|
58
|
+
"title": "Example releases",
|
|
59
|
+
"textpreview": "Release notes of the example project.",
|
|
60
|
+
"textlength": 512,
|
|
61
|
+
"forms": [{ "label": "email", "type": "email", "name": "email" }],
|
|
62
|
+
"interactive": [{ "selector": "main a", "role": "link", "label": "latest release" }],
|
|
63
|
+
"capturedat": 1800000000000
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Replay a plan against the fixtures with `node dist/cli.js headless dist/fixtures/plans/release-notes-plan.json --fixtures dist/fixtures`; a read only kind with a recorded projection executes, a kind the fixture cannot satisfy reports unsupported and a kind outside the fixture grants refuses under the consent gate.
|
|
69
|
+
|
|
70
|
+
## Consumption mode examples
|
|
71
|
+
|
|
72
|
+
The 1.1.81 family ships one runnable example per consumption mode: `cjs.js` requires the library in a plain node script, `bun.ts` imports it through the bun runtime, `deno.ts` imports it through npm specifiers under deno (the sources live in `tests/code`), and the umd example page the build emits as `dist/umd-example.html` loads the umd bundle from a file url with the `window.devthink` global. Every mode exposes the same named exports through the same consent gates; only the adapter seam differs (the node default adapters bind to node apis, the browser build binds to browser apis and the deno adapter reads its configuration through the deno runtime).
|
|
73
|
+
|
|
74
|
+
## Bridge pairing walkthrough
|
|
75
|
+
|
|
76
|
+
The `bridge-pairing.md` file walks through the site pairing: the relay url in the extension options, the consent to the first socket connection, the pairing code mint with its countdown, the site join through the code, the chat and review round trip, and the one click revocation.
|
|
77
|
+
|
|
78
|
+
## Mcp examples
|
|
79
|
+
|
|
80
|
+
The `mcp-client.mjs` script lists the devthink tools over stdio against the serve command, and the `toolcatalog-walkthrough.md` text walks a client through the catalog namespaces, the consent metadata, the approval gate and the progress subscriptions.
|
|
81
|
+
|
|
82
|
+
## Native install walkthrough
|
|
83
|
+
|
|
84
|
+
The `native-install.md` file walks through the native host bridge end to end: the plain node companion build, the install consent with the scope explanation, the reviewed cli installer that writes the host manifest into the user profile directory (with the generated extension id placeholder filled), the attach of the native port behind the per class and per surface consents, the diagnostics report, and the kill switch, the escape hatch and the uninstaller that removes the manifest and its preferences.
|
|
85
|
+
|
|
86
|
+
## Cross browser smoke walkthrough
|
|
87
|
+
|
|
88
|
+
The `cross-browser-smoke.md` file walks through the 1.1.86 cross browser build end to end offline: the build that emits the chromium zip, the firefox xpi and the safari skeleton zip beside the existing dist bundles, the apimap build check that asserts every recorded webextension api carries a chromium and a firefox mapping, the firefox prep step that layers the firefox overlay on top of the source manifest, the xpi layout inspection with the addons linter markers inside the budget, the safari skeleton wrapper inspection with the bundle id and the app entitlements, the intersection default set the cross browser feature flags ship, and the load of each artifact into its matching browser (chromium dev mode, firefox `about:debugging`, safari xcode wrapper) — every step proves the kind catalog, the policy gates, the observation schema and the audit trail format stay identical on every browser.
|
|
89
|
+
|
|
90
|
+
## Self hosted container walkthrough
|
|
91
|
+
|
|
92
|
+
The `selfhosted-container.md` file walks through the 1.1.87 self hosting container end to end: the multi stage image build whose builder stage runs the whole validation chain (the cli manifest, the cjs require check, the headless smoke, the native smoke and the firefox prep check) before the runtime stage copies the lean output, the three runtime surfaces behind the operator chosen environment (the static site with its immutable cache headers, the socket relay speaking the servercontract at the relay path with the pairing exchange and the token rotation, and the mcp server listener that stays loopback until the operator widens the bind), the pairing of the extension and the site members through the relay, and the digest, sbom and artifact manifest assets the release publishes for the channel.
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://opencode.ai/schemas/antigravity.json",
|
|
4
|
+
"title": "opencode Antigravity Auth Config - maene",
|
|
5
|
+
"description": "PT: JSON Schema Draft-07 para ~/.config/opencode/antigravity.json do plugin maene. Implementa bypass de identificacao Gemini CLI com OAuth2 client_id 681255809395-oo8f…b135j, secret GOCSPX-4uHgMPm…lXFsxl, User-Agent GeminiCLI/0.57.0, X-Goog-Api-Client gl-node/22.19.0, Client-Metadata ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI, project fallback rising-fact-p41fc. Pasta isolada resolvida por plataforma (MAENE_ISOLATED_DIR ou <opencode-base>/auth) protege constantes e config. Arquivo destino deve ter chmod 0o600 e escrita atomica. EN: JSON Schema Draft-07 for ~/.config/opencode/antigravity.json of maene plugin. Implements Gemini CLI identity bypass with OAuth2 client_id 681255809395-oo8f…b135j, secret GOCSPX-4uHgMPm…lXFsxl, User-Agent GeminiCLI/0.57.0, X-Goog-Api-Client gl-node/22.19.0, Client-Metadata ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI, project fallback rising-fact-p41fc. Isolated hardened folder resolved per-OS (MAENE_ISOLATED_DIR or <opencode-base>/auth) protects constants and config. Target file must have chmod 0o600 and atomic write.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"cli_first": {
|
|
10
|
+
"type": "boolean",
|
|
11
|
+
"default": true,
|
|
12
|
+
"title": "CLI First Authentication",
|
|
13
|
+
"description": "PT: Se true, tenta autenticacao via `gemini` CLI local instalado (gemini-cli-tokens.json) antes de usar OAuth proprio do plugin. Util quando usuario ja esta logado no Gemini CLI. Reduz atrito de login e aproveita projectId ja resolvido. EN: If true, tries authentication via local `gemini` CLI (gemini-cli-tokens.json) before using plugin's own OAuth flow. Useful when user is already logged in Gemini CLI. Reduces login friction and reuses already resolved projectId.",
|
|
14
|
+
"examples": [true, false]
|
|
15
|
+
},
|
|
16
|
+
"toast_scope": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"enum": ["root_only", "all"],
|
|
19
|
+
"default": "all",
|
|
20
|
+
"title": "Toast Notification Scope",
|
|
21
|
+
"description": "PT: Escopo de exibicao de notificacoes toast no opencode. root_only = apenas no diretorio raiz / projeto principal, evita spam em subprojetos; all = mostra em todos os contextos. Legado: project/minimal/none sao mapeados para root_only/all. EN: Scope for displaying toast notifications in opencode. root_only = only in root / main project directory, avoids spam in subprojects; all = show in all contexts. Legacy: project/minimal/none map to root_only/all.",
|
|
22
|
+
"examples": ["all", "root_only"]
|
|
23
|
+
},
|
|
24
|
+
"soft_quota_threshold_percent": {
|
|
25
|
+
"type": "number",
|
|
26
|
+
"minimum": 0,
|
|
27
|
+
"maximum": 100,
|
|
28
|
+
"default": 90,
|
|
29
|
+
"title": "Soft Quota Threshold Percent",
|
|
30
|
+
"description": "PT: Percentual de uso de quota (0-100) a partir do qual inicia aviso suave, fallback ou rotacao de conta. Ex: 90 significa que em 90% de uso comeca a alertar/trocar modelo. Usado para evitar 429 hard. EN: Quota usage percentage (0-100) from which soft warning, fallback or account rotation starts. E.g. 90 means at 90% usage it starts warning/switching model. Used to avoid hard 429.",
|
|
31
|
+
"examples": [90, 80, 95]
|
|
32
|
+
},
|
|
33
|
+
"quota_fallback": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": ["antigravity-first", "cli-first"],
|
|
36
|
+
"default": "antigravity-first",
|
|
37
|
+
"title": "Quota Fallback Strategy",
|
|
38
|
+
"description": "PT: Estrategia de fallback quando quota atinge threshold. antigravity-first = prioriza modelos antigravity custom (gemini-3-pro/flash, claude-sonnet/opus) via cloudcode-pa.googleapis.com bypass; cli-first = prioriza tentativa via CLI local (menos controle de rotacao). Mapeia legado 'auto' -> antigravity-first e boolean true/false. EN: Fallback strategy when quota hits threshold. antigravity-first = prioritize antigravity custom models (gemini-3-pro/flash, claude-sonnet/opus) via cloudcode-pa.googleapis.com bypass; cli-first = prioritize local CLI attempt (less rotation control). Maps legacy 'auto' -> antigravity-first and boolean true/false.",
|
|
39
|
+
"examples": ["antigravity-first", "cli-first"]
|
|
40
|
+
},
|
|
41
|
+
"quota_refresh_interval_minutes": {
|
|
42
|
+
"type": "number",
|
|
43
|
+
"minimum": 1,
|
|
44
|
+
"maximum": 1440,
|
|
45
|
+
"default": 15,
|
|
46
|
+
"title": "Quota Refresh Interval (minutes)",
|
|
47
|
+
"description": "PT: Intervalo em minutos para refresh do quota summary via retrieveUserQuotaSummary (v1internal). Controla cache de limites diarios por modelo. Range 1-1440 (1 dia). Default 15 min balanceia freshness vs rate-limit. EN: Interval in minutes to refresh quota summary via retrieveUserQuotaSummary (v1internal). Controls cache of daily limits per model. Range 1-1440 (1 day). Default 15 min balances freshness vs rate-limit.",
|
|
48
|
+
"examples": [15, 5, 30, 60]
|
|
49
|
+
},
|
|
50
|
+
"soft_quota_cache_ttl_minutes": {
|
|
51
|
+
"type": "number",
|
|
52
|
+
"minimum": 1,
|
|
53
|
+
"maximum": 1440,
|
|
54
|
+
"default": 5,
|
|
55
|
+
"title": "Soft Quota Cache TTL (minutes)",
|
|
56
|
+
"description": "PT: TTL do cache local de soft quota em minutos. Evita chamadas repetidas a cloudcode-pa para verificar quota. Armazenado em ~/.config/opencode/cache/antigravity/quota.json. Default 5 min. EN: TTL of local soft quota cache in minutes. Avoids repeated calls to cloudcode-pa to check quota. Stored at ~/.config/opencode/cache/antigravity/quota.json. Default 5 min.",
|
|
57
|
+
"examples": [5, 10, 2]
|
|
58
|
+
},
|
|
59
|
+
"pid_offset_enabled": {
|
|
60
|
+
"type": "boolean",
|
|
61
|
+
"default": true,
|
|
62
|
+
"title": "PID Offset Anti-Detection",
|
|
63
|
+
"description": "PT: Se true, aplica offset randomizado no PID e jitter no request para evitar deteccao de automacao/WAF. Usa pools de fingerprint: cliVersion 0.35.3, gl-node 22.19.0, platform linux/darwin/win32. Anti-ban delay 80-350ms. EN: If true, applies randomized PID offset and request jitter to avoid automation/WAF detection. Uses fingerprint pools: cliVersion 0.35.3, gl-node 22.19.0, platform linux/darwin/win32. Anti-ban delay 80-350ms.",
|
|
64
|
+
"examples": [true, false]
|
|
65
|
+
},
|
|
66
|
+
"google_search_enabled": {
|
|
67
|
+
"type": "boolean",
|
|
68
|
+
"default": false,
|
|
69
|
+
"title": "Google Search Grounding Enabled",
|
|
70
|
+
"description": "PT: Habilita ferramenta google_search com grounding (busca web) nos modelos que suportam. Desabilitado por default para reduzir latencia e consumo de quota. Requer modelo com suporte a tools. EN: Enables google_search tool with grounding (web search) on supporting models. Disabled by default to reduce latency and quota usage. Requires model with tool support.",
|
|
71
|
+
"examples": [false, true]
|
|
72
|
+
},
|
|
73
|
+
"debug": {
|
|
74
|
+
"type": "boolean",
|
|
75
|
+
"default": false,
|
|
76
|
+
"title": "Debug Verbose Logging",
|
|
77
|
+
"description": "PT: Modo debug com logs verbosos seguros (sem expor secret GOCSPX-4uHgMPm…lXFsxl ou tokens). Loga safeDebugInfo com clientId, projectFallback rising-fact-p41fc, endpoints, UA GeminiCLI/0.35.3, X-Goog gl-node/22.19.0. EN: Debug mode with safe verbose logs (without exposing secret GOCSPX-4uHgMPm…lXFsxl or tokens). Logs safeDebugInfo with clientId, projectFallback rising-fact-p41fc, endpoints, UA GeminiCLI/0.35.3, X-Goog gl-node/22.19.0.",
|
|
78
|
+
"examples": [false, true]
|
|
79
|
+
},
|
|
80
|
+
"version_cache_ttl": {
|
|
81
|
+
"type": "number",
|
|
82
|
+
"minimum": 1,
|
|
83
|
+
"maximum": 10080,
|
|
84
|
+
"default": 60,
|
|
85
|
+
"title": "Version Cache TTL (minutes)",
|
|
86
|
+
"description": "PT: TTL do cache de verificacao de versao/update do plugin em minutos. Default 60 min (1h), max 10080 (7 dias). Evita checagem excessiva de versao no startup. Armazenado em cache/antigravity. EN: TTL for plugin version/update check cache in minutes. Default 60 min (1h), max 10080 (7 days). Avoids excessive version checks on startup. Stored in cache/antigravity.",
|
|
87
|
+
"examples": [60, 1440, 360]
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"examples": [
|
|
91
|
+
{
|
|
92
|
+
"cli_first": true,
|
|
93
|
+
"toast_scope": "all",
|
|
94
|
+
"soft_quota_threshold_percent": 90,
|
|
95
|
+
"quota_fallback": "antigravity-first",
|
|
96
|
+
"quota_refresh_interval_minutes": 15,
|
|
97
|
+
"soft_quota_cache_ttl_minutes": 5,
|
|
98
|
+
"pid_offset_enabled": true,
|
|
99
|
+
"google_search_enabled": false,
|
|
100
|
+
"debug": false,
|
|
101
|
+
"version_cache_ttl": 60
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"cli_first": false,
|
|
105
|
+
"toast_scope": "root_only",
|
|
106
|
+
"soft_quota_threshold_percent": 80,
|
|
107
|
+
"quota_fallback": "cli-first",
|
|
108
|
+
"quota_refresh_interval_minutes": 30,
|
|
109
|
+
"soft_quota_cache_ttl_minutes": 10,
|
|
110
|
+
"pid_offset_enabled": true,
|
|
111
|
+
"google_search_enabled": true,
|
|
112
|
+
"debug": true,
|
|
113
|
+
"version_cache_ttl": 1440
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"cli_first": true,
|
|
117
|
+
"toast_scope": "all",
|
|
118
|
+
"soft_quota_threshold_percent": 95,
|
|
119
|
+
"quota_fallback": "antigravity-first",
|
|
120
|
+
"quota_refresh_interval_minutes": 5,
|
|
121
|
+
"soft_quota_cache_ttl_minutes": 2,
|
|
122
|
+
"pid_offset_enabled": false,
|
|
123
|
+
"google_search_enabled": false,
|
|
124
|
+
"debug": false,
|
|
125
|
+
"version_cache_ttl": 60
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"x-antigravity-bypass": {
|
|
129
|
+
"client_id_raw": "681255809395-oo8f…b135j",
|
|
130
|
+
"client_id_full": "681255809395-oo8f…b135j.apps.googleusercontent.com",
|
|
131
|
+
"client_secret": "GOCSPX-4uHgMPm…lXFsxl",
|
|
132
|
+
"note_secret": "PT: Secret publico extraido do binario Gemini CLI, nao e segredo privado. EN: Public secret extracted from Gemini CLI binary, not private.",
|
|
133
|
+
"user_agent": "GeminiCLI/0.35.3",
|
|
134
|
+
"user_agent_full_template": "GeminiCLI/0.35.3/gemini-3-pro-preview (linux; x64; GitHub) google-api-nodejs-client/9.15.1",
|
|
135
|
+
"x_goog_api_client": "gl-node/22.19.0",
|
|
136
|
+
"client_metadata": "ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI",
|
|
137
|
+
"client_metadata_object": {
|
|
138
|
+
"ideType": "IDE_UNSPECIFIED",
|
|
139
|
+
"platform": "PLATFORM_UNSPECIFIED",
|
|
140
|
+
"pluginType": "GEMINI"
|
|
141
|
+
},
|
|
142
|
+
"project_fallback": "rising-fact-p41fc",
|
|
143
|
+
"project_fallbacks": ["rising-fact-p41fc", "rising-fact-p41fc-1", "unwritten-orb-463209-q6", "cloud-code-123456"],
|
|
144
|
+
"oauth_scopes": [
|
|
145
|
+
"https://www.googleapis.com/auth/cloud-platform",
|
|
146
|
+
"https://www.googleapis.com/auth/userinfo.email",
|
|
147
|
+
"https://www.googleapis.com/auth/userinfo.profile"
|
|
148
|
+
],
|
|
149
|
+
"endpoints": {
|
|
150
|
+
"base": "https://cloudcode-pa.googleapis.com",
|
|
151
|
+
"loadCodeAssist": "https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",
|
|
152
|
+
"onboardUser": "https://cloudcode-pa.googleapis.com/v1internal:onboardUser",
|
|
153
|
+
"fetchAvailableModels": "https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",
|
|
154
|
+
"generateContent": "https://cloudcode-pa.googleapis.com/v1internal:generateContent",
|
|
155
|
+
"streamGenerateContent": "https://cloudcode-pa.googleapis.com/v1internal:streamGenerateContent",
|
|
156
|
+
"retrieveUserQuotaSummary": "https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuotaSummary"
|
|
157
|
+
},
|
|
158
|
+
"isolated_folder": "MAENE_ISOLATED_DIR | <opencode-base>/auth",
|
|
159
|
+
"folder_policy": "nome curto minusculo blindada - short lowercase hardened",
|
|
160
|
+
"target_config_path": "~/.config/opencode/antigravity.json",
|
|
161
|
+
"file_permissions": "0o600",
|
|
162
|
+
"models_2026": [
|
|
163
|
+
"antigravity-gemini-3-pro",
|
|
164
|
+
"antigravity-gemini-3.1-pro",
|
|
165
|
+
"antigravity-gemini-3-flash",
|
|
166
|
+
"antigravity-claude-sonnet-4-6",
|
|
167
|
+
"antigravity-claude-opus-4-6-thinking",
|
|
168
|
+
"gemini-2.5-flash",
|
|
169
|
+
"gemini-2.5-pro",
|
|
170
|
+
"gemini-3-flash-preview",
|
|
171
|
+
"gemini-3-pro-preview",
|
|
172
|
+
"gemini-3.1-pro-preview",
|
|
173
|
+
"gemini-3.1-pro-preview-customtools"
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
"x-legacy-mappings": {
|
|
177
|
+
"toast_scope": {
|
|
178
|
+
"all": "all",
|
|
179
|
+
"project": "root_only (mapped)",
|
|
180
|
+
"minimal": "root_only (mapped)",
|
|
181
|
+
"none": "root_only (mapped)",
|
|
182
|
+
"root_only": "root_only"
|
|
183
|
+
},
|
|
184
|
+
"quota_fallback": {
|
|
185
|
+
"auto (legacy)": "antigravity-first",
|
|
186
|
+
"true (legacy)": "antigravity-first",
|
|
187
|
+
"false (legacy)": "cli-first",
|
|
188
|
+
"antigravity-first": "antigravity-first",
|
|
189
|
+
"cli-first": "cli-first"
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|