@sponsio/sdk 0.1.0 → 0.2.0-alpha.10
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/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/destructive.yaml +213 -0
- package/contracts/capability/factual-claims.yaml +79 -0
- package/contracts/capability/host-config-integrity.yaml +42 -9
- package/contracts/capability/self-modify.yaml +58 -12
- package/contracts/capability/shell.yaml +19 -10
- package/contracts/incident/claude-code-secret-bypass.yaml +48 -16
- package/contracts/incident/cursor-railway-wipe.yaml +60 -4
- package/contracts/incident/openclaw.yaml +9 -62
- package/contracts/premium/.gitkeep +5 -6
- package/dist/cli/cli.js +32 -0
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/packs.d.ts.map +1 -1
- package/dist/cli/packs.js +14 -8
- package/dist/cli/packs.js.map +1 -1
- package/dist/cli/patterns.d.ts +5 -4
- package/dist/cli/patterns.d.ts.map +1 -1
- package/dist/cli/patterns.js +11 -10
- package/dist/cli/patterns.js.map +1 -1
- package/dist/cli/prompt.js +5 -5
- package/dist/cli/prompt.js.map +1 -1
- package/dist/cli/scan.js +2 -2
- package/dist/cli/skill.d.ts +1 -1
- package/dist/cli/skill.js +1 -1
- package/dist/cli/validate.js +5 -5
- package/dist/cli/validate.js.map +1 -1
- package/dist/cloud/client.d.ts +76 -0
- package/dist/cloud/client.d.ts.map +1 -0
- package/dist/cloud/client.js +204 -0
- package/dist/cloud/client.js.map +1 -0
- package/dist/cloud/evidence.d.ts +108 -0
- package/dist/cloud/evidence.d.ts.map +1 -0
- package/dist/cloud/evidence.js +184 -0
- package/dist/cloud/evidence.js.map +1 -0
- package/dist/cloud/privacy.d.ts +67 -0
- package/dist/cloud/privacy.d.ts.map +1 -0
- package/dist/cloud/privacy.js +170 -0
- package/dist/cloud/privacy.js.map +1 -0
- package/dist/cloud/view-model.d.ts +49 -0
- package/dist/cloud/view-model.d.ts.map +1 -0
- package/dist/cloud/view-model.js +172 -0
- package/dist/cloud/view-model.js.map +1 -0
- package/dist/core/config-loader.d.ts.map +1 -1
- package/dist/core/config-loader.js +81 -9
- package/dist/core/config-loader.js.map +1 -1
- package/dist/core/evaluator.d.ts +11 -1
- package/dist/core/evaluator.d.ts.map +1 -1
- package/dist/core/evaluator.js +275 -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 +95 -1
- package/dist/core/formula.js.map +1 -1
- package/dist/core/grounding.d.ts +44 -8
- package/dist/core/grounding.d.ts.map +1 -1
- package/dist/core/grounding.js +208 -26
- package/dist/core/grounding.js.map +1 -1
- package/dist/core/nl-parser.d.ts +2 -2
- package/dist/core/nl-parser.d.ts.map +1 -1
- package/dist/core/nl-parser.js +617 -41
- 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.map +1 -1
- package/dist/core/pattern-factory.js +14 -1
- package/dist/core/pattern-factory.js.map +1 -1
- package/dist/core/patterns.d.ts +118 -1
- package/dist/core/patterns.d.ts.map +1 -1
- package/dist/core/patterns.js +189 -10
- 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/sto.d.ts +21 -27
- package/dist/core/sto.d.ts.map +1 -1
- package/dist/core/sto.js +30 -33
- package/dist/core/sto.js.map +1 -1
- package/dist/core/tool-names.d.ts +59 -0
- package/dist/core/tool-names.d.ts.map +1 -0
- package/dist/core/tool-names.js +128 -0
- package/dist/core/tool-names.js.map +1 -0
- package/dist/index.d.ts +181 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +415 -67
- package/dist/index.js.map +1 -1
- package/dist/integrations/claude-agent.d.ts +5 -0
- package/dist/integrations/claude-agent.d.ts.map +1 -1
- package/dist/integrations/claude-agent.js +42 -13
- package/dist/integrations/claude-agent.js.map +1 -1
- package/dist/integrations/google-adk.d.ts +5 -3
- package/dist/integrations/google-adk.d.ts.map +1 -1
- package/dist/integrations/google-adk.js +9 -5
- package/dist/integrations/google-adk.js.map +1 -1
- package/dist/integrations/langchain.d.ts +7 -0
- package/dist/integrations/langchain.d.ts.map +1 -1
- package/dist/integrations/langchain.js +21 -3
- package/dist/integrations/langchain.js.map +1 -1
- package/dist/integrations/openai-agents.d.ts +22 -10
- package/dist/integrations/openai-agents.d.ts.map +1 -1
- package/dist/integrations/openai-agents.js +55 -15
- package/dist/integrations/openai-agents.js.map +1 -1
- package/dist/integrations/openai.d.ts +11 -0
- package/dist/integrations/openai.d.ts.map +1 -1
- package/dist/integrations/openai.js +130 -48
- package/dist/integrations/openai.js.map +1 -1
- package/dist/integrations/vercel-ai.d.ts +20 -9
- package/dist/integrations/vercel-ai.d.ts.map +1 -1
- package/dist/integrations/vercel-ai.js +131 -32
- package/dist/integrations/vercel-ai.js.map +1 -1
- package/package.json +17 -9
- package/prompts/onboard.md +26 -17
- package/prompts/scan.md +3 -5
- package/skills/SKILL.md +13 -83
- package/contracts/core/llm_safety.yaml +0 -140
- package/prompts/refresh.md +0 -118
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-model.js","sourceRoot":"","sources":["../../src/cloud/view-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -30,16 +30,31 @@ import { readFileSync } from "node:fs";
|
|
|
30
30
|
import { createRequire } from "node:module";
|
|
31
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 };
|
|
@@ -293,6 +349,16 @@ function projectContract(entry) {
|
|
|
293
349
|
desc: desc || `${aBuilt.formula.desc} => ${eBuilt.formula.desc}`,
|
|
294
350
|
patternName: `${aBuilt.formula.patternName}__implies__${eBuilt.formula.patternName}`,
|
|
295
351
|
liveness: eBuilt.formula.liveness,
|
|
352
|
+
// The enforcement side owns the strategy. Rebuilding a contract
|
|
353
|
+
// field by field is how `redirect_to_safe` lost its substitute:
|
|
354
|
+
// the formula survived, the strategy did not, and every redirect
|
|
355
|
+
// came back as a plain block.
|
|
356
|
+
...(eBuilt.formula.strategy !== undefined
|
|
357
|
+
? { strategy: eBuilt.formula.strategy }
|
|
358
|
+
: {}),
|
|
359
|
+
...(eBuilt.formula.safeName !== undefined
|
|
360
|
+
? { safeName: eBuilt.formula.safeName }
|
|
361
|
+
: {}),
|
|
296
362
|
};
|
|
297
363
|
return { kind: "det", value: composed };
|
|
298
364
|
}
|
|
@@ -302,6 +368,12 @@ function projectContract(entry) {
|
|
|
302
368
|
desc: desc || eBuilt.formula.desc,
|
|
303
369
|
patternName: eBuilt.formula.patternName,
|
|
304
370
|
liveness: eBuilt.formula.liveness,
|
|
371
|
+
...(eBuilt.formula.strategy !== undefined
|
|
372
|
+
? { strategy: eBuilt.formula.strategy }
|
|
373
|
+
: {}),
|
|
374
|
+
...(eBuilt.formula.safeName !== undefined
|
|
375
|
+
? { safeName: eBuilt.formula.safeName }
|
|
376
|
+
: {}),
|
|
305
377
|
};
|
|
306
378
|
return { kind: "det", value: naked };
|
|
307
379
|
}
|
|
@@ -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,16 @@
|
|
|
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>;
|
|
22
|
+
/** Numeric value of a numeric-looking string, else null. */
|
|
23
|
+
export declare function numericString(v: unknown): number | null;
|
|
14
24
|
export declare function evaluate(formula: Formula, trace: Valuation[], pos?: number): boolean;
|
|
15
25
|
//# 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;AA0J5E,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAYvD;AA8FD,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,269 @@
|
|
|
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
|
+
// Unambiguous thousands grouping: 5,000 / 1,234,567 / 1,234,567.89.
|
|
107
|
+
const GROUPED_RE = /^[+-]?\d{1,3}(,\d{3})+(\.\d+)?$/;
|
|
108
|
+
// Unambiguous European grouping: a decimal comma after dot groups
|
|
109
|
+
// (5.000,00 / 1.234.567,89) or two or more dot groups (1.000.000). One dot
|
|
110
|
+
// group alone (5.000) is a plain float on its own.
|
|
111
|
+
const EU_GROUPED_RE = /^[+-]?\d{1,3}(\.\d{3})+,\d+$|^[+-]?\d{1,3}(\.\d{3}){2,}$/;
|
|
112
|
+
// One dot group behind a currency symbol or unit (€5.000 / 5.000 EUR): five
|
|
113
|
+
// thousand in Berlin, five with three decimals in Boston. Guessing either way
|
|
114
|
+
// changes the magnitude a thousandfold, so it is left unparsed and the
|
|
115
|
+
// numeric guard refuses it. Leading digit non-zero: nobody writes 0.500 for
|
|
116
|
+
// five hundred.
|
|
117
|
+
const EU_AMBIGUOUS_RE = /^[+-]?[1-9]\d{0,2}\.\d{3}$/;
|
|
118
|
+
// A leading currency symbol, optionally after the sign.
|
|
119
|
+
const CURRENCY_PREFIX_RE = /^([+-]?)\s*[$€£¥₹]\s*/;
|
|
120
|
+
// A trailing currency code or unit: "5000 USD", "5000USD", "12 %".
|
|
121
|
+
// No `\s*` adjacent to the anchor: `/\s*X\s*$/` is the polynomial-ReDoS
|
|
122
|
+
// shape CodeQL flags (a long run of spaces retries at every position).
|
|
123
|
+
// Whitespace is trimmed separately, and the lookbehind keeps the unit from
|
|
124
|
+
// eating the tail of a longer word.
|
|
125
|
+
const UNIT_SUFFIX_RE = /(?<![A-Za-z])(?:[A-Za-z]{2,4}|%)$/;
|
|
126
|
+
/**
|
|
127
|
+
* Strip the formatting a model wraps around a number. Mirrors
|
|
128
|
+
* ``_normalise`` in sponsio/formulas/_compare.py: a model writing a
|
|
129
|
+
* currency amount emits "$5,000" or "5000 USD" as readily as "5000", and
|
|
130
|
+
* treating those as "not a number" let them pass a cap that stopped the
|
|
131
|
+
* plain form. Commas are removed only in unambiguous thousands grouping,
|
|
132
|
+
* never from "5,50", where the comma may be a decimal separator. European
|
|
133
|
+
* grouping is read when unambiguous ("5.000,00", "1.000.000"); "€5.000" is
|
|
134
|
+
* returned unparsed so the guard refuses it, and a bare "5.000" stays 5.
|
|
135
|
+
*/
|
|
136
|
+
function normaliseNumeric(v) {
|
|
137
|
+
const original = v.trim();
|
|
138
|
+
let s = original.replace(CURRENCY_PREFIX_RE, "$1");
|
|
139
|
+
const currency = s !== original;
|
|
140
|
+
const strippedUnit = s.replace(UNIT_SUFFIX_RE, "").trimEnd();
|
|
141
|
+
// Only drop the suffix if a number is left; "USD" alone must stay
|
|
142
|
+
// unparsed, and the exponent in "1e5" must not be read as a unit.
|
|
143
|
+
let unit = false;
|
|
144
|
+
if (strippedUnit && strippedUnit !== s) {
|
|
145
|
+
const bare = strippedUnit.replace(/ /g, "");
|
|
146
|
+
if (GROUPED_RE.test(bare) ||
|
|
147
|
+
ORDERED_NUMERIC_RE.test(strippedUnit) ||
|
|
148
|
+
EU_GROUPED_RE.test(bare) ||
|
|
149
|
+
EU_AMBIGUOUS_RE.test(bare)) {
|
|
150
|
+
s = strippedUnit;
|
|
151
|
+
unit = true;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
s = s.trim();
|
|
155
|
+
if (EU_GROUPED_RE.test(s))
|
|
156
|
+
return s.replace(/\./g, "").replace(",", ".");
|
|
157
|
+
if ((currency || unit) && EU_AMBIGUOUS_RE.test(s))
|
|
158
|
+
return original;
|
|
159
|
+
if (GROUPED_RE.test(s))
|
|
160
|
+
s = s.replace(/,/g, "");
|
|
161
|
+
return s;
|
|
162
|
+
}
|
|
163
|
+
/** Numeric value of a numeric-looking string, else null. */
|
|
164
|
+
export function numericString(v) {
|
|
165
|
+
if (typeof v === "string") {
|
|
166
|
+
const s = normaliseNumeric(v);
|
|
167
|
+
if (ORDERED_NUMERIC_RE.test(s)) {
|
|
168
|
+
const n = Number(s);
|
|
169
|
+
// Overflow to Infinity is kept, matching Python's float(): the value
|
|
170
|
+
// really is larger than the runtime can hold, so a cap should fire
|
|
171
|
+
// rather than be skipped on one runtime and not the other.
|
|
172
|
+
if (!Number.isNaN(n))
|
|
173
|
+
return n;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
// Values already reported, so a loop over the same bad argument warns once.
|
|
179
|
+
const WARNED_INCOMPARABLE = new Set();
|
|
180
|
+
/**
|
|
181
|
+
* Say so when a numeric guard meets a value it cannot read as a number.
|
|
182
|
+
*
|
|
183
|
+
* The comparison still falls through to False (the Hoare-vacuity
|
|
184
|
+
* convention), which for a ``G(!(amount > cap))`` guard means the call is
|
|
185
|
+
* NOT constrained. That is a contract not protecting what its author
|
|
186
|
+
* believes it protects, so it is reported once per value. Mirrors
|
|
187
|
+
* ``_warn_incomparable`` in sponsio/formulas/_compare.py.
|
|
188
|
+
*/
|
|
189
|
+
function warnIncomparable(value) {
|
|
190
|
+
const key = value.slice(0, 120);
|
|
191
|
+
if (WARNED_INCOMPARABLE.has(key))
|
|
192
|
+
return;
|
|
193
|
+
WARNED_INCOMPARABLE.add(key);
|
|
194
|
+
console.warn(`[sponsio] numeric guard received a non-numeric value ` +
|
|
195
|
+
`${JSON.stringify(value.slice(0, 60))}; the comparison cannot be ` +
|
|
196
|
+
`evaluated and the guard does NOT constrain this call. Normalise the ` +
|
|
197
|
+
`argument, or express the rule with \`arg_blacklist\` / ` +
|
|
198
|
+
`\`arg_field_has\` so it matches on text.`);
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Whether two operands are order-comparable the way Python is: two numbers,
|
|
202
|
+
* two strings, or bool/number mixes (Python treats bool as int). Anything
|
|
203
|
+
* else raises TypeError in Python, so we must return False rather than let
|
|
204
|
+
* JavaScript silently coerce.
|
|
205
|
+
*/
|
|
206
|
+
function orderComparable(l, r) {
|
|
207
|
+
const tl = typeof l;
|
|
208
|
+
const tr = typeof r;
|
|
209
|
+
if (tl === "number" && tr === "number")
|
|
210
|
+
return true;
|
|
211
|
+
if (tl === "string" && tr === "string")
|
|
212
|
+
return true;
|
|
213
|
+
if ((tl === "boolean" || tl === "number") && (tr === "boolean" || tr === "number")) {
|
|
214
|
+
return true;
|
|
215
|
+
}
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Compare two resolved values with the canonical "missing" semantics.
|
|
220
|
+
*
|
|
221
|
+
* If either operand is undefined / null, the comparison is False (the
|
|
222
|
+
* comparison cannot decide). Same for type errors (mismatched types).
|
|
223
|
+
* This is the Hoare-vacuity convention. `eq` uses `valuesEqual` for
|
|
224
|
+
* Python `==` parity on composite values.
|
|
225
|
+
*
|
|
226
|
+
* Ordered comparisons coerce a plain-numeric string operand (e.g. a raw
|
|
227
|
+
* `"5000"` tool argument) to a number when the other operand is numeric, so
|
|
228
|
+
* a numeric guard compares numerically and fails closed — identically to the
|
|
229
|
+
* Python runtime. Non-coercible mismatched operands return False (mirroring
|
|
230
|
+
* Python's TypeError) instead of using JavaScript's implicit coercion.
|
|
231
|
+
* See issue #108.
|
|
232
|
+
*/
|
|
233
|
+
function safeCompare(op, left, right) {
|
|
234
|
+
if (left === undefined || left === null)
|
|
235
|
+
return false;
|
|
236
|
+
if (right === undefined || right === null)
|
|
237
|
+
return false;
|
|
238
|
+
let l = left;
|
|
239
|
+
let r = right;
|
|
240
|
+
if (op !== "eq") {
|
|
241
|
+
if (typeof l === "number" && typeof r === "string") {
|
|
242
|
+
const n = numericString(r);
|
|
243
|
+
if (n !== null)
|
|
244
|
+
r = n;
|
|
245
|
+
else
|
|
246
|
+
warnIncomparable(r);
|
|
247
|
+
}
|
|
248
|
+
else if (typeof r === "number" && typeof l === "string") {
|
|
249
|
+
const n = numericString(l);
|
|
250
|
+
if (n !== null)
|
|
251
|
+
l = n;
|
|
252
|
+
else
|
|
253
|
+
warnIncomparable(l);
|
|
254
|
+
}
|
|
255
|
+
if (!orderComparable(l, r))
|
|
256
|
+
return false;
|
|
257
|
+
}
|
|
258
|
+
try {
|
|
259
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
260
|
+
const la = l;
|
|
261
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
262
|
+
const ra = r;
|
|
263
|
+
switch (op) {
|
|
264
|
+
case "le": return la <= ra;
|
|
265
|
+
case "lt": return la < ra;
|
|
266
|
+
case "ge": return la >= ra;
|
|
267
|
+
case "gt": return la > ra;
|
|
268
|
+
case "eq": return valuesEqual(la, ra);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
return false;
|
|
273
|
+
}
|
|
274
|
+
return false;
|
|
20
275
|
}
|
|
21
276
|
export function evaluate(formula, trace, pos = 0) {
|
|
22
277
|
// Past end of trace — weak semantics
|
|
@@ -63,21 +318,28 @@ export function evaluate(formula, trace, pos = 0) {
|
|
|
63
318
|
return false;
|
|
64
319
|
}
|
|
65
320
|
return false; // ψ never became true
|
|
66
|
-
// --- Arithmetic ---
|
|
321
|
+
// --- Arithmetic / Term comparisons ---
|
|
67
322
|
case "Le":
|
|
68
|
-
return resolveArith(formula.left, state)
|
|
323
|
+
return safeCompare("le", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
69
324
|
case "Lt":
|
|
70
|
-
return resolveArith(formula.left, state)
|
|
325
|
+
return safeCompare("lt", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
71
326
|
case "Ge":
|
|
72
|
-
return resolveArith(formula.left, state)
|
|
327
|
+
return safeCompare("ge", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
73
328
|
case "Gt":
|
|
74
|
-
return resolveArith(formula.left, state)
|
|
329
|
+
return safeCompare("gt", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
75
330
|
case "Eq":
|
|
76
|
-
return resolveArith(formula.left, state)
|
|
331
|
+
return safeCompare("eq", resolveArith(formula.left, state), resolveArith(formula.right, state));
|
|
77
332
|
case "Var":
|
|
78
333
|
return Boolean(state[formula.key()] ?? false);
|
|
79
334
|
case "Const":
|
|
80
335
|
return formula.value !== 0;
|
|
336
|
+
// Terms cannot appear at formula-level (only as comparison operands)
|
|
337
|
+
// but the Formula type union includes them. Treat as truthy fallback.
|
|
338
|
+
case "ArgValue":
|
|
339
|
+
case "CtxValue":
|
|
340
|
+
case "ArgLength":
|
|
341
|
+
case "UnaryFn":
|
|
342
|
+
return false;
|
|
81
343
|
default: {
|
|
82
344
|
const _exhaustive = formula;
|
|
83
345
|
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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"}
|