@sponsio/sdk 0.2.0-alpha.4 → 0.2.0-alpha.8

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 (85) hide show
  1. package/contracts/capability/destructive.yaml +213 -0
  2. package/contracts/capability/factual-claims.yaml +79 -0
  3. package/contracts/capability/host-config-integrity.yaml +42 -9
  4. package/contracts/capability/self-modify.yaml +32 -1
  5. package/contracts/capability/shell.yaml +19 -10
  6. package/contracts/incident/claude-code-secret-bypass.yaml +46 -14
  7. package/contracts/incident/cursor-railway-wipe.yaml +60 -4
  8. package/contracts/incident/openclaw.yaml +9 -63
  9. package/dist/cli/cli.js +32 -0
  10. package/dist/cli/cli.js.map +1 -1
  11. package/dist/cli/packs.d.ts.map +1 -1
  12. package/dist/cli/packs.js +13 -7
  13. package/dist/cli/packs.js.map +1 -1
  14. package/dist/cloud/client.d.ts +76 -0
  15. package/dist/cloud/client.d.ts.map +1 -0
  16. package/dist/cloud/client.js +198 -0
  17. package/dist/cloud/client.js.map +1 -0
  18. package/dist/cloud/evidence.d.ts +108 -0
  19. package/dist/cloud/evidence.d.ts.map +1 -0
  20. package/dist/cloud/evidence.js +184 -0
  21. package/dist/cloud/evidence.js.map +1 -0
  22. package/dist/cloud/privacy.d.ts +67 -0
  23. package/dist/cloud/privacy.d.ts.map +1 -0
  24. package/dist/cloud/privacy.js +170 -0
  25. package/dist/cloud/privacy.js.map +1 -0
  26. package/dist/cloud/view-model.d.ts +49 -0
  27. package/dist/cloud/view-model.d.ts.map +1 -0
  28. package/dist/cloud/view-model.js +172 -0
  29. package/dist/cloud/view-model.js.map +1 -0
  30. package/dist/core/config-loader.js +16 -0
  31. package/dist/core/config-loader.js.map +1 -1
  32. package/dist/core/evaluator.d.ts +2 -0
  33. package/dist/core/evaluator.d.ts.map +1 -1
  34. package/dist/core/evaluator.js +90 -4
  35. package/dist/core/evaluator.js.map +1 -1
  36. package/dist/core/grounding.d.ts +43 -7
  37. package/dist/core/grounding.d.ts.map +1 -1
  38. package/dist/core/grounding.js +180 -25
  39. package/dist/core/grounding.js.map +1 -1
  40. package/dist/core/nl-parser.d.ts +1 -1
  41. package/dist/core/nl-parser.d.ts.map +1 -1
  42. package/dist/core/nl-parser.js +616 -40
  43. package/dist/core/nl-parser.js.map +1 -1
  44. package/dist/core/pattern-factory.d.ts.map +1 -1
  45. package/dist/core/pattern-factory.js +7 -1
  46. package/dist/core/pattern-factory.js.map +1 -1
  47. package/dist/core/patterns.d.ts +69 -0
  48. package/dist/core/patterns.d.ts.map +1 -1
  49. package/dist/core/patterns.js +133 -10
  50. package/dist/core/patterns.js.map +1 -1
  51. package/dist/core/tool-names.d.ts +59 -0
  52. package/dist/core/tool-names.d.ts.map +1 -0
  53. package/dist/core/tool-names.js +128 -0
  54. package/dist/core/tool-names.js.map +1 -0
  55. package/dist/index.d.ts +144 -0
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +367 -32
  58. package/dist/index.js.map +1 -1
  59. package/dist/integrations/claude-agent.d.ts +5 -0
  60. package/dist/integrations/claude-agent.d.ts.map +1 -1
  61. package/dist/integrations/claude-agent.js +42 -13
  62. package/dist/integrations/claude-agent.js.map +1 -1
  63. package/dist/integrations/google-adk.d.ts +5 -3
  64. package/dist/integrations/google-adk.d.ts.map +1 -1
  65. package/dist/integrations/google-adk.js +9 -5
  66. package/dist/integrations/google-adk.js.map +1 -1
  67. package/dist/integrations/langchain.d.ts +7 -0
  68. package/dist/integrations/langchain.d.ts.map +1 -1
  69. package/dist/integrations/langchain.js +21 -3
  70. package/dist/integrations/langchain.js.map +1 -1
  71. package/dist/integrations/openai-agents.d.ts +22 -10
  72. package/dist/integrations/openai-agents.d.ts.map +1 -1
  73. package/dist/integrations/openai-agents.js +51 -12
  74. package/dist/integrations/openai-agents.js.map +1 -1
  75. package/dist/integrations/openai.d.ts +11 -0
  76. package/dist/integrations/openai.d.ts.map +1 -1
  77. package/dist/integrations/openai.js +130 -48
  78. package/dist/integrations/openai.js.map +1 -1
  79. package/dist/integrations/vercel-ai.d.ts +20 -9
  80. package/dist/integrations/vercel-ai.d.ts.map +1 -1
  81. package/dist/integrations/vercel-ai.js +131 -50
  82. package/dist/integrations/vercel-ai.js.map +1 -1
  83. package/package.json +12 -8
  84. package/prompts/onboard.md +17 -4
  85. package/contracts/core/llm_safety.yaml +0 -138
@@ -18,24 +18,31 @@
18
18
  * auditAfter, approvalFreshness, sanitizedBeforeSink, duplicateCallLimit
19
19
  */
20
20
  import { Atom, Not, And, Or, Implies, G, F, X, U, Le, Ge, Var, Const, } from "./formula.js";
21
+ import { canonicalTool } from "./tool-names.js";
21
22
  // --- Helpers ---
23
+ //
24
+ // Tool names are canonicalised (see core/tool-names.ts) so a rule keys on
25
+ // the same spelling grounding emits for every variant of the call:
26
+ // ``Issue_Refund``, ``"issue_refund "`` and ``mcp__finance__issue_refund``
27
+ // all bind a rule written on ``issue_refund``. Parity with Python's
28
+ // ``_called`` / ``_count_var`` / ``_physical_tool``.
22
29
  function called(tool) {
23
30
  // Supports "tool:pattern" format — produces called_with atom.
24
31
  if (tool.includes(":")) {
25
32
  const [physical, pattern] = tool.split(":", 2);
26
- return new Atom("called_with", [physical, pattern]);
33
+ return new Atom("called_with", [canonicalTool(physical), pattern]);
27
34
  }
28
- return new Atom("called", [tool]);
35
+ return new Atom("called", [canonicalTool(tool)]);
29
36
  }
30
37
  function countVar(tool) {
31
38
  if (tool.includes(":")) {
32
39
  const [physical, pattern] = tool.split(":", 2);
33
- return new Var("count_with", physical, pattern);
40
+ return new Var("count_with", canonicalTool(physical), pattern);
34
41
  }
35
- return new Var("count", tool);
42
+ return new Var("count", canonicalTool(tool));
36
43
  }
37
44
  function physicalTool(tool) {
38
- return tool.includes(":") ? tool.split(":", 1)[0] : tool;
45
+ return canonicalTool(tool.includes(":") ? tool.split(":", 1)[0] : tool);
39
46
  }
40
47
  /**
41
48
  * Reject empty / whitespace-only tool names at factory time.
@@ -112,6 +119,7 @@ export function mustPrecede(before, after) {
112
119
  formula: f,
113
120
  desc: `tool \`${before}\` must precede \`${after}\``,
114
121
  patternName: "must_precede",
122
+ args: [before, after],
115
123
  liveness: false,
116
124
  };
117
125
  }
@@ -122,6 +130,7 @@ export function alwaysFollowedBy(trigger, response) {
122
130
  formula: f,
123
131
  desc: `\`${trigger}\` must always be followed by \`${response}\``,
124
132
  patternName: "always_followed_by",
133
+ args: [trigger, response],
125
134
  liveness: true,
126
135
  };
127
136
  }
@@ -149,6 +158,7 @@ export function workflowStep(trigger, nextAction, desc) {
149
158
  formula: f,
150
159
  desc: desc ?? `after ${triggerStr} the next event must satisfy ${nextStr}`,
151
160
  patternName: "workflow_step",
161
+ args: [trigger, nextAction],
152
162
  liveness: false,
153
163
  };
154
164
  }
@@ -159,6 +169,7 @@ export function noReversal(commitment, contradiction) {
159
169
  formula: f,
160
170
  desc: `cannot call \`${contradiction}\` after \`${commitment}\``,
161
171
  patternName: "no_reversal",
172
+ args: [commitment, contradiction],
162
173
  liveness: false,
163
174
  };
164
175
  }
@@ -168,6 +179,7 @@ export function requiresPermission(tool, permission) {
168
179
  formula: f,
169
180
  desc: `\`${tool}\` requires permission \`${permission}\``,
170
181
  patternName: "requires_permission",
182
+ args: [tool, permission],
171
183
  liveness: false,
172
184
  };
173
185
  }
@@ -178,6 +190,7 @@ export function noDataLeak(source, external) {
178
190
  formula: f,
179
191
  desc: `no data leak from \`${source}\` to \`${external}\``,
180
192
  patternName: "no_data_leak",
193
+ args: [source, external],
181
194
  liveness: false,
182
195
  };
183
196
  }
@@ -188,6 +201,7 @@ export function mutualExclusion(a, b) {
188
201
  formula: f,
189
202
  desc: `tools \`${a}\` and \`${b}\` are mutually exclusive`,
190
203
  patternName: "mutual_exclusion",
204
+ args: [a, b],
191
205
  liveness: false,
192
206
  };
193
207
  }
@@ -197,11 +211,20 @@ export function rateLimit(tool, maxCalls) {
197
211
  formula: f,
198
212
  desc: `tool \`${tool}\` at most ${maxCalls} times`,
199
213
  patternName: "rate_limit",
214
+ args: [tool, maxCalls],
200
215
  liveness: false,
201
216
  };
202
217
  }
203
218
  export function idempotent(tool) {
204
- return { ...rateLimit(tool, 1), patternName: "idempotent", desc: `\`${tool}\` at most once` };
219
+ // The spread would otherwise carry rate_limit's own args (tool, 1) into
220
+ // a rule whose identity is one tool, and the cloud groups findings by
221
+ // (patternName, args).
222
+ return {
223
+ ...rateLimit(tool, 1),
224
+ patternName: "idempotent",
225
+ args: [tool],
226
+ desc: `\`${tool}\` at most once`,
227
+ };
205
228
  }
206
229
  export function deadline(trigger, action, steps) {
207
230
  ensureDistinct(trigger, action, "deadline", "trigger", "action");
@@ -214,6 +237,7 @@ export function deadline(trigger, action, steps) {
214
237
  formula: f,
215
238
  desc: `\`${action}\` must occur within ${steps} steps of \`${trigger}\``,
216
239
  patternName: "deadline",
240
+ args: [trigger, action, steps],
217
241
  // Bounded-window liveness: ``X(boundedEventually(action, steps))``
218
242
  // is decidable on a bounded prefix (steps + 1 events past the
219
243
  // trigger), so it CAN fire mid-session — runtime parity with
@@ -228,6 +252,7 @@ export function mustConfirm(action) {
228
252
  formula: f,
229
253
  desc: `\`${action}\` requires confirmation (\`${confirm}\`)`,
230
254
  patternName: "must_confirm",
255
+ args: [action],
231
256
  liveness: false,
232
257
  };
233
258
  }
@@ -237,6 +262,7 @@ export function cooldown(action, steps) {
237
262
  formula: f,
238
263
  desc: `\`${action}\` has a cooldown of ${steps} steps`,
239
264
  patternName: "cooldown",
265
+ args: [action, steps],
240
266
  liveness: false,
241
267
  };
242
268
  }
@@ -248,6 +274,7 @@ export function segregationOfDuty(a, b) {
248
274
  return {
249
275
  ...me,
250
276
  patternName: "segregation_of_duty",
277
+ args: [a, b],
251
278
  desc: `\`${a}\` and \`${b}\` must be performed by different agents`,
252
279
  };
253
280
  }
@@ -255,8 +282,9 @@ export function boundedRetry(action, maxRetries) {
255
282
  const f = new G(new Le(countVar(action), new Const(maxRetries)));
256
283
  return {
257
284
  formula: f,
258
- desc: `\`${action}\` limited to ${maxRetries} retries`,
285
+ desc: `\`${action}\` limited to ${maxRetries} ${maxRetries === 1 ? "retry" : "retries"}`,
259
286
  patternName: "bounded_retry",
287
+ args: [action, maxRetries],
260
288
  liveness: false,
261
289
  };
262
290
  }
@@ -267,6 +295,7 @@ export function loopDetection(action, maxConsecutive) {
267
295
  formula: f,
268
296
  desc: `\`${action}\` max ${maxConsecutive} consecutive calls`,
269
297
  patternName: "loop_detection",
298
+ args: [action, maxConsecutive],
270
299
  liveness: false,
271
300
  };
272
301
  }
@@ -277,6 +306,7 @@ export function dryRunBeforeCommit(dryRun, commit) {
277
306
  ...base,
278
307
  desc: `\`${dryRun}\` dry-run must precede \`${commit}\``,
279
308
  patternName: "dry_run_before_commit",
309
+ args: [dryRun, commit],
280
310
  };
281
311
  }
282
312
  export function backupBeforeDestructive(backup, action) {
@@ -285,6 +315,7 @@ export function backupBeforeDestructive(backup, action) {
285
315
  ...base,
286
316
  desc: `\`${backup}\` backup must precede destructive action \`${action}\``,
287
317
  patternName: "backup_before_destructive",
318
+ args: [backup, action],
288
319
  };
289
320
  }
290
321
  export function auditAfter(action, audit) {
@@ -293,6 +324,7 @@ export function auditAfter(action, audit) {
293
324
  ...base,
294
325
  desc: `\`${action}\` must be followed by audit step \`${audit}\``,
295
326
  patternName: "audit_after",
327
+ args: [action, audit],
296
328
  liveness: true,
297
329
  };
298
330
  }
@@ -309,6 +341,7 @@ export function approvalFreshness(approval, action, steps) {
309
341
  formula: f,
310
342
  desc: `\`${action}\` requires approval \`${approval}\` within ${steps} steps`,
311
343
  patternName: "approval_freshness",
344
+ args: [approval, action, steps],
312
345
  liveness: false,
313
346
  };
314
347
  }
@@ -321,6 +354,7 @@ export function sanitizedBeforeSink(source, sanitizer, sink) {
321
354
  formula: f,
322
355
  desc: `after \`${source}\`, \`${sanitizer}\` must precede \`${sink}\``,
323
356
  patternName: "sanitized_before_sink",
357
+ args: [source, sanitizer, sink],
324
358
  liveness: false,
325
359
  };
326
360
  }
@@ -335,6 +369,7 @@ export function duplicateCallLimit(tool, argsPattern, maxCount) {
335
369
  formula: f,
336
370
  desc: `\`${tool}\` calls matching ${JSON.stringify(argsPattern)} at most ${maxCount} times`,
337
371
  patternName: "duplicate_call_limit",
372
+ args: [tool, argsPattern, maxCount],
338
373
  liveness: false,
339
374
  };
340
375
  }
@@ -350,6 +385,7 @@ export function argBlacklist(tool, field, patterns) {
350
385
  formula: f,
351
386
  desc: `\`${tool}\`.${field} must not match ${JSON.stringify(patterns)}`,
352
387
  patternName: "arg_blacklist",
388
+ args: [tool, field, patterns],
353
389
  liveness: false,
354
390
  };
355
391
  }
@@ -369,6 +405,7 @@ export function argAllowlist(tool, field, patterns) {
369
405
  formula: f,
370
406
  desc: `\`${tool}\`.${field} must match one of ${JSON.stringify(patterns)}`,
371
407
  patternName: "arg_allowlist",
408
+ args: [tool, field, patterns],
372
409
  liveness: false,
373
410
  };
374
411
  }
@@ -379,6 +416,7 @@ export function scopeLimit(tool, allowedPaths) {
379
416
  formula: f,
380
417
  desc: `\`${tool}\` restricted to paths: ${allowedPaths.join(", ")}`,
381
418
  patternName: "scope_limit",
419
+ args: [tool, allowedPaths],
382
420
  liveness: false,
383
421
  };
384
422
  }
@@ -389,6 +427,7 @@ export function argLengthLimit(tool, param, maxChars) {
389
427
  formula: f,
390
428
  desc: `\`${tool}\`.${param} must not exceed ${maxChars} characters`,
391
429
  patternName: "arg_length_limit",
430
+ args: [tool, param, maxChars],
392
431
  liveness: false,
393
432
  };
394
433
  }
@@ -398,6 +437,7 @@ export function dataIntact(boundTool, originalPaths) {
398
437
  formula: f,
399
438
  desc: `\`${boundTool}\` must use only original data from ${originalPaths.join(", ")}`,
400
439
  patternName: "data_intact",
440
+ args: [boundTool, originalPaths],
401
441
  liveness: false,
402
442
  };
403
443
  }
@@ -410,6 +450,7 @@ export function destructiveActionGate(tool, approverRole = "approver") {
410
450
  formula: f,
411
451
  desc: `\`${tool}\` is destructive and requires \`${approverRole}\` approval`,
412
452
  patternName: "destructive_action_gate",
453
+ args: [tool, approverRole],
413
454
  liveness: false,
414
455
  };
415
456
  }
@@ -460,6 +501,7 @@ export function requiredStepsCompletion(trigger, steps) {
460
501
  formula: f,
461
502
  desc: `after \`${trigger}\`, all steps must complete: ${steps.join(", ")}`,
462
503
  patternName: "required_steps_completion",
504
+ args: [trigger, steps],
463
505
  liveness: true,
464
506
  };
465
507
  }
@@ -477,8 +519,9 @@ export function toolAllowlist(allowedTools) {
477
519
  const formula = new G(new Implies(new Atom("called_any"), disjunction));
478
520
  return {
479
521
  formula,
480
- desc: `only allowed tools: ${allowedTools.join(", ")}`,
522
+ desc: `only [${allowedTools.join(", ")}] may be called`,
481
523
  patternName: "tool_allowlist",
524
+ args: [allowedTools],
482
525
  liveness: false,
483
526
  };
484
527
  }
@@ -502,19 +545,85 @@ export function toolAllowlist(allowedTools) {
502
545
  * need transparent substitution should stay on the Python SDK
503
546
  * (LangGraph adapter) until the TS strategy port lands.
504
547
  */
548
+ /**
549
+ * Every emitted claim of this predicate must verify as PASS.
550
+ *
551
+ * Compiles to `G(claim_emitted(pred) -> evidence_verdict(pred, PASS))`.
552
+ * Both atoms are grounded from the same `evidence` event, so the
553
+ * implication is decided at the timestep the verdict lands: a claim
554
+ * whose verdict is anything but PASS (MISMATCH, UNDERDETERMINED,
555
+ * NO_EVIDENCE, STALE, SOURCE_UNAVAILABLE, EXTRACTION_AMBIGUOUS)
556
+ * violates immediately.
557
+ *
558
+ * Parity with `sponsio.patterns.library.claim_requires_evidence`.
559
+ */
560
+ export function claimRequiresEvidence(pred, desc) {
561
+ ensureNonEmpty(pred, "claimRequiresEvidence", "pred");
562
+ return {
563
+ formula: new G(new Implies(new Atom("claim_emitted", [pred]), new Atom("evidence_verdict", [pred, "PASS"]))),
564
+ desc: desc || `claims of ${pred} must verify against evidence (PASS)`,
565
+ patternName: "claim_requires_evidence",
566
+ args: [pred],
567
+ liveness: false,
568
+ };
569
+ }
570
+ /**
571
+ * An UNDERDETERMINED verdict must resolve to a clarify action.
572
+ *
573
+ * Compiles to `G(evidence_verdict(pred, UNDERDETERMINED) ->
574
+ * evidence_action(pred, clarify))`.
575
+ *
576
+ * Guards the policy wiring rather than the claim itself: when the
577
+ * evidence was ambiguous, the recorded action on that same event must be
578
+ * `clarify`. A project override that quietly releases or hard-blocks an
579
+ * ambiguous claim trips this contract.
580
+ *
581
+ * Parity with `sponsio.patterns.library.underdetermined_must_clarify`.
582
+ */
583
+ export function underdeterminedMustClarify(pred, desc) {
584
+ ensureNonEmpty(pred, "underdeterminedMustClarify", "pred");
585
+ return {
586
+ formula: new G(new Implies(new Atom("evidence_verdict", [pred, "UNDERDETERMINED"]), new Atom("evidence_action", [pred, "clarify"]))),
587
+ desc: desc || `ambiguous ${pred} claims must be clarified, not released or blocked`,
588
+ patternName: "underdetermined_must_clarify",
589
+ args: [pred],
590
+ liveness: false,
591
+ };
592
+ }
505
593
  export function redirectToSafe(unsafe, safe) {
506
594
  ensureDistinct(unsafe, safe, "redirectToSafe", "unsafe", "safe");
507
595
  return {
508
596
  formula: new G(new Not(called(unsafe))),
509
597
  desc: `redirect \`${unsafe}\` -> \`${safe}\``,
510
598
  patternName: "redirect_to_safe",
599
+ args: [unsafe, safe],
511
600
  liveness: false,
601
+ strategy: "redirect",
602
+ safeName: safe,
512
603
  };
513
604
  }
605
+ /**
606
+ * Recursive ``rm`` in any spelling: ``rm -rf``, ``rm -fr``, ``rm -Rf``,
607
+ * ``rm -r``, ``rm -f -r``, ``rm --recursive --force``, ``rm -v --recursive``.
608
+ * ``count_with`` is a regex over the serialized args, so a literal
609
+ * ``"rm -rf"`` only caught that one spelling. Mirrors
610
+ * ``RM_RECURSIVE_PATTERN`` in ``sponsio/patterns/library.py``; keep the
611
+ * two in sync.
612
+ */
613
+ export const RM_RECURSIVE_PATTERN = "\\brm(?:\\s+(?:-[a-zA-Z]+|--[a-z-]+))*\\s+(?:-[a-zA-Z]*[rR][a-zA-Z]*|--recursive)(?=\\s|$)";
514
614
  export function dangerousBashCommands(forbidden) {
615
+ // Same list and order as the Python default so the two runtimes emit
616
+ // identical descriptions and block the same commands.
515
617
  const defaults = [
516
- "sed -i", "rm -rf", "cp /app/data", "mv /app/data",
517
- "python -c", "chmod", "> /app", "tee /app",
618
+ RM_RECURSIVE_PATTERN,
619
+ "sudo",
620
+ "chmod",
621
+ "sed -i",
622
+ "python -c",
623
+ "> /app",
624
+ "cp /app/data",
625
+ "mv /app/data",
626
+ "tee /app",
518
627
  ];
519
628
  const cmds = forbidden ?? defaults;
520
629
  // G(count_with(bash, cmd) <= 0) for each cmd — AND them all
@@ -527,6 +636,7 @@ export function dangerousBashCommands(forbidden) {
527
636
  formula: f,
528
637
  desc: `bash commands [${cmds.join(", ")}] are banned`,
529
638
  patternName: "dangerous_bash_commands",
639
+ args: [cmds],
530
640
  liveness: false,
531
641
  };
532
642
  }
@@ -569,6 +679,7 @@ export function dangerousSqlVerbs(tool = "execute_sql", forbidden) {
569
679
  formula: f,
570
680
  desc: `\`${tool}\` must not use SQL verbs [${verbs.join(", ")}]`,
571
681
  patternName: "dangerous_sql_verbs",
682
+ args: [tool, verbs],
572
683
  liveness: false,
573
684
  };
574
685
  }
@@ -578,6 +689,7 @@ export function irreversibleOnce(action) {
578
689
  formula: f,
579
690
  desc: `\`${action}\` is irreversible and may be called at most once`,
580
691
  patternName: "irreversible_once",
692
+ args: [action],
581
693
  liveness: false,
582
694
  };
583
695
  }
@@ -589,6 +701,7 @@ export function confirmAfterSource(source, action) {
589
701
  formula: called(source),
590
702
  desc: `\`${source}\` has been called`,
591
703
  patternName: "confirm_after_source_assumption",
704
+ args: [source, action],
592
705
  liveness: false,
593
706
  },
594
707
  guarantee: mustPrecede(confirm, action),
@@ -601,6 +714,7 @@ export function tokenBudget(maxTokens, scope = "total") {
601
714
  formula: f,
602
715
  desc: `session ${scope} tokens must not exceed ${maxTokens}`,
603
716
  patternName: "token_budget",
717
+ args: [maxTokens, scope],
604
718
  liveness: false,
605
719
  };
606
720
  }
@@ -630,6 +744,7 @@ export function argValueRange(tool, field, minVal, maxVal) {
630
744
  formula: f,
631
745
  desc: `\`${tool}\`.${field} must be in range ${rangeStr}`,
632
746
  patternName: "arg_value_range",
747
+ args: [tool, field, minVal, maxVal],
633
748
  liveness: false,
634
749
  };
635
750
  }
@@ -639,6 +754,7 @@ export function delegationDepthLimit(maxDepth) {
639
754
  formula: f,
640
755
  desc: `delegation chain must not exceed depth ${maxDepth}`,
641
756
  patternName: "delegation_depth_limit",
757
+ args: [maxDepth],
642
758
  liveness: false,
643
759
  };
644
760
  }
@@ -706,6 +822,7 @@ export function noPii(fields) {
706
822
  formula: f,
707
823
  desc: `response must not contain PII (${selected.join(", ")})`,
708
824
  patternName: "no_pii",
825
+ args: [selected],
709
826
  liveness: false,
710
827
  };
711
828
  }
@@ -728,6 +845,7 @@ export function noKeywords(words) {
728
845
  formula: f,
729
846
  desc: `response must not contain keywords: ${JSON.stringify(words)}`,
730
847
  patternName: "no_keywords",
848
+ args: [words],
731
849
  liveness: false,
732
850
  };
733
851
  }
@@ -755,6 +873,7 @@ export function ctxRequired(tool, key, allowedValues) {
755
873
  formula: f,
756
874
  desc: `${tool} requires ctx[${key}] ∈ [${cleanValues.join(", ")}]`,
757
875
  patternName: "ctx_required",
876
+ args: [tool, key, cleanValues],
758
877
  liveness: false,
759
878
  };
760
879
  }
@@ -772,6 +891,7 @@ export function ctxMatchesRequired(tool, key, pattern) {
772
891
  formula: f,
773
892
  desc: `${tool} requires ctx[${key}] to match /${pattern}/`,
774
893
  patternName: "ctx_matches_required",
894
+ args: [tool, key, pattern],
775
895
  liveness: false,
776
896
  };
777
897
  }
@@ -792,6 +912,7 @@ export function timeSince(predicateKey, maxSeconds) {
792
912
  formula: f,
793
913
  desc: `${predicateKey} must have occurred within last ${maxSeconds}s`,
794
914
  patternName: "time_since",
915
+ args: [predicateKey, maxSeconds],
795
916
  liveness: false,
796
917
  };
797
918
  }
@@ -826,6 +947,7 @@ export function approvalActive(action, role, maxSeconds) {
826
947
  formula: f,
827
948
  desc: `${action} requires active ${role} approval (≤${maxSeconds}s old)`,
828
949
  patternName: "approval_active",
950
+ args: [action, role, maxSeconds],
829
951
  liveness: false,
830
952
  };
831
953
  }
@@ -843,6 +965,7 @@ export function neverTogether(a, b) {
843
965
  return {
844
966
  ...me,
845
967
  patternName: "never_together",
968
+ args: [a, b],
846
969
  desc: `${a} and ${b} must never occur together`,
847
970
  };
848
971
  }
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/core/patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/core/patterns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * One canonical spelling for a tool name, shared by contracts and grounding.
3
+ *
4
+ * Port of sponsio/formulas/tool_names.py.
5
+ *
6
+ * Predicate keys are map keys: ``called(issue_refund)`` and
7
+ * ``called(Issue_Refund)`` are different entries, and a contract looks up
8
+ * the spelling its author typed. So a rule written against ``issue_refund``
9
+ * was silently inert against an event whose tool arrived as
10
+ * ``Issue_Refund``, as ``"issue_refund "`` with a stray space, or as
11
+ * ``mcp__finance__issue_refund`` (our own documented MCP wire format).
12
+ * ``mustPrecede`` compiles to ``Or(order-holds, never-called)``, so a name
13
+ * that never matches makes the second disjunct true and the contract
14
+ * reports satisfied while the guarded action runs unchecked.
15
+ *
16
+ * Two functions, used on opposite sides of the same join:
17
+ *
18
+ * - {@link canonicalTool}: what a *contract* keys on. Contracts are
19
+ * authored once, so they collapse to a single canonical spelling.
20
+ * - {@link toolAliases}: what an *event* answers to. A tool call is a fact
21
+ * and cannot be rewritten, so it is grounded under every spelling a
22
+ * contract might reasonably have used, canonical form included.
23
+ *
24
+ * Widening only ever makes more contracts apply to a given call, never
25
+ * fewer.
26
+ */
27
+ /**
28
+ * Claude Code / MCP wire format: ``mcp__<server>__<tool>``, prefix in any
29
+ * case (``MCP__finance__x`` is the same call). The server segment has no
30
+ * ``__`` of its own; the tool segment may, so the split is on the FIRST
31
+ * ``__`` after the prefix. ``[^\n]`` rather than ``.`` because
32
+ * Python's ``.`` excludes only ``\n`` while JavaScript's also excludes
33
+ * ``\r`` and U+2028/2029.
34
+ */
35
+ export declare const MCP_TOOL_RE: RegExp;
36
+ /**
37
+ * OpenClaw's MCP wire format: ``<server>__<tool>`` with no ``mcp__``
38
+ * prefix. Same split; consulted only when {@link MCP_TOOL_RE} did not
39
+ * match, so the ``mcp`` of a prefixed name is never read as a server.
40
+ */
41
+ export declare const SERVER_TOOL_RE: RegExp;
42
+ /**
43
+ * The single spelling a contract keys on.
44
+ *
45
+ * Strips surrounding whitespace and case-folds. The MCP prefix is *not*
46
+ * stripped here: a contract that deliberately names
47
+ * ``mcp__finance__issue_refund`` means that server's tool and should not
48
+ * widen to every tool of that name. Grounding supplies the bare-name
49
+ * alias so the reverse direction still joins.
50
+ */
51
+ export declare function canonicalTool(tool: string): string;
52
+ /**
53
+ * Every spelling an event's tool call should answer to.
54
+ *
55
+ * Ordered, duplicate-free, and always contains the raw name first so
56
+ * existing traces and predicate keys keep working unchanged.
57
+ */
58
+ export declare function toolAliases(tool: string): string[];
59
+ //# sourceMappingURL=tool-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-names.d.ts","sourceRoot":"","sources":["../../src/core/tool-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,QAAyC,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAmC,CAAC;AA4D/D;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAQlD"}