@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.
- package/bin/sponsio.cjs +11 -0
- package/contracts/benchmark/agentdojo.yaml +551 -0
- package/contracts/benchmark/odcv_bench.yaml +393 -0
- package/contracts/benchmark/redcode_exec.yaml +488 -0
- package/contracts/benchmark/swebench.yaml +176 -0
- package/contracts/benchmark/tau2_bench.yaml +984 -0
- package/contracts/capability/credentials.yaml +8 -8
- package/contracts/capability/database.yaml +6 -6
- package/contracts/capability/filesystem-strict.yaml +4 -4
- package/contracts/capability/filesystem.yaml +9 -9
- package/contracts/capability/host-config-integrity.yaml +285 -0
- package/contracts/capability/self-modify.yaml +214 -9
- package/contracts/capability/shell.yaml +25 -32
- package/contracts/capability/subagent.yaml +5 -5
- package/contracts/core/llm_safety.yaml +21 -13
- package/contracts/incident/claude-code-secret-bypass.yaml +11 -12
- package/contracts/incident/cursor-railway-wipe.yaml +3 -3
- package/contracts/incident/mcp-composition.yaml +12 -12
- package/contracts/incident/openclaw.yaml +54 -45
- package/contracts/incident/subagent-escape.yaml +4 -4
- package/contracts/premium/.gitkeep +5 -6
- package/dist/cli/check.d.ts +2 -0
- package/dist/cli/check.d.ts.map +1 -0
- package/dist/cli/check.js +283 -0
- package/dist/cli/check.js.map +1 -0
- package/dist/cli/cli.d.ts +25 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +459 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/config.d.ts +88 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +243 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/demo.d.ts +12 -0
- package/dist/cli/demo.d.ts.map +1 -0
- package/dist/cli/demo.js +350 -0
- package/dist/cli/demo.js.map +1 -0
- package/dist/cli/doctor.d.ts +11 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +201 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/eval.d.ts +2 -0
- package/dist/cli/eval.d.ts.map +1 -0
- package/dist/cli/eval.js +361 -0
- package/dist/cli/eval.js.map +1 -0
- package/dist/cli/explain.d.ts +2 -0
- package/dist/cli/explain.d.ts.map +1 -0
- package/dist/cli/explain.js +266 -0
- package/dist/cli/explain.js.map +1 -0
- package/dist/cli/export-sessions.d.ts +2 -0
- package/dist/cli/export-sessions.d.ts.map +1 -0
- package/dist/cli/export-sessions.js +182 -0
- package/dist/cli/export-sessions.js.map +1 -0
- package/dist/cli/export.d.ts +2 -0
- package/dist/cli/export.d.ts.map +1 -0
- package/dist/cli/export.js +222 -0
- package/dist/cli/export.js.map +1 -0
- package/dist/cli/extractors/common.d.ts +27 -0
- package/dist/cli/extractors/common.d.ts.map +1 -0
- package/dist/cli/extractors/common.js +107 -0
- package/dist/cli/extractors/common.js.map +1 -0
- package/dist/cli/extractors/generic.d.ts +37 -0
- package/dist/cli/extractors/generic.d.ts.map +1 -0
- package/dist/cli/extractors/generic.js +185 -0
- package/dist/cli/extractors/generic.js.map +1 -0
- package/dist/cli/extractors/langchain.d.ts +18 -0
- package/dist/cli/extractors/langchain.d.ts.map +1 -0
- package/dist/cli/extractors/langchain.js +86 -0
- package/dist/cli/extractors/langchain.js.map +1 -0
- package/dist/cli/extractors/vercel.d.ts +17 -0
- package/dist/cli/extractors/vercel.d.ts.map +1 -0
- package/dist/cli/extractors/vercel.js +46 -0
- package/dist/cli/extractors/vercel.js.map +1 -0
- package/dist/cli/index.d.ts +38 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +146 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +177 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/mode.d.ts +2 -0
- package/dist/cli/mode.d.ts.map +1 -0
- package/dist/cli/mode.js +71 -0
- package/dist/cli/mode.js.map +1 -0
- package/dist/cli/onboard.d.ts +88 -0
- package/dist/cli/onboard.d.ts.map +1 -0
- package/dist/cli/onboard.js +758 -0
- package/dist/cli/onboard.js.map +1 -0
- package/dist/cli/otlp.d.ts +27 -0
- package/dist/cli/otlp.d.ts.map +1 -0
- package/dist/cli/otlp.js +79 -0
- package/dist/cli/otlp.js.map +1 -0
- package/dist/cli/package.json +1 -0
- package/dist/cli/packs.d.ts +16 -0
- package/dist/cli/packs.d.ts.map +1 -0
- package/dist/cli/packs.js +184 -0
- package/dist/cli/packs.js.map +1 -0
- package/dist/cli/patterns.d.ts +16 -0
- package/dist/cli/patterns.d.ts.map +1 -0
- package/dist/cli/patterns.js +136 -0
- package/dist/cli/patterns.js.map +1 -0
- package/dist/cli/prompt.d.ts +2 -0
- package/dist/cli/prompt.d.ts.map +1 -0
- package/dist/cli/prompt.js +54 -0
- package/dist/cli/prompt.js.map +1 -0
- package/dist/cli/replay.d.ts +2 -0
- package/dist/cli/replay.d.ts.map +1 -0
- package/dist/cli/replay.js +196 -0
- package/dist/cli/replay.js.map +1 -0
- package/dist/cli/report.d.ts +57 -0
- package/dist/cli/report.d.ts.map +1 -0
- package/dist/cli/report.js +298 -0
- package/dist/cli/report.js.map +1 -0
- package/dist/cli/scan.d.ts +2 -0
- package/dist/cli/scan.d.ts.map +1 -0
- package/dist/cli/scan.js +172 -0
- package/dist/cli/scan.js.map +1 -0
- package/dist/cli/skill.d.ts +15 -0
- package/dist/cli/skill.d.ts.map +1 -0
- package/dist/cli/skill.js +131 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/cli/tokens.d.ts +31 -0
- package/dist/cli/tokens.d.ts.map +1 -0
- package/dist/cli/tokens.js +73 -0
- package/dist/cli/tokens.js.map +1 -0
- package/dist/cli/types.d.ts +46 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +3 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/validate.d.ts +19 -0
- package/dist/cli/validate.d.ts.map +1 -0
- package/dist/cli/validate.js +205 -0
- package/dist/cli/validate.js.map +1 -0
- package/dist/cli/zod.d.ts +36 -0
- package/dist/cli/zod.d.ts.map +1 -0
- package/dist/cli/zod.js +226 -0
- package/dist/cli/zod.js.map +1 -0
- package/dist/contract.d.ts +13 -13
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +21 -21
- package/dist/contract.js.map +1 -1
- package/dist/core/config-loader.d.ts +1 -1
- package/dist/core/config-loader.d.ts.map +1 -1
- package/dist/core/config-loader.js +100 -26
- package/dist/core/config-loader.js.map +1 -1
- package/dist/core/evaluator.d.ts +9 -1
- package/dist/core/evaluator.d.ts.map +1 -1
- package/dist/core/evaluator.js +189 -13
- package/dist/core/evaluator.js.map +1 -1
- package/dist/core/formula.d.ts +76 -17
- package/dist/core/formula.d.ts.map +1 -1
- package/dist/core/formula.js +83 -1
- package/dist/core/formula.js.map +1 -1
- package/dist/core/grounding.d.ts +50 -3
- package/dist/core/grounding.d.ts.map +1 -1
- package/dist/core/grounding.js +317 -141
- package/dist/core/grounding.js.map +1 -1
- package/dist/core/nl-parser.d.ts +1 -1
- package/dist/core/nl-parser.d.ts.map +1 -1
- package/dist/core/nl-parser.js +76 -4
- package/dist/core/nl-parser.js.map +1 -1
- package/dist/core/pack-loader.d.ts.map +1 -1
- package/dist/core/pack-loader.js +14 -2
- package/dist/core/pack-loader.js.map +1 -1
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +30 -1
- package/dist/core/parser.js.map +1 -1
- package/dist/core/pattern-factory.d.ts +4 -4
- package/dist/core/pattern-factory.d.ts.map +1 -1
- package/dist/core/pattern-factory.js +53 -4
- package/dist/core/pattern-factory.js.map +1 -1
- package/dist/core/patterns.d.ts +127 -5
- package/dist/core/patterns.d.ts.map +1 -1
- package/dist/core/patterns.js +267 -3
- package/dist/core/patterns.js.map +1 -1
- package/dist/core/session-log.d.ts.map +1 -1
- package/dist/core/session-log.js +20 -1
- package/dist/core/session-log.js.map +1 -1
- package/dist/core/spans.d.ts +1 -1
- package/dist/core/spans.d.ts.map +1 -1
- package/dist/core/spans.js.map +1 -1
- package/dist/core/sto.d.ts +30 -66
- package/dist/core/sto.d.ts.map +1 -1
- package/dist/core/sto.js +39 -100
- package/dist/core/sto.js.map +1 -1
- package/dist/index.d.ts +83 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +194 -142
- package/dist/index.js.map +1 -1
- package/dist/integrations/openai-agents.d.ts.map +1 -1
- package/dist/integrations/openai-agents.js +6 -4
- package/dist/integrations/openai-agents.js.map +1 -1
- package/dist/integrations/vercel-ai.d.ts.map +1 -1
- package/dist/integrations/vercel-ai.js +21 -3
- package/dist/integrations/vercel-ai.js.map +1 -1
- package/dist/render/tokens.d.ts.map +1 -1
- package/dist/render/tokens.js +1 -0
- package/dist/render/tokens.js.map +1 -1
- package/package.json +35 -7
- package/prompts/onboard.md +246 -0
- package/prompts/scan.md +123 -0
- package/skills/SKILL.md +432 -0
|
@@ -31,7 +31,7 @@ export interface LoadedConfig {
|
|
|
31
31
|
/**
|
|
32
32
|
* Det contracts the TS SDK can consume. NL strings get run through
|
|
33
33
|
* ``parseNl`` in the ctor; pre-built ``DetFormula`` entries (from
|
|
34
|
-
* structured patterns, raw LTL, or A/
|
|
34
|
+
* structured patterns, raw LTL, or A/G composition) are pushed
|
|
35
35
|
* straight onto the contract list — no NL parsing required.
|
|
36
36
|
*/
|
|
37
37
|
contracts: (string | DetFormula)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/core/config-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/core/config-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA+BhD,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,SAAS,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IACnC,iEAAiE;IACjE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,yEAAyE;IACzE,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,mEAAmE;IACnE,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B;;;OAGG;IACH,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,cAAc,GAAG,kBAAkB,CAAC;IAC3E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,WAAW,GACX,WAAW,GACX,mBAAmB,GACnB,oBAAoB,GACpB,eAAe,GACf,kBAAkB,GAClB,gBAAgB,CAAC;AAErB;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB;mCAC+B;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,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;AAiBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CA6D5E"}
|
|
@@ -28,18 +28,33 @@
|
|
|
28
28
|
*/
|
|
29
29
|
import { readFileSync } from "node:fs";
|
|
30
30
|
import { createRequire } from "node:module";
|
|
31
|
-
import { buildPatternByName,
|
|
31
|
+
import { buildPatternByName, isAgPair, PatternFactoryError, } from "./pattern-factory.js";
|
|
32
32
|
import { parseRepr, ParseError } from "./parser.js";
|
|
33
|
+
import { parseNl } from "./nl-parser.js";
|
|
33
34
|
import { And, G, Implies } from "./formula.js";
|
|
34
35
|
import { loadPackContracts } from "./pack-loader.js";
|
|
35
36
|
import { dirname, resolve as resolvePath } from "node:path";
|
|
36
37
|
// Use createRequire so we can lazily load the optional `yaml` package
|
|
37
38
|
// without breaking non-yaml users (ESM dynamic import would force the
|
|
38
39
|
// entire constructor path async, which we don't want).
|
|
39
|
-
|
|
40
|
+
//
|
|
41
|
+
// Built lazily on first use rather than at module load. On runtimes
|
|
42
|
+
// where the SDK is bundled but YAML config is never used (Cloudflare
|
|
43
|
+
// Workers, Deno Deploy), `import.meta.url` is `undefined` and an eager
|
|
44
|
+
// `createRequire(undefined)` throws at import time, taking the whole
|
|
45
|
+
// bundle down. Deferring the call means a Worker that never loads YAML
|
|
46
|
+
// never touches `createRequire`; the `?? noop` guard keeps it from
|
|
47
|
+
// throwing in the rare case it is reached on such a runtime.
|
|
48
|
+
let _requireCjs = null;
|
|
49
|
+
function getRequireCjs() {
|
|
50
|
+
if (_requireCjs === null) {
|
|
51
|
+
_requireCjs = createRequire(import.meta.url ?? "file:///sponsio-noop.js");
|
|
52
|
+
}
|
|
53
|
+
return _requireCjs;
|
|
54
|
+
}
|
|
40
55
|
function loadYamlLib() {
|
|
41
56
|
try {
|
|
42
|
-
return
|
|
57
|
+
return getRequireCjs()("yaml");
|
|
43
58
|
}
|
|
44
59
|
catch {
|
|
45
60
|
throw new Error("[sponsio] config loading requires the `yaml` package. " +
|
|
@@ -80,7 +95,13 @@ export function loadSponsoConfig(path, agentId) {
|
|
|
80
95
|
const contracts = [];
|
|
81
96
|
const stoSpecs = [];
|
|
82
97
|
const runtime = getObject(parsed["runtime"]);
|
|
83
|
-
|
|
98
|
+
// Yaml mode precedence mirrors Python: `runtime.mode` >
|
|
99
|
+
// `defaults.mode` > bare top-level `mode:`. The top-level key is how
|
|
100
|
+
// docs/reference/config-yaml.md documents the global default, so a
|
|
101
|
+
// file written exactly as documented has to work here too.
|
|
102
|
+
const mode = extractModeKey(runtime, "runtime.mode", path) ??
|
|
103
|
+
extractModeKey(getObject(parsed["defaults"]), "defaults.mode", path) ??
|
|
104
|
+
parseModeValue(parsed["mode"], "mode", path);
|
|
84
105
|
const dashboard = extractDashboard(runtime);
|
|
85
106
|
const judge = extractJudge(parsed["judge"]);
|
|
86
107
|
const agents = getObject(parsed["agents"]);
|
|
@@ -150,13 +171,24 @@ function extractJudge(raw) {
|
|
|
150
171
|
/* -----------------------------------------------------------------
|
|
151
172
|
* helpers
|
|
152
173
|
* -----------------------------------------------------------------*/
|
|
153
|
-
function
|
|
154
|
-
if (!
|
|
174
|
+
function extractModeKey(block, keyName, path) {
|
|
175
|
+
if (!block)
|
|
155
176
|
return undefined;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
177
|
+
return parseModeValue(block["mode"], keyName, path);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Validate one `mode:` value. An unrecognised value is a typo the user
|
|
181
|
+
* wants to hear about, not something to silently ignore — silently
|
|
182
|
+
* ignoring it is exactly how the top-level key spent its life
|
|
183
|
+
* documented and inert (mirrors Python's `_parse_top_level_mode`).
|
|
184
|
+
*/
|
|
185
|
+
function parseModeValue(raw, keyName, path) {
|
|
186
|
+
if (raw === undefined || raw === null)
|
|
187
|
+
return undefined;
|
|
188
|
+
const norm = typeof raw === "string" ? raw.trim().toLowerCase() : raw;
|
|
189
|
+
if (norm === "enforce" || norm === "observe")
|
|
190
|
+
return norm;
|
|
191
|
+
throw new Error(`[sponsio] ${path}: \`${keyName}\` must be one of ['enforce', 'observe'], got ${JSON.stringify(raw)}`);
|
|
160
192
|
}
|
|
161
193
|
function extractDashboard(runtime) {
|
|
162
194
|
if (!runtime)
|
|
@@ -197,6 +229,30 @@ const STO_ATOMS = new Set([
|
|
|
197
229
|
"injection_free",
|
|
198
230
|
]);
|
|
199
231
|
function projectContract(entry) {
|
|
232
|
+
const projected = projectContractShape(entry);
|
|
233
|
+
// Per-contract `mode:` — overrides the global mode for this contract
|
|
234
|
+
// alone (mirrors Python's ContractEntry.mode; absent stays distinct
|
|
235
|
+
// from `observe`, and an unrecognised value raises rather than being
|
|
236
|
+
// ignored). NL entries are parsed here so the mode has a formula to
|
|
237
|
+
// ride on; an unparseable NL contract is inert anyway, so its mode
|
|
238
|
+
// is moot and the ctor's warning covers it.
|
|
239
|
+
if (!isObject(entry))
|
|
240
|
+
return projected;
|
|
241
|
+
const cMode = parseModeValue(entry["mode"], "contracts[].mode", "config");
|
|
242
|
+
if (!cMode)
|
|
243
|
+
return projected;
|
|
244
|
+
if (projected.kind === "det") {
|
|
245
|
+
projected.value.mode = cMode;
|
|
246
|
+
return projected;
|
|
247
|
+
}
|
|
248
|
+
if (projected.kind === "nl") {
|
|
249
|
+
const parsed = parseNl(projected.value);
|
|
250
|
+
if (parsed)
|
|
251
|
+
return { kind: "det", value: { ...parsed, mode: cMode } };
|
|
252
|
+
}
|
|
253
|
+
return projected;
|
|
254
|
+
}
|
|
255
|
+
function projectContractShape(entry) {
|
|
200
256
|
// Simplest form: a bare string on the contracts list.
|
|
201
257
|
if (typeof entry === "string") {
|
|
202
258
|
return { kind: "nl", value: entry };
|
|
@@ -210,15 +266,15 @@ function projectContract(entry) {
|
|
|
210
266
|
},
|
|
211
267
|
};
|
|
212
268
|
}
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
const eField = entry["
|
|
269
|
+
// Canonical short-key ``G`` and long-key ``guarantee`` only — matches
|
|
270
|
+
// Python's loader (no legacy alias support).
|
|
271
|
+
const eField = entry["G"] ?? entry["guarantee"];
|
|
216
272
|
const aField = entry["A"] ?? entry["assumption"];
|
|
217
273
|
const desc = stringOr(entry["desc"], "");
|
|
218
274
|
// Legacy ``sto: true`` flag without a structured pattern — caller
|
|
219
275
|
// declared intent to run a stochastic rule but didn't pick an
|
|
220
276
|
// atom. Skip with reason so the user knows to switch to
|
|
221
|
-
// ``
|
|
277
|
+
// ``G: { pattern: tone | llm_judge, args, threshold }``.
|
|
222
278
|
if (entry["sto"] === true || entry["type"] === "sto") {
|
|
223
279
|
if (!(isObject(eField) && "pattern" in eField)) {
|
|
224
280
|
return {
|
|
@@ -231,7 +287,7 @@ function projectContract(entry) {
|
|
|
231
287
|
};
|
|
232
288
|
}
|
|
233
289
|
}
|
|
234
|
-
// Sto takes priority — if ``
|
|
290
|
+
// Sto takes priority — if ``G.pattern`` matches a known sto atom,
|
|
235
291
|
// route straight to the sto spec builder (no A-side composition
|
|
236
292
|
// is supported for sto today, matching Python).
|
|
237
293
|
if (isObject(eField) && typeof eField["pattern"] === "string") {
|
|
@@ -242,17 +298,17 @@ function projectContract(entry) {
|
|
|
242
298
|
}
|
|
243
299
|
// ``desc:`` as sole contract body — matches the old loader's
|
|
244
300
|
// lossy-but-useful fallback when the user wrote only a human
|
|
245
|
-
// description. Runs before ``buildConstraint`` so the "missing
|
|
301
|
+
// description. Runs before ``buildConstraint`` so the "missing G"
|
|
246
302
|
// error doesn't preempt it.
|
|
247
303
|
if (eField === undefined && aField === undefined && desc) {
|
|
248
304
|
return { kind: "nl", value: desc };
|
|
249
305
|
}
|
|
250
|
-
// Build the
|
|
306
|
+
// Build the guarantee formula. Possible shapes:
|
|
251
307
|
// - string: NL
|
|
252
308
|
// - { pattern: X, args: [...] }: structured det
|
|
253
309
|
// - { ltl: "G(…)" }: raw LTL
|
|
254
310
|
// - list of any of the above: AND-combined
|
|
255
|
-
const eBuilt = buildConstraint(eField, "
|
|
311
|
+
const eBuilt = buildConstraint(eField, "G", desc);
|
|
256
312
|
if (eBuilt.kind === "skip")
|
|
257
313
|
return eBuilt;
|
|
258
314
|
if (eBuilt.kind === "nl-string") {
|
|
@@ -284,7 +340,7 @@ function projectContract(entry) {
|
|
|
284
340
|
}
|
|
285
341
|
// Both sides structured: compose as ``G(A -> E)``. ``G`` is
|
|
286
342
|
// required because ``evaluate`` runs from ``pos=0``; a bare
|
|
287
|
-
// ``Implies(A,
|
|
343
|
+
// ``Implies(A, G)`` short-circuits to ``true`` whenever ``A`` is
|
|
288
344
|
// false at step 0, regardless of later events. Lifting the
|
|
289
345
|
// implication under ``G`` makes it fire at every state where the
|
|
290
346
|
// assumption holds.
|
|
@@ -305,12 +361,12 @@ function projectContract(entry) {
|
|
|
305
361
|
};
|
|
306
362
|
return { kind: "det", value: naked };
|
|
307
363
|
}
|
|
308
|
-
/** Parse one side (A or
|
|
364
|
+
/** Parse one side (A or G) of a yaml contract into a DetFormula or
|
|
309
365
|
* an NL string. Lists are AND-combined pairwise. */
|
|
310
366
|
function buildConstraint(raw, side, parentDesc) {
|
|
311
367
|
if (raw === undefined || raw === null) {
|
|
312
368
|
if (side === "A") {
|
|
313
|
-
// A is optional — caller falls through to plain-
|
|
369
|
+
// A is optional — caller falls through to plain-G path.
|
|
314
370
|
return {
|
|
315
371
|
kind: "skip",
|
|
316
372
|
reason: {
|
|
@@ -323,7 +379,7 @@ function buildConstraint(raw, side, parentDesc) {
|
|
|
323
379
|
kind: "skip",
|
|
324
380
|
reason: {
|
|
325
381
|
kind: "unknown-contract",
|
|
326
|
-
detail: `${parentDesc || "contract"}: missing
|
|
382
|
+
detail: `${parentDesc || "contract"}: missing G: / guarantee:`,
|
|
327
383
|
},
|
|
328
384
|
};
|
|
329
385
|
}
|
|
@@ -342,7 +398,7 @@ function buildConstraint(raw, side, parentDesc) {
|
|
|
342
398
|
}
|
|
343
399
|
if (Array.isArray(raw)) {
|
|
344
400
|
// AND-combine every item; every item must itself be structured
|
|
345
|
-
// (list of bare NL strings on the A/
|
|
401
|
+
// (list of bare NL strings on the A/G side is unusual and would
|
|
346
402
|
// compose ambiguously through parseNl — defer to Python).
|
|
347
403
|
const parts = [];
|
|
348
404
|
for (const item of raw) {
|
|
@@ -389,6 +445,16 @@ function buildConstraint(raw, side, parentDesc) {
|
|
|
389
445
|
},
|
|
390
446
|
};
|
|
391
447
|
}
|
|
448
|
+
// Per-clause ``desc:`` mirrors the Python ConstraintEntry.desc
|
|
449
|
+
// field — without it the renderer is stuck using ``parentDesc``
|
|
450
|
+
// for both A and G (same string for "assume" and "enforce" lines)
|
|
451
|
+
// or, on the ltl path, the raw formula text. Per-clause desc lets
|
|
452
|
+
// a contract distinguish "user declared a code freeze" (A) from
|
|
453
|
+
// "no destructive SQL while the freeze is in effect" (G).
|
|
454
|
+
const clauseDescRaw = raw["desc"];
|
|
455
|
+
const clauseDesc = typeof clauseDescRaw === "string" && clauseDescRaw.trim()
|
|
456
|
+
? clauseDescRaw.trim()
|
|
457
|
+
: parentDesc;
|
|
392
458
|
// { ltl: "G(!called(foo))" } — raw formula, parsed via parseRepr.
|
|
393
459
|
const ltl = raw["ltl"];
|
|
394
460
|
if (typeof ltl === "string" && ltl.trim()) {
|
|
@@ -398,7 +464,10 @@ function buildConstraint(raw, side, parentDesc) {
|
|
|
398
464
|
kind: "formula",
|
|
399
465
|
formula: {
|
|
400
466
|
formula: f,
|
|
401
|
-
|
|
467
|
+
// Match Python's _compile_ltl: ``entry.desc or entry.ltl``.
|
|
468
|
+
// Raw LTL text is ugly but consistent across language ports;
|
|
469
|
+
// ``ltl(...)`` wrapping diverged silently from Python.
|
|
470
|
+
desc: clauseDesc || ltl,
|
|
402
471
|
patternName: "ltl",
|
|
403
472
|
liveness: false,
|
|
404
473
|
},
|
|
@@ -430,8 +499,13 @@ function buildConstraint(raw, side, parentDesc) {
|
|
|
430
499
|
},
|
|
431
500
|
};
|
|
432
501
|
}
|
|
433
|
-
const det =
|
|
434
|
-
|
|
502
|
+
const det = isAgPair(built) ? built.guarantee : built;
|
|
503
|
+
// ``desc:`` from the YAML overrides the pattern factory's
|
|
504
|
+
// default — same precedence as Python's _compile_structured.
|
|
505
|
+
const finalDet = typeof clauseDescRaw === "string" && clauseDescRaw.trim()
|
|
506
|
+
? { ...det, desc: clauseDescRaw.trim() }
|
|
507
|
+
: det;
|
|
508
|
+
return { kind: "formula", formula: finalDet };
|
|
435
509
|
}
|
|
436
510
|
catch (err) {
|
|
437
511
|
const msg = err instanceof PatternFactoryError ? err.message : String(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/core/config-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/core/config-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/core/evaluator.d.ts
CHANGED
|
@@ -10,6 +10,14 @@
|
|
|
10
10
|
* X(φ) → true (weak next)
|
|
11
11
|
*/
|
|
12
12
|
import { Formula } from "./formula.js";
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* State valuation at a single timestep.
|
|
15
|
+
*
|
|
16
|
+
* Atoms emit boolean values. Counter-style Vars emit numbers.
|
|
17
|
+
* arg_value / ctx_value (used by ArgValue / CtxValue Terms) emit any
|
|
18
|
+
* raw value pushed by grounding; can be string, number, object, etc.
|
|
19
|
+
* Missing keys evaluate to ``undefined``.
|
|
20
|
+
*/
|
|
21
|
+
export type Valuation = Record<string, boolean | number | string | unknown>;
|
|
14
22
|
export declare function evaluate(formula: Formula, trace: Valuation[], pos?: number): boolean;
|
|
15
23
|
//# sourceMappingURL=evaluator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/core/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,OAAO,EAIR,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluator.d.ts","sourceRoot":"","sources":["../../src/core/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,OAAO,EAIR,MAAM,cAAc,CAAC;AAGtB;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AA6K5E,wBAAgB,QAAQ,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,EAAE,EAClB,GAAG,GAAE,MAAU,GACd,OAAO,CAqFT"}
|
package/dist/core/evaluator.js
CHANGED
|
@@ -9,14 +9,183 @@
|
|
|
9
9
|
* U → false (ψ never discharged)
|
|
10
10
|
* X(φ) → true (weak next)
|
|
11
11
|
*/
|
|
12
|
+
import { predKey } from "./formula.js";
|
|
13
|
+
/**
|
|
14
|
+
* Resolve a Term to its underlying value at the current state.
|
|
15
|
+
*
|
|
16
|
+
* Var / Const: counter-style semantics (numeric value; 0 for missing).
|
|
17
|
+
* ArgValue / CtxValue: raw value from grounding (may be any type, or
|
|
18
|
+
* undefined when missing).
|
|
19
|
+
* UnaryFn / ArgLength: derived value (undefined when inner is missing
|
|
20
|
+
* or when the callable throws / .length is unsupported).
|
|
21
|
+
*/
|
|
12
22
|
function resolveArith(expr, state) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
23
|
+
switch (expr.kind) {
|
|
24
|
+
case "Const":
|
|
25
|
+
return expr.value;
|
|
26
|
+
case "Var": {
|
|
27
|
+
const key = expr.key();
|
|
28
|
+
const val = state[key];
|
|
29
|
+
if (typeof val === "number")
|
|
30
|
+
return val;
|
|
31
|
+
return 0; // counter-style default for missing
|
|
32
|
+
}
|
|
33
|
+
case "ArgValue":
|
|
34
|
+
return state[predKey("arg_value", expr.tool, expr.field)];
|
|
35
|
+
case "CtxValue":
|
|
36
|
+
return state[predKey("ctx_value", expr.key)];
|
|
37
|
+
case "ArgLength": {
|
|
38
|
+
const v = state[predKey("arg_value", expr.tool, expr.field)];
|
|
39
|
+
if (v == null)
|
|
40
|
+
return undefined;
|
|
41
|
+
try {
|
|
42
|
+
if (typeof v.length === "number") {
|
|
43
|
+
return v.length;
|
|
44
|
+
}
|
|
45
|
+
if (typeof v === "string")
|
|
46
|
+
return v.length;
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
case "UnaryFn": {
|
|
54
|
+
const inner = resolveArith(expr.arg, state);
|
|
55
|
+
if (inner === undefined || inner === null)
|
|
56
|
+
return undefined;
|
|
57
|
+
try {
|
|
58
|
+
return expr.fn(inner);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Structural value-equality, matching Python's `==` for the value
|
|
68
|
+
* shapes that flow through grounding (numbers, strings, booleans,
|
|
69
|
+
* arrays, plain objects).
|
|
70
|
+
*
|
|
71
|
+
* The naive `l === r` diverged from the Python evaluator (`left ==
|
|
72
|
+
* right`) for composite values: an `Eq(ArgValue(...), CtxValue(...))`
|
|
73
|
+
* over list- or object-valued args compares by *value* in Python
|
|
74
|
+
* (`[1] == [1]` is True) but `===` compares arrays/objects by
|
|
75
|
+
* *reference* in JS (`[1] === [1]` is False). With the v0.2 Term
|
|
76
|
+
* abstraction making value-equality reachable, that gap could pass a
|
|
77
|
+
* contract in Python and fail it in TS on the same trace. `valuesEqual`
|
|
78
|
+
* closes it with element-/key-wise deep comparison.
|
|
79
|
+
*/
|
|
80
|
+
function valuesEqual(a, b) {
|
|
81
|
+
if (a === b)
|
|
82
|
+
return true;
|
|
83
|
+
if (a === null || b === null || a === undefined || b === undefined) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
if (Array.isArray(a) || Array.isArray(b)) {
|
|
87
|
+
if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
return a.every((x, i) => valuesEqual(x, b[i]));
|
|
91
|
+
}
|
|
92
|
+
if (typeof a === "object" && typeof b === "object") {
|
|
93
|
+
const ka = Object.keys(a);
|
|
94
|
+
const kb = Object.keys(b);
|
|
95
|
+
if (ka.length !== kb.length)
|
|
96
|
+
return false;
|
|
97
|
+
return ka.every((k) => Object.prototype.hasOwnProperty.call(b, k) &&
|
|
98
|
+
valuesEqual(a[k], b[k]));
|
|
99
|
+
}
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
// Plain decimal / float / scientific literal, byte-identical to the Python
|
|
103
|
+
// side (sponsio/formulas/_compare.py). Excludes inf/nan/hex/empty so
|
|
104
|
+
// Number() and Python float() agree exactly on every accepted string.
|
|
105
|
+
const ORDERED_NUMERIC_RE = /^[+-]?(\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?$/;
|
|
106
|
+
/** Numeric value of a plain-numeric string, else null. */
|
|
107
|
+
function numericString(v) {
|
|
108
|
+
if (typeof v === "string") {
|
|
109
|
+
const s = v.trim();
|
|
110
|
+
if (ORDERED_NUMERIC_RE.test(s)) {
|
|
111
|
+
const n = Number(s);
|
|
112
|
+
if (Number.isFinite(n))
|
|
113
|
+
return n;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Whether two operands are order-comparable the way Python is: two numbers,
|
|
120
|
+
* two strings, or bool/number mixes (Python treats bool as int). Anything
|
|
121
|
+
* else raises TypeError in Python, so we must return False rather than let
|
|
122
|
+
* JavaScript silently coerce.
|
|
123
|
+
*/
|
|
124
|
+
function orderComparable(l, r) {
|
|
125
|
+
const tl = typeof l;
|
|
126
|
+
const tr = typeof r;
|
|
127
|
+
if (tl === "number" && tr === "number")
|
|
128
|
+
return true;
|
|
129
|
+
if (tl === "string" && tr === "string")
|
|
130
|
+
return true;
|
|
131
|
+
if ((tl === "boolean" || tl === "number") && (tr === "boolean" || tr === "number")) {
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Compare two resolved values with the canonical "missing" semantics.
|
|
138
|
+
*
|
|
139
|
+
* If either operand is undefined / null, the comparison is False (the
|
|
140
|
+
* comparison cannot decide). Same for type errors (mismatched types).
|
|
141
|
+
* This is the Hoare-vacuity convention. `eq` uses `valuesEqual` for
|
|
142
|
+
* Python `==` parity on composite values.
|
|
143
|
+
*
|
|
144
|
+
* Ordered comparisons coerce a plain-numeric string operand (e.g. a raw
|
|
145
|
+
* `"5000"` tool argument) to a number when the other operand is numeric, so
|
|
146
|
+
* a numeric guard compares numerically and fails closed — identically to the
|
|
147
|
+
* Python runtime. Non-coercible mismatched operands return False (mirroring
|
|
148
|
+
* Python's TypeError) instead of using JavaScript's implicit coercion.
|
|
149
|
+
* See issue #108.
|
|
150
|
+
*/
|
|
151
|
+
function safeCompare(op, left, right) {
|
|
152
|
+
if (left === undefined || left === null)
|
|
153
|
+
return false;
|
|
154
|
+
if (right === undefined || right === null)
|
|
155
|
+
return false;
|
|
156
|
+
let l = left;
|
|
157
|
+
let r = right;
|
|
158
|
+
if (op !== "eq") {
|
|
159
|
+
if (typeof l === "number" && typeof r === "string") {
|
|
160
|
+
const n = numericString(r);
|
|
161
|
+
if (n !== null)
|
|
162
|
+
r = n;
|
|
163
|
+
}
|
|
164
|
+
else if (typeof r === "number" && typeof l === "string") {
|
|
165
|
+
const n = numericString(l);
|
|
166
|
+
if (n !== null)
|
|
167
|
+
l = n;
|
|
168
|
+
}
|
|
169
|
+
if (!orderComparable(l, r))
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
try {
|
|
173
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
174
|
+
const la = l;
|
|
175
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
176
|
+
const ra = r;
|
|
177
|
+
switch (op) {
|
|
178
|
+
case "le": return la <= ra;
|
|
179
|
+
case "lt": return la < ra;
|
|
180
|
+
case "ge": return la >= ra;
|
|
181
|
+
case "gt": return la > ra;
|
|
182
|
+
case "eq": return valuesEqual(la, ra);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
return false;
|
|
20
189
|
}
|
|
21
190
|
export function evaluate(formula, trace, pos = 0) {
|
|
22
191
|
// Past end of trace — weak semantics
|
|
@@ -63,21 +232,28 @@ export function evaluate(formula, trace, pos = 0) {
|
|
|
63
232
|
return false;
|
|
64
233
|
}
|
|
65
234
|
return false; // ψ never became true
|
|
66
|
-
// --- Arithmetic ---
|
|
235
|
+
// --- Arithmetic / Term comparisons ---
|
|
67
236
|
case "Le":
|
|
68
|
-
return resolveArith(formula.left, state)
|
|
237
|
+
return safeCompare("le", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
69
238
|
case "Lt":
|
|
70
|
-
return resolveArith(formula.left, state)
|
|
239
|
+
return safeCompare("lt", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
71
240
|
case "Ge":
|
|
72
|
-
return resolveArith(formula.left, state)
|
|
241
|
+
return safeCompare("ge", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
73
242
|
case "Gt":
|
|
74
|
-
return resolveArith(formula.left, state)
|
|
243
|
+
return safeCompare("gt", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
75
244
|
case "Eq":
|
|
76
|
-
return resolveArith(formula.left, state)
|
|
245
|
+
return safeCompare("eq", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
77
246
|
case "Var":
|
|
78
247
|
return Boolean(state[formula.key()] ?? false);
|
|
79
248
|
case "Const":
|
|
80
249
|
return formula.value !== 0;
|
|
250
|
+
// Terms cannot appear at formula-level (only as comparison operands)
|
|
251
|
+
// but the Formula type union includes them. Treat as truthy fallback.
|
|
252
|
+
case "ArgValue":
|
|
253
|
+
case "CtxValue":
|
|
254
|
+
case "ArgLength":
|
|
255
|
+
case "UnaryFn":
|
|
256
|
+
return false;
|
|
81
257
|
default: {
|
|
82
258
|
const _exhaustive = formula;
|
|
83
259
|
throw new Error(`Unknown formula kind: ${_exhaustive.kind}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/core/evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/core/evaluator.ts"],"names":[],"mappings":"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"}
|