@wenathlan/extension 1.1.46 → 1.1.47

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/README.md CHANGED
@@ -2,17 +2,17 @@
2
2
 
3
3
  Devthink is a **consent-first browser-agent bridge** distributed as a TypeScript library and a Chromium Manifest V3 extension. It turns a user-provided browser objective into a bounded, reviewable plan. The user must start the active-tab session and approve the plan before any page action reaches the browser.
4
4
 
5
- Version: **1.1.46**. License: **GPL-3.0-only**. The repository is `wenathlan/extension`; the npm-compatible scoped package identifier is `@wenathlan/extension`.
5
+ Version: **1.1.47**. License: **GPL-3.0-only**. The repository is `wenathlan/extension`; the npm-compatible scoped package identifier is `@wenathlan/extension`.
6
6
 
7
7
  ## What it does
8
8
 
9
- | Capability | Behavior in 1.1.46 |
9
+ | Capability | Behavior in 1.1.47 |
10
10
  | --- | --- |
11
11
  | Active-tab session | The user starts a short-lived session for one HTTPS tab and one origin; the session records its origin grants. |
12
12
  | Page observation | The extension captures the complete semantic inventory: every interactive element, every form control, every select option and the full page text. |
13
13
  | Plan proposal | A local plan can be created immediately; an optional user-configured HTTPS endpoint can return a typed plan proposal of any length. |
14
14
  | Review gate | Every remote proposal starts in `pending`; it cannot reach the page bridge before explicit approval. |
15
- | Browser tools | Reviewed plans cover two hundred eighty five action kinds: pointer paths and coordinate clicks, text, aria, name, xpath, index and point target resolution, timed typing, key holds, sliders, dates, colors, shadow dom piercing, iframe entry, dialog answering, retry rules, a complete read vocabulary with clickable maps and verification reads, page mutation under review, and browser-level tab, window, zoom, snapshot and download commands. |
15
+ | Browser tools | Reviewed plans cover two hundred ninety four action kinds: pointer paths and coordinate clicks, text, aria, name, xpath, index and point target resolution, timed typing, key holds, sliders, dates, colors, shadow dom piercing, iframe entry, dialog answering, retry rules, a complete read vocabulary with clickable maps and verification reads, page mutation under review, and browser-level tab, window, zoom, snapshot and download commands. |
16
16
  | Forms and data | The agent fills forms with review: `fillform` fills from a structured record of field matches, kinds and values, `filllabel` and `fillplaceholder` match controls by label, placeholder or aria label, `detectfields` reports the form map with field kinds, `generatevalues` seeds locale aware values per field kind while real looking card numbers and personal identifiers are refused, `saveprofiles` stores profiles behind origin grants, `asksubmit` opens the submission prompt with the values diff, `submitform` submits only under an approved consent ref, `readerrors` associates inline validation messages with fields, `retryform` retries with reviewed backoff windows, `runwizard`, `selectchain`, `picktypeahead` and `pickdate` drive wizards, dependent selects, typeaheads and calendars, `attachfile` attaches run store artifacts, `fillcard`, `fillcode` and `consentpassword` handle payment and secret fields behind explicit consent, `skiphoneypot` skips trap fields, `detectlogin` and `detecttemplate` flag login, signup and checkout shapes, and `handoffcaptcha` pauses the plan and hands control back to the user. |
17
17
  | Media capture | The agent sees the page as evidence: `shotview` captures the visible viewport in the reviewed format, quality and pixel ratio, `shotfullpage` stitches viewport tiles on an offscreencanvas with linear overlap blending, fixed header skipping, hidden capture scrollbars and a stitching scroll budget kept inside the reviewed wait window, `shotelement` crops the pixel ratio scaled element rect with a tiled fallback when the element crosses the viewport edge, `shotregion` requires the explicit reviewed flag for every reviewed region rectangle and walks scrollable containers in reviewed steps, `contactsheet` tiles element captures into one labeled grid, annotated captures carry the step number marker, the target outline and a time and url footer, beforeafter capture pairs a before and after shot around every page moving action with the dom snapshot id of the same moment, capture names stamp from run, step, sequence and kind segments with per run counters, and export routing stays consent layered: memory keeps the bytes under the user configured capture retention window while the metadata survives, clipboard export needs clipboardwrite and download export runs through the reviewed download flow. |
18
18
  | Documents and moving media | The agent captures documents and moving media behind the same gates: `capturepdf` composes a derived pdf report from page segments with reviewed paper size, margins, scale, landscape orientation and break point pagination named with the capture naming rule, `recordscreen` and `captureaudio` are sensitive recordings of user activity that need an approved recording consent prompt per start, run inside the user configured recording window and stop cleanly at run end — deriving an ordered frame sequence and an honest manifest from viewport captures instead of encoded screencast bytes because tabCapture stays outside the manifest — `captureframe` seeks a video to the reviewed timestamp and grabs the still frame, `downloadimages` matches a reviewed imagefilter, deduplicates urls and downloads through the reviewed flow, `shotcanvas` reads 2d and webgl canvas buffers, `probestream` reports webrtc track details read only, `readmedia` and `readassets` extract embedded media sources and page assets, `timelapse` captures an ordered lapse inside the reviewed wait budget, and `convertimage` and `makethumbs` transform stored captures between formats and into reviewed thumbnails. |
@@ -21,6 +21,7 @@ Version: **1.1.46**. License: **GPL-3.0-only**. The repository is `wenathlan/ext
21
21
  | Network control | The agent takes the steering wheel with consent: `blockrequest` registers reviewed block rules with origin patterns and the explicit reviewed flag behind the blockgate, `mockresponse` serves reviewed fixtures with their full body, `rewriteheaders` applies set, append and remove header rules with audited provenance, `setcookies`, `readcookies` and `clearcookies` run behind the cookiegate through the page cookie jar of the granted domain, `authflow` runs a reviewed oauth flow with a consent tab, code capture on the granted redirect origin, token exchange and refresh behind storage ids, `saveapikey` stores key entries behind explicit consent with last use timestamps, `routeproxy` applies a run-scoped route with a bypass list behind the proxygate, and `postform` and `postfiles` submit rate limited urlencoded forms and streamed multipart uploads of reviewed files; every rule reverts the moment the run ends, fails or is cancelled, and header values, cookie values, key material, token values and file contents never enter the audit trail. |
22
22
  | Run timeline | The agent records what pages say and how they misbehave: `watchconsole` captures console output at every reviewed level through page-injected console hooks with a required redaction pattern list applied before any text leaves the page bridge, object arguments serialize through a reviewed depth bound, spam detection collapses repeats into counts with flagged thresholds and log rotation moves overflow to the reviewed target store without data loss, `watcherrors` captures javascript errors with stack frames, unhandled rejections with reasons and resource load failures with element context behind the stack gate, and `watchtasks` observes longtask entries with attribution names and blocking duration per step window; every watch runs read only behind the timeline gate that scopes capture to the run tab with a reviewed window kept inside the reviewed wait budget, console capture prompts once per origin, watchers cancel on run cancel and the killswitch and detach when the tab navigates or closes, failed requests of the run join the timeline, and the console diff view compares two runs into added, removed and repeated lines while level count summaries survive the retention window. |
23
23
  | Debugger attach | The agent attaches a devtools-style session with consent: `attachcdp` enables only the reviewed domains of the reviewed domain grammar behind the debuggate and the per origin debugger consent prompt that shows the domain allowlist, every attach carries its reviewed teardown plan of revert steps and resume policy, `cdpcmd` sends raw reviewed commands of the `Domain.method` form that serialize per session in send order with duration and error class results (protocol errors fail the step), `watchcdp` forwards matched domain events into the run timeline for a reviewed lifetime window, `setbreakpoint` registers reviewed instrumentation hooks with conditions of the reviewed expression grammar behind the user configured breakpoint ceiling, `stepcode` steps paused probes through stepover, stepinto, stepout and resume while capturing pause states with call frames and the dom snapshot through the page bridge, `watchexpr` evaluates reviewed expressions at every pause and stores the values with their pause scope, and `overridescript` applies reviewed page script fixtures on new document evaluation that revert at run end; the debugger permission deliberately stays outside the manifest, so the whole family runs through the page-instrumented harness injected by the scripting api with the honest derivation recorded on every session, every breakpoint and override reverts on run end, failure, cancellation, tab navigation and the user detaching the debugger — which pauses the run for review — and command params, fixture sources and token values never enter any report or the audit trail. |
24
+ | Profiling | The agent measures what the run is made of with consent: `measureflow` marks the start and end of every step of the reviewed flow window and measures navigation, paint, largest contentful paint, first input delay, interaction timings and the blocking time summed per step window from the performance buffers, `heapshot` snapshots the used and limit heap bytes with the dom node count on demand under the user chosen interval only, `trackmemory` samples the heap beside every following step, computes the growth trend slope and flags the steps above the reviewed slope with timeline warnings, `profilecpu` ranks the hot functions of the profiled window by accumulated sampled time, `watchshifts` records layout shift scores with their impacted selectors, `traceload` records a trace under the reviewed category list that stops at the reviewed window end and exports through the reviewed download flow under the user configured byte ceiling, `annotatetrace` aligns step ids and labels with the run timeline so exported traces never lose their annotations, `replaytrace` renders the stored file offline grouped by category and step, and `capturesourcemaps` fetches and parses the map files of the loaded same origin scripts behind the per origin consent with stack rewriting through a minimal mapping lookup; every profiling kind runs behind the targetgate with the approved debugger grant of the origin, attachcdp accepts reviewed iframe, worker and service worker targets with flattened sub sessions inside the granted origins, the heavy bytes expire after the user configured profile retention while the counts, hot functions, category lists and annotations survive, and the debugger permission deliberately stays outside the manifest — every derivation is recorded on each record and the changelog says so. |
24
25
  | Files and downloads | The agent moves bytes with review: `batchdownload` downloads reviewed url lists in waves under a user configured concurrent window with per file states and sequence suffixes for filename conflicts, `pausedownload` and `resumedownload` walk the queue through the downloads api, `verifydownload` compares state, size and checksum against reviewed expectations, `interceptmime` arms include, exclude and deny default mime filters that reroute matching downloads into quarantine, `exportnetlog` exports the step correlated network log with every header value redacted, `readclipboard` needs an approved single use consent prompt per read and never persists the payload text, `writeclipboard` writes reviewed text through the page bridge with payload hashes for audit, `copyscreen` copies the visible tab to the clipboard, `quarantinedownload` and `scanvirus` keep files outside the downloads folder until a clean scan verdict releases them, `namecaptures` stamps task, step and sequence filenames with per task counters, and `cleanupartifacts` sweeps artifacts by reviewed age and kind rules while keeping open review references. |
25
26
  | Datasets and exports | The agent turns pages into data with audit: `scrapetable` reads tables into normalized column keys with rowspan and colspan expansion and nested child datasets, `paginateextract` follows next controls while waiting for fresh rows, `mergepages` aligns columns across pages, `transformvalues` applies reviewed expressions with per rule error surfacing, `deduperows` deduplicates by reviewed keys, `stamplerows` stamps every row with its source url, timestamp and step ref, `previewgrid` previews the grid before export, `importcsv` parses quoted csv with column mappings for fill loops, `looprows` interpolates `{{column}}` row variables into the wrapped inner step, `exportcsv`, `exportjson` and `exportexcel` write checksummed artifacts into the task artifact store with provenance records, `copytable` uses the clipboard under the optional clipboardWrite capability, `pushsheets` pushes only to a reviewed HTTPS endpoint behind its origin grant and the explicit reviewed flag, `streamdisk` streams chunk by chunk with backpressure and a persisted resume state, `resumeextract` continues an interrupted extraction from its stored cursor, and `logprovenance` logs provenance for audit; exports refuse to leave local memory while the session origin grants do not cover the active origin. |
26
27
  | Tabs and windows command | The agent commands the whole browser surface with review: `querytabs` resolves reviewed url, title, id and pattern matchers against the live tab set, `closepattern` closes matching tabs only under the explicit reviewed flag, `pintab`, `mutetab`, `movetab`, `movetabwindow`, `duplicatetab`, `reloadtabs`, `discardtab`, `zoomin`, `zoomout` and `switchtab` mutate tabs, `grouptabs`, `colorgroup` and `collapsegroup` keep group registries, `savelayout` and `restorelayout` save and restore named tab layouts with window bounds, `snapshotsession` and `reopenrun` capture and reopen whole runs, `watchtab` observes title, activation and closure events, `findclones`, `searchtabs` and `listaudio` enumerate the surface read only, `badgetab` and `attachmeta` route task state per tab, and `maximizewindow`, `minimizewindow`, `restorewindow`, `focuswindow`, `scratchwindow` and `incognitowindow` command windows with incognito separated from grant inheritance. |
@@ -60,7 +61,7 @@ The endpoint field intentionally has no default URL. Enter a URL such as `https:
60
61
 
61
62
  ```json
62
63
  {
63
- "version": "1.1.46",
64
+ "version": "1.1.47",
64
65
  "objective": "User supplied objective",
65
66
  "session": { "id": "uuid", "tabid": 1, "origin": "https://example.com" },
66
67
  "observation": { "schemaversion": 3, "url": "https://example.com/path", "interactive": [] },
package/dist/index.d.ts CHANGED
@@ -6,8 +6,9 @@ export * from "./memory.js";
6
6
  export * from "./netauth.js";
7
7
  export * from "./netcontrol.js";
8
8
  export * from "./netwatch.js";
9
+ export * from "./profilers.js";
9
10
  export { argkind, attachtimeline, blockingduration, consolecapture, consolediff, errorcapture, filterentries, levelrank, loglevels, longtaskcapture, netfailureentryof, redactconsoletext, rejectioncapture, rotatelogs, serializearg, spamdetect, stackframes, timelinecounts, timelinekinds, timelinesources, watcherdetached, type timeline } from "./runtimeline.js";
10
- export { actionrisk as deriveactionrisk, apikeyconsentgranted, authconsentgranted, blockgate, breakpointbudgetallowed, breakpointceilingof, canexecute, consoleconsentcovers, controltarget, cookiegate, debuggate, debuggerconsentcovers, debugwaitbudgetallowed, diffreviewgrade, generatedvalueallowed, hostpattern, iscdpkind, isdebugkind, isformkind, isnetwatchkind, iscontrolkind, issocketkind, iswatchkind, normalizeendpoint, observationmodeof, pauseretentionwindow, passwordconsentgranted, planallowlist, profilegrantgranted, proxygate, ratelimitbudgetallowed, resolvedrisk, resolutionverdict, rotationruleof, socketgate, spamruleof, stackgate, submitreviewgranted, timelinegate, timelineretentionwindow, validatebreakpointcondition, validatefieldmatch, validateformrecord, validatestep, validatetargetref, validatevaluegen, watchgate } from "./policy.js";
11
+ export { actionrisk as deriveactionrisk, apikeyconsentgranted, authconsentgranted, blockgate, breakpointbudgetallowed, breakpointceilingof, canexecute, consoleconsentcovers, controltarget, cookiegate, debuggate, debuggerconsentcovers, debugwaitbudgetallowed, diffreviewgrade, generatedvalueallowed, hostpattern, iscdpkind, isdebugkind, isformkind, isnetwatchkind, iscontrolkind, isprofilekind, issocketkind, iswatchkind, normalizeendpoint, observationmodeof, pauseretentionwindow, passwordconsentgranted, planallowlist, profilegrantgranted, profileretentionwindow, proxygate, ratelimitbudgetallowed, resolvedrisk, resolutionverdict, rotationruleof, socketgate, sourcemapconsentcovers, spamruleof, stackgate, submitreviewgranted, targetgate, timelinegate, timelineretentionwindow, traceceilingof, validatebreakpointcondition, validatefieldmatch, validateformrecord, validatestep, validatetargetref, validatevaluegen, watchgate } from "./policy.js";
11
12
  export * from "./protocol.js";
12
13
  export * from "./socketbus.js";
13
14
  export * from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzW,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,SAAS,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,YAAY,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACx1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACzW,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,SAAS,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,aAAa,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,SAAS,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACn7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}