@gnolith/taproot 0.1.0-rc.0 → 0.2.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.
- package/CHANGELOG.md +10 -0
- package/COMPATIBILITY.md +11 -1
- package/LICENSE +21 -21
- package/README.md +17 -14
- package/SECURITY.md +5 -1
- package/SUPPORT.md +6 -1
- package/dist/errors.d.ts +6 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +6 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/migrations.d.ts +36 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +478 -0
- package/dist/migrations.js.map +1 -0
- package/dist/rdf.js +1 -1
- package/dist/rdf.js.map +1 -1
- package/dist/repository.d.ts +2 -2
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +3 -15
- package/dist/repository.js.map +1 -1
- package/dist/schema.d.ts +29 -4
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +273 -77
- package/dist/schema.js.map +1 -1
- package/docs/api.md +14 -0
- package/docs/architecture.md +2 -1
- package/docs/completion-audit.md +22 -16
- package/docs/operations.md +21 -5
- package/docs/product-scope.md +6 -1
- package/docs/release-policy.md +4 -0
- package/docs/testing.md +13 -4
- package/docs/threat-model.md +10 -5
- package/examples/d1-diamond-interop/README.md +11 -0
- package/examples/{codex-site → d1-diamond-interop}/demo.ts +3 -3
- package/migrations/0002_audit_operations.sql +4 -3
- package/package.json +9 -7
- package/examples/codex-site/.openai/hosting.json +0 -3
- package/examples/codex-site/README.md +0 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
- Added a runtime-neutral SQLite persistence surface while retaining D1
|
|
6
|
+
compatibility types and injection.
|
|
7
|
+
- Added checksummed Taproot migration plan, inspect, conservative adoption,
|
|
8
|
+
and apply APIs.
|
|
9
|
+
- Made the canonical HTTP(S) base IRI a durable, immutable database identity.
|
|
10
|
+
- Added Workerd D1 and process-local Node SQLite parity coverage for reopen,
|
|
11
|
+
rollback, and concurrent writers.
|
|
12
|
+
|
|
3
13
|
## 0.1.0
|
|
4
14
|
|
|
5
15
|
- Complete Wikibase Item/Property JSON model and validated editing API.
|
package/COMPATIBILITY.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Wikibase compatibility target
|
|
2
2
|
|
|
3
|
+
Taproot 0.2.x requires `@gnolith/diamond` 0.4.0 exactly. Existing Cloudflare D1
|
|
4
|
+
objects remain compatible with the exported `D1DatabaseLike` surface. New
|
|
5
|
+
embedders may use the equivalent `SqliteDatabaseLike`; both require one
|
|
6
|
+
adapter/connection with ordered atomic batch semantics.
|
|
7
|
+
|
|
8
|
+
Fresh databases require an explicit durable absolute HTTP(S) base IRI. A
|
|
9
|
+
version-one database is adopted only when its known table and version markers
|
|
10
|
+
match the supported legacy layout; arbitrary partial schemas fail closed.
|
|
11
|
+
|
|
3
12
|
Taproot targets the canonical entity shapes and RDF vocabulary paths used by
|
|
4
13
|
the Wikibase API/RDF model, with site-owned entity/property namespaces. The
|
|
5
14
|
fixtures under `test/fixtures` are the named interoperability baseline.
|
|
@@ -27,7 +36,8 @@ Intentional differences:
|
|
|
27
36
|
link datatypes without claiming storage for those target entity documents.
|
|
28
37
|
- Math, musical notation, geo-shape, and tabular-data values round-trip and
|
|
29
38
|
project with Wikibase property types. Geo-shape/tabular-data values use
|
|
30
|
-
Commons data IRIs;
|
|
39
|
+
Commons data IRIs; availability of those external resources is outside this
|
|
40
|
+
package.
|
|
31
41
|
- Taproot adds a site-owned mapping-version triple and retains
|
|
32
42
|
`schema:isBasedOn` beside standard `prov:wasDerivedFrom` for backward
|
|
33
43
|
compatibility. These additive triples do not change Wikibase query paths.
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Gnolith contributors
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Gnolith contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Taproot
|
|
2
2
|
|
|
3
|
-
**The D1
|
|
3
|
+
**The portable SQLite and D1, Wikibase-compatible knowledge layer for Gnolith.**
|
|
4
4
|
|
|
5
|
-
Taproot gives a
|
|
5
|
+
Taproot gives a D1-backed consumer one authoritative Wikibase-shaped Item/Property
|
|
6
6
|
document, tamper-evident revision and attribution history, typed and batched
|
|
7
7
|
editing commands, term search, repairable projections, and a deterministic RDF projection stored and queried by
|
|
8
8
|
[`@gnolith/diamond`](https://github.com/gnolith/diamond).
|
|
@@ -12,9 +12,9 @@ editing commands, term search, repairable projections, and a deterministic RDF p
|
|
|
12
12
|
|
|
13
13
|
## Status
|
|
14
14
|
|
|
15
|
-
Version `0.
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
Version `0.2.0` supports Node 22 and 24 and depends exactly on Diamond `0.4.0`,
|
|
16
|
+
which exposes transaction-composable RDF patches, a runtime-neutral SQLite
|
|
17
|
+
capability, and a process-local `node:sqlite` adapter.
|
|
18
18
|
|
|
19
19
|
## What it owns
|
|
20
20
|
|
|
@@ -42,12 +42,13 @@ there is no relational statement store.
|
|
|
42
42
|
|
|
43
43
|
Taproot requires Diamond's transaction-composable quad-patch API. Initialize a
|
|
44
44
|
D1 binding once; the programmatic initializer creates both Diamond and Taproot
|
|
45
|
-
tables idempotently
|
|
45
|
+
tables idempotently. First initialization requires the database's permanent
|
|
46
|
+
identity:
|
|
46
47
|
|
|
47
48
|
```ts
|
|
48
49
|
import { TaprootRepository, initializeTaproot } from '@gnolith/taproot';
|
|
49
50
|
|
|
50
|
-
await initializeTaproot(env.DB);
|
|
51
|
+
await initializeTaproot(env.DB, { baseIri: 'https://knowledge.example' });
|
|
51
52
|
const knowledge = new TaprootRepository(env.DB, {
|
|
52
53
|
baseIri: 'https://knowledge.example',
|
|
53
54
|
});
|
|
@@ -61,11 +62,11 @@ const item = await knowledge.createItem({
|
|
|
61
62
|
});
|
|
62
63
|
```
|
|
63
64
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
the
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
Use Taproot's `planTaprootMigrations`, `applyTaprootMigrations`, and
|
|
66
|
+
`initializeTaproot` APIs for schema changes. The numbered SQL files document
|
|
67
|
+
the historical 0.1 layout and are not an operator migration interface in 0.2.
|
|
68
|
+
The package APIs own checksums, conservative adoption, application-level
|
|
69
|
+
SHA-256 backfills, and RDF reprojection.
|
|
69
70
|
|
|
70
71
|
## Editing
|
|
71
72
|
|
|
@@ -118,10 +119,12 @@ Bulk imports default to create-only, can opt into `upsert`, are capped at 100
|
|
|
118
119
|
entities by default, and commit one entity atomically at a time. Multi-command
|
|
119
120
|
edits apply up to 100 commands in one revision. All list limits are capped at 500.
|
|
120
121
|
|
|
121
|
-
See the [
|
|
122
|
+
See the [local D1 and Diamond interoperability example](examples/d1-diamond-interop/README.md),
|
|
122
123
|
[`COMPATIBILITY.md`](COMPATIBILITY.md), and the architecture, API, operations,
|
|
123
124
|
and release documents under `docs/`. Run `npm run check` for the complete local
|
|
124
|
-
release-quality gate.
|
|
125
|
+
package release-quality gate. These checks do not assemble, provision, deploy,
|
|
126
|
+
or accept a complete Gnolith Site; the Codex agent creating a Site owns those
|
|
127
|
+
responsibilities.
|
|
125
128
|
|
|
126
129
|
## License
|
|
127
130
|
|
package/SECURITY.md
CHANGED
|
@@ -11,9 +11,13 @@ canonical history or RDF query results, and whether untrusted JSON or SPARQL
|
|
|
11
11
|
input is required. Do not include production data or credentials.
|
|
12
12
|
|
|
13
13
|
Taproot records attribution claims but does not authenticate identities or
|
|
14
|
-
authorize writes.
|
|
14
|
+
authorize writes. It assumes mutation routes admit trusted callers. Canonical JSON,
|
|
15
15
|
revision/audit immutability, size limits, optimistic revision guards, and
|
|
16
16
|
read-only Diamond SPARQL are security boundaries; projection tables are not.
|
|
17
17
|
|
|
18
18
|
The threat model and host responsibilities are documented in
|
|
19
19
|
`docs/threat-model.md`.
|
|
20
|
+
|
|
21
|
+
Package security checks do not qualify a deployed Site. The Codex agent creating
|
|
22
|
+
a Site owns its authentication, routing, provisioning, deployment, and
|
|
23
|
+
production acceptance.
|
package/SUPPORT.md
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
# Support
|
|
2
2
|
|
|
3
3
|
Use GitHub Issues for reproducible defects and scoped feature requests. Include
|
|
4
|
-
the Taproot, Diamond, Node, Workerd
|
|
4
|
+
the Taproot, Diamond, Node, D1 adapter, relevant Miniflare/Workerd, and schema
|
|
5
|
+
versions; the smallest
|
|
5
6
|
canonical entity or command that reproduces the problem; and observed versus
|
|
6
7
|
expected behavior.
|
|
7
8
|
|
|
9
|
+
Taproot support covers package behavior. Provisioning, remote migrations,
|
|
10
|
+
hosting, deployment, and complete-Site acceptance belong to the Codex agent
|
|
11
|
+
creating that Site.
|
|
12
|
+
|
|
8
13
|
Only versions listed as supported in `SECURITY.md` receive security fixes.
|
|
9
14
|
There is no guaranteed response time or commercial support commitment.
|
|
10
15
|
Do not disclose vulnerabilities publicly; use GitHub private vulnerability
|
package/dist/errors.d.ts
CHANGED
|
@@ -32,4 +32,10 @@ export declare class IntegrityError extends TaprootError {
|
|
|
32
32
|
}
|
|
33
33
|
export declare class BulkLimitError extends TaprootError {
|
|
34
34
|
}
|
|
35
|
+
export declare class InvalidBaseIriError extends TaprootError {
|
|
36
|
+
}
|
|
37
|
+
export declare class BaseIriMismatchError extends TaprootError {
|
|
38
|
+
}
|
|
39
|
+
export declare class TaprootMigrationStateError extends SchemaMismatchError {
|
|
40
|
+
}
|
|
35
41
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAQpD;AAED,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AACxD,qBAAa,wBAAyB,SAAQ,YAAY;CAAG;AAC7D,qBAAa,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,qBAAa,kBAAmB,SAAQ,YAAY;CAAG;AACvD,qBAAa,qBAAsB,SAAQ,kBAAkB;CAAG;AAChE,qBAAa,oBAAqB,SAAQ,kBAAkB;CAAG;AAC/D,qBAAa,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,qBAAa,6BAA8B,SAAQ,kBAAkB;CAAG;AACxE,qBAAa,yBAA0B,SAAQ,qBAAqB;CAAG;AACvE,qBAAa,mBAAoB,SAAQ,kBAAkB;CAAG;AAC9D,qBAAa,sBAAuB,SAAQ,YAAY;CAAG;AAC3D,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AACxD,qBAAa,kBAAmB,SAAQ,YAAY;CAAG;AACvD,qBAAa,cAAe,SAAQ,YAAY;CAAG;AACnD,qBAAa,cAAe,SAAQ,YAAY;CAAG"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAQpD;AAED,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AACxD,qBAAa,wBAAyB,SAAQ,YAAY;CAAG;AAC7D,qBAAa,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,qBAAa,kBAAmB,SAAQ,YAAY;CAAG;AACvD,qBAAa,qBAAsB,SAAQ,kBAAkB;CAAG;AAChE,qBAAa,oBAAqB,SAAQ,kBAAkB;CAAG;AAC/D,qBAAa,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,qBAAa,6BAA8B,SAAQ,kBAAkB;CAAG;AACxE,qBAAa,yBAA0B,SAAQ,qBAAqB;CAAG;AACvE,qBAAa,mBAAoB,SAAQ,kBAAkB;CAAG;AAC9D,qBAAa,sBAAuB,SAAQ,YAAY;CAAG;AAC3D,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AACxD,qBAAa,kBAAmB,SAAQ,YAAY;CAAG;AACvD,qBAAa,cAAe,SAAQ,YAAY;CAAG;AACnD,qBAAa,cAAe,SAAQ,YAAY;CAAG;AACnD,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AACxD,qBAAa,oBAAqB,SAAQ,YAAY;CAAG;AACzD,qBAAa,0BAA2B,SAAQ,mBAAmB;CAAG"}
|
package/dist/errors.js
CHANGED
|
@@ -39,4 +39,10 @@ export class IntegrityError extends TaprootError {
|
|
|
39
39
|
}
|
|
40
40
|
export class BulkLimitError extends TaprootError {
|
|
41
41
|
}
|
|
42
|
+
export class InvalidBaseIriError extends TaprootError {
|
|
43
|
+
}
|
|
44
|
+
export class BaseIriMismatchError extends TaprootError {
|
|
45
|
+
}
|
|
46
|
+
export class TaprootMigrationStateError extends SchemaMismatchError {
|
|
47
|
+
}
|
|
42
48
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI;aACxB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC;aACpC,WAAW,EAAE,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,YAAY;CAAG;AACxD,MAAM,OAAO,wBAAyB,SAAQ,YAAY;CAAG;AAC7D,MAAM,OAAO,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,MAAM,OAAO,kBAAmB,SAAQ,YAAY;CAAG;AACvD,MAAM,OAAO,qBAAsB,SAAQ,kBAAkB;CAAG;AAChE,MAAM,OAAO,oBAAqB,SAAQ,kBAAkB;CAAG;AAC/D,MAAM,OAAO,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,MAAM,OAAO,6BAA8B,SAAQ,kBAAkB;CAAG;AACxE,MAAM,OAAO,yBAA0B,SAAQ,qBAAqB;CAAG;AACvE,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;CAAG;AAC9D,MAAM,OAAO,sBAAuB,SAAQ,YAAY;CAAG;AAC3D,MAAM,OAAO,mBAAoB,SAAQ,YAAY;CAAG;AACxD,MAAM,OAAO,kBAAmB,SAAQ,YAAY;CAAG;AACvD,MAAM,OAAO,cAAe,SAAQ,YAAY;CAAG;AACnD,MAAM,OAAO,cAAe,SAAQ,YAAY;CAAG"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI;aACxB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;aACtB,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC;aACpC,WAAW,EAAE,CAAC;IACnB,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,YAAY;CAAG;AACxD,MAAM,OAAO,wBAAyB,SAAQ,YAAY;CAAG;AAC7D,MAAM,OAAO,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,MAAM,OAAO,kBAAmB,SAAQ,YAAY;CAAG;AACvD,MAAM,OAAO,qBAAsB,SAAQ,kBAAkB;CAAG;AAChE,MAAM,OAAO,oBAAqB,SAAQ,kBAAkB;CAAG;AAC/D,MAAM,OAAO,qBAAsB,SAAQ,YAAY;CAAG;AAC1D,MAAM,OAAO,6BAA8B,SAAQ,kBAAkB;CAAG;AACxE,MAAM,OAAO,yBAA0B,SAAQ,qBAAqB;CAAG;AACvE,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;CAAG;AAC9D,MAAM,OAAO,sBAAuB,SAAQ,YAAY;CAAG;AAC3D,MAAM,OAAO,mBAAoB,SAAQ,YAAY;CAAG;AACxD,MAAM,OAAO,kBAAmB,SAAQ,YAAY;CAAG;AACvD,MAAM,OAAO,cAAe,SAAQ,YAAY;CAAG;AACnD,MAAM,OAAO,cAAe,SAAQ,YAAY;CAAG;AACnD,MAAM,OAAO,mBAAoB,SAAQ,YAAY;CAAG;AACxD,MAAM,OAAO,oBAAqB,SAAQ,YAAY;CAAG;AACzD,MAAM,OAAO,0BAA2B,SAAQ,mBAAmB;CAAG"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { D1DatabaseLike } from '@gnolith/diamond';
|
|
2
|
-
export type { D1DatabaseLike } from '@gnolith/diamond';
|
|
2
|
+
export type { D1DatabaseLike, D1PreparedStatementLike, D1ResultLike, SqliteDatabaseLike, SqlitePreparedStatementLike, SqliteResultLike, } from '@gnolith/diamond';
|
|
3
3
|
import { TaprootRepository, type CreateItemInput, type CreatePropertyInput, type SearchOptions, type ListEntitiesOptions, type ListAuditOptions, type BulkImportOptions } from './repository.js';
|
|
4
4
|
import type { EditMetadata, EntityId, EntityCommand, ExpectedRevision, PropertyId, Reference, Sitelink, Snak, Statement, TaprootOptions, WikibaseEntity } from './types.js';
|
|
5
5
|
export * from './canonical.js';
|
|
6
6
|
export * from './errors.js';
|
|
7
|
+
export * from './migrations.js';
|
|
7
8
|
export * from './rdf.js';
|
|
8
9
|
export * from './repository.js';
|
|
9
10
|
export * from './schema.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type SqliteDatabaseLike } from '@gnolith/diamond';
|
|
2
|
+
import { inspectTaprootSchema } from './schema.js';
|
|
3
|
+
export declare const taprootMigrationNamespace = "@gnolith/taproot";
|
|
4
|
+
export declare const taprootMigrations: readonly [{
|
|
5
|
+
readonly id: "0001-v0.1-schema";
|
|
6
|
+
readonly statements: readonly ["CREATE TABLE IF NOT EXISTS taproot_entities (\n entity_id TEXT PRIMARY KEY,\n entity_type TEXT NOT NULL CHECK (entity_type IN ('item', 'property')),\n datatype TEXT,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n deleted_at TEXT,\n redirect_to TEXT,\n CHECK ((entity_type = 'item' AND datatype IS NULL)\n OR (entity_type = 'property' AND datatype IS NOT NULL))\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_entity_revisions (\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n entity_json TEXT NOT NULL CHECK (json_valid(entity_json)),\n actor TEXT,\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n event_id TEXT NOT NULL,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n deleted_at TEXT,\n redirect_to TEXT,\n created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,\n PRIMARY KEY (entity_id, revision),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_audit_events (\n event_id TEXT PRIMARY KEY,\n entity_id TEXT NOT NULL,\n revision INTEGER NOT NULL,\n event_type TEXT NOT NULL CHECK (event_type IN ('create', 'update', 'revert', 'delete', 'restore', 'redirect', 'import', 'repair')),\n attribution_json TEXT CHECK (attribution_json IS NULL OR json_valid(attribution_json)),\n edit_summary TEXT,\n tags_json TEXT NOT NULL DEFAULT '[]' CHECK (json_valid(tags_json)),\n request_id TEXT,\n content_hash TEXT NOT NULL,\n parent_hash TEXT,\n details_json TEXT NOT NULL DEFAULT '{}' CHECK (json_valid(details_json)),\n created_at TEXT NOT NULL,\n FOREIGN KEY (entity_id, revision) REFERENCES taproot_entity_revisions(entity_id, revision)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_migrations (\n version INTEGER PRIMARY KEY,\n name TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_rdf_ownership (\n entity_id TEXT NOT NULL,\n subject_key TEXT NOT NULL,\n predicate_key TEXT NOT NULL,\n object_key TEXT NOT NULL,\n graph_key TEXT NOT NULL,\n PRIMARY KEY (entity_id, subject_key, predicate_key, object_key, graph_key),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_id_counters (\n entity_type TEXT PRIMARY KEY CHECK (entity_type IN ('item', 'property')),\n next_numeric_id INTEGER NOT NULL CHECK (next_numeric_id > 0)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_terms (\n entity_id TEXT NOT NULL,\n language TEXT NOT NULL,\n term_type TEXT NOT NULL CHECK (term_type IN ('label', 'description', 'alias')),\n value TEXT NOT NULL,\n ordinal INTEGER NOT NULL DEFAULT 0,\n PRIMARY KEY (entity_id, language, term_type, ordinal),\n FOREIGN KEY (entity_id) REFERENCES taproot_entities(entity_id)\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_metadata (\n metadata_key TEXT PRIMARY KEY,\n metadata_value TEXT NOT NULL\n ) STRICT", "CREATE TABLE IF NOT EXISTS taproot_assertions (\n assertion_key TEXT PRIMARY KEY\n ) STRICT", "CREATE INDEX IF NOT EXISTS taproot_entities_type_idx\n ON taproot_entities(entity_type, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_entities_modified_idx\n ON taproot_entities(modified_at, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_revisions_entity_idx\n ON taproot_entity_revisions(entity_id, revision DESC)", "CREATE INDEX IF NOT EXISTS taproot_terms_lookup_idx\n ON taproot_terms(language, value COLLATE NOCASE, entity_id)", "CREATE INDEX IF NOT EXISTS taproot_audit_entity_idx\n ON taproot_audit_events(entity_id, revision DESC, event_id)", "CREATE INDEX IF NOT EXISTS taproot_audit_request_idx\n ON taproot_audit_events(request_id) WHERE request_id IS NOT NULL", "CREATE INDEX IF NOT EXISTS taproot_rdf_ownership_quad_idx\n ON taproot_rdf_ownership(subject_key, predicate_key, object_key, graph_key, entity_id)", "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_update\n BEFORE UPDATE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_revisions_no_delete\n BEFORE DELETE ON taproot_entity_revisions BEGIN SELECT RAISE(ABORT, 'taproot revisions are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_update\n BEFORE UPDATE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END", "CREATE TRIGGER IF NOT EXISTS taproot_audit_no_delete\n BEFORE DELETE ON taproot_audit_events BEGIN SELECT RAISE(ABORT, 'taproot audit events are immutable'); END", "INSERT INTO taproot_id_counters(entity_type, next_numeric_id)\n VALUES ('item', 1), ('property', 1)\n ON CONFLICT(entity_type) DO NOTHING", "INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES\n ('schema_version', '2'),\n ('canonical_json_version', '1'),\n ('rdf_mapping_version', '2')\n ON CONFLICT(metadata_key) DO UPDATE SET metadata_value = excluded.metadata_value", "INSERT INTO taproot_migrations(version, name) VALUES (1, 'initial'), (2, 'audit-and-operations')\n ON CONFLICT(version) DO NOTHING"];
|
|
7
|
+
}, {
|
|
8
|
+
readonly id: "0002-durable-database-identity";
|
|
9
|
+
readonly statements: readonly ["INSERT INTO taproot_metadata(metadata_key, metadata_value)\n VALUES ('migration_api_version', '1')\n ON CONFLICT(metadata_key) DO UPDATE SET metadata_value = excluded.metadata_value"];
|
|
10
|
+
}];
|
|
11
|
+
export interface TaprootMigrationPlanEntry {
|
|
12
|
+
id: string;
|
|
13
|
+
checksum: string;
|
|
14
|
+
status: 'applied' | 'adoptable' | 'pending';
|
|
15
|
+
adopted: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface TaprootPersistenceInspection {
|
|
18
|
+
baseIri: string | null;
|
|
19
|
+
schema: Awaited<ReturnType<typeof inspectTaprootSchema>>;
|
|
20
|
+
migrations: TaprootMigrationPlanEntry[];
|
|
21
|
+
current: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface TaprootMigrationOptions {
|
|
24
|
+
/** Required for a database that has not already recorded its identity. */
|
|
25
|
+
baseIri?: string;
|
|
26
|
+
}
|
|
27
|
+
export declare function canonicalizeTaprootBaseIri(value: string): string;
|
|
28
|
+
export declare function inspectTaprootPersistence(db: SqliteDatabaseLike): Promise<TaprootPersistenceInspection>;
|
|
29
|
+
export declare function planTaprootMigrations(db: SqliteDatabaseLike, knownSchema?: Awaited<ReturnType<typeof inspectTaprootSchema>>): Promise<TaprootMigrationPlanEntry[]>;
|
|
30
|
+
export declare function applyTaprootMigrations(db: SqliteDatabaseLike, options?: TaprootMigrationOptions): Promise<TaprootPersistenceInspection>;
|
|
31
|
+
export declare const taprootPersistenceVersions: {
|
|
32
|
+
readonly schema: "2";
|
|
33
|
+
readonly canonicalJson: "1";
|
|
34
|
+
readonly rdfMapping: "2";
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EAOL,oBAAoB,EAWrB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;EAUqB,CAAC;AASpD,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;IACzD,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACxC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBhE;AAQD,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,kBAAkB,GACrB,OAAO,CAAC,4BAA4B,CAAC,CA6BvC;AAED,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,kBAAkB,EACtB,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,GAC7D,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAkDtC;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,kBAAkB,EACtB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,4BAA4B,CAAC,CA4JvC;AAyYD,eAAO,MAAM,0BAA0B;;;;CAI7B,CAAC"}
|