@sponsio/sdk 0.1.0 → 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 (75) hide show
  1. package/contracts/benchmark/agentdojo.yaml +551 -0
  2. package/contracts/benchmark/odcv_bench.yaml +393 -0
  3. package/contracts/benchmark/redcode_exec.yaml +488 -0
  4. package/contracts/benchmark/swebench.yaml +176 -0
  5. package/contracts/benchmark/tau2_bench.yaml +984 -0
  6. package/contracts/core/llm_safety.yaml +12 -14
  7. package/contracts/incident/claude-code-secret-bypass.yaml +2 -2
  8. package/contracts/incident/openclaw.yaml +5 -4
  9. package/contracts/premium/.gitkeep +5 -6
  10. package/dist/cli/packs.js +3 -3
  11. package/dist/cli/packs.js.map +1 -1
  12. package/dist/cli/patterns.d.ts +5 -4
  13. package/dist/cli/patterns.d.ts.map +1 -1
  14. package/dist/cli/patterns.js +11 -10
  15. package/dist/cli/patterns.js.map +1 -1
  16. package/dist/cli/prompt.js +5 -5
  17. package/dist/cli/prompt.js.map +1 -1
  18. package/dist/cli/scan.js +2 -2
  19. package/dist/cli/skill.d.ts +1 -1
  20. package/dist/cli/skill.js +1 -1
  21. package/dist/cli/validate.js +5 -5
  22. package/dist/cli/validate.js.map +1 -1
  23. package/dist/core/config-loader.d.ts.map +1 -1
  24. package/dist/core/config-loader.js +65 -9
  25. package/dist/core/config-loader.js.map +1 -1
  26. package/dist/core/evaluator.d.ts +9 -1
  27. package/dist/core/evaluator.d.ts.map +1 -1
  28. package/dist/core/evaluator.js +189 -13
  29. package/dist/core/evaluator.js.map +1 -1
  30. package/dist/core/formula.d.ts +76 -17
  31. package/dist/core/formula.d.ts.map +1 -1
  32. package/dist/core/formula.js +83 -1
  33. package/dist/core/formula.js.map +1 -1
  34. package/dist/core/grounding.d.ts +1 -1
  35. package/dist/core/grounding.d.ts.map +1 -1
  36. package/dist/core/grounding.js +17 -1
  37. package/dist/core/grounding.js.map +1 -1
  38. package/dist/core/nl-parser.d.ts +1 -1
  39. package/dist/core/nl-parser.js +2 -2
  40. package/dist/core/nl-parser.js.map +1 -1
  41. package/dist/core/pack-loader.d.ts.map +1 -1
  42. package/dist/core/pack-loader.js +14 -2
  43. package/dist/core/pack-loader.js.map +1 -1
  44. package/dist/core/parser.d.ts.map +1 -1
  45. package/dist/core/parser.js +30 -1
  46. package/dist/core/parser.js.map +1 -1
  47. package/dist/core/pattern-factory.d.ts.map +1 -1
  48. package/dist/core/pattern-factory.js +8 -1
  49. package/dist/core/pattern-factory.js.map +1 -1
  50. package/dist/core/patterns.d.ts +49 -1
  51. package/dist/core/patterns.d.ts.map +1 -1
  52. package/dist/core/patterns.js +56 -0
  53. package/dist/core/patterns.js.map +1 -1
  54. package/dist/core/session-log.d.ts.map +1 -1
  55. package/dist/core/session-log.js +20 -1
  56. package/dist/core/session-log.js.map +1 -1
  57. package/dist/core/sto.d.ts +21 -27
  58. package/dist/core/sto.d.ts.map +1 -1
  59. package/dist/core/sto.js +30 -33
  60. package/dist/core/sto.js.map +1 -1
  61. package/dist/index.d.ts +37 -32
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +57 -44
  64. package/dist/index.js.map +1 -1
  65. package/dist/integrations/openai-agents.d.ts.map +1 -1
  66. package/dist/integrations/openai-agents.js +4 -3
  67. package/dist/integrations/openai-agents.js.map +1 -1
  68. package/dist/integrations/vercel-ai.d.ts.map +1 -1
  69. package/dist/integrations/vercel-ai.js +21 -3
  70. package/dist/integrations/vercel-ai.js.map +1 -1
  71. package/package.json +11 -7
  72. package/prompts/onboard.md +9 -13
  73. package/prompts/scan.md +3 -5
  74. package/skills/SKILL.md +13 -83
  75. package/prompts/refresh.md +0 -118
@@ -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);
@@ -1 +1 @@
1
- {"version":3,"file":"session-log.js","sourceRoot":"","sources":["../../src/core/session-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-log.js","sourceRoot":"","sources":["../../src/core/session-log.ts"],"names":[],"mappings":"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"}
@@ -1,45 +1,39 @@
1
1
  /**
2
- * OSS↔Cloud schema surface for the sto (stochastic / LLM-judge) pipeline.
2
+ * Schema surface for the sto (stochastic / LLM-judge) pipeline extension point.
3
3
  *
4
- * The TS SDK is **det-only**, mirroring Sponsio Python's OSS engine.
4
+ * The TS SDK is **det-only**, mirroring the Python deterministic engine.
5
5
  * The managed evaluator catalog (``tone`` / ``relevance`` / ``llm_judge`` /
6
- * ``hallucination_free`` …), the OpenAI-compatible judge client, and the
7
- * per-evaluator scoring code are Sponsio Cloud features. They live in
8
- * the proprietary ``sponsio_cloud.sto.*`` Python package; a Cloud-TS
9
- * package will mirror them later.
6
+ * ``hallucination_free`` ...), an OpenAI-compatible judge client, and the
7
+ * per-evaluator scoring code are not part of this build (the deterministic
8
+ * engine provides no implementation).
10
9
  *
11
- * What this file ships in OSS:
10
+ * What this file ships:
12
11
  *
13
- * - **Type contracts** — ``StoEvaluator`` / ``StoResult`` / ``StoInput`` /
12
+ * - **Type contracts**, ``StoEvaluator`` / ``StoResult`` / ``StoInput`` /
14
13
  * ``StoContract`` / ``JudgeClient`` / ``JudgeConfig`` /
15
- * ``StoContextSnapshot``. Cloud subclasses / OSS callers consuming the
16
- * schema (session loggers, dashboards) reference these.
17
- * - ``CloudFeatureError`` — the exception any Cloud-only code path
18
- * raises when reached on the OSS engine.
19
- * - ``parseScore`` — a pure utility that converts a 0-1 score from a
14
+ * ``StoContextSnapshot``. External callers consuming the schema
15
+ * (session loggers, dashboards) reference these.
16
+ * - ``CloudFeatureError``, the exception any code path raises when an
17
+ * unimplemented sto feature is reached. The class name is kept for
18
+ * ABI stability, the message is neutral.
19
+ * - ``parseScore``, a pure utility that converts a 0-1 score from a
20
20
  * judge response. Kept because it never contacts an LLM.
21
21
  *
22
- * What this file does NOT ship in OSS (deleted alongside the Python
23
- * mirrors — ``RetryWithConstraint`` / ``RedirectToSafe`` /
24
- * ``FeedbackGenerator`` / the per-atom evaluator stubs):
22
+ * What this file does NOT ship (deleted alongside the Python mirrors,
23
+ * ``RetryWithConstraint`` / ``RedirectToSafe`` / ``FeedbackGenerator`` /
24
+ * the per-atom evaluator stubs):
25
25
  *
26
- * - ``createJudge`` — judge construction
26
+ * - ``createJudge``, judge construction
27
27
  * - ``LlmJudgeEvaluator`` / ``ToneEvaluator`` / ``RelevanceEvaluator``
28
28
  * / ``SemanticPiiFreeEvaluator`` / ``HallucinationFreeEvaluator``
29
29
  * / ``ScopeRespectEvaluator`` / ``MetricIntegrityEvaluator``
30
30
  * / ``InjectionFreeEvaluator``
31
31
  *
32
32
  * The Sponsio constructor rejects yaml-declared sto contracts and any
33
- * ``judge:`` option at config-load time, so OSS callers never reach a
34
- * code path that would have built one of these. Cloud installs will
35
- * supply real implementations of the same Protocol surface.
36
- *
37
- * Operators who want the sto pipeline:
38
- *
39
- * pip install sponsio[cloud]
40
- *
41
- * or contact your Sponsio account team for managed sto access. See
42
- * ``docs/oss_scope.md`` for the OSS / Cloud boundary.
33
+ * ``judge:`` option at config-load time, so callers never reach a code
34
+ * path that would have built one of these. This file is an extension
35
+ * point: external builds can supply real implementations of the same
36
+ * Protocol surface.
43
37
  */
44
38
  export interface StoInput {
45
39
  toolName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sto.d.ts","sourceRoot":"","sources":["../../src/core/sto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAIH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,CAAC;CACzB;AAUD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,WAAW,EAAE,MAAM;CAIhC;AAID;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB9C"}
1
+ {"version":3,"file":"sto.d.ts","sourceRoot":"","sources":["../../src/core/sto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAIH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,CAAC;CACzB;AAUD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,WAAW,EAAE,MAAM;CAIhC;AAID;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsB9C"}
package/dist/core/sto.js CHANGED
@@ -1,54 +1,48 @@
1
1
  /**
2
- * OSS↔Cloud schema surface for the sto (stochastic / LLM-judge) pipeline.
2
+ * Schema surface for the sto (stochastic / LLM-judge) pipeline extension point.
3
3
  *
4
- * The TS SDK is **det-only**, mirroring Sponsio Python's OSS engine.
4
+ * The TS SDK is **det-only**, mirroring the Python deterministic engine.
5
5
  * The managed evaluator catalog (``tone`` / ``relevance`` / ``llm_judge`` /
6
- * ``hallucination_free`` …), the OpenAI-compatible judge client, and the
7
- * per-evaluator scoring code are Sponsio Cloud features. They live in
8
- * the proprietary ``sponsio_cloud.sto.*`` Python package; a Cloud-TS
9
- * package will mirror them later.
6
+ * ``hallucination_free`` ...), an OpenAI-compatible judge client, and the
7
+ * per-evaluator scoring code are not part of this build (the deterministic
8
+ * engine provides no implementation).
10
9
  *
11
- * What this file ships in OSS:
10
+ * What this file ships:
12
11
  *
13
- * - **Type contracts** — ``StoEvaluator`` / ``StoResult`` / ``StoInput`` /
12
+ * - **Type contracts**, ``StoEvaluator`` / ``StoResult`` / ``StoInput`` /
14
13
  * ``StoContract`` / ``JudgeClient`` / ``JudgeConfig`` /
15
- * ``StoContextSnapshot``. Cloud subclasses / OSS callers consuming the
16
- * schema (session loggers, dashboards) reference these.
17
- * - ``CloudFeatureError`` — the exception any Cloud-only code path
18
- * raises when reached on the OSS engine.
19
- * - ``parseScore`` — a pure utility that converts a 0-1 score from a
14
+ * ``StoContextSnapshot``. External callers consuming the schema
15
+ * (session loggers, dashboards) reference these.
16
+ * - ``CloudFeatureError``, the exception any code path raises when an
17
+ * unimplemented sto feature is reached. The class name is kept for
18
+ * ABI stability, the message is neutral.
19
+ * - ``parseScore``, a pure utility that converts a 0-1 score from a
20
20
  * judge response. Kept because it never contacts an LLM.
21
21
  *
22
- * What this file does NOT ship in OSS (deleted alongside the Python
23
- * mirrors — ``RetryWithConstraint`` / ``RedirectToSafe`` /
24
- * ``FeedbackGenerator`` / the per-atom evaluator stubs):
22
+ * What this file does NOT ship (deleted alongside the Python mirrors,
23
+ * ``RetryWithConstraint`` / ``RedirectToSafe`` / ``FeedbackGenerator`` /
24
+ * the per-atom evaluator stubs):
25
25
  *
26
- * - ``createJudge`` — judge construction
26
+ * - ``createJudge``, judge construction
27
27
  * - ``LlmJudgeEvaluator`` / ``ToneEvaluator`` / ``RelevanceEvaluator``
28
28
  * / ``SemanticPiiFreeEvaluator`` / ``HallucinationFreeEvaluator``
29
29
  * / ``ScopeRespectEvaluator`` / ``MetricIntegrityEvaluator``
30
30
  * / ``InjectionFreeEvaluator``
31
31
  *
32
32
  * The Sponsio constructor rejects yaml-declared sto contracts and any
33
- * ``judge:`` option at config-load time, so OSS callers never reach a
34
- * code path that would have built one of these. Cloud installs will
35
- * supply real implementations of the same Protocol surface.
36
- *
37
- * Operators who want the sto pipeline:
38
- *
39
- * pip install sponsio[cloud]
40
- *
41
- * or contact your Sponsio account team for managed sto access. See
42
- * ``docs/oss_scope.md`` for the OSS / Cloud boundary.
33
+ * ``judge:`` option at config-load time, so callers never reach a code
34
+ * path that would have built one of these. This file is an extension
35
+ * point: external builds can supply real implementations of the same
36
+ * Protocol surface.
43
37
  */
44
38
  // ----- CloudFeatureError ---------------------------------------------
45
- const CLOUD_HINT = "Sponsio's sto (LLM-judge) pipeline is a Cloud feature, not bundled " +
46
- "with the OSS engine. Install `sponsio[cloud]` (Python) or contact " +
47
- "your Sponsio account team for managed sto access. See " +
48
- "https://github.com/SponsioLabs/Sponsio/blob/main/docs/oss_scope.md.";
39
+ const CLOUD_HINT = "Sponsio's sto (LLM-judge) pipeline is not supported in this build " +
40
+ "(the engine is deterministic-only). The schema types remain as an " +
41
+ "extension point so external implementations can supply real " +
42
+ "evaluators behind the same Protocol surface.";
49
43
  export class CloudFeatureError extends Error {
50
44
  constructor(featureName) {
51
- super(`[sponsio] ${featureName} is not available in OSS. ${CLOUD_HINT}`);
45
+ super(`[sponsio] ${featureName} is not supported in this build. ${CLOUD_HINT}`);
52
46
  this.name = "CloudFeatureError";
53
47
  }
54
48
  }
@@ -70,7 +64,10 @@ export function parseScore(raw) {
70
64
  /* fall through */
71
65
  }
72
66
  }
73
- const m = trimmed.match(/([01](?:\.\d+)?|0?\.\d+)/);
67
+ // Anchored + non-overlapping alternatives: prevents the polynomial
68
+ // backtracking CodeQL flags when ``[01](?:\.\d+)?`` and ``0?\.\d+``
69
+ // could both match prefixes like ``0`` or ``0.5``.
70
+ const m = trimmed.match(/^([01](?:\.\d+)?|\.\d+)/);
74
71
  if (!m) {
75
72
  throw new Error(`unparseable score: ${JSON.stringify(trimmed.slice(0, 80))}`);
76
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sto.js","sourceRoot":"","sources":["../../src/core/sto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAgDH,wEAAwE;AAExE,MAAM,UAAU,GACd,qEAAqE;IACrE,oEAAoE;IACpE,wDAAwD;IACxD,qEAAqE,CAAC;AAExE,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,WAAmB;QAC7B,KAAK,CAAC,aAAa,WAAW,6BAA6B,UAAU,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,wEAAwE;AAExE;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAwB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"sto.js","sourceRoot":"","sources":["../../src/core/sto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAgDH,wEAAwE;AAExE,MAAM,UAAU,GACd,oEAAoE;IACpE,oEAAoE;IACpE,8DAA8D;IAC9D,8CAA8C,CAAC;AAEjD,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,WAAmB;QAC7B,KAAK,CAAC,aAAa,WAAW,oCAAoC,UAAU,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,wEAAwE;AAExE;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAwB,CAAC;YACvD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,oEAAoE;IACpE,mDAAmD;IACnD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAC7D,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACpB,OAAO,CAAC,CAAC;AACX,CAAC"}
package/dist/index.d.ts CHANGED
@@ -98,12 +98,13 @@ export interface CheckResult {
98
98
  */
99
99
  detViolations: DetViolation[];
100
100
  /**
101
- * Sto-pipeline violations — Sponsio Cloud only. Always ``[]`` on
102
- * the OSS TS SDK (the ctor rejects yaml sto contracts at load time
103
- * and never builds a judge). Cloud subclasses populate this with
104
- * results from stochastic contracts (``tone`` / ``llm_judge`` /
105
- * ``injection_free`` / …). Kept on the schema so dashboards /
106
- * session loggers branch consistently across both surfaces.
101
+ * Sto-pipeline violations. Not part of this build (the engine is
102
+ * deterministic-only). Always ``[]`` on the TS SDK (the ctor
103
+ * rejects yaml sto contracts at load time and never builds a
104
+ * judge). External subclasses can populate this with results from
105
+ * stochastic contracts (``tone`` / ``llm_judge`` / ``injection_free``
106
+ * / ...). Kept on the schema so dashboards / session loggers branch
107
+ * consistently across both surfaces.
107
108
  */
108
109
  stoViolations: DetViolation[];
109
110
  }
@@ -130,7 +131,11 @@ export interface SponsoOptions {
130
131
  /**
131
132
  * Runtime mode. Precedence (matches the Python SDK):
132
133
  *
133
- * SPONSIO_MODE env > ctor arg > yaml runtime.mode > "observe"
134
+ * SPONSIO_MODE env > ctor arg > yaml runtime.mode
135
+ * > yaml defaults.mode > yaml top-level mode: > "observe"
136
+ *
137
+ * A contract may also carry its own `mode:` in yaml, which overrides
138
+ * whatever the global resolution lands on — for that contract alone.
134
139
  *
135
140
  * ``observe`` (the default) logs every would-have-blocked decision
136
141
  * to ``~/.sponsio/sessions/<agent_id>/*.jsonl`` without actually
@@ -148,13 +153,13 @@ export interface SponsoOptions {
148
153
  /** Override session log base dir (tests / alternative layouts). */
149
154
  sessionLogBaseDir?: string;
150
155
  /**
151
- * Judge config for the sto pipeline. **Sponsio Cloud only.**
152
- * Either a plain config object (provider / model / apiKey /
153
- * baseUrl / fallbackMode) or a pre-built ``JudgeClient``. The OSS
154
- * TS SDK accepts the option for shared-yaml compatibility but
155
- * never constructs a judge — passing this without Cloud
156
- * installed surfaces a warning via the skipped-items path and
157
- * the field is otherwise ignored.
156
+ * Judge config for the sto pipeline. **Not supported in this build**
157
+ * (the engine is deterministic-only). Either a plain config object
158
+ * (provider / model / apiKey / baseUrl / fallbackMode) or a pre-built
159
+ * ``JudgeClient``. The TS SDK accepts the option for shared-yaml
160
+ * compatibility but never constructs a judge: passing this surfaces
161
+ * a warning via the skipped-items path and the field is otherwise
162
+ * ignored.
158
163
  */
159
164
  judge?: JudgeConfig | JudgeClient;
160
165
  }
@@ -255,18 +260,18 @@ export declare class Sponsio {
255
260
  /**
256
261
  * Record tool output after execution.
257
262
  *
258
- * The OSS engine ships **no sto pipeline** — Cloud's stochastic
259
- * (LLM-judged) atoms are what populate ``stoViolations``. With no
260
- * Cloud installed and no sto contracts loaded (sto entries in yaml
261
- * are rejected at config load), ``stoViolations`` is always
262
- * ``[]`` and ``allowed: true``.
263
+ * This build ships **no sto pipeline** (the engine is deterministic-only).
264
+ * Stochastic (LLM-judged) atoms are the extension point that would
265
+ * populate ``stoViolations``; with no external implementation and no
266
+ * sto contracts loaded (sto entries in yaml are rejected at config
267
+ * load), ``stoViolations`` is always ``[]`` and ``allowed: true``.
263
268
  *
264
- * The method stays ``async`` for API parity with Cloud's override —
265
- * a Cloud-side subclass / wrapper can run the judge pipeline and
266
- * surface real ``stoViolations`` without changing the call site.
267
- * In **enforce mode** Cloud subclasses flip ``blocked: true`` on
268
- * the first sto violation; the tool output has already executed,
269
- * so the caller is responsible for routing the result (retry with
269
+ * The method stays ``async`` for API parity: an external subclass
270
+ * or wrapper can run the judge pipeline and surface real
271
+ * ``stoViolations`` without changing the call site. In **enforce
272
+ * mode** such subclasses can flip ``blocked: true`` on the first
273
+ * sto violation; the tool output has already executed, so the
274
+ * caller is responsible for routing the result (retry with
270
275
  * feedback, redirect to safe, etc.).
271
276
  */
272
277
  guardAfter(_toolName: string, _output?: string): Promise<CheckResult>;
@@ -279,13 +284,13 @@ export declare class Sponsio {
279
284
  /**
280
285
  * Stash per-turn context for the sto pipeline.
281
286
  *
282
- * Sponsio Cloud only — atoms that need grounding (``relevance`` →
283
- * ``query``, ``hallucination_free`` → ``source``, ``scope_respect``
284
- * → ``scope`` override, ``metric_integrity`` → ``history``) read
285
- * from this snapshot on the next ``guardAfter`` call. The OSS
286
- * engine accepts the call as a no-op so shared agent code can
287
- * stay framework-neutral; without Cloud, the snapshot is never
288
- * consumed.
287
+ * Not supported in this build (the engine is deterministic-only).
288
+ * Atoms that need grounding (``relevance`` -> ``query``,
289
+ * ``hallucination_free`` -> ``source``, ``scope_respect`` ->
290
+ * ``scope`` override, ``metric_integrity`` -> ``history``) would
291
+ * read from this snapshot on the next ``guardAfter`` call. This
292
+ * build accepts the call as a no-op so shared agent code can stay
293
+ * framework-neutral; the snapshot is never consumed.
289
294
  *
290
295
  * Merges with any previously-set context; pass ``{ query: undefined }``
291
296
  * to explicitly clear a field. ``reset()`` clears the whole snapshot.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -58,9 +58,9 @@ export class Sponsio {
58
58
  agentId;
59
59
  mode;
60
60
  _contracts;
61
- // Sto state. Always empty/null in OSS — the constructor rejects yaml
62
- // sto contracts and inline `judge:` at config load. Kept as
63
- // schema-stable surface for Cloud-side composition / wrapping.
61
+ // Sto state. Always empty/null in this build, the constructor
62
+ // rejects yaml sto contracts and inline `judge:` at config load.
63
+ // Kept as schema-stable surface for external composition / wrapping.
64
64
  _stoContracts;
65
65
  _stoContext;
66
66
  _trace;
@@ -111,29 +111,30 @@ export class Sponsio {
111
111
  this._contracts.push(c);
112
112
  }
113
113
  }
114
- // ── Sto pipeline is a Sponsio Cloud feature ──────────────────────
114
+ // ── Sto pipeline is not part of this build ──────────────────────
115
115
  // The managed LLM-judge catalog (`tone` / `relevance` / `llm_judge`
116
- // …) and the judge client live in the proprietary `sponsio_cloud`
117
- // package. The OSS engine logs-and-skips any yaml sto contracts
118
- // and any inline `judge:` option, never constructs an evaluator,
119
- // never contacts an LLM. The API surface (`guardAfter`,
120
- // `setContext`, `judge` ctor option) is preserved so a shared yaml
121
- // between Cloud and OSS-TS doesn't refuse to load.
116
+ // ...) and the judge client are not part of this build (the
117
+ // deterministic engine provides no implementation). The engine
118
+ // logs-and-skips any yaml sto contracts and any inline `judge:`
119
+ // option, never constructs an evaluator, never contacts an LLM.
120
+ // The API surface (`guardAfter`, `setContext`, `judge` ctor
121
+ // option) is preserved so a shared yaml between deterministic
122
+ // builds and external sto implementations doesn't refuse to load.
122
123
  for (const spec of yamlStoSpecs) {
123
124
  yamlSkipped.push({
124
125
  kind: "sto-contract",
125
- detail: `${spec.desc} (sto pipeline is a Sponsio Cloud feature; pip install sponsio[cloud])`,
126
+ detail: `${spec.desc} (sto pipeline is not supported in this build)`,
126
127
  });
127
128
  }
128
129
  if (options.judge) {
129
130
  yamlSkipped.push({
130
131
  kind: "sto-contract",
131
- detail: "`judge:` option ignored (sto pipeline is a Sponsio Cloud feature; pip install sponsio[cloud])",
132
+ detail: "`judge:` option ignored (sto pipeline is not supported in this build)",
132
133
  });
133
134
  }
134
- // Reference yamlJudge so unused-var lints don't fire — the field
135
- // is parsed by the loader for shared-yaml compatibility but the
136
- // OSS engine never builds a judge from it.
135
+ // Reference yamlJudge so unused-var lints don't fire: the field
136
+ // is parsed by the loader for shared-yaml compatibility but this
137
+ // build never constructs a judge from it.
137
138
  void yamlJudge;
138
139
  // ── Warn once about yaml features the TS runtime can't handle ───
139
140
  warnOnceAboutSkipped(yamlSkipped);
@@ -173,6 +174,7 @@ export class Sponsio {
173
174
  const violations = [];
174
175
  const violatedDescs = [];
175
176
  const detViolations = [];
177
+ let anyBlocking = false;
176
178
  for (const contract of this._contracts) {
177
179
  const checkSpan = new ContractCheckSpan(contract.desc, "hard");
178
180
  collector.push(checkSpan);
@@ -198,7 +200,12 @@ export class Sponsio {
198
200
  const guaranteeSpan = new GuaranteeSpan(contract.desc, result);
199
201
  collector.add(guaranteeSpan, result ? "ok" : "violated");
200
202
  if (!result) {
201
- const verb = this.mode === "observe" ? "WOULD-BLOCK" : "BLOCKED";
203
+ // Per-contract `mode:` overrides the global mode for this one
204
+ // verdict — same routing as Python's RuntimeMonitor.
205
+ const effMode = contract.mode ?? this.mode;
206
+ if (effMode === "enforce")
207
+ anyBlocking = true;
208
+ const verb = effMode === "observe" ? "WOULD-BLOCK" : "BLOCKED";
202
209
  const msg = `${verb}: ${this.agentId}.${toolName} — det constraint violated: ${contract.desc}`;
203
210
  violations.push(msg);
204
211
  violatedDescs.push(contract.desc);
@@ -212,14 +219,14 @@ export class Sponsio {
212
219
  });
213
220
  // Nest violation + enforcement spans under the failed
214
221
  // guarantee so the renderer can pick up the verdict word.
215
- const enforce = new EnforcementSpan("DetBlock", this.mode === "enforce" ? "blocked" : "observed");
222
+ const enforce = new EnforcementSpan("DetBlock", effMode === "enforce" ? "blocked" : "observed");
216
223
  guaranteeSpan.children.push(enforce);
217
224
  enforce.finish("violated");
218
225
  }
219
226
  collector.pop(result ? "ok" : "violated");
220
227
  }
221
228
  const hasViolations = violations.length > 0;
222
- const blocked = hasViolations && this.mode === "enforce";
229
+ const blocked = anyBlocking;
223
230
  this._turnSpans.push(collector.finishRoot(blocked, this._contracts.length, violations.length));
224
231
  if (blocked) {
225
232
  this._trace.pop();
@@ -361,10 +368,14 @@ export class Sponsio {
361
368
  const violations = [];
362
369
  const violatedDescs = [];
363
370
  const detViolations = [];
371
+ let anyBlocking = false;
364
372
  for (const contract of this._contracts) {
365
373
  const result = evaluate(contract.formula, this._trace);
366
374
  if (!result) {
367
- const verb = this.mode === "observe" ? "WOULD-BLOCK" : "BLOCKED";
375
+ const effMode = contract.mode ?? this.mode;
376
+ if (effMode === "enforce")
377
+ anyBlocking = true;
378
+ const verb = effMode === "observe" ? "WOULD-BLOCK" : "BLOCKED";
368
379
  const msg = `${verb}: ${this.agentId}.<llm_response> — det constraint violated: ${contract.desc}`;
369
380
  violations.push(msg);
370
381
  violatedDescs.push(contract.desc);
@@ -378,7 +389,7 @@ export class Sponsio {
378
389
  }
379
390
  }
380
391
  const hasViolations = violations.length > 0;
381
- const blocked = hasViolations && this.mode === "enforce";
392
+ const blocked = anyBlocking;
382
393
  if (blocked) {
383
394
  this._trace.pop();
384
395
  this._state = snapshot;
@@ -436,23 +447,24 @@ export class Sponsio {
436
447
  /**
437
448
  * Record tool output after execution.
438
449
  *
439
- * The OSS engine ships **no sto pipeline** — Cloud's stochastic
440
- * (LLM-judged) atoms are what populate ``stoViolations``. With no
441
- * Cloud installed and no sto contracts loaded (sto entries in yaml
442
- * are rejected at config load), ``stoViolations`` is always
443
- * ``[]`` and ``allowed: true``.
450
+ * This build ships **no sto pipeline** (the engine is deterministic-only).
451
+ * Stochastic (LLM-judged) atoms are the extension point that would
452
+ * populate ``stoViolations``; with no external implementation and no
453
+ * sto contracts loaded (sto entries in yaml are rejected at config
454
+ * load), ``stoViolations`` is always ``[]`` and ``allowed: true``.
444
455
  *
445
- * The method stays ``async`` for API parity with Cloud's override —
446
- * a Cloud-side subclass / wrapper can run the judge pipeline and
447
- * surface real ``stoViolations`` without changing the call site.
448
- * In **enforce mode** Cloud subclasses flip ``blocked: true`` on
449
- * the first sto violation; the tool output has already executed,
450
- * so the caller is responsible for routing the result (retry with
456
+ * The method stays ``async`` for API parity: an external subclass
457
+ * or wrapper can run the judge pipeline and surface real
458
+ * ``stoViolations`` without changing the call site. In **enforce
459
+ * mode** such subclasses can flip ``blocked: true`` on the first
460
+ * sto violation; the tool output has already executed, so the
461
+ * caller is responsible for routing the result (retry with
451
462
  * feedback, redirect to safe, etc.).
452
463
  */
453
464
  async guardAfter(_toolName, _output = "") {
454
- // OSS is det-only — sto pipeline lives in Sponsio Cloud. Always
455
- // return clean-pass; Cloud subclasses override.
465
+ // This build is deterministic-only, the sto pipeline is not
466
+ // implemented. Always return clean-pass; external subclasses can
467
+ // override.
456
468
  return emptyAllow();
457
469
  }
458
470
  /**
@@ -470,13 +482,13 @@ export class Sponsio {
470
482
  /**
471
483
  * Stash per-turn context for the sto pipeline.
472
484
  *
473
- * Sponsio Cloud only — atoms that need grounding (``relevance`` →
474
- * ``query``, ``hallucination_free`` → ``source``, ``scope_respect``
475
- * → ``scope`` override, ``metric_integrity`` → ``history``) read
476
- * from this snapshot on the next ``guardAfter`` call. The OSS
477
- * engine accepts the call as a no-op so shared agent code can
478
- * stay framework-neutral; without Cloud, the snapshot is never
479
- * consumed.
485
+ * Not supported in this build (the engine is deterministic-only).
486
+ * Atoms that need grounding (``relevance`` -> ``query``,
487
+ * ``hallucination_free`` -> ``source``, ``scope_respect`` ->
488
+ * ``scope`` override, ``metric_integrity`` -> ``history``) would
489
+ * read from this snapshot on the next ``guardAfter`` call. This
490
+ * build accepts the call as a no-op so shared agent code can stay
491
+ * framework-neutral; the snapshot is never consumed.
480
492
  *
481
493
  * Merges with any previously-set context; pass ``{ query: undefined }``
482
494
  * to explicitly clear a field. ``reset()`` clears the whole snapshot.
@@ -534,9 +546,10 @@ function resolveMode(ctorMode, yamlMode) {
534
546
  }
535
547
  let _skippedWarned = false;
536
548
  // Note: ``resolveJudge`` / ``buildStoContract`` / ``isJudgeClient``
537
- // helpers were removed when the sto pipeline became Sponsio Cloud-only.
538
- // The OSS engine never constructs a judge or evaluator; yaml sto
539
- // specs flow through the ``yamlSkipped`` warning path in the ctor.
549
+ // helpers were removed when the sto pipeline became an external
550
+ // extension point. This build never constructs a judge or evaluator;
551
+ // yaml sto specs flow through the ``yamlSkipped`` warning path in
552
+ // the ctor.
540
553
  function emptyAllow() {
541
554
  return {
542
555
  blocked: false,
@@ -569,7 +582,7 @@ function warnOnceAboutSkipped(skipped) {
569
582
  bits.push(`${unknown} unrecognised contract entr${unknown === 1 ? "y" : "ies"}`);
570
583
  }
571
584
  const stoNote = sto > 0
572
- ? " Sto (LLM-judge) contracts are part of Sponsio Cloud — install `sponsio[cloud]` for the managed pipeline."
585
+ ? " Sto (LLM-judge) contracts are not supported in this build (the engine is deterministic-only)."
573
586
  : "";
574
587
  console.warn("[sponsio] skipped unsupported yaml items: " +
575
588
  bits.join("; ") +