@weave_protocol/ward 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -159,6 +159,13 @@ const result = evaluateToolCall(policy, "Bash", { command: "curl https://a.examp
159
159
  This scanning is best effort. To draw a hard line on shell use, gate `shell_exec` itself with `requireApproval` or `deny`.
160
160
  - **Relative paths** resolve against `cwd`.
161
161
  - **Strictness:** the strictest result wins (deny, then require_approval, then allow).
162
+ - **Self-protection (0.3.3):** writing or deleting a file that controls the agent needs human approval, even when a broad rule like `write: /repo/**` covers it. These files are:
163
+ - `WARD.md`;
164
+ - harness hooks and settings: `.claude/settings*.json`, `.cursor/hooks.json`, `.codex/hooks.json` and `config.toml`, `.gemini/settings.json`, `opencode.json` and `.opencode/plugins/`;
165
+ - MCP server lists: `mcp.json`, `.mcp.json`, `claude_desktop_config.json`;
166
+ - git hooks.
167
+
168
+ An agent that can rewrite them can turn its own guardrails off, as in Cursor's CurXecute (CVE-2025-54135). To allow edits to one, name that exact file in an allow rule (`- write: /repo/.cursor/mcp.json`). `protectedConfig(path)` tells you whether a path is one of them.
162
169
 
163
170
  ### Reporting decisions to the dashboard (0.3.0+)
164
171
 
@@ -171,7 +178,7 @@ export WEAVE_API_KEY=... # the API's key
171
178
 
172
179
  - **Off by default.** Nothing is sent unless `WEAVE_DASHBOARD_URL` is set.
173
180
  - **Sent:** the surface, the decision, the tool name or a URL with its query string removed, and a truncated reason with any argument value stripped. Command text and argument contents are never sent.
174
- - **Never in the way.** A report never changes a decision, gives up after 250 ms, and never throws.
181
+ - **Never in the way.** A report never changes a decision and never throws. It gives up after 250 ms; on a slow machine or network, raise that with `WEAVE_DASHBOARD_TIMEOUT_MS` (up to 5000) so events aren't dropped.
175
182
 
176
183
  ---
177
184
 
@@ -46,4 +46,6 @@ export interface EvaluateOptions {
46
46
  * over allow.
47
47
  */
48
48
  export declare function evaluateToolCall(policy: WardPolicy, toolName: string, args: Record<string, unknown> | undefined, opts?: EvaluateOptions): ToolCallEvaluation;
49
+ /** Which protected file a path is, if any. */
50
+ export declare function protectedConfig(path: string): string | undefined;
49
51
  //# sourceMappingURL=toolcall.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolcall.d.ts","sourceRoot":"","sources":["../../src/enforcer/toolcall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AAEpB,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1D,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,IAAI,GAAE,eAAoB,GACzB,kBAAkB,CA6BpB"}
1
+ {"version":3,"file":"toolcall.d.ts","sourceRoot":"","sources":["../../src/enforcer/toolcall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AAEpB,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,IAAI,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1D,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,yDAAyD;IACzD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,IAAI,GAAE,eAAoB,GACzB,kBAAkB,CAgCpB;AAmHD,8CAA8C;AAC9C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGhE"}
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * No Node built-ins: Ward also runs in browsers.
12
12
  */
13
- import { checkCapability, checkFilesystem, checkNetwork, } from "./index.js";
13
+ import { checkCapability, checkFilesystem, checkNetwork, normalizePath, } from "./index.js";
14
14
  /**
15
15
  * Decide a tool call. The strictest check wins: deny over require_approval
16
16
  * over allow.
@@ -26,7 +26,11 @@ export function evaluateToolCall(policy, toolName, args, opts = {}) {
26
26
  const defaultOp = mapping.fsOp ?? inferFsOp(`${mapping.capability} ${toolName}`);
27
27
  for (const { key, value } of pathArgs(input, mapping)) {
28
28
  const op = key === mapping.pathField ? defaultOp : DEST_KEY.test(key) ? "write" : SOURCE_KEY.test(key) ? "read" : defaultOp;
29
- checks.push({ type: "filesystem", subject: `${key}=${value}`, ...checkFilesystem(policy, op, resolvePath(value, opts.cwd)) });
29
+ const path = resolvePath(value, opts.cwd);
30
+ checks.push({ type: "filesystem", subject: `${key}=${value}`, ...checkFilesystem(policy, op, path) });
31
+ const guard = selfProtect(policy, op, path);
32
+ if (guard)
33
+ checks.push({ type: "filesystem", subject: `${key}=${value}`, ...guard });
30
34
  }
31
35
  // 3. Every URL argument
32
36
  const method = String(input.method ?? "GET").toUpperCase();
@@ -94,8 +98,12 @@ function scanCommand(policy, command, cwd) {
94
98
  const writes = new Set([...withoutUrls.matchAll(REDIRECT)].map((m) => m[2]));
95
99
  const deletes = /(?:^|[\s;|&(])(rm|rmdir|unlink|shred)\s/.test(withoutUrls);
96
100
  const copies = /(?:^|[\s;|&(])(cp|mv|install|rsync|ln)\s/.test(withoutUrls) || /\bsed\s+-i/.test(withoutUrls);
97
- const tokens = [...new Set(withoutUrls.match(PATH_TOKEN) ?? [])];
98
- const last = tokens[tokens.length - 1];
101
+ // Bare names like "WARD.md" or "opencode.json" have no "/", so add any word
102
+ // that names a protected file, and every redirect target.
103
+ const bare = (withoutUrls.match(/[^\s'"`<>|;&()]+/g) ?? []).filter((w) => protectedConfig(resolvePath(w, cwd)));
104
+ const pathTokens = withoutUrls.match(PATH_TOKEN) ?? [];
105
+ const tokens = [...new Set([...pathTokens, ...writes, ...bare])];
106
+ const last = pathTokens[pathTokens.length - 1] ?? bare[bare.length - 1];
99
107
  for (const token of tokens) {
100
108
  const ops = new Set(["read"]);
101
109
  if (writes.has(token) || (copies && token === last))
@@ -105,6 +113,9 @@ function scanCommand(policy, command, cwd) {
105
113
  const explicitPath = token.startsWith("/") || token.startsWith("~");
106
114
  const path = resolvePath(token, cwd);
107
115
  for (const op of ops) {
116
+ const guard = selfProtect(policy, op, path);
117
+ if (guard)
118
+ checks.push({ type: "command", subject: `${op} ${token}`, ...guard });
108
119
  const result = checkFilesystem(policy, op, path);
109
120
  // Relative tokens are often not paths at all (a commit message, a
110
121
  // regex), so they only trip explicit rules, not the policy default.
@@ -116,6 +127,52 @@ function scanCommand(policy, command, cwd) {
116
127
  return checks;
117
128
  }
118
129
  // ─────────────────────────────────────────────────────────
130
+ // Self-protection (Ward 0.3.3)
131
+ // ─────────────────────────────────────────────────────────
132
+ /**
133
+ * Files that change what an agent may do or that run code on their own: the
134
+ * WARD policy itself, harness hook and settings files, MCP server lists and
135
+ * git hooks. An agent that can rewrite them can turn its own guardrails off
136
+ * or plant a command that runs later (Cursor CVE-2025-54135 "CurXecute",
137
+ * where injected content rewrote mcp.json). Writing or deleting one needs
138
+ * human approval even when a broad rule like `write: /repo/**` covers it.
139
+ */
140
+ const PROTECTED = [
141
+ { label: "the WARD policy", test: /(^|\/)ward\.md$/i },
142
+ { label: "Claude Code settings", test: /(^|\/)\.claude\/settings(\.local)?\.json$/ },
143
+ { label: "Cursor hooks", test: /(^|\/)\.cursor\/hooks\.json$/ },
144
+ { label: "Codex config", test: /(^|\/)\.codex\/(hooks\.json|config\.toml)$/ },
145
+ { label: "Gemini settings", test: /(^|\/)\.gemini\/(settings\.json|config\/hooks\.json)$/ },
146
+ { label: "OpenCode config", test: /(^|\/)(opencode\.jsonc?|\.opencode\/plugins?\/.*)$/ },
147
+ { label: "an MCP server list", test: /(^|\/)(\.?mcp\.json|claude_desktop_config\.json)$/ },
148
+ { label: "a git hook", test: /(^|\/)\.git\/hooks\/.+/ },
149
+ ];
150
+ /** Which protected file a path is, if any. */
151
+ export function protectedConfig(path) {
152
+ const normalized = normalizePath(path);
153
+ return PROTECTED.find((p) => p.test.test(normalized))?.label;
154
+ }
155
+ /**
156
+ * An approval check for a write or delete of a protected file. A WARD allow
157
+ * rule naming the exact file (no wildcard) lifts it.
158
+ */
159
+ function selfProtect(policy, op, path) {
160
+ if (op !== "write" && op !== "delete")
161
+ return undefined;
162
+ const label = protectedConfig(path);
163
+ if (!label)
164
+ return undefined;
165
+ const target = normalizePath(path);
166
+ const named = (policy.filesystem?.allow ?? []).some((r) => r.op === op && normalizePath(r.path) === target);
167
+ if (named)
168
+ return undefined;
169
+ return {
170
+ decision: "require_approval",
171
+ reason: `Changing ${label} requires human approval (Ward self-protection; allow the exact file in WARD.md to lift this)`,
172
+ severity: "high",
173
+ };
174
+ }
175
+ // ─────────────────────────────────────────────────────────
119
176
  // Helpers
120
177
  // ─────────────────────────────────────────────────────────
121
178
  function resolvePath(path, cwd) {
@@ -1 +1 @@
1
- {"version":3,"file":"toolcall.js","sourceRoot":"","sources":["../../src/enforcer/toolcall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolcall.js","sourceRoot":"","sources":["../../src/enforcer/toolcall.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,8 +24,8 @@ export { splitFrontmatter, parseYAML } from "./parser/yaml.js";
24
24
  export { splitSections, normalizeKey } from "./parser/markdown.js";
25
25
  export { checkFilesystem, checkNetwork, checkCapability, checkDataEgress, checkBehavioral, matchGlob, normalizePath, canonicalUrl, } from "./enforcer/index.js";
26
26
  export type { Decision, CheckResult, RuntimeState } from "./enforcer/index.js";
27
- export { evaluateToolCall } from "./enforcer/toolcall.js";
28
- export { reportEvent, dashboardUrl } from "./report.js";
27
+ export { evaluateToolCall, protectedConfig } from "./enforcer/toolcall.js";
28
+ export { reportEvent, dashboardUrl, reportTimeoutMs } from "./report.js";
29
29
  export type { EnforcementEvent, ReportOptions, ReportSurface, ReportDecision } from "./report.js";
30
30
  export type { ToolMapping, ToolCallCheck, ToolCallEvaluation, EvaluateOptions } from "./enforcer/toolcall.js";
31
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,mBAAmB,YAAY,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClG,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,mBAAmB,YAAY,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClG,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -24,6 +24,6 @@ export { splitFrontmatter, parseYAML } from "./parser/yaml.js";
24
24
  export { splitSections, normalizeKey } from "./parser/markdown.js";
25
25
  // Enforcer
26
26
  export { checkFilesystem, checkNetwork, checkCapability, checkDataEgress, checkBehavioral, matchGlob, normalizePath, canonicalUrl, } from "./enforcer/index.js";
27
- export { evaluateToolCall } from "./enforcer/toolcall.js";
28
- export { reportEvent, dashboardUrl } from "./report.js";
27
+ export { evaluateToolCall, protectedConfig } from "./enforcer/toolcall.js";
28
+ export { reportEvent, dashboardUrl, reportTimeoutMs } from "./report.js";
29
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnE,WAAW;AACX,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnE,WAAW;AACX,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,SAAS,EACT,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
package/dist/report.d.ts CHANGED
@@ -28,9 +28,16 @@ export interface ReportOptions {
28
28
  url?: string;
29
29
  /** API key. Default: $WEAVE_API_KEY */
30
30
  apiKey?: string;
31
- /** Default 250ms */
31
+ /** Default: $WEAVE_DASHBOARD_TIMEOUT_MS, else 250ms */
32
32
  timeoutMs?: number;
33
33
  }
34
+ /**
35
+ * How long a report may take before it's dropped. 250ms keeps hooks fast;
36
+ * raise it with WEAVE_DASHBOARD_TIMEOUT_MS on a slow machine or network,
37
+ * where a cold first request can take longer and events would be lost.
38
+ * Capped at 5 seconds so a dashboard can never stall an agent for long.
39
+ */
40
+ export declare function reportTimeoutMs(opts?: ReportOptions): number;
34
41
  /** The dashboard URL reportEvent would use, or undefined when reporting is off. */
35
42
  export declare function dashboardUrl(opts?: ReportOptions): string | undefined;
36
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,aAAa,GACb,aAAa,GACb,MAAM,GACN,SAAS,GACT,YAAY,GACZ,OAAO,GACP,UAAU,GACV,QAAQ,CAAC;AACb,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,IAAI,GAAE,aAAkB,GAAG,MAAM,GAAG,SAAS,CAGzE;AAqBD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BlG"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,aAAa,GACb,aAAa,GACb,MAAM,GACN,SAAS,GACT,YAAY,GACZ,OAAO,GACP,UAAU,GACV,QAAQ,CAAC;AACb,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;AAEhE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,aAAkB,GAAG,MAAM,CAIhE;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,IAAI,GAAE,aAAkB,GAAG,MAAM,GAAG,SAAS,CAGzE;AAqBD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BlG"}
package/dist/report.js CHANGED
@@ -13,6 +13,17 @@
13
13
  */
14
14
  const MAX = 200;
15
15
  const env = (key) => globalThis.process?.env?.[key];
16
+ /**
17
+ * How long a report may take before it's dropped. 250ms keeps hooks fast;
18
+ * raise it with WEAVE_DASHBOARD_TIMEOUT_MS on a slow machine or network,
19
+ * where a cold first request can take longer and events would be lost.
20
+ * Capped at 5 seconds so a dashboard can never stall an agent for long.
21
+ */
22
+ export function reportTimeoutMs(opts = {}) {
23
+ const fromEnv = Number(env("WEAVE_DASHBOARD_TIMEOUT_MS"));
24
+ const ms = opts.timeoutMs ?? (Number.isFinite(fromEnv) && fromEnv > 0 ? fromEnv : 250);
25
+ return Math.min(ms, 5000);
26
+ }
16
27
  /** The dashboard URL reportEvent would use, or undefined when reporting is off. */
17
28
  export function dashboardUrl(opts = {}) {
18
29
  const url = opts.url ?? env("WEAVE_DASHBOARD_URL");
@@ -48,7 +59,7 @@ export async function reportEvent(event, opts = {}) {
48
59
  return;
49
60
  const apiKey = opts.apiKey ?? env("WEAVE_API_KEY");
50
61
  const controller = new AbortController();
51
- const timer = setTimeout(() => controller.abort(), opts.timeoutMs ?? 250);
62
+ const timer = setTimeout(() => controller.abort(), reportTimeoutMs(opts));
52
63
  try {
53
64
  await doFetch(`${base}/api/v1/events`, {
54
65
  method: "POST",
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmCH,MAAM,GAAG,GAAG,GAAG,CAAC;AAChB,MAAM,GAAG,GAAG,CAAC,GAAW,EAAsB,EAAE,CAC7C,UAAyE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AAEjG,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,IAAI,GAAkB,EAAE;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,4EAA4E;AAC5E,SAAS,WAAW,CAAC,OAAe;IAClC,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,mBAAmB,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,6FAA6F;AAC7F,SAAS,UAAU,CAAC,MAA0B;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAuB,EAAE,IAAI,GAAkB,EAAE;IACjF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAI,UAAuC,CAAC,KAAK,CAAC;IAC/D,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,IAAI,gBAAgB,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YAC3F,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;gBACnC,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;gBAChC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;aACzC,CAAC;YACF,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,8DAA8D;IAChE,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weave_protocol/ward",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "WARD.md — the agent security policy standard. Define what your agents can and cannot do, version-controlled alongside AGENTS.md and SKILL.md.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",