Files
evidence-dsl/package.json
T
John Dvorak fe162251fc
CI / publish (push) Successful in 10s
CI / test (push) Successful in 20s
feat: DSLRuntime schema introspection, per-relation providers, retrieval loop
The higher-order DSL+Core wrapper now covers the full contract the DSL
informs, beyond the typed mutations already present:

- getSchema(): serializable introspection of the compiled type system —
  entity types/fields, facts (params + injectable flag), evidence (with
  transitive dependsOn), and registered providers. relationNames() lists all
  declared relations. (The DSL's type system was always present; this exposes
  it programmatically.)
- registerFact(relation, fn) / unregisterFact / registeredFacts: per-relation
  async providers that retrieve missing partial-graph edges; per-check
  factProviders merge OVER registered ones.
- Bounded fixed-point provider retrieval loop (maxProviderRounds): each round
  invokes providers for required facts whose edges are not yet injected. A
  provider may return edges for relations other than its own — those satisfy
  the other required facts and can unblock later rounds.
- check() now type-validates FACT relations too (not just evidence); edge
  normalization preserves a provider edge's own relation name.
- removeNode / removeRelation passthroughs; require() throws on denial for
  middleware.
- Field typing extended to the DSL's full value-type universe
  (timestamp/duration accept number or string; object/any accept anything).

Tests: DSLRuntimeExt (schema, registration, merge, fixed-point, require,
removal, fact-check validation, timestamp typing).
2026-08-03 12:45:16 -07:00

34 lines
1.1 KiB
JSON

{
"name": "@arbiter/evidence-dsl",
"version": "1.5.0",
"description": "Evidence DSL v2 compiler: translates the natural Evidence DSL (ADR-000) into @arbiter/core relation configurations.",
"license": "ISC",
"type": "module",
"main": "src/index.js",
"exports": {
".": "./src/index.js",
"./package.json": "./package.json",
"./DSLCompiler": "./src/DSLCompiler.js",
"./parser/DSLParser": "./src/parser/DSLParser.js",
"./parser/GeneratedParser": "./src/parser/GeneratedParser.js",
"./generator/RuleGenerator": "./src/generator/RuleGenerator.js",
"./validation/DSLValidation": "./src/validation/DSLValidation.js",
"./runtime/DSLRuntime": "./src/runtime/DSLRuntime.js",
"./interpreter/BuiltInFunctions": "./src/interpreter/BuiltInFunctions.js"
},
"files": [
"src/"
],
"scripts": {
"test": "node --test --test-force-exit \"tests/**/*.test.js\"",
"generate:parser": "node scripts/generate-parser.js"
},
"dependencies": {
"@arbiter/core": "^1.0.3"
},
"devDependencies": {
"@rigor/core": "^3.1.0",
"peggy": "^5.0.6"
}
}