@wenathlan/devthink 2.0.12 → 2.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -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,310 @@
|
|
|
1
|
+
/** The commands module of the 1.1.90 consolidation: every correlated variation of the background command executors for tabs, files, clipboard, downloads and navigation interned in this one file, so the module family carries one surface without duplicate variations. */
|
|
2
|
+
import type { artifactinventoryentry, capturename, cleanuprule, clipentry, closedtabrecord, deeplinkpattern, downloadrecord, downloadstate, linkbatch, mimefilter, navpause, navtrailentry, netlogrecord, planprogress, preconnecttarget, prefetchplan, quarantineentry, ratelimitwindow, safetyverdict, scanverdict, tabgrouprecord, tablayout, tabquery, tabwatchevent, toolstep, urlvisit } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Tabs and windows command logics for reviewed steps.
|
|
5
|
+
* Every correlated rule for tab queries, clone detection, group membership, layouts, snapshots, watchers, badges, discard candidates, switcher order, zoom steps and the task tab budget lives in this file.
|
|
6
|
+
*/
|
|
7
|
+
/** One serializable live tab shape resolved against the browser tab set. */
|
|
8
|
+
export interface tabshape {
|
|
9
|
+
tabid: number;
|
|
10
|
+
url: string;
|
|
11
|
+
title: string;
|
|
12
|
+
index: number;
|
|
13
|
+
windowid: number;
|
|
14
|
+
active: boolean;
|
|
15
|
+
pinned: boolean;
|
|
16
|
+
audible: boolean;
|
|
17
|
+
muted: boolean;
|
|
18
|
+
discarded: boolean;
|
|
19
|
+
}
|
|
20
|
+
/** One serializable live window shape with bounds, state and profile kind. */
|
|
21
|
+
export interface windowshape {
|
|
22
|
+
windowid: number;
|
|
23
|
+
left: number;
|
|
24
|
+
top: number;
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
state: "normal" | "maximized" | "minimized" | "fullscreen";
|
|
28
|
+
incognito: boolean;
|
|
29
|
+
focused: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** Reads the reviewed tabquery of a tabs and windows command step; null when the step reviews none. */
|
|
32
|
+
export declare function parsetabquery(step: toolstep): tabquery | null;
|
|
33
|
+
/** Matches one reviewed wildcard pattern against a url; `*` spans one path segment and `**` spans any part. The walk stays linear on adversarial patterns because a token table with one dynamic programming pass replaces the compiled regular expression a star storm would catastrophically backtrack. */
|
|
34
|
+
export declare function tabpatternmatches(pattern: string, url: string): boolean;
|
|
35
|
+
/** Resolves one reviewed tabquery against the live tab set: every matcher that exists must hold. */
|
|
36
|
+
export declare function querymatches(query: tabquery, tabs: tabshape[]): tabshape[];
|
|
37
|
+
/** Normalizes one url for clone comparison by dropping the fragment and trailing slashes. */
|
|
38
|
+
export declare function normalizedtaburl(url: string): string;
|
|
39
|
+
/** One clone warning: a normalized url shared by more than one open tab. */
|
|
40
|
+
export interface clonewarning {
|
|
41
|
+
url: string;
|
|
42
|
+
tabids: number[];
|
|
43
|
+
}
|
|
44
|
+
/** Detects duplicate tabs by normalized url comparison and returns every url held by more than one tab. */
|
|
45
|
+
export declare function clonetabs(tabs: tabshape[]): clonewarning[];
|
|
46
|
+
/** Searches across open tabs by title and url, case insensitive, returning matches in live order. */
|
|
47
|
+
export declare function searchtabmatches(tabs: tabshape[], text: string): tabshape[];
|
|
48
|
+
/** Lists the tabs that are playing audio: audible or muted but still playing. */
|
|
49
|
+
export declare function audiotabs(tabs: tabshape[]): tabshape[];
|
|
50
|
+
/** Returns the inactive, unpinned and not yet discarded tabs a discardtab step may release. */
|
|
51
|
+
export declare function discardcandidates(tabs: tabshape[]): tabshape[];
|
|
52
|
+
/** Restores discarded tabs on demand without losing their urls; every discarded tab keeps its url for reload. */
|
|
53
|
+
export declare function restorediscarded(tabs: tabshape[]): Array<{
|
|
54
|
+
tabid: number;
|
|
55
|
+
url: string;
|
|
56
|
+
}>;
|
|
57
|
+
/** Captures one tab layout with name, tabs, groups, positions and window bounds from the live browser state. */
|
|
58
|
+
export declare function buildlayout(name: string, tabs: tabshape[], windows: windowshape[], groups: tabgrouprecord[], scratchwindowids: number[], at: number): tablayout;
|
|
59
|
+
/** Plans the restore of one saved layout: only urls that are not already open come back, in layout order. */
|
|
60
|
+
export declare function layoutrestoreplan(layout: tablayout, openurls: string[]): string[];
|
|
61
|
+
/** Keeps tabgroup membership through moves: member ids survive, their order follows the live tab order and closed members drop out. */
|
|
62
|
+
export declare function regroupaftermoves(groups: tabgrouprecord[], tabs: tabshape[], at: number): tabgrouprecord[];
|
|
63
|
+
/** Renames one stored tab group while keeping its color choice, member tabs and collapse state. */
|
|
64
|
+
export declare function renamegroup(groups: tabgrouprecord[], name: string, newname: string, at: number): tabgrouprecord[];
|
|
65
|
+
/** Counts the task tabs that live inside one window so the close gate can demand review. */
|
|
66
|
+
export declare function tasktabsinwindow(tabs: tabshape[], windowid: number, tasktabids: number[]): number;
|
|
67
|
+
/** Selects the tabs a reviewed closepattern may close; the session tab itself is always refused protection. */
|
|
68
|
+
export declare function closeselection(query: tabquery, tabs: tabshape[], sessiontabid: number): {
|
|
69
|
+
targets: tabshape[];
|
|
70
|
+
refused: tabshape[];
|
|
71
|
+
};
|
|
72
|
+
/** Applies one reviewed zoom step with no code ceiling; a step never crosses zero, so it keeps the current zoom instead. */
|
|
73
|
+
export declare function zoomstep(current: number, direction: "in" | "out", step: number): number;
|
|
74
|
+
/** Resolves the neighbor tab index a switchtab step activates, wrapping at both ends of the window. */
|
|
75
|
+
export declare function switchtarget(tabs: tabshape[], direction: "next" | "previous", currentindex: number): number | undefined;
|
|
76
|
+
/** Orders the quick switcher list by recency with filter keys; unseen tabs follow in live index order. */
|
|
77
|
+
export declare function switcherlist(tabs: tabshape[], recency: Array<{
|
|
78
|
+
tabid: number;
|
|
79
|
+
at: number;
|
|
80
|
+
}>, filter: string): tabshape[];
|
|
81
|
+
/** Dispatches the tab events of one watchtab registration into the step result, honoring the reviewed event filters. */
|
|
82
|
+
export declare function watchtabdispatch(events: tabwatchevent[], watchid: string, filters: string[]): tabwatchevent[];
|
|
83
|
+
/** Computes the per task badge from the live progress state of the task. */
|
|
84
|
+
export declare function badgefromprogress(completed: number, total: number): {
|
|
85
|
+
label: string;
|
|
86
|
+
done: boolean;
|
|
87
|
+
};
|
|
88
|
+
/** Grades the concurrent task tab budget: a user configured ceiling refuses, an absent ceiling never refuses. */
|
|
89
|
+
export declare function tasktabgauge(used: number, ceiling: number | undefined): {
|
|
90
|
+
used: number;
|
|
91
|
+
ceiling: number | undefined;
|
|
92
|
+
over: boolean;
|
|
93
|
+
};
|
|
94
|
+
/** True when a window profile inherits the session origin grants; incognito windows stay separated. */
|
|
95
|
+
export declare function windowprofilegrants(profile: "normal" | "incognito" | "scratch"): boolean;
|
|
96
|
+
/** Assigns every task tab of the plan progress, used when tabmeta routing records a tab for the plan steps. */
|
|
97
|
+
export declare function assigntasktabs(progress: planprogress | undefined, planid: string, tabids: number[], now: number): planprogress;
|
|
98
|
+
/** Returns the task tabs tracked by one plan progress, used for window close review and badge refresh. */
|
|
99
|
+
export declare function trackedtasktabs(progress: planprogress | undefined, planid: string): number[];
|
|
100
|
+
/** True when the batch queue allows the transition between two download states. */
|
|
101
|
+
export declare function transitionallowed(from: downloadstate, to: downloadstate): boolean;
|
|
102
|
+
/** Applies one batch queue state transition with its path, bytes, checksum and browser download id evidence; impossible transitions leave the record untouched. */
|
|
103
|
+
export declare function advancedownload(record: downloadrecord, state: downloadstate, at: number, evidence?: {
|
|
104
|
+
path?: string;
|
|
105
|
+
bytes?: number;
|
|
106
|
+
checksum?: string;
|
|
107
|
+
downloadid?: number;
|
|
108
|
+
}): downloadrecord;
|
|
109
|
+
/** True when the batch queue may start another download under the user configured concurrent choice; an absent window never blocks. */
|
|
110
|
+
export declare function concurrentwindow(running: number, ceiling: number | undefined): boolean;
|
|
111
|
+
/** Resolves a filename conflict with a sequence suffix while keeping the extension intact. */
|
|
112
|
+
export declare function conflictfree(filename: string, taken: string[]): string;
|
|
113
|
+
/** Derives the download filename of one reviewed url from the spec filename rule or the url basename. */
|
|
114
|
+
export declare function downloadfilename(url: string, rule: string | undefined): string;
|
|
115
|
+
/** Verifies one completed download against the reviewed size and checksum expectations. */
|
|
116
|
+
export declare function verifybytes(record: downloadrecord, expected: {
|
|
117
|
+
bytes?: number;
|
|
118
|
+
checksum?: string;
|
|
119
|
+
}): {
|
|
120
|
+
ok: boolean;
|
|
121
|
+
summary: string;
|
|
122
|
+
matches: {
|
|
123
|
+
state: boolean;
|
|
124
|
+
size: boolean;
|
|
125
|
+
checksum: boolean;
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
/** True when the mime type passes the reviewed filter: exclude wins, then include, then the default for unlisted mime types. */
|
|
129
|
+
export declare function mimeallowed(filter: mimefilter, mime: string): boolean;
|
|
130
|
+
/** Redacts every header value of a captured request so exported netlogs never leak them. */
|
|
131
|
+
export declare function redactheaders(headers: Record<string, string>): Record<string, string>;
|
|
132
|
+
/** Builds one netlog record correlated with its step through the request id. */
|
|
133
|
+
export declare function netlogentry(input: {
|
|
134
|
+
url: string;
|
|
135
|
+
method: string;
|
|
136
|
+
status: number;
|
|
137
|
+
timing: number;
|
|
138
|
+
requestid: string;
|
|
139
|
+
stepid: string;
|
|
140
|
+
at: number;
|
|
141
|
+
}): netlogrecord;
|
|
142
|
+
/** Returns the netlog records of one step, oldest first, correlated through the request ids. */
|
|
143
|
+
export declare function netlogforstep(records: netlogrecord[], stepid: string): netlogrecord[];
|
|
144
|
+
/** Builds one clipboard entry from the payload hash and length; the payload text itself never persists. */
|
|
145
|
+
export declare function clipentryof(kind: clipentry["kind"], payload: {
|
|
146
|
+
hash: string;
|
|
147
|
+
length: number;
|
|
148
|
+
}, origin: string, stepid: string, at: number): clipentry;
|
|
149
|
+
/** Hashes one clipboard payload so audits and memory carry the hash only. */
|
|
150
|
+
export declare function cliphash(payload: string): string;
|
|
151
|
+
/** Routes a quarantined path outside the downloads folder until release; traversal segments and backslashes never enter the routed path so the quarantine folder never opens onto another folder. */
|
|
152
|
+
export declare function quarantinedpath(filename: string): string;
|
|
153
|
+
/** Builds one quarantine entry outside the downloads folder with a pending scan verdict. */
|
|
154
|
+
export declare function newquarantine(id: string, filename: string, reason: string, at: number): quarantineentry;
|
|
155
|
+
/** Applies one scan verdict to a quarantined entry; hook failures stay pending instead of releasing. */
|
|
156
|
+
export declare function scanresult(entry: quarantineentry, verdict: scanverdict, at: number): quarantineentry;
|
|
157
|
+
/** Maps one scanning hook response to its verdict; absent or malformed responses stay pending as hook failures. */
|
|
158
|
+
export declare function scanverdictof(response: unknown): scanverdict;
|
|
159
|
+
/** Stamps the release ref of one quarantined entry after the policy gate approved it. */
|
|
160
|
+
export declare function released(entry: quarantineentry, ref: string, at: number): quarantineentry;
|
|
161
|
+
/** Builds one consistent capture filename from its task, step and sequence parts. */
|
|
162
|
+
export declare function capturefilename(name: capturename, extension: string): string;
|
|
163
|
+
/** Advances the capture naming counter of one step base and returns the stamped sequence. */
|
|
164
|
+
export declare function advancecounter(counters: Record<string, number>, base: string): {
|
|
165
|
+
sequence: number;
|
|
166
|
+
counters: Record<string, number>;
|
|
167
|
+
};
|
|
168
|
+
/** Stamps consistent capture names for the steps of one task with per task counters. */
|
|
169
|
+
export declare function capturenames(counters: Record<string, number>, task: string, steps: string[], extension: string): {
|
|
170
|
+
names: string[];
|
|
171
|
+
counters: Record<string, number>;
|
|
172
|
+
};
|
|
173
|
+
/** Collects the artifact references of open review cards so the cleanup sweeper keeps them. */
|
|
174
|
+
export declare function referencedartifacts(plan: {
|
|
175
|
+
steps: Array<{
|
|
176
|
+
id: string;
|
|
177
|
+
kind: string;
|
|
178
|
+
value?: string;
|
|
179
|
+
}>;
|
|
180
|
+
} | undefined, completed: string[]): string[];
|
|
181
|
+
/** Plans one cleanup sweep by age and kind while keeping referenced artifacts and honoring the keep policies. */
|
|
182
|
+
export declare function sweepplan(entries: artifactinventoryentry[], rules: cleanuprule[], now: number, keeprefs: string[]): {
|
|
183
|
+
remove: string[];
|
|
184
|
+
keep: string[];
|
|
185
|
+
};
|
|
186
|
+
/** Reads the step ids a namecaptures step should stamp from its options or the plan steps. */
|
|
187
|
+
export declare function capturesteps(options: Record<string, unknown>, plan: {
|
|
188
|
+
steps: toolstep[];
|
|
189
|
+
}): string[];
|
|
190
|
+
/** Predicts the next urls of an approved plan: the navigation values of the steps are read in step order, the urlhistory of the run weighs every candidate by how often the run already visited it, and the predictions rank by the combined step order and history confidence so the reviewer reads exactly which pages the plan is about to need. */
|
|
191
|
+
export declare function navintent(input: {
|
|
192
|
+
id: string;
|
|
193
|
+
steps: toolstep[];
|
|
194
|
+
visits?: urlvisit[];
|
|
195
|
+
now: number;
|
|
196
|
+
}): prefetchplan;
|
|
197
|
+
/** Warms the predicted next pages through speculative dns: the warming set keeps only the urls the session grants cover, a stored plan whose planid differs from the live plan drops every prediction it carried because stale predictions never warm a page the new plan no longer visits, and the module itself issues no request at all — the page world resolves the dns hints read only while no mutating request ever fires during the warming. */
|
|
198
|
+
export declare function prefetchpage(input: {
|
|
199
|
+
id: string;
|
|
200
|
+
planid: string;
|
|
201
|
+
urls: string[];
|
|
202
|
+
grants: string[];
|
|
203
|
+
stored?: prefetchplan;
|
|
204
|
+
now: number;
|
|
205
|
+
}): {
|
|
206
|
+
plan: prefetchplan;
|
|
207
|
+
allowed: string[];
|
|
208
|
+
refused: string[];
|
|
209
|
+
dropped: string[];
|
|
210
|
+
};
|
|
211
|
+
/** Opens the read only sockets of the expected origins ahead of the steps that need them: only the origins the session grants cover may preconnect, every target carries the time its connection is expected, and every socket stays read only and revocable because a preconnect warms the transport and never carries a request of its own. */
|
|
212
|
+
export declare function preconnectorigin(input: {
|
|
213
|
+
origins: string[];
|
|
214
|
+
grants: string[];
|
|
215
|
+
now: number;
|
|
216
|
+
}): {
|
|
217
|
+
targets: preconnecttarget[];
|
|
218
|
+
refused: string[];
|
|
219
|
+
};
|
|
220
|
+
/** Builds one deep link url of a common web app from its route pattern and the reviewed parameters: the app name resolves into its deeplinkpattern, the first pattern whose named parameters the reviewed step supplies wins, a missing parameter refuses loudly instead of building a half url, and every substituted value encodes so the route stays exactly what the pattern names. */
|
|
221
|
+
export declare function deeplinkapp(input: {
|
|
222
|
+
app: string;
|
|
223
|
+
params: Record<string, string>;
|
|
224
|
+
patterns?: deeplinkpattern[];
|
|
225
|
+
}): {
|
|
226
|
+
url: string;
|
|
227
|
+
pattern: deeplinkpattern;
|
|
228
|
+
};
|
|
229
|
+
/** Restores one recently closed tab from its closedtabrecord: the most recent record the user closed comes back first, an explicit url restores its own record, a record whose origin lost its grant refuses loudly instead of silently reopening, and a reopened record never reopens twice while the retention window keeps it for the audit trail. */
|
|
230
|
+
export declare function reopentab(input: {
|
|
231
|
+
records: closedtabrecord[];
|
|
232
|
+
grants: string[];
|
|
233
|
+
url?: string;
|
|
234
|
+
now: number;
|
|
235
|
+
}): closedtabrecord;
|
|
236
|
+
/** Rebuilds the navigation trail of one run from its urlhistory for the audit: the visits of the run order by their time, consecutive duplicates fold so the trail reads as the path the run walked, and repeated restores of the same history return the same entries so a replayed trail never doubles itself; the fresh tab replay stays an on demand operation of the executor because the trail itself stays a read only record. */
|
|
237
|
+
export declare function restoretrail(input: {
|
|
238
|
+
visits: urlvisit[];
|
|
239
|
+
runid?: string;
|
|
240
|
+
}): navtrailentry[];
|
|
241
|
+
/** Freezes navigation while a consent prompt is open: the pause carries its reason in plain language, a navigation that arrives while the freeze holds queues its url as the pending navigation of the record, and the queued navigation waits for the answer of the prompt instead of dropping silently. */
|
|
242
|
+
export declare function pausenavconsent(input: {
|
|
243
|
+
reason?: string;
|
|
244
|
+
url?: string;
|
|
245
|
+
stepid?: string;
|
|
246
|
+
stored?: navpause;
|
|
247
|
+
now: number;
|
|
248
|
+
}): navpause;
|
|
249
|
+
/** Resumes the frozen navigation and hands the queued navigation back: the resume returns the pending url the pause held so the executor continues exactly where the consent prompt stopped it, and a resume without a stored pause changes nothing. */
|
|
250
|
+
export declare function resumenavconsent(input: {
|
|
251
|
+
stored?: navpause;
|
|
252
|
+
now: number;
|
|
253
|
+
}): {
|
|
254
|
+
resumed: boolean;
|
|
255
|
+
queued?: navpause;
|
|
256
|
+
};
|
|
257
|
+
/** Tracks the navigation count of one domain inside the sliding window: every navigation stamps its hit into the window, the hits older than the user configured window size age out as the window slides forward, a full window delays the navigation for the milliseconds the oldest hit needs to age out and never drops it silently, and an absent window size or ceiling leaves the counting manual because both stay user choices with no code default. */
|
|
258
|
+
export declare function navratelimit(input: {
|
|
259
|
+
stored?: ratelimitwindow;
|
|
260
|
+
url: string;
|
|
261
|
+
now: number;
|
|
262
|
+
window?: number;
|
|
263
|
+
ceiling?: number;
|
|
264
|
+
}): {
|
|
265
|
+
window: ratelimitwindow;
|
|
266
|
+
allowed: boolean;
|
|
267
|
+
waitms: number;
|
|
268
|
+
reason: string;
|
|
269
|
+
};
|
|
270
|
+
/** Reads one url from the clipboard text of an explicit user action: the text must parse into an HTTPS url, the origin of the url must sit inside the session grants before anything opens, and a clipboard that holds anything else refuses loudly instead of guessing. */
|
|
271
|
+
export declare function openclipboardurl(input: {
|
|
272
|
+
text: string;
|
|
273
|
+
grants: string[];
|
|
274
|
+
}): {
|
|
275
|
+
url: string;
|
|
276
|
+
};
|
|
277
|
+
/** Verifies one url for safety: the scheme must stay HTTPS, the url carries no embedded credentials, the host is no private network or raw address, and a host that imitates a granted origin — the granted host embedded in a longer host, joined through hyphens or squatting through punycode — refuses with the reason the ui shows before anything opens. */
|
|
278
|
+
export declare function checksafeurl(input: {
|
|
279
|
+
url: string;
|
|
280
|
+
granted?: string[];
|
|
281
|
+
now: number;
|
|
282
|
+
}): safetyverdict;
|
|
283
|
+
/** Opens one curated list of links with one tab per link: every url verifies through checksafeurl before anything opens and one unsafe url refuses the whole batch as a curated record that waits for review, the batch size never passes the user configured ceiling because the bound stays a user choice only, and the per domain sliding windows account every open across the whole batch while a full window moves its url into the waits the caller delays on and never drops silently. */
|
|
284
|
+
export declare function batchopenlinks(input: {
|
|
285
|
+
id: string;
|
|
286
|
+
urls: string[];
|
|
287
|
+
grants: string[];
|
|
288
|
+
windows: ratelimitwindow[];
|
|
289
|
+
now: number;
|
|
290
|
+
window?: number;
|
|
291
|
+
sizelimit?: number;
|
|
292
|
+
}): {
|
|
293
|
+
batch: linkbatch;
|
|
294
|
+
open: Array<{
|
|
295
|
+
url: string;
|
|
296
|
+
verdict: safetyverdict;
|
|
297
|
+
}>;
|
|
298
|
+
refused: Array<{
|
|
299
|
+
url: string;
|
|
300
|
+
reasons: string[];
|
|
301
|
+
}>;
|
|
302
|
+
ordered: string[];
|
|
303
|
+
waits: Array<{
|
|
304
|
+
url: string;
|
|
305
|
+
waitms: number;
|
|
306
|
+
}>;
|
|
307
|
+
windows: ratelimitwindow[];
|
|
308
|
+
reason: string;
|
|
309
|
+
};
|
|
310
|
+
//# sourceMappingURL=commands.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared TypeScript compatibility primitives derived from the converted docs logic.
|
|
3
|
+
* These helpers intentionally exclude browser automation, CAPTCHA handling and credential capture.
|
|
4
|
+
*/
|
|
5
|
+
/** Identifies the public wire formats normalized by DevThink. */
|
|
6
|
+
export type ProviderProtocol = "openai" | "anthropic" | "google";
|
|
7
|
+
/** Returns bounded exponential retry timing for a transient request failure. */
|
|
8
|
+
export declare function retryDelay(attempt: number, baseMs?: number, maximumMs?: number): number;
|
|
9
|
+
/** Removes a bearer value from an error message before it reaches a terminal or browser surface. */
|
|
10
|
+
export declare function redactProviderError(message: string): string;
|
|
11
|
+
/** Accepts a browser origin only when it exactly matches an explicit local configuration entry. */
|
|
12
|
+
export declare function isAllowedOrigin(origin: string | undefined, allowedOrigins: readonly string[] | undefined): boolean;
|
|
13
|
+
/** Verifies that a user-operated synchronization endpoint uses HTTPS. */
|
|
14
|
+
export declare function isSecureRemoteEndpoint(value: string | undefined): boolean;
|
|
15
|
+
/** Normalizes a static-site base path for repository-scoped GitHub Pages deployments. */
|
|
16
|
+
export declare function normalizeBasePath(value: string | undefined, repository: string): string;
|
|
17
|
+
//# sourceMappingURL=compatibility.d.ts.map
|