@gnolith/taproot 0.1.0-rc.0

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 (52) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/COMPATIBILITY.md +42 -0
  3. package/LICENSE +21 -0
  4. package/README.md +128 -0
  5. package/SECURITY.md +19 -0
  6. package/SUPPORT.md +11 -0
  7. package/dist/canonical.d.ts +16 -0
  8. package/dist/canonical.d.ts.map +1 -0
  9. package/dist/canonical.js +519 -0
  10. package/dist/canonical.js.map +1 -0
  11. package/dist/errors.d.ts +35 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +42 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/index.d.ts +57 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +53 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/iri.d.ts +3 -0
  20. package/dist/iri.d.ts.map +1 -0
  21. package/dist/iri.js +8 -0
  22. package/dist/iri.js.map +1 -0
  23. package/dist/rdf.d.ts +6 -0
  24. package/dist/rdf.d.ts.map +1 -0
  25. package/dist/rdf.js +292 -0
  26. package/dist/rdf.js.map +1 -0
  27. package/dist/repository.d.ts +94 -0
  28. package/dist/repository.d.ts.map +1 -0
  29. package/dist/repository.js +1499 -0
  30. package/dist/repository.js.map +1 -0
  31. package/dist/schema.d.ts +19 -0
  32. package/dist/schema.d.ts.map +1 -0
  33. package/dist/schema.js +390 -0
  34. package/dist/schema.js.map +1 -0
  35. package/dist/types.d.ts +299 -0
  36. package/dist/types.d.ts.map +1 -0
  37. package/dist/types.js +21 -0
  38. package/dist/types.js.map +1 -0
  39. package/docs/api.md +47 -0
  40. package/docs/architecture.md +30 -0
  41. package/docs/completion-audit.md +31 -0
  42. package/docs/operations.md +47 -0
  43. package/docs/product-scope.md +20 -0
  44. package/docs/release-policy.md +16 -0
  45. package/docs/testing.md +21 -0
  46. package/docs/threat-model.md +40 -0
  47. package/examples/codex-site/.openai/hosting.json +3 -0
  48. package/examples/codex-site/README.md +13 -0
  49. package/examples/codex-site/demo.ts +152 -0
  50. package/migrations/0001_taproot.sql +64 -0
  51. package/migrations/0002_audit_operations.sql +48 -0
  52. package/package.json +89 -0
@@ -0,0 +1,57 @@
1
+ import type { D1DatabaseLike } from '@gnolith/diamond';
2
+ export type { D1DatabaseLike } from '@gnolith/diamond';
3
+ import { TaprootRepository, type CreateItemInput, type CreatePropertyInput, type SearchOptions, type ListEntitiesOptions, type ListAuditOptions, type BulkImportOptions } from './repository.js';
4
+ import type { EditMetadata, EntityId, EntityCommand, ExpectedRevision, PropertyId, Reference, Sitelink, Snak, Statement, TaprootOptions, WikibaseEntity } from './types.js';
5
+ export * from './canonical.js';
6
+ export * from './errors.js';
7
+ export * from './rdf.js';
8
+ export * from './repository.js';
9
+ export * from './schema.js';
10
+ export * from './types.js';
11
+ export declare function createTaproot(db: D1DatabaseLike, options: TaprootOptions): TaprootRepository;
12
+ export declare const getEntity: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId) => Promise<import("./types.js").StoredEntity>;
13
+ export declare const getEntityRevision: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, revision: number) => Promise<import("./types.js").RevisionEntry>;
14
+ export declare const resolveEntity: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, maxDepth?: number) => Promise<import("./types.js").ResolvedEntity>;
15
+ export declare const listEntityRevisions: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, limit?: number) => Promise<import("./types.js").RevisionEntry[]>;
16
+ export declare const listEntityRevisionsPage: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, page?: {
17
+ limit?: number;
18
+ cursor?: string;
19
+ }) => Promise<import("./types.js").Page<import("./types.js").RevisionEntry>>;
20
+ export declare const searchEntities: (db: D1DatabaseLike, options: TaprootOptions, query: string, search?: SearchOptions) => Promise<import("./types.js").SearchResult[]>;
21
+ export declare const searchEntitiesPage: (db: D1DatabaseLike, options: TaprootOptions, query: string, search?: SearchOptions) => Promise<import("./types.js").Page<import("./types.js").SearchResult>>;
22
+ export declare const listEntities: (db: D1DatabaseLike, options: TaprootOptions, list?: ListEntitiesOptions) => Promise<import("./types.js").Page<import("./types.js").EntityListEntry>>;
23
+ export declare const getAuditEvent: (db: D1DatabaseLike, options: TaprootOptions, eventId: string) => Promise<import("./types.js").AuditEvent>;
24
+ export declare const listAuditEvents: (db: D1DatabaseLike, options: TaprootOptions, list?: ListAuditOptions) => Promise<import("./types.js").Page<import("./types.js").AuditEvent>>;
25
+ export declare const createItem: (db: D1DatabaseLike, options: TaprootOptions, input?: CreateItemInput) => Promise<import("./types.js").WriteResult>;
26
+ export declare const createProperty: (db: D1DatabaseLike, options: TaprootOptions, input: CreatePropertyInput) => Promise<import("./types.js").WriteResult>;
27
+ export declare const importEntity: (db: D1DatabaseLike, options: TaprootOptions, entity: WikibaseEntity, metadata?: EditMetadata) => Promise<import("./types.js").WriteResult>;
28
+ export declare const importEntities: (db: D1DatabaseLike, options: TaprootOptions, entities: Iterable<WikibaseEntity>, bulk?: BulkImportOptions) => Promise<import("./types.js").BulkImportResult>;
29
+ export declare const exportEntities: (db: D1DatabaseLike, options: TaprootOptions, list?: ListEntitiesOptions) => Promise<string>;
30
+ export declare const applyCommands: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, commands: readonly EntityCommand[], edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
31
+ export declare const inspectEntityIntegrity: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId) => Promise<import("./types.js").EntityIntegrityReport>;
32
+ export declare const inspectTaprootIntegrity: (db: D1DatabaseLike, options: TaprootOptions, list?: ListEntitiesOptions) => Promise<import("./types.js").Page<import("./types.js").EntityIntegrityReport>>;
33
+ export declare const verifyAuditChain: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId) => Promise<import("./types.js").EntityIntegrityReport>;
34
+ export declare const repairEntityProjection: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, metadata?: EditMetadata) => Promise<import("./types.js").EntityIntegrityReport>;
35
+ export declare const replaceEntity: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, entity: WikibaseEntity, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
36
+ export declare const revertEntity: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, targetRevision: number, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
37
+ export declare const softDeleteEntity: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
38
+ export declare const restoreEntity: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
39
+ export declare const redirectEntity: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, target: EntityId, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
40
+ export declare const setLabel: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, language: string, value: string, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
41
+ export declare const removeLabel: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, language: string, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
42
+ export declare const setDescription: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, language: string, value: string, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
43
+ export declare const removeDescription: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, language: string, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
44
+ export declare const addAlias: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, language: string, value: string, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
45
+ export declare const removeAlias: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, language: string, ordinal: number, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
46
+ export declare const setSitelink: (db: D1DatabaseLike, options: TaprootOptions, id: `Q${number}`, site: string, value: Sitelink, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
47
+ export declare const removeSitelink: (db: D1DatabaseLike, options: TaprootOptions, id: `Q${number}`, site: string, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
48
+ export declare const addStatement: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, statement: Statement, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
49
+ export declare const replaceStatement: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, statementId: string, statement: Statement, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
50
+ export declare const removeStatement: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, statementId: string, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
51
+ export declare const setStatementRank: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, statementId: string, rank: Statement["rank"], edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
52
+ export declare const addQualifier: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, statementId: string, snak: Snak, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
53
+ export declare const removeQualifier: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, statementId: string, property: PropertyId, ordinal: number, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
54
+ export declare const addReference: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, statementId: string, reference: Reference, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
55
+ export declare const removeReference: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, statementId: string, hash: string, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
56
+ export declare const replaceReference: (db: D1DatabaseLike, options: TaprootOptions, id: EntityId, statementId: string, hash: string, reference: Reference, edit: ExpectedRevision) => Promise<import("./types.js").WriteResult>;
57
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,53 @@
1
+ import { TaprootRepository, } from './repository.js';
2
+ export * from './canonical.js';
3
+ export * from './errors.js';
4
+ export * from './rdf.js';
5
+ export * from './repository.js';
6
+ export * from './schema.js';
7
+ export * from './types.js';
8
+ export function createTaproot(db, options) {
9
+ return new TaprootRepository(db, options);
10
+ }
11
+ export const getEntity = (db, options, id) => createTaproot(db, options).getEntity(id);
12
+ export const getEntityRevision = (db, options, id, revision) => createTaproot(db, options).getEntityRevision(id, revision);
13
+ export const resolveEntity = (db, options, id, maxDepth) => createTaproot(db, options).resolveEntity(id, maxDepth);
14
+ export const listEntityRevisions = (db, options, id, limit) => createTaproot(db, options).listEntityRevisions(id, limit);
15
+ export const listEntityRevisionsPage = (db, options, id, page) => createTaproot(db, options).listEntityRevisionsPage(id, page);
16
+ export const searchEntities = (db, options, query, search) => createTaproot(db, options).searchEntities(query, search);
17
+ export const searchEntitiesPage = (db, options, query, search) => createTaproot(db, options).searchEntitiesPage(query, search);
18
+ export const listEntities = (db, options, list) => createTaproot(db, options).listEntities(list);
19
+ export const getAuditEvent = (db, options, eventId) => createTaproot(db, options).getAuditEvent(eventId);
20
+ export const listAuditEvents = (db, options, list) => createTaproot(db, options).listAuditEvents(list);
21
+ export const createItem = (db, options, input) => createTaproot(db, options).createItem(input);
22
+ export const createProperty = (db, options, input) => createTaproot(db, options).createProperty(input);
23
+ export const importEntity = (db, options, entity, metadata) => createTaproot(db, options).importEntity(entity, metadata);
24
+ export const importEntities = (db, options, entities, bulk) => createTaproot(db, options).importEntities(entities, bulk);
25
+ export const exportEntities = (db, options, list) => createTaproot(db, options).exportEntities(list);
26
+ export const applyCommands = (db, options, id, commands, edit) => createTaproot(db, options).applyCommands(id, commands, edit);
27
+ export const inspectEntityIntegrity = (db, options, id) => createTaproot(db, options).inspectEntityIntegrity(id);
28
+ export const inspectTaprootIntegrity = (db, options, list) => createTaproot(db, options).inspectTaprootIntegrity(list);
29
+ export const verifyAuditChain = (db, options, id) => createTaproot(db, options).verifyAuditChain(id);
30
+ export const repairEntityProjection = (db, options, id, metadata) => createTaproot(db, options).repairEntityProjection(id, metadata);
31
+ export const replaceEntity = (db, options, id, entity, edit) => createTaproot(db, options).replaceEntity(id, entity, edit);
32
+ export const revertEntity = (db, options, id, targetRevision, edit) => createTaproot(db, options).revertEntity(id, targetRevision, edit);
33
+ export const softDeleteEntity = (db, options, id, edit) => createTaproot(db, options).softDeleteEntity(id, edit);
34
+ export const restoreEntity = (db, options, id, edit) => createTaproot(db, options).restoreEntity(id, edit);
35
+ export const redirectEntity = (db, options, id, target, edit) => createTaproot(db, options).redirectEntity(id, target, edit);
36
+ export const setLabel = (db, options, id, language, value, edit) => createTaproot(db, options).setLabel(id, language, value, edit);
37
+ export const removeLabel = (db, options, id, language, edit) => createTaproot(db, options).removeLabel(id, language, edit);
38
+ export const setDescription = (db, options, id, language, value, edit) => createTaproot(db, options).setDescription(id, language, value, edit);
39
+ export const removeDescription = (db, options, id, language, edit) => createTaproot(db, options).removeDescription(id, language, edit);
40
+ export const addAlias = (db, options, id, language, value, edit) => createTaproot(db, options).addAlias(id, language, value, edit);
41
+ export const removeAlias = (db, options, id, language, ordinal, edit) => createTaproot(db, options).removeAlias(id, language, ordinal, edit);
42
+ export const setSitelink = (db, options, id, site, value, edit) => createTaproot(db, options).setSitelink(id, site, value, edit);
43
+ export const removeSitelink = (db, options, id, site, edit) => createTaproot(db, options).removeSitelink(id, site, edit);
44
+ export const addStatement = (db, options, id, statement, edit) => createTaproot(db, options).addStatement(id, statement, edit);
45
+ export const replaceStatement = (db, options, id, statementId, statement, edit) => createTaproot(db, options).replaceStatement(id, statementId, statement, edit);
46
+ export const removeStatement = (db, options, id, statementId, edit) => createTaproot(db, options).removeStatement(id, statementId, edit);
47
+ export const setStatementRank = (db, options, id, statementId, rank, edit) => createTaproot(db, options).setStatementRank(id, statementId, rank, edit);
48
+ export const addQualifier = (db, options, id, statementId, snak, edit) => createTaproot(db, options).addQualifier(id, statementId, snak, edit);
49
+ export const removeQualifier = (db, options, id, statementId, property, ordinal, edit) => createTaproot(db, options).removeQualifier(id, statementId, property, ordinal, edit);
50
+ export const addReference = (db, options, id, statementId, reference, edit) => createTaproot(db, options).addReference(id, statementId, reference, edit);
51
+ export const removeReference = (db, options, id, statementId, hash, edit) => createTaproot(db, options).removeReference(id, statementId, hash, edit);
52
+ export const replaceReference = (db, options, id, statementId, hash, reference, edit) => createTaproot(db, options).replaceReference(id, statementId, hash, reference, edit);
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/iri.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ /** Remove trailing slash characters in linear time without a backtracking regex. */
2
+ export declare function withoutTrailingSlashes(value: string): string;
3
+ //# sourceMappingURL=iri.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iri.d.ts","sourceRoot":"","sources":["../src/iri.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI5D"}
package/dist/iri.js ADDED
@@ -0,0 +1,8 @@
1
+ /** Remove trailing slash characters in linear time without a backtracking regex. */
2
+ export function withoutTrailingSlashes(value) {
3
+ let end = value.length;
4
+ while (end > 0 && value.charCodeAt(end - 1) === 47)
5
+ end -= 1;
6
+ return value.slice(0, end);
7
+ }
8
+ //# sourceMappingURL=iri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iri.js","sourceRoot":"","sources":["../src/iri.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE;QAAE,GAAG,IAAI,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC"}
package/dist/rdf.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ import type * as RDF from '@rdfjs/types';
2
+ import type { MappingOptions, WikibaseEntity } from './types.js';
3
+ /** Builds the complete deterministic RDF closure owned by one entity. */
4
+ export declare function buildEntityQuads(entity: WikibaseEntity, options: MappingOptions): RDF.Quad[];
5
+ export declare function wikibasePrefixes(baseIri: string): Record<string, string>;
6
+ //# sourceMappingURL=rdf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdf.d.ts","sourceRoot":"","sources":["../src/rdf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,cAAc,CAAC;AAIzC,OAAO,KAAK,EAGV,cAAc,EAId,cAAc,EACf,MAAM,YAAY,CAAC;AA4BpB,yEAAyE;AACzE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,cAAc,GACtB,GAAG,CAAC,IAAI,EAAE,CAkFZ;AAgaD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxE"}
package/dist/rdf.js ADDED
@@ -0,0 +1,292 @@
1
+ import { DataFactory } from 'rdf-data-factory';
2
+ import { withoutTrailingSlashes } from './iri.js';
3
+ import { exportEntityJson } from './canonical.js';
4
+ const RDF_NS = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';
5
+ const RDFS = 'http://www.w3.org/2000/01/rdf-schema#';
6
+ const XSD = 'http://www.w3.org/2001/XMLSchema#';
7
+ const SKOS = 'http://www.w3.org/2004/02/skos/core#';
8
+ const SCHEMA = 'http://schema.org/';
9
+ const WIKIBASE = 'http://wikiba.se/ontology#';
10
+ const GEO = 'http://www.opengis.net/ont/geosparql#';
11
+ const PROV = 'http://www.w3.org/ns/prov#';
12
+ /** Builds the complete deterministic RDF closure owned by one entity. */
13
+ export function buildEntityQuads(entity, options) {
14
+ entity = JSON.parse(exportEntityJson(entity));
15
+ const factory = options.factory ?? new DataFactory();
16
+ const ns = namespaces(options.baseIri);
17
+ const quads = [];
18
+ const subject = factory.namedNode(`${ns.entity}${entity.id}`);
19
+ const quad = (s, p, o) => quads.push(factory.quad(s, factory.namedNode(p), o));
20
+ quad(subject, `${RDF_NS}type`, factory.namedNode(`${WIKIBASE}${entity.type === 'item' ? 'Item' : 'Property'}`));
21
+ quad(subject, `${ns.vocab}revision`, typedLiteral(factory, String(entity.lastrevid), `${XSD}integer`));
22
+ quad(subject, `${ns.vocab}mappingVersion`, factory.literal(options.mappingVersion ?? '2'));
23
+ for (const term of Object.values(entity.labels)) {
24
+ quad(subject, `${RDFS}label`, factory.literal(term.value, term.language));
25
+ quad(subject, `${SCHEMA}name`, factory.literal(term.value, term.language));
26
+ quad(subject, `${SKOS}prefLabel`, factory.literal(term.value, term.language));
27
+ }
28
+ for (const term of Object.values(entity.descriptions)) {
29
+ quad(subject, `${SCHEMA}description`, factory.literal(term.value, term.language));
30
+ }
31
+ for (const aliases of Object.values(entity.aliases)) {
32
+ for (const term of aliases) {
33
+ quad(subject, `${SKOS}altLabel`, factory.literal(term.value, term.language));
34
+ }
35
+ }
36
+ if (entity.type === 'property') {
37
+ addPropertyDeclarations(entity.id, entity.datatype, subject, factory, ns, quad);
38
+ }
39
+ for (const [property, statements] of Object.entries(entity.claims)) {
40
+ const preferred = statements.filter(({ rank }) => rank === 'preferred');
41
+ const best = preferred.length
42
+ ? new Set(preferred)
43
+ : new Set(statements.filter(({ rank }) => rank === 'normal'));
44
+ for (const statement of statements) {
45
+ addStatement(statement, subject, property, best.has(statement), factory, ns, quad);
46
+ }
47
+ }
48
+ return deduplicateAndSort(quads);
49
+ }
50
+ function addPropertyDeclarations(property, datatype, subject, factory, ns, quad) {
51
+ const declarations = [
52
+ ['directClaim', ns.direct],
53
+ ['claim', ns.claim],
54
+ ['statementProperty', ns.statementProperty],
55
+ ['statementValue', ns.statementValue],
56
+ ['qualifier', ns.qualifier],
57
+ ['qualifierValue', ns.qualifierValue],
58
+ ['reference', ns.referenceProperty],
59
+ ['referenceValue', ns.referenceValue],
60
+ ['novalue', ns.novalue],
61
+ ];
62
+ for (const [predicate, namespace] of declarations) {
63
+ quad(subject, `${WIKIBASE}${predicate}`, factory.namedNode(`${namespace}${property}`));
64
+ }
65
+ quad(factory.namedNode(`${ns.novalue}${property}`), `${RDF_NS}type`, factory.namedNode('http://www.w3.org/2002/07/owl#Class'));
66
+ quad(subject, `${WIKIBASE}propertyType`, factory.namedNode(`${WIKIBASE}${datatypeClass(datatype)}`));
67
+ }
68
+ function addStatement(statement, entity, property, bestRank, factory, ns, quad) {
69
+ const statementNode = factory.namedNode(`${ns.statement}${encodeURIComponent(statement.id.replaceAll('$', '-'))}`);
70
+ quad(entity, `${ns.claim}${property}`, statementNode);
71
+ quad(statementNode, `${RDF_NS}type`, factory.namedNode(`${WIKIBASE}Statement`));
72
+ quad(statementNode, `${WIKIBASE}rank`, factory.namedNode(`${WIKIBASE}${capitalize(statement.rank)}Rank`));
73
+ if (bestRank)
74
+ quad(statementNode, `${RDF_NS}type`, factory.namedNode(`${WIKIBASE}BestRank`));
75
+ addSnak(statement.mainsnak, statementNode, ns.statementProperty, ns.statementValue, `statement:${statement.id}:main`, factory, ns, quad);
76
+ if (bestRank) {
77
+ addTruthySnak(statement.mainsnak, entity, `statement:${statement.id}:truthy`, factory, ns, quad);
78
+ }
79
+ for (const propertyId of statement['qualifiers-order']) {
80
+ for (const [index, snak] of (statement.qualifiers[propertyId] ?? []).entries()) {
81
+ addSnak(snak, statementNode, ns.qualifier, ns.qualifierValue, `statement:${statement.id}:qualifier:${propertyId}:${index}`, factory, ns, quad);
82
+ }
83
+ }
84
+ for (const reference of statement.references) {
85
+ const referenceNode = factory.namedNode(`${ns.reference}${encodeURIComponent(reference.hash)}`);
86
+ quad(statementNode, `${SCHEMA}isBasedOn`, referenceNode);
87
+ quad(statementNode, `${PROV}wasDerivedFrom`, referenceNode);
88
+ quad(referenceNode, `${RDF_NS}type`, factory.namedNode(`${WIKIBASE}Reference`));
89
+ for (const propertyId of reference['snaks-order']) {
90
+ for (const [index, snak] of (reference.snaks[propertyId] ?? []).entries()) {
91
+ addSnak(snak, referenceNode, ns.referenceProperty, ns.referenceValue, `reference:${reference.hash}:${propertyId}:${index}`, factory, ns, quad);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ function addTruthySnak(snak, subject, scope, factory, ns, quad) {
97
+ if (snak.snaktype === 'novalue') {
98
+ quad(subject, `${RDF_NS}type`, factory.namedNode(`${ns.novalue}${snak.property}`));
99
+ return;
100
+ }
101
+ const object = snakObject(snak, scope, factory, ns);
102
+ quad(subject, `${ns.direct}${snak.property}`, object);
103
+ }
104
+ function addSnak(snak, subject, simpleNamespace, valueNamespace, scope, factory, ns, quad) {
105
+ if (snak.snaktype === 'novalue') {
106
+ quad(subject, `${RDF_NS}type`, factory.namedNode(`${ns.novalue}${snak.property}`));
107
+ return;
108
+ }
109
+ const object = snakObject(snak, scope, factory, ns);
110
+ quad(subject, `${simpleNamespace}${snak.property}`, object);
111
+ if (snak.snaktype === 'value' && isFullValueDatatype(snak.datatype)) {
112
+ const valueNode = fullValueNode(snak, factory, ns);
113
+ quad(subject, `${valueNamespace}${snak.property}`, valueNode);
114
+ addFullValue(snak, valueNode, factory, quad);
115
+ }
116
+ }
117
+ function snakObject(snak, scope, factory, ns) {
118
+ if (snak.snaktype === 'somevalue') {
119
+ return factory.namedNode(`${ns.value}somevalue-${stableId(`${scope}:${snak.property}`)}`);
120
+ }
121
+ if (!snak.datavalue)
122
+ throw new TypeError('Validated value snak lacks datavalue');
123
+ return simpleValue(snak.datatype, snak.datavalue.value, factory, ns);
124
+ }
125
+ function simpleValue(datatype, value, factory, ns) {
126
+ switch (datatype) {
127
+ case 'wikibase-item':
128
+ case 'wikibase-property':
129
+ case 'wikibase-lexeme':
130
+ case 'wikibase-form':
131
+ case 'wikibase-sense':
132
+ case 'entity-schema':
133
+ return factory.namedNode(`${ns.entity}${value.id}`);
134
+ case 'url':
135
+ return factory.namedNode(value);
136
+ case 'commonsMedia':
137
+ return factory.namedNode(`http://commons.wikimedia.org/wiki/Special:FilePath/${encodeURIComponent(value)}`);
138
+ case 'geo-shape':
139
+ case 'tabular-data':
140
+ return factory.namedNode(`http://commons.wikimedia.org/data/${encodeURIComponent(value)}`);
141
+ case 'monolingualtext': {
142
+ const text = value;
143
+ return factory.literal(text.text, text.language);
144
+ }
145
+ case 'time':
146
+ return typedLiteral(factory, normalizeTime(value.time), `${XSD}dateTime`);
147
+ case 'quantity':
148
+ return typedLiteral(factory, value.amount.replace(/^\+/u, ''), `${XSD}decimal`);
149
+ case 'globe-coordinate': {
150
+ const point = value;
151
+ return typedLiteral(factory, `Point(${point.longitude} ${point.latitude})`, `${GEO}wktLiteral`);
152
+ }
153
+ default:
154
+ return factory.literal(value);
155
+ }
156
+ }
157
+ function fullValueNode(snak, factory, ns) {
158
+ return factory.namedNode(`${ns.value}${stableId(JSON.stringify({ datatype: snak.datatype, value: snak.datavalue?.value }))}`);
159
+ }
160
+ function addFullValue(snak, node, factory, quad) {
161
+ const value = snak.datavalue?.value;
162
+ if (!value || typeof value !== 'object')
163
+ return;
164
+ if (snak.datatype === 'time') {
165
+ const time = value;
166
+ quad(node, `${RDF_NS}type`, factory.namedNode(`${WIKIBASE}TimeValue`));
167
+ quad(node, `${WIKIBASE}timeValue`, typedLiteral(factory, normalizeTime(time.time), `${XSD}dateTime`));
168
+ quad(node, `${WIKIBASE}timeTimezone`, typedLiteral(factory, String(time.timezone), `${XSD}integer`));
169
+ quad(node, `${WIKIBASE}timeBefore`, typedLiteral(factory, String(time.before), `${XSD}integer`));
170
+ quad(node, `${WIKIBASE}timeAfter`, typedLiteral(factory, String(time.after), `${XSD}integer`));
171
+ quad(node, `${WIKIBASE}timePrecision`, typedLiteral(factory, String(time.precision), `${XSD}integer`));
172
+ quad(node, `${WIKIBASE}timeCalendarModel`, factory.namedNode(time.calendarmodel));
173
+ }
174
+ else if (snak.datatype === 'quantity') {
175
+ const quantity = value;
176
+ quad(node, `${RDF_NS}type`, factory.namedNode(`${WIKIBASE}QuantityValue`));
177
+ quad(node, `${WIKIBASE}quantityAmount`, typedLiteral(factory, quantity.amount.replace(/^\+/u, ''), `${XSD}decimal`));
178
+ quad(node, `${WIKIBASE}quantityUnit`, quantity.unit === '1'
179
+ ? factory.literal('1')
180
+ : factory.namedNode(quantity.unit));
181
+ if (quantity.lowerBound !== undefined)
182
+ quad(node, `${WIKIBASE}quantityLowerBound`, typedLiteral(factory, quantity.lowerBound.replace(/^\+/u, ''), `${XSD}decimal`));
183
+ if (quantity.upperBound !== undefined)
184
+ quad(node, `${WIKIBASE}quantityUpperBound`, typedLiteral(factory, quantity.upperBound.replace(/^\+/u, ''), `${XSD}decimal`));
185
+ }
186
+ else if (snak.datatype === 'globe-coordinate') {
187
+ const coordinate = value;
188
+ quad(node, `${RDF_NS}type`, factory.namedNode(`${WIKIBASE}GlobeCoordinateValue`));
189
+ quad(node, `${WIKIBASE}geoLatitude`, typedLiteral(factory, String(coordinate.latitude), `${XSD}double`));
190
+ quad(node, `${WIKIBASE}geoLongitude`, typedLiteral(factory, String(coordinate.longitude), `${XSD}double`));
191
+ if (coordinate.altitude !== null)
192
+ quad(node, `${WIKIBASE}geoAltitude`, typedLiteral(factory, String(coordinate.altitude), `${XSD}double`));
193
+ if (coordinate.precision !== null)
194
+ quad(node, `${WIKIBASE}geoPrecision`, typedLiteral(factory, String(coordinate.precision), `${XSD}double`));
195
+ quad(node, `${WIKIBASE}geoGlobe`, factory.namedNode(coordinate.globe));
196
+ }
197
+ }
198
+ function namespaces(baseIri) {
199
+ const base = withoutTrailingSlashes(baseIri);
200
+ if (!/^https?:\/\//u.test(base))
201
+ throw new TypeError('baseIri must be an absolute HTTP(S) IRI');
202
+ return {
203
+ entity: `${base}/entity/`,
204
+ statement: `${base}/entity/statement/`,
205
+ value: `${base}/value/`,
206
+ reference: `${base}/reference/`,
207
+ direct: `${base}/prop/direct/`,
208
+ claim: `${base}/prop/`,
209
+ statementProperty: `${base}/prop/statement/`,
210
+ statementValue: `${base}/prop/statement/value/`,
211
+ qualifier: `${base}/prop/qualifier/`,
212
+ qualifierValue: `${base}/prop/qualifier/value/`,
213
+ referenceProperty: `${base}/prop/reference/`,
214
+ referenceValue: `${base}/prop/reference/value/`,
215
+ novalue: `${base}/prop/novalue/`,
216
+ vocab: `${base}/vocab/`,
217
+ };
218
+ }
219
+ export function wikibasePrefixes(baseIri) {
220
+ const ns = namespaces(baseIri);
221
+ return {
222
+ wd: ns.entity,
223
+ wds: ns.statement,
224
+ wdv: ns.value,
225
+ wdref: ns.reference,
226
+ wdt: ns.direct,
227
+ p: ns.claim,
228
+ ps: ns.statementProperty,
229
+ psv: ns.statementValue,
230
+ pq: ns.qualifier,
231
+ pqv: ns.qualifierValue,
232
+ pr: ns.referenceProperty,
233
+ prv: ns.referenceValue,
234
+ wdno: ns.novalue,
235
+ wikibase: WIKIBASE,
236
+ };
237
+ }
238
+ function datatypeClass(datatype) {
239
+ return {
240
+ 'wikibase-item': 'WikibaseItem',
241
+ 'wikibase-property': 'WikibaseProperty',
242
+ 'wikibase-lexeme': 'WikibaseLexeme',
243
+ 'wikibase-form': 'WikibaseForm',
244
+ 'wikibase-sense': 'WikibaseSense',
245
+ 'entity-schema': 'EntitySchema',
246
+ string: 'String',
247
+ 'external-id': 'ExternalId',
248
+ url: 'Url',
249
+ commonsMedia: 'CommonsMedia',
250
+ monolingualtext: 'Monolingualtext',
251
+ time: 'Time',
252
+ quantity: 'Quantity',
253
+ 'globe-coordinate': 'GlobeCoordinate',
254
+ math: 'Math',
255
+ 'musical-notation': 'MusicalNotation',
256
+ 'geo-shape': 'GeoShape',
257
+ 'tabular-data': 'TabularData',
258
+ }[datatype];
259
+ }
260
+ function isFullValueDatatype(datatype) {
261
+ return (datatype === 'time' ||
262
+ datatype === 'quantity' ||
263
+ datatype === 'globe-coordinate');
264
+ }
265
+ function typedLiteral(factory, value, datatype) {
266
+ return factory.literal(value, factory.namedNode(datatype));
267
+ }
268
+ function normalizeTime(value) {
269
+ return value.replace(/^\+/u, '');
270
+ }
271
+ function capitalize(value) {
272
+ return `${value[0]?.toUpperCase() ?? ''}${value.slice(1)}`;
273
+ }
274
+ function stableId(value) {
275
+ return [...new TextEncoder().encode(value)]
276
+ .map((byte) => byte.toString(16).padStart(2, '0'))
277
+ .join('');
278
+ }
279
+ function deduplicateAndSort(quads) {
280
+ const entries = new Map();
281
+ for (const quad of quads)
282
+ entries.set(quadKey(quad), quad);
283
+ return [...entries.entries()]
284
+ .sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
285
+ .map(([, quad]) => quad);
286
+ }
287
+ function quadKey(quad) {
288
+ return [quad.subject, quad.predicate, quad.object, quad.graph]
289
+ .map((term) => `${term.termType}:${term.value}:${'language' in term ? term.language : ''}:${'datatype' in term ? term.datatype.value : ''}`)
290
+ .join('|');
291
+ }
292
+ //# sourceMappingURL=rdf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdf.js","sourceRoot":"","sources":["../src/rdf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import { type D1DatabaseLike } from '@gnolith/diamond';
2
+ import type { AliasMap, AuditEvent, AuditEventType, BulkImportResult, EditMetadata, EntityDatatype, EntityCommand, EntityId, EntityIntegrityReport, EntityListEntry, EntityType, ExpectedRevision, LanguageMap, PropertyId, Reference, ResolvedEntity, RevisionEntry, Page, SearchResult, Sitelink, Snak, Statement, StoredEntity, TaprootOptions, WikibaseEntity, WriteResult } from './types.js';
3
+ export interface CreateItemInput extends EditMetadata {
4
+ id?: `Q${number}`;
5
+ labels?: LanguageMap;
6
+ descriptions?: LanguageMap;
7
+ aliases?: AliasMap;
8
+ claims?: Record<PropertyId, Statement[]>;
9
+ sitelinks?: Record<string, Sitelink>;
10
+ }
11
+ export interface CreatePropertyInput extends EditMetadata {
12
+ id?: `P${number}`;
13
+ datatype: EntityDatatype;
14
+ labels?: LanguageMap;
15
+ descriptions?: LanguageMap;
16
+ aliases?: AliasMap;
17
+ claims?: Record<PropertyId, Statement[]>;
18
+ }
19
+ export interface SearchOptions {
20
+ language?: string;
21
+ limit?: number;
22
+ includeDeleted?: boolean;
23
+ cursor?: string;
24
+ }
25
+ export interface ListEntitiesOptions {
26
+ type?: EntityType;
27
+ includeDeleted?: boolean;
28
+ limit?: number;
29
+ cursor?: string;
30
+ }
31
+ export interface ListAuditOptions {
32
+ entityId?: EntityId;
33
+ requestId?: string;
34
+ type?: AuditEventType;
35
+ attributionId?: string;
36
+ tag?: string;
37
+ limit?: number;
38
+ cursor?: string;
39
+ }
40
+ export interface BulkImportOptions {
41
+ metadata?: EditMetadata;
42
+ continueOnError?: boolean;
43
+ mode?: 'create' | 'upsert';
44
+ }
45
+ export declare class TaprootRepository {
46
+ #private;
47
+ constructor(db: D1DatabaseLike, options: TaprootOptions);
48
+ getEntity(id: EntityId): Promise<StoredEntity>;
49
+ resolveEntity(id: EntityId, maxDepth?: number): Promise<ResolvedEntity>;
50
+ getEntityRevision(id: EntityId, revision: number): Promise<RevisionEntry>;
51
+ listEntityRevisions(id: EntityId, limit?: number): Promise<RevisionEntry[]>;
52
+ listEntityRevisionsPage(id: EntityId, options?: {
53
+ limit?: number;
54
+ cursor?: string;
55
+ }): Promise<Page<RevisionEntry>>;
56
+ listEntities(options?: ListEntitiesOptions): Promise<Page<EntityListEntry>>;
57
+ getAuditEvent(eventId: string): Promise<AuditEvent>;
58
+ listAuditEvents(options?: ListAuditOptions): Promise<Page<AuditEvent>>;
59
+ searchEntities(query: string, options?: SearchOptions): Promise<SearchResult[]>;
60
+ searchEntitiesPage(query: string, options?: SearchOptions): Promise<Page<SearchResult>>;
61
+ createItem(input?: CreateItemInput): Promise<WriteResult>;
62
+ createProperty(input: CreatePropertyInput): Promise<WriteResult>;
63
+ importEntity(entity: WikibaseEntity, metadata?: EditMetadata): Promise<WriteResult>;
64
+ replaceEntity(id: EntityId, replacement: WikibaseEntity, edit: ExpectedRevision): Promise<WriteResult>;
65
+ revertEntity(id: EntityId, targetRevision: number, edit: ExpectedRevision): Promise<WriteResult>;
66
+ softDeleteEntity(id: EntityId, edit: ExpectedRevision): Promise<WriteResult>;
67
+ restoreEntity(id: EntityId, edit: ExpectedRevision): Promise<WriteResult>;
68
+ redirectEntity(id: EntityId, target: EntityId, edit: ExpectedRevision): Promise<WriteResult>;
69
+ setLabel(id: EntityId, language: string, value: string, edit: ExpectedRevision): Promise<WriteResult>;
70
+ removeLabel(id: EntityId, language: string, edit: ExpectedRevision): Promise<WriteResult>;
71
+ setDescription(id: EntityId, language: string, value: string, edit: ExpectedRevision): Promise<WriteResult>;
72
+ removeDescription(id: EntityId, language: string, edit: ExpectedRevision): Promise<WriteResult>;
73
+ addAlias(id: EntityId, language: string, value: string, edit: ExpectedRevision): Promise<WriteResult>;
74
+ removeAlias(id: EntityId, language: string, ordinal: number, edit: ExpectedRevision): Promise<WriteResult>;
75
+ setSitelink(id: `Q${number}`, site: string, value: Sitelink, edit: ExpectedRevision): Promise<WriteResult>;
76
+ removeSitelink(id: `Q${number}`, site: string, edit: ExpectedRevision): Promise<WriteResult>;
77
+ addStatement(id: EntityId, statement: Statement, edit: ExpectedRevision): Promise<WriteResult>;
78
+ replaceStatement(id: EntityId, statementId: string, statement: Statement, edit: ExpectedRevision): Promise<WriteResult>;
79
+ removeStatement(id: EntityId, statementId: string, edit: ExpectedRevision): Promise<WriteResult>;
80
+ setStatementRank(id: EntityId, statementId: string, rank: Statement['rank'], edit: ExpectedRevision): Promise<WriteResult>;
81
+ addQualifier(id: EntityId, statementId: string, snak: Snak, edit: ExpectedRevision): Promise<WriteResult>;
82
+ removeQualifier(id: EntityId, statementId: string, property: PropertyId, ordinal: number, edit: ExpectedRevision): Promise<WriteResult>;
83
+ addReference(id: EntityId, statementId: string, reference: Reference, edit: ExpectedRevision): Promise<WriteResult>;
84
+ removeReference(id: EntityId, statementId: string, hash: string, edit: ExpectedRevision): Promise<WriteResult>;
85
+ replaceReference(id: EntityId, statementId: string, hash: string, reference: Reference, edit: ExpectedRevision): Promise<WriteResult>;
86
+ importEntities(entities: Iterable<WikibaseEntity>, options?: BulkImportOptions): Promise<BulkImportResult>;
87
+ applyCommands(id: EntityId, commands: readonly EntityCommand[], edit: ExpectedRevision): Promise<WriteResult>;
88
+ exportEntities(options?: ListEntitiesOptions): Promise<string>;
89
+ inspectEntityIntegrity(id: EntityId): Promise<EntityIntegrityReport>;
90
+ inspectTaprootIntegrity(options?: ListEntitiesOptions): Promise<Page<EntityIntegrityReport>>;
91
+ verifyAuditChain(id: EntityId): Promise<EntityIntegrityReport>;
92
+ repairEntityProjection(id: EntityId, metadata?: EditMetadata): Promise<EntityIntegrityReport>;
93
+ }
94
+ //# sourceMappingURL=repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}