was-teaching-server 0.9.1 → 0.11.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 +118 -1
- package/README.md +23 -11
- package/dist/backends/filesystem.d.ts +247 -4
- package/dist/backends/filesystem.d.ts.map +1 -1
- package/dist/backends/filesystem.js +711 -81
- package/dist/backends/filesystem.js.map +1 -1
- package/dist/backends/postgres.d.ts +240 -2
- package/dist/backends/postgres.d.ts.map +1 -1
- package/dist/backends/postgres.js +800 -42
- package/dist/backends/postgres.js.map +1 -1
- package/dist/backends/postgresSchema.d.ts.map +1 -1
- package/dist/backends/postgresSchema.js +69 -57
- package/dist/backends/postgresSchema.js.map +1 -1
- package/dist/errors.d.ts +26 -9
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +40 -12
- package/dist/errors.js.map +1 -1
- package/dist/lib/equalityIndex.d.ts +334 -0
- package/dist/lib/equalityIndex.d.ts.map +1 -0
- package/dist/lib/equalityIndex.js +552 -0
- package/dist/lib/equalityIndex.js.map +1 -0
- package/dist/lib/exportManifest.d.ts +9 -0
- package/dist/lib/exportManifest.d.ts.map +1 -1
- package/dist/lib/exportManifest.js +9 -0
- package/dist/lib/exportManifest.js.map +1 -1
- package/dist/lib/importTar.d.ts +18 -2
- package/dist/lib/importTar.d.ts.map +1 -1
- package/dist/lib/importTar.js +77 -4
- package/dist/lib/importTar.js.map +1 -1
- package/dist/lib/paths.d.ts +33 -0
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/paths.js +28 -0
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/resourceFileName.d.ts +43 -0
- package/dist/lib/resourceFileName.d.ts.map +1 -1
- package/dist/lib/resourceFileName.js +63 -0
- package/dist/lib/resourceFileName.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +5 -2
- package/dist/plugin.js.map +1 -1
- package/dist/requests/ChunkRequest.d.ts +104 -0
- package/dist/requests/ChunkRequest.d.ts.map +1 -0
- package/dist/requests/ChunkRequest.js +396 -0
- package/dist/requests/ChunkRequest.js.map +1 -0
- package/dist/requests/CollectionRequest.d.ts +22 -5
- package/dist/requests/CollectionRequest.d.ts.map +1 -1
- package/dist/requests/CollectionRequest.js +192 -11
- package/dist/requests/CollectionRequest.js.map +1 -1
- package/dist/requests/ResourceRequest.d.ts.map +1 -1
- package/dist/requests/ResourceRequest.js +20 -0
- package/dist/requests/ResourceRequest.js.map +1 -1
- package/dist/requests/SpaceRequest.d.ts +1 -0
- package/dist/requests/SpaceRequest.d.ts.map +1 -1
- package/dist/requests/SpaceRequest.js +21 -1
- package/dist/requests/SpaceRequest.js.map +1 -1
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +21 -0
- package/dist/routes.js.map +1 -1
- package/dist/types.d.ts +165 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +19 -18
- package/src/backends/filesystem.ts +924 -75
- package/src/backends/postgres.ts +1114 -32
- package/src/backends/postgresSchema.ts +69 -57
- package/src/errors.ts +44 -12
- package/src/lib/equalityIndex.ts +769 -0
- package/src/lib/importTar.ts +107 -4
- package/src/lib/paths.ts +48 -0
- package/src/lib/resourceFileName.ts +69 -0
- package/src/plugin.ts +5 -2
- package/src/requests/ChunkRequest.ts +478 -0
- package/src/requests/CollectionRequest.ts +221 -12
- package/src/requests/ResourceRequest.ts +20 -0
- package/src/requests/SpaceRequest.ts +25 -1
- package/src/routes.ts +46 -0
- package/src/types.ts +175 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,123 @@
|
|
|
1
1
|
# History
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 0.11.0 - 2026-07-19
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **The `equality` query profile (the `equality-query` backend feature).** A
|
|
8
|
+
plaintext Collection can now declare which top-level attributes the server
|
|
9
|
+
extracts and indexes, and answer server-side equality queries over them at
|
|
10
|
+
`POST /space/{spaceId}/{collectionId}/query` with `{ "profile": "equality" }`.
|
|
11
|
+
The body carries exactly one of `equals` (a disjunction of `{ name: value }`
|
|
12
|
+
conjunctions) or `has` (attributes that must be present), plus optional
|
|
13
|
+
`count`, `limit`, and an opaque `cursor`; matching is strict JSON equality
|
|
14
|
+
(`"1"` never matches `1`; a multi-valued array attribute matches any element)
|
|
15
|
+
and a query naming an attribute the Collection does not declare is rejected
|
|
16
|
+
fail-closed (`invalid-request-body`, 400). The response is a
|
|
17
|
+
`{ documents: [{ id, data?, custom? }], hasMore, cursor? }` page in ascending
|
|
18
|
+
Resource-id order (`data` for JSON Resources, `custom` for any Resource with
|
|
19
|
+
custom metadata -- so blob Resources are queryable through their `custom`
|
|
20
|
+
tags), or `{ count }`. Unlike the client-computed `blinded-index` profile, the
|
|
21
|
+
server does the extraction, so a plain Resource write is immediately
|
|
22
|
+
queryable; the profile is capability-or-policy readable like List Collection,
|
|
23
|
+
and an encrypted Collection answers `unsupported-operation` (501). Both
|
|
24
|
+
first-party backends evaluate through one shared module so their semantics
|
|
25
|
+
cannot drift.
|
|
26
|
+
- **The `indexes` Collection Description property.** A plaintext Collection opts
|
|
27
|
+
in by declaring `indexes`: an array of attribute-name strings, or objects
|
|
28
|
+
`{ name, source: "content" | "custom", unique: true }` where `source` (default
|
|
29
|
+
`content`) names where the attribute is extracted from -- a JSON Resource's
|
|
30
|
+
content, or any Resource's `custom` metadata object. Declared names must be
|
|
31
|
+
unique across the array. Unlike `encryption`, `indexes` is updatable (entries
|
|
32
|
+
may be added or removed); it MUST NOT be combined with an `encryption` marker
|
|
33
|
+
(rejected `invalid-request-body`, 400, in both directions). An entry marked
|
|
34
|
+
`unique: true` claims per-Collection uniqueness for that attribute's
|
|
35
|
+
`(name, value)` pairs: a content or metadata write whose extracted value is
|
|
36
|
+
already held by a different Resource is rejected with `id-conflict` (409),
|
|
37
|
+
enforced atomically with the write; adding a unique claim to a Collection
|
|
38
|
+
whose stored Resources already violate it is likewise rejected (409).
|
|
39
|
+
- **The GET `filter[attr]=value` equality filter on List Collection.**
|
|
40
|
+
`GET /space/{spaceId}/{collectionId}/?filter[attr]=value` runs the equality
|
|
41
|
+
profile over the same machinery from the anonymous, HTTP-cacheable listing
|
|
42
|
+
endpoint: it answers the same document page. Every filter attribute must be
|
|
43
|
+
declared in the Collection's `indexes` (fail-closed 400); on a `PublicCanRead`
|
|
44
|
+
Collection the filter query needs no capability, so a cache can serve it.
|
|
45
|
+
|
|
46
|
+
## 0.10.2 - TBD
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
|
|
50
|
+
- Protocol conformance testing now uses the extracted
|
|
51
|
+
`@interop/was-conformance-suite` package (devDependency) instead of the
|
|
52
|
+
in-tree `conformance/` directory, which has been removed. `pnpm conformance`
|
|
53
|
+
now runs the package's `was-conformance` CLI (URL passed positionally;
|
|
54
|
+
`TEST_SERVER_URL` / `TEST_ONBOARDING_TOKEN` env vars still work as fallbacks),
|
|
55
|
+
and `pnpm conformance:local` still spins up a matched local server but
|
|
56
|
+
delegates the test run to the CLI, forwarding any extra arguments. CI now
|
|
57
|
+
exercises the production build against the CLI twice -- open provisioning and
|
|
58
|
+
onboarding-token-gated -- and uploads the JSON conformance reports as build
|
|
59
|
+
artifacts.
|
|
60
|
+
|
|
61
|
+
## 0.10.1 - 2026-07-19
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
- CORS registration now sets `exposedHeaders: ['Location', 'ETag', 'Link']`, so
|
|
66
|
+
browser-based clients can read the `Location` header on space/resource
|
|
67
|
+
creation, `ETag` for metaVersion concurrency, and `Link` for pagination and
|
|
68
|
+
policy linkset discovery. Previously these were blocked by the default CORS
|
|
69
|
+
response-header allowlist, breaking browser wallets.
|
|
70
|
+
|
|
71
|
+
## 0.10.0 - 2026-07-19
|
|
72
|
+
|
|
73
|
+
### Added
|
|
74
|
+
|
|
75
|
+
- **Chunk addressing for chunked Resources (the `chunked-streams` backend
|
|
76
|
+
feature).** A Resource can now carry an ordered set of opaque chunks,
|
|
77
|
+
addressed at
|
|
78
|
+
`PUT|GET|HEAD|DELETE /space/{spaceId}/{collectionId}/{resourceId}/chunks/{n}`
|
|
79
|
+
with a discovery listing at `.../chunks/` (JSON
|
|
80
|
+
`{ resourceId, count, chunks: [{ index, size, contentType, version }] }`; the
|
|
81
|
+
no-slash form 308-redirects to the container form). A chunk body is raw bytes
|
|
82
|
+
plus a content-type, stored exactly like a binary Resource representation --
|
|
83
|
+
the server never parses or reassembles chunks, so any encryption framing (e.g.
|
|
84
|
+
an EDV `{ index, offset, sequence, jwe }` chunk document, or a future
|
|
85
|
+
authenticated per-chunk AEAD layout) is purely a client concern. Both backends
|
|
86
|
+
implement and advertise the feature, which completes the spec's four-token
|
|
87
|
+
`features` vocabulary (`conditional-writes`, `changes-query`,
|
|
88
|
+
`blinded-index-query`, `chunked-streams`).
|
|
89
|
+
- Chunk semantics: every chunk operation requires its parent Resource to exist
|
|
90
|
+
(404 otherwise -- chunks cannot be orphaned, and an orphan left by out-of-band
|
|
91
|
+
state is unreadable), each chunk carries its own monotonic `ETag` and honors
|
|
92
|
+
`If-Match` / `If-None-Match` (412 on mismatch), oversized chunk bodies reuse
|
|
93
|
+
the per-upload cap (`payload-too-large`, 413), and -- unlike Delete Resource
|
|
94
|
+
-- deleting an absent chunk is a 404, so a reassembling reader can distinguish
|
|
95
|
+
"gone" from "never written". A non-canonical `{n}` (negative, non-integer,
|
|
96
|
+
leading zeros) or one above 2^31-1 is a 400 (both backends enforce the same
|
|
97
|
+
index range). Deleting the parent Resource cascade-deletes its chunks; chunk
|
|
98
|
+
bytes count toward Space/Collection usage and quotas; Space export archives
|
|
99
|
+
carry chunk files and imports restore them (skip-not-overwrite, both backends,
|
|
100
|
+
cross-backend compatible), holding each restored chunk to the same
|
|
101
|
+
canonical-index rule as the live route and skipping orphan chunk files whose
|
|
102
|
+
parent Resource is absent or tombstoned. Chunk writes and deletes never
|
|
103
|
+
surface on the `changes` feed (per spec): a replicating client finishes a
|
|
104
|
+
chunked write by `PUT`ting the parent Resource's own content, which does.
|
|
105
|
+
- Authorization follows the existing exact-match model: chunk writes are
|
|
106
|
+
capability-only and chunk reads capability-or-policy, each against the chunk's
|
|
107
|
+
own full URL (or the `chunks/` container URL for the listing), with the parent
|
|
108
|
+
Resource's policy governing reads.
|
|
109
|
+
|
|
110
|
+
### Fixed
|
|
111
|
+
|
|
112
|
+
- Postgres backend: the Space's `usage_bytes` quota counter no longer
|
|
113
|
+
over-counts when two writers race to create the same not-yet-existing
|
|
114
|
+
Resource. Under `READ COMMITTED` a `SELECT ... FOR UPDATE` on an absent row
|
|
115
|
+
locks nothing, so both creators read "no prior row" and both counted their
|
|
116
|
+
full byte size as the usage delta, permanently inflating the counter by one
|
|
117
|
+
write's size. Same-key creates now serialize on a transaction-scoped advisory
|
|
118
|
+
lock and re-read the row under lock, so the second writer's precondition,
|
|
119
|
+
version, and usage delta are all computed from the first writer's committed
|
|
120
|
+
row.
|
|
4
121
|
|
|
5
122
|
### Added
|
|
6
123
|
|
package/README.md
CHANGED
|
@@ -272,30 +272,42 @@ reusable.
|
|
|
272
272
|
|
|
273
273
|
### Conformance Tests
|
|
274
274
|
|
|
275
|
-
|
|
276
|
-
`
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
275
|
+
Protocol conformance testing lives in its own package,
|
|
276
|
+
[`@interop/was-conformance-suite`](https://github.com/interop-alliance/was-conformance-suite),
|
|
277
|
+
which ships a `was-conformance` CLI that runs against any WAS server by URL
|
|
278
|
+
(installed here as a devDependency). The URL passed to the CLI and the server's
|
|
279
|
+
`SERVER_URL` **must be byte-for-byte identical** (including host and port) —
|
|
280
|
+
ZCap `invocationTarget` URLs embed the full host:port, so even `localhost` vs
|
|
281
|
+
`127.0.0.1` or a port mismatch will make delegated-access tests 404.
|
|
280
282
|
|
|
281
283
|
For a local run, `pnpm conformance:local` does the whole dance for you: it spins
|
|
282
|
-
up the server on a fixed local URL, waits until it answers, runs the
|
|
283
|
-
|
|
284
|
-
|
|
284
|
+
up the server on a fixed local URL, waits until it answers, runs the CLI against
|
|
285
|
+
that same URL, and tears the server down afterward (even if the suite fails) —
|
|
286
|
+
so the two URLs can't drift out of sync.
|
|
285
287
|
|
|
286
288
|
```bash
|
|
287
289
|
# One-shot local run (recommended). Override the port with PORT=... if 3002 is
|
|
288
|
-
# taken; the server and
|
|
290
|
+
# taken; the server and CLI URLs are both derived from it, so they stay in
|
|
291
|
+
# sync. Arguments after -- are forwarded to the CLI.
|
|
289
292
|
pnpm conformance:local
|
|
293
|
+
pnpm conformance:local -- --grep chunk --reporter json
|
|
290
294
|
|
|
291
295
|
# Against an already-running or external server. Start it with a matching
|
|
292
296
|
# SERVER_URL, then in another shell:
|
|
293
|
-
|
|
297
|
+
pnpm conformance https://was.example.com
|
|
294
298
|
|
|
295
299
|
# With an onboarding token, for servers that require one for POST /spaces/:
|
|
296
|
-
|
|
300
|
+
pnpm conformance https://was.example.com --token abc123
|
|
301
|
+
|
|
302
|
+
# TEST_SERVER_URL / TEST_ONBOARDING_TOKEN env vars still work as fallbacks:
|
|
303
|
+
TEST_SERVER_URL=https://was.example.com pnpm conformance
|
|
297
304
|
```
|
|
298
305
|
|
|
306
|
+
Useful CLI options: `-s/--suite <id>`, `-g/--grep <pattern>`,
|
|
307
|
+
`--include-optional` / `--skip-optional`, `-r json`, `--timeout <ms>`,
|
|
308
|
+
`--fail-fast`. Exit codes: `0` conformant, `1` failures, `2` usage error or
|
|
309
|
+
server unreachable.
|
|
310
|
+
|
|
299
311
|
## Security
|
|
300
312
|
|
|
301
313
|
This is an experimental research server.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Transform, type Readable } from 'node:stream';
|
|
2
2
|
import type { FastifyBaseLogger } from 'fastify';
|
|
3
3
|
import type { BlindedIndexQuery, BlindedIndexQueryPage } from '../lib/blindedIndex.js';
|
|
4
|
+
import type { EqualityQuery, EqualityQueryPage, EqualityValue, NormalizedIndexDeclaration } from '../lib/equalityIndex.js';
|
|
4
5
|
import type { SpaceDescription, CollectionDescription, CollectionSummary, CollectionResourcesList, ResourceResult, ResourceMetadata, ResourceMetadataCustom, ResourceInput, ImportStats, PolicyDocument, BackendDescriptor, BackendUsage, CollectionUsage, StorageBackend, StoredBackendRecord, KeystoreConfig, KmsKeyRecord, RevocationRecord, RevocationScope, CapabilitySummary, IDID } from '../types.js';
|
|
5
6
|
/**
|
|
6
7
|
* The on-disk shape of a Resource's metadata sidecar (`.meta.<resourceId>.json`,
|
|
@@ -157,8 +158,9 @@ export declare class FileSystemBackend implements StorageBackend {
|
|
|
157
158
|
* It advertises the `conditional-writes` affordance: it exposes a per-Resource
|
|
158
159
|
* `version` as an HTTP `ETag` validator and honors `If-Match` / `If-None-Match`
|
|
159
160
|
* write preconditions atomically (returning `412 precondition-failed` on a
|
|
160
|
-
* mismatch).
|
|
161
|
-
*
|
|
161
|
+
* mismatch). It also advertises `chunked-streams`: chunk addressing for large
|
|
162
|
+
* Resources (`/{resourceId}/chunks/{n}`), each chunk stored opaquely like a
|
|
163
|
+
* binary Resource representation.
|
|
162
164
|
* (Client-side encryption is deliberately not a backend feature: encrypted
|
|
163
165
|
* documents are opaque client-encrypted JSON this backend already stores
|
|
164
166
|
* faithfully, with no server cooperation.)
|
|
@@ -589,13 +591,14 @@ export declare class FileSystemBackend implements StorageBackend {
|
|
|
589
591
|
* @param [options.ifNoneMatch] {boolean} `If-None-Match: *` (create-if-absent)
|
|
590
592
|
* @returns {Promise<{ version: number }>} the Resource's new version
|
|
591
593
|
*/
|
|
592
|
-
writeResource({ spaceId, collectionId, resourceId, input, createdBy, epoch, ifMatch, ifNoneMatch }: {
|
|
594
|
+
writeResource({ spaceId, collectionId, resourceId, input, createdBy, epoch, uniqueIndexes, ifMatch, ifNoneMatch }: {
|
|
593
595
|
spaceId: string;
|
|
594
596
|
collectionId: string;
|
|
595
597
|
resourceId: string;
|
|
596
598
|
input: ResourceInput;
|
|
597
599
|
createdBy?: IDID;
|
|
598
600
|
epoch?: string;
|
|
601
|
+
uniqueIndexes?: NormalizedIndexDeclaration[];
|
|
599
602
|
ifMatch?: string;
|
|
600
603
|
ifNoneMatch?: boolean;
|
|
601
604
|
}): Promise<{
|
|
@@ -609,6 +612,24 @@ export declare class FileSystemBackend implements StorageBackend {
|
|
|
609
612
|
* @returns {Promise<{ version: number }>}
|
|
610
613
|
*/
|
|
611
614
|
private _writeResourceLocked;
|
|
615
|
+
/**
|
|
616
|
+
* Writes a representation body (JSON value or byte stream) to `filePath`,
|
|
617
|
+
* applying the same size guards every write path shares: the per-upload cap
|
|
618
|
+
* (413 `PayloadTooLargeError`) and, when a byte quota is configured, the
|
|
619
|
+
* Space headroom (507). A JSON body is fully in memory, so its size is checked
|
|
620
|
+
* up front and written atomically; a binary body is streamed through the cap /
|
|
621
|
+
* quota guards into a temp file and durably committed (fsync + rename + dir
|
|
622
|
+
* fsync), removing the partial file on any failure. Shared by the Resource
|
|
623
|
+
* write path (`_writeResourceLocked`) and the chunk write path
|
|
624
|
+
* (`_writeChunkLocked`); the caller has already resolved `filePath` and ensured
|
|
625
|
+
* its parent directory exists for the streamed case.
|
|
626
|
+
* @param options {object}
|
|
627
|
+
* @param options.spaceId {string}
|
|
628
|
+
* @param options.filePath {string} absolute path of the representation file
|
|
629
|
+
* @param options.input {ResourceInput}
|
|
630
|
+
* @returns {Promise<void>}
|
|
631
|
+
*/
|
|
632
|
+
private _writeRepresentationBytes;
|
|
612
633
|
/**
|
|
613
634
|
* Builds the per-Resource serialization key for `_writeMutex`
|
|
614
635
|
* (`<spaceId>/<collectionId>/<resourceId>`), so conditional writes to distinct
|
|
@@ -767,12 +788,13 @@ export declare class FileSystemBackend implements StorageBackend {
|
|
|
767
788
|
* @returns {Promise<{ metaVersion: number } | undefined>} the new
|
|
768
789
|
* `metaVersion`, or `undefined` when the Resource does not exist
|
|
769
790
|
*/
|
|
770
|
-
writeResourceMetadata({ spaceId, collectionId, resourceId, custom, epoch, ifMatch, ifNoneMatch }: {
|
|
791
|
+
writeResourceMetadata({ spaceId, collectionId, resourceId, custom, epoch, uniqueIndexes, ifMatch, ifNoneMatch }: {
|
|
771
792
|
spaceId: string;
|
|
772
793
|
collectionId: string;
|
|
773
794
|
resourceId: string;
|
|
774
795
|
custom: ResourceMetadataCustom | Record<string, unknown>;
|
|
775
796
|
epoch?: string;
|
|
797
|
+
uniqueIndexes?: NormalizedIndexDeclaration[];
|
|
776
798
|
ifMatch?: string;
|
|
777
799
|
ifNoneMatch?: boolean;
|
|
778
800
|
}): Promise<{
|
|
@@ -808,6 +830,146 @@ export declare class FileSystemBackend implements StorageBackend {
|
|
|
808
830
|
resourceId: string;
|
|
809
831
|
ifMatch?: string;
|
|
810
832
|
}): Promise<void>;
|
|
833
|
+
/**
|
|
834
|
+
* Builds the on-disk path for a Resource's chunk directory
|
|
835
|
+
* (`.chunks.<encodedResourceId>/`) inside its Collection dir. A hidden
|
|
836
|
+
* subdirectory (leading `.`, so it is invisible to the `r.`-prefixed Collection
|
|
837
|
+
* listing and the live-Resource count) that holds the Resource's chunk
|
|
838
|
+
* representations; inside it a chunk is stored exactly like a Resource keyed by
|
|
839
|
+
* its index (`r.<index>.<encodedContentType>.<ext>` plus a `.meta.<index>.json`
|
|
840
|
+
* version sidecar), so the Resource file / sidecar helpers are reused verbatim
|
|
841
|
+
* with the chunk directory as the `collectionDir`.
|
|
842
|
+
* @param options {object}
|
|
843
|
+
* @param options.collectionDir {string}
|
|
844
|
+
* @param options.resourceId {string}
|
|
845
|
+
* @returns {string}
|
|
846
|
+
*/
|
|
847
|
+
_chunkDir({ collectionDir, resourceId }: {
|
|
848
|
+
collectionDir: string;
|
|
849
|
+
resourceId: string;
|
|
850
|
+
}): string;
|
|
851
|
+
/**
|
|
852
|
+
* Writes one chunk of a chunked Resource, keyed by
|
|
853
|
+
* `(spaceId, collectionId, resourceId, chunkIndex)`. The parent Resource MUST
|
|
854
|
+
* already exist (else `ResourceNotFoundError`, 404), checked under the same
|
|
855
|
+
* per-Resource lock a `deleteResource` cascade takes so a chunk can never be
|
|
856
|
+
* orphaned by a racing delete. The body is stored opaquely (bytes +
|
|
857
|
+
* content-type) through the shared upload-cap / quota guards, and the chunk's
|
|
858
|
+
* own monotonic `version` (its ETag validator, independent of the parent's) is
|
|
859
|
+
* bumped; any `If-Match` / `If-None-Match` precondition is evaluated on that
|
|
860
|
+
* version atomically with the write (`PreconditionFailedError`, 412).
|
|
861
|
+
* @param options {object}
|
|
862
|
+
* @param options.spaceId {string}
|
|
863
|
+
* @param options.collectionId {string}
|
|
864
|
+
* @param options.resourceId {string}
|
|
865
|
+
* @param options.chunkIndex {number} non-negative integer chunk position
|
|
866
|
+
* @param options.input {ResourceInput}
|
|
867
|
+
* @param [options.ifMatch] {string} `If-Match` precondition (a quoted ETag)
|
|
868
|
+
* @param [options.ifNoneMatch] {boolean} `If-None-Match: *` (create-if-absent)
|
|
869
|
+
* @returns {Promise<{ version: number }>} the chunk's new version
|
|
870
|
+
*/
|
|
871
|
+
writeChunk({ spaceId, collectionId, resourceId, chunkIndex, input, ifMatch, ifNoneMatch }: {
|
|
872
|
+
spaceId: string;
|
|
873
|
+
collectionId: string;
|
|
874
|
+
resourceId: string;
|
|
875
|
+
chunkIndex: number;
|
|
876
|
+
input: ResourceInput;
|
|
877
|
+
ifMatch?: string;
|
|
878
|
+
ifNoneMatch?: boolean;
|
|
879
|
+
}): Promise<{
|
|
880
|
+
version: number;
|
|
881
|
+
}>;
|
|
882
|
+
/**
|
|
883
|
+
* The critical section of `writeChunk`, run under the per-Resource lock. See
|
|
884
|
+
* `writeChunk` for the parameters.
|
|
885
|
+
* @returns {Promise<{ version: number }>}
|
|
886
|
+
*/
|
|
887
|
+
private _writeChunkLocked;
|
|
888
|
+
/**
|
|
889
|
+
* Reads a chunk's bytes, resolving a `ResourceResult` (stream + resolved
|
|
890
|
+
* content-type + the chunk's `version`). Throws `ResourceNotFoundError` (404)
|
|
891
|
+
* when the chunk is absent.
|
|
892
|
+
* @param options {object}
|
|
893
|
+
* @param options.spaceId {string}
|
|
894
|
+
* @param options.collectionId {string}
|
|
895
|
+
* @param options.resourceId {string}
|
|
896
|
+
* @param options.chunkIndex {number}
|
|
897
|
+
* @returns {Promise<ResourceResult>}
|
|
898
|
+
*/
|
|
899
|
+
getChunk({ spaceId, collectionId, resourceId, chunkIndex }: {
|
|
900
|
+
spaceId: string;
|
|
901
|
+
collectionId: string;
|
|
902
|
+
resourceId: string;
|
|
903
|
+
chunkIndex: number;
|
|
904
|
+
}): Promise<ResourceResult>;
|
|
905
|
+
/**
|
|
906
|
+
* Reads a chunk's stored content-type / size / version (the HEAD payload
|
|
907
|
+
* headers). Resolves `undefined` when the chunk is absent.
|
|
908
|
+
* @param options {object}
|
|
909
|
+
* @param options.spaceId {string}
|
|
910
|
+
* @param options.collectionId {string}
|
|
911
|
+
* @param options.resourceId {string}
|
|
912
|
+
* @param options.chunkIndex {number}
|
|
913
|
+
* @returns {Promise<{ contentType: string, size: number, version?: number } |
|
|
914
|
+
* undefined>}
|
|
915
|
+
*/
|
|
916
|
+
getChunkMetadata({ spaceId, collectionId, resourceId, chunkIndex }: {
|
|
917
|
+
spaceId: string;
|
|
918
|
+
collectionId: string;
|
|
919
|
+
resourceId: string;
|
|
920
|
+
chunkIndex: number;
|
|
921
|
+
}): Promise<{
|
|
922
|
+
contentType: string;
|
|
923
|
+
size: number;
|
|
924
|
+
version?: number;
|
|
925
|
+
} | undefined>;
|
|
926
|
+
/**
|
|
927
|
+
* Deletes one chunk (a hard delete: its bytes and version sidecar both go, and
|
|
928
|
+
* -- unlike a Resource -- it leaves no tombstone, since chunks are not part of
|
|
929
|
+
* the change feed). Resolves `true` when a chunk was removed and `false` when
|
|
930
|
+
* none was stored at that index. When `ifMatch` is supplied it is evaluated on
|
|
931
|
+
* the chunk's current version atomically with the removal (under the same
|
|
932
|
+
* per-Resource lock), throwing `PreconditionFailedError` (412) on a mismatch.
|
|
933
|
+
* @param options {object}
|
|
934
|
+
* @param options.spaceId {string}
|
|
935
|
+
* @param options.collectionId {string}
|
|
936
|
+
* @param options.resourceId {string}
|
|
937
|
+
* @param options.chunkIndex {number}
|
|
938
|
+
* @param [options.ifMatch] {string} `If-Match` precondition (a quoted ETag)
|
|
939
|
+
* @returns {Promise<boolean>}
|
|
940
|
+
*/
|
|
941
|
+
deleteChunk({ spaceId, collectionId, resourceId, chunkIndex, ifMatch }: {
|
|
942
|
+
spaceId: string;
|
|
943
|
+
collectionId: string;
|
|
944
|
+
resourceId: string;
|
|
945
|
+
chunkIndex: number;
|
|
946
|
+
ifMatch?: string;
|
|
947
|
+
}): Promise<boolean>;
|
|
948
|
+
/**
|
|
949
|
+
* Lists a Resource's stored chunks in ascending `index` order -- the
|
|
950
|
+
* discovery/reassembly listing (the server never reassembles). Resolves an
|
|
951
|
+
* empty listing when the Resource has no chunk directory (including when the
|
|
952
|
+
* Resource itself is absent -- existence is the parent routes' concern).
|
|
953
|
+
* @param options {object}
|
|
954
|
+
* @param options.spaceId {string}
|
|
955
|
+
* @param options.collectionId {string}
|
|
956
|
+
* @param options.resourceId {string}
|
|
957
|
+
* @returns {Promise<{ count: number, chunks: Array<{ index: number, size:
|
|
958
|
+
* number, contentType: string, version?: number }> }>}
|
|
959
|
+
*/
|
|
960
|
+
listChunks({ spaceId, collectionId, resourceId }: {
|
|
961
|
+
spaceId: string;
|
|
962
|
+
collectionId: string;
|
|
963
|
+
resourceId: string;
|
|
964
|
+
}): Promise<{
|
|
965
|
+
count: number;
|
|
966
|
+
chunks: Array<{
|
|
967
|
+
index: number;
|
|
968
|
+
size: number;
|
|
969
|
+
contentType: string;
|
|
970
|
+
version?: number;
|
|
971
|
+
}>;
|
|
972
|
+
}>;
|
|
811
973
|
/**
|
|
812
974
|
* Replication change feed (the `changes` query profile; see the
|
|
813
975
|
* `StorageBackend.changesSince` contract.
|
|
@@ -893,6 +1055,87 @@ export declare class FileSystemBackend implements StorageBackend {
|
|
|
893
1055
|
* @returns {Promise<Array<{ resourceId: string, document: unknown }>>}
|
|
894
1056
|
*/
|
|
895
1057
|
private _readJsonCandidates;
|
|
1058
|
+
/**
|
|
1059
|
+
* Plaintext equality query (the `equality` query profile; see the
|
|
1060
|
+
* `StorageBackend.queryByEquality` contract). Reads every live Resource of
|
|
1061
|
+
* the Collection -- JSON Resources carrying parsed `content`, blobs carrying
|
|
1062
|
+
* only their sidecar `custom` -- and hands the candidates to the shared
|
|
1063
|
+
* evaluator (`lib/equalityIndex.ts`) for extraction, matching, ordering, and
|
|
1064
|
+
* cursor pagination. O(n) over the Collection per call, with every JSON body
|
|
1065
|
+
* read -- deliberate for this teaching backend; a materialized backend would
|
|
1066
|
+
* answer from an attribute index. Tombstones are excluded naturally (no live
|
|
1067
|
+
* content file).
|
|
1068
|
+
* @param options {object}
|
|
1069
|
+
* @param options.spaceId {string}
|
|
1070
|
+
* @param options.collectionId {string}
|
|
1071
|
+
* @param options.query {EqualityQuery}
|
|
1072
|
+
* @param options.indexes {NormalizedIndexDeclaration[]} the normalized
|
|
1073
|
+
* declared indexes (the request layer resolves them from the description)
|
|
1074
|
+
* @param [options.count] {boolean} return only the match count
|
|
1075
|
+
* @param [options.limit] {number} requested page size
|
|
1076
|
+
* @param [options.cursor] {string} opaque cursor from a prior page
|
|
1077
|
+
* @returns {Promise<{ count: number } | EqualityQueryPage>}
|
|
1078
|
+
*/
|
|
1079
|
+
queryByEquality({ spaceId, collectionId, query, indexes, count, limit, cursor }: {
|
|
1080
|
+
spaceId: string;
|
|
1081
|
+
collectionId: string;
|
|
1082
|
+
query: EqualityQuery;
|
|
1083
|
+
indexes: NormalizedIndexDeclaration[];
|
|
1084
|
+
count?: boolean;
|
|
1085
|
+
limit?: number;
|
|
1086
|
+
cursor?: string;
|
|
1087
|
+
}): Promise<{
|
|
1088
|
+
count: number;
|
|
1089
|
+
} | EqualityQueryPage>;
|
|
1090
|
+
/**
|
|
1091
|
+
* Declare-time uniqueness scan for the `equality` profile (see the
|
|
1092
|
+
* `StorageBackend.findEqualityUniqueViolation` contract): reads the
|
|
1093
|
+
* Collection's live Resources and delegates to the shared scan, which reports
|
|
1094
|
+
* the first `(name, value)` claimed by two different Resources under the given
|
|
1095
|
+
* `unique` declarations (or `undefined` when none is).
|
|
1096
|
+
* @param options {object}
|
|
1097
|
+
* @param options.spaceId {string}
|
|
1098
|
+
* @param options.collectionId {string}
|
|
1099
|
+
* @param options.indexes {NormalizedIndexDeclaration[]}
|
|
1100
|
+
* @returns {Promise<{ name: string, value: EqualityValue } | undefined>}
|
|
1101
|
+
*/
|
|
1102
|
+
findEqualityUniqueViolation({ spaceId, collectionId, indexes }: {
|
|
1103
|
+
spaceId: string;
|
|
1104
|
+
collectionId: string;
|
|
1105
|
+
indexes: NormalizedIndexDeclaration[];
|
|
1106
|
+
}): Promise<{
|
|
1107
|
+
name: string;
|
|
1108
|
+
value: EqualityValue;
|
|
1109
|
+
} | undefined>;
|
|
1110
|
+
/**
|
|
1111
|
+
* Reads every live Resource of a Collection as an equality candidate -- the
|
|
1112
|
+
* candidate set for the equality query and the plaintext unique-attribute
|
|
1113
|
+
* conflict scans. Unlike `_readJsonCandidates` this INCLUDES blob Resources
|
|
1114
|
+
* (a blob is queryable through its `custom`-sourced attributes): each entry
|
|
1115
|
+
* resolves `{ resourceId, content?, custom? }`, where `content` is the parsed
|
|
1116
|
+
* JSON of a JSON-typed representation (the blob content read is skipped, and
|
|
1117
|
+
* unparsable JSON is dropped, as in `_readJsonCandidates`) and `custom` is the
|
|
1118
|
+
* `.meta.` sidecar's `custom` when present. Tombstones are excluded naturally
|
|
1119
|
+
* (no live `r.` content file); an optional excluded Resource is skipped. An
|
|
1120
|
+
* absent Collection dir resolves empty.
|
|
1121
|
+
* @param options {object}
|
|
1122
|
+
* @param options.spaceId {string}
|
|
1123
|
+
* @param options.collectionId {string}
|
|
1124
|
+
* @param [options.excludeResourceId] {string} omit this Resource (a conflict
|
|
1125
|
+
* scan excludes the Resource being written)
|
|
1126
|
+
* @returns {Promise<EqualityCandidate[]>}
|
|
1127
|
+
*/
|
|
1128
|
+
private _readEqualityCandidates;
|
|
1129
|
+
/**
|
|
1130
|
+
* Reads and parses a single Resource's stored JSON content, or resolves
|
|
1131
|
+
* `undefined` when the Resource is absent, a blob, or unparsable JSON -- the
|
|
1132
|
+
* content side of a custom-sourced unique-attribute claim on a metadata write.
|
|
1133
|
+
* @param options {object}
|
|
1134
|
+
* @param options.collectionDir {string}
|
|
1135
|
+
* @param options.resourceId {string}
|
|
1136
|
+
* @returns {Promise<unknown>}
|
|
1137
|
+
*/
|
|
1138
|
+
private _readResourceJsonContent;
|
|
896
1139
|
/**
|
|
897
1140
|
* Builds the on-disk path for a policy document. Stored as a dot-file keyed by
|
|
898
1141
|
* the entity id, alongside the matching `.space.` / `.collection.` description:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/backends/filesystem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../src/backends/filesystem.ts"],"names":[],"mappings":"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"}
|