@sponsio/sdk 0.1.0-alpha.3 → 0.2.0-alpha.4

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 (203) hide show
  1. package/bin/sponsio.cjs +11 -0
  2. package/contracts/benchmark/agentdojo.yaml +551 -0
  3. package/contracts/benchmark/odcv_bench.yaml +393 -0
  4. package/contracts/benchmark/redcode_exec.yaml +488 -0
  5. package/contracts/benchmark/swebench.yaml +176 -0
  6. package/contracts/benchmark/tau2_bench.yaml +984 -0
  7. package/contracts/capability/credentials.yaml +8 -8
  8. package/contracts/capability/database.yaml +6 -6
  9. package/contracts/capability/filesystem-strict.yaml +4 -4
  10. package/contracts/capability/filesystem.yaml +9 -9
  11. package/contracts/capability/host-config-integrity.yaml +285 -0
  12. package/contracts/capability/self-modify.yaml +214 -9
  13. package/contracts/capability/shell.yaml +25 -32
  14. package/contracts/capability/subagent.yaml +5 -5
  15. package/contracts/core/llm_safety.yaml +21 -13
  16. package/contracts/incident/claude-code-secret-bypass.yaml +11 -12
  17. package/contracts/incident/cursor-railway-wipe.yaml +3 -3
  18. package/contracts/incident/mcp-composition.yaml +12 -12
  19. package/contracts/incident/openclaw.yaml +54 -45
  20. package/contracts/incident/subagent-escape.yaml +4 -4
  21. package/contracts/premium/.gitkeep +5 -6
  22. package/dist/cli/check.d.ts +2 -0
  23. package/dist/cli/check.d.ts.map +1 -0
  24. package/dist/cli/check.js +283 -0
  25. package/dist/cli/check.js.map +1 -0
  26. package/dist/cli/cli.d.ts +25 -0
  27. package/dist/cli/cli.d.ts.map +1 -0
  28. package/dist/cli/cli.js +459 -0
  29. package/dist/cli/cli.js.map +1 -0
  30. package/dist/cli/config.d.ts +88 -0
  31. package/dist/cli/config.d.ts.map +1 -0
  32. package/dist/cli/config.js +243 -0
  33. package/dist/cli/config.js.map +1 -0
  34. package/dist/cli/demo.d.ts +12 -0
  35. package/dist/cli/demo.d.ts.map +1 -0
  36. package/dist/cli/demo.js +350 -0
  37. package/dist/cli/demo.js.map +1 -0
  38. package/dist/cli/doctor.d.ts +11 -0
  39. package/dist/cli/doctor.d.ts.map +1 -0
  40. package/dist/cli/doctor.js +201 -0
  41. package/dist/cli/doctor.js.map +1 -0
  42. package/dist/cli/eval.d.ts +2 -0
  43. package/dist/cli/eval.d.ts.map +1 -0
  44. package/dist/cli/eval.js +361 -0
  45. package/dist/cli/eval.js.map +1 -0
  46. package/dist/cli/explain.d.ts +2 -0
  47. package/dist/cli/explain.d.ts.map +1 -0
  48. package/dist/cli/explain.js +266 -0
  49. package/dist/cli/explain.js.map +1 -0
  50. package/dist/cli/export-sessions.d.ts +2 -0
  51. package/dist/cli/export-sessions.d.ts.map +1 -0
  52. package/dist/cli/export-sessions.js +182 -0
  53. package/dist/cli/export-sessions.js.map +1 -0
  54. package/dist/cli/export.d.ts +2 -0
  55. package/dist/cli/export.d.ts.map +1 -0
  56. package/dist/cli/export.js +222 -0
  57. package/dist/cli/export.js.map +1 -0
  58. package/dist/cli/extractors/common.d.ts +27 -0
  59. package/dist/cli/extractors/common.d.ts.map +1 -0
  60. package/dist/cli/extractors/common.js +107 -0
  61. package/dist/cli/extractors/common.js.map +1 -0
  62. package/dist/cli/extractors/generic.d.ts +37 -0
  63. package/dist/cli/extractors/generic.d.ts.map +1 -0
  64. package/dist/cli/extractors/generic.js +185 -0
  65. package/dist/cli/extractors/generic.js.map +1 -0
  66. package/dist/cli/extractors/langchain.d.ts +18 -0
  67. package/dist/cli/extractors/langchain.d.ts.map +1 -0
  68. package/dist/cli/extractors/langchain.js +86 -0
  69. package/dist/cli/extractors/langchain.js.map +1 -0
  70. package/dist/cli/extractors/vercel.d.ts +17 -0
  71. package/dist/cli/extractors/vercel.d.ts.map +1 -0
  72. package/dist/cli/extractors/vercel.js +46 -0
  73. package/dist/cli/extractors/vercel.js.map +1 -0
  74. package/dist/cli/index.d.ts +38 -0
  75. package/dist/cli/index.d.ts.map +1 -0
  76. package/dist/cli/index.js +146 -0
  77. package/dist/cli/index.js.map +1 -0
  78. package/dist/cli/init.d.ts +2 -0
  79. package/dist/cli/init.d.ts.map +1 -0
  80. package/dist/cli/init.js +177 -0
  81. package/dist/cli/init.js.map +1 -0
  82. package/dist/cli/mode.d.ts +2 -0
  83. package/dist/cli/mode.d.ts.map +1 -0
  84. package/dist/cli/mode.js +71 -0
  85. package/dist/cli/mode.js.map +1 -0
  86. package/dist/cli/onboard.d.ts +88 -0
  87. package/dist/cli/onboard.d.ts.map +1 -0
  88. package/dist/cli/onboard.js +758 -0
  89. package/dist/cli/onboard.js.map +1 -0
  90. package/dist/cli/otlp.d.ts +27 -0
  91. package/dist/cli/otlp.d.ts.map +1 -0
  92. package/dist/cli/otlp.js +79 -0
  93. package/dist/cli/otlp.js.map +1 -0
  94. package/dist/cli/package.json +1 -0
  95. package/dist/cli/packs.d.ts +16 -0
  96. package/dist/cli/packs.d.ts.map +1 -0
  97. package/dist/cli/packs.js +184 -0
  98. package/dist/cli/packs.js.map +1 -0
  99. package/dist/cli/patterns.d.ts +16 -0
  100. package/dist/cli/patterns.d.ts.map +1 -0
  101. package/dist/cli/patterns.js +136 -0
  102. package/dist/cli/patterns.js.map +1 -0
  103. package/dist/cli/prompt.d.ts +2 -0
  104. package/dist/cli/prompt.d.ts.map +1 -0
  105. package/dist/cli/prompt.js +54 -0
  106. package/dist/cli/prompt.js.map +1 -0
  107. package/dist/cli/replay.d.ts +2 -0
  108. package/dist/cli/replay.d.ts.map +1 -0
  109. package/dist/cli/replay.js +196 -0
  110. package/dist/cli/replay.js.map +1 -0
  111. package/dist/cli/report.d.ts +57 -0
  112. package/dist/cli/report.d.ts.map +1 -0
  113. package/dist/cli/report.js +298 -0
  114. package/dist/cli/report.js.map +1 -0
  115. package/dist/cli/scan.d.ts +2 -0
  116. package/dist/cli/scan.d.ts.map +1 -0
  117. package/dist/cli/scan.js +172 -0
  118. package/dist/cli/scan.js.map +1 -0
  119. package/dist/cli/skill.d.ts +15 -0
  120. package/dist/cli/skill.d.ts.map +1 -0
  121. package/dist/cli/skill.js +131 -0
  122. package/dist/cli/skill.js.map +1 -0
  123. package/dist/cli/tokens.d.ts +31 -0
  124. package/dist/cli/tokens.d.ts.map +1 -0
  125. package/dist/cli/tokens.js +73 -0
  126. package/dist/cli/tokens.js.map +1 -0
  127. package/dist/cli/types.d.ts +46 -0
  128. package/dist/cli/types.d.ts.map +1 -0
  129. package/dist/cli/types.js +3 -0
  130. package/dist/cli/types.js.map +1 -0
  131. package/dist/cli/validate.d.ts +19 -0
  132. package/dist/cli/validate.d.ts.map +1 -0
  133. package/dist/cli/validate.js +205 -0
  134. package/dist/cli/validate.js.map +1 -0
  135. package/dist/cli/zod.d.ts +36 -0
  136. package/dist/cli/zod.d.ts.map +1 -0
  137. package/dist/cli/zod.js +226 -0
  138. package/dist/cli/zod.js.map +1 -0
  139. package/dist/contract.d.ts +13 -13
  140. package/dist/contract.d.ts.map +1 -1
  141. package/dist/contract.js +21 -21
  142. package/dist/contract.js.map +1 -1
  143. package/dist/core/config-loader.d.ts +1 -1
  144. package/dist/core/config-loader.d.ts.map +1 -1
  145. package/dist/core/config-loader.js +100 -26
  146. package/dist/core/config-loader.js.map +1 -1
  147. package/dist/core/evaluator.d.ts +9 -1
  148. package/dist/core/evaluator.d.ts.map +1 -1
  149. package/dist/core/evaluator.js +189 -13
  150. package/dist/core/evaluator.js.map +1 -1
  151. package/dist/core/formula.d.ts +76 -17
  152. package/dist/core/formula.d.ts.map +1 -1
  153. package/dist/core/formula.js +83 -1
  154. package/dist/core/formula.js.map +1 -1
  155. package/dist/core/grounding.d.ts +50 -3
  156. package/dist/core/grounding.d.ts.map +1 -1
  157. package/dist/core/grounding.js +317 -141
  158. package/dist/core/grounding.js.map +1 -1
  159. package/dist/core/nl-parser.d.ts +1 -1
  160. package/dist/core/nl-parser.d.ts.map +1 -1
  161. package/dist/core/nl-parser.js +76 -4
  162. package/dist/core/nl-parser.js.map +1 -1
  163. package/dist/core/pack-loader.d.ts.map +1 -1
  164. package/dist/core/pack-loader.js +14 -2
  165. package/dist/core/pack-loader.js.map +1 -1
  166. package/dist/core/parser.d.ts.map +1 -1
  167. package/dist/core/parser.js +30 -1
  168. package/dist/core/parser.js.map +1 -1
  169. package/dist/core/pattern-factory.d.ts +4 -4
  170. package/dist/core/pattern-factory.d.ts.map +1 -1
  171. package/dist/core/pattern-factory.js +53 -4
  172. package/dist/core/pattern-factory.js.map +1 -1
  173. package/dist/core/patterns.d.ts +127 -5
  174. package/dist/core/patterns.d.ts.map +1 -1
  175. package/dist/core/patterns.js +267 -3
  176. package/dist/core/patterns.js.map +1 -1
  177. package/dist/core/session-log.d.ts.map +1 -1
  178. package/dist/core/session-log.js +20 -1
  179. package/dist/core/session-log.js.map +1 -1
  180. package/dist/core/spans.d.ts +1 -1
  181. package/dist/core/spans.d.ts.map +1 -1
  182. package/dist/core/spans.js.map +1 -1
  183. package/dist/core/sto.d.ts +30 -66
  184. package/dist/core/sto.d.ts.map +1 -1
  185. package/dist/core/sto.js +39 -100
  186. package/dist/core/sto.js.map +1 -1
  187. package/dist/index.d.ts +83 -33
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js +194 -142
  190. package/dist/index.js.map +1 -1
  191. package/dist/integrations/openai-agents.d.ts.map +1 -1
  192. package/dist/integrations/openai-agents.js +6 -4
  193. package/dist/integrations/openai-agents.js.map +1 -1
  194. package/dist/integrations/vercel-ai.d.ts.map +1 -1
  195. package/dist/integrations/vercel-ai.js +21 -3
  196. package/dist/integrations/vercel-ai.js.map +1 -1
  197. package/dist/render/tokens.d.ts.map +1 -1
  198. package/dist/render/tokens.js +1 -0
  199. package/dist/render/tokens.js.map +1 -1
  200. package/package.json +35 -7
  201. package/prompts/onboard.md +246 -0
  202. package/prompts/scan.md +123 -0
  203. package/skills/SKILL.md +432 -0
@@ -17,19 +17,46 @@
17
17
  * Workflow hygiene (6): dryRunBeforeCommit, backupBeforeDestructive,
18
18
  * auditAfter, approvalFreshness, sanitizedBeforeSink, duplicateCallLimit
19
19
  */
20
- import { Formula } from "./formula.js";
20
+ import { Formula, Atom } from "./formula.js";
21
21
  export interface DetFormula {
22
22
  formula: Formula;
23
23
  desc: string;
24
24
  patternName: string;
25
25
  liveness: boolean;
26
+ /**
27
+ * Per-contract enforcement mode: `enforce` | `observe`.
28
+ *
29
+ * Overrides the engine's global mode for this contract alone —
30
+ * mirrors Python's `ContractEntry.mode`. `undefined` means "no
31
+ * opinion" and the global mode applies; that distinction matters,
32
+ * since defaulting to `observe` here would silently downgrade every
33
+ * contract that simply did not mention a mode.
34
+ */
35
+ mode?: "enforce" | "observe";
26
36
  }
27
- export interface AssumptionEnforcementPair {
37
+ export interface AssumeGuaranteePair {
28
38
  assumption: DetFormula;
29
- enforcement: DetFormula;
39
+ guarantee: DetFormula;
30
40
  }
31
41
  export declare function mustPrecede(before: string, after: string): DetFormula;
32
42
  export declare function alwaysFollowedBy(trigger: string, response: string): DetFormula;
43
+ /**
44
+ * Prescriptive next-step obligation: ``G(trigger -> X(next_action))``.
45
+ *
46
+ * When ``trigger`` holds at the current event, the agent must satisfy
47
+ * ``next_action`` at the very next event. Prescriptive counterpart to
48
+ * the block-style patterns (``never_together``, ``arg_blacklist``):
49
+ * instead of "you must not do X", a workflow_step says "you must do X
50
+ * next".
51
+ *
52
+ * Both arguments are arbitrary atoms (called(...), ctx(k, v),
53
+ * arg_field_has(...), etc.), so the same factory covers tool ordering,
54
+ * ctx-driven remediation, and arg-conditional follow-ups.
55
+ *
56
+ * NOT marked liveness: X is one-step bounded and the runtime can decide
57
+ * the obligation after a single event, unlike F.
58
+ */
59
+ export declare function workflowStep(trigger: Atom, nextAction: Atom, desc?: string): DetFormula;
33
60
  export declare function noReversal(commitment: string, contradiction: string): DetFormula;
34
61
  export declare function requiresPermission(tool: string, permission: string): DetFormula;
35
62
  export declare function noDataLeak(source: string, external: string): DetFormula;
@@ -54,14 +81,109 @@ export declare function scopeLimit(tool: string, allowedPaths: string[]): DetFor
54
81
  export declare function argLengthLimit(tool: string, param: string, maxChars: number): DetFormula;
55
82
  export declare function dataIntact(boundTool: string, originalPaths: string[]): DetFormula;
56
83
  export declare function destructiveActionGate(tool: string, approverRole?: string): DetFormula;
57
- export declare function untrustedSourceGate(source: string, sink: string, confirm?: string): AssumptionEnforcementPair;
84
+ export declare function untrustedSourceGate(source: string, sink: string, confirm?: string): AssumeGuaranteePair;
58
85
  export declare function requiredStepsCompletion(trigger: string, steps: string[]): DetFormula;
59
86
  export declare function toolAllowlist(allowedTools: string[]): DetFormula;
87
+ /**
88
+ * Substitute a forbidden tool call with a pre-approved safe one.
89
+ *
90
+ * Parity with Python ``sponsio.patterns.library.redirect_to_safe``:
91
+ * compiles to ``G(Not(called(unsafe)))``, so any call to ``unsafe`` is
92
+ * a violation.
93
+ *
94
+ * **Important runtime caveat.** The TS SDK is currently det-only and
95
+ * has no strategy / dispatch system. The formula side of
96
+ * ``redirectToSafe`` works here (a violation IS surfaced), but the TS
97
+ * SDK does NOT yet do the Python-side trick of bundling a
98
+ * ``RedirectToSafe`` strategy on the formula and having adapter
99
+ * ``wrap()`` paths substitute the call. The runtime outcome on TS is
100
+ * functionally a block: the unsafe tool is rejected, and the user's
101
+ * application loop has to decide whether to dispatch the safe
102
+ * substitute manually. Full strategy / dispatch parity is tracked as
103
+ * a separate work item. Users wiring redirect-style contracts who
104
+ * need transparent substitution should stay on the Python SDK
105
+ * (LangGraph adapter) until the TS strategy port lands.
106
+ */
107
+ export declare function redirectToSafe(unsafe: string, safe: string): DetFormula;
60
108
  export declare function dangerousBashCommands(forbidden?: string[]): DetFormula;
61
109
  export declare function dangerousSqlVerbs(tool?: string, forbidden?: string[]): DetFormula;
62
110
  export declare function irreversibleOnce(action: string): DetFormula;
63
- export declare function confirmAfterSource(source: string, action: string): AssumptionEnforcementPair;
111
+ export declare function confirmAfterSource(source: string, action: string): AssumeGuaranteePair;
64
112
  export declare function tokenBudget(maxTokens: number, scope?: string): DetFormula;
65
113
  export declare function argValueRange(tool: string, field: string, minVal?: number, maxVal?: number): DetFormula;
66
114
  export declare function delegationDepthLimit(maxDepth: number): DetFormula;
115
+ /**
116
+ * Response length must stay within the given word / character budget.
117
+ *
118
+ * Grounded against ``response_words`` / ``response_chars`` populated on
119
+ * ``llm_response`` events with content. At non-response events both
120
+ * default to 0, so the constraint is vacuously satisfied.
121
+ */
122
+ export declare function maxLength(opts: {
123
+ maxWords?: number;
124
+ maxChars?: number;
125
+ desc?: string;
126
+ }): DetFormula;
127
+ /**
128
+ * Response must not contain regex-detectable PII (SSN, CC, email, phone).
129
+ *
130
+ * Uses the ``llm_said`` grounding atom — the selected default patterns
131
+ * are joined with ``|`` and matched against each ``llm_response`` event.
132
+ * For semantic PII detection (names, contextual identifiers) use a sto
133
+ * atom; this pattern only covers syntactic PII.
134
+ */
135
+ export declare function noPii(fields?: string[]): DetFormula;
136
+ /**
137
+ * Response must not contain any of the given keywords. Keywords are
138
+ * escaped and joined into a word-boundary-anchored regex checked
139
+ * against each ``llm_response`` event via ``llm_said``.
140
+ *
141
+ * JS regex doesn't support inline ``(?i)`` flags — we lower-case the
142
+ * regex by expanding letters to ``[aA]``-style char classes, matching
143
+ * Python's ``(?i)`` semantics.
144
+ */
145
+ export declare function noKeywords(words: string[]): DetFormula;
146
+ /**
147
+ * When ``tool`` is called, ``ctx[key]`` must be one of ``allowedValues``.
148
+ * Fail-closed: missing context evaluates to violation, so forgetting
149
+ * to wire ``observeContext`` is loud rather than silent.
150
+ */
151
+ export declare function ctxRequired(tool: string, key: string, allowedValues: string[]): DetFormula;
152
+ /**
153
+ * When ``tool`` is called, ``ctx[key]`` must match the regex ``pattern``.
154
+ * Regex variant of :func:`ctxRequired` for cases where the allowed set
155
+ * is better expressed as a pattern than an exhaustive list.
156
+ */
157
+ export declare function ctxMatchesRequired(tool: string, key: string, pattern: string): DetFormula;
158
+ /**
159
+ * Constrain how recently a predicate was last true. The argument is the
160
+ * grounded predicate key string (e.g. ``"called(refund)"`` or
161
+ * ``"ctx(approval.role, alice)"``) — same convention as Python's
162
+ * ``time_since`` factory.
163
+ */
164
+ export declare function timeSince(predicateKey: string, maxSeconds: number): DetFormula;
165
+ /**
166
+ * Gate ``action`` on a recent allow-decision approval from ``role``.
167
+ *
168
+ * Compiles to::
169
+ * G(called(action) → (
170
+ * ctx_matches("approval.role", role)
171
+ * ∧ ctx_matches("approval.decision", "allow")
172
+ * ∧ time_since("ctx(approval.role, role)") ≤ maxSeconds
173
+ * ))
174
+ *
175
+ * Pairs with ``observeApproval({role, decision})`` on the integration
176
+ * side.
177
+ */
178
+ export declare function approvalActive(action: string, role: string, maxSeconds: number): DetFormula;
179
+ /**
180
+ * @deprecated — use :func:`mutualExclusion` instead.
181
+ *
182
+ * In sequential traces, two tool calls are always at different
183
+ * timesteps, so the formula ``G(¬(called(A) ∧ called(B)))`` is
184
+ * trivially satisfied and can never detect violations. Delegates to
185
+ * ``mutualExclusion`` for correct behavior; kept so yaml authored
186
+ * against Python's deprecated entry still loads.
187
+ */
188
+ export declare function neverTogether(a: string, b: string): DetFormula;
67
189
  //# sourceMappingURL=patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/core/patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/core/patterns.ts"],"names":[],"mappings":"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"}
@@ -125,6 +125,33 @@ export function alwaysFollowedBy(trigger, response) {
125
125
  liveness: true,
126
126
  };
127
127
  }
128
+ /**
129
+ * Prescriptive next-step obligation: ``G(trigger -> X(next_action))``.
130
+ *
131
+ * When ``trigger`` holds at the current event, the agent must satisfy
132
+ * ``next_action`` at the very next event. Prescriptive counterpart to
133
+ * the block-style patterns (``never_together``, ``arg_blacklist``):
134
+ * instead of "you must not do X", a workflow_step says "you must do X
135
+ * next".
136
+ *
137
+ * Both arguments are arbitrary atoms (called(...), ctx(k, v),
138
+ * arg_field_has(...), etc.), so the same factory covers tool ordering,
139
+ * ctx-driven remediation, and arg-conditional follow-ups.
140
+ *
141
+ * NOT marked liveness: X is one-step bounded and the runtime can decide
142
+ * the obligation after a single event, unlike F.
143
+ */
144
+ export function workflowStep(trigger, nextAction, desc) {
145
+ const f = new G(new Implies(trigger, new X(nextAction)));
146
+ const triggerStr = `${trigger.predicate}(${trigger.args.join(", ")})`;
147
+ const nextStr = `${nextAction.predicate}(${nextAction.args.join(", ")})`;
148
+ return {
149
+ formula: f,
150
+ desc: desc ?? `after ${triggerStr} the next event must satisfy ${nextStr}`,
151
+ patternName: "workflow_step",
152
+ liveness: false,
153
+ };
154
+ }
128
155
  export function noReversal(commitment, contradiction) {
129
156
  ensureDistinct(commitment, contradiction, "noReversal", "commitment", "contradiction");
130
157
  const f = new G(new Implies(called(commitment), new G(new Not(called(contradiction)))));
@@ -187,7 +214,11 @@ export function deadline(trigger, action, steps) {
187
214
  formula: f,
188
215
  desc: `\`${action}\` must occur within ${steps} steps of \`${trigger}\``,
189
216
  patternName: "deadline",
190
- liveness: true,
217
+ // Bounded-window liveness: ``X(boundedEventually(action, steps))``
218
+ // is decidable on a bounded prefix (steps + 1 events past the
219
+ // trigger), so it CAN fire mid-session — runtime parity with
220
+ // Python ``deadline.liveness == False``.
221
+ liveness: false,
191
222
  };
192
223
  }
193
224
  export function mustConfirm(action) {
@@ -392,7 +423,7 @@ export function untrustedSourceGate(source, sink, confirm = "") {
392
423
  patternName: "untrusted_source_gate_assumption",
393
424
  liveness: false,
394
425
  },
395
- enforcement: mustPrecede(confirmAction, sink),
426
+ guarantee: mustPrecede(confirmAction, sink),
396
427
  };
397
428
  }
398
429
  export function requiredStepsCompletion(trigger, steps) {
@@ -451,6 +482,35 @@ export function toolAllowlist(allowedTools) {
451
482
  liveness: false,
452
483
  };
453
484
  }
485
+ /**
486
+ * Substitute a forbidden tool call with a pre-approved safe one.
487
+ *
488
+ * Parity with Python ``sponsio.patterns.library.redirect_to_safe``:
489
+ * compiles to ``G(Not(called(unsafe)))``, so any call to ``unsafe`` is
490
+ * a violation.
491
+ *
492
+ * **Important runtime caveat.** The TS SDK is currently det-only and
493
+ * has no strategy / dispatch system. The formula side of
494
+ * ``redirectToSafe`` works here (a violation IS surfaced), but the TS
495
+ * SDK does NOT yet do the Python-side trick of bundling a
496
+ * ``RedirectToSafe`` strategy on the formula and having adapter
497
+ * ``wrap()`` paths substitute the call. The runtime outcome on TS is
498
+ * functionally a block: the unsafe tool is rejected, and the user's
499
+ * application loop has to decide whether to dispatch the safe
500
+ * substitute manually. Full strategy / dispatch parity is tracked as
501
+ * a separate work item. Users wiring redirect-style contracts who
502
+ * need transparent substitution should stay on the Python SDK
503
+ * (LangGraph adapter) until the TS strategy port lands.
504
+ */
505
+ export function redirectToSafe(unsafe, safe) {
506
+ ensureDistinct(unsafe, safe, "redirectToSafe", "unsafe", "safe");
507
+ return {
508
+ formula: new G(new Not(called(unsafe))),
509
+ desc: `redirect \`${unsafe}\` -> \`${safe}\``,
510
+ patternName: "redirect_to_safe",
511
+ liveness: false,
512
+ };
513
+ }
454
514
  export function dangerousBashCommands(forbidden) {
455
515
  const defaults = [
456
516
  "sed -i", "rm -rf", "cp /app/data", "mv /app/data",
@@ -531,7 +591,7 @@ export function confirmAfterSource(source, action) {
531
591
  patternName: "confirm_after_source_assumption",
532
592
  liveness: false,
533
593
  },
534
- enforcement: mustPrecede(confirm, action),
594
+ guarantee: mustPrecede(confirm, action),
535
595
  };
536
596
  }
537
597
  // --- Resource / delegation patterns ---
@@ -582,4 +642,208 @@ export function delegationDepthLimit(maxDepth) {
582
642
  liveness: false,
583
643
  };
584
644
  }
645
+ // --- Layer 3 — Response content patterns ---
646
+ /** Default PII regex set, mirrored from Python ``_DEFAULT_PII_PATTERNS``. */
647
+ const DEFAULT_PII_PATTERNS = {
648
+ ssn: "\\b\\d{3}-\\d{2}-\\d{4}\\b",
649
+ credit_card: "\\b\\d{4}[\\s-]?\\d{4}[\\s-]?\\d{4}[\\s-]?\\d{4}\\b",
650
+ email: "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b",
651
+ phone: "\\b(?:\\+?1[-.\\s]?)?\\(?\\d{3}\\)?[-.\\s]?\\d{3}[-.\\s]?\\d{4}\\b",
652
+ };
653
+ /**
654
+ * Response length must stay within the given word / character budget.
655
+ *
656
+ * Grounded against ``response_words`` / ``response_chars`` populated on
657
+ * ``llm_response`` events with content. At non-response events both
658
+ * default to 0, so the constraint is vacuously satisfied.
659
+ */
660
+ export function maxLength(opts) {
661
+ const { maxWords, maxChars, desc } = opts;
662
+ if (maxWords == null && maxChars == null) {
663
+ throw new Error("max_length requires maxWords or maxChars");
664
+ }
665
+ const parts = [];
666
+ if (maxWords != null)
667
+ parts.push(new Le(new Var("response_words"), new Const(maxWords)));
668
+ if (maxChars != null)
669
+ parts.push(new Le(new Var("response_chars"), new Const(maxChars)));
670
+ const body = parts.length === 1 ? parts[0] : new And(parts[0], parts[1]);
671
+ const f = new G(body);
672
+ let descStr;
673
+ if (desc)
674
+ descStr = desc;
675
+ else if (maxWords != null && maxChars != null)
676
+ descStr = `response ≤ ${maxWords} words and ≤ ${maxChars} chars`;
677
+ else if (maxWords != null)
678
+ descStr = `response ≤ ${maxWords} words`;
679
+ else
680
+ descStr = `response ≤ ${maxChars} chars`;
681
+ return {
682
+ formula: f,
683
+ desc: descStr,
684
+ patternName: "max_length",
685
+ liveness: false,
686
+ };
687
+ }
688
+ /**
689
+ * Response must not contain regex-detectable PII (SSN, CC, email, phone).
690
+ *
691
+ * Uses the ``llm_said`` grounding atom — the selected default patterns
692
+ * are joined with ``|`` and matched against each ``llm_response`` event.
693
+ * For semantic PII detection (names, contextual identifiers) use a sto
694
+ * atom; this pattern only covers syntactic PII.
695
+ */
696
+ export function noPii(fields) {
697
+ const selected = fields ?? Object.keys(DEFAULT_PII_PATTERNS);
698
+ const unknown = selected.filter((f) => !(f in DEFAULT_PII_PATTERNS));
699
+ if (unknown.length > 0) {
700
+ throw new Error(`unknown PII field(s): ${JSON.stringify(unknown.sort())}. ` +
701
+ `Available: ${JSON.stringify(Object.keys(DEFAULT_PII_PATTERNS).sort())}`);
702
+ }
703
+ const pattern = selected.map((f) => DEFAULT_PII_PATTERNS[f]).join("|");
704
+ const f = new G(new Not(new Atom("llm_said", [pattern])));
705
+ return {
706
+ formula: f,
707
+ desc: `response must not contain PII (${selected.join(", ")})`,
708
+ patternName: "no_pii",
709
+ liveness: false,
710
+ };
711
+ }
712
+ /**
713
+ * Response must not contain any of the given keywords. Keywords are
714
+ * escaped and joined into a word-boundary-anchored regex checked
715
+ * against each ``llm_response`` event via ``llm_said``.
716
+ *
717
+ * JS regex doesn't support inline ``(?i)`` flags — we lower-case the
718
+ * regex by expanding letters to ``[aA]``-style char classes, matching
719
+ * Python's ``(?i)`` semantics.
720
+ */
721
+ export function noKeywords(words) {
722
+ if (!words || words.length === 0) {
723
+ throw new Error("no_keywords requires at least one keyword");
724
+ }
725
+ const pattern = `\\b(${words.map((w) => caseInsensitiveLiteral(w)).join("|")})\\b`;
726
+ const f = new G(new Not(new Atom("llm_said", [pattern])));
727
+ return {
728
+ formula: f,
729
+ desc: `response must not contain keywords: ${JSON.stringify(words)}`,
730
+ patternName: "no_keywords",
731
+ liveness: false,
732
+ };
733
+ }
734
+ // --- Layer 3 — External-fact (ctx) patterns ---
735
+ /**
736
+ * When ``tool`` is called, ``ctx[key]`` must be one of ``allowedValues``.
737
+ * Fail-closed: missing context evaluates to violation, so forgetting
738
+ * to wire ``observeContext`` is loud rather than silent.
739
+ */
740
+ export function ctxRequired(tool, key, allowedValues) {
741
+ ensureNonEmpty(tool, "ctxRequired", "tool");
742
+ ensureNonEmpty(key, "ctxRequired", "key");
743
+ if (!allowedValues || allowedValues.length === 0) {
744
+ throw new Error("ctx_required: 'allowed_values' must not be empty — an empty " +
745
+ "allowlist rejects every call to the tool. Use " +
746
+ "`tool_allowlist([])` if you really want to block everything.");
747
+ }
748
+ const cleanValues = allowedValues.map((v) => String(v));
749
+ let disjunction = new Atom("ctx", [key, cleanValues[0]]);
750
+ for (let i = 1; i < cleanValues.length; i++) {
751
+ disjunction = new Or(disjunction, new Atom("ctx", [key, cleanValues[i]]));
752
+ }
753
+ const f = new G(new Implies(called(tool), disjunction));
754
+ return {
755
+ formula: f,
756
+ desc: `${tool} requires ctx[${key}] ∈ [${cleanValues.join(", ")}]`,
757
+ patternName: "ctx_required",
758
+ liveness: false,
759
+ };
760
+ }
761
+ /**
762
+ * When ``tool`` is called, ``ctx[key]`` must match the regex ``pattern``.
763
+ * Regex variant of :func:`ctxRequired` for cases where the allowed set
764
+ * is better expressed as a pattern than an exhaustive list.
765
+ */
766
+ export function ctxMatchesRequired(tool, key, pattern) {
767
+ ensureNonEmpty(tool, "ctxMatchesRequired", "tool");
768
+ ensureNonEmpty(key, "ctxMatchesRequired", "key");
769
+ ensureNonEmpty(pattern, "ctxMatchesRequired", "pattern");
770
+ const f = new G(new Implies(called(tool), new Atom("ctx_matches", [key, pattern])));
771
+ return {
772
+ formula: f,
773
+ desc: `${tool} requires ctx[${key}] to match /${pattern}/`,
774
+ patternName: "ctx_matches_required",
775
+ liveness: false,
776
+ };
777
+ }
778
+ // --- Time-window patterns (event-clock) ---
779
+ /**
780
+ * Constrain how recently a predicate was last true. The argument is the
781
+ * grounded predicate key string (e.g. ``"called(refund)"`` or
782
+ * ``"ctx(approval.role, alice)"``) — same convention as Python's
783
+ * ``time_since`` factory.
784
+ */
785
+ export function timeSince(predicateKey, maxSeconds) {
786
+ ensureNonEmpty(predicateKey, "timeSince", "predicate_key");
787
+ if (typeof maxSeconds !== "number" || !Number.isFinite(maxSeconds) || maxSeconds < 0) {
788
+ throw new Error(`time_since: max_seconds must be a non-negative number (got ${maxSeconds}).`);
789
+ }
790
+ const f = new G(new Le(new Var("time_since", predicateKey), new Const(maxSeconds)));
791
+ return {
792
+ formula: f,
793
+ desc: `${predicateKey} must have occurred within last ${maxSeconds}s`,
794
+ patternName: "time_since",
795
+ liveness: false,
796
+ };
797
+ }
798
+ /**
799
+ * Gate ``action`` on a recent allow-decision approval from ``role``.
800
+ *
801
+ * Compiles to::
802
+ * G(called(action) → (
803
+ * ctx_matches("approval.role", role)
804
+ * ∧ ctx_matches("approval.decision", "allow")
805
+ * ∧ time_since("ctx(approval.role, role)") ≤ maxSeconds
806
+ * ))
807
+ *
808
+ * Pairs with ``observeApproval({role, decision})`` on the integration
809
+ * side.
810
+ */
811
+ export function approvalActive(action, role, maxSeconds) {
812
+ ensureNonEmpty(action, "approvalActive", "action");
813
+ ensureNonEmpty(role, "approvalActive", "role");
814
+ if (typeof maxSeconds !== "number" || !Number.isFinite(maxSeconds) || maxSeconds < 0) {
815
+ throw new Error(`approval_active: max_seconds must be a non-negative number (got ${maxSeconds}).`);
816
+ }
817
+ // Match Python: ``role_key = f"ctx(approval.role, {role})"`` — exact
818
+ // string used as the time_since target. predKey would escape spaces /
819
+ // commas; keep the unescaped form so the time_since extractor passes
820
+ // the right key through to grounding's ``state.last_ts`` lookup.
821
+ const roleKey = `ctx(approval.role, ${role})`;
822
+ const escaped = role.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
823
+ const body = new And(new And(new Atom("ctx_matches", ["approval.role", escaped]), new Atom("ctx_matches", ["approval.decision", "allow"])), new Le(new Var("time_since", roleKey), new Const(maxSeconds)));
824
+ const f = new G(new Implies(called(action), body));
825
+ return {
826
+ formula: f,
827
+ desc: `${action} requires active ${role} approval (≤${maxSeconds}s old)`,
828
+ patternName: "approval_active",
829
+ liveness: false,
830
+ };
831
+ }
832
+ /**
833
+ * @deprecated — use :func:`mutualExclusion` instead.
834
+ *
835
+ * In sequential traces, two tool calls are always at different
836
+ * timesteps, so the formula ``G(¬(called(A) ∧ called(B)))`` is
837
+ * trivially satisfied and can never detect violations. Delegates to
838
+ * ``mutualExclusion`` for correct behavior; kept so yaml authored
839
+ * against Python's deprecated entry still loads.
840
+ */
841
+ export function neverTogether(a, b) {
842
+ const me = mutualExclusion(a, b);
843
+ return {
844
+ ...me,
845
+ patternName: "never_together",
846
+ desc: `${a} and ${b} must never occur together`,
847
+ };
848
+ }
585
849
  //# sourceMappingURL=patterns.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-log.d.ts","sourceRoot":"","sources":["../../src/core/session-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAqEH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAA0B,EACpC,KAAK,GAAE,MAAuB,GAC7B,MAAM,EAAE,CAgEV;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,GACR,UAAU,GACV,YAAY,CAAC;AAEjB,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE;QACN,MAAM,EAAE,aAAa,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,gDAAgD;IAChD,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;IA8B/D,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;CAcjC"}
1
+ {"version":3,"file":"session-log.d.ts","sourceRoot":"","sources":["../../src/core/session-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAsFH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAA0B,EACpC,KAAK,GAAE,MAAuB,GAC7B,MAAM,EAAE,CAgEV;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,GACR,UAAU,GACV,YAAY,CAAC;AAEjB,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB;;;;;;;OAOG;IACH,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE;QACN,MAAM,EAAE,aAAa,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,gDAAgD;IAChD,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;IA8B/D,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;CAcjC"}
@@ -52,7 +52,26 @@ const SAFE_AGENT_ID_RE = /[^A-Za-z0-9._:\-]/g;
52
52
  function sanitizeAgentId(agentId) {
53
53
  if (!agentId)
54
54
  return "_unknown";
55
- const cleaned = agentId.replace(SAFE_AGENT_ID_RE, "_").replace(/^[._]+|[._]+$/g, "");
55
+ // Char-loop strip (ReDoS-free): both anchored ``[._]+`` regex forms
56
+ // still get flagged by CodeQL js/polynomial-redos because the engine
57
+ // is conservative about ``+$`` patterns even though they're linear.
58
+ // Equivalent to Python ``str.strip("._")``.
59
+ const replaced = agentId.replace(SAFE_AGENT_ID_RE, "_");
60
+ let start = 0;
61
+ while (start < replaced.length) {
62
+ const c = replaced.charCodeAt(start);
63
+ if (c !== 46 /* . */ && c !== 95 /* _ */)
64
+ break;
65
+ start++;
66
+ }
67
+ let end = replaced.length;
68
+ while (end > start) {
69
+ const c = replaced.charCodeAt(end - 1);
70
+ if (c !== 46 && c !== 95)
71
+ break;
72
+ end--;
73
+ }
74
+ const cleaned = replaced.slice(start, end);
56
75
  if (!cleaned || cleaned === "." || cleaned === "..")
57
76
  return "_unknown";
58
77
  return cleaned.slice(0, 128);