@agenticprimitives/provenance-node 0.0.0-alpha.24 → 0.0.0-alpha.26
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/README.md +5 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/rdfc.d.ts +19 -1
- package/dist/rdfc.d.ts.map +1 -1
- package/dist/rdfc.js +96 -7
- package/dist/rdfc.js.map +1 -1
- package/dist/shacl.d.ts.map +1 -1
- package/dist/shacl.js +1 -2
- package/dist/shacl.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -29,4 +29,9 @@ In code: `runProvenanceConformance(store, { stranger, rollup })` for any `Proven
|
|
|
29
29
|
Also exported: `rdfcCanonicalizer` (for `recordDigest`), `validateQuads` (SHACL over the published shapes with the
|
|
30
30
|
subclass closure materialized), `toTurtle`, and `fileProvenanceStore`.
|
|
31
31
|
|
|
32
|
+
**The canonicalizer never fetches.** A document's `@context` may be an inline object, or one of the IRIs in
|
|
33
|
+
`BUNDLED_CONTEXT_IRIS` (the contexts shipped in `@agenticprimitives/ontology`, resolved from disk). Any other context
|
|
34
|
+
reference — `http:`, `https:`, `file:`, relative, in an array, scoped or `@import`ed — throws `RemoteContextRefused`
|
|
35
|
+
before a parser runs. A digest never depends on what a server returns.
|
|
36
|
+
|
|
32
37
|
Node only. A Worker bundles the zero-dependency `@agenticprimitives/provenance` and never this package.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const PACKAGE_NAME: "@agenticprimitives/provenance-node";
|
|
2
2
|
export declare const SPEC_REF: "specs/414-tracing-as-the-record-and-skill-effectiveness.md";
|
|
3
|
-
export { rdfcCanonicalizer, quadsOf, toTurtle } from './rdfc.js';
|
|
3
|
+
export { rdfcCanonicalizer, quadsOf, toTurtle, assertNoRemoteContext, bundledDocumentLoader, RemoteContextRefused, BUNDLED_CONTEXT_IRIS, BUNDLED_CONTEXT_BASE } from './rdfc.js';
|
|
4
4
|
export { validateQuads, declaredTerms, type ShaclResultV1 } from './shacl.js';
|
|
5
5
|
export { fileProvenanceStore, type FileStoreOptions } from './file-store.js';
|
|
6
6
|
export { runProvenanceConformance, conformProvenance, CONFORMANCE_RUN, type RunConformanceOptions, type ConformanceReport, type ConformanceCheck } from './conform.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,EAAG,oCAA6C,CAAC;AAC1E,eAAO,MAAM,QAAQ,EAAG,4DAAqE,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,EAAG,oCAA6C,CAAC;AAC1E,eAAO,MAAM,QAAQ,EAAG,4DAAqE,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjL,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// the vault included — is run through (`./conform`, `ap conform provenance`). Node only: a Worker carries none of it.
|
|
5
5
|
export const PACKAGE_NAME = '@agenticprimitives/provenance-node';
|
|
6
6
|
export const SPEC_REF = 'specs/414-tracing-as-the-record-and-skill-effectiveness.md';
|
|
7
|
-
export { rdfcCanonicalizer, quadsOf, toTurtle } from './rdfc.js';
|
|
7
|
+
export { rdfcCanonicalizer, quadsOf, toTurtle, assertNoRemoteContext, bundledDocumentLoader, RemoteContextRefused, BUNDLED_CONTEXT_IRIS, BUNDLED_CONTEXT_BASE } from './rdfc.js';
|
|
8
8
|
export { validateQuads, declaredTerms } from './shacl.js';
|
|
9
9
|
export { fileProvenanceStore } from './file-store.js';
|
|
10
10
|
export { runProvenanceConformance, conformProvenance, CONFORMANCE_RUN } from './conform.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,uHAAuH;AACvH,qHAAqH;AACrH,sHAAsH;AACtH,MAAM,CAAC,MAAM,YAAY,GAAG,oCAA6C,CAAC;AAC1E,MAAM,CAAC,MAAM,QAAQ,GAAG,4DAAqE,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,uHAAuH;AACvH,qHAAqH;AACrH,sHAAsH;AACtH,MAAM,CAAC,MAAM,YAAY,GAAG,oCAA6C,CAAC;AAC1E,MAAM,CAAC,MAAM,QAAQ,GAAG,4DAAqE,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjL,OAAO,EAAE,aAAa,EAAE,aAAa,EAAsB,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAyB,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,eAAe,EAA6E,MAAM,cAAc,CAAC"}
|
package/dist/rdfc.d.ts
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import type { RdfCanonicalizer } from '@agenticprimitives/provenance';
|
|
2
|
-
/**
|
|
2
|
+
/** The namespace the shipped contexts are named under. The ontology publishes these four files and declares no
|
|
3
|
+
* context IRI of its own; the IRI of each is this base + its file name. */
|
|
4
|
+
export declare const BUNDLED_CONTEXT_BASE: "https://agenticprimitives.dev/ns/";
|
|
5
|
+
/** THE ALLOW-LIST: context IRI → the artifact shipped in `@agenticprimitives/ontology` it resolves to. Closed —
|
|
6
|
+
* nothing is added at run time and nothing outside it is ever loaded. */
|
|
7
|
+
export declare const BUNDLED_CONTEXT_IRIS: Readonly<Record<string, string>>;
|
|
8
|
+
/** Refused: a `@context` (or `@import`) that names anything but a bundled context. */
|
|
9
|
+
export declare class RemoteContextRefused extends Error {
|
|
10
|
+
readonly iri: string;
|
|
11
|
+
constructor(iri: string);
|
|
12
|
+
}
|
|
13
|
+
/** The ONLY document loader this package gives a JSON-LD parser. `load` never touches a network. */
|
|
14
|
+
export declare const bundledDocumentLoader: {
|
|
15
|
+
load: (url: string) => Promise<Record<string, unknown>>;
|
|
16
|
+
};
|
|
17
|
+
/** Throw on the first context reference that is not bundled — `@context: "…"`, a string inside a `@context` array,
|
|
18
|
+
* or an `@import`, at any depth (scoped contexts included). Runs BEFORE any parser sees the document. */
|
|
19
|
+
export declare function assertNoRemoteContext(document: unknown): void;
|
|
20
|
+
/** W3C RDFC-1.0 over a JSON-LD document. Throws `RemoteContextRefused` for a context that is not bundled. */
|
|
3
21
|
export declare const rdfcCanonicalizer: RdfCanonicalizer;
|
|
4
22
|
/** The document's quads, structurally (for a validator or a graph engine). */
|
|
5
23
|
export declare function quadsOf(document: Record<string, unknown>): Promise<Array<{
|
package/dist/rdfc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdfc.d.ts","sourceRoot":"","sources":["../src/rdfc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rdfc.d.ts","sourceRoot":"","sources":["../src/rdfc.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAItE;4EAC4E;AAC5E,eAAO,MAAM,oBAAoB,EAAG,mCAA4C,CAAC;AAEjF;0EAC0E;AAC1E,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKhE,CAAC;AAEH,sFAAsF;AACtF,qBAAa,oBAAqB,SAAQ,KAAK;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;CAIjC;AAcD,oGAAoG;AACpG,eAAO,MAAM,qBAAqB;gBAAuB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAyB,CAAC;AAE5H;0GAC0G;AAC1G,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAmB7D;AASD,6GAA6G;AAC7G,eAAO,MAAM,iBAAiB,EAAE,gBAAoF,CAAC;AAErH,8EAA8E;AAC9E,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IAAE,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,SAAS,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC,CAE9N;AAED,sGAAsG;AACtG,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAOjF"}
|
package/dist/rdfc.js
CHANGED
|
@@ -1,25 +1,114 @@
|
|
|
1
1
|
// THE RDFC-1.0 BINDING (spec 414 §2 rule 3). A JSON-LD document → its canonical N-Quads, by a stock RDF stack
|
|
2
2
|
// (@zazuko/env-node: a JSON-LD parser and rdf-ext's canonical form, which is URDNA2015 = W3C RDFC-1.0's output). The
|
|
3
3
|
// provenance package names the seam (`RdfCanonicalizer`) and hashes; this fills it. Node-side: a Worker does not carry it.
|
|
4
|
+
//
|
|
5
|
+
// NO NETWORK, EVER (DATB-1, spec 445 W0, 2026-11-10). A JSON-LD `@context` may be a URL, and a stock parser fetches
|
|
6
|
+
// it. The document being digested is the thing under test — a carried record, a record a store handed back — so a
|
|
7
|
+
// fetched context means (a) the verifying host issues a request to a URL the document chose (SSRF: metadata
|
|
8
|
+
// endpoints, internal hosts) and (b) whoever serves that URL decides every term's IRI, hence the canonical quads,
|
|
9
|
+
// the digest, and which SHACL shapes ever look at the record. So this binding has NO loader that reaches a network:
|
|
10
|
+
// a context named by IRI resolves ONLY from `BUNDLED_CONTEXT_IRIS` — the contexts shipped in
|
|
11
|
+
// `@agenticprimitives/ontology`, read from disk — and any other IRI THROWS, before the parser is started (the static
|
|
12
|
+
// scan) and again inside it (the document loader, which also covers anything the scan could not see). There is no
|
|
13
|
+
// redirect to follow because there is no request.
|
|
14
|
+
import { readFileSync } from 'node:fs';
|
|
4
15
|
import { Readable } from 'node:stream';
|
|
5
16
|
import rdf from '@zazuko/env-node';
|
|
17
|
+
import { ARTIFACTS, artifactPath } from '@agenticprimitives/ontology/artifacts';
|
|
6
18
|
const TURTLE = 'text/turtle';
|
|
7
19
|
const JSON_LD = 'application/ld+json';
|
|
8
|
-
|
|
9
|
-
|
|
20
|
+
/** The namespace the shipped contexts are named under. The ontology publishes these four files and declares no
|
|
21
|
+
* context IRI of its own; the IRI of each is this base + its file name. */
|
|
22
|
+
export const BUNDLED_CONTEXT_BASE = 'https://agenticprimitives.dev/ns/';
|
|
23
|
+
/** THE ALLOW-LIST: context IRI → the artifact shipped in `@agenticprimitives/ontology` it resolves to. Closed —
|
|
24
|
+
* nothing is added at run time and nothing outside it is ever loaded. */
|
|
25
|
+
export const BUNDLED_CONTEXT_IRIS = Object.freeze({
|
|
26
|
+
[`${BUNDLED_CONTEXT_BASE}${ARTIFACTS.context}`]: ARTIFACTS.context,
|
|
27
|
+
[`${BUNDLED_CONTEXT_BASE}${ARTIFACTS.runProvenanceContext}`]: ARTIFACTS.runProvenanceContext,
|
|
28
|
+
[`${BUNDLED_CONTEXT_BASE}${ARTIFACTS.runMeasuresContext}`]: ARTIFACTS.runMeasuresContext,
|
|
29
|
+
[`${BUNDLED_CONTEXT_BASE}${ARTIFACTS.evaluationContext}`]: ARTIFACTS.evaluationContext,
|
|
30
|
+
});
|
|
31
|
+
/** Refused: a `@context` (or `@import`) that names anything but a bundled context. */
|
|
32
|
+
export class RemoteContextRefused extends Error {
|
|
33
|
+
iri;
|
|
34
|
+
constructor(iri) {
|
|
35
|
+
super(`provenance-node: refusing to load JSON-LD context ${JSON.stringify(iri)} — only the contexts bundled with @agenticprimitives/ontology resolve, and nothing is ever fetched`);
|
|
36
|
+
this.iri = iri;
|
|
37
|
+
this.name = 'RemoteContextRefused';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const loaded = new Map();
|
|
41
|
+
function bundledContext(iri) {
|
|
42
|
+
// An exact, own-property match: no normalisation, no prefix match, no prototype keys.
|
|
43
|
+
if (typeof iri !== 'string' || !Object.prototype.hasOwnProperty.call(BUNDLED_CONTEXT_IRIS, iri))
|
|
44
|
+
throw new RemoteContextRefused(String(iri));
|
|
45
|
+
let doc = loaded.get(iri);
|
|
46
|
+
if (!doc) {
|
|
47
|
+
doc = JSON.parse(readFileSync(artifactPath(BUNDLED_CONTEXT_IRIS[iri]), 'utf8'));
|
|
48
|
+
loaded.set(iri, doc);
|
|
49
|
+
}
|
|
50
|
+
return structuredClone(doc);
|
|
51
|
+
}
|
|
52
|
+
/** The ONLY document loader this package gives a JSON-LD parser. `load` never touches a network. */
|
|
53
|
+
export const bundledDocumentLoader = { load: async (url) => bundledContext(url) };
|
|
54
|
+
/** Throw on the first context reference that is not bundled — `@context: "…"`, a string inside a `@context` array,
|
|
55
|
+
* or an `@import`, at any depth (scoped contexts included). Runs BEFORE any parser sees the document. */
|
|
56
|
+
export function assertNoRemoteContext(document) {
|
|
57
|
+
const seen = new Set();
|
|
58
|
+
const check = (iri) => { bundledContext(iri); };
|
|
59
|
+
const context = (c) => {
|
|
60
|
+
if (typeof c === 'string') {
|
|
61
|
+
check(c);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (Array.isArray(c)) {
|
|
65
|
+
for (const x of c)
|
|
66
|
+
context(x);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (c && typeof c === 'object')
|
|
70
|
+
walk(c);
|
|
71
|
+
};
|
|
72
|
+
const walk = (node) => {
|
|
73
|
+
if (!node || typeof node !== 'object' || seen.has(node))
|
|
74
|
+
return;
|
|
75
|
+
seen.add(node);
|
|
76
|
+
if (Array.isArray(node)) {
|
|
77
|
+
for (const x of node)
|
|
78
|
+
walk(x);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
for (const [k, v] of Object.entries(node)) {
|
|
82
|
+
if (k === '@context')
|
|
83
|
+
context(v);
|
|
84
|
+
else if (k === '@import') {
|
|
85
|
+
if (typeof v === 'string')
|
|
86
|
+
check(v);
|
|
87
|
+
else
|
|
88
|
+
throw new RemoteContextRefused(String(v));
|
|
89
|
+
}
|
|
90
|
+
else
|
|
91
|
+
walk(v);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
walk(document);
|
|
95
|
+
}
|
|
96
|
+
async function jsonLdDataset(document) {
|
|
97
|
+
assertNoRemoteContext(document);
|
|
98
|
+
const quads = rdf.formats.parsers.import(JSON_LD, Readable.from([JSON.stringify(document)]), { documentLoader: bundledDocumentLoader });
|
|
10
99
|
if (!quads)
|
|
11
|
-
throw new Error(`no parser for ${
|
|
100
|
+
throw new Error(`no parser for ${JSON_LD}`);
|
|
12
101
|
return rdf.dataset().import(quads);
|
|
13
102
|
}
|
|
14
|
-
/** W3C RDFC-1.0 over a JSON-LD document. */
|
|
15
|
-
export const rdfcCanonicalizer = async (document) => (await
|
|
103
|
+
/** W3C RDFC-1.0 over a JSON-LD document. Throws `RemoteContextRefused` for a context that is not bundled. */
|
|
104
|
+
export const rdfcCanonicalizer = async (document) => (await jsonLdDataset(document)).toCanonical();
|
|
16
105
|
/** The document's quads, structurally (for a validator or a graph engine). */
|
|
17
106
|
export async function quadsOf(document) {
|
|
18
|
-
return [...(await
|
|
107
|
+
return [...(await jsonLdDataset(document))];
|
|
19
108
|
}
|
|
20
109
|
/** The same graph as Turtle — the third serialization PROV-AQ content negotiation offers (414 §5). */
|
|
21
110
|
export async function toTurtle(document) {
|
|
22
|
-
const ds = await
|
|
111
|
+
const ds = await jsonLdDataset(document);
|
|
23
112
|
const out = rdf.formats.serializers.import(TURTLE, ds.toStream());
|
|
24
113
|
if (!out)
|
|
25
114
|
throw new Error('no turtle serializer');
|
package/dist/rdfc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdfc.js","sourceRoot":"","sources":["../src/rdfc.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,qHAAqH;AACrH,2HAA2H;AAC3H,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,GAAG,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"rdfc.js","sourceRoot":"","sources":["../src/rdfc.ts"],"names":[],"mappings":"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"}
|
package/dist/shacl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shacl.d.ts","sourceRoot":"","sources":["../src/shacl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shacl.d.ts","sourceRoot":"","sources":["../src/shacl.ts"],"names":[],"mappings":"AA6BA,yEAAyE;AACzE,wBAAsB,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAI1D;AAED,MAAM,WAAW,aAAa;IAAG,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE;AAIxE,+GAA+G;AAC/G,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAWvG"}
|
package/dist/shacl.js
CHANGED
|
@@ -7,8 +7,7 @@ import rdf from '@zazuko/env-node';
|
|
|
7
7
|
import { Validator } from 'shacl-engine';
|
|
8
8
|
import { targetResolvers, validations } from 'shacl-engine/sparql.js';
|
|
9
9
|
import { ARTIFACTS, artifactPath } from '@agenticprimitives/ontology/artifacts';
|
|
10
|
-
const TURTLE = 'text/turtle';
|
|
11
|
-
const JSON_LD = 'application/ld+json';
|
|
10
|
+
const TURTLE = 'text/turtle'; // Turtle only: no JSON-LD is parsed here, so no context is ever loaded (DATB-1 — that path is rdfc.ts)
|
|
12
11
|
const RDF_TYPE = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#type';
|
|
13
12
|
const SUBCLASS_OF = 'http://www.w3.org/2000/01/rdf-schema#subClassOf';
|
|
14
13
|
const CODELISTS = ['cbox/controlled-vocabularies.ttl', 'cbox/registry-vocabulary.ttl'];
|
package/dist/shacl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shacl.js","sourceRoot":"","sources":["../src/shacl.ts"],"names":[],"mappings":"AAAA,qHAAqH;AACrH,qHAAqH;AACrH,oHAAoH;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAChF,MAAM,MAAM,GAAG,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"shacl.js","sourceRoot":"","sources":["../src/shacl.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agenticprimitives/provenance-node",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.26",
|
|
4
4
|
"description": "Node-side reference bindings of the provenance ports (spec 414 §5): the W3C RDFC-1.0 canonicalizer, SHACL validation over the published run shapes, a directory store, and the `ap conform provenance` suite (C1–C6) any binding is run through.",
|
|
5
5
|
"homepage": "https://agenticprimitives.dev",
|
|
6
6
|
"bugs": {
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@zazuko/env-node": "^2.1.1",
|
|
40
40
|
"shacl-engine": "^1.1.2",
|
|
41
|
-
"@agenticprimitives/evaluation": "0.0.0-alpha.
|
|
42
|
-
"@agenticprimitives/ontology": "1.0.0-alpha.
|
|
43
|
-
"@agenticprimitives/provenance": "0.0.0-alpha.
|
|
41
|
+
"@agenticprimitives/evaluation": "0.0.0-alpha.12",
|
|
42
|
+
"@agenticprimitives/ontology": "1.0.0-alpha.47",
|
|
43
|
+
"@agenticprimitives/provenance": "0.0.0-alpha.7"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@types/node": "^22.7.0",
|