@wenathlan/extension 1.1.60 → 1.1.62

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.
Files changed (48) hide show
  1. package/README.md +5 -3
  2. package/dist/confirmgates.d.ts +60 -0
  3. package/dist/confirmgates.d.ts.map +1 -0
  4. package/dist/immutablelog.d.ts +73 -0
  5. package/dist/immutablelog.d.ts.map +1 -0
  6. package/dist/inboundguard.d.ts +86 -0
  7. package/dist/inboundguard.d.ts.map +1 -0
  8. package/dist/index.d.ts +10 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1278 -1
  11. package/dist/index.js.map +4 -4
  12. package/dist/maskinputs.d.ts +52 -0
  13. package/dist/maskinputs.d.ts.map +1 -0
  14. package/dist/memory.d.ts +153 -1
  15. package/dist/memory.d.ts.map +1 -1
  16. package/dist/originpolicy.d.ts +160 -0
  17. package/dist/originpolicy.d.ts.map +1 -0
  18. package/dist/phishguard.d.ts +24 -0
  19. package/dist/phishguard.d.ts.map +1 -0
  20. package/dist/policy.d.ts +123 -1
  21. package/dist/policy.d.ts.map +1 -1
  22. package/dist/protocol.d.ts +164 -1
  23. package/dist/protocol.d.ts.map +1 -1
  24. package/dist/redactshots.d.ts +54 -0
  25. package/dist/redactshots.d.ts.map +1 -0
  26. package/dist/secretvault.d.ts +89 -0
  27. package/dist/secretvault.d.ts.map +1 -0
  28. package/dist/transparency.d.ts +46 -0
  29. package/dist/transparency.d.ts.map +1 -0
  30. package/dist/types.d.ts +316 -2
  31. package/dist/types.d.ts.map +1 -1
  32. package/dist/version.d.ts +1 -1
  33. package/extension/dist/background.js +1650 -56
  34. package/extension/dist/background.js.map +4 -4
  35. package/extension/dist/manifest.json +5 -1
  36. package/extension/dist/pagebridge.js +91 -28
  37. package/extension/dist/pagebridge.js.map +3 -3
  38. package/extension/dist/popup.html +1 -1
  39. package/extension/dist/popup.js +54 -0
  40. package/extension/dist/popup.js.map +2 -2
  41. package/extension/dist/sidepanel.html +1 -1
  42. package/extension/dist/sidepanel.js +331 -0
  43. package/extension/dist/sidepanel.js.map +4 -4
  44. package/extension/dist/transparencypage.html +24 -0
  45. package/extension/dist/transparencypage.js +156 -0
  46. package/extension/dist/transparencypage.js.map +7 -0
  47. package/extension/manifest.json +5 -1
  48. 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.60**. License: **GPL-3.0-only**. The repository is `wenathlan/extension`; the npm-compatible scoped package identifier is `@wenathlan/extension`.
5
+ Version: **1.1.62**. 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.62 |
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,8 @@ 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. |
34
+ | Security hardening | Secrets, messages and money run behind human gates: a secretvault keeps values behind a seam whose persisted records carry labels, scopes, provenance and digests only while the leak scan refuses plaintext secrets in plan texts and step options, redactshots mask sensitive capture regions across viewport, element and stitched captures, schemastrict rejects unknown fields of every registered inbound command with the path and expected shape, origincheck guards every runtime message and port connection while connectallow drops unknown senders from the user managed list that ships empty, ratelimit buckets defer automation commands past their user configured bound until the window resets, confirmpay, confirmdelete and confirmcreds hold payments (amount, payee origin, target), destructive deletions (target, scope, irreversibility) and credential use (label only) until one distinct human action resolves them with no timeout and no batch approval, phishguard blocks login origins whose lookalike distance to a granted origin crosses the user threshold and names the matched origin, safedefaults profile unknown origins as reads only, and the declared transparencypage lists every grant, consent window, sender, permdiff and vault label with a revoke action beside each grant. |
33
35
  | 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
36
  | 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
37
  | 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 +73,7 @@ The endpoint field intentionally has no default URL. Enter a URL such as `https:
71
73
 
72
74
  ```json
73
75
  {
74
- "version": "1.1.60",
76
+ "version": "1.1.62",
75
77
  "objective": "User supplied objective",
76
78
  "session": { "id": "uuid", "tabid": 1, "origin": "https://example.com" },
77
79
  "observation": { "schemaversion": 3, "url": "https://example.com/path", "interactive": [] },
@@ -0,0 +1,60 @@
1
+ import type { confirmgate, gatekind, gateresolution, sensitiveclass, toolstep } from "./types.js";
2
+ /** Maps the sensitive classes of one step to its gated family: payment classes gate through confirmpay, delete classes through confirmdelete and credential classes through confirmcreds, while publish grades and plain sensitive by default steps ride their consent window prompt alone. */
3
+ export declare function gatekindfor(classes: sensitiveclass[]): gatekind | undefined;
4
+ /** Builds the payload of one confirmpay gate: the amount, the payee origin and the target element of the step the human reviews. */
5
+ export declare function paypayload(input: {
6
+ amount?: string;
7
+ payeeorigin: string;
8
+ target?: string;
9
+ }): Record<string, string>;
10
+ /** Builds the payload of one confirmdelete gate: the target, the scope and the irreversibility of the destructive step the human reviews. */
11
+ export declare function deletepayload(input: {
12
+ target?: string;
13
+ scope: string;
14
+ irreversibility: string;
15
+ }): Record<string, string>;
16
+ /** Builds the payload of one confirmcreds gate: the credential label only, because the value stays behind the vault and no gate ever reveals it. */
17
+ export declare function credspayload(label: string): Record<string, string>;
18
+ /** Opens one confirm gate for a gated step: the payload the human reviews, the origin provenance and the open state that only an explicit user action resolves. */
19
+ export declare function opengate(input: {
20
+ kind: gatekind;
21
+ stepid: string;
22
+ runid: string;
23
+ origin: string;
24
+ payload: Record<string, string>;
25
+ now: number;
26
+ gateid?: string;
27
+ }): confirmgate;
28
+ /** Reads the state of the gate one step waits at: no gate, an open gate the step pauses at, a resolved gate the step passes and a refused gate the step never dispatches through. */
29
+ export declare function gatestateof(gates: confirmgate[], stepid: string): {
30
+ state: "none" | "open" | "resolved" | "refused";
31
+ gate?: confirmgate;
32
+ };
33
+ /** Resolves exactly one gate through one explicit human action: the decision names its acting user, an already resolved or refused gate stays terminal, and no timeout path exists because only a human resolves a gate. */
34
+ export declare function resolvegate(input: {
35
+ gates: confirmgate[];
36
+ gateid: string;
37
+ decision: "resolved" | "refused";
38
+ actor: string;
39
+ now: number;
40
+ }): {
41
+ gates: confirmgate[];
42
+ resolution?: gateresolution;
43
+ };
44
+ /** Refuses batch approvals: one human action resolves exactly one gate, so a resolution request that names several gates refuses in full. */
45
+ export declare function nobatchresolution(gateids: string[]): {
46
+ allowed: boolean;
47
+ reason: string;
48
+ };
49
+ /** Builds the plain language prompt of one gate: confirmpay names the amount, the payee origin and the target element, confirmdelete names the target, the scope and the irreversibility, and confirmcreds names the credential label only. */
50
+ export declare function gateprompttext(gate: confirmgate): string;
51
+ /** Builds the gate descriptor of one gated step from its reviewed shape: the payload fields the human reviews read from the step options, the plan origin and the vault label of a credential step. */
52
+ export declare function gateforstep(input: {
53
+ step: Pick<toolstep, "id" | "kind" | "target" | "options">;
54
+ classes: sensitiveclass[];
55
+ runid: string;
56
+ origin: string;
57
+ credentiallabel?: string;
58
+ now: number;
59
+ }): confirmgate | undefined;
60
+ //# sourceMappingURL=confirmgates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirmgates.d.ts","sourceRoot":"","sources":["../confirmgates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAelG,+RAA+R;AAC/R,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,QAAQ,GAAG,SAAS,CAK3E;AAED,oIAAoI;AACpI,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKnH;AAED,6IAA6I;AAC7I,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxH;AAED,oJAAoJ;AACpJ,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlE;AAED,mKAAmK;AACnK,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAI7K;AAED,qLAAqL;AACrL,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,WAAW,CAAA;CAAE,CAIzI;AAED,4NAA4N;AAC5N,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,cAAc,CAAA;CAAE,CAOhM;AAED,6IAA6I;AAC7I,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAIzF;AAED,+OAA+O;AAC/O,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAWxD;AAED,uMAAuM;AACvM,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,GAAG,SAAS,CAa3N"}
@@ -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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"}
@@ -0,0 +1,86 @@
1
+ import type { connectallowentry, deferredevent, origincheckverdict, ratelimitbucket, schemaerror } from "./types.js";
2
+ /**
3
+ * Inbound guard logic of the 1.1.62 family.
4
+ * Every message, command and connection that enters the background passes this guard chain: schemastrict validates each inbound command against its declared grammar and rejects unknown fields with the path and the expected shape, origincheck verdicts guard every runtime message and every port connection, connectallow holds the external senders the user allowed and ships empty by default so every unknown sender drops without handler execution, and the ratelimit buckets bound automation commands per origin and per session by deferring every command that exceeds its bucket until the window resets.
5
+ * No bound, window or sender list is ever hardcoded: the buckets stay user configured values with no hidden ceiling, and the connectallow list holds user managed entries only.
6
+ */
7
+ /** The field shapes schemastrict understands: strings, numbers, booleans, plain objects and arrays, beside the absent marker a field the grammar never declared expects. */
8
+ export type schemashape = "string" | "number" | "boolean" | "object" | "array" | "absent";
9
+ /** Validates one inbound command under schemastrict: every field the grammar declares keeps its expected shape, a missing required field errors with its path, and a field the grammar never declared errors with the expected shape absent so the command never dispatches. */
10
+ export declare function schemacheck(input: {
11
+ command: Record<string, unknown>;
12
+ schema: Record<string, schemashape>;
13
+ required?: string[];
14
+ }): {
15
+ valid: boolean;
16
+ errors: schemaerror[];
17
+ };
18
+ /** Validates one inbound command envelope: the kind must be a non-empty string the dispatch registry knows, so an unknown command kind refuses before any handler runs. */
19
+ export declare function envelopecheck(input: {
20
+ command: Record<string, unknown>;
21
+ knownkinds: readonly string[];
22
+ }): {
23
+ valid: boolean;
24
+ errors: schemaerror[];
25
+ };
26
+ /** Checks one inbound runtime message or port connection through origincheck: an internal sender of this extension accepts, an external sender accepts only when its sender id sits in the connectallow list the user manages, and every other sender drops without handler execution. */
27
+ export declare function origincheckof(input: {
28
+ senderid?: string;
29
+ senderorigin?: string;
30
+ extensionid: string;
31
+ connectallow: connectallowentry[];
32
+ }): origincheckverdict;
33
+ /** Checks one port connection through the same origincheck grammar: only ports of this extension or of allowed external senders accept, and every other port closes at the handshake. */
34
+ export declare function portaccept(input: {
35
+ portname: string;
36
+ senderid?: string;
37
+ senderorigin?: string;
38
+ extensionid: string;
39
+ connectallow: connectallowentry[];
40
+ }): origincheckverdict;
41
+ /** Builds one connectallow entry: the external sender id the user allows, its display name and its optional origin scope; the list ships empty by default. */
42
+ export declare function connectallowentryof(input: {
43
+ senderid: string;
44
+ displayname: string;
45
+ origin?: string;
46
+ now: number;
47
+ }): connectallowentry;
48
+ /** The empty connectallow list the extension ships with: no external sender accepts until the user adds its entry. */
49
+ export declare const emptyconnectallow: connectallowentry[];
50
+ /** Validates the user configured ratelimit bucket bounds: the limit and the window stay positive user values because no hidden ceiling exists. */
51
+ export declare function bucketboundsvalid(limit: number, window: number): {
52
+ valid: boolean;
53
+ reason: string;
54
+ };
55
+ /** Builds one ratelimit bucket per origin and per session with its user configured bound and window. */
56
+ export declare function bucketof(input: {
57
+ origin: string;
58
+ sessionid: string;
59
+ limit: number;
60
+ window: number;
61
+ now: number;
62
+ }): ratelimitbucket;
63
+ /** Consumes one command from its bucket: a command inside its bound consumes, a command past its bound defers until the window resets, and a window past its reset starts a fresh window. */
64
+ export declare function bucketconsume(input: {
65
+ bucket: ratelimitbucket;
66
+ now: number;
67
+ }): {
68
+ allowed: boolean;
69
+ deferred: boolean;
70
+ bucket: ratelimitbucket;
71
+ resetsat: number;
72
+ reason: string;
73
+ };
74
+ /** Builds one deferred command event: the step the bucket deferred with the reason and the reset time it waits for. */
75
+ export declare function deferredeventof(input: {
76
+ stepid: string;
77
+ kind: string;
78
+ origin: string;
79
+ reason: string;
80
+ resetsat: number;
81
+ now: number;
82
+ id?: string;
83
+ }): deferredevent;
84
+ /** Reads whether one deferred command may retry: the deferral holds until its bucket window resets. */
85
+ export declare function deferredready(deferred: deferredevent, now: number): boolean;
86
+ //# sourceMappingURL=inboundguard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inboundguard.d.ts","sourceRoot":"","sources":["../inboundguard.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,34 +4,43 @@ export * from "./blackboard.js";
4
4
  export * from "./capture.js";
5
5
  export * from "./cdpbus.js";
6
6
  export * from "./clientauth.js";
7
+ export * from "./confirmgates.js";
7
8
  export * from "./controlflow.js";
8
9
  export * from "./coordination.js";
9
10
  export * from "./emulation.js";
10
11
  export * from "./environments.js";
11
12
  export * from "./httpclient.js";
13
+ export * from "./immutablelog.js";
14
+ export * from "./inboundguard.js";
12
15
  export * from "./llm.js";
13
16
  export * from "./httpstream.js";
14
17
  export * from "./media.js";
15
18
  export * from "./memory.js";
16
19
  export * from "./mcpserver.js";
20
+ export * from "./maskinputs.js";
17
21
  export * from "./modelroute.js";
18
22
  export * from "./multiagent.js";
19
23
  export * from "./netauth.js";
20
24
  export * from "./netcontrol.js";
21
25
  export * from "./netwatch.js";
26
+ export * from "./originpolicy.js";
22
27
  export * from "./orchestration.js";
28
+ export * from "./phishguard.js";
23
29
  export * from "./profilers.js";
24
30
  export * from "./promptlibrary.js";
31
+ export * from "./redactshots.js";
25
32
  export * from "./runstate.js";
26
33
  export * from "./sandboxframe.js";
34
+ export * from "./secretvault.js";
27
35
  export * from "./sessions.js";
28
36
  export * from "./taskqueue.js";
29
37
  export * from "./trigger.js";
30
38
  export * from "./toolcatalog.js";
39
+ export * from "./transparency.js";
31
40
  export * from "./workflow.js";
32
41
  export * from "./workfloweditor.js";
33
42
  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";
43
+ export { actionrisk as deriveactionrisk, agentbudgetvalid, agentscopevalid, apikeyconsentgranted, authconsentgranted, blackboardconsentgrade, blockgate, breakpointbudgetallowed, breakpointceilingof, canexecute, confirmcredsgate, confirmdeletegate, confirmpaygate, connectallowgate, consoleconsentcovers, controltarget, cookiegate, debuggate, debuggerconsentcovers, debugwaitbudgetallowed, diffreviewgrade, dryrunprojection, editorsavegate, emugate, emulationretentionwindow, emulationstackallowed, environmentgrantgate, environmentrequirements, exportcontentreview, gatebatchgate, generatedvalueallowed, hostpattern, iscdpkind, isdebugkind, isformkind, isnetwatchkind, iscontrolkind, isprofilekind, issocketkind, iswatchkind, issessionkind, isworkflowkind, istriggeraction, keepalivegate, keepaliveintervalvalid, killswitchgate, messageegressgrade, normalizeendpoint, observationmodeof, offscreencapabilitygate, origincheckgate, pauseretentionwindow, passwordconsentgranted, permissionnamevalid, permissionstatevalid, phishguardgate, phishthresholdgate, planallowlist, profilegrantgranted, profileretentionwindow, proxygate, queuelanesvalid, ratelimitbudgetallowed, ratelimitboundsvalid, ratelimitgate, resolvedrisk, resolutionverdict, restoreoriginsgranted, restorereviewgranted, reviewedkinds, rotationruleof, runreviewgranted, safedefaultsgate, sandboxorigingate, schemaguardgate, serverbindgate, serverenablementgate, sessionfolderunique, sessionnameunique, sessionrestoregate, snapshotretentionwindow, socketgate, sourcemapconsentcovers, spamruleof, spawngrade, stackgate, stepenvironmentvalid, submitreviewgranted, targetgate, toolconsentrequired, tooldispatchgate, toolnamespacegate, toolriskgrade, toolversionfloor, untrustedrendergate, validatetoolcatalog, vaultsecretgate, 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
44
  export * from "./protocol.js";
36
45
  export * from "./socketbus.js";
37
46
  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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"}