@cavelang/store 0.34.0 → 0.36.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 (73) hide show
  1. package/README.md +884 -15
  2. package/dist/src/backup.d.ts.map +1 -1
  3. package/dist/src/backup.js +143 -70
  4. package/dist/src/backup.js.map +1 -1
  5. package/dist/src/capture-claim.d.ts +4 -0
  6. package/dist/src/capture-claim.d.ts.map +1 -0
  7. package/dist/src/capture-claim.js +26 -0
  8. package/dist/src/capture-claim.js.map +1 -0
  9. package/dist/src/descriptor.d.ts +3 -0
  10. package/dist/src/descriptor.d.ts.map +1 -0
  11. package/dist/src/descriptor.js +21 -0
  12. package/dist/src/descriptor.js.map +1 -0
  13. package/dist/src/error-message.d.ts +3 -0
  14. package/dist/src/error-message.d.ts.map +1 -0
  15. package/dist/src/error-message.js +10 -0
  16. package/dist/src/error-message.js.map +1 -0
  17. package/dist/src/index.d.ts +1 -1
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/locate.d.ts +13 -1
  20. package/dist/src/locate.d.ts.map +1 -1
  21. package/dist/src/locate.js +35 -13
  22. package/dist/src/locate.js.map +1 -1
  23. package/dist/src/node-adapter.d.ts.map +1 -1
  24. package/dist/src/node-adapter.js +29 -1
  25. package/dist/src/node-adapter.js.map +1 -1
  26. package/dist/src/provenance.d.ts +4 -0
  27. package/dist/src/provenance.d.ts.map +1 -1
  28. package/dist/src/provenance.js +36 -1
  29. package/dist/src/provenance.js.map +1 -1
  30. package/dist/src/query-sql.d.ts.map +1 -1
  31. package/dist/src/query-sql.js +4 -2
  32. package/dist/src/query-sql.js.map +1 -1
  33. package/dist/src/read-snapshot.d.ts +4 -0
  34. package/dist/src/read-snapshot.d.ts.map +1 -0
  35. package/dist/src/read-snapshot.js +22 -0
  36. package/dist/src/read-snapshot.js.map +1 -0
  37. package/dist/src/record.d.ts.map +1 -1
  38. package/dist/src/record.js +102 -25
  39. package/dist/src/record.js.map +1 -1
  40. package/dist/src/resolve.d.ts.map +1 -1
  41. package/dist/src/resolve.js +42 -18
  42. package/dist/src/resolve.js.map +1 -1
  43. package/dist/src/row.d.ts.map +1 -1
  44. package/dist/src/row.js +45 -17
  45. package/dist/src/row.js.map +1 -1
  46. package/dist/src/runtime.d.ts.map +1 -1
  47. package/dist/src/runtime.js +8 -4
  48. package/dist/src/runtime.js.map +1 -1
  49. package/dist/src/schema.d.ts +1 -2
  50. package/dist/src/schema.d.ts.map +1 -1
  51. package/dist/src/schema.js +116 -15
  52. package/dist/src/schema.js.map +1 -1
  53. package/dist/src/store.d.ts +17 -5
  54. package/dist/src/store.d.ts.map +1 -1
  55. package/dist/src/store.js +451 -104
  56. package/dist/src/store.js.map +1 -1
  57. package/package.json +4 -4
  58. package/src/backup.ts +141 -65
  59. package/src/capture-claim.ts +30 -0
  60. package/src/descriptor.ts +19 -0
  61. package/src/error-message.ts +8 -0
  62. package/src/index.ts +1 -1
  63. package/src/locate.ts +45 -13
  64. package/src/node-adapter.ts +28 -1
  65. package/src/provenance.ts +33 -1
  66. package/src/query-sql.ts +4 -2
  67. package/src/read-snapshot.ts +21 -0
  68. package/src/record.ts +102 -26
  69. package/src/resolve.ts +43 -20
  70. package/src/row.ts +29 -2
  71. package/src/runtime.ts +8 -4
  72. package/src/schema.ts +117 -18
  73. package/src/store.ts +452 -125
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cavelang/store",
3
- "version": "0.34.0",
3
+ "version": "0.36.0",
4
4
  "type": "module",
5
5
  "description": "CAVE SQLite persistence — explicit runtime adapters, append-only belief series, and lifecycle-aware reads.",
6
6
  "keywords": [
@@ -21,7 +21,7 @@
21
21
  "directory": "packages/store"
22
22
  },
23
23
  "engines": {
24
- "node": "^22.18.0 || ^24.0.0 || ^26.0.0"
24
+ "node": "^24.16.0 || ^26.1.0"
25
25
  },
26
26
  "exports": {
27
27
  ".": {
@@ -51,8 +51,8 @@
51
51
  "access": "public"
52
52
  },
53
53
  "dependencies": {
54
- "@cavelang/canonical": "0.34.0",
55
- "@cavelang/core": "0.34.0"
54
+ "@cavelang/canonical": "0.36.0",
55
+ "@cavelang/core": "0.36.0"
56
56
  },
57
57
  "scripts": {
58
58
  "build": "tsc -b",
package/src/backup.ts CHANGED
@@ -2,10 +2,12 @@
2
2
 
3
3
  import { createHash, randomBytes } from 'node:crypto'
4
4
  import {
5
- closeSync, copyFileSync, existsSync, fsyncSync, linkSync, openSync, readSync,
5
+ copyFileSync, existsSync, fsyncSync, linkSync, openSync, readSync,
6
6
  realpathSync, renameSync, rmSync, statSync
7
7
  } from 'node:fs'
8
8
  import { basename, dirname, resolve } from 'node:path'
9
+ import { withDescriptor } from './descriptor.ts'
10
+ import { errorMessage } from './error-message.ts'
9
11
  import type { Store } from './store.ts'
10
12
  import { nodeSqliteAdapter } from './node-adapter.ts'
11
13
  import * as Schema from './schema.ts'
@@ -29,77 +31,144 @@ const temporaryPath = (destination: string): string => {
29
31
  return resolve(dirname(target), `.${basename(target)}.${process.pid}.${randomBytes(6).toString('hex')}.tmp`)
30
32
  }
31
33
 
32
- const hashFile = (path: string): string => {
34
+ class PublishedSnapshotError extends Error {}
35
+
36
+ /** Retain the operation failure and identify a temporary file whose removal failed. */
37
+ const failWithTemporaryCleanup = (temporary: string, operation: string, error: unknown): never => {
38
+ try { rmSync(temporary, { force: true }) } catch (cleanupError) {
39
+ throw new AggregateError([error, cleanupError],
40
+ `CAVE ${operation} failed: ${errorMessage(error)}; temporary cleanup also failed: ${temporary}: ${errorMessage(cleanupError)}`,
41
+ { cause: error })
42
+ }
43
+ throw error
44
+ }
45
+
46
+ const withFile = <T>(path: string, operation: string, body: (fd: number) => T): T =>
47
+ withDescriptor(openSync(path, 'r'), `snapshot ${operation}`, body)
48
+
49
+ const hashFile = (path: string): string => withFile(path, 'hash', fd => {
33
50
  const hash = createHash('sha256')
34
- const fd = openSync(path, 'r')
35
51
  const buffer = Buffer.allocUnsafe(1024 * 1024)
36
- try {
37
- for (;;) {
38
- const size = readSync(fd, buffer, 0, buffer.length, null)
39
- if (size === 0) break
40
- hash.update(buffer.subarray(0, size))
41
- }
42
- } finally {
43
- closeSync(fd)
52
+ for (;;) {
53
+ const size = readSync(fd, buffer, 0, buffer.length, null)
54
+ if (size === 0) break
55
+ hash.update(buffer.subarray(0, size))
44
56
  }
45
57
  return hash.digest('hex')
46
- }
58
+ })
47
59
 
48
- const syncFile = (path: string): void => {
49
- const fd = openSync(path, 'r')
60
+ const syncFile = (path: string): void => withFile(path, 'sync', fd => {
50
61
  try {
51
- try {
52
- fsyncSync(fd)
53
- } catch (error) {
54
- // Windows can reject a redundant fsync while SQLite's completed
55
- // VACUUM statement still owns the snapshot handle. Verification below
56
- // must still reopen and validate the complete database before publish.
57
- if (process.platform !== 'win32' ||
58
- !(error instanceof Error) || !('code' in error) || error.code !== 'EPERM') throw error
59
- }
60
- } finally {
61
- closeSync(fd)
62
+ fsyncSync(fd)
63
+ } catch (error) {
64
+ // Windows can reject a redundant fsync while SQLite's completed
65
+ // VACUUM statement still owns the snapshot handle. Verification below
66
+ // must still reopen and validate the complete database before publish.
67
+ if (process.platform !== 'win32' ||
68
+ !(error instanceof Error) || !('code' in error) || error.code !== 'EPERM') throw error
62
69
  }
63
- }
70
+ })
71
+
72
+ const errorCode = (error: unknown): unknown =>
73
+ error instanceof Error && 'code' in error ? error.code : undefined
64
74
 
65
75
  const syncDirectory = (path: string): void => {
66
- let fd: undefined | number
76
+ let fd: number
67
77
  try {
68
78
  fd = openSync(dirname(resolve(path)), 'r')
69
- fsyncSync(fd)
70
- } catch {
71
- // Some platforms do not permit opening/fsyncing a directory. The fully
72
- // written database itself is still synced before publication.
73
- } finally {
74
- if (fd !== undefined) closeSync(fd)
79
+ } catch (error) {
80
+ // Windows may reject opening a directory through the ordinary file API.
81
+ const code = errorCode(error)
82
+ if (process.platform === 'win32' && (code === 'EPERM' || code === 'EACCES' || code === 'EISDIR')) return
83
+ throw error
75
84
  }
85
+ withDescriptor(fd, 'snapshot directory sync', descriptor => {
86
+ try {
87
+ fsyncSync(descriptor)
88
+ } catch (error) {
89
+ const code = errorCode(error)
90
+ // Unsupported directory synchronization is a portability limitation;
91
+ // I/O, space, interruption, and unexpected errors must remain visible.
92
+ if (code === 'EINVAL' || code === 'ENOTSUP' || code === 'ENOSYS' ||
93
+ (process.platform === 'win32' && code === 'EPERM') ||
94
+ (process.platform === 'aix' && code === 'EBADF')) return
95
+ throw error
96
+ }
97
+ })
76
98
  }
77
99
 
78
- const publish = (temporary: string, destination: string, force: boolean): void => {
100
+ const publish = (temporary: string, destination: string, force: boolean, operation: string): void => {
79
101
  const target = resolve(destination)
102
+ requireStoppedDestination(target, operation)
80
103
  if (force) {
81
104
  renameSync(temporary, target)
105
+ } else {
106
+ // A hard link publishes the fully written inode atomically and fails if a
107
+ // racing process created the destination after the initial existence check.
108
+ linkSync(temporary, target)
109
+ }
110
+ try {
111
+ if (!force) rmSync(temporary)
82
112
  syncDirectory(target)
83
- return
113
+ } catch (error) {
114
+ throw new PublishedSnapshotError(`CAVE ${operation}: snapshot published to ${target}, but post-publication cleanup or directory sync failed: ${errorMessage(error)}`, { cause: error })
115
+ }
116
+ }
117
+
118
+ const canonicalPath = (path: string): string => {
119
+ const absolute = resolve(path)
120
+ if (existsSync(absolute)) return realpathSync(absolute)
121
+ const parent = dirname(absolute)
122
+ return existsSync(parent) ? resolve(realpathSync(parent), basename(absolute)) : absolute
123
+ }
124
+
125
+ const samePath = (left: string, right: string): boolean => {
126
+ if (existsSync(left) && existsSync(right)) {
127
+ const a = statSync(left)
128
+ const b = statSync(right)
129
+ if (a.dev === b.dev && a.ino === b.ino) return true
84
130
  }
85
- // A hard link publishes the fully written inode atomically and fails if a
86
- // racing process created the destination after the initial existence check.
87
- linkSync(temporary, target)
88
- rmSync(temporary)
89
- syncDirectory(target)
131
+ return canonicalPath(left) === canonicalPath(right)
90
132
  }
91
133
 
92
- const samePath = (left: string, right: string): boolean =>
93
- existsSync(left) && existsSync(right) ?
94
- realpathSync(left) === realpathSync(right) :
95
- resolve(left) === resolve(right)
134
+ const sourceFile = (source: string, target: string): boolean =>
135
+ [source, canonicalPath(source)].some(base =>
136
+ ['', '-wal', '-shm', '-journal'].some(suffix => samePath(`${base}${suffix}`, target)))
137
+
138
+ const requireStoppedDestination = (target: string, operation: string): void => {
139
+ for (const base of new Set([target, canonicalPath(target)])) {
140
+ for (const suffix of ['-wal', '-shm', '-journal']) {
141
+ if (existsSync(`${base}${suffix}`)) {
142
+ throw new Error(`CAVE ${operation}: refusing while ${base}${suffix} exists; stop all users and remove stale sidecars`)
143
+ }
144
+ }
145
+ }
146
+ }
147
+
148
+ const expectedDigest = (value: undefined | string): undefined | string => {
149
+ if (value === undefined) return undefined
150
+ if (typeof value !== 'string' || value.length !== 64 || !/^[0-9a-f]{64}$/i.test(value)) {
151
+ throw new TypeError('CAVE backup: expected SHA-256 must be 64 hexadecimal characters')
152
+ }
153
+ return value.toLowerCase()
154
+ }
96
155
 
97
156
  /** Validate a standalone snapshot without migrating or mutating it. */
98
157
  export const verifyBackup = (path: string, expectedSha256?: string): Snapshot => {
158
+ const expected = expectedDigest(expectedSha256)
99
159
  const target = resolve(path)
100
160
  if (!existsSync(target)) {
101
161
  throw new Error(`CAVE backup: ${target}: no such file`)
102
162
  }
163
+ // Metadata and the checksum must describe the same standalone file. Opening
164
+ // a live WAL database would read committed rows absent from the hashed bytes.
165
+ for (const base of new Set([target, canonicalPath(target)])) {
166
+ for (const suffix of ['-wal', '-shm', '-journal']) {
167
+ if (existsSync(`${base}${suffix}`)) {
168
+ throw new Error(`CAVE backup: ${base}${suffix} exists; verification requires a standalone snapshot, create one with backup()`)
169
+ }
170
+ }
171
+ }
103
172
  const db = nodeSqliteAdapter.open(target, { readOnly: true })
104
173
  let schemaVersion = 0
105
174
  let rows = 0
@@ -114,38 +183,46 @@ export const verifyBackup = (path: string, expectedSha256?: string): Snapshot =>
114
183
  throw new Error(`foreign_key_check failed for ${foreignKeys.length} row(s)`)
115
184
  }
116
185
  schemaVersion = (db.prepare('PRAGMA user_version').get() as { user_version: number }).user_version
117
- if (schemaVersion !== Schema.currentVersion) {
118
- throw new Error(`schema version ${schemaVersion} is not the exact-backup format ${Schema.currentVersion}`)
186
+ if (schemaVersion < 1 || schemaVersion > Schema.currentVersion) {
187
+ throw new Error(`schema version ${schemaVersion} is not a supported exact-backup format (1..${Schema.currentVersion})`)
119
188
  }
120
189
  Schema.validate(db, schemaVersion)
121
190
  const summary = db.prepare('SELECT COUNT(*) AS rows, MAX(tx) AS max_tx FROM cave_claim').get() as
122
191
  { rows: number, max_tx: null | string }
123
192
  rows = summary.rows
124
193
  maxTx = summary.max_tx
125
- } finally {
126
- db.close()
194
+ } catch (error) {
195
+ try { db.close() } catch (closeError) {
196
+ throw new AggregateError([error, closeError],
197
+ `CAVE backup verification failed: ${errorMessage(error)}; database close also failed: ${errorMessage(closeError)}`,
198
+ { cause: error })
199
+ }
200
+ throw error
127
201
  }
202
+ db.close()
128
203
  const sha256 = hashFile(target)
129
- if (expectedSha256 !== undefined && sha256 !== expectedSha256.toLowerCase()) {
130
- throw new Error(`CAVE backup: SHA-256 mismatch: expected ${expectedSha256.toLowerCase()}, got ${sha256}`)
204
+ if (expected !== undefined && sha256 !== expected) {
205
+ throw new Error(`CAVE backup: SHA-256 mismatch: expected ${expected}, got ${sha256}`)
131
206
  }
132
207
  return { path: target, bytes: statSync(target).size, sha256, schemaVersion, rows, maxTx }
133
208
  }
134
209
 
135
210
  /** Create and atomically publish a verified, point-in-time SQLite snapshot. */
136
211
  export const backup = (store: Store, destination: string, options: WriteOptions = {}): Snapshot => {
212
+ const force = options.force === true
137
213
  const target = resolve(destination)
138
214
  const capability = store.adapter.capabilities.backup
139
215
  if (capability === undefined) {
140
216
  throw new Error(`CAVE backup: SQLite adapter ${JSON.stringify(store.adapter.name)} does not support exact snapshots`)
141
217
  }
142
218
  const source = capability.location(store.db)
143
- if (source !== null && samePath(source, target)) {
219
+ if (source !== null && sourceFile(source, target)) {
144
220
  throw new Error('CAVE backup: destination is the source database')
145
221
  }
146
- if (existsSync(target) && options.force !== true) {
222
+ if (existsSync(target) && !force) {
147
223
  throw new Error(`CAVE backup: ${target} already exists; pass force to replace it`)
148
224
  }
225
+ requireStoppedDestination(target, 'backup')
149
226
  if (capability.inTransaction(store.db)) {
150
227
  throw new Error('CAVE backup: cannot snapshot inside an open transaction')
151
228
  }
@@ -154,11 +231,10 @@ export const backup = (store: Store, destination: string, options: WriteOptions
154
231
  capability.write(store.db, temporary)
155
232
  syncFile(temporary)
156
233
  const checked = verifyBackup(temporary)
157
- publish(temporary, target, options.force === true)
234
+ publish(temporary, target, force, 'backup')
158
235
  return { ...checked, path: target }
159
236
  } catch (error) {
160
- rmSync(temporary, { force: true })
161
- throw error
237
+ return failWithTemporaryCleanup(temporary, 'backup', error)
162
238
  }
163
239
  }
164
240
 
@@ -168,29 +244,29 @@ export const restoreBackup = (
168
244
  destination: string,
169
245
  options: WriteOptions & { expectedSha256?: string } = {}
170
246
  ): Snapshot => {
247
+ const force = options.force === true
248
+ const expectedSha256 = expectedDigest(options.expectedSha256)
171
249
  const source = resolve(snapshotPath)
172
250
  const target = resolve(destination)
173
251
  if (samePath(source, target)) {
174
252
  throw new Error('CAVE restore: snapshot and destination are the same file')
175
253
  }
176
- if (existsSync(target) && options.force !== true) {
177
- throw new Error(`CAVE restore: ${target} already exists; pass force to replace it`)
254
+ if (sourceFile(source, target)) {
255
+ throw new Error('CAVE restore: destination is a sidecar of the source snapshot')
178
256
  }
179
- for (const suffix of ['-wal', '-shm', '-journal']) {
180
- if (existsSync(`${target}${suffix}`)) {
181
- throw new Error(`CAVE restore: refusing while ${target}${suffix} exists; stop all users and remove stale sidecars`)
182
- }
257
+ if (existsSync(target) && !force) {
258
+ throw new Error(`CAVE restore: ${target} already exists; pass force to replace it`)
183
259
  }
184
- const checked = verifyBackup(source, options.expectedSha256)
260
+ requireStoppedDestination(target, 'restore')
261
+ const checked = verifyBackup(source, expectedSha256)
185
262
  const temporary = temporaryPath(target)
186
263
  try {
187
264
  copyFileSync(source, temporary)
188
265
  syncFile(temporary)
189
266
  const copied = verifyBackup(temporary, checked.sha256)
190
- publish(temporary, target, options.force === true)
267
+ publish(temporary, target, force, 'restore')
191
268
  return { ...copied, path: target }
192
269
  } catch (error) {
193
- rmSync(temporary, { force: true })
194
- throw error
270
+ return failWithTemporaryCleanup(temporary, 'restore', error)
195
271
  }
196
272
  }
@@ -0,0 +1,30 @@
1
+ import type { Claim, Value } from '@cavelang/core'
2
+
3
+ const term = ({ kind, text }: Claim.Term): Claim.Term => ({ kind, text })
4
+ const value = ({ raw, kind, approx, num, unit, from, to }: Value.t): Value.t =>
5
+ ({ raw, kind, approx, num, unit, from, to })
6
+
7
+ const payload = (input: Claim.Payload): Claim.Payload => {
8
+ switch (input.kind) {
9
+ case 'none': return { kind: 'none' }
10
+ case 'relation': return { kind: 'relation', object: term(input.object) }
11
+ case 'attribute': return { kind: 'attribute', attribute: input.attribute, value: value(input.value) }
12
+ case 'metric': return { kind: 'metric', value: value(input.value) }
13
+ }
14
+ }
15
+
16
+ /** Own declared fields before columns, emitted text and identity are derived. */
17
+ export const captureClaim = (input: Claim.t): Claim.t => {
18
+ const { subject, verb, negated, payload: body, contexts, tags, conf, importance,
19
+ delta, sigmaLevel, comment, raw } = input
20
+ for (const [name, collection] of [['contexts', contexts], ['tags', tags]] as const) {
21
+ if (!Array.isArray(collection)) throw new TypeError(`claim ${name} must be an array`)
22
+ }
23
+ return {
24
+ subject: term(subject), verb, negated, payload: payload(body),
25
+ contexts: Array.from(contexts),
26
+ tags: Array.from(tags, ({ key, value }) => ({ key, value })),
27
+ conf, importance, delta: delta === undefined ? undefined : value(delta),
28
+ sigmaLevel, comment, raw,
29
+ }
30
+ }
@@ -0,0 +1,19 @@
1
+ import { closeSync } from 'node:fs'
2
+ import { errorMessage } from './error-message.ts'
3
+
4
+ /** Close once without allowing cleanup to replace the operation's error. */
5
+ export const withDescriptor = <T>(fd: number, operation: string, body: (fd: number) => T): T => {
6
+ let result: T
7
+ try {
8
+ result = body(fd)
9
+ } catch (error) {
10
+ try { closeSync(fd) } catch (closeError) {
11
+ throw new AggregateError([error, closeError],
12
+ `CAVE ${operation} failed: ${errorMessage(error)}; descriptor close also failed: ${errorMessage(closeError)}`,
13
+ { cause: error })
14
+ }
15
+ throw error
16
+ }
17
+ closeSync(fd)
18
+ return result
19
+ }
@@ -0,0 +1,8 @@
1
+ /** Preserve useful diagnostics when combining operation and cleanup failures. */
2
+ export const errorMessage = (value: unknown): string => {
3
+ try {
4
+ return value instanceof Error ? String(value.message) : String(value)
5
+ } catch {
6
+ return '[unprintable thrown value]'
7
+ }
8
+ }
package/src/index.ts CHANGED
@@ -23,7 +23,7 @@ export { backup, restoreBackup, verifyBackup } from './backup.ts'
23
23
  export type { Snapshot as BackupSnapshot, WriteOptions as BackupWriteOptions } from './backup.ts'
24
24
  export { open } from './open.ts'
25
25
  export { LocateError, isStoreFile, kindOf, openAt, openText } from './locate.ts'
26
- export type { Intent as OpenIntent, Kind as StoreKind, LocateOptions } from './locate.ts'
26
+ export type { Assemble, Intent as OpenIntent, Kind as StoreKind, LocateOptions } from './locate.ts'
27
27
  export type { Store } from './open.ts'
28
28
  export { defaultDbPath } from './store.ts'
29
29
  export type { Access as OpenAccess, AppendOptions, ForwardFact, IngestResult, ReverseFact, TraverseOptions } from './store.ts'
package/src/locate.ts CHANGED
@@ -9,7 +9,10 @@
9
9
  * store named `k.cave` and a text file named `notes.txt` both work.
10
10
  */
11
11
 
12
- import { closeSync, existsSync, openSync, readFileSync, readSync } from 'node:fs'
12
+ import { existsSync, openSync, readFileSync, readSync } from 'node:fs'
13
+ import { resolve } from 'node:path'
14
+ import { withDescriptor } from './descriptor.ts'
15
+ import { errorMessage } from './error-message.ts'
13
16
  import { nodeSqliteAdapter } from './node-adapter.ts'
14
17
  import { openWith } from './runtime.ts'
15
18
  import type { OpenOptions, Store } from './runtime.ts'
@@ -22,15 +25,17 @@ export type Kind = 'memory' | 'sqlite' | 'text' | 'missing'
22
25
  const sqliteHeader = 'SQLite format 3\u0000'
23
26
 
24
27
  /** @returns `true` when the file starts with the SQLite header — a store file rather than canonical text. */
25
- export const isStoreFile = (path: string): boolean => {
26
- const fd = openSync(path, 'r')
27
- try {
28
+ export const isStoreFile = (path: string): boolean =>
29
+ withDescriptor(openSync(path, 'r'), 'store-file detection', fd => {
28
30
  const head = Buffer.alloc(16)
29
- return readSync(fd, head, 0, 16, 0) === 16 && head.toString('latin1') === sqliteHeader
30
- } finally {
31
- closeSync(fd)
32
- }
33
- }
31
+ let offset = 0
32
+ while (offset < head.length) {
33
+ const bytes = readSync(fd, head, offset, head.length - offset, offset)
34
+ if (bytes === 0) return false
35
+ offset += bytes
36
+ }
37
+ return head.toString('latin1') === sqliteHeader
38
+ })
34
39
 
35
40
  /** Classifies a store path by what is on disk. */
36
41
  export const kindOf = (path: string): Kind => {
@@ -56,8 +61,19 @@ export const kindOf = (path: string): Kind => {
56
61
  */
57
62
  export type Intent = 'read' | 'scratch' | 'write'
58
63
 
64
+ /**
65
+ * Completes a text store after its file is replayed (spec §23.4): the
66
+ * connector follows the `source/<name>` declarations the file carries,
67
+ * resolving their paths against the file's directory (`root` is the file's
68
+ * absolute path). The store package knows nothing about sources; surfaces
69
+ * pass `@cavelang/connect`'s `assemble`. A thrown `LocateError` fails the
70
+ * load like unparsable text.
71
+ */
72
+ export type Assemble = (store: Store, root: string) => void
73
+
59
74
  export type LocateOptions = Omit<OpenOptions, 'access'> & {
60
75
  readonly intent?: Intent
76
+ readonly assemble?: Assemble
61
77
  }
62
78
 
63
79
  const accessOf = (intent: Intent): Access =>
@@ -100,8 +116,14 @@ export const textStoreReadOnlyMessage = (path: string): string =>
100
116
  * line that fails to parse fails the load: the file *is* the database,
101
117
  * and a store silently missing rows is worse than an error.
102
118
  */
103
- export const openText = (path: string, options: Omit<OpenOptions, 'access'> = {}): Store => {
104
- const text = readFileSync(path, 'utf8')
119
+ export const openText = (path: string, options: Omit<OpenOptions, 'access'> & { readonly assemble?: Assemble } = {}): Store => {
120
+ const bytes = readFileSync(path)
121
+ let text: string
122
+ try {
123
+ text = new TextDecoder('utf-8', { fatal: true, ignoreBOM: true }).decode(bytes)
124
+ } catch (cause) {
125
+ throw new LocateError(`${path}: invalid UTF-8 text store`, { cause })
126
+ }
105
127
  // A fresh in-memory store is always created and initialized: an `access`
106
128
  // mode is meaningless here and must not reach the open.
107
129
  const store = openWith(nodeSqliteAdapter, ':memory:', { registry: options.registry })
@@ -111,8 +133,13 @@ export const openText = (path: string, options: Omit<OpenOptions, 'access'> = {}
111
133
  const detail = result.problems.map(problem => ` ${path} line ${problem.line}: ${problem.message}`)
112
134
  throw new LocateError(`cannot load ${path} as a store — fix these lines (cave parse ${path}):\n${detail.join('\n')}`)
113
135
  }
136
+ options.assemble?.(store, resolve(path))
114
137
  } catch (error) {
115
- store.close()
138
+ try { store.close() } catch (closeError) {
139
+ throw new AggregateError([error, closeError],
140
+ `CAVE text-store load failed: ${errorMessage(error)}; store cleanup also failed: ${errorMessage(closeError)}`,
141
+ { cause: error })
142
+ }
116
143
  throw error
117
144
  }
118
145
  return store
@@ -132,7 +159,12 @@ export const openText = (path: string, options: Omit<OpenOptions, 'access'> = {}
132
159
  * never leaves an empty database behind.
133
160
  */
134
161
  export const openAt = (path: string, options: LocateOptions = {}): Store => {
135
- const { intent = 'write', ...openOptions } = options
162
+ const { intent = 'write' } = options
163
+ if (intent !== 'read' && intent !== 'scratch' && intent !== 'write') {
164
+ throw new TypeError('store intent must be read, scratch or write')
165
+ }
166
+ const { registry, assemble } = options
167
+ const openOptions = { registry, assemble }
136
168
  switch (kindOf(path)) {
137
169
  case 'memory':
138
170
  return openWith(nodeSqliteAdapter, path, openOptions)