@wenathlan/extension 1.1.50 → 1.1.52
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 +7 -6
- package/dist/controlflow.d.ts +220 -0
- package/dist/controlflow.d.ts.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3698 -2221
- package/dist/index.js.map +4 -4
- package/dist/memory.d.ts +44 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/policy.d.ts +14 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/protocol.d.ts +83 -5
- package/dist/protocol.d.ts.map +1 -1
- package/dist/trigger.d.ts +151 -0
- package/dist/trigger.d.ts.map +1 -0
- package/dist/types.d.ts +250 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/workflow.d.ts +12 -3
- package/dist/workflow.d.ts.map +1 -1
- package/extension/dist/background.js +2029 -40
- package/extension/dist/background.js.map +4 -4
- package/extension/dist/manifest.json +1 -1
- package/extension/dist/pagebridge.js +9 -4
- package/extension/dist/pagebridge.js.map +2 -2
- package/extension/dist/popup.html +1 -1
- package/extension/dist/popup.js +30 -6
- package/extension/dist/popup.js.map +2 -2
- package/extension/dist/sidepanel.html +1 -1
- package/extension/dist/sidepanel.js +269 -4
- package/extension/dist/sidepanel.js.map +2 -2
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
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.
|
|
5
|
+
Version: **1.1.52**. 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.
|
|
9
|
+
| Capability | Behavior in 1.1.52 |
|
|
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 three hundred
|
|
15
|
+
| Browser tools | Reviewed plans cover three hundred thirty three 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. |
|
|
@@ -24,7 +24,8 @@ Version: **1.1.50**. License: **GPL-3.0-only**. The repository is `wenathlan/ext
|
|
|
24
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. |
|
|
25
25
|
| Emulation | The agent wears reviewed masks with consent: `emulatedevice` applies a user curated device preset of width, height, pixel ratio and the mobile flag to the run tab and reloads only when the reviewed plan asks, `emulatenetwork` applies latency, download and upload bounds and the offline window of the reviewed plan to the traffic the extension itself initiates, `emulatelocate` overrides navigator geolocation with the reviewed coordinates behind an explicit per origin location consent whose prompt shows the exact latitude and longitude, `setuseragent` applies the reviewed user agent string, platform and brand list together scoped to the run tab only, `overridepermission` answers navigator permission queries of the reviewed browser permission set with the granted, denied or prompt state graded by name while the prior state restores at run end, and `blackboxscripts` marks third party url patterns as blackboxed in traces and hides their frames from captured stack traces, read only; every emulation kind runs behind the emugate (live session on the run tab, approved plan, the explicit reviewed flag and a reviewed revert plan beside every layer), layers stack only while the reviewed plan lists their steps with the last applied winning conflicts, every layer records the prior page state for the exact revert and the whole stack reverts in reverse order at run end, failure, cancellation, tab navigation and tab drop, the emulation state survives service worker restarts through the run record, the device, network, location and agent preset libraries stay user curated data with versioned import and export files through review, and the reverted prior states expire after the user configured retention while the layer history always survives — the debugger, geolocation and notifications permissions deliberately stay outside the manifest, so every mask is a page-injected derivation recorded honestly on each layer and in the changelog. |
|
|
26
26
|
| Session memory | Every run becomes survivable with consent: `persiststate` checkpoints the task state of the run after every completed step with a checksum that detects corruption before any resume and the run resumes from the checkpoint after a service worker or browser restart, `capturesession` snapshots the full browsing session beyond tabs and windows into per tab scroll positions, non password form state, and the local storage and cookie names of granted origins through the reviewed section toggles, `restoresession` reopens the saved tabs in their recorded order with the scroll and form state restored behind an explicit restore review that lists every tab, form field and capture first and skips origins whose grants expired with a report, `namedsessions` files sessions under unique names, folders and tags, `diffsessions` classifies tab, url, form and storage changes of two saved sessions as read only evidence, `searchsessions` matches urls, titles, names and captured text inside a reviewed time window, `exportsessions` packs records into a versioned checksummed session file through the reviewed download flow and `importsessions` adds records only after the full record review of the known format version — the auto snapshot interval, snapshot count, expiry and retention stay pure user choices with no code ceiling, crash restore prompts stay inside the session consent model, and the manifest permissions stay unchanged. |
|
|
27
|
-
| Workflow engine | Steps compose into workflows with consent: `composeworkflow` validates the name, version, granted HTTPS origins, steps and reusable blocks, expands every nested block before review so no step stays hidden, grades the record by its worst step and freezes it, `savetemplate` shares one reviewed step across workflows, `runworkflow` executes the expanded list one step at a time behind the live session, approved plan, origin grants and the explicit run review flag with a checkpoint after every completed step that survives service worker restarts, `dryrun` evaluates every step read only through per kind projections and refuses mutation steps without one, `delay` sleeps a seeded jitter window with long delays riding the alarms api when the browser exposes it, `waitelement` polls a selector until appearance, the reviewed timeout or a clean abort on tab navigation, `compute` evaluates expressions of arithmetic, comparison, logic, text, contains and length operators with operand coercion, and `extractvars` stores regex named captures as variables with the no match case reported honestly — typed scopes stack per block with shadowing, bindings link earlier outcomes to named variables, `${name}` interpolation substitutes scope values into targets, values and options, single step execution runs one chosen step outside the run loop, pause, resume and cancel record their reasons, runlogs keep under the user configured retention with no code ceiling, and the manifest permissions stay unchanged. |
|
|
27
|
+
| Workflow engine | Steps compose into workflows with consent: `composeworkflow` validates the name, version, granted HTTPS origins, steps and reusable blocks, expands every nested block before review so no step stays hidden, grades the record by its worst step and freezes it, `savetemplate` shares one reviewed step across workflows, `runworkflow` executes the expanded list one step at a time behind the live session, approved plan, origin grants and the explicit run review flag with a checkpoint after every completed step that survives service worker restarts, `dryrun` evaluates every step read only through per kind projections and refuses mutation steps without one, `delay` sleeps a seeded jitter window with long delays riding the alarms api when the browser exposes it, `waitelement` polls a selector until appearance, the reviewed timeout or a clean abort on tab navigation, `compute` evaluates expressions of arithmetic, comparison, logic, text, contains and length operators with operand coercion, and `extractvars` stores regex named captures as variables with the no match case reported honestly — typed scopes stack per block with shadowing, bindings link earlier outcomes to named variables, `${name}` interpolation substitutes scope values into targets, values and options, and 1.1.51 adds the control flow family: `condition` evaluates a reviewed boolean expression over the extracted values with no page side effect, `branch` chooses the first matching path by page state (pageurl, pagetitle and pageready) with a mandatory else path so every branch terminates, `loop`, `repeatuntil`, `whileloop` and `foreach` iterate lists, convergence conditions, bounded while conditions and matched elements rebinding the deep copied item and index variables per iteration inside user configured safety bounds with no code ceiling, `parallel` runs branches concurrently in isolated scopes that the join merges under the first, last or fail strategy over conflicting writes with cancel or continue on branch failure, and `trycatch` wraps fragile steps with a catch handler, rerun option, retry policy of user configured attempts over fixed or exponential seeded backoff and the reviewed error classes, and per step and per run timeout budgets whose aborts carry the cancelled error class — composition validates every control payload, collects every nested child step so no construct hides a step and grades the record by its worst child, single step execution runs one chosen step outside the run loop, pause, resume and cancel record their reasons, runlogs keep under the user configured retention with no code ceiling, control decisions persist for audit, and the manifest permissions stay unchanged. |
|
|
28
|
+
| Triggers and scheduling | Reviewed workflows start themselves with consent: `visitrule` fires on navigations to reviewed HTTPS origins, `urlrule` matches glob patterns where `*` spans one path segment and `**` spans across segments with explicit ports honored, `menurule` binds a context menu entry, `keyrule` binds a keyboard shortcut command, `buttonrule` binds the toolbar button, `cronrule` schedules five field cron expressions with named weekdays and months and optional timezones resolved through the runtime database, `intervalrule` fires every reviewed period with a seeded jitter spread, `urllistrule` plans one run per url of a reviewed list, `webhookrule` verifies a shared secret over the entropy floor and a payload schema in constant time before anything persists, and `eventrule` subscribes to observed page events of the catalog (mutate, focus, banner, console, error, navigate) — every rule arms behind the explicit arm review that renders its match fields and bound workflow first, grades sensitive, and every launch re-passes the live session, approved plan and origin gates through the same run machinery as a reviewed runworkflow step with the triggering url, title and payload as seed variables; cooldown windows, interval periods with jitter and the fire record retention stay user choices with no code ceiling, the dedupe keeps one pending fire per rule while a run is active, the queue holds fires that arrive while the run is busy or the session is paused and drains in arrival order on resume, the manual run step preview renders every expanded step with its control summaries before confirmation, scheduling persists through chrome.storage and opportunistic wakes with the alarms api riding the browser only when exposed without a declared permission, and the manifest permissions stay unchanged. |
|
|
28
29
|
| 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. |
|
|
29
30
|
| 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. |
|
|
30
31
|
| 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. |
|
|
@@ -33,7 +34,7 @@ Version: **1.1.50**. License: **GPL-3.0-only**. The repository is `wenathlan/ext
|
|
|
33
34
|
| Watch vocabulary | `watchmutate`, `watchfocus` and `watchbanner` observe the page across a reviewed lifetime window with batched event records, `waitquiet` waits for network quiet under a reviewed threshold, `diffsnapshots` diffs two stored observation versions into added, removed and changed rows, and `deriveselector` ranks stable selector candidates with stability scores; registrations persist across service worker restarts. |
|
|
34
35
|
| Target resolution | Steps address elements through reviewed `targetref` modes: css selector, visible text, aria role and name, accessible name, xpath, clickable map index or viewport point; ambiguous matches are refused with candidate lists and every resolution returns a matched element summary for review. |
|
|
35
36
|
| Optional capabilities | `tabs`, `downloads`, `clipboardRead` and `clipboardWrite` are optional permissions; browser kinds check their capability, the review panel can request a grant and every grant is audited. |
|
|
36
|
-
| Unlimited by choice | Wait durations, plan size, plan expiry, audit retention, outcome retention, zoom steps, the concurrent task tab ceiling, workflow delay bases and jitter windows, element wait timeouts and poll intervals
|
|
37
|
+
| Unlimited by choice | Wait durations, plan size, plan expiry, audit retention, outcome retention, zoom steps, the concurrent task tab ceiling, workflow delay bases and jitter windows, element wait timeouts and poll intervals, the workflow runlog retention, loop and repeat until safety bounds, parallel branch counts, retry attempt counts with backoff bases and jitter windows, per step and per run timeout budgets, trigger cooldown windows, interval periods with jitter windows and the trigger fire record retention carry no code ceilings; every bound is a user choice. |
|
|
37
38
|
| Structured results | Step results carry structured JSON details, rendered in the side panel beside each reviewed step. |
|
|
38
39
|
| Session pause | The user can pause and resume the active session; a paused session blocks every execution and preview while keeping the reviewed plan alive. |
|
|
39
40
|
| Plan progress | Each reviewed step is tracked with its outcome history, completed steps are marked, plans close automatically once every step has executed, and prior history survives plan replacement. |
|
|
@@ -64,7 +65,7 @@ The endpoint field intentionally has no default URL. Enter a URL such as `https:
|
|
|
64
65
|
|
|
65
66
|
```json
|
|
66
67
|
{
|
|
67
|
-
"version": "1.1.
|
|
68
|
+
"version": "1.1.52",
|
|
68
69
|
"objective": "User supplied objective",
|
|
69
70
|
"session": { "id": "uuid", "tabid": 1, "origin": "https://example.com" },
|
|
70
71
|
"observation": { "schemaversion": 3, "url": "https://example.com/path", "interactive": [] },
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import type { branchoutcome, branchstep, conditionstep, controlflowdecision, errorhandler, foreachstep, joinrecord, loopstep, parallelstep, repeatuntilstep, retrypolicy, retryattempt, runlogentry, stepoutcome, timeoutabort, trystep, variablescope, variablevalue, whilestep, workflowstep } from "./types.js";
|
|
2
|
+
import { type stepexecution } from "./workflow.js";
|
|
3
|
+
/**
|
|
4
|
+
* Control flow engine for the 1.1.51 workflow family.
|
|
5
|
+
* Every correlated rule of the second workflow phase lives in this file: the control flow kind list, the condition, branch, loop, repeat until, while, foreach, parallel, join, try and retry payload normalizers, the condition evaluation over extracted values, the branch selection by page state, the loop runners that rebind the item and index per iteration inside the reviewed safety bounds, the parallel runner with isolated branch scopes and the join that merges branch outcomes under the reviewed strategy, the try runner with its catch handler and rerun option, the retry runner with fixed and exponential backoff shapes, the step and run timeout aborts with the cancelled error class, and the control summaries the review panel renders.
|
|
6
|
+
* The engine stays pure: child steps dispatch through the injected executor seam, element resolution flows through the injected resolver and page state flows through the injected snapshot accessor, so tests run on plain fixtures and no control construct bypasses the consent gates.
|
|
7
|
+
*/
|
|
8
|
+
/** The control flow kinds of the 1.1.51 family: conditionals, branching, loops, parallel branches with joins and try catch with retries and timeouts. */
|
|
9
|
+
export declare const controlflowkinds: string[];
|
|
10
|
+
/** The documented default safety bound of the loop family when the review configures none; it is a documented default, never a cap, and any user configured bound wins. */
|
|
11
|
+
export declare const defaultloopbound = 1000;
|
|
12
|
+
/** The executor seam of the control flow engine: the same seam the run loop uses, extended with the outputs of the earlier steps so child bindings resolve. */
|
|
13
|
+
export type controlexecute = (step: workflowstep, context: {
|
|
14
|
+
scopes: variablescope[];
|
|
15
|
+
block?: string;
|
|
16
|
+
outputs?: Record<string, stepoutcome>;
|
|
17
|
+
}) => Promise<stepexecution>;
|
|
18
|
+
/** True when the kind belongs to the control flow family of the 1.1.51 release. */
|
|
19
|
+
export declare function iscontrolflowkind(kind: string): boolean;
|
|
20
|
+
/** The cancelled error class of timeout aborts: a step or a whole run cancelled because it exceeded its reviewed budget. */
|
|
21
|
+
export declare class cancellederror extends Error {
|
|
22
|
+
constructor(message: string);
|
|
23
|
+
}
|
|
24
|
+
/** Normalizes one condition payload: the reviewed boolean expression tested over the extracted values. */
|
|
25
|
+
export declare function conditionof(value: unknown): conditionstep | undefined;
|
|
26
|
+
/** Normalizes one branch payload: the unique named paths with their boolean match expressions and the mandatory else path that terminates every branch. */
|
|
27
|
+
export declare function branchof(value: unknown): branchstep | undefined;
|
|
28
|
+
/** Normalizes one loop payload: the list variable, the item and index variables, the optional safety bound and the non-empty body. */
|
|
29
|
+
export declare function loopof(value: unknown): loopstep | undefined;
|
|
30
|
+
/** Normalizes one repeat until payload: the convergence expression, the optional safety bound and the non-empty body. */
|
|
31
|
+
export declare function repeatuntilof(value: unknown): repeatuntilstep | undefined;
|
|
32
|
+
/** Normalizes one while payload: the loop condition, the mandatory safety bound and the non-empty body; a while loop without a bound is refused. */
|
|
33
|
+
export declare function whileof(value: unknown): whilestep | undefined;
|
|
34
|
+
/** Normalizes one foreach payload: the non-empty selector, the item and index variables and the non-empty body. */
|
|
35
|
+
export declare function foreachof(value: unknown): foreachstep | undefined;
|
|
36
|
+
/** Normalizes one parallel payload: the uniquely identified branches with non-empty bodies and the join policy. */
|
|
37
|
+
export declare function parallelof(value: unknown): parallelstep | undefined;
|
|
38
|
+
/** Normalizes one try payload: the fragile body, the error handler with its rerun option, the optional retry policy and the optional timeout policy. */
|
|
39
|
+
export declare function tryof(value: unknown): trystep | undefined;
|
|
40
|
+
/** Validates the control payload of one composed step; throws with the kind specific rule when the payload is malformed so composition refuses it before any review. */
|
|
41
|
+
export declare function validatecontrolpayload(step: workflowstep): void;
|
|
42
|
+
/** Returns every child step of one control payload recursively so composition grades the risk of the whole construct and review hides no step; malformed payloads yield no hidden steps because composition refuses them first. */
|
|
43
|
+
export declare function controlsteps(step: workflowstep): workflowstep[];
|
|
44
|
+
/** Builds the review summary of one control step: the path names with the else path, the loop bounds and bodies, the parallel branches with the join policy and the try retry and timeout policies. */
|
|
45
|
+
export declare function controlsummary(step: workflowstep): {
|
|
46
|
+
kind: string;
|
|
47
|
+
paths?: string[];
|
|
48
|
+
elsepath?: string;
|
|
49
|
+
list?: string;
|
|
50
|
+
item?: string;
|
|
51
|
+
index?: string;
|
|
52
|
+
bound?: number;
|
|
53
|
+
selector?: string;
|
|
54
|
+
branches?: string[];
|
|
55
|
+
strategy?: string;
|
|
56
|
+
onfail?: string;
|
|
57
|
+
attempts?: number;
|
|
58
|
+
backoff?: string;
|
|
59
|
+
rerun?: boolean;
|
|
60
|
+
stepms?: number;
|
|
61
|
+
runms?: number;
|
|
62
|
+
expression?: string;
|
|
63
|
+
} | undefined;
|
|
64
|
+
/** Evaluates one condition payload over the extracted values of the scopes; the expression must resolve to a boolean and the step keeps no page side effect. */
|
|
65
|
+
export declare function evaluatecondition(condition: conditionstep, scopes: variablescope[]): boolean;
|
|
66
|
+
/** Chooses one branch path by page state and extracted values: the first path whose condition holds wins, an unconditional path matches always and the else path terminates every branch when no condition holds. */
|
|
67
|
+
export declare function choosebranch(input: {
|
|
68
|
+
stepid: string;
|
|
69
|
+
branch: branchstep;
|
|
70
|
+
scopes: variablescope[];
|
|
71
|
+
pagestate?: {
|
|
72
|
+
url?: string;
|
|
73
|
+
title?: string;
|
|
74
|
+
ready?: boolean;
|
|
75
|
+
};
|
|
76
|
+
now: number;
|
|
77
|
+
}): {
|
|
78
|
+
outcome: branchoutcome;
|
|
79
|
+
steps: workflowstep[];
|
|
80
|
+
};
|
|
81
|
+
/** The result shape every control runner returns: the outcome flag, the merged scopes, the runlog entries, the summary and the control flow decision for the audit stores. */
|
|
82
|
+
interface controlresult {
|
|
83
|
+
ok: boolean;
|
|
84
|
+
scopes: variablescope[];
|
|
85
|
+
log: runlogentry[];
|
|
86
|
+
summary: string;
|
|
87
|
+
decision?: controlflowdecision;
|
|
88
|
+
}
|
|
89
|
+
/** The context every control runner shares with the dispatcher: the optional iteration path carries the outer index trail of nested loops for the audit counters. */
|
|
90
|
+
interface controlcontextbase {
|
|
91
|
+
step: workflowstep;
|
|
92
|
+
scopes: variablescope[];
|
|
93
|
+
outputs: Record<string, stepoutcome>;
|
|
94
|
+
execute: controlexecute;
|
|
95
|
+
now: number;
|
|
96
|
+
path?: string;
|
|
97
|
+
}
|
|
98
|
+
/** Runs one loop over a data list variable: each iteration deep copies the item, rebinds the item and index variables, runs the body and records the loop counter with its iteration path for the audit stores. */
|
|
99
|
+
export declare function runloop(input: controlcontextbase & {
|
|
100
|
+
loop: loopstep;
|
|
101
|
+
}): Promise<controlresult>;
|
|
102
|
+
/** Runs one repeat until block: the body reruns until the convergence expression holds, the safety bound refuses a block that never converges and every pass records its loop counter. */
|
|
103
|
+
export declare function runrepeatuntil(input: controlcontextbase & {
|
|
104
|
+
repeat: repeatuntilstep;
|
|
105
|
+
}): Promise<controlresult>;
|
|
106
|
+
/** Runs one while block: the condition gates every pass, the mandatory safety bound refuses an endless loop and the overflow is reported with the loop counters. */
|
|
107
|
+
export declare function runwhile(input: controlcontextbase & {
|
|
108
|
+
condition: whilestep;
|
|
109
|
+
}): Promise<controlresult>;
|
|
110
|
+
/** Runs one foreach block: the injected resolver turns the selector into element references, every reference binds as the element item with its index and the empty match is an honest zero iteration outcome. */
|
|
111
|
+
export declare function runforeach(input: controlcontextbase & {
|
|
112
|
+
foreach: foreachstep;
|
|
113
|
+
resolveelements?: (selector: string) => Promise<string[]>;
|
|
114
|
+
}): Promise<controlresult>;
|
|
115
|
+
/** Merges the variable writes of the parallel branches under the reviewed join strategy: first or last wins by branch order and fail refuses any conflicting write; cancelled branches never contribute. */
|
|
116
|
+
export declare function joinbranches(input: {
|
|
117
|
+
stepid: string;
|
|
118
|
+
branches: Array<{
|
|
119
|
+
id: string;
|
|
120
|
+
order: number;
|
|
121
|
+
ok: boolean;
|
|
122
|
+
cancelled: boolean;
|
|
123
|
+
variables: variablevalue[];
|
|
124
|
+
}>;
|
|
125
|
+
strategy: "first" | "last" | "fail";
|
|
126
|
+
now: number;
|
|
127
|
+
}): {
|
|
128
|
+
ok: boolean;
|
|
129
|
+
conflicts: string[];
|
|
130
|
+
merged: variablevalue[];
|
|
131
|
+
record: joinrecord;
|
|
132
|
+
summary: string;
|
|
133
|
+
};
|
|
134
|
+
/** Runs one parallel block: every branch launches concurrently inside its own isolated scope, the join policy decides whether sibling branches cancel or continue on branch failure and the join merges the branch writes under the reviewed strategy. */
|
|
135
|
+
export declare function runparallel(input: controlcontextbase & {
|
|
136
|
+
parallel: parallelstep;
|
|
137
|
+
}): Promise<controlresult>;
|
|
138
|
+
/** Computes one retry backoff delay under the reviewed shape: fixed keeps the base and exponential doubles it per failed attempt, and the seeded jitter window spans half the jitter around it. */
|
|
139
|
+
export declare function backoffdelay(policy: retrypolicy, attempt: number, seed: number): number;
|
|
140
|
+
/** Retries one failed step under the reviewed retry policy: the attempts stay user configured with no code ceiling, the backoff shape is fixed or exponential with seeded jitter and only the reviewed error classes retry; the attempts and their backoff durations are recorded for the audit stores. */
|
|
141
|
+
export declare function applyretry<T extends {
|
|
142
|
+
ok: boolean;
|
|
143
|
+
}>(input: {
|
|
144
|
+
stepid: string;
|
|
145
|
+
policy: retrypolicy;
|
|
146
|
+
run: () => Promise<T>;
|
|
147
|
+
errorclass: (value: T) => string;
|
|
148
|
+
now: number;
|
|
149
|
+
seed?: number;
|
|
150
|
+
}): Promise<{
|
|
151
|
+
value: T;
|
|
152
|
+
attempts: retryattempt[];
|
|
153
|
+
exhausted: boolean;
|
|
154
|
+
}>;
|
|
155
|
+
/** Races one step against its reviewed millisecond budget: an exceeded budget cancels the wait through the executor seam and returns the cancelled outcome with the timeout error class and the exceeded budget. */
|
|
156
|
+
export declare function applytimeout<T extends {
|
|
157
|
+
ok: boolean;
|
|
158
|
+
}>(input: {
|
|
159
|
+
stepid: string;
|
|
160
|
+
budgetms: number;
|
|
161
|
+
run: () => Promise<T>;
|
|
162
|
+
}): Promise<{
|
|
163
|
+
aborted: boolean;
|
|
164
|
+
value?: T;
|
|
165
|
+
output?: stepexecution;
|
|
166
|
+
abort?: timeoutabort;
|
|
167
|
+
}>;
|
|
168
|
+
/** Races a whole run against its reviewed millisecond budget: an exceeded budget aborts the run with the cancelled error class carrying the exceeded budget. */
|
|
169
|
+
export declare function applyruntimeout<T>(input: {
|
|
170
|
+
budgetms: number;
|
|
171
|
+
run: () => Promise<T>;
|
|
172
|
+
}): Promise<{
|
|
173
|
+
cancelled: true;
|
|
174
|
+
error: cancellederror;
|
|
175
|
+
} | {
|
|
176
|
+
cancelled: false;
|
|
177
|
+
value: T;
|
|
178
|
+
}>;
|
|
179
|
+
/** Executes the error handler steps of a try block on failure; the handler steps run through the same step machinery and their outcome decides the handler result. */
|
|
180
|
+
export declare function runcatch(input: {
|
|
181
|
+
handler: errorhandler;
|
|
182
|
+
scopes: variablescope[];
|
|
183
|
+
outputs: Record<string, stepoutcome>;
|
|
184
|
+
execute: controlexecute;
|
|
185
|
+
now: number;
|
|
186
|
+
}): Promise<{
|
|
187
|
+
ok: boolean;
|
|
188
|
+
scopes: variablescope[];
|
|
189
|
+
log: runlogentry[];
|
|
190
|
+
}>;
|
|
191
|
+
/** Runs one try block: the fragile body steps run under the reviewed retry policy and the per step timeout budgets, a failure runs the error handler and the rerun option executes the body once more after the handler. */
|
|
192
|
+
export declare function runtry(input: controlcontextbase & {
|
|
193
|
+
fragile: trystep;
|
|
194
|
+
}): Promise<controlresult>;
|
|
195
|
+
/** Executes exactly one control flow step: parses the reviewed payload, dispatches to the matching runner, returns the merged scopes, the iteration runlog and the outcome whose details carry the control flow decision for the audit stores. */
|
|
196
|
+
export declare function runcontrolstep(input: controlcontextbase & {
|
|
197
|
+
runid?: string;
|
|
198
|
+
pagestate?: {
|
|
199
|
+
url?: string;
|
|
200
|
+
title?: string;
|
|
201
|
+
ready?: boolean;
|
|
202
|
+
};
|
|
203
|
+
resolveelements?: (selector: string) => Promise<string[]>;
|
|
204
|
+
}): Promise<{
|
|
205
|
+
scopes: variablescope[];
|
|
206
|
+
log: runlogentry[];
|
|
207
|
+
output: stepexecution;
|
|
208
|
+
}>;
|
|
209
|
+
/** Wraps one executor seam so control flow kinds dispatch to the control engine while every other kind keeps its executor: the wrapper carries the isolated run id, the page state accessor and the element resolver of the background executors, and the control outcome returns the merged scopes with its iteration runlog so the run loop adopts them. */
|
|
210
|
+
export declare function controlexecutor(execute: controlexecute, extras?: {
|
|
211
|
+
runid?: string;
|
|
212
|
+
pagestate?: {
|
|
213
|
+
url?: string;
|
|
214
|
+
title?: string;
|
|
215
|
+
ready?: boolean;
|
|
216
|
+
};
|
|
217
|
+
resolveelements?: (selector: string) => Promise<string[]>;
|
|
218
|
+
}): controlexecute;
|
|
219
|
+
export {};
|
|
220
|
+
//# sourceMappingURL=controlflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controlflow.d.ts","sourceRoot":"","sources":["../controlflow.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./capture.js";
|
|
2
2
|
export * from "./cdpbus.js";
|
|
3
|
+
export * from "./controlflow.js";
|
|
3
4
|
export * from "./emulation.js";
|
|
4
5
|
export * from "./httpclient.js";
|
|
5
6
|
export * from "./media.js";
|
|
@@ -9,9 +10,10 @@ export * from "./netcontrol.js";
|
|
|
9
10
|
export * from "./netwatch.js";
|
|
10
11
|
export * from "./profilers.js";
|
|
11
12
|
export * from "./sessions.js";
|
|
13
|
+
export * from "./trigger.js";
|
|
12
14
|
export * from "./workflow.js";
|
|
13
15
|
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";
|
|
14
|
-
export { actionrisk as deriveactionrisk, apikeyconsentgranted, authconsentgranted, blockgate, breakpointbudgetallowed, breakpointceilingof, canexecute, consoleconsentcovers, controltarget, cookiegate, debuggate, debuggerconsentcovers, debugwaitbudgetallowed, diffreviewgrade, dryrunprojection, emugate, emulationretentionwindow, emulationstackallowed, generatedvalueallowed, hostpattern, iscdpkind, isdebugkind, isformkind, isnetwatchkind, iscontrolkind, isprofilekind, issocketkind, iswatchkind, issessionkind, isworkflowkind, normalizeendpoint, observationmodeof, pauseretentionwindow, passwordconsentgranted, permissionnamevalid, permissionstatevalid, planallowlist, profilegrantgranted, profileretentionwindow, proxygate, ratelimitbudgetallowed, resolvedrisk, resolutionverdict, restoreoriginsgranted, restorereviewgranted, rotationruleof, sessionfolderunique, sessionnameunique, sessionrestoregate, snapshotretentionwindow, socketgate, sourcemapconsentcovers, spamruleof, stackgate, submitreviewgranted, targetgate, isemulationkind, locationconsentgate, timelinegate, timelineretentionwindow, traceceilingof, validatebreakpointcondition, validatefieldmatch, validateformrecord, validatestep, validateregexrule, validatetargetref, validatevaluegen, watchgate, workflowgate } from "./policy.js";
|
|
16
|
+
export { actionrisk as deriveactionrisk, apikeyconsentgranted, authconsentgranted, blockgate, breakpointbudgetallowed, breakpointceilingof, canexecute, consoleconsentcovers, controltarget, cookiegate, debuggate, debuggerconsentcovers, debugwaitbudgetallowed, diffreviewgrade, dryrunprojection, emugate, emulationretentionwindow, emulationstackallowed, generatedvalueallowed, hostpattern, iscdpkind, isdebugkind, isformkind, isnetwatchkind, iscontrolkind, isprofilekind, issocketkind, iswatchkind, issessionkind, isworkflowkind, istriggeraction, normalizeendpoint, observationmodeof, pauseretentionwindow, passwordconsentgranted, permissionnamevalid, permissionstatevalid, planallowlist, profilegrantgranted, profileretentionwindow, proxygate, ratelimitbudgetallowed, resolvedrisk, resolutionverdict, restoreoriginsgranted, restorereviewgranted, rotationruleof, sessionfolderunique, sessionnameunique, sessionrestoregate, snapshotretentionwindow, socketgate, sourcemapconsentcovers, spamruleof, stackgate, submitreviewgranted, targetgate, isemulationkind, locationconsentgate, timelinegate, timelineretentionwindow, traceceilingof, triggergate, triggerorigins, validatebreakpointcondition, validatefieldmatch, validateformrecord, validatestep, validateregexrule, validatetargetref, validatevaluegen, watchgate, workflowgate } from "./policy.js";
|
|
15
17
|
export * from "./protocol.js";
|
|
16
18
|
export * from "./socketbus.js";
|
|
17
19
|
export * from "./types.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,gBAAgB,CAAC;AAC/B,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,cAAc,eAAe,CAAC;AAC9B,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,gBAAgB,EAAE,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,SAAS,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,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,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,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,gBAAgB,EAAE,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,SAAS,EAAE,sBAAsB,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,UAAU,EAAE,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACh0C,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|