@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
package/dist/views.d.ts
ADDED
|
@@ -0,0 +1,579 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The views module of the 1.1.90 consolidation: every correlated variation of the interface surface logic interned in this one file, so the module family carries one surface without duplicate variations.
|
|
3
|
+
* The correlation is the interface surface family itself: surfaces holds the commandpalette, the taskinput proposals, the onboarding walkthrough and the command bus with the broadcast channel every surface shares; statusviews carries the statusbadge, the done and attention notifications, the recent tray and the stetoast stack; pickerviews scores the element candidates of a picker session with its target halo, page chips and guided tips; tourviews replays the featuretour and localizes the a11ylabels through the locale bundles; evidenceviews renders the shotpanel and the compareviewer pair of the capture evidence; datagrid infers the column types of extraction results with its sorting, filtering, range selection and masked exports; virtlist windows the long lists every surface renders; siteprefs resolves the site profiles, the theme tokens, the locale bundles and the shortcut bindings; quickactions carries the quickaction catalog with its omnibox task parsing and shortcut grammar; and attentionfeed collects, dedupes, ranks and dismisses the attention entries every surface surfaces.
|
|
4
|
+
* No palette depth, list window, locale set or shortcut is ever hardcoded: every bound stays the user's choice with no engine cap, and no surface action ever bypasses the human review.
|
|
5
|
+
*/
|
|
6
|
+
import type { broadcastchannelkind, broadcastframe, onboardingstate, onboardingstep, paletteentry, palettematch, paletteuserecord, surfaceaction, surfaceroute, taskinputsubmission, uisurface, notificationpayload, recenttrayentry, statusbadgestate, stetoast, guidedtip, pagechipconfirmation, pickercandidate, pickersession, targethalo, a11ylabel, featuretourstop, localebundle, compareviewerpair, shotpanelview, datagridcolumn, datagridrow, datagridview, exportmenudescriptor, virtlistwindow, darklighttokens, siteprofile, shortcutbinding, omniboxtasksubmission, quickaction, attentionentry, attentioncause } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Interface surface logic of the 1.1.64 family, part one.
|
|
9
|
+
* The popup, the sidepanel, the dashboardpage, the optionspage and the onboarding share this pure logic: the commandpalette registers its catalog from every module at startup, lists only the actions the current capability set allows and ranks fuzzy matches over ids, labels and keywords with the recent commands first; the taskinput builds submissions with the active origin and the page outline attached and routes them through the same proposal flow as the api; the onboarding walks its four steps once on first install, replays on demand and writes a single consent scoped event on completion; the command bus routes every surface action through the same policy gates; and the single broadcast channel frames every run state, logstream, session store and settings change the surfaces subscribe to.
|
|
10
|
+
* No window, limit or ranking depth is ever hardcoded: every bound stays the user's choice with no engine cap, and no surface action ever bypasses the human review.
|
|
11
|
+
*/
|
|
12
|
+
/** The commandpalette catalog registered from every module at startup: each entry routes through the command bus with the permission and session needs it declares. */
|
|
13
|
+
export declare function surfacepalette(): paletteentry[];
|
|
14
|
+
/** Lists only the palette actions the current capability set and session state allow: every command rides its existing permission gate before it lists. */
|
|
15
|
+
export declare function palettecommandsof(entries: paletteentry[], input: {
|
|
16
|
+
granted: string[];
|
|
17
|
+
sessionactive: boolean;
|
|
18
|
+
}): paletteentry[];
|
|
19
|
+
/** Ranks the fuzzy palette matches for one query: ids, labels and keywords match while the most recently used commands rank first among equal scores. */
|
|
20
|
+
export declare function palettequery(entries: paletteentry[], input: {
|
|
21
|
+
text: string;
|
|
22
|
+
usage: paletteuserecord[];
|
|
23
|
+
recentwindow?: number;
|
|
24
|
+
}): palettematch[];
|
|
25
|
+
/** Records one commandpalette use: the count grows and the last use time moves so the recent first ranking reads both. */
|
|
26
|
+
export declare function paletteuseafter(usage: paletteuserecord[], command: string, now: number): paletteuserecord[];
|
|
27
|
+
/** Builds one taskinput submission with the active origin and the page outline context attached; an empty text or origin refuses the submission. */
|
|
28
|
+
export declare function taskinputof(input: {
|
|
29
|
+
text: string;
|
|
30
|
+
context?: string;
|
|
31
|
+
origin: string;
|
|
32
|
+
surface: uisurface;
|
|
33
|
+
at: number;
|
|
34
|
+
}): taskinputsubmission;
|
|
35
|
+
/** Keeps the taskinput history per profile with the newest entry first; an absent retention window keeps every entry. */
|
|
36
|
+
export declare function taskhistoryafter(history: taskinputsubmission[], entry: taskinputsubmission, retention: number | undefined, now: number): taskinputsubmission[];
|
|
37
|
+
/** The five onboarding steps: the origin grants, the plan review, the run control, the log audit walkthrough of a first run and the optional library walkthrough stop of the 1.1.66 ecosystem family. */
|
|
38
|
+
export declare function onboardingsteps(): onboardingstep[];
|
|
39
|
+
/** Starts the onboarding once on first install or on an explicit replay: a fresh walkthrough begins while an already done state resets. */
|
|
40
|
+
export declare function onboardingstart(previous: onboardingstate | undefined, now: number): onboardingstate;
|
|
41
|
+
/** Completes one onboarding step: the walkthrough records the step and a full completion of every mandatory stop writes exactly one consent scoped event while the optional library stop enriches without blocking. */
|
|
42
|
+
export declare function onboardingcomplete(state: onboardingstate, stepid: string, now: number): {
|
|
43
|
+
state: onboardingstate;
|
|
44
|
+
consentevent?: string;
|
|
45
|
+
};
|
|
46
|
+
/** Builds one broadcast frame of the single surface channel: every run state, logstream, session store and settings change rides the same channel. */
|
|
47
|
+
export declare function broadcastframeof(input: {
|
|
48
|
+
channel: broadcastchannelkind;
|
|
49
|
+
surface: uisurface | "background";
|
|
50
|
+
summary: string;
|
|
51
|
+
at: number;
|
|
52
|
+
}): broadcastframe;
|
|
53
|
+
/** Maps one audit kind onto the broadcast channel its frame rides: run control kinds carry run state, session store kinds carry session updates and the rest streams as logstream frames. */
|
|
54
|
+
export declare function broadcastchannelof(kind: string): broadcastchannelkind;
|
|
55
|
+
/** Routes one surface action through the command bus: every action rides the same policy gates before it dispatches and the verdict names the gate that decided. */
|
|
56
|
+
export declare function busrouteaction(action: surfaceaction, input: {
|
|
57
|
+
sessionactive: boolean;
|
|
58
|
+
granted: string[];
|
|
59
|
+
planreviewed: boolean;
|
|
60
|
+
planstate: string;
|
|
61
|
+
text?: string;
|
|
62
|
+
origin?: string;
|
|
63
|
+
}): surfaceroute;
|
|
64
|
+
/** The terminal command registry the cli grows: the palette definitions the extension registers share this registry, so one command catalog drives the surfaces and the cli with no drift between them. */
|
|
65
|
+
export declare function clicommands(palette: paletteentry[]): Array<{
|
|
66
|
+
id: string;
|
|
67
|
+
label: string;
|
|
68
|
+
keywords: string[];
|
|
69
|
+
surface: string;
|
|
70
|
+
terminal: boolean;
|
|
71
|
+
}>;
|
|
72
|
+
/** The fixed keyboard focus order of the review dialog of the 2.0.2 final polish (roadmap rc.2 item 34): the keyboard reads the step summary first, then walks the approve, revise and reject controls, so the review dialog answers one predictable sequence instead of the tab order the markup happens to carry. */
|
|
73
|
+
export declare const reviewdialogorder: readonly ("readsummary" | "approve" | "revise" | "reject")[];
|
|
74
|
+
/** Computes the ordered tabindex sequence of the review dialog controls: every control of the fixed order earns its tabindex in sequence starting at one while the first control names the focus target the dialog moves focus to when it opens; a control list that repeats or empties a control refuses because a focus order that loses a control hides it from the keyboard. */
|
|
75
|
+
export declare function focusorderof(controls?: readonly string[]): {
|
|
76
|
+
order: Array<{
|
|
77
|
+
control: string;
|
|
78
|
+
tabindex: number;
|
|
79
|
+
}>;
|
|
80
|
+
focusfirst: string;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Statusbadge, notification, recenttray and stetoast logic of the 1.1.65 family.
|
|
84
|
+
* The user stays informed without watching: the statusbadge derives its idle, running, waiting and attention states from the run state and counts the waiting gates when attention is needed on the toolbar icon; notifydone fires on run completion with a deep link to the runsummary while notifyattention fires on gate waits, phishguard blocks and deferrals with a deep link to the exact waiting step and every notification respects the os do not disturb state and shows page content only after its consent; the recenttray lists the latest runs in the popup with resume for halted runs and reopen for completed ones; and the stetoasts confirm step completion with kind and duration, stacking with a bounded live count and a history view.
|
|
85
|
+
* No depth or live count is ever hardcoded: the recenttray depth and the toast live count stay user choices with no engine cap, and no notification ever bypasses the content consent.
|
|
86
|
+
*/
|
|
87
|
+
/** Derives the statusbadge state of the toolbar icon from the run state: idle with no run, running while the approved plan executes, waiting while a gate holds and attention when waiting gates count above zero. */
|
|
88
|
+
export declare function statusbadgeof(input: {
|
|
89
|
+
planstate?: "pending" | "approved" | "rejected" | "cancelled" | "expired";
|
|
90
|
+
waitingcount: number;
|
|
91
|
+
runid?: string;
|
|
92
|
+
}): statusbadgestate;
|
|
93
|
+
/** Renders the toolbar badge text of one statusbadge state: attention names its waiting gate count, running marks the live run and idle clears the badge. */
|
|
94
|
+
export declare function badgetextof(state: statusbadgestate): string;
|
|
95
|
+
/** Names the badge color of one statusbadge state so the outline color follows the run state. */
|
|
96
|
+
export declare function badgecolorof(state: statusbadgestate): string;
|
|
97
|
+
/** Pluralizes one counted noun of the notification texts: english and the shipped pt bundle both keep the singular at exactly one while zero and counts above one take the plural — english appends the s while portuguese nouns ending in ão take the ões shape — with the portuguese nouns the notifications name carrying their bundle words so the localized plurals of the 2.0.2 final polish (roadmap rc.2 item 36) read "1 step", "3 steps", "1 etapa", "3 etapas" and "2 execuções" from the same rule. */
|
|
98
|
+
export declare function pluralize(count: number, noun: string, language?: string): string;
|
|
99
|
+
/** Renders one counted noun as its localized count label: the number beside its correctly pluralized noun — "1 step", "3 steps", "1 capture", "4 captures" — so every notification body that carries a count reads its own grammar instead of a hardcoded plural. */
|
|
100
|
+
export declare function countlabel(count: number, noun: string, language?: string): string;
|
|
101
|
+
/** Builds the notifydone payload of a completed run: the plain language title and body with the deep link to the runsummary; the body never carries page content so no consent is needed, and an absent summary falls back to the counted steps and captures the run recorded, pluralized through the countlabel grammar so one step reads "1 step" while three read "3 steps". */
|
|
102
|
+
export declare function notifydoneof(input: {
|
|
103
|
+
runid: string;
|
|
104
|
+
origin: string;
|
|
105
|
+
summary: string;
|
|
106
|
+
steps?: number;
|
|
107
|
+
captures?: number;
|
|
108
|
+
language?: string;
|
|
109
|
+
at: number;
|
|
110
|
+
}): notificationpayload;
|
|
111
|
+
/** Builds the notifyattention payload of a gate wait, a phishguard block or a deferral: the deep link opens the exact waiting step of the run; a body that carries page content needs its consent before it builds, and an optional waiting gate count appends its pluralized count so "1 gate waits" never reads "1 gates wait". */
|
|
112
|
+
export declare function notifyattentionof(input: {
|
|
113
|
+
runid: string;
|
|
114
|
+
stepid: string;
|
|
115
|
+
cause: "gatewait" | "phishguard" | "deferral";
|
|
116
|
+
reason: string;
|
|
117
|
+
waitinggates?: number;
|
|
118
|
+
language?: string;
|
|
119
|
+
content?: boolean;
|
|
120
|
+
consent?: boolean;
|
|
121
|
+
at: number;
|
|
122
|
+
}): notificationpayload;
|
|
123
|
+
/** Applies the os do not disturb state to one notification: a quiet os suppresses the toast while the deep link stays in the history for the user to open. */
|
|
124
|
+
export declare function notificationrespectsdnd(payload: notificationpayload, dnd: boolean): {
|
|
125
|
+
show: boolean;
|
|
126
|
+
reason: string;
|
|
127
|
+
};
|
|
128
|
+
/** Builds one recenttray entry: the run id, the origin, the outcome, the title and the time; a halted run offers resume while a completed run offers reopen. */
|
|
129
|
+
export declare function recenttrayentryof(input: {
|
|
130
|
+
runid: string;
|
|
131
|
+
origin: string;
|
|
132
|
+
outcome: "running" | "completed" | "halted" | "failed";
|
|
133
|
+
title: string;
|
|
134
|
+
at: number;
|
|
135
|
+
}): recenttrayentry;
|
|
136
|
+
/** Appends one recenttray entry with the newest first: the user configured depth keeps the latest runs while an absent depth keeps every run. */
|
|
137
|
+
export declare function recenttrayafter(entries: recenttrayentry[], entry: recenttrayentry, depth: number | undefined): recenttrayentry[];
|
|
138
|
+
/** Lists the actions one recenttray entry offers: resume for a halted run and reopen for a completed or failed one. */
|
|
139
|
+
export declare function recenttrayactions(entry: recenttrayentry): string[];
|
|
140
|
+
/** Builds one stetoast: the step completion confirmation with the step kind and its duration in milliseconds. */
|
|
141
|
+
export declare function stetoastof(input: {
|
|
142
|
+
stepid: string;
|
|
143
|
+
kind: string;
|
|
144
|
+
durationms: number;
|
|
145
|
+
at: number;
|
|
146
|
+
}): stetoast;
|
|
147
|
+
/** Stacks one steteoast with a bounded live count: the live stack keeps the newest toasts inside the user configured bound while the full history stays queryable; an absent bound keeps every toast live. */
|
|
148
|
+
export declare function stetoaststackafter(toasts: stetoast[], toast: stetoast, livecount: number | undefined): {
|
|
149
|
+
live: stetoast[];
|
|
150
|
+
history: stetoast[];
|
|
151
|
+
};
|
|
152
|
+
/** Reads the toast history newest first for the history view. */
|
|
153
|
+
export declare function stetoasthistory(toasts: stetoast[]): stetoast[];
|
|
154
|
+
/**
|
|
155
|
+
* Pickeroverlay, targethalo, guidedtips and pagechips logic of the 1.1.65 family.
|
|
156
|
+
* Selection and inline review live here: the pickeroverlay starts from the sidepanel, lists the element candidates of the granted origin with stability scored selectors and locks one candidate for the proposed step; the targethalo outlines the active target element during a run with its color following the step state; the guidedtips explain the selector choice during picker sessions and dismiss and recall from the optionspage; and the pagechips render inline confirmations anchored to the target element with approve and reject actions whose resolutions write to the immutable log exactly like stepapprove.
|
|
157
|
+
* No candidate count or scoring depth is ever hardcoded: every bound stays the user's choice, and no picker read or pagechip resolution ever bypasses the human review.
|
|
158
|
+
*/
|
|
159
|
+
/** Scores one element candidate for selector stability: an id selector scores highest, stable attribute and role selectors score next, a unique text anchor lifts the score and positional selectors score lowest. */
|
|
160
|
+
export declare function stabilityscoreof(input: {
|
|
161
|
+
selector: string;
|
|
162
|
+
hasid: boolean;
|
|
163
|
+
hasstableattributes: boolean;
|
|
164
|
+
hasrole: boolean;
|
|
165
|
+
textunique: boolean;
|
|
166
|
+
}): number;
|
|
167
|
+
/** Builds one picker candidate with its stability score and the plain language reason the score stands. */
|
|
168
|
+
export declare function pickercandidateof(input: {
|
|
169
|
+
selector: string;
|
|
170
|
+
text?: string;
|
|
171
|
+
role?: string;
|
|
172
|
+
hasid: boolean;
|
|
173
|
+
hasstableattributes: boolean;
|
|
174
|
+
hasrole: boolean;
|
|
175
|
+
textunique: boolean;
|
|
176
|
+
}): pickercandidate;
|
|
177
|
+
/** Starts one pickeroverlay session from the sidepanel: the origin grants gate the reads and the candidates rank by their stability score. */
|
|
178
|
+
export declare function pickersessionstart(input: {
|
|
179
|
+
origin: string;
|
|
180
|
+
granted: string[];
|
|
181
|
+
candidates: pickercandidate[];
|
|
182
|
+
at: number;
|
|
183
|
+
}): pickersession;
|
|
184
|
+
/** Ranks the picker candidates by their stability score with the most stable selector first. */
|
|
185
|
+
export declare function rankcandidates(candidates: pickercandidate[]): pickercandidate[];
|
|
186
|
+
/** Locks one picker candidate for the proposed step: the locked session carries the step id and the chosen selector while a second lock on the same session refuses. */
|
|
187
|
+
export declare function lockcandidate(session: pickersession, candidateindex: number, stepid: string): pickersession;
|
|
188
|
+
/** Builds one targethalo geometry descriptor: the step it outlines, the target selector, the pixel rect and the step state that colors the outline. */
|
|
189
|
+
export declare function haloof(input: {
|
|
190
|
+
stepid: string;
|
|
191
|
+
selector: string;
|
|
192
|
+
rect: {
|
|
193
|
+
x: number;
|
|
194
|
+
y: number;
|
|
195
|
+
width: number;
|
|
196
|
+
height: number;
|
|
197
|
+
};
|
|
198
|
+
state: targethalo["state"];
|
|
199
|
+
}): targethalo;
|
|
200
|
+
/** Colors the targethalo outline by step state: pending stays gray, running blue, waiting amber, done green, failed red and halted dark. */
|
|
201
|
+
export declare function halocolorof(state: targethalo["state"]): string;
|
|
202
|
+
/** The guidedtips content bound to picker sessions: each tip explains one selector choice with its surface and its picker step. */
|
|
203
|
+
export declare function guidedtips(): guidedtip[];
|
|
204
|
+
/** Dismisses one guidedtip: the dismissed tip never shows again on its own while the optionspage recalls every dismissed tip on demand. */
|
|
205
|
+
export declare function guidedtipdismiss(tips: guidedtip[], dismissed: string[], tipid: string): string[];
|
|
206
|
+
/** Recalls every dismissed guidedtip: the recall clears the dismissed list so the tips show again. */
|
|
207
|
+
export declare function guidedtiprecall(dismissed: string[]): string[];
|
|
208
|
+
/** Builds one pagechip confirmation anchored to the target element of a gated step: the chip renders inline on the page with its approve and reject actions. */
|
|
209
|
+
export declare function pagechipof(input: {
|
|
210
|
+
stepid: string;
|
|
211
|
+
selector: string;
|
|
212
|
+
origin: string;
|
|
213
|
+
at: number;
|
|
214
|
+
}): pagechipconfirmation;
|
|
215
|
+
/** Resolves one pagechip with its approve or reject action: the resolution carries its human surface and writes to the immutable log exactly like a stepapprove resolution. */
|
|
216
|
+
export declare function pagechipresolve(chip: pagechipconfirmation, resolution: "approve" | "reject", surface: uisurface | "background", at: number): {
|
|
217
|
+
chip: pagechipconfirmation;
|
|
218
|
+
logevent: {
|
|
219
|
+
kind: "review";
|
|
220
|
+
summary: string;
|
|
221
|
+
stepid: string;
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* Featuretour and a11ylabels logic of the 1.1.65 family.
|
|
226
|
+
* The interface teaches itself here: the featuretour replays the onboarding walkthrough on demand and adds its own stops for the datagrid, the compareviewer and the pickeroverlay with the surface and the focus of every stop; and the a11ylabels name every control across the popup, the sidepanel, the dashboardpage and the optionspage with role, name, state and value for screen readers, following the language of the interface.
|
|
227
|
+
* No stop count or label set is ever hardcoded: every tour and label reads the same locale bundles, and no tour stop ever bypasses the human review.
|
|
228
|
+
*/
|
|
229
|
+
/** The featuretour stops: the onboarding walkthrough replays on demand while the added stops walk the datagrid, the compareviewer and the pickeroverlay with their surface and focus. */
|
|
230
|
+
export declare function featuretourstops(): featuretourstop[];
|
|
231
|
+
/** Orders the featuretour stops by their stop order for the replay. */
|
|
232
|
+
export declare function featuretourordered(stops: featuretourstop[]): featuretourstop[];
|
|
233
|
+
/** The stop of the featuretour at one position for the replay walkthrough. */
|
|
234
|
+
export declare function featuretourstopat(stops: featuretourstop[], position: number): featuretourstop | undefined;
|
|
235
|
+
/** Builds one a11ylabel: the control, its role, its accessible name and its optional state and value for screen readers. */
|
|
236
|
+
export declare function a11ylabelof(input: {
|
|
237
|
+
control: string;
|
|
238
|
+
role: a11ylabel["role"];
|
|
239
|
+
name: string;
|
|
240
|
+
state?: string;
|
|
241
|
+
value?: string;
|
|
242
|
+
}): a11ylabel;
|
|
243
|
+
/** The a11ylabels of one surface: every control across the popup, the sidepanel, the dashboardpage and the optionspage carries its role, name, state and value. */
|
|
244
|
+
export declare function a11ylabelsfor(surface: uisurface): a11ylabel[];
|
|
245
|
+
/** Localizes one a11ylabel through the locale bundles: the accessible name resolves in the language of the interface with the english fallback so every control keeps a spoken name. */
|
|
246
|
+
export declare function a11ylabellocalized(label: a11ylabel, bundles: localebundle[], language: string): a11ylabel;
|
|
247
|
+
/** Localizes every a11ylabel of one surface so screen readers follow the language of the interface. */
|
|
248
|
+
export declare function a11ylabelslocalizedfor(surface: uisurface, bundles: localebundle[], language: string): a11ylabel[];
|
|
249
|
+
/**
|
|
250
|
+
* Shotpanel and compareviewer logic of the 1.1.65 family.
|
|
251
|
+
* Evidence views live here: the shotpanel previews the capture of every step with its capture provenance and redaction verdicts and zooms and pans the large stitched captures; the compareviewer pairs the before and after captures of every executed write step and overlays the two captures with a slider so the user sees exactly what the step changed.
|
|
252
|
+
* No zoom factor, pan step or pixel ceiling is ever hardcoded: every view stays a user choice, and no capture of an ungranted origin ever opens in the panel.
|
|
253
|
+
*/
|
|
254
|
+
/** Builds one shotpanel view: the step, the run, the capture id, the capture provenance, the redaction verdicts and the zoom and pan the user set; the capture origin must hold a granted origin. */
|
|
255
|
+
export declare function shotpanelof(input: {
|
|
256
|
+
stepid: string;
|
|
257
|
+
runid: string;
|
|
258
|
+
captureid: string;
|
|
259
|
+
provenance: "viewport" | "fullpage" | "element" | "region";
|
|
260
|
+
origin: string;
|
|
261
|
+
granted: string[];
|
|
262
|
+
redactions?: Array<{
|
|
263
|
+
region: string;
|
|
264
|
+
verdict: string;
|
|
265
|
+
}>;
|
|
266
|
+
at: number;
|
|
267
|
+
}): shotpanelview;
|
|
268
|
+
/** Zooms one shotpanel view: the factor multiplies the current zoom while a non positive zoom refuses the change. */
|
|
269
|
+
export declare function shotpanelzoom(view: shotpanelview, factor: number): shotpanelview;
|
|
270
|
+
/** Pans one shotpanel view: the offsets move the viewport over the large stitched capture so the user inspects any region. */
|
|
271
|
+
export declare function shotpanelpan(view: shotpanelview, offset: {
|
|
272
|
+
x: number;
|
|
273
|
+
y: number;
|
|
274
|
+
}): shotpanelview;
|
|
275
|
+
/** Builds one compareviewer pair: the step, the before capture, the after capture and the slider that starts at the middle so the overlay splits the two captures. */
|
|
276
|
+
export declare function comparepairof(input: {
|
|
277
|
+
stepid: string;
|
|
278
|
+
beforecaptureid: string;
|
|
279
|
+
aftercaptureid: string;
|
|
280
|
+
}): compareviewerpair;
|
|
281
|
+
/** Moves the compareviewer slider: the value stays between zero and one hundred so the overlay splits the before and after captures at the user chosen position. */
|
|
282
|
+
export declare function overlayslider(pair: compareviewerpair, value: number): compareviewerpair;
|
|
283
|
+
/** Pairs the before and after captures of every executed write step: only a step that changed page or browser state earns a pair, and each pair names its step. */
|
|
284
|
+
export declare function comparepairsforsteps(steps: Array<{
|
|
285
|
+
stepid: string;
|
|
286
|
+
risk: "read" | "interaction" | "sensitive";
|
|
287
|
+
writeexecuted: boolean;
|
|
288
|
+
}>, captures: Record<string, {
|
|
289
|
+
beforecaptureid?: string;
|
|
290
|
+
aftercaptureid?: string;
|
|
291
|
+
}>): compareviewerpair[];
|
|
292
|
+
/**
|
|
293
|
+
* Datagrid and exportmenu logic of the 1.1.65 family.
|
|
294
|
+
* The extraction half of the interface lives here: a datagrid view arranges the extraction result of one run into columns and rows with the column types inferred from the values themselves, sorts and filters rows locally inside the surface, and selects a row range so a partial export ships only what the user chose; the exportmenu offers csv, json and clipboard formats scoped to the selection, one step or the whole run and writes masked values only, honoring the maskinputs verdicts of every sensitive field shape so no clear value ever leaves the grid.
|
|
295
|
+
* No row count, column count or byte ceiling is ever hardcoded: every bound stays the user's choice with no engine cap, and no export path ever bypasses the mask verdicts.
|
|
296
|
+
*/
|
|
297
|
+
/** Infers one column type from its observed values: numbers, booleans and iso dates infer their type while every other shape stays text; an all empty column infers empty. */
|
|
298
|
+
export declare function infercolumntype(values: string[]): datagridcolumn["type"];
|
|
299
|
+
/** Builds the inferred columns of one extraction result: every field of every row becomes one column with its type inferred from the observed values. */
|
|
300
|
+
export declare function datagridcolumnsof(rows: Array<Record<string, string>>): datagridcolumn[];
|
|
301
|
+
/** Builds one datagrid view of an extraction result: the title, the origin it ran on, the run it belongs to, the inferred columns and the rows with their original order as index. */
|
|
302
|
+
export declare function datagridof(input: {
|
|
303
|
+
title: string;
|
|
304
|
+
origin: string;
|
|
305
|
+
runid: string;
|
|
306
|
+
rows: Array<Record<string, string>>;
|
|
307
|
+
at: number;
|
|
308
|
+
}): datagridview;
|
|
309
|
+
/** Sorts the datagrid rows locally by one column: text sorts lexicographically while numbers, booleans and dates sort by their parsed value; an absent direction keeps the original order. */
|
|
310
|
+
export declare function sortdatagridrows(view: datagridview, input: {
|
|
311
|
+
field: string;
|
|
312
|
+
direction: "ascending" | "descending";
|
|
313
|
+
}): datagridview;
|
|
314
|
+
/** Filters the datagrid rows locally by one text query: a row stays when any column value contains the query; an empty query keeps every row. */
|
|
315
|
+
export declare function filterdatagridrows(view: datagridview, text: string): datagridview;
|
|
316
|
+
/** Selects one inclusive row range for a partial export: the rows inside the range carry their selected mark while the rest clears. */
|
|
317
|
+
export declare function selectrowrange(view: datagridview, from: number, to: number): datagridview;
|
|
318
|
+
/** The rows one export ships: a selection scope keeps the selected rows only while the step and run scopes ship every row of the grid. */
|
|
319
|
+
export declare function exportrowsof(view: datagridview, scope: exportmenudescriptor["scope"]): datagridrow[];
|
|
320
|
+
/** Builds the exportmenu descriptors of one datagrid: the csv, json and clipboard formats scoped to the selection, one step or the whole run. */
|
|
321
|
+
export declare function exportmenudescriptors(): exportmenudescriptor[];
|
|
322
|
+
/** Masks one field value when the mask verdicts name it: a masked value never renders in the clear while every other value ships as extracted. */
|
|
323
|
+
export declare function maskedvalueof(value: string, field: string, maskverdicts: Record<string, string>): {
|
|
324
|
+
value: string;
|
|
325
|
+
masked: boolean;
|
|
326
|
+
};
|
|
327
|
+
/** Renders the export payload of one datagrid view: csv writes the header row and every shipping row, json writes the typed records and the clipboard format writes the csv text for the clipboard. */
|
|
328
|
+
export declare function exportdatagrid(view: datagridview, descriptor: exportmenudescriptor, maskverdicts?: Record<string, string>): {
|
|
329
|
+
format: exportmenudescriptor["format"];
|
|
330
|
+
scope: exportmenudescriptor["scope"];
|
|
331
|
+
destination: exportmenudescriptor["destination"];
|
|
332
|
+
text: string;
|
|
333
|
+
rows: number;
|
|
334
|
+
maskedfields: string[];
|
|
335
|
+
};
|
|
336
|
+
/**
|
|
337
|
+
* Virtlist logic of the 1.1.68 family.
|
|
338
|
+
* Long lists render through a virtualized window in every surface: the window keeps the visible row range, the measured height map holds the row heights the measurement pass records, and the row nodes recycle during scroll instead of rebuilding.
|
|
339
|
+
* The row window stays the user's choice: an absent window renders every row, and no engine default ever caps a list.
|
|
340
|
+
*/
|
|
341
|
+
/** Builds the initial virtlist window of one surface at scroll top: the window starts at row zero, spans the user configured row count or every row when the user set none, and the height map starts empty. */
|
|
342
|
+
export declare function openvirtlist(input: {
|
|
343
|
+
surface: string;
|
|
344
|
+
total: number;
|
|
345
|
+
rows?: number;
|
|
346
|
+
}): virtlistwindow;
|
|
347
|
+
/** Moves one virtlist window to a scroll offset: the window keeps its span, clamps inside the row range and recycles the rows the previous window rendered when they stay inside the new range. */
|
|
348
|
+
export declare function scrollvirtlist(window: virtlistwindow, start: number, rows?: number): virtlistwindow;
|
|
349
|
+
/** Measures the row heights of one virtlist window: the height map records the measured height of every rendered row while the rows outside the window keep their last measurement. */
|
|
350
|
+
export declare function measurevirtlistrows(window: virtlistwindow, measurements: Record<string, number>): virtlistwindow;
|
|
351
|
+
/** Reads the row slice one virtlist window renders: only the rows inside the window travel to the surface while the full list stays in memory. */
|
|
352
|
+
export declare function virtlistrows<T>(window: virtlistwindow, rows: T[]): T[];
|
|
353
|
+
/** Reads the estimated height of one virtlist window from its height map: measured rows count their measurement while unmeasured rows count the estimate the caller supplies because no engine default exists. */
|
|
354
|
+
export declare function virtlistheight(window: virtlistwindow, estimate: number): {
|
|
355
|
+
measured: number;
|
|
356
|
+
estimate: number;
|
|
357
|
+
total: number;
|
|
358
|
+
};
|
|
359
|
+
/** Reads the render savings of one virtlist window: the rows the surface avoided rendering beside the recycled nodes the scroll reused. */
|
|
360
|
+
export declare function virtlistsavings(window: virtlistwindow): {
|
|
361
|
+
rendered: number;
|
|
362
|
+
skipped: number;
|
|
363
|
+
recycled: number;
|
|
364
|
+
};
|
|
365
|
+
/** Builds the height map key of one row so the per surface height maps the memory stores stay stable across scrolls. */
|
|
366
|
+
export declare function heightmapkey(surface: string, row: number): string;
|
|
367
|
+
/** Builds the per surface height map record the memory stores for reuse: the surface, its measured heights and the time of the measurement pass. */
|
|
368
|
+
export declare function heightmaprecord(input: {
|
|
369
|
+
surface: string;
|
|
370
|
+
heights: Record<string, number>;
|
|
371
|
+
now: number;
|
|
372
|
+
}): {
|
|
373
|
+
surface: string;
|
|
374
|
+
heights: Record<string, number>;
|
|
375
|
+
at: number;
|
|
376
|
+
};
|
|
377
|
+
/**
|
|
378
|
+
* Siteprofiles, darklight themes and locale logic of the 1.1.65 family.
|
|
379
|
+
* The surface rounds out here: siteprofiles store the per site interface preferences (the theme, the shortcutkeys and the default view) beside the originprofiles policy preferences and activate automatically on their origin; the darklight theme follows the os preference with a manual override while its tokens cover every surface including the dashboardpage; and the locale bundles ship the interface strings of every supported language with an english fallback for missing strings and per language date, number and duration formatting.
|
|
380
|
+
* No theme, language or profile is ever forced: every preference stays the user's choice, and no siteprofile ever adjusts a policy gate.
|
|
381
|
+
*/
|
|
382
|
+
/** Builds one siteprofile: the origin, the theme, the shortcutkeys, the default view and the update time; the origin must hold an https shape because the profile extends the originprofiles family. */
|
|
383
|
+
export declare function siteprofileof(input: {
|
|
384
|
+
origin: string;
|
|
385
|
+
theme?: siteprofile["theme"];
|
|
386
|
+
shortcuts?: shortcutbinding[];
|
|
387
|
+
defaultview?: string;
|
|
388
|
+
at: number;
|
|
389
|
+
}): siteprofile;
|
|
390
|
+
/** Tests whether one siteprofile activates on the given origin: the profile applies automatically when its origin matches the active origin exactly. */
|
|
391
|
+
export declare function siteprofileactive(profile: siteprofile, origin: string): boolean;
|
|
392
|
+
/** Resolves the effective siteprofile of one origin: the stored profile applies when its origin matches while an absent profile returns undefined and the global preferences keep governing. */
|
|
393
|
+
export declare function siteprofilefor(profiles: siteprofile[], origin: string): siteprofile | undefined;
|
|
394
|
+
/** The darklight theme tokens of one mode: every surface, including the dashboardpage, reads the same token names so the theme covers the whole interface. */
|
|
395
|
+
export declare function darklighttokensof(mode: darklighttokens["mode"]): darklighttokens;
|
|
396
|
+
/** Resolves the effective appearance: the siteprofile theme wins on its origin, the manual user override wins next and the os preference governs when no override exists, with the source naming which layer decided. */
|
|
397
|
+
export declare function resolveappearance(input: {
|
|
398
|
+
ospreference: "dark" | "light";
|
|
399
|
+
useroverride?: "dark" | "light" | "system";
|
|
400
|
+
siteprofile?: siteprofile;
|
|
401
|
+
}): darklighttokens;
|
|
402
|
+
/** Applies one token set to a surface document: every custom property of the theme lands on the root element so every surface, including the dashboardpage, renders with the same tokens. */
|
|
403
|
+
export declare function applytheme(documentroot: {
|
|
404
|
+
style: {
|
|
405
|
+
setProperty(name: string, value: string): void;
|
|
406
|
+
};
|
|
407
|
+
}, tokens: darklighttokens): void;
|
|
408
|
+
/** The high contrast token set of the 2.0.2 final polish (roadmap rc.2 item 35): the same token names the darklight family resolves, retuned so every reading token reaches at least 4.5:1 against its surface and the accent and border reach at least 3:1 under the WCAG relative luminance arithmetic — pure black surfaces with white ink and whitened signal colors in the dark mode, a white surface with black ink and deepened signal colors in the light mode — while the default darklight sets stay untouched beside it. */
|
|
409
|
+
export declare function highcontrasttokens(mode: darklighttokens["mode"]): darklighttokens;
|
|
410
|
+
/** Resolves the effective token set under the contrast preference of the 2.0.2 final polish: the default preference keeps the darklight tokens exactly as the family resolved them while the high preference swaps in the high contrast set of the same mode, so the preference never moves the dark or light mode itself. */
|
|
411
|
+
export declare function contrasttokensof(input: {
|
|
412
|
+
mode: darklighttokens["mode"];
|
|
413
|
+
contrast: "default" | "high";
|
|
414
|
+
}): darklighttokens;
|
|
415
|
+
/** Applies the resolved tokens with their contrast variant to one surface document: the --theme-* custom properties land on the document root the darklight family already writes while the body carries its data-contrast attribute, so a high contrast surface renders from the same rules and names its variant for the assistive surface. */
|
|
416
|
+
export declare function applycontrasttheme(documentroot: {
|
|
417
|
+
style: {
|
|
418
|
+
setProperty(name: string, value: string): void;
|
|
419
|
+
};
|
|
420
|
+
}, body: {
|
|
421
|
+
setAttribute(name: string, value: string): void;
|
|
422
|
+
}, tokens: darklighttokens, contrast: "default" | "high"): void;
|
|
423
|
+
/** The dashboard panel width bounds of the 2.0.2 final polish (roadmap rc.2 item 37): every resizable panel column keeps at least the readable minimum while no column passes the shared maximum, and a known viewport keeps the sibling column its minimum too. */
|
|
424
|
+
export declare const panelwidthbounds: Readonly<{
|
|
425
|
+
minimum: number;
|
|
426
|
+
maximum: number;
|
|
427
|
+
}>;
|
|
428
|
+
/** Clamps one dashboard panel width inside the bounds: the floor keeps the column readable, the ceiling holds the shared maximum, and a viewport the caller supplies narrows the ceiling so the sibling column never loses its own minimum. */
|
|
429
|
+
export declare function clamppanelwidth(width: number, viewport?: number | undefined): number;
|
|
430
|
+
/** Parses the persisted panelwidths preferences of the dashboard columns from the layout seam shape: the "left=480" row resolves into the clamped left width while an absent or malformed row keeps the shipped default split. */
|
|
431
|
+
export declare function panelwidthsof(raw: string | undefined, viewport?: number | undefined): {
|
|
432
|
+
left: number;
|
|
433
|
+
};
|
|
434
|
+
/** Serializes the panelwidths preferences into the layout seam shape: the "left=480" row the per surface preferences persist, one clamped width per named column. */
|
|
435
|
+
export declare function panelwidthslayout(widths: {
|
|
436
|
+
left: number;
|
|
437
|
+
}): string;
|
|
438
|
+
/** Applies one resize move to the panelwidths state: the pointer delta moves the left column width by its pixels, the clamp holds the bounds and the answer names whether the move clamped, so the drag stops pushing the column past its readable edge. */
|
|
439
|
+
export declare function resizepanel(input: {
|
|
440
|
+
widths: {
|
|
441
|
+
left: number;
|
|
442
|
+
};
|
|
443
|
+
delta: number;
|
|
444
|
+
viewport?: number | undefined;
|
|
445
|
+
}): {
|
|
446
|
+
widths: {
|
|
447
|
+
left: number;
|
|
448
|
+
};
|
|
449
|
+
clamped: boolean;
|
|
450
|
+
};
|
|
451
|
+
/** The shipped locale bundles of the supported languages: every bundle carries the interface strings of its language with english as the fallback base. */
|
|
452
|
+
export declare function localebundles(): localebundle[];
|
|
453
|
+
/** Resolves one interface string in the requested language: a missing string falls back to the english bundle so no control ever renders an empty label. */
|
|
454
|
+
export declare function localestring(bundles: localebundle[], language: string, key: string): string;
|
|
455
|
+
/** The languages the shipped bundles cover. */
|
|
456
|
+
export declare function supportedlanguages(bundles: localebundle[]): string[];
|
|
457
|
+
/** Formats one date, number or duration value per language: dates render with the locale order, numbers with the locale separators and durations as minutes and seconds. */
|
|
458
|
+
export declare function localeformat(input: {
|
|
459
|
+
language: string;
|
|
460
|
+
value: number;
|
|
461
|
+
kind: "date" | "number" | "duration";
|
|
462
|
+
}): string;
|
|
463
|
+
/**
|
|
464
|
+
* Quickactions, shortcutkeys and omniboxtask logic of the 1.1.65 family.
|
|
465
|
+
* The path to a run shortens here: quickactions bind the context menu entries of the active tab (extract page, capture shot, run recent and open dashboardpage) behind the origin allowlist of the clicked tab so only permitted actions surface; shortcutkeys bind run, pause, resume, cancelrun and the commandpalette to user editable key combinations that route through the same commandpalette gates; and the omniboxtask parses the keyword text into a taskinput submission that lands in the standard proposal flow with its review intact.
|
|
466
|
+
* No binding is ever forced: every shortcut stays user editable in the optionspage, and no quickaction, shortcut or omnibox entry ever bypasses the human review.
|
|
467
|
+
*/
|
|
468
|
+
/** The quickaction catalog bound to the context menu entries of the active tab: extract page, capture shot, run recent and open dashboardpage. */
|
|
469
|
+
export declare function quickactioncatalog(): quickaction[];
|
|
470
|
+
/** Lists only the quickactions the active origin permits: every entry rides the origin allowlist of the clicked tab before it registers. */
|
|
471
|
+
export declare function quickactionsfor(catalog: quickaction[], input: {
|
|
472
|
+
origin: string;
|
|
473
|
+
granted: string[];
|
|
474
|
+
sessionactive: boolean;
|
|
475
|
+
grantedcapabilities?: string[];
|
|
476
|
+
}): quickaction[];
|
|
477
|
+
/** The default shortcutkeys bindings: run, pause, resume, cancelrun and the commandpalette open from every surface; every binding stays user editable. */
|
|
478
|
+
export declare function shortcutdefaults(): shortcutbinding[];
|
|
479
|
+
/** Parses one shortcut text such as ctrl+. into its key and modifiers: an empty text refuses the binding. */
|
|
480
|
+
export declare function parseshortcut(text: string): {
|
|
481
|
+
key: string;
|
|
482
|
+
modifiers: string[];
|
|
483
|
+
};
|
|
484
|
+
/** Formats one shortcut binding as its display text with the modifiers first. */
|
|
485
|
+
export declare function shortcuttext(binding: shortcutbinding): string;
|
|
486
|
+
/** Edits one shortcut binding: the user chosen combination replaces the binding while an unknown command refuses the edit. */
|
|
487
|
+
export declare function shortcutbindingafter(bindings: shortcutbinding[], command: string, text: string): shortcutbinding[];
|
|
488
|
+
/** Matches one pressed key and modifier set against the bindings: the first command whose combination matches wins, and the palette command matches from every surface. */
|
|
489
|
+
export declare function shortcutcommandof(bindings: shortcutbinding[], input: {
|
|
490
|
+
key: string;
|
|
491
|
+
modifiers: string[];
|
|
492
|
+
surface: uisurface;
|
|
493
|
+
}): string | undefined;
|
|
494
|
+
/** Confirms one bound command rides the commandpalette catalog with its gates intact: a shortcut may only trigger a command the palette action gate lists for the current capability set and session state. */
|
|
495
|
+
export declare function shortcutdispatchable(command: string, entries: paletteentry[], input: {
|
|
496
|
+
granted: string[];
|
|
497
|
+
sessionactive: boolean;
|
|
498
|
+
}): boolean;
|
|
499
|
+
/** Parses one omnibox keyword text into an omniboxtask submission: the text after the keyword becomes the natural language goal of the active origin while an empty text refuses the submission. */
|
|
500
|
+
export declare function parseomniboxtask(input: {
|
|
501
|
+
text: string;
|
|
502
|
+
origin: string;
|
|
503
|
+
at: number;
|
|
504
|
+
}): omniboxtasksubmission;
|
|
505
|
+
/** Lands one omniboxtask submission in the standard proposal flow: the submission becomes a taskinput of the omnibox surface that routes through the same proposal and review gates as the api. */
|
|
506
|
+
export declare function omniboxtasktotaskinput(submission: omniboxtasksubmission): taskinputsubmission;
|
|
507
|
+
/**
|
|
508
|
+
* Attentionfeed logic of the 1.1.66 family.
|
|
509
|
+
* Everything that needs a human lands in one feed: gate waits, phishguard blocks, deferrals and failures each collect as one entry with its cause, its run and gate refs and its deep link to the exact waiting surface, repeated causes per run deduplicate while the first occurrence keeps its time, the severity of the cause ranks the feed, and the retention window of the store stays the user's choice.
|
|
510
|
+
* The feed never resolves anything on its own: a deep link opens the waiting surface and the human resolves the cause exactly as before.
|
|
511
|
+
*/
|
|
512
|
+
/** Reads the severity rank of one attention cause: a gate wait and a phishguard block hold the run for a human, a deferral waits its window and a failure needs the reviewed retry. */
|
|
513
|
+
export declare function attentionseverityof(cause: attentioncause): "critical" | "warning" | "info";
|
|
514
|
+
/** Builds the deep link of one attention cause: the link opens the exact surface that resolves the cause. */
|
|
515
|
+
export declare function attentiondeeplinkof(cause: attentioncause, runid: string, gateref?: string): string;
|
|
516
|
+
/** Builds one attention entry from its source: the cause, the run ref, the gate ref when the run waits at a gate, the summary in plain language and the deep link. */
|
|
517
|
+
export declare function attentionentryof(input: {
|
|
518
|
+
cause: attentioncause;
|
|
519
|
+
runid: string;
|
|
520
|
+
origin: string;
|
|
521
|
+
summary: string;
|
|
522
|
+
gateref?: string;
|
|
523
|
+
at: number;
|
|
524
|
+
}): attentionentry;
|
|
525
|
+
/** Collects the attention entries of one pass: the gate waits the progress recorded, the phishguard blocks, the deferred events and the failed steps each feed one entry. */
|
|
526
|
+
export declare function collectattention(input: {
|
|
527
|
+
gatewaits?: Array<{
|
|
528
|
+
runid: string;
|
|
529
|
+
stepid: string;
|
|
530
|
+
gateid: string;
|
|
531
|
+
kind: string;
|
|
532
|
+
origin: string;
|
|
533
|
+
waitedms: number;
|
|
534
|
+
}>;
|
|
535
|
+
phishblocks?: Array<{
|
|
536
|
+
runid: string;
|
|
537
|
+
origin: string;
|
|
538
|
+
matchedorigin: string;
|
|
539
|
+
reason: string;
|
|
540
|
+
}>;
|
|
541
|
+
deferrals?: Array<{
|
|
542
|
+
runid: string;
|
|
543
|
+
origin: string;
|
|
544
|
+
reason: string;
|
|
545
|
+
}>;
|
|
546
|
+
failures?: Array<{
|
|
547
|
+
runid: string;
|
|
548
|
+
stepid: string;
|
|
549
|
+
origin: string;
|
|
550
|
+
message: string;
|
|
551
|
+
}>;
|
|
552
|
+
now: number;
|
|
553
|
+
}): attentionentry[];
|
|
554
|
+
/** Deduplicates repeated causes per run: the first occurrence of one cause inside one run keeps its entry and its time while every later occurrence drops. */
|
|
555
|
+
export declare function dedupeattention(entries: attentionentry[]): attentionentry[];
|
|
556
|
+
/** Ranks the attention entries by cause severity first and time second: critical gate waits and phishguard blocks stand above warnings and failures. */
|
|
557
|
+
export declare function rankattention(entries: attentionentry[]): attentionentry[];
|
|
558
|
+
/** Reads the count of attention entries the statusbadge surfaces. */
|
|
559
|
+
export declare function attentioncountof(entries: attentionentry[]): number;
|
|
560
|
+
/** Dismisses one attention entry by its id: the dismissal only removes the feed row, the waiting cause keeps its own resolution path. */
|
|
561
|
+
export declare function dismissattention(entries: attentionentry[], id: string): attentionentry[];
|
|
562
|
+
/** Prunes the attention entries past their retention window: an absent window keeps every entry while the pruned ids return for the audit note. */
|
|
563
|
+
export declare function pruneattention(entries: attentionentry[], retention: number | undefined, now: number): {
|
|
564
|
+
kept: attentionentry[];
|
|
565
|
+
pruned: string[];
|
|
566
|
+
};
|
|
567
|
+
/** Renders the attention entries as system notifications: one content free payload per entry with its deep link, so no page content consent is needed. */
|
|
568
|
+
export declare function attentionnotifications(entries: attentionentry[], now: number): Array<{
|
|
569
|
+
id: string;
|
|
570
|
+
kind: "done" | "attention";
|
|
571
|
+
title: string;
|
|
572
|
+
body: string;
|
|
573
|
+
deeplink: string;
|
|
574
|
+
runid?: string;
|
|
575
|
+
stepid?: string;
|
|
576
|
+
content: boolean;
|
|
577
|
+
at: number;
|
|
578
|
+
}>;
|
|
579
|
+
//# sourceMappingURL=views.d.ts.map
|