@aimarket/warden 0.20.0 → 0.22.0
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 +113 -0
- package/README-es.md +27 -11
- package/README-fr.md +27 -11
- package/README-ru.md +27 -11
- package/README-zh.md +27 -11
- package/README.md +27 -11
- 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/atomic-screen.d.ts +61 -0
- package/dist/atomic-screen.d.ts.map +1 -0
- package/dist/atomic-screen.js +165 -0
- package/dist/atomic-screen.js.map +1 -0
- package/dist/flow-guard-answer.d.ts +29 -0
- package/dist/flow-guard-answer.d.ts.map +1 -0
- package/dist/flow-guard-answer.js +201 -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-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 +121 -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 +154 -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 +20 -215
- package/dist/flow-guard.d.ts.map +1 -1
- package/dist/flow-guard.js +26 -1400
- package/dist/flow-guard.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-server.js +5 -0
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp-tools.d.ts.map +1 -1
- package/dist/mcp-tools.js +46 -9
- package/dist/mcp-tools.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 +36 -0
- package/dist/review-diff.d.ts.map +1 -1
- package/dist/review-diff.js +177 -7
- package/dist/review-diff.js.map +1 -1
- package/dist/task-adapter.d.ts +73 -0
- package/dist/task-adapter.d.ts.map +1 -0
- package/dist/task-adapter.js +379 -0
- package/dist/task-adapter.js.map +1 -0
- package/dist/task-cli.d.ts +3 -0
- package/dist/task-cli.d.ts.map +1 -0
- package/dist/task-cli.js +162 -0
- package/dist/task-cli.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/wrap-cli.d.ts +5 -0
- package/dist/wrap-cli.d.ts.map +1 -1
- package/dist/wrap-cli.js +29 -2
- package/dist/wrap-cli.js.map +1 -1
- package/dist/wrap-screen.d.ts +3 -0
- package/dist/wrap-screen.d.ts.map +1 -0
- package/dist/wrap-screen.js +20 -0
- package/dist/wrap-screen.js.map +1 -0
- package/dist/wrap-state.d.ts +8 -1
- package/dist/wrap-state.d.ts.map +1 -1
- package/dist/wrap-state.js +21 -4
- package/dist/wrap-state.js.map +1 -1
- package/dist/wrap.d.ts.map +1 -1
- package/dist/wrap.js +204 -10
- package/dist/wrap.js.map +1 -1
- package/docs/flow-guard-model-comparison-2026-10-25.es.md +82 -0
- package/docs/flow-guard-model-comparison-2026-10-25.fr.md +82 -0
- package/docs/flow-guard-model-comparison-2026-10-25.md +82 -0
- package/docs/flow-guard-model-comparison-2026-10-25.ru.md +82 -0
- package/docs/flow-guard-model-comparison-2026-10-25.zh.md +82 -0
- package/docs/flow-guard.es.md +307 -12
- package/docs/flow-guard.fr.md +307 -12
- package/docs/flow-guard.md +315 -13
- package/docs/flow-guard.ru.md +314 -13
- package/docs/flow-guard.zh.md +306 -8
- 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/docs/security-hardening.es.md +1 -1
- package/docs/security-hardening.fr.md +1 -1
- package/docs/security-hardening.md +1 -1
- package/docs/security-hardening.ru.md +1 -1
- package/docs/security-hardening.zh.md +1 -1
- package/examples/atomic-screen-server.mjs +42 -0
- package/native/macos/Package.swift +9 -0
- package/native/macos/Sources/WardenDesktop/NativeSurface.swift +246 -0
- package/native/macos/Sources/WardenDesktop/StandardIO.swift +139 -0
- package/native/macos/Sources/WardenDesktopHost/Main.swift +211 -0
- package/package.json +18 -6
- package/scripts/build-macos.mjs +22 -0
package/dist/flow-guard.d.ts
CHANGED
|
@@ -1,219 +1,24 @@
|
|
|
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
|
-
export interface FlowSource {
|
|
23
|
-
tool: string;
|
|
24
|
-
src: string;
|
|
25
|
-
at: string; /** The text addressed the model as if instructing it. */
|
|
26
|
-
hint?: boolean; /** The user's prompt count when it was read. */
|
|
27
|
-
turn?: number;
|
|
28
|
-
}
|
|
29
|
-
/** The last characters each argument sent out this session, so a value split over several calls is seen whole. */
|
|
30
|
-
export interface OutTail {
|
|
31
|
-
t: string;
|
|
32
|
-
a: string;
|
|
33
|
-
}
|
|
34
|
-
export interface FlowState {
|
|
35
|
-
v: 1;
|
|
36
|
-
untrusted: FlowSource[];
|
|
37
|
-
private: Array<FlowSource & {
|
|
38
|
-
secret: boolean;
|
|
39
|
-
}>;
|
|
40
|
-
notified: boolean;
|
|
41
|
-
/** Fingerprint store reached its cap: later private reads are not fingerprinted. */
|
|
42
|
-
full: boolean;
|
|
43
|
-
/** What the user typed this session (normalized, capped): a destination named here is the user's choice. */
|
|
44
|
-
intent?: string[];
|
|
45
|
-
/** The same, lower-cased with spacing kept, for whole-word matches of short names and numbers. */
|
|
46
|
-
intentRaw?: string[];
|
|
47
|
-
/** Addresses resolved by explicitly trusted contact tools, bound to full display names. */
|
|
48
|
-
resolved?: Array<{
|
|
49
|
-
v: string;
|
|
50
|
-
names: string[];
|
|
51
|
-
}>;
|
|
52
|
-
resolvedVersion?: 2;
|
|
53
|
-
/** Per argument name: the tail of what outbound calls carried after outside text (see OutTail). */
|
|
54
|
-
tails?: Record<string, OutTail>;
|
|
55
|
-
/** How many prompts the user has sent: the Stop hook names only outside text read in the latest turn. */
|
|
56
|
-
turn?: number;
|
|
57
|
-
/** MCP tools seen without an operator label, with the labels the guard guessed (`warden-mcp flow-labels`). */
|
|
58
|
-
unlabeled?: Record<string, FlowLabel[]>;
|
|
59
|
-
}
|
|
60
|
-
export interface Classified {
|
|
61
|
-
labels: Set<FlowLabel>;
|
|
62
|
-
/** Hosts named in the call (URLs, ssh/scp targets). */
|
|
63
|
-
hosts: string[];
|
|
64
|
-
/** For results: a short description of where the text came from. */
|
|
65
|
-
src: string;
|
|
66
|
-
/** Private read of a credential path. */
|
|
67
|
-
secret: boolean;
|
|
68
|
-
/** The call writes WARDEN's policy/state or Claude Code's hook/MCP settings. */
|
|
69
|
-
protectedTouch: boolean;
|
|
70
|
-
/** Shell code that is not a small literal read-only command. Destination exemptions never apply. */
|
|
71
|
-
opaqueShell?: boolean;
|
|
72
|
-
/** An MCP tool without an operator label: its labels are the guard's guess. */
|
|
73
|
-
guessed?: boolean;
|
|
74
|
-
}
|
|
75
|
-
export interface FlowDecision {
|
|
76
|
-
permissionDecision: 'ask' | 'deny';
|
|
77
|
-
permissionDecisionReason: string;
|
|
78
|
-
}
|
|
79
|
-
/** Set by the integration, never by tool arguments. A proxy cannot display an approval dialog itself; `elicit` is
|
|
80
|
-
* `wrap` asking through the client's own form (MCP elicitation), whose answer it records with flowApproval. */
|
|
81
|
-
export type FlowPresentation = 'hook' | 'refuse' | 'audit' | 'elicit';
|
|
82
|
-
export declare const DEFAULT_POLICY: FlowPolicy;
|
|
83
|
-
export declare function stateDir(env?: NodeJS.ProcessEnv): string;
|
|
84
|
-
export declare function flowPaths(dir: string, sessionId: string): {
|
|
85
|
-
dir: string;
|
|
86
|
-
state: string;
|
|
87
|
-
fp: string;
|
|
88
|
-
secret: string;
|
|
89
|
-
pii: string;
|
|
90
|
-
tok: string;
|
|
91
|
-
hint: string;
|
|
92
|
-
log: string;
|
|
93
|
-
};
|
|
94
|
-
export declare function isSecretPath(path: string): boolean;
|
|
95
|
-
/** Files that, if the agent could change them, would let it switch the guard off. */
|
|
96
|
-
export declare function isProtectedPath(path: string, cwd: string, env?: NodeJS.ProcessEnv): boolean;
|
|
97
|
-
/** User-level policy only (`<state dir>/flow-policy.json`): a project file is something the agent can edit. */
|
|
98
|
-
export declare function loadPolicy(env?: NodeJS.ProcessEnv): FlowPolicy;
|
|
99
|
-
export declare function hostMatches(host: string, patterns: readonly string[]): boolean;
|
|
100
|
-
export declare function hostsIn(texts: readonly string[]): string[];
|
|
101
|
-
export declare function classifyShell(command: string): {
|
|
102
|
-
labels: Set<FlowLabel>;
|
|
103
|
-
hosts: string[];
|
|
104
|
-
local: boolean;
|
|
105
|
-
};
|
|
106
|
-
export declare function classifyCall(toolName: string, input: Record<string, unknown>, cwd: string, policy: FlowPolicy, env?: NodeJS.ProcessEnv): Classified;
|
|
107
|
-
export declare function destinations(toolName: string, input: Record<string, unknown>, policy: FlowPolicy, hosts: readonly string[]): string[];
|
|
108
|
-
/**
|
|
109
|
-
* The operator named this tool's destination arguments and the call sets none of them: it acts on an
|
|
110
|
-
* existing relationship (change the amount of a standing order, not its payee), so no new party is reached.
|
|
111
|
-
* Unconfigured tools never qualify: without the operator's word, an absent argument proves nothing.
|
|
112
|
-
*/
|
|
113
|
-
export declare function keepsDestination(toolName: string, input: Record<string, unknown>, policy: FlowPolicy): boolean;
|
|
114
|
-
/** Only structured records from explicitly configured contact tools may resolve a full display name.
|
|
115
|
-
* Arbitrary prose, YAML, capitalized words and local file reads cannot create authority. */
|
|
116
|
-
export declare function resolvedContacts(value: unknown, depth?: number): Array<{
|
|
117
|
-
v: string;
|
|
118
|
-
names: string[];
|
|
119
|
-
}>;
|
|
120
|
-
export declare function namedByUser(dests: readonly string[], intent: readonly string[] | undefined, intentRaw?: readonly string[], resolved?: FlowState['resolved']): boolean;
|
|
121
|
-
export declare function resultTaints(toolName: string, input: Record<string, unknown>, responseText: string, cwd: string, policy: FlowPolicy, classified: Classified): {
|
|
122
|
-
untrusted: boolean;
|
|
123
|
-
private: boolean;
|
|
124
|
-
src: string;
|
|
125
|
-
};
|
|
126
|
-
export declare function normalizeText(s: string): string;
|
|
127
|
-
/** Windows of the private text at every STRIDE-th position: any leaked run of WINDOW+STRIDE-1 normalized chars hits one. */
|
|
128
|
-
export declare function fingerprints(text: string): string[];
|
|
129
|
-
/** The texts an outbound call could be carrying: raw, URL-decoded, and base64/hex runs decoded. */
|
|
130
|
-
export declare function candidates(texts: readonly string[]): string[];
|
|
131
|
-
export declare function piiTokens(text: string): string[];
|
|
132
|
-
export declare function secretPattern(texts: readonly string[]): string | undefined;
|
|
133
|
-
/** Key-like values in private text: every random-looking run of a credential file, and every well-known
|
|
134
|
-
* secret format wherever it was read. Words, paths and host names are not random enough to count. */
|
|
135
|
-
export declare function secretTokens(text: string, credentialFile: boolean): string[];
|
|
136
|
-
/** Windows that hold both a letter and a digit, so an ordinary word is never a piece of a key. A window never
|
|
137
|
-
* starts in the key's leading letters ("sk-ant-api03" or "rk_live" is a format every such key shares), never in the
|
|
138
|
-
* first 48 characters of a DER key or certificate (its header and algorithm), and never lies inside KEY_STRUCTURE. */
|
|
139
|
-
export declare function tokenFingerprints(tokens: readonly string[]): string[];
|
|
140
|
-
/** Every window of letters and digits of both token sizes, forwards and backwards: what a call is checked by. */
|
|
141
|
-
export declare function tokenWindows(text: string): string[];
|
|
142
|
-
interface FpStores {
|
|
143
|
-
secret: Set<string>;
|
|
144
|
-
fp: Set<string>;
|
|
145
|
-
pii: Set<string>;
|
|
146
|
-
tok: Set<string>;
|
|
147
|
-
}
|
|
148
|
-
export interface LeakCheck {
|
|
149
|
-
secret?: string;
|
|
150
|
-
private?: boolean;
|
|
151
|
-
pii?: boolean;
|
|
152
|
-
}
|
|
153
|
-
/** `typed`: what the user typed this session. A value the user typed is theirs to send; it is skipped
|
|
154
|
-
* for ordinary private text, never for secrets. */
|
|
155
|
-
export declare function checkLeak(paths: ReturnType<typeof flowPaths>, input: Record<string, unknown>, typed?: readonly string[], stores?: FpStores): LeakCheck;
|
|
156
|
-
/**
|
|
157
|
-
* A value sent in pieces, one call each, is checked whole: each argument name keeps the tail of what it carried,
|
|
158
|
-
* and the windows that cross from that tail into this call are checked like any other. Only pieces sent back to back
|
|
159
|
-
* through the same argument join; words between them break the run. Returns the new tails.
|
|
160
|
-
*/
|
|
161
|
-
export declare function checkStream(input: Record<string, unknown>, tails: Readonly<Record<string, OutTail>>, stores: FpStores): {
|
|
162
|
-
leak: LeakCheck;
|
|
163
|
-
next: Record<string, OutTail>;
|
|
164
|
-
};
|
|
165
|
-
export declare function readFlowState(path: string): FlowState;
|
|
166
|
-
export declare function updateFlowState(path: string, change: (s: FlowState) => void): FlowState;
|
|
167
|
-
export declare function flowPre(input: Record<string, unknown>, env?: NodeJS.ProcessEnv, presentation?: FlowPresentation): FlowDecision | undefined;
|
|
168
|
-
/** What the person answered when `wrap` asked through the client (presentation `elicit`): the one case where the
|
|
169
|
-
* guard knows the outcome rather than inferring it. */
|
|
170
|
-
export declare function flowApproval(input: {
|
|
171
|
-
session_id: string;
|
|
172
|
-
tool_name: string;
|
|
173
|
-
}, outcome: string, env?: NodeJS.ProcessEnv): void;
|
|
174
|
-
export interface FlowPostOutput {
|
|
175
|
-
systemMessage?: string;
|
|
176
|
-
additionalContext?: string;
|
|
177
|
-
}
|
|
178
|
-
export declare function flowPost(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): FlowPostOutput | undefined;
|
|
179
|
-
/** UserPromptSubmit: remember what the user asked for, so destinations they named are theirs. */
|
|
180
|
-
/**
|
|
181
|
-
* The user's own words in a prompt: what is left after text they pasted or quoted. An address that appears only in
|
|
182
|
-
* a pasted block, a quoted line or the headers of a forwarded message was written by someone else, and naming it
|
|
183
|
-
* is what an attacker who mails the user would want. Asking once before writing to it is the price when the user
|
|
184
|
-
* meant it ("reply to the sender of this").
|
|
185
|
-
*/
|
|
186
|
-
export declare function ownWords(prompt: string): string;
|
|
187
|
-
export declare function flowPrompt(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): void;
|
|
188
|
-
/** The sentence in which outside text addresses the model, from the instruction to the sentence's end. Not the
|
|
189
|
-
* sentences around it: in a list of reviews they are ordinary reviews, which an honest answer repeats. */
|
|
190
|
-
export declare function instructionText(text: string): string;
|
|
191
|
-
/** The text of the last assistant message: given directly, or read from the end of the Claude Code transcript. */
|
|
192
|
-
export declare function lastAnswer(input: Record<string, unknown>): string;
|
|
193
|
-
export interface FlowStopOutput {
|
|
194
|
-
systemMessage?: string;
|
|
195
|
-
decision?: 'block';
|
|
196
|
-
reason?: string;
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Stop: an injection that only changes the answer ("recommend this hotel") makes no call to refuse. Two levers are
|
|
200
|
-
* left. Under any answer whose turn read outside text, one line tells the user which sources it drew on. And when
|
|
201
|
-
* the answer repeats words from text that addressed the model with instructions, the answer goes back to the model
|
|
202
|
-
* once to be checked against the user's request (`decision: block` makes Claude Code continue); the user loses
|
|
203
|
-
* nothing but the time of that check.
|
|
204
|
-
*/
|
|
205
|
-
export declare function flowStop(input: Record<string, unknown>, env?: NodeJS.ProcessEnv): FlowStopOutput | undefined;
|
|
206
|
-
/** MCP tools that sessions used without an operator label, with the guard's guess and the sessions that used them. */
|
|
207
|
-
export declare function unlabeledTools(env?: NodeJS.ProcessEnv): Array<{
|
|
208
|
-
tool: string;
|
|
209
|
-
guessed: FlowLabel[];
|
|
210
|
-
sessions: number;
|
|
211
|
-
}>;
|
|
212
|
-
/** `warden-mcp flow-labels`: the unlabeled tools, and a labels block to review and paste into the policy file. */
|
|
213
|
-
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 { unlabeledTools, flowLabelsReport } from './flow-guard-labels.js';
|
|
214
21
|
/** Hook runner shared by the CLI and the plugin script: `pre`, `post`, `prompt` or `stop`, hook JSON on stdin, decision JSON on stdout. */
|
|
215
22
|
export declare function runFlowHook(event: string, stdin: string, env?: NodeJS.ProcessEnv): string | undefined;
|
|
216
23
|
export declare function flowGuardMain(argv?: string[]): void;
|
|
217
|
-
export declare function flowStateExists(sessionId: string, env?: NodeJS.ProcessEnv): boolean;
|
|
218
|
-
export {};
|
|
219
24
|
//# 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":"
|
|
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,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"}
|