@aimarket/warden 0.21.0 → 0.22.1
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/CHANGELOG.md +52 -0
- package/README-es.md +24 -7
- package/README-fr.md +24 -7
- package/README-ru.md +24 -7
- package/README-zh.md +24 -7
- package/README.md +24 -7
- package/dist/annotation-review.d.ts +10 -0
- package/dist/annotation-review.d.ts.map +1 -0
- package/dist/annotation-review.js +36 -0
- package/dist/annotation-review.js.map +1 -0
- package/dist/answer-gate.d.ts +94 -0
- package/dist/answer-gate.d.ts.map +1 -0
- package/dist/answer-gate.js +234 -0
- package/dist/answer-gate.js.map +1 -0
- package/dist/atomic-screen.d.ts.map +1 -1
- package/dist/classifier.d.ts +2 -2
- package/dist/classifier.d.ts.map +1 -1
- package/dist/claude-hook.js.map +1 -1
- package/dist/declare.d.ts.map +1 -1
- package/dist/declare.js.map +1 -1
- package/dist/flow-guard-answer.d.ts +30 -0
- package/dist/flow-guard-answer.d.ts.map +1 -0
- package/dist/flow-guard-answer.js +228 -0
- package/dist/flow-guard-answer.js.map +1 -0
- package/dist/flow-guard-classify.d.ts +14 -0
- package/dist/flow-guard-classify.d.ts.map +1 -0
- package/dist/flow-guard-classify.js +224 -0
- package/dist/flow-guard-classify.js.map +1 -0
- package/dist/flow-guard-constraints.d.ts +43 -0
- package/dist/flow-guard-constraints.d.ts.map +1 -0
- package/dist/flow-guard-constraints.js +69 -0
- package/dist/flow-guard-constraints.js.map +1 -0
- package/dist/flow-guard-decode.d.ts +17 -0
- package/dist/flow-guard-decode.d.ts.map +1 -0
- package/dist/flow-guard-decode.js +149 -0
- package/dist/flow-guard-decode.js.map +1 -0
- package/dist/flow-guard-destinations.d.ts +23 -0
- package/dist/flow-guard-destinations.d.ts.map +1 -0
- package/dist/flow-guard-destinations.js +158 -0
- package/dist/flow-guard-destinations.js.map +1 -0
- package/dist/flow-guard-fingerprints.d.ts +27 -0
- package/dist/flow-guard-fingerprints.d.ts.map +1 -0
- package/dist/flow-guard-fingerprints.js +164 -0
- package/dist/flow-guard-fingerprints.js.map +1 -0
- package/dist/flow-guard-fragments.d.ts +17 -0
- package/dist/flow-guard-fragments.d.ts.map +1 -0
- package/dist/flow-guard-fragments.js +122 -0
- package/dist/flow-guard-fragments.js.map +1 -0
- package/dist/flow-guard-instructions.d.ts +12 -0
- package/dist/flow-guard-instructions.d.ts.map +1 -0
- package/dist/flow-guard-instructions.js +36 -0
- package/dist/flow-guard-instructions.js.map +1 -0
- package/dist/flow-guard-labels.d.ts +10 -0
- package/dist/flow-guard-labels.d.ts.map +1 -0
- package/dist/flow-guard-labels.js +55 -0
- package/dist/flow-guard-labels.js.map +1 -0
- package/dist/flow-guard-leak.d.ts +29 -0
- package/dist/flow-guard-leak.d.ts.map +1 -0
- package/dist/flow-guard-leak.js +135 -0
- package/dist/flow-guard-leak.js.map +1 -0
- package/dist/flow-guard-paths.d.ts +21 -0
- package/dist/flow-guard-paths.d.ts.map +1 -0
- package/dist/flow-guard-paths.js +72 -0
- package/dist/flow-guard-paths.js.map +1 -0
- package/dist/flow-guard-policy.d.ts +15 -0
- package/dist/flow-guard-policy.d.ts.map +1 -0
- package/dist/flow-guard-policy.js +179 -0
- package/dist/flow-guard-policy.js.map +1 -0
- package/dist/flow-guard-post.d.ts +6 -0
- package/dist/flow-guard-post.d.ts.map +1 -0
- package/dist/flow-guard-post.js +131 -0
- package/dist/flow-guard-post.js.map +1 -0
- package/dist/flow-guard-pre.d.ts +13 -0
- package/dist/flow-guard-pre.d.ts.map +1 -0
- package/dist/flow-guard-pre.js +335 -0
- package/dist/flow-guard-pre.js.map +1 -0
- package/dist/flow-guard-screen.d.ts +85 -0
- package/dist/flow-guard-screen.d.ts.map +1 -0
- package/dist/flow-guard-screen.js +558 -0
- package/dist/flow-guard-screen.js.map +1 -0
- package/dist/flow-guard-state.d.ts +12 -0
- package/dist/flow-guard-state.d.ts.map +1 -0
- package/dist/flow-guard-state.js +129 -0
- package/dist/flow-guard-state.js.map +1 -0
- package/dist/flow-guard-text.d.ts +9 -0
- package/dist/flow-guard-text.d.ts.map +1 -0
- package/dist/flow-guard-text.js +46 -0
- package/dist/flow-guard-text.js.map +1 -0
- package/dist/flow-guard-types.d.ts +162 -0
- package/dist/flow-guard-types.d.ts.map +1 -0
- package/dist/flow-guard-types.js +2 -0
- package/dist/flow-guard-types.js.map +1 -0
- package/dist/flow-guard.d.ts +22 -394
- package/dist/flow-guard.d.ts.map +1 -1
- package/dist/flow-guard.js +27 -2522
- package/dist/flow-guard.js.map +1 -1
- package/dist/histor.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/jcs.d.ts.map +1 -1
- package/dist/jcs.js.map +1 -1
- package/dist/mcp-client.d.ts +1 -2
- package/dist/mcp-client.d.ts.map +1 -1
- package/dist/mcp-client.js +2 -19
- package/dist/mcp-client.js.map +1 -1
- package/dist/mcp-rpc.js.map +1 -1
- package/dist/mcp-tools.d.ts.map +1 -1
- package/dist/mcp-tools.js.map +1 -1
- package/dist/mtl.d.ts +1 -1
- package/dist/mtl.d.ts.map +1 -1
- package/dist/mtl.js.map +1 -1
- package/dist/origin.d.ts.map +1 -1
- package/dist/pin-store.d.ts.map +1 -1
- package/dist/pin-store.js.map +1 -1
- package/dist/pinning.d.ts.map +1 -1
- package/dist/pinning.js.map +1 -1
- package/dist/public-address.d.ts +3 -0
- package/dist/public-address.d.ts.map +1 -0
- package/dist/public-address.js +58 -0
- package/dist/public-address.js.map +1 -0
- package/dist/review-diff.d.ts +3 -3
- package/dist/review-diff.d.ts.map +1 -1
- package/dist/review-diff.js +3 -5
- package/dist/review-diff.js.map +1 -1
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sanitize.js.map +1 -1
- package/dist/scan-lock.d.ts.map +1 -1
- package/dist/scan-lock.js.map +1 -1
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js.map +1 -1
- package/dist/static-scan.d.ts.map +1 -1
- package/dist/static-scan.js.map +1 -1
- package/dist/task-adapter.d.ts.map +1 -1
- package/dist/task-adapter.js.map +1 -1
- package/dist/threat-feed.d.ts.map +1 -1
- package/dist/threat-feed.js.map +1 -1
- package/dist/tool-list.js.map +1 -1
- package/dist/toxic-flow.js.map +1 -1
- package/dist/wrap-cli.d.ts +1 -1
- package/dist/wrap-cli.d.ts.map +1 -1
- package/dist/wrap-cli.js +2 -1
- package/dist/wrap-cli.js.map +1 -1
- package/dist/wrap-screen.js.map +1 -1
- package/dist/wrap-state.d.ts +3 -1
- package/dist/wrap-state.d.ts.map +1 -1
- package/dist/wrap-state.js +18 -3
- package/dist/wrap-state.js.map +1 -1
- package/dist/wrap-wire.d.ts.map +1 -1
- package/dist/wrap-wire.js.map +1 -1
- package/dist/wrap.d.ts.map +1 -1
- package/dist/wrap.js +45 -7
- package/dist/wrap.js.map +1 -1
- package/docs/flow-guard-answer-gate.es.md +53 -0
- package/docs/flow-guard-answer-gate.fr.md +53 -0
- package/docs/flow-guard-answer-gate.md +86 -0
- package/docs/flow-guard-answer-gate.ru.md +53 -0
- package/docs/flow-guard-answer-gate.zh.md +53 -0
- package/docs/flow-guard-constraint-evidence.es.md +76 -0
- package/docs/flow-guard-constraint-evidence.fr.md +76 -0
- package/docs/flow-guard-constraint-evidence.md +78 -0
- package/docs/flow-guard-constraint-evidence.ru.md +78 -0
- package/docs/flow-guard-constraint-evidence.zh.md +76 -0
- package/docs/flow-guard-final-witness-2026-10-26.es.md +24 -0
- package/docs/flow-guard-final-witness-2026-10-26.fr.md +24 -0
- package/docs/flow-guard-final-witness-2026-10-26.md +24 -0
- package/docs/flow-guard-final-witness-2026-10-26.ru.md +24 -0
- package/docs/flow-guard-final-witness-2026-10-26.zh.md +24 -0
- package/docs/flow-guard-fresh-rechecks-2026-10-26.es.md +39 -0
- package/docs/flow-guard-fresh-rechecks-2026-10-26.fr.md +39 -0
- package/docs/flow-guard-fresh-rechecks-2026-10-26.md +39 -0
- package/docs/flow-guard-fresh-rechecks-2026-10-26.ru.md +39 -0
- package/docs/flow-guard-fresh-rechecks-2026-10-26.zh.md +39 -0
- package/docs/flow-guard-model-comparison-2026-10-25.es.md +109 -0
- package/docs/flow-guard-model-comparison-2026-10-25.fr.md +109 -0
- package/docs/flow-guard-model-comparison-2026-10-25.md +109 -0
- package/docs/flow-guard-model-comparison-2026-10-25.ru.md +109 -0
- package/docs/flow-guard-model-comparison-2026-10-25.zh.md +109 -0
- package/docs/flow-guard-prospective-holdout-2026-10-26.es.md +30 -0
- package/docs/flow-guard-prospective-holdout-2026-10-26.fr.md +30 -0
- package/docs/flow-guard-prospective-holdout-2026-10-26.md +44 -0
- package/docs/flow-guard-prospective-holdout-2026-10-26.ru.md +44 -0
- package/docs/flow-guard-prospective-holdout-2026-10-26.zh.md +30 -0
- package/docs/flow-guard-review-factors-2026-10-26.es.md +41 -0
- package/docs/flow-guard-review-factors-2026-10-26.fr.md +41 -0
- package/docs/flow-guard-review-factors-2026-10-26.md +45 -0
- package/docs/flow-guard-review-factors-2026-10-26.ru.md +45 -0
- package/docs/flow-guard-review-factors-2026-10-26.zh.md +41 -0
- package/docs/flow-guard-structured-model-2026-10-26.es.md +35 -0
- package/docs/flow-guard-structured-model-2026-10-26.fr.md +35 -0
- package/docs/flow-guard-structured-model-2026-10-26.md +44 -0
- package/docs/flow-guard-structured-model-2026-10-26.ru.md +46 -0
- package/docs/flow-guard-structured-model-2026-10-26.zh.md +35 -0
- package/docs/flow-guard.es.md +54 -4
- package/docs/flow-guard.fr.md +54 -4
- package/docs/flow-guard.md +61 -4
- package/docs/flow-guard.ru.md +60 -4
- package/docs/flow-guard.zh.md +54 -4
- package/docs/scan-limits.es.md +39 -0
- package/docs/scan-limits.fr.md +39 -0
- package/docs/scan-limits.md +39 -0
- package/docs/scan-limits.ru.md +39 -0
- package/docs/scan-limits.zh.md +39 -0
- package/docs/scan.es.md +2 -0
- package/docs/scan.fr.md +2 -0
- package/docs/scan.md +2 -0
- package/docs/scan.ru.md +2 -0
- package/docs/scan.zh.md +2 -0
- package/examples/answer-gate-host.mjs +33 -0
- package/native/macos/Sources/WardenDesktop/NativeSurface.swift +1 -1
- package/package.json +6 -5
package/dist/flow-guard.d.ts
CHANGED
|
@@ -1,398 +1,26 @@
|
|
|
1
|
-
export type FlowLabel
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
export interface GuiPolicy {
|
|
24
|
-
mode: 'strict' | 'policy';
|
|
25
|
-
maxSnapshotAgeMs: number;
|
|
26
|
-
allow: GuiActionRule[];
|
|
27
|
-
/** Parser diagnostic, not a configurable field. */
|
|
28
|
-
invalid?: true;
|
|
29
|
-
}
|
|
30
|
-
export interface PublicRequestRule {
|
|
31
|
-
tool: string;
|
|
32
|
-
requestSha256: string;
|
|
33
|
-
}
|
|
34
|
-
export interface CredentialEgressPolicy {
|
|
35
|
-
allow: PublicRequestRule[];
|
|
36
|
-
invalid?: true;
|
|
37
|
-
}
|
|
38
|
-
export interface TaskAdapterPolicy {
|
|
39
|
-
mode: 'strict' | 'capabilities' | 'review';
|
|
40
|
-
/** Operator-controlled MCP server name, bound to WARDEN's built-in `task` command. */
|
|
41
|
-
server: string;
|
|
42
|
-
/** Pins <state dir>/task-manifest.json, never a page-supplied manifest. */
|
|
43
|
-
manifestSha256: string;
|
|
44
|
-
invalid?: true;
|
|
45
|
-
}
|
|
46
|
-
export interface FlowPolicy {
|
|
47
|
-
mode: FlowMode;
|
|
48
|
-
/** Tool-name globs → the labels an operator assigns; replaces the built-in guess for that tool. */
|
|
49
|
-
labels: Record<string, FlowLabel[]>;
|
|
50
|
-
/** Hosts whose content does not taint the session (docs you trust). `*.example.com` covers subdomains. */
|
|
51
|
-
trustedSources: string[];
|
|
52
|
-
/** Hosts an outbound call may reach in a tainted session without asking. Fingerprint checks and the credential boundary still apply. */
|
|
53
|
-
allowedDestinations: string[];
|
|
54
|
-
/** Treat every local file the agent reads as outside text (strict). Default: only foreign paths. */
|
|
55
|
-
taintLocalFiles: boolean;
|
|
56
|
-
/** Tool-name globs → argument names whose values are destinations or targets (recipient, file id). */
|
|
57
|
-
destinationArgs: Record<string, string[]>;
|
|
58
|
-
/** Explicitly trusted, read-only contact lookup tools. Results must contain structured name/email records. */
|
|
59
|
-
contactTools?: string[];
|
|
60
|
-
/** Stop hook: name the outside text a turn read (always), only text that addressed the model (instruction), or stay silent. */
|
|
61
|
-
answerNote: AnswerNote;
|
|
62
|
-
/** Legacy schema, parsed for migration only. Untrusted GUI metadata never grants permission. */
|
|
63
|
-
gui?: GuiPolicy;
|
|
64
|
-
/** Reviewed exact public requests, each usable once per session after a credential read. */
|
|
65
|
-
credentialEgress?: CredentialEgressPolicy;
|
|
66
|
-
taskAdapter?: TaskAdapterPolicy;
|
|
67
|
-
}
|
|
68
|
-
export interface FlowSource {
|
|
69
|
-
tool: string;
|
|
70
|
-
src: string;
|
|
71
|
-
at: string; /** The text addressed the model as if instructing it. */
|
|
72
|
-
hint?: boolean; /** The user's prompt count when it was read. */
|
|
73
|
-
turn?: number;
|
|
74
|
-
}
|
|
75
|
-
/** The last characters each argument sent out this session, so a value split over several calls is seen whole. */
|
|
76
|
-
export interface OutTail {
|
|
77
|
-
t: string;
|
|
78
|
-
a: string;
|
|
79
|
-
}
|
|
80
|
-
export interface FragmentRecord {
|
|
81
|
-
group: string;
|
|
82
|
-
hash: string;
|
|
83
|
-
offset: number;
|
|
84
|
-
size?: number;
|
|
85
|
-
edge?: true;
|
|
86
|
-
}
|
|
87
|
-
export interface FlowState {
|
|
88
|
-
v: 1;
|
|
89
|
-
untrusted: FlowSource[];
|
|
90
|
-
private: Array<FlowSource & {
|
|
91
|
-
secret: boolean;
|
|
92
|
-
}>;
|
|
93
|
-
notified: boolean;
|
|
94
|
-
/** Fingerprint store reached its cap: later private reads are not fingerprinted. */
|
|
95
|
-
full: boolean;
|
|
96
|
-
/** What the user typed this session (normalized, capped): a destination named here is the user's choice. */
|
|
97
|
-
intent?: string[];
|
|
98
|
-
/** The same, lower-cased with spacing kept, for whole-word matches of short names and numbers. */
|
|
99
|
-
intentRaw?: string[];
|
|
100
|
-
/** Addresses resolved by explicitly trusted contact tools, bound to full display names. */
|
|
101
|
-
resolved?: Array<{
|
|
102
|
-
v: string;
|
|
103
|
-
names: string[];
|
|
104
|
-
}>;
|
|
105
|
-
resolvedVersion?: 2;
|
|
106
|
-
/** Per argument name: the tail of what outbound calls carried after outside text (see OutTail). */
|
|
107
|
-
tails?: Record<string, OutTail>;
|
|
108
|
-
/** Hash-only short-fragment index and observations, shared by every proxy in this session. */
|
|
109
|
-
fragments?: {
|
|
110
|
-
v: 1 | 2;
|
|
111
|
-
index: FragmentRecord[];
|
|
112
|
-
seen: FragmentRecord[];
|
|
113
|
-
full?: true;
|
|
114
|
-
};
|
|
115
|
-
/** How many prompts the user has sent: the Stop hook names only outside text read in the latest turn. */
|
|
116
|
-
turn?: number;
|
|
117
|
-
/** MCP tools seen without an operator label, with the labels the guard guessed (`warden-mcp flow-labels`). */
|
|
118
|
-
unlabeled?: Record<string, FlowLabel[]>;
|
|
119
|
-
/** Per MCP server: what its latest screen result showed, so a click is judged by its target (see ScreenView). */
|
|
120
|
-
screens?: Record<string, ScreenView>;
|
|
121
|
-
/** A forwarded input/paste may have populated an outbound form. Never reset within the session. */
|
|
122
|
-
guiInputSeen?: true;
|
|
123
|
-
/** Sticky even when the bounded private-source history rotates. */
|
|
124
|
-
credentialRead?: true;
|
|
125
|
-
/** Exact public-request grants already consumed; never reset by prompts. */
|
|
126
|
-
credentialGrants?: string[];
|
|
127
|
-
}
|
|
128
|
-
export interface Classified {
|
|
129
|
-
labels: Set<FlowLabel>;
|
|
130
|
-
/** Hosts named in the call (URLs, ssh/scp targets). */
|
|
131
|
-
hosts: string[];
|
|
132
|
-
/** For results: a short description of where the text came from. */
|
|
133
|
-
src: string;
|
|
134
|
-
/** Private read of a credential path. */
|
|
135
|
-
secret: boolean;
|
|
136
|
-
/** The call writes WARDEN's policy/state or Claude Code's hook/MCP settings. */
|
|
137
|
-
protectedTouch: boolean;
|
|
138
|
-
/** Shell code that is not a small literal read-only command. Destination exemptions never apply. */
|
|
139
|
-
opaqueShell?: boolean;
|
|
140
|
-
/** An MCP tool without an operator label: its labels are the guard's guess. */
|
|
141
|
-
guessed?: boolean;
|
|
142
|
-
}
|
|
143
|
-
export interface FlowDecision {
|
|
144
|
-
permissionDecision: 'ask' | 'deny';
|
|
145
|
-
permissionDecisionReason: string;
|
|
146
|
-
}
|
|
147
|
-
/** Set by the integration, never by tool arguments. A proxy cannot display an approval dialog itself; `elicit` is
|
|
148
|
-
* `wrap` asking through the client's own form (MCP elicitation), whose answer it records with flowApproval. */
|
|
149
|
-
export type FlowPresentation = 'hook' | 'refuse' | 'audit' | 'elicit';
|
|
150
|
-
export declare const DEFAULT_POLICY: FlowPolicy;
|
|
151
|
-
export declare function stateDir(env?: NodeJS.ProcessEnv): string;
|
|
152
|
-
export declare function flowPaths(dir: string, sessionId: string): {
|
|
153
|
-
dir: string;
|
|
154
|
-
state: string;
|
|
155
|
-
fp: string;
|
|
156
|
-
secret: string;
|
|
157
|
-
pii: string;
|
|
158
|
-
tok: string;
|
|
159
|
-
hint: string;
|
|
160
|
-
log: string;
|
|
161
|
-
};
|
|
162
|
-
export declare function isSecretPath(path: string): boolean;
|
|
163
|
-
/** Files that, if the agent could change them, would let it switch the guard off. */
|
|
164
|
-
export declare function isProtectedPath(path: string, cwd: string, env?: NodeJS.ProcessEnv): boolean;
|
|
165
|
-
/** User-level policy only (`<state dir>/flow-policy.json`): a project file is something the agent can edit. */
|
|
166
|
-
export declare function loadPolicy(env?: NodeJS.ProcessEnv): FlowPolicy;
|
|
167
|
-
/** Read bounded, pinned operator configuration. The task runtime additionally validates the complete schema. */
|
|
168
|
-
export declare function readPinnedTaskManifest(policy: FlowPolicy, env?: NodeJS.ProcessEnv): string;
|
|
169
|
-
/** Sorted JSON keys; array order and every argument/destination are significant. Never hashes a truncated input. */
|
|
170
|
-
export declare function publicRequestDigest(tool: string, input: Record<string, unknown>): string | undefined;
|
|
171
|
-
export declare function hostMatches(host: string, patterns: readonly string[]): boolean;
|
|
172
|
-
export declare function hostsIn(texts: readonly string[]): string[];
|
|
173
|
-
export declare function classifyShell(command: string): {
|
|
174
|
-
labels: Set<FlowLabel>;
|
|
175
|
-
hosts: string[];
|
|
176
|
-
local: boolean;
|
|
177
|
-
};
|
|
178
|
-
export declare function classifyCall(toolName: string, input: Record<string, unknown>, cwd: string, policy: FlowPolicy, env?: NodeJS.ProcessEnv): Classified;
|
|
179
|
-
/** What a screen tool last showed: element references → their labels (role and quoted text), and window or page
|
|
180
|
-
* titles. Labels are outside text: only a recognized canonical action word is shown in a prompt. */
|
|
181
|
-
interface ScreenPoint {
|
|
182
|
-
x: number;
|
|
183
|
-
y: number;
|
|
184
|
-
}
|
|
185
|
-
interface ScreenBox extends ScreenPoint {
|
|
186
|
-
width: number;
|
|
187
|
-
height: number;
|
|
188
|
-
}
|
|
189
|
-
interface ScreenElement {
|
|
190
|
-
role?: string;
|
|
191
|
-
bounds?: ScreenBox;
|
|
192
|
-
center?: ScreenPoint;
|
|
193
|
-
focused?: true;
|
|
194
|
-
multiline?: boolean;
|
|
195
|
-
form?: string;
|
|
196
|
-
identifierVerb?: string;
|
|
197
|
-
identifierDestroy?: string;
|
|
198
|
-
submit?: true;
|
|
199
|
-
ambiguous?: true;
|
|
200
|
-
identityHash?: string;
|
|
201
|
-
referenceHash?: string;
|
|
202
|
-
labelHash?: string;
|
|
203
|
-
}
|
|
204
|
-
export interface ScreenView {
|
|
205
|
-
at: string;
|
|
206
|
-
tool: string;
|
|
207
|
-
refs: Record<string, string>;
|
|
208
|
-
titles: string[];
|
|
209
|
-
elements?: Record<string, ScreenElement>;
|
|
210
|
-
focused?: string;
|
|
211
|
-
origin?: string;
|
|
212
|
-
application?: string;
|
|
213
|
-
revision?: string;
|
|
214
|
-
policyConsumed?: true;
|
|
215
|
-
policyComplete?: true;
|
|
216
|
-
contextAmbiguous?: true;
|
|
217
|
-
}
|
|
218
|
-
/** How a pointer or keyboard call on a screen server reads: what its target says it does, and a paste after a credential. */
|
|
219
|
-
export interface ScreenCall {
|
|
220
|
-
verb?: string;
|
|
221
|
-
destroy?: string;
|
|
222
|
-
ref?: string;
|
|
223
|
-
paste?: FlowSource & {
|
|
224
|
-
secret: boolean;
|
|
225
|
-
};
|
|
226
|
-
guarded?: 'pointer' | 'paste' | 'enter' | 'text' | 'keyboard' | 'control';
|
|
227
|
-
via?: 'coordinates' | 'focus';
|
|
228
|
-
evidence?: 'identifier' | 'form' | 'semantic';
|
|
229
|
-
}
|
|
230
|
-
/** The elements and titles a screen tool's result shows, or undefined when the result is not a screen. A screen
|
|
231
|
-
* tool's result always replaces the server's last view, even when it is only an image: a stale list must not
|
|
232
|
-
* label the next click. Numbered lists also count from pointer/keyboard action results; acknowledgments alone
|
|
233
|
-
* keep the previous view, while an image-only action result clears it. `[ref=…]` lines and JSON nodes with a role
|
|
234
|
-
* count from any tool, since they are what accessibility trees look like. */
|
|
235
|
-
export declare function screenFromResult(toolName: string, response: unknown, text: string, input?: Record<string, unknown>): Omit<ScreenView, 'at' | 'tool'> | undefined;
|
|
236
|
-
/** A pointer or keyboard call to an MCP screen server, read against that server's last screen. */
|
|
237
|
-
export declare function screenCall(toolName: string, input: Record<string, unknown>, state: FlowState): ScreenCall | undefined;
|
|
238
|
-
/** Operator-selected observation schema only. Never infer read authority from tool annotations. */
|
|
239
|
-
export declare function screenObservation(toolName: string, input: Record<string, unknown>): boolean;
|
|
240
|
-
/** Equality evidence for a new observation, not permission and not an attestation of GUI effects. */
|
|
241
|
-
export declare function screenTargetEvidence(toolName: string, input: Record<string, unknown>, view: ScreenView | undefined): {
|
|
242
|
-
stamp: string;
|
|
243
|
-
target: string;
|
|
244
|
-
} | undefined;
|
|
245
|
-
export declare function screenTargetStamp(toolName: string, input: Record<string, unknown>, view: ScreenView | undefined): string | undefined;
|
|
246
|
-
export declare function screenResponseEvidence(actionTool: string, action: Record<string, unknown>, observationTool: string, observation: Record<string, unknown>, response: unknown): {
|
|
247
|
-
stamp: string;
|
|
248
|
-
target: string;
|
|
249
|
-
} | undefined;
|
|
250
|
-
/** Derive equality evidence from this response itself, never a concurrently replaced cached view. */
|
|
251
|
-
export declare function screenResponseStamp(actionTool: string, action: Record<string, unknown>, observationTool: string, observation: Record<string, unknown>, response: unknown): string | undefined;
|
|
252
|
-
/** A credential read that a screen server's calls reveal: a credential path typed (into an open dialog, a
|
|
253
|
-
* terminal, an address bar) or a window or page title naming a credential file. Only the file name is kept. */
|
|
254
|
-
export declare function screenSecretRead(toolName: string, input: Record<string, unknown>, view: Omit<ScreenView, 'at' | 'tool'> | undefined): string | undefined;
|
|
255
|
-
export declare function destinations(toolName: string, input: Record<string, unknown>, policy: FlowPolicy, hosts: readonly string[]): string[];
|
|
256
|
-
/**
|
|
257
|
-
* The operator named this tool's destination arguments and the call sets none of them: it acts on an
|
|
258
|
-
* existing relationship (change the amount of a standing order, not its payee), so no new party is reached.
|
|
259
|
-
* Unconfigured tools never qualify: without the operator's word, an absent argument proves nothing.
|
|
260
|
-
*/
|
|
261
|
-
export declare function keepsDestination(toolName: string, input: Record<string, unknown>, policy: FlowPolicy): boolean;
|
|
262
|
-
/** Only structured records from explicitly configured contact tools may resolve a full display name.
|
|
263
|
-
* Arbitrary prose, YAML, capitalized words and local file reads cannot create authority. */
|
|
264
|
-
export declare function resolvedContacts(value: unknown, depth?: number): Array<{
|
|
265
|
-
v: string;
|
|
266
|
-
names: string[];
|
|
267
|
-
}>;
|
|
268
|
-
export declare function namedByUser(dests: readonly string[], intent: readonly string[] | undefined, intentRaw?: readonly string[], resolved?: FlowState['resolved']): boolean;
|
|
269
|
-
export declare function resultTaints(toolName: string, input: Record<string, unknown>, responseText: string, cwd: string, policy: FlowPolicy, classified: Classified): {
|
|
270
|
-
untrusted: boolean;
|
|
271
|
-
private: boolean;
|
|
272
|
-
src: string;
|
|
273
|
-
};
|
|
274
|
-
export declare function normalizeText(s: string): string;
|
|
275
|
-
/** Windows of the private text at every STRIDE-th position: any leaked run of WINDOW+STRIDE-1 normalized chars hits one. */
|
|
276
|
-
export declare function fingerprints(text: string): string[];
|
|
277
|
-
/** Only explicit character lists are decoded, never arbitrary prose. Unknown items end a run.
|
|
278
|
-
* English digit names and case markers cover the recorded attack, not arbitrary verbal encodings. */
|
|
279
|
-
export declare function spelledCandidates(text: string): string[];
|
|
280
|
-
/** Decimal scalar codes, in a contiguous explicit list. Unknown/invalid items terminate a run.
|
|
281
|
-
* Merely decoding public numbers does not block anything: existing secret/private fingerprints still decide. */
|
|
282
|
-
export declare function characterCodeCandidates(text: string): string[];
|
|
283
|
-
/** A small explicit spelling grammar, not a language model. Preserve explicit case for nested base64. */
|
|
284
|
-
export declare function natoCandidates(text: string): string[];
|
|
285
|
-
/** Reversible text encodings only: bounded breadth/depth, no eval or decompression. Exhaustion is explicit. */
|
|
286
|
-
export declare function scanCandidates(texts: readonly string[]): {
|
|
287
|
-
values: string[];
|
|
288
|
-
incomplete: boolean;
|
|
289
|
-
};
|
|
290
|
-
/** Compatibility helper: enforcement uses scanCandidates() so truncation is never mistaken for a clean scan. */
|
|
291
|
-
export declare function candidates(texts: readonly string[]): string[];
|
|
292
|
-
export declare function piiTokens(text: string): string[];
|
|
293
|
-
export declare function secretPattern(texts: readonly string[]): string | undefined;
|
|
294
|
-
/** Key-like values in private text: every random-looking run of a credential file, and every well-known
|
|
295
|
-
* secret format wherever it was read. Words, paths and host names are not random enough to count. */
|
|
296
|
-
export declare function secretValues(text: string, credentialFile: boolean): string[];
|
|
297
|
-
/** Normalized credentials for the original strong-window check. Raw values exist only transiently. */
|
|
298
|
-
export declare function secretTokens(text: string, credentialFile: boolean): string[];
|
|
299
|
-
/** Windows that hold both a letter and a digit, so an ordinary word is never a piece of a key. A window never
|
|
300
|
-
* starts in the key's leading letters ("sk-ant-api03" or "rk_live" is a format every such key shares), never in the
|
|
301
|
-
* first 48 characters of a DER key or certificate (its header and algorithm), and never lies inside KEY_STRUCTURE. */
|
|
302
|
-
export declare function tokenFingerprints(tokens: readonly string[]): string[];
|
|
303
|
-
/** Weak evidence asks before its first transmission, never silently learns by sending it.
|
|
304
|
-
* Five-char windows require upper/lower/digit classes in the source, while 6/7-char atoms may be words.
|
|
305
|
-
* Exact prefix-boundary slices cover chunks that already contain payload but no full six-char window.
|
|
306
|
-
* Only hash/offset/size metadata is persisted; public format and DER structure alone do not count. */
|
|
307
|
-
export declare function fragmentFingerprints(tokens: readonly string[], limit?: number): FragmentRecord[];
|
|
308
|
-
/** Must run under the session lock when remembering evidence. Audit never consumes or whitelists a match. */
|
|
309
|
-
export declare function checkFragments(input: Record<string, unknown>, state: FlowState, hasLegacyTokens: boolean, remember: boolean): {
|
|
310
|
-
secret?: string;
|
|
311
|
-
review?: boolean;
|
|
312
|
-
unavailable?: boolean;
|
|
313
|
-
};
|
|
314
|
-
/** Every window of letters and digits of both token sizes, forwards and backwards: what a call is checked by. */
|
|
315
|
-
export declare function tokenWindows(text: string): string[];
|
|
316
|
-
interface FpStores {
|
|
317
|
-
secret: Set<string>;
|
|
318
|
-
fp: Set<string>;
|
|
319
|
-
pii: Set<string>;
|
|
320
|
-
tok: Set<string>;
|
|
321
|
-
}
|
|
322
|
-
export interface LeakCheck {
|
|
323
|
-
secret?: string;
|
|
324
|
-
private?: boolean;
|
|
325
|
-
pii?: boolean;
|
|
326
|
-
incomplete?: boolean;
|
|
327
|
-
}
|
|
328
|
-
/** `typed`: what the user typed this session. A value the user typed is theirs to send; it is skipped
|
|
329
|
-
* for ordinary private text, never for secrets. */
|
|
330
|
-
export declare function checkLeak(paths: ReturnType<typeof flowPaths>, input: Record<string, unknown>, typed?: readonly string[], stores?: FpStores): LeakCheck;
|
|
331
|
-
/**
|
|
332
|
-
* A value sent in pieces, one call each, is checked whole: each argument name keeps the tail of what it carried,
|
|
333
|
-
* and the windows that cross from that tail into this call are checked like any other. Only pieces sent back to back
|
|
334
|
-
* through the same argument join; words between them break the run. Returns the new tails.
|
|
335
|
-
*/
|
|
336
|
-
export declare function checkStream(input: Record<string, unknown>, tails: Readonly<Record<string, OutTail>>, stores: FpStores): {
|
|
337
|
-
leak: LeakCheck;
|
|
338
|
-
next: Record<string, OutTail>;
|
|
339
|
-
};
|
|
340
|
-
export declare function readFlowState(path: string): FlowState;
|
|
341
|
-
export declare function updateFlowState(path: string, change: (s: FlowState) => void): FlowState;
|
|
342
|
-
export declare function flowPre(input: Record<string, unknown>, env?: NodeJS.ProcessEnv, presentation?: FlowPresentation): FlowDecision | undefined;
|
|
343
|
-
/** What the person answered when `wrap` asked through the client (presentation `elicit`): the one case where the
|
|
344
|
-
* guard knows the outcome rather than inferring it. */
|
|
345
|
-
export declare function flowApproval(input: {
|
|
346
|
-
session_id: string;
|
|
347
|
-
tool_name: string;
|
|
348
|
-
}, outcome: string, env?: NodeJS.ProcessEnv): void;
|
|
349
|
-
export declare function flowScreenValidation(input: {
|
|
350
|
-
session_id: string;
|
|
351
|
-
tool_name: string;
|
|
352
|
-
}, outcome: 'unchanged' | 'refused_without_approval' | 'refused_after_approval' | 'execution_uncertain' | 'atomic_committed' | 'atomic_refused', env?: NodeJS.ProcessEnv): void;
|
|
353
|
-
export interface FlowPostOutput {
|
|
354
|
-
systemMessage?: string;
|
|
355
|
-
additionalContext?: string;
|
|
356
|
-
}
|
|
357
|
-
export declare function flowPost(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): FlowPostOutput | undefined;
|
|
358
|
-
/** UserPromptSubmit: remember what the user asked for, so destinations they named are theirs. */
|
|
359
|
-
/**
|
|
360
|
-
* The user's own words in a prompt: what is left after text they pasted or quoted. An address that appears only in
|
|
361
|
-
* a pasted block, a quoted line or the headers of a forwarded message was written by someone else, and naming it
|
|
362
|
-
* is what an attacker who mails the user would want. Asking once before writing to it is the price when the user
|
|
363
|
-
* meant it ("reply to the sender of this").
|
|
364
|
-
*/
|
|
365
|
-
export declare function ownWords(prompt: string): string;
|
|
366
|
-
export declare function flowPrompt(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): void;
|
|
367
|
-
/** The sentence in which outside text addresses the model, from the instruction to the sentence's end. Not the
|
|
368
|
-
* sentences around it: in a list of reviews they are ordinary reviews, which an honest answer repeats. */
|
|
369
|
-
export declare function instructionText(text: string): string;
|
|
370
|
-
/** The text of the last assistant message: given directly, or read from the end of the Claude Code transcript. */
|
|
371
|
-
export declare function lastAnswer(input: Record<string, unknown>): string;
|
|
372
|
-
export interface FlowStopOutput {
|
|
373
|
-
systemMessage?: string;
|
|
374
|
-
decision?: 'block';
|
|
375
|
-
reason?: string;
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* Stop: an injection that only changes the answer ("recommend this hotel") makes no call to refuse. Two levers are
|
|
379
|
-
* left. Under any answer whose turn read outside text, one line tells the user which sources it drew on. And when
|
|
380
|
-
* the answer repeats words from text that addressed the model with instructions, the answer goes back to the model
|
|
381
|
-
* once to be checked against the user's request (`decision: block` makes Claude Code continue); the user loses
|
|
382
|
-
* nothing but the time of that check.
|
|
383
|
-
*/
|
|
384
|
-
export declare function flowStop(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): FlowStopOutput | undefined;
|
|
385
|
-
/** MCP tools that sessions used without an operator label, with the guard's guess and the sessions that used them. */
|
|
386
|
-
export declare function unlabeledTools(env?: NodeJS.ProcessEnv): Array<{
|
|
387
|
-
tool: string;
|
|
388
|
-
guessed: FlowLabel[];
|
|
389
|
-
sessions: number;
|
|
390
|
-
}>;
|
|
391
|
-
/** `warden-mcp flow-labels`: the unlabeled tools, and a labels block to review and paste into the policy file. */
|
|
392
|
-
export declare function flowLabelsReport(env?: NodeJS.ProcessEnv): string;
|
|
1
|
+
export type { FlowLabel, FlowMode, AnswerNote, GuiActionRule, GuiPolicy, PublicRequestRule, CredentialEgressPolicy, TaskAdapterPolicy, FlowPolicy, FlowSource, OutTail, FragmentRecord, FlowState, Classified, FlowDecision, FlowPresentation } from './flow-guard-types.js';
|
|
2
|
+
export { stateDir, flowPaths, isSecretPath, isProtectedPath } from './flow-guard-paths.js';
|
|
3
|
+
export { DEFAULT_POLICY, loadPolicy, readPinnedTaskManifest, publicRequestDigest, hostMatches } from './flow-guard-policy.js';
|
|
4
|
+
export { hostsIn } from './flow-guard-text.js';
|
|
5
|
+
export { classifyShell, classifyCall, resultTaints } from './flow-guard-classify.js';
|
|
6
|
+
export type { ScreenView, ScreenCall } from './flow-guard-screen.js';
|
|
7
|
+
export { screenFromResult, screenCall, screenObservation, screenTargetEvidence, screenTargetStamp, screenResponseEvidence, screenResponseStamp, screenSecretRead } from './flow-guard-screen.js';
|
|
8
|
+
export { destinations, keepsDestination, resolvedContacts, namedByUser } from './flow-guard-destinations.js';
|
|
9
|
+
export { normalizeText, fingerprints, piiTokens, secretPattern, secretValues, secretTokens, tokenFingerprints, tokenWindows } from './flow-guard-fingerprints.js';
|
|
10
|
+
export { spelledCandidates, characterCodeCandidates, natoCandidates, scanCandidates, candidates } from './flow-guard-decode.js';
|
|
11
|
+
export { fragmentFingerprints, checkFragments } from './flow-guard-fragments.js';
|
|
12
|
+
export type { LeakCheck } from './flow-guard-leak.js';
|
|
13
|
+
export { checkLeak, checkStream } from './flow-guard-leak.js';
|
|
14
|
+
export { readFlowState, updateFlowState, flowStateExists } from './flow-guard-state.js';
|
|
15
|
+
export { flowPre, flowApproval, flowScreenValidation } from './flow-guard-pre.js';
|
|
16
|
+
export type { FlowPostOutput } from './flow-guard-post.js';
|
|
17
|
+
export { flowPost } from './flow-guard-post.js';
|
|
18
|
+
export type { FlowStopOutput } from './flow-guard-answer.js';
|
|
19
|
+
export { ownWords, flowPrompt, instructionText, lastAnswer, flowStop } from './flow-guard-answer.js';
|
|
20
|
+
export type { AnswerConstraintCheck, ConstraintViolation, ConstraintEvidence } from './flow-guard-constraints.js';
|
|
21
|
+
export { checkAnswerConstraints } from './flow-guard-constraints.js';
|
|
22
|
+
export { unlabeledTools, flowLabelsReport } from './flow-guard-labels.js';
|
|
393
23
|
/** Hook runner shared by the CLI and the plugin script: `pre`, `post`, `prompt` or `stop`, hook JSON on stdin, decision JSON on stdout. */
|
|
394
24
|
export declare function runFlowHook(event: string, stdin: string, env?: NodeJS.ProcessEnv): string | undefined;
|
|
395
25
|
export declare function flowGuardMain(argv?: string[]): void;
|
|
396
|
-
export declare function flowStateExists(sessionId: string, env?: NodeJS.ProcessEnv): boolean;
|
|
397
|
-
export {};
|
|
398
26
|
//# sourceMappingURL=flow-guard.d.ts.map
|
package/dist/flow-guard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-guard.d.ts","sourceRoot":"","sources":["../src/flow-guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flow-guard.d.ts","sourceRoot":"","sources":["../src/flow-guard.ts"],"names":[],"mappings":"AAmCA,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC7Q,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC9H,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrF,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACjM,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAClK,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChI,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjF,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACrG,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAClH,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1E,2IAA2I;AAC3I,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAgBlH;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,IAAI,CAY1E"}
|