@wenathlan/extension 1.1.58 → 1.1.60
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 +6 -4
- package/dist/cli.js +19 -2
- package/dist/coordination.d.ts +139 -0
- package/dist/coordination.d.ts.map +1 -0
- package/dist/environments.d.ts +96 -0
- package/dist/environments.d.ts.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1080 -1
- package/dist/index.js.map +4 -4
- package/dist/memory.d.ts +119 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/multiagent.d.ts +1 -1
- package/dist/multiagent.d.ts.map +1 -1
- package/dist/orchestration.d.ts +174 -0
- package/dist/orchestration.d.ts.map +1 -0
- package/dist/policy.d.ts +76 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/protocol.d.ts +82 -3
- package/dist/protocol.d.ts.map +1 -1
- package/dist/runstate.d.ts +127 -0
- package/dist/runstate.d.ts.map +1 -0
- package/dist/sandboxframe.d.ts +45 -0
- package/dist/sandboxframe.d.ts.map +1 -0
- package/dist/types.d.ts +444 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/extension/dist/background.js +1837 -58
- package/extension/dist/background.js.map +4 -4
- package/extension/dist/manifest.json +16 -2
- package/extension/dist/offscreen.html +7 -0
- package/extension/dist/offscreen.js +87 -0
- package/extension/dist/offscreen.js.map +7 -0
- package/extension/dist/pagebridge.js +7 -0
- package/extension/dist/pagebridge.js.map +2 -2
- package/extension/dist/popup.html +1 -1
- package/extension/dist/popup.js +39 -1
- package/extension/dist/popup.js.map +2 -2
- package/extension/dist/sandbox.html +28 -0
- package/extension/dist/sidepanel.html +1 -1
- package/extension/dist/sidepanel.js +848 -3
- package/extension/dist/sidepanel.js.map +4 -4
- package/extension/manifest.json +16 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
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.60**. 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.60 |
|
|
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. |
|
|
@@ -27,7 +27,9 @@ Version: **1.1.58**. License: **GPL-3.0-only**. The repository is `wenathlan/ext
|
|
|
27
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
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. |
|
|
29
29
|
| Workflow editor | Reviewed workflows get a visual home with consent: the canvas renders steps as nodes with typed binding sockets and blocks as containers with nested child steps, drag and drop snaps onto the reviewed grid and the nearest block column, the palette lists curated drop blocks across actions, control flow, waits, variables and triggers with search, the step library browses every reviewed kind grouped by category with its option schema, the step inspector edits options, bindings and nested params, the variable inspector lists scopes and values, the mini map projects the full canvas with click navigation and the zoom keeps step labels readable, undo and redo cover every canvas edit, and every save passes the editorsavegate of a live session, an approved plan, unique node ids, forward only edges and the full composeworkflow grammar so no editor artifact bypasses review — breakpoints mark any step for debug runs that pause before it and resume exactly there, version timelines carry change notes with diffs of added, removed and changed steps and rollbacks that grade unreviewed until the rollback review approves them, imports grade unreviewed until the import review approves the expanded step list, exports and share bundles ship as json or yaml with the export content review refusing any secret, token, api key, password or authorization field so secrets never leave the browser, background runs keep executing with the panel closed while every step checkpoints and every worker wake restores them through the same gates, the watchdog recovers stalled runs by the user configured retry, pause or cancel and reaps zombie runs of browser shutdowns with thresholds and windows as pure user choices with no code ceiling, run history keeps outcome, duration and trigger cause under a user configured retention, and per site overrides adjust only the reviewed knobs of loop bounds, step and run timeouts, element wait timeouts and delay bases per https origin pattern or subdomain glob — no new action kinds, the manifest permissions stay unchanged. |
|
|
30
|
-
| Multi agent swarm | Several agents work at once over one shared context with consent: each agent binds to its own tab with its own role (planner, worker, observer or any custom role, one agent per tab), the shared task queue carries user configured lanes, priorities, claims and work stealing inside one approved swarm with lane ownership rules, dead agents release their tasks through claim heartbeat expiry and requeue, agent mailboxes route direct, broadcast and role addressed messages, the blackboard holds the goals, facts, findings and scratch sections every agent reads with the consent class of the source extraction, per agent budgets halt at the user configured token, cost and step ceilings, per agent scopes stay inside the session grants, sub agents spawn under a user configured depth limit, and the killswitch halts every agent at once with no configuration barrier — no agent count, lane or ceiling is hardcoded and every agent proposal passes the same human review. |
|
|
30
|
+
| Multi agent swarm | Several agents work at once over one shared context with consent: each agent binds to its own tab with its own role (planner, worker, observer, critic, verifier or any custom role, one agent per tab), the shared task queue carries user configured lanes, priorities, claims and work stealing inside one approved swarm with lane ownership rules, dead agents release their tasks through claim heartbeat expiry and requeue, agent mailboxes route direct, broadcast and role addressed messages, the blackboard holds the goals, facts, findings and scratch sections every agent reads with the consent class of the source extraction, per agent budgets halt at the user configured token, cost and step ceilings, per agent scopes stay inside the session grants, sub agents spawn under a user configured depth limit, and the killswitch halts every agent at once with no configuration barrier — no agent count, lane or ceiling is hardcoded and every agent proposal passes the same human review. |
|
|
31
|
+
| Multi agent orchestration | The swarm organizes itself under consent: a leader worker topology elects its leader by the user rule (first registration or one named agent) with worker, critic and verifier lanes, the leader slices tasks across workers and scales the worker lane by load under the user configured bound with no engine cap, the planner executor split keeps plan drafting and execution in different agents while the executor reports every step outcome back, critics review agent outputs read only with verdicts and required changes, verifiers mark result claims pass or fail with the method they used, tab handoffs move a task between agents mid run from its packaged state while preserving the original session grants, resource locks keyed by one origin and one selector serialize parallel writes with exclusive and shared kinds and expiry sweeps, conflict scans detect overlapping writes with a suggested ordering, parallel results merge into one report under first, last, preferagent or fail rules with provenance for every merged value, escalations lift stalled decisions to the user who alone decides them, arbitration orders competing lock claims by the user rule, consensus rounds carry at the user configured quorum, verified lessons land on the blackboard, shared cost accounting sums the per agent usage, and the progressboard shows every agent at once with the interleaved timeline and replay — coordination never bypasses the review. |
|
|
32
|
+
| Execution environments | Every reviewed step names where it runs with consent: the pagecontext keeps dom actions inside the live page because page events only fire there, the isolatedworld runs evaluate steps through the scripting api with reviewed arguments only while page globals stay unreachable from step code, the offscreenworker moves the six heavy parse families (html snapshots, network json payloads, table row reductions, accessibility tree shaping, complex selector evaluation and screenshot stitching) into an offscreen document worker pool behind the optional user granted offscreen capability with an inline fallback inside the page, and the sandboxframe renders untrusted markup inside a sandboxed page with no extension privileges after stripping scripts and event handlers and answering only per render nonces — the environment grants join the origin grants of the session, a keepalive port holds the service worker alive for the whole run of an approved plan with a heartbeat every user configured interval, the persisted run state resumes exactly the pending step after a service worker restart, zombie runs whose heartbeat fell silent reap past the tolerated intervals, a storage level run lock holds one session against concurrent runs, steps sharing one tab serialize across parallel branches, and every navigation lands a url history entry — no pool size, interval or tolerance is hardcoded and no environment ever bypasses the review. |
|
|
31
33
|
| Any LLM connection | Any model drives the extension with consent: the user connects a gateway, a base url, an api key and any model — nothing is hardcoded, no provider allowlist exists and the openai chat completions, openai responses, anthropic messages and google gemini shapes are protocol styles the user picks; model routes map task kinds to provider and model pairs with user configured fallbacks, a local loopback endpoint keeps sensitive work on the machine, natural language commands parse into intents with entities and confidence, model drafted plans lint against the action grammar and pass the same human review (draft review plus plan review) local plans pass, failed runs replan their tail under a fresh review, executed steps reflect their lessons into the next prompt, cost budgets halt at the user configured token and currency ceilings and ask, the prompt library versions user templates with consent notices, and the guardrails strip code fences, validate model text against the schema, retry and refuse invalid output before anything executes. |
|
|
32
34
|
| Agent protocol | The browser becomes a tool server with consent: the mcp server of the agent protocol lists every reviewed browser, workflow, memory and system tool over `tools/list` with its version, json schema inputs, risk grade and full consent metadata, negotiates capabilities and the per client tool floor with any client the user pairs, frames messages in json rpc with newline delimited and http post envelopes, and answers parse, method, params, internal and consentrefused errors with their codes — read only tools run under the dryrun risk class once the session is approved while every tool with side effects executes exactly the approved plan step it names, so no paired client widens what the human approved; the stdio bridge relays frames for local client processes through the native messaging host manifest with restart on demand, the http listener binds localhost by default with any other bind graded sensitive behind the explicit remote review, the server starts only after the user enables it, and the bind, port, transports, frame size, queue depth and call retention all stay user configured with no code ceiling. Since 1.1.55 the stream http transport opens for remote clients behind the full remote gates: one time pairing codes exchanged for session tokens that persist only as sha-256 digests, token scopes per namespace, a client allowlist with grant history, tls required for any non localhost transport with user configured certificate fingerprints, an ordered frame intake where tls terminates before token verification and namespace checks run before consent checks, auth failures that answer with one fixed message leaking no pairing state, a user configured client ceiling, and approval gates that hold every sensitive remote call with its full arguments (secret fields redacted) until the user decides — refusing by default when the configurable window closes. |
|
|
33
35
|
| 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. |
|
|
@@ -69,7 +71,7 @@ The endpoint field intentionally has no default URL. Enter a URL such as `https:
|
|
|
69
71
|
|
|
70
72
|
```json
|
|
71
73
|
{
|
|
72
|
-
"version": "1.1.
|
|
74
|
+
"version": "1.1.60",
|
|
73
75
|
"objective": "User supplied objective",
|
|
74
76
|
"session": { "id": "uuid", "tabid": 1, "origin": "https://example.com" },
|
|
75
77
|
"observation": { "schemaversion": 3, "url": "https://example.com/path", "interactive": [] },
|
package/dist/cli.js
CHANGED
|
@@ -5,7 +5,8 @@ import { readFile } from "node:fs/promises";
|
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { resolve } from "node:path";
|
|
7
7
|
var forbidden = /* @__PURE__ */ new Set(["debugger", "cookies", "webRequest", "history", "bookmarks", "nativeMessaging", "proxy", "management"]);
|
|
8
|
-
var allowedoptional = /* @__PURE__ */ new Set(["tabs", "downloads", "clipboardRead", "clipboardWrite"]);
|
|
8
|
+
var allowedoptional = /* @__PURE__ */ new Set(["tabs", "downloads", "clipboardRead", "clipboardWrite", "offscreen"]);
|
|
9
|
+
var privilegedpages = /* @__PURE__ */ new Set(["background.html", "popup.html", "sidepanel.html", "offscreen.html"]);
|
|
9
10
|
var pinnedidentitykey = "58e21373cec5ade3e6698da5b36ecc2bf7e7e2f755c6fb5e3a6605b535b93985";
|
|
10
11
|
function decodeidentitykey(key) {
|
|
11
12
|
if (!/^[A-Za-z0-9+/]+={0,2}$/.test(key)) throw new Error("The manifest key must be strict base64 without whitespace.");
|
|
@@ -35,7 +36,23 @@ async function main() {
|
|
|
35
36
|
if ((manifest.host_permissions ?? []).length) throw new Error("Mandatory host permissions are not allowed.");
|
|
36
37
|
if (denied.length) throw new Error(`Forbidden permissions: ${denied.join(", ")}`);
|
|
37
38
|
if (deniedoptional.length) throw new Error(`Forbidden optional permissions: ${deniedoptional.join(", ")}`);
|
|
38
|
-
|
|
39
|
+
const sandboxpages = manifest.sandbox?.pages ?? [];
|
|
40
|
+
if (manifest.sandbox !== void 0) {
|
|
41
|
+
if (sandboxpages.length === 0) throw new Error("The sandbox key needs at least one sandbox page.");
|
|
42
|
+
if (sandboxpages.some((page) => !/^([a-z0-9-]+)\.html$/.test(page))) throw new Error("Every sandbox page needs its plain html file name.");
|
|
43
|
+
if (new Set(sandboxpages).size !== sandboxpages.length) throw new Error("The sandbox page names must stay unique.");
|
|
44
|
+
const privileged = sandboxpages.filter((page) => privilegedpages.has(page));
|
|
45
|
+
if (privileged.length) throw new Error(`The sandbox pages ${privileged.join(", ")} hold extension privileges and must never run untrusted markup.`);
|
|
46
|
+
}
|
|
47
|
+
if (manifest.offscreen !== void 0) {
|
|
48
|
+
if (!manifest.offscreen.document || !/^[a-z0-9-]+\.html$/.test(manifest.offscreen.document)) throw new Error("The offscreen declaration needs its document path.");
|
|
49
|
+
if (!manifest.offscreen.reasons?.length) throw new Error("The offscreen declaration needs the reasons the user reviewed.");
|
|
50
|
+
if (!manifest.offscreen.justification?.trim()) throw new Error("The offscreen declaration needs its justification in plain language.");
|
|
51
|
+
}
|
|
52
|
+
const worlds = (manifest.content_scripts ?? []).map((script) => script.world ?? "ISOLATED");
|
|
53
|
+
if (worlds.some((world) => world !== "ISOLATED")) throw new Error("Content scripts stay registered in the isolated world by default; no main world registration exists.");
|
|
54
|
+
if ((manifest.content_scripts ?? []).some((script) => (script.matches ?? []).length > 0)) throw new Error("Content script registrations carry no matches because injection stays behind the granted scripting calls on reviewed origins.");
|
|
55
|
+
console.log(JSON.stringify({ valid: true, version: manifest.version, identitykeybytes: identitykey.length, permissions, optionalpermissions: optional, ...sandboxpages.length > 0 ? { sandboxpages } : {}, ...manifest.offscreen !== void 0 ? { offscreendocument: manifest.offscreen.document, offscreenreasons: manifest.offscreen.reasons } : {} }, null, 2));
|
|
39
56
|
return;
|
|
40
57
|
}
|
|
41
58
|
console.log("Usage: devthink manifest");
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import type { actionrisk, agentidentity, agentusage, blackboard, blackboardsection, conflictscan, conflictwriter, handoffrecord, mergeentry, mergerule, outputcomparison, resourcelock, resultreport, swarmaction, swarmcost } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Multi agent coordination logic of the 1.1.59 family.
|
|
4
|
+
* Every correlated rule for tab handoffs between agents mid run, resource locks keyed by one origin and one selector, conflict scans of overlapping writes, result merging with conflict rules and provenance, output comparison, the interleaved swarm timeline, verified lessons on the blackboard, the aggregate report across agents, the shared cost accounting and the replay of one agent run from the audit trail lives in this file.
|
|
5
|
+
* Coordination never bypasses review: a handoff preserves the original session grants, a lock only serializes work the same review already approved and every merged report that includes page content grades as an egress event on export.
|
|
6
|
+
*/
|
|
7
|
+
/** Composes the lock key of exactly one origin and one selector; a lock never spans unrelated origins because the key names one target of one origin. */
|
|
8
|
+
export declare function lockkey(origin: string, selector: string): string;
|
|
9
|
+
/** Packages one tab handoff for transfer: the transferring agent names the receiving agent, the tab and the task state in plain language; the record waits prepared until its transfer. */
|
|
10
|
+
export declare function preparehandoff(input: {
|
|
11
|
+
agents: agentidentity[];
|
|
12
|
+
id: string;
|
|
13
|
+
fromagentid: string;
|
|
14
|
+
toagentid: string;
|
|
15
|
+
taskstate: string;
|
|
16
|
+
tabid?: number;
|
|
17
|
+
reason?: string;
|
|
18
|
+
now: number;
|
|
19
|
+
}): handoffrecord;
|
|
20
|
+
/** Moves one tab binding between agents: the prepared handoff transfers the tab from the transferring agent to the receiving agent under the one agent per tab rule, and the record marks the transfer. */
|
|
21
|
+
export declare function transferhandoff(input: {
|
|
22
|
+
agents: agentidentity[];
|
|
23
|
+
handoffs: handoffrecord[];
|
|
24
|
+
id: string;
|
|
25
|
+
now: number;
|
|
26
|
+
}): {
|
|
27
|
+
agents: agentidentity[];
|
|
28
|
+
handoffs: handoffrecord[];
|
|
29
|
+
};
|
|
30
|
+
/** Continues one transferred task from its packaged state: the receiving agent owns the task from the recorded task state and the record marks the resume. */
|
|
31
|
+
export declare function resumehandoff(input: {
|
|
32
|
+
handoffs: handoffrecord[];
|
|
33
|
+
id: string;
|
|
34
|
+
now: number;
|
|
35
|
+
}): handoffrecord;
|
|
36
|
+
/** Acquires one resource lock keyed by one origin and one selector: an exclusive lock refuses every second holder while a shared lock admits further shared holders only; a held key refuses the newcomer whatever the kinds. */
|
|
37
|
+
export declare function acquirelock(input: {
|
|
38
|
+
locks: resourcelock[];
|
|
39
|
+
holder: string;
|
|
40
|
+
origin: string;
|
|
41
|
+
selector: string;
|
|
42
|
+
kind?: "exclusive" | "shared";
|
|
43
|
+
expiresat?: number;
|
|
44
|
+
now: number;
|
|
45
|
+
}): {
|
|
46
|
+
locks: resourcelock[];
|
|
47
|
+
acquired: boolean;
|
|
48
|
+
reason: string;
|
|
49
|
+
};
|
|
50
|
+
/** Releases one lock with the holder named: the freed key returns to the pool for the next agent. */
|
|
51
|
+
export declare function releaselock(input: {
|
|
52
|
+
locks: resourcelock[];
|
|
53
|
+
key: string;
|
|
54
|
+
holder: string;
|
|
55
|
+
now: number;
|
|
56
|
+
}): {
|
|
57
|
+
locks: resourcelock[];
|
|
58
|
+
released: boolean;
|
|
59
|
+
};
|
|
60
|
+
/** Returns the abandoned locks to the pool: a lock past its user configured expiry releases on the sweep while a lock without an expiry never expires. */
|
|
61
|
+
export declare function expirelocks(input: {
|
|
62
|
+
locks: resourcelock[];
|
|
63
|
+
now: number;
|
|
64
|
+
}): {
|
|
65
|
+
locks: resourcelock[];
|
|
66
|
+
expired: string[];
|
|
67
|
+
};
|
|
68
|
+
/** Scans the parallel writes for overlapping targets before the runs start: two writers on the same origin and selector overlap, the scan lists the overlapping targets with their writers and the suggested ordering keeps the writers deterministic by agent id. */
|
|
69
|
+
export declare function scanconflicts(input: {
|
|
70
|
+
id: string;
|
|
71
|
+
writers: conflictwriter[];
|
|
72
|
+
now: number;
|
|
73
|
+
}): conflictscan;
|
|
74
|
+
/** Folds the parallel results into one report with conflict rules: the entries group by key, first keeps the earliest value, last keeps the latest, preferagent keeps the value of the agent the user named and fail refuses the fold on any conflict; every merged value keeps its provenance and every conflict lands its resolution note. */
|
|
75
|
+
export declare function mergeresults(input: {
|
|
76
|
+
entries: mergeentry[];
|
|
77
|
+
rule: mergerule;
|
|
78
|
+
preferagent?: string;
|
|
79
|
+
now: number;
|
|
80
|
+
}): {
|
|
81
|
+
entries: mergeentry[];
|
|
82
|
+
conflicts: string[];
|
|
83
|
+
refused: boolean;
|
|
84
|
+
};
|
|
85
|
+
/** Builds the final report across agents: the outputs fold under the merge rule the user picked, the sections group by task and every section keeps the agent sources of its entries with the provenance. */
|
|
86
|
+
export declare function swarmreport(input: {
|
|
87
|
+
id: string;
|
|
88
|
+
title: string;
|
|
89
|
+
outputs: mergeentry[];
|
|
90
|
+
rule: mergerule;
|
|
91
|
+
preferagent?: string;
|
|
92
|
+
confidence?: string;
|
|
93
|
+
now: number;
|
|
94
|
+
}): {
|
|
95
|
+
report: resultreport;
|
|
96
|
+
conflicts: string[];
|
|
97
|
+
refused: boolean;
|
|
98
|
+
};
|
|
99
|
+
/** Contrasts the competing agent outputs for the user: the comparison lists every output with its agent and names the keys where the agents disagree. */
|
|
100
|
+
export declare function compareoutputs(input: {
|
|
101
|
+
id: string;
|
|
102
|
+
subject: string;
|
|
103
|
+
outputs: Array<{
|
|
104
|
+
agentid: string;
|
|
105
|
+
value: string;
|
|
106
|
+
}>;
|
|
107
|
+
now: number;
|
|
108
|
+
}): outputcomparison;
|
|
109
|
+
/** Interleaves the actions of every agent into one stream: the actions order by time and the ties keep their arrival order, so one timeline reads the whole swarm. */
|
|
110
|
+
export declare function interleavetimeline(actions: swarmaction[]): swarmaction[];
|
|
111
|
+
/** Writes one verified lesson to the blackboard: the lesson lands in the findings section under its own key with the agent and its verifier named, so every agent of the swarm reads it. */
|
|
112
|
+
export declare function sharelesson(input: {
|
|
113
|
+
board: blackboard;
|
|
114
|
+
id: string;
|
|
115
|
+
agentid: string;
|
|
116
|
+
statement: string;
|
|
117
|
+
verifiedby: string;
|
|
118
|
+
section?: blackboardsection;
|
|
119
|
+
consentclass?: actionrisk;
|
|
120
|
+
now: number;
|
|
121
|
+
}): blackboard;
|
|
122
|
+
/** Sums the per agent usage into the swarm totals of the shared cost accounting: tokens, cost and steps of every agent in one record. */
|
|
123
|
+
export declare function swarmcosts(input: {
|
|
124
|
+
usage: agentusage[];
|
|
125
|
+
currency?: string;
|
|
126
|
+
now: number;
|
|
127
|
+
}): swarmcost;
|
|
128
|
+
/** Rebuilds one agent run from the audit trail: the actions that name the agent order by time into one replay stream the panel scrolls. */
|
|
129
|
+
export declare function replayagentrun(input: {
|
|
130
|
+
events: Array<{
|
|
131
|
+
id: string;
|
|
132
|
+
kind: string;
|
|
133
|
+
summary: string;
|
|
134
|
+
at: number;
|
|
135
|
+
agentid?: string;
|
|
136
|
+
}>;
|
|
137
|
+
agentid: string;
|
|
138
|
+
}): swarmaction[];
|
|
139
|
+
//# sourceMappingURL=coordination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordination.d.ts","sourceRoot":"","sources":["../coordination.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { actionkind, environmentkind, environmentrequirement, offscreenregistryentry, toolstep, workerrequest, workerresponse } from "./types.js";
|
|
2
|
+
/** Reads the parse family of one offload eligible kind; a kind outside the families returns undefined. */
|
|
3
|
+
export declare function offfamilyof(kind: actionkind): string | undefined;
|
|
4
|
+
/** Reads the environments one action kind may run in: evaluate runs in the isolated world only, a step carrying untrusted markup renders inside the sandboxframe only, the parse heavy kinds may offload into the offscreen worker pool beside the live page and every other kind keeps the pagecontext of the page bridge. */
|
|
5
|
+
export declare function environmentsof(step: Pick<toolstep, "kind" | "options">): environmentkind[];
|
|
6
|
+
/** Reads the default environment of one step: the absent environment field routes to the isolated world for evaluate, the sandboxframe for untrusted markup and the pagecontext for everything else including the parse offload candidates until the user turns the offload on. */
|
|
7
|
+
export declare function defaultenvironment(step: Pick<toolstep, "kind" | "options">): environmentkind;
|
|
8
|
+
/** Lists the parse heavy kinds the offscreen worker pool may take over, grouped by their parse family. */
|
|
9
|
+
export declare function offloadkinds(): Array<{
|
|
10
|
+
task: string;
|
|
11
|
+
kinds: string[];
|
|
12
|
+
}>;
|
|
13
|
+
/** Reads whether one step carries untrusted markup for rendering: a reviewed options object with a markup string renders inside the sandboxframe only, so the untrusted markup never reenters the page dom. */
|
|
14
|
+
export declare function markuprenderstep(step: Pick<toolstep, "kind" | "options">): boolean;
|
|
15
|
+
/** Builds the per kind environment requirement table the policy exposes: one profile per action kind with its allowed environments and its default. */
|
|
16
|
+
export declare function environmentrequirementsof(kinds: actionkind[]): environmentrequirement[];
|
|
17
|
+
/** Maps every environmentkind to its runtime adapter: pagecontext rides the page bridge in the live page, isolatedworld rides the scripting api world page scripts cannot touch, offscreenworker rides the offscreen document worker pool and sandboxframe rides the sandboxed page with no extension privileges. */
|
|
18
|
+
export declare function executorregistry(): Array<{
|
|
19
|
+
environment: environmentkind;
|
|
20
|
+
adapter: string;
|
|
21
|
+
description: string;
|
|
22
|
+
}>;
|
|
23
|
+
/** Routes one step to its environment: the reviewed environment field wins when it sits inside the requirement table, the offload toggle moves parse heavy kinds into the offscreen worker pool, and a missing offscreen capability grant falls the step back to inline parsing inside the page instead of refusing the reviewed work. */
|
|
24
|
+
export declare function routeenvironment(step: toolstep, input: {
|
|
25
|
+
offload: boolean;
|
|
26
|
+
granted: boolean;
|
|
27
|
+
}): {
|
|
28
|
+
environment: environmentkind;
|
|
29
|
+
fallback: boolean;
|
|
30
|
+
reason: string;
|
|
31
|
+
};
|
|
32
|
+
/** Builds one executor traffic envelope for the offscreen worker pool: the parse family of the kind, the payload reference and the transferable keys the payload carries. */
|
|
33
|
+
export declare function workerrequestof(input: {
|
|
34
|
+
id: string;
|
|
35
|
+
runid: string;
|
|
36
|
+
stepid: string;
|
|
37
|
+
kind: actionkind;
|
|
38
|
+
payload: string;
|
|
39
|
+
options?: Record<string, unknown>;
|
|
40
|
+
sentat: number;
|
|
41
|
+
}): workerrequest;
|
|
42
|
+
/** Reads the payload keys the executor moves as transferable buffers where possible: every ArrayBuffer value travels as a transferable so the worker owns its bytes without a copy. */
|
|
43
|
+
export declare function transferablekeys(options: Record<string, unknown>): string[];
|
|
44
|
+
/** Builds one worker answer to the executor: the finished result or one streamed partial chunk with its sequence number. */
|
|
45
|
+
export declare function workerresponseof(input: {
|
|
46
|
+
id: string;
|
|
47
|
+
requestid: string;
|
|
48
|
+
ok: boolean;
|
|
49
|
+
result?: string;
|
|
50
|
+
partial?: number;
|
|
51
|
+
summary: string;
|
|
52
|
+
receivedat: number;
|
|
53
|
+
}): workerresponse;
|
|
54
|
+
/** Reads one worker answer: a partial chunk streams on while the final answer without a partial sequence completes the request, and a failed answer refuses without a result. */
|
|
55
|
+
export declare function acceptworkerresponse(response: workerresponse): {
|
|
56
|
+
done: boolean;
|
|
57
|
+
partial: boolean;
|
|
58
|
+
result?: string;
|
|
59
|
+
reason: string;
|
|
60
|
+
};
|
|
61
|
+
/** Plans the worker pool against the pending parse queue: the pool grows with the pending parses and shrinks with the idle workers, a user configured size pins the pool with no engine cap, and an absent size lets the queue alone decide. */
|
|
62
|
+
export declare function poolplan(input: {
|
|
63
|
+
pending: number;
|
|
64
|
+
current: number;
|
|
65
|
+
size?: number;
|
|
66
|
+
}): {
|
|
67
|
+
workers: number;
|
|
68
|
+
added: number;
|
|
69
|
+
retired: number;
|
|
70
|
+
reason: string;
|
|
71
|
+
};
|
|
72
|
+
/** Spawns the offscreen document of one run on first use and reuses the same document across the steps of the run: a registry entry already open for the run carries on while the first need records its reasons and justification. */
|
|
73
|
+
export declare function openoffscreen(input: {
|
|
74
|
+
registry: offscreenregistryentry[];
|
|
75
|
+
document: string;
|
|
76
|
+
runid: string;
|
|
77
|
+
reasons: string[];
|
|
78
|
+
justification: string;
|
|
79
|
+
now: number;
|
|
80
|
+
}): {
|
|
81
|
+
registry: offscreenregistryentry[];
|
|
82
|
+
entry: offscreenregistryentry;
|
|
83
|
+
reused: boolean;
|
|
84
|
+
};
|
|
85
|
+
/** Closes the offscreen document of one run when the run completes: the registry entry records its close time so the audit reads every spawn with its teardown. */
|
|
86
|
+
export declare function closeoffscreen(registry: offscreenregistryentry[], runid: string, now: number): {
|
|
87
|
+
registry: offscreenregistryentry[];
|
|
88
|
+
closed: boolean;
|
|
89
|
+
};
|
|
90
|
+
/** Builds the isolated world injection of one evaluate step: the scripting api injects the reviewed code inside the isolated world where page globals stay unreachable from step code, and the injection carries reviewed arguments only. */
|
|
91
|
+
export declare function isolatedinjection(step: toolstep): {
|
|
92
|
+
world: "ISOLATED";
|
|
93
|
+
code: string;
|
|
94
|
+
args: string[];
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=environments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environments.d.ts","sourceRoot":"","sources":["../environments.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,9 @@ export * from "./capture.js";
|
|
|
5
5
|
export * from "./cdpbus.js";
|
|
6
6
|
export * from "./clientauth.js";
|
|
7
7
|
export * from "./controlflow.js";
|
|
8
|
+
export * from "./coordination.js";
|
|
8
9
|
export * from "./emulation.js";
|
|
10
|
+
export * from "./environments.js";
|
|
9
11
|
export * from "./httpclient.js";
|
|
10
12
|
export * from "./llm.js";
|
|
11
13
|
export * from "./httpstream.js";
|
|
@@ -17,8 +19,11 @@ export * from "./multiagent.js";
|
|
|
17
19
|
export * from "./netauth.js";
|
|
18
20
|
export * from "./netcontrol.js";
|
|
19
21
|
export * from "./netwatch.js";
|
|
22
|
+
export * from "./orchestration.js";
|
|
20
23
|
export * from "./profilers.js";
|
|
21
24
|
export * from "./promptlibrary.js";
|
|
25
|
+
export * from "./runstate.js";
|
|
26
|
+
export * from "./sandboxframe.js";
|
|
22
27
|
export * from "./sessions.js";
|
|
23
28
|
export * from "./taskqueue.js";
|
|
24
29
|
export * from "./trigger.js";
|
|
@@ -26,7 +31,7 @@ export * from "./toolcatalog.js";
|
|
|
26
31
|
export * from "./workflow.js";
|
|
27
32
|
export * from "./workfloweditor.js";
|
|
28
33
|
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";
|
|
29
|
-
export { actionrisk as deriveactionrisk, agentbudgetvalid, agentscopevalid, apikeyconsentgranted, authconsentgranted, blackboardconsentgrade, blockgate, breakpointbudgetallowed, breakpointceilingof, canexecute, consoleconsentcovers, controltarget, cookiegate, debuggate, debuggerconsentcovers, debugwaitbudgetallowed, diffreviewgrade, dryrunprojection, editorsavegate, emugate, emulationretentionwindow, emulationstackallowed, exportcontentreview, generatedvalueallowed, hostpattern, iscdpkind, isdebugkind, isformkind, isnetwatchkind, iscontrolkind, isprofilekind, issocketkind, iswatchkind, issessionkind, isworkflowkind, istriggeraction, killswitchgate, messageegressgrade, normalizeendpoint, observationmodeof, pauseretentionwindow, passwordconsentgranted, permissionnamevalid, permissionstatevalid, planallowlist, profilegrantgranted, profileretentionwindow, proxygate, queuelanesvalid, ratelimitbudgetallowed, resolvedrisk, resolutionverdict, restoreoriginsgranted, restorereviewgranted, reviewedkinds, rotationruleof, runreviewgranted, serverbindgate, serverenablementgate, sessionfolderunique, sessionnameunique, sessionrestoregate, snapshotretentionwindow, socketgate, sourcemapconsentcovers, spamruleof, spawngrade, stackgate, submitreviewgranted, targetgate, toolconsentrequired, tooldispatchgate, toolnamespacegate, toolriskgrade, toolversionfloor, validatetoolcatalog, workstealgrade, isemulationkind, locationconsentgate, timelinegate, costbudgetvalid, egressconsentgate, guardverdictgate, localsensitivegrade, planlint, plandraftreviewgate, provideregressgrade, providervalid, replanreviewgate, timelineretentionwindow, traceceilingof, triggergate, triggerorigins, validatebreakpointcondition, validatefieldmatch, validateformrecord, validatestep, validatesiteoverride, validateregexrule, validatetargetref, validatevaluegen, watchdogconfigvalid, watchgate, workflowgate } from "./policy.js";
|
|
34
|
+
export { actionrisk as deriveactionrisk, agentbudgetvalid, agentscopevalid, apikeyconsentgranted, authconsentgranted, blackboardconsentgrade, blockgate, breakpointbudgetallowed, breakpointceilingof, canexecute, consoleconsentcovers, controltarget, cookiegate, debuggate, debuggerconsentcovers, debugwaitbudgetallowed, diffreviewgrade, dryrunprojection, editorsavegate, emugate, emulationretentionwindow, emulationstackallowed, environmentgrantgate, environmentrequirements, exportcontentreview, generatedvalueallowed, hostpattern, iscdpkind, isdebugkind, isformkind, isnetwatchkind, iscontrolkind, isprofilekind, issocketkind, iswatchkind, issessionkind, isworkflowkind, istriggeraction, keepalivegate, keepaliveintervalvalid, killswitchgate, messageegressgrade, normalizeendpoint, observationmodeof, offscreencapabilitygate, pauseretentionwindow, passwordconsentgranted, permissionnamevalid, permissionstatevalid, planallowlist, profilegrantgranted, profileretentionwindow, proxygate, queuelanesvalid, ratelimitbudgetallowed, resolvedrisk, resolutionverdict, restoreoriginsgranted, restorereviewgranted, reviewedkinds, rotationruleof, runreviewgranted, sandboxorigingate, serverbindgate, serverenablementgate, sessionfolderunique, sessionnameunique, sessionrestoregate, snapshotretentionwindow, socketgate, sourcemapconsentcovers, spamruleof, spawngrade, stackgate, stepenvironmentvalid, submitreviewgranted, targetgate, toolconsentrequired, tooldispatchgate, toolnamespacegate, toolriskgrade, toolversionfloor, validatetoolcatalog, workstealgrade, workerpoolsizevalid, isemulationkind, locationconsentgate, timelinegate, costbudgetvalid, egressconsentgate, guardverdictgate, localsensitivegrade, planlint, plandraftreviewgate, provideregressgrade, providervalid, replanreviewgate, timelineretentionwindow, traceceilingof, triggergate, triggerorigins, validatebreakpointcondition, validatefieldmatch, validateformrecord, validatestep, validatesiteoverride, validateregexrule, validatetargetref, validatevaluegen, watchdogconfigvalid, watchgate, workflowgate } from "./policy.js";
|
|
30
35
|
export * from "./protocol.js";
|
|
31
36
|
export * from "./socketbus.js";
|
|
32
37
|
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":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|