@wenathlan/extension 1.1.60 → 1.1.61

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,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.60**. License: **GPL-3.0-only**. The repository is `wenathlan/extension`; the npm-compatible scoped package identifier is `@wenathlan/extension`.
5
+ Version: **1.1.61**. 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.60 |
9
+ | Capability | Behavior in 1.1.61 |
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. |
@@ -30,6 +30,7 @@ Version: **1.1.60**. License: **GPL-3.0-only**. The repository is `wenathlan/ext
30
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
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
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. |
33
+ | Security foundations | Automation runs behind a per origin allowlist under a denydefault posture that refuses every ungranted origin with exact origin matching and no wildcard expansion while the active tab counts as one explicit single origin grant; per site originprofiles grant and deny single action kinds, consentwindows bind every sensitive grant in time with a user chosen duration and a named boundary that never defaults to unlimited (a window past its boundary suspends the run mid step and renews only through a new explicit prompt), revokerun halts the pending step and every queued step as a terminal session event, sensitive kinds classify into the payment, credential, delete and publish classes refined by their options so each class needs one fresh consent prompt per origin, every decision lands in an append only immutablelog whose loghash chains each entry to its predecessor at append time and whose completion seal writes the final hash while the audit accessor verifies the chain and refuses reads of a broken link, and maskinputs keeps typed values, form values and stored values out of every log, observation and export behind the documented password, token, card and secret shapes the user extends. |
33
34
  | 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. |
34
35
  | 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. |
35
36
  | 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. |
@@ -71,7 +72,7 @@ The endpoint field intentionally has no default URL. Enter a URL such as `https:
71
72
 
72
73
  ```json
73
74
  {
74
- "version": "1.1.60",
75
+ "version": "1.1.61",
75
76
  "objective": "User supplied objective",
76
77
  "session": { "id": "uuid", "tabid": 1, "origin": "https://example.com" },
77
78
  "observation": { "schemaversion": 3, "url": "https://example.com/path", "interactive": [] },
@@ -0,0 +1,73 @@
1
+ import type { immutablelogentry, logeventkind, loghash, sealedlog, storedrunlog } from "./types.js";
2
+ /** Derives the hash chain link of one log entry: the sha-256 over the predecessor hash and the canonical entry body, written once at append time. */
3
+ export declare function entryhashof(input: {
4
+ previous: string;
5
+ entry: Omit<immutablelogentry, "hash">;
6
+ }): Promise<loghash>;
7
+ /** Builds one log entry with its chain link derived at append time: the event kind, the summary, the origin and step provenance and the time. */
8
+ export declare function logentryof(input: {
9
+ id?: string;
10
+ runid: string;
11
+ kind: logeventkind;
12
+ summary: string;
13
+ origin: string;
14
+ stepid?: string;
15
+ at: number;
16
+ previous: string;
17
+ }): Promise<immutablelogentry>;
18
+ /** Opens one empty run log: the first entry of the log chains to the genesis hash of exactly sixty-four zeros. */
19
+ export declare function openrunlog(input: {
20
+ runid: string;
21
+ sessionid: string;
22
+ now: number;
23
+ }): storedrunlog;
24
+ /** Reads the hash of the last entry of one log: the value the next append chains to, with the genesis hash for an empty log. */
25
+ export declare function lasthashof(log: storedrunlog): string;
26
+ /** Appends one event to the run log inside a single storage transaction the caller persists: the entry hash chains to its predecessor and is written at append time, and a sealed log refuses every append because the seal is terminal. */
27
+ export declare function appendlogentry(input: {
28
+ log: storedrunlog;
29
+ kind: logeventkind;
30
+ summary: string;
31
+ origin: string;
32
+ stepid?: string;
33
+ at: number;
34
+ id?: string;
35
+ }): Promise<storedrunlog>;
36
+ /** Seals one run log at completion with a final hash: the seal chains to the last entry hash and closes the log with no later append. */
37
+ export declare function sealrunlog(log: storedrunlog, now: number): Promise<{
38
+ log: storedrunlog;
39
+ seal: sealedlog;
40
+ }>;
41
+ /** Verifies the whole hash chain of one log at read time: every entry hash must chain to its predecessor and match its own body, so tampering with any summary, provenance or link stays detectable as tamper evidence. */
42
+ export declare function verifylogchain(entries: immutablelogentry[]): Promise<{
43
+ valid: boolean;
44
+ brokenat?: number;
45
+ reason: string;
46
+ }>;
47
+ /** Reads one run log only through chain verification: a verified chain returns its entries while a chain with a broken link refuses the read entirely. */
48
+ export declare function readverifiedlog(log: storedrunlog): Promise<{
49
+ ok: boolean;
50
+ entries: immutablelogentry[];
51
+ reason: string;
52
+ }>;
53
+ /** Reads the verification status of one stored run log for the panel: the chain validity, the entry count, the broken link when one exists and the seal hash at completion. */
54
+ export declare function chainreportof(log: storedrunlog): Promise<{
55
+ runid: string;
56
+ valid: boolean;
57
+ entries: number;
58
+ brokenat?: number;
59
+ reason: string;
60
+ sealhash?: string;
61
+ sealedat?: number;
62
+ }>;
63
+ /** Exports one run log as an audit record only after the chain verifies: the entries, the chain status and the seal hash travel together while a broken link refuses the export. */
64
+ export declare function exportlogchain(log: storedrunlog): Promise<{
65
+ runid: string;
66
+ entries: number;
67
+ chainvalid: boolean;
68
+ reason: string;
69
+ sealhash?: string;
70
+ sealedat?: number;
71
+ log: immutablelogentry[];
72
+ }>;
73
+ //# sourceMappingURL=immutablelog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immutablelog.d.ts","sourceRoot":"","sources":["../immutablelog.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,16 +9,19 @@ export * from "./coordination.js";
9
9
  export * from "./emulation.js";
10
10
  export * from "./environments.js";
11
11
  export * from "./httpclient.js";
12
+ export * from "./immutablelog.js";
12
13
  export * from "./llm.js";
13
14
  export * from "./httpstream.js";
14
15
  export * from "./media.js";
15
16
  export * from "./memory.js";
16
17
  export * from "./mcpserver.js";
18
+ export * from "./maskinputs.js";
17
19
  export * from "./modelroute.js";
18
20
  export * from "./multiagent.js";
19
21
  export * from "./netauth.js";
20
22
  export * from "./netcontrol.js";
21
23
  export * from "./netwatch.js";
24
+ export * from "./originpolicy.js";
22
25
  export * from "./orchestration.js";
23
26
  export * from "./profilers.js";
24
27
  export * from "./promptlibrary.js";
@@ -31,7 +34,7 @@ export * from "./toolcatalog.js";
31
34
  export * from "./workflow.js";
32
35
  export * from "./workfloweditor.js";
33
36
  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";
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";
37
+ 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, automationallowlistgate, consentdurationvalid, consentwindowgate, logreadgate, originprofilegate, revokerungate, sensitiveclassgate, sensitivepipelingate, 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";
35
38
  export * from "./protocol.js";
36
39
  export * from "./socketbus.js";
37
40
  export * from "./types.js";
@@ -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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"}