refactor(8.0): rename BackupData → PortableGraph (the type is interchange, not a backup)
The export()/import() document type was named BackupData, but it is not a backup: it is the portable, versioned, partial-or-whole interchange representation of a graph (entities + relations + optional vectors/blobs) — the unit Brainy exports for transport between instances, versions, and products, and the payload other artifacts embed. The actual backup is persist()/load() (the native whole-brain, generation-preserving snapshot), so "Backup*" actively collided with that concept. Rename every developer-visible symbol, file, doc, JSDoc and comment: - BackupData→PortableGraph, BackupEntity→PortableGraphEntity, BackupRelation→PortableGraphRelation, BackupReader/Writer→PortableGraphReader/Writer, BackupValidation→PortableGraphValidation, isBackupData→isPortableGraph, validateBackup→validatePortableGraph, BACKUP_FORMAT[_VERSION]→PORTABLE_GRAPH_FORMAT[_VERSION]. - src/db/backup.ts → src/db/portableGraph.ts; test → db-portable-graph.test.ts. - Guide, api/README, RELEASES updated. The on-the-wire `format` tag is renamed 'brainy-backup' → 'brainy-portable-graph': the format was introduced in 7.32.0 and has not been adopted by any consumer, so there are no stored documents to stay compatible with — a clean rename beats carrying a legacy tag. No deprecated aliases (nothing to alias). 7.x shipped the same rename as 7.32.2. 1471 unit green; build clean; db-portable-graph.test.ts 17/17.
This commit is contained in:
parent
3a3aa43b3a
commit
373a48122d
8 changed files with 156 additions and 145 deletions
10
src/db/db.ts
10
src/db/db.ts
|
|
@ -57,8 +57,8 @@ import type {
|
|||
Result
|
||||
} from '../types/brainy.types.js'
|
||||
import type { StorageAdapter } from '../coreTypes.js'
|
||||
import { exportGraph } from './backup.js'
|
||||
import type { ExportSelector, ExportOptions, BackupData } from './backup.js'
|
||||
import { exportGraph } from './portableGraph.js'
|
||||
import type { ExportSelector, ExportOptions, PortableGraph } from './portableGraph.js'
|
||||
import {
|
||||
splitNounMetadataRecord,
|
||||
splitVerbMetadataRecord
|
||||
|
|
@ -416,7 +416,7 @@ export class Db<T = any> {
|
|||
|
||||
/**
|
||||
* @description Serialize part or all of this database value into a portable
|
||||
* `BackupData` document, read **as of this view's generation**. Because `export`
|
||||
* `PortableGraph` document, read **as of this view's generation**. Because `export`
|
||||
* lives on the immutable `Db`, it composes with every way of obtaining one:
|
||||
* `brain.now().export(sel)` (current), `(await brain.asOf(g)).export(sel)`
|
||||
* (time-travel export), and `brain.now().with(ops).export(sel)` (what-if export).
|
||||
|
|
@ -427,11 +427,11 @@ export class Db<T = any> {
|
|||
*
|
||||
* @param selector - WHAT to export (omit for the whole brain). See {@link ExportSelector}.
|
||||
* @param options - HOW to export (vectors / VFS bytes / edge policy). See {@link ExportOptions}.
|
||||
* @returns A versioned, portable `BackupData` document.
|
||||
* @returns A versioned, portable `PortableGraph` document.
|
||||
* @example
|
||||
* const backup = await brain.now().export({ collection: id }, { includeVectors: true })
|
||||
*/
|
||||
async export(selector: ExportSelector = {}, options: ExportOptions = {}): Promise<BackupData> {
|
||||
async export(selector: ExportSelector = {}, options: ExportOptions = {}): Promise<PortableGraph> {
|
||||
this.assertUsable('export')
|
||||
return exportGraph(this, this.host.storage, selector, options)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue