@aimarket/warden 0.22.4 → 0.23.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README-es.md +8 -8
  3. package/README-fr.md +8 -8
  4. package/README-ru.md +8 -8
  5. package/README-zh.md +8 -8
  6. package/README.md +18 -10
  7. package/dist/flow-guard-fingerprints.d.ts +4 -0
  8. package/dist/flow-guard-fingerprints.d.ts.map +1 -1
  9. package/dist/flow-guard-fingerprints.js +17 -1
  10. package/dist/flow-guard-fingerprints.js.map +1 -1
  11. package/dist/flow-guard-paths.d.ts.map +1 -1
  12. package/dist/flow-guard-paths.js +4 -1
  13. package/dist/flow-guard-paths.js.map +1 -1
  14. package/dist/flow-guard-post.js +2 -2
  15. package/dist/flow-guard-post.js.map +1 -1
  16. package/dist/flow-guard-pre.d.ts +8 -1
  17. package/dist/flow-guard-pre.d.ts.map +1 -1
  18. package/dist/flow-guard-pre.js +5 -1
  19. package/dist/flow-guard-pre.js.map +1 -1
  20. package/dist/flow-guard.d.ts +2 -1
  21. package/dist/flow-guard.d.ts.map +1 -1
  22. package/dist/flow-guard.js +1 -1
  23. package/dist/flow-guard.js.map +1 -1
  24. package/dist/opencode-plugin.d.ts +41 -0
  25. package/dist/opencode-plugin.d.ts.map +1 -0
  26. package/dist/opencode-plugin.js +230 -0
  27. package/dist/opencode-plugin.js.map +1 -0
  28. package/docs/flow-guard.es.md +1 -1
  29. package/docs/flow-guard.fr.md +1 -1
  30. package/docs/flow-guard.md +1 -1
  31. package/docs/flow-guard.ru.md +1 -1
  32. package/docs/flow-guard.zh.md +1 -1
  33. package/docs/gates.md +1 -1
  34. package/docs/opencode.md +121 -0
  35. package/docs/scan.es.md +2 -2
  36. package/docs/scan.fr.md +2 -2
  37. package/docs/scan.md +2 -2
  38. package/docs/scan.ru.md +2 -2
  39. package/docs/scan.zh.md +2 -2
  40. package/opencode-plugin/warden.js +10 -0
  41. package/package.json +9 -2
@@ -1 +1 @@
1
- {"version":3,"file":"flow-guard-post.js","sourceRoot":"","sources":["../src/flow-guard-post.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-guard-post.js","sourceRoot":"","sources":["../src/flow-guard-post.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,12 @@
1
1
  import type { FlowDecision, FlowPresentation } from './flow-guard-types.js';
2
- export declare function flowPre(input: Record<string, unknown>, env?: NodeJS.ProcessEnv, presentation?: FlowPresentation): FlowDecision | undefined;
2
+ export type FlowReason = 'protected_settings' | 'secret' | 'opaque_shell' | 'personal_data' | 'private_text' | 'unnamed_destination' | 'destructive_action' | 'secret_to_file' | 'paste_after_secret' | 'screen_action' | 'secret_tracking' | 'secret_fragment' | 'credential_egress' | 'payload_incomplete';
3
+ /** What `flowPre` decided and why, for an adapter that must resolve an `ask` without a person (the OpenCode plugin).
4
+ * Filled only when a decision is returned; the decision itself, and the hook output built from it, are unchanged. */
5
+ export interface FlowPreDetail {
6
+ reason?: FlowReason;
7
+ sensitive?: boolean;
8
+ }
9
+ export declare function flowPre(input: Record<string, unknown>, env?: NodeJS.ProcessEnv, presentation?: FlowPresentation, detail?: FlowPreDetail): FlowDecision | undefined;
3
10
  /** What the person answered when `wrap` asked through the client (presentation `elicit`): the one case where the
4
11
  * guard knows the outcome rather than inferring it. */
5
12
  export declare function flowApproval(input: {
@@ -1 +1 @@
1
- {"version":3,"file":"flow-guard-pre.d.ts","sourceRoot":"","sources":["../src/flow-guard-pre.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAc,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AA2FnG,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,YAAY,GAAE,gBAAyB,GAAG,YAAY,GAAG,SAAS,CAkL/J;AAED;wDACwD;AACxD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAG1I;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,WAAW,GAAG,0BAA0B,GAAG,wBAAwB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,gBAAgB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAE/Q"}
1
+ {"version":3,"file":"flow-guard-pre.d.ts","sourceRoot":"","sources":["../src/flow-guard-pre.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAc,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AAanG,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,qBAAqB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AA8E7S;sHACsH;AACtH,MAAM,WAAW,aAAa;IAAG,MAAM,CAAC,EAAE,UAAU,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE;AAE3E,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,YAAY,GAAE,gBAAyB,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,SAAS,CAmLvL;AAED;wDACwD;AACxD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAG1I;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,WAAW,GAAG,0BAA0B,GAAG,wBAAwB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,gBAAgB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAE/Q"}
@@ -118,7 +118,7 @@ function reservePublicRequest(paths, tool, input, checked, policy, env) {
118
118
  });
119
119
  return grant;
120
120
  }
121
- export function flowPre(input, env = process.env, presentation = 'hook') {
121
+ export function flowPre(input, env = process.env, presentation = 'hook', detail) {
122
122
  const policy = loadPolicy(env);
123
123
  if (policy.mode === 'off')
124
124
  return undefined;
@@ -309,6 +309,10 @@ export function flowPre(input, env = process.env, presentation = 'hook') {
309
309
  targets = targets.startsWith('not identified') ? note : `${note}; ${targets}`;
310
310
  }
311
311
  decision.permissionDecisionReason = `Action: ${safeToolName(toolName)}. Targets: ${targets}.\n${decision.permissionDecisionReason}`;
312
+ if (detail) {
313
+ detail.reason = reason;
314
+ detail.sensitive = sensitivePayload;
315
+ }
312
316
  // These are guard decisions, not proof a dialog was shown or a human clicked it. Never infer
313
317
  // approval from PostToolUse: execution can also follow automatic client permissions.
314
318
  const disposition = policy.mode === 'audit' || presentation === 'audit' ? 'audit_only'
@@ -1 +1 @@
1
- {"version":3,"file":"flow-guard-pre.js","sourceRoot":"","sources":["../src/flow-guard-pre.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-guard-pre.js","sourceRoot":"","sources":["../src/flow-guard-pre.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,14 @@ export { classifyShell, classifyCall, resultTaints } from './flow-guard-classify
6
6
  export type { ScreenView, ScreenCall } from './flow-guard-screen.js';
7
7
  export { screenFromResult, screenCall, screenObservation, screenTargetEvidence, screenTargetStamp, screenResponseEvidence, screenResponseStamp, screenSecretRead } from './flow-guard-screen.js';
8
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';
9
+ export { normalizeText, fingerprints, withoutRecordIds, piiTokens, secretPattern, secretValues, secretTokens, tokenFingerprints, tokenWindows } from './flow-guard-fingerprints.js';
10
10
  export { spelledCandidates, characterCodeCandidates, natoCandidates, scanCandidates, candidates } from './flow-guard-decode.js';
11
11
  export { fragmentFingerprints, checkFragments } from './flow-guard-fragments.js';
12
12
  export type { LeakCheck } from './flow-guard-leak.js';
13
13
  export { checkLeak, checkStream } from './flow-guard-leak.js';
14
14
  export { readFlowState, updateFlowState, flowStateExists } from './flow-guard-state.js';
15
15
  export { flowPre, flowApproval, flowScreenValidation } from './flow-guard-pre.js';
16
+ export type { FlowPreDetail, FlowReason } from './flow-guard-pre.js';
16
17
  export type { FlowPostOutput } from './flow-guard-post.js';
17
18
  export { flowPost } from './flow-guard-post.js';
18
19
  export type { FlowStopOutput } from './flow-guard-answer.js';
@@ -1 +1 @@
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"}
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,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACpL,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,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACrE,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"}
@@ -38,7 +38,7 @@ export { hostsIn } from './flow-guard-text.js';
38
38
  export { classifyShell, classifyCall, resultTaints } from './flow-guard-classify.js';
39
39
  export { screenFromResult, screenCall, screenObservation, screenTargetEvidence, screenTargetStamp, screenResponseEvidence, screenResponseStamp, screenSecretRead } from './flow-guard-screen.js';
40
40
  export { destinations, keepsDestination, resolvedContacts, namedByUser } from './flow-guard-destinations.js';
41
- export { normalizeText, fingerprints, piiTokens, secretPattern, secretValues, secretTokens, tokenFingerprints, tokenWindows } from './flow-guard-fingerprints.js';
41
+ export { normalizeText, fingerprints, withoutRecordIds, piiTokens, secretPattern, secretValues, secretTokens, tokenFingerprints, tokenWindows } from './flow-guard-fingerprints.js';
42
42
  export { spelledCandidates, characterCodeCandidates, natoCandidates, scanCandidates, candidates } from './flow-guard-decode.js';
43
43
  export { fragmentFingerprints, checkFragments } from './flow-guard-fragments.js';
44
44
  export { checkLeak, checkStream } from './flow-guard-leak.js';
@@ -1 +1 @@
1
- {"version":3,"file":"flow-guard.js","sourceRoot":"","sources":["../src/flow-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-guard.js","sourceRoot":"","sources":["../src/flow-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { FlowPreDetail } from './flow-guard-pre.js';
2
+ export type OpenCodeBlockMode = 'data' | 'all';
3
+ export interface OpenCodeGuardOptions {
4
+ /** Which decisions refuse the call: see the module comment. Env `WARDEN_OPENCODE_BLOCK`. */
5
+ block?: OpenCodeBlockMode;
6
+ /** MCP server names as configured in OpenCode; tools are named `<server>_<tool>`. Read from the config hook too. */
7
+ mcpServers?: string[];
8
+ /** Environment variables blanked for shell commands. Env `WARDEN_OPENCODE_STRIP_ENV` (comma-separated). */
9
+ stripEnv?: string[];
10
+ env?: NodeJS.ProcessEnv;
11
+ }
12
+ export interface GuardCall {
13
+ name: string;
14
+ input: Record<string, unknown>;
15
+ }
16
+ /** File paths an apply_patch text adds, updates, moves or deletes. */
17
+ export declare function patchFiles(patch: string): string[];
18
+ /** One OpenCode call as the guard's vocabulary: zero, one or (for a multi-file patch) several calls. */
19
+ export declare function guardCalls(tool: string, rawArgs: unknown, mcpServers: readonly string[]): GuardCall[];
20
+ /** Whether an unattended run must refuse this decision. */
21
+ export declare function refuses(decision: {
22
+ permissionDecision: 'ask' | 'deny';
23
+ }, detail: FlowPreDetail, block: OpenCodeBlockMode): boolean;
24
+ type Hooks = Record<string, (input: any, output: any) => Promise<void>>;
25
+ interface SessionClient {
26
+ session?: {
27
+ get?: (req: {
28
+ path: {
29
+ id: string;
30
+ };
31
+ }) => Promise<unknown>;
32
+ };
33
+ }
34
+ /** The plugin function OpenCode calls with its context. Export exactly this from a file in OpenCode's plugin folder. */
35
+ export declare function createWardenPlugin(options?: OpenCodeGuardOptions): (ctx?: {
36
+ directory?: string;
37
+ worktree?: string;
38
+ client?: SessionClient;
39
+ }) => Promise<Hooks>;
40
+ export {};
41
+ //# sourceMappingURL=opencode-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-plugin.d.ts","sourceRoot":"","sources":["../src/opencode-plugin.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,qBAAqB,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,KAAK,CAAC;AAE/C,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,oHAAoH;IACpH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAUD,MAAM,WAAW,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE;AAU3E,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAIlD;AAED,wGAAwG;AACxG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,CA8BrG;AAED,2DAA2D;AAC3D,wBAAgB,OAAO,CAAC,QAAQ,EAAE;IAAE,kBAAkB,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAGlI;AAgBD,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAExE,UAAU,aAAa;IAAG,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE;YAAE,IAAI,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE;AAInG,wHAAwH;AACxH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,oBAAyB,UAChD;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,KAAQ,OAAO,CAAC,KAAK,CAAC,CA4F3G"}
@@ -0,0 +1,230 @@
1
+ /**
2
+ * WARDEN flow guard for OpenCode (https://opencode.ai): the checks of the Claude Code plugin, through OpenCode's
3
+ * plugin hooks, for agents that often run with no person at the keyboard (Multica, CI, cron).
4
+ *
5
+ * - `tool.execute.before` maps the call to the Claude Code tool vocabulary the guard classifies (bash → Bash,
6
+ * read → Read, `<server>_<tool>` → mcp__<server>__<tool>, …) and runs `flowPre`. A refused call throws: OpenCode
7
+ * does not run the tool and the model reads the reason.
8
+ * - `tool.execute.after` runs `flowPost`, which records outside text, private data and credentials the result
9
+ * brought in. Its warning to the model is appended to the result.
10
+ * - `chat.message` runs `flowPrompt`: destinations the user's own message names.
11
+ * - `shell.env` blanks secrets a shell command does not need (`stripEnv`), so an injected `env` or `printenv`
12
+ * cannot read the model provider's key or a hub key that only the OpenCode process itself uses.
13
+ * - A subagent (`task`) runs in a child session. The guard keeps ONE state per session tree, keyed by the root:
14
+ * a fresh child would otherwise start untainted, and an injected parent could hand it the read-and-send. Parents
15
+ * come from `session.created`/`session.updated` events, else from the SDK client. A child's prompt is written by
16
+ * the parent model, so it is not recorded as the user's words.
17
+ * - If recording a result fails, every later call of that session tree is refused: an unrecorded result may be the
18
+ * outside text or credential the next decision depends on.
19
+ *
20
+ * Where the Claude Code hook would ask a person, nobody may be there. `block` decides:
21
+ * - `data` (default): refuse what involves data — a known secret, a credential boundary, private text or personal
22
+ * data in the arguments, a short credential fragment, an incomplete payload check, a change to the guard's own
23
+ * settings — and every decision whose payload is sensitive, whatever the first reason. Calls that only act after
24
+ * outside text (opaque shell code, an unnamed destination, a destructive command, a GUI action) run and are
25
+ * logged: an unattended agent's work is reading outside text and then reporting, and a network allowlist or a
26
+ * sandbox has to bound where it can act.
27
+ * - `all`: refuse everything the Claude Code hook would ask about. Safe and noisy; most agents stop on their first
28
+ * shell command after reading a web page.
29
+ *
30
+ * Node built-ins and flow-guard parts only, so the compiled files can be copied next to an OpenCode config.
31
+ */
32
+ import { flowPaths, stateDir } from './flow-guard-paths.js';
33
+ import { flowPost } from './flow-guard-post.js';
34
+ import { flowPrompt } from './flow-guard-answer.js';
35
+ import { flowPre } from './flow-guard-pre.js';
36
+ import { log } from './flow-guard-state.js';
37
+ /** Reasons that are about data, never only about an action. */
38
+ const DATA_REASONS = new Set(['protected_settings', 'secret', 'secret_fragment',
39
+ 'paste_after_secret', 'payload_incomplete', 'secret_tracking', 'personal_data', 'private_text', 'credential_egress',
40
+ 'secret_to_file']);
41
+ /** Tools that only change OpenCode's own session state. */
42
+ const IGNORED = new Set(['todowrite', 'todoread', 'question', 'skill', 'invalid']);
43
+ function obj(v) {
44
+ return v && typeof v === 'object' && !Array.isArray(v) ? v : {};
45
+ }
46
+ function str(v) {
47
+ return typeof v === 'string' ? v : undefined;
48
+ }
49
+ /** File paths an apply_patch text adds, updates, moves or deletes. */
50
+ export function patchFiles(patch) {
51
+ const out = [];
52
+ for (const m of patch.matchAll(/^\*\*\* (?:Add|Update|Delete) File: (.+)$|^\*\*\* Move to: (.+)$/gm))
53
+ out.push((m[1] ?? m[2]).trim());
54
+ return [...new Set(out)];
55
+ }
56
+ /** One OpenCode call as the guard's vocabulary: zero, one or (for a multi-file patch) several calls. */
57
+ export function guardCalls(tool, rawArgs, mcpServers) {
58
+ const a = obj(rawArgs);
59
+ const t = tool.toLowerCase();
60
+ if (IGNORED.has(t))
61
+ return [];
62
+ const file = str(a.filePath) ?? str(a.file_path) ?? str(a.path);
63
+ switch (t) {
64
+ case 'bash': return [{ name: 'Bash', input: { command: str(a.command) ?? '' } }];
65
+ case 'read': return [{ name: 'Read', input: file ? { file_path: file } : {} }];
66
+ case 'write': return [{ name: 'Write', input: { file_path: file ?? '', content: a.content } }];
67
+ case 'edit': return [{ name: 'Edit', input: { file_path: file ?? '', old_string: a.oldString, new_string: a.newString } }];
68
+ case 'multiedit': return [{ name: 'MultiEdit', input: { file_path: file ?? '',
69
+ edits: Array.isArray(a.edits) ? a.edits.map(e => ({ old_string: obj(e).oldString, new_string: obj(e).newString })) : [] } }];
70
+ case 'patch':
71
+ case 'apply_patch': {
72
+ const text = str(a.patchText) ?? str(a.patch) ?? str(a.input) ?? '';
73
+ const files = patchFiles(text);
74
+ // An unparsable patch is still a write of its whole text somewhere.
75
+ return (files.length ? files : ['']).map(f => ({ name: 'Write', input: { file_path: f, content: text } }));
76
+ }
77
+ case 'webfetch': return [{ name: 'WebFetch', input: { url: str(a.url) ?? '' } }];
78
+ case 'websearch':
79
+ case 'codesearch': return [{ name: 'WebSearch', input: { query: str(a.query) ?? '' } }];
80
+ case 'grep': return [{ name: 'Grep', input: { pattern: a.pattern, ...(str(a.path) ? { path: a.path } : {}) } }];
81
+ case 'glob': return [{ name: 'Glob', input: { pattern: a.pattern, ...(str(a.path) ? { path: a.path } : {}) } }];
82
+ case 'list':
83
+ case 'ls': return [{ name: 'LS', input: str(a.path) ? { path: a.path } : {} }];
84
+ }
85
+ // MCP tools are `<server>_<tool>`; the longest configured server name wins (names may contain `_`).
86
+ const server = [...mcpServers].sort((x, y) => y.length - x.length).find(s => tool.startsWith(`${s}_`) && tool.length > s.length + 1);
87
+ if (server)
88
+ return [{ name: `mcp__${server}__${tool.slice(server.length + 1)}`, input: a }];
89
+ // Anything else (a subagent `task`, another plugin's tool) is treated like an unlabelled MCP tool: its result is
90
+ // outside text, and it sends when its name or arguments say so.
91
+ return [{ name: `mcp__opencode__${tool}`, input: a }];
92
+ }
93
+ /** Whether an unattended run must refuse this decision. */
94
+ export function refuses(decision, detail, block) {
95
+ if (decision.permissionDecision === 'deny' || block === 'all')
96
+ return true;
97
+ return !!detail.sensitive || (detail.reason !== undefined && DATA_REASONS.has(detail.reason));
98
+ }
99
+ function list(v) {
100
+ return (v ?? '').split(',').map(s => s.trim()).filter(Boolean);
101
+ }
102
+ function textOf(parts) {
103
+ return (Array.isArray(parts) ? parts : []).map(p => obj(p)).filter(p => p.type === 'text' && typeof p.text === 'string' && !p.synthetic)
104
+ .map(p => p.text).join('\n');
105
+ }
106
+ /** The adapter's resolution of a decision, next to the guard's own log line for the same call. */
107
+ function note(env, sessionId, entry) {
108
+ log(flowPaths(stateDir(env), sessionId), { event: 'opencode', ...entry });
109
+ }
110
+ const MAX_DEPTH = 16;
111
+ /** The plugin function OpenCode calls with its context. Export exactly this from a file in OpenCode's plugin folder. */
112
+ export function createWardenPlugin(options = {}) {
113
+ return async (ctx = {}) => {
114
+ const env = options.env ?? process.env;
115
+ const blockEnv = env.WARDEN_OPENCODE_BLOCK === 'all' || env.WARDEN_OPENCODE_BLOCK === 'data' ? env.WARDEN_OPENCODE_BLOCK : undefined;
116
+ const block = options.block ?? blockEnv ?? 'data';
117
+ const servers = new Set(options.mcpServers ?? []);
118
+ const strip = [...new Set([...(options.stripEnv ?? []), ...list(env.WARDEN_OPENCODE_STRIP_ENV)])];
119
+ // The session's directory, never a model-chosen `workdir`: it only steers path classification, and the agent
120
+ // must not pick the frame its own calls are judged in.
121
+ const cwd = ctx.directory ?? ctx.worktree ?? process.cwd();
122
+ const parentOf = new Map();
123
+ const looked = new Set();
124
+ const broken = new Set();
125
+ const learn = (info) => {
126
+ const i = obj(info), id = str(i.id), parent = str(i.parentID);
127
+ if (id) {
128
+ looked.add(id);
129
+ if (parent && parent !== id)
130
+ parentOf.set(id, parent);
131
+ }
132
+ };
133
+ const parentFromClient = async (id) => {
134
+ if (looked.has(id))
135
+ return;
136
+ looked.add(id);
137
+ try {
138
+ const res = obj(await ctx.client?.session?.get?.({ path: { id } }));
139
+ learn(res.data ?? res);
140
+ }
141
+ catch { /* unknown parent: the session is its own root */ }
142
+ };
143
+ const rootOf = async (id) => {
144
+ let cur = id;
145
+ for (let i = 0; i < MAX_DEPTH; i++) {
146
+ await parentFromClient(cur);
147
+ const parent = parentOf.get(cur);
148
+ if (!parent)
149
+ break;
150
+ cur = parent;
151
+ }
152
+ return cur;
153
+ };
154
+ return {
155
+ event: async (input) => {
156
+ const e = obj(input?.event);
157
+ if (e.type === 'session.created' || e.type === 'session.updated')
158
+ learn(obj(e.properties).info);
159
+ },
160
+ config: async (config) => {
161
+ for (const name of Object.keys(obj(obj(config).mcp)))
162
+ servers.add(name);
163
+ },
164
+ 'chat.message': async (input, output) => {
165
+ const prompt = textOf(output?.parts), sessionId = str(input?.sessionID);
166
+ if (!sessionId || !prompt)
167
+ return;
168
+ // A subagent's prompt comes from the parent model, which may carry outside text: not the user's words.
169
+ if (await rootOf(sessionId) !== sessionId)
170
+ return;
171
+ flowPrompt({ session_id: sessionId, prompt, cwd }, env);
172
+ },
173
+ 'tool.execute.before': async (input, output) => {
174
+ const tool = str(input?.tool), session = str(input?.sessionID);
175
+ if (!tool || !session)
176
+ return;
177
+ const sessionId = await rootOf(session);
178
+ if (broken.has(sessionId)) {
179
+ throw new Error('WARDEN flow guard could not record an earlier result of this session, so it cannot judge this call. Refused; start a new session.');
180
+ }
181
+ for (const call of guardCalls(tool, output?.args, [...servers])) {
182
+ const detail = {};
183
+ // A guard failure must not let the call through: flowPre's own corrupt-state errors refuse here.
184
+ let decision;
185
+ try {
186
+ decision = flowPre({ session_id: sessionId, tool_name: call.name, tool_input: call.input, cwd }, env, 'hook', detail);
187
+ }
188
+ catch (err) {
189
+ throw new Error(`WARDEN flow guard could not safely check this call (${err instanceof Error ? err.message : String(err)}). Repair the guard state before retrying.`);
190
+ }
191
+ if (!decision)
192
+ continue;
193
+ const refused = refuses(decision, detail, block);
194
+ note(env, sessionId, { tool: call.name, decision: decision.permissionDecision, reason: detail.reason, sensitive: !!detail.sensitive,
195
+ resolution: refused ? 'refused' : 'allowed_unattended', block });
196
+ if (refused)
197
+ throw new Error(`${decision.permissionDecisionReason}\nRefused by the WARDEN flow guard (OpenCode, block=${block}). Do not retry this call in another form; report what was refused.`);
198
+ }
199
+ },
200
+ 'tool.execute.after': async (input, output) => {
201
+ const tool = str(input?.tool), session = str(input?.sessionID);
202
+ if (!tool || !session || !output)
203
+ return;
204
+ const sessionId = await rootOf(session);
205
+ const response = typeof output.output === 'string' ? output.output : JSON.stringify(output.output ?? '');
206
+ for (const call of guardCalls(tool, input.args, [...servers])) {
207
+ let post;
208
+ try {
209
+ post = flowPost({ session_id: sessionId, tool_name: call.name, tool_input: call.input, tool_response: response, cwd }, env);
210
+ }
211
+ catch (err) {
212
+ broken.add(sessionId);
213
+ note(env, sessionId, { tool: call.name, resolution: 'record_failed', error: err instanceof Error ? err.name : 'error' });
214
+ continue;
215
+ }
216
+ const warning = post?.additionalContext || post?.systemMessage;
217
+ if (warning && typeof output.output === 'string')
218
+ output.output = `${output.output}\n\n[WARDEN] ${warning}`;
219
+ }
220
+ },
221
+ 'shell.env': async (_input, output) => {
222
+ if (!output?.env || !strip.length)
223
+ return;
224
+ for (const name of strip)
225
+ output.env[name] = '';
226
+ },
227
+ };
228
+ };
229
+ }
230
+ //# sourceMappingURL=opencode-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-plugin.js","sourceRoot":"","sources":["../src/opencode-plugin.ts"],"names":[],"mappings":"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"}
@@ -311,7 +311,7 @@ La guardia comprueba llamadas después de recibir texto externo; no es un sandbo
311
311
  - Una inyección que solo cambia la respuesta no hace ninguna llamada que rechazar. Desde el 2026-10-22 el hook Stop del plugin añade una línea bajo una respuesta cuyo turno leyó texto externo, con esas fuentes, y lo dice cuando alguna se dirigió al asistente con instrucciones. Si la respuesta repite 12 caracteres normalizados consecutivos de las frases donde ese texto se dirigió al asistente, el hook además devuelve la respuesta una vez (`decision: block`) para comprobarla frente a la petición del usuario antes de que este la lea; el usuario solo pierde el tiempo de esa comprobación. `answerNote`: `always` (por defecto), `instruction` (solo ese caso) u `off`; fuera del plugin, registra `warden-mcp hook stop`.
312
312
  - El proxy registra también errores JSON-RPC y de herramientas. Retiene una respuesta si no puede registrarla; un estado de sesión corrupto bloquea la comprobación.
313
313
 
314
- Publicado en npm `0.17.0`: `npx -y @aimarket/warden@0.22.4 hook pre-tool-use`, o desde el código fuente en WARDEN, `npm ci && npm run build`, luego `node dist/mcp-server.js hook pre-tool-use`, con los hooks prompt/post también registrados. Política: `~/.local/state/warden/flow-policy.json` o `WARDEN_FLOW_POLICY`; modos `ask`, `deny`, `audit`, `off`. Véase el ejemplo vigente en [inglés](flow-guard.md).
314
+ Publicado en npm `0.17.0`: `npx -y @aimarket/warden@0.23.0 hook pre-tool-use`, o desde el código fuente en WARDEN, `npm ci && npm run build`, luego `node dist/mcp-server.js hook pre-tool-use`, con los hooks prompt/post también registrados. Política: `~/.local/state/warden/flow-policy.json` o `WARDEN_FLOW_POLICY`; modos `ask`, `deny`, `audit`, `off`. Véase el ejemplo vigente en [inglés](flow-guard.md).
315
315
 
316
316
  Proxy: `node dist/mcp-server.js wrap --flow mail -- node mail-server.js`. Use un `WARDEN_FLOW_SESSION` nuevo y compartido por los proxies de una conversación. El PID padre predeterminado no une lanzadores diferentes. El proxy no ve el prompt ni herramientas integradas. Lo que requeriría preguntar se pregunta con el formulario de elicitation MCP del cliente cuando lo ofrece (la respuesta queda en el registro como `approvalOutcome`) y, si no, o con `--ask refuse`, se rechaza. `trustedSources` se aplica a la URL de WebFetch, no a enlaces en argumentos MCP.
317
317
 
@@ -311,7 +311,7 @@ La garde vérifie les appels après réception de texte externe. Ce n’est ni u
311
311
  - Une injection qui ne change que la réponse ne fait aucun appel à refuser. Depuis le 2026-10-22, le hook Stop du plugin ajoute une ligne sous une réponse dont le tour a lu du texte extérieur, avec ces sources, et le dit quand l’un d’eux s’adressait à l’assistant avec des instructions. Si la réponse reprend 12 caractères normalisés consécutifs des phrases où ce texte s’adressait à l’assistant, le hook renvoie aussi la réponse une fois (`decision: block`) pour qu’elle soit vérifiée face à la demande de l’utilisateur avant qu’il la lise ; l’utilisateur ne perd que le temps de cette vérification. `answerNote` : `always` (par défaut), `instruction` (ce cas seulement) ou `off` ; hors du plugin, enregistrez `warden-mcp hook stop`.
312
312
  - Le proxy enregistre aussi les erreurs JSON-RPC et d’outils, retient les réponses dont l’enregistrement échoue et bloque les vérifications si l’état existant est corrompu.
313
313
 
314
- Publié dans npm `0.17.0` : `npx -y @aimarket/warden@0.22.4 hook pre-tool-use`, ou depuis les sources dans WARDEN, `npm ci && npm run build`, puis `node dist/mcp-server.js hook pre-tool-use`, avec les hooks prompt/post également enregistrés. Politique : `~/.local/state/warden/flow-policy.json` ou `WARDEN_FLOW_POLICY` ; modes `ask`, `deny`, `audit`, `off`. Exemple actuel en [anglais](flow-guard.md).
314
+ Publié dans npm `0.17.0` : `npx -y @aimarket/warden@0.23.0 hook pre-tool-use`, ou depuis les sources dans WARDEN, `npm ci && npm run build`, puis `node dist/mcp-server.js hook pre-tool-use`, avec les hooks prompt/post également enregistrés. Politique : `~/.local/state/warden/flow-policy.json` ou `WARDEN_FLOW_POLICY` ; modes `ask`, `deny`, `audit`, `off`. Exemple actuel en [anglais](flow-guard.md).
315
315
 
316
316
  Proxy : `node dist/mcp-server.js wrap --flow mail -- node mail-server.js`. Attribuez un nouveau `WARDEN_FLOW_SESSION` commun aux proxies d’une conversation. Le PID parent par défaut ne relie pas des lanceurs différents. Le proxy ne voit ni prompt ni outils intégrés. Un appel qui demanderait confirmation est demandé via le formulaire d’elicitation MCP du client s’il en propose un (la réponse est journalisée comme `approvalOutcome`), sinon, ou avec `--ask refuse`, il est refusé. `trustedSources` s’applique à l’URL WebFetch, pas aux liens des arguments MCP.
317
317
 
@@ -311,7 +311,7 @@ The flow guard adds checks at tool-call boundaries after a session receives outs
311
311
  - An injection that only changes the answer makes no call to refuse. Since 2026-10-22 the plugin's Stop hook adds one line under an answer whose turn read outside text, naming those sources, and says so when any of it addressed the assistant with instructions. When the answer repeats 12 consecutive normalized characters from the sentences where that text addressed the assistant, the hook also sends the answer back once (`decision: block`), to be checked against the user's request before the user reads it; the user loses nothing but the time of that check. `answerNote` chooses `always` (default), `instruction` (only that case) or `off`; outside the plugin, register `warden-mcp hook stop`.
312
312
  - The MCP proxy records JSON-RPC error text and tool-error results as outside text too. If recording fails, it withholds the response. Existing corrupt session state blocks pre-tool checks instead of becoming an empty session.
313
313
 
314
- Released in npm `0.17.0`: `npx -y @aimarket/warden@0.22.4 hook pre-tool-use`, or from a source checkout `npm ci && npm run build`, then `node dist/mcp-server.js hook pre-tool-use`. Register the prompt and post hooks as well, or use the bundled Claude plugin.
314
+ Released in npm `0.17.0`: `npx -y @aimarket/warden@0.23.0 hook pre-tool-use`, or from a source checkout `npm ci && npm run build`, then `node dist/mcp-server.js hook pre-tool-use`. Register the prompt and post hooks as well, or use the bundled Claude plugin.
315
315
 
316
316
  Policy is user-level (`~/.local/state/warden/flow-policy.json`, or `WARDEN_FLOW_POLICY`). Modes are `ask`, `deny`, `audit`, `off`. `audit` logs decisions without enforcing them. Example:
317
317
 
@@ -321,7 +321,7 @@ node dist/mcp-server.js wrap --flow screen --screen-read computer --screen-read-
321
321
  - Инъекция, которая меняет только ответ, не делает вызова, которому можно отказать. С 2026-10-22 хук Stop плагина добавляет под ответом строку, если за этот ход читался внешний текст: какие источники, и отдельно — если какой-то из них обращался к ассистенту с указаниями. Если ответ повторяет 12 нормализованных символов подряд из тех предложений, где внешний текст обращался к ассистенту, хук ещё и один раз возвращает ответ модели (`decision: block`) на проверку по запросу пользователя, прежде чем пользователь его прочтёт; пользователь теряет только время этой проверки. `answerNote`: `always` (по умолчанию), `instruction` (только этот случай) или `off`; вне плагина зарегистрируйте `warden-mcp hook stop`.
322
322
  - Прокси учитывает текст JSON-RPC errors и ошибки инструментов как внешние данные. Если учёт ответа не удался, ответ удерживается. Повреждённое состояние сессии блокирует проверяемый вызов вместо сброса в пустую сессию.
323
323
 
324
- Вышло в npm `0.17.0`: `npx -y @aimarket/warden@0.22.4 hook pre-tool-use`, либо из исходников — в каталоге WARDEN `npm ci && npm run build`, затем `node dist/mcp-server.js hook pre-tool-use`. Зарегистрируйте также prompt/post hooks либо плагин Claude.
324
+ Вышло в npm `0.17.0`: `npx -y @aimarket/warden@0.23.0 hook pre-tool-use`, либо из исходников — в каталоге WARDEN `npm ci && npm run build`, затем `node dist/mcp-server.js hook pre-tool-use`. Зарегистрируйте также prompt/post hooks либо плагин Claude.
325
325
 
326
326
  Политика: `~/.local/state/warden/flow-policy.json` или `WARDEN_FLOW_POLICY`. Режимы: `ask`, `deny`, `audit`, `off`; `audit` только пишет журнал. Пример настройки контактов и адресатов — в [английской версии](flow-guard.md).
327
327