@fortemi/core 2026.7.11 → 2026.7.13

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/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import { PGlite } from '@electric-sql/pglite';
2
- import { ProbeReport } from '@bytecask/core';
2
+ import { S as ShardAttachmentProjection, a as ShardCollection, b as ShardEmbeddingConfig, c as ShardEmbedding, d as ShardEmbeddingSet, e as ShardEmbeddingSetMember, f as ShardLink, g as ShardNote, h as ShardNoteSkosTag, i as ShardProvenanceEdge, j as ShardSkosConcept, k as ShardSkosRelation, l as ShardSkosScheme, m as ShardTag, n as ShardTemplate, o as ShardManifest, B as BlobStore, p as BlobReconcileOptions, q as BlobReconcileResult, r as BlobGcOptions, s as BlobGcResult, t as ShardBackend, u as ShardOperation, v as ShardComponent, w as ShardLossEntry, x as ShardCapabilityReport, y as ShardProfileRegistryEntry, E as ExportOptions, z as ShardExportResult, I as ImportOptions, A as ImportResult } from './aiwg-index-shard-BhF8kKAU.js';
3
+ export { C as AIWG_SCAN_REQUIRED_FIELDS, D as AiwgChunkedIndexBuildOptions, F as AiwgChunkedIndexBuildResult, G as AiwgChunkedIndexDetailLoader, H as AiwgChunkedIndexLoadOptions, J as AiwgChunkedIndexLoader, K as AiwgChunkedIndexProgress, L as AiwgChunkedIndexProgressPhase, M as AiwgChunkedIndexQueryOptions, N as AiwgChunkedIndexQueryResult, O as AiwgChunkedIndexValidationResult, P as AiwgFortemiAttachmentReference, Q as AiwgFortemiBinarySource, R as AiwgFortemiChunk, T as AiwgFortemiChunkDetailRef, U as AiwgFortemiChunkManifest, V as AiwgFortemiChunkPart, W as AiwgFortemiChunkPartRef, X as AiwgFortemiIndexExport, Y as AiwgFortemiIndexExportSchemaVersion, Z as AiwgFortemiProjectedRecord, _ as AiwgFortemiProvenance, $ as AiwgFortemiProvenanceEvent, a0 as AiwgFortemiRecord, a1 as AiwgFortemiRecordEmbedding, a2 as AiwgFortemiRecordSchemaVersion, a3 as AiwgFortemiRecordSource, a4 as AiwgFortemiRecordType, a5 as AiwgFortemiRelationship, a6 as AiwgFortemiRelationshipDirection, a7 as AiwgFortemiSearchProjection, a8 as AiwgFortemiSkosConcept, a9 as AiwgFortemiSkosRelation, aa as AiwgFortemiSkosRelationType, ab as AiwgHeadlessEmbeddingBackend, ac as AiwgIndexController, ad as AiwgIndexControllerListener, ae as AiwgIndexControllerSnapshot, af as AiwgIndexGraphOptions, ag as AiwgIndexQueryMatch, ah as AiwgIndexQueryOptions, ai as AiwgIndexQueryRankedItem, aj as AiwgIndexQueryResult, ak as AiwgIndexQueryWeights, al as AiwgIndexValidationResult, am as AiwgKnowledgeShardConversionResult, an as AiwgKnowledgeShardOptions, ao as AiwgPrivacyClassification, ap as AiwgPrivacyFilterOptions, aq as AiwgProvenanceConfidence, ar as AiwgRelationshipDirection, as as AiwgRelationshipEdgeSummary, at as AiwgRelationshipNodeSummary, au as AiwgRelationshipQueryOptions, av as AiwgRelationshipSetOperation, aw as AiwgRelationshipSetOptions, ax as AiwgRelationshipSetResult, ay as AiwgRelationshipTraversalOptions, az as AiwgRelationshipTraversalResult, aA as AiwgReviewAction, aB as AiwgReviewDecision, aC as AiwgReviewDecisionExport, aD as AiwgReviewInput, aE as AiwgStaticDuplicatePair, aF as AiwgStaticEmbeddingRecord, aG as AiwgStaticEmbeddingSet, aH as AiwgStaticHybridQueryOptions, aI as AiwgStaticSemanticQueryOptions, aJ as AiwgStaticSemanticResult, aK as AllowlistTrustStore, aL as BlobBackendKind, aM as BlobStoreDiagnostics, aN as BuildAiwgStaticEmbeddingSetOptions, aO as CURRENT_SHARD_VERSION, aP as ConflictStrategy, aQ as CreateBlobStoreOptions, aR as ImportCounts, aS as ImportProgress, aT as ImportProgressPhase, aU as KnowledgeShardProfile, aV as MemoryBlobStore, aW as SHARD_FORMAT, aX as SIGNATURE_ENTRY, aY as SIGNING_ENVELOPE_VERSION, aZ as ShardAuthorityStatus, a_ as ShardClusterRef, a$ as ShardLayout, b0 as ShardSignatureEnvelope, b1 as ShardSignatureVerdict, b2 as ShardSigner, b3 as ShardSigningPayload, b4 as ShardTrustStore, b5 as SignShardInput, b6 as TrustedKey, b7 as VerifyShardSignatureInput, b8 as aiwgFortemiIndexFromKnowledgeShard, b9 as aiwgFortemiIndexToCommunityGraph, ba as aiwgFortemiIndexToKnowledgeShard, bb as aiwgFortemiIndexToKnowledgeShardWithReport, bc as assertAiwgFortemiChunkManifest, bd as assertAiwgFortemiChunkPart, be as assertAiwgFortemiIndexExport, bf as assertAiwgStaticEmbeddingSet, bg as buildAiwgChunkedIndex, bh as buildAiwgStaticEmbeddingSet, bi as createAiwgFetchChunkLoader, bj as createAiwgFetchDetailLoader, bk as createAiwgIndexController, bl as createAiwgReviewDecisionExport, bm as createBlobStore, bn as createLazyBlobStore, bo as filterAiwgRecordsByPrivacy, bp as findAiwgStaticDuplicatePairs, bq as getAiwgFortemiFacets, br as isShardSigningSupported, bs as queryAiwgFortemiIndex, bt as queryAiwgHybridIndex, bu as queryAiwgSemanticIndex, bv as sidecarBlobDigests, bw as signShard, bx as validateAiwgFortemiChunkManifest, by as validateAiwgFortemiChunkPart, bz as validateAiwgFortemiIndexExport, bA as validateAiwgStaticEmbeddingSet, bB as verifyShardSignature } from './aiwg-index-shard-BhF8kKAU.js';
3
4
  import { z, ZodType } from 'zod';
4
5
  export { AiwgIndexSchemaValidationResult, getAiwgFortemiIndexExportSchema, validateAiwgFortemiIndexExportSchema, validateAiwgFortemiProjectedRecordSchema } from './aiwg-index-schema.js';
6
+ import '@bytecask/core';
5
7
 
6
8
  /**
7
9
  * Generate a RFC 9562 UUIDv7 identifier.
@@ -390,673 +392,6 @@ declare class PGliteWorkerStorageBackendFactory implements StorageBackendFactory
390
392
  open(input: StorageOpenRequest): Promise<StorageBackend>;
391
393
  }
392
394
 
393
- /**
394
- * Content-addressed attachment-byte storage — the Fortemi `BlobStore` seam.
395
- *
396
- * The store computes the key: `put(bytes)` BLAKE3-hashes the payload and
397
- * returns the canonical checksum encoding `blake3:<64-char lowercase hex>`
398
- * (server convention; ADR-012 D1/D3). Every method at this seam speaks that
399
- * canonical encoding — the bare-hex ⇄ prefixed conversions live in
400
- * `shard/blob-sidecar.ts` helpers and inside the bytecask adapter here, and
401
- * nowhere else.
402
- *
403
- * Lifecycle authority (ADR-013 D2): canonical attachment manifests decide
404
- * which bytes are live. `reconcile(liveChecksums)` hands that authoritative
405
- * set to the store; `gc()` physically removes only unreferenced,
406
- * age-thresholded objects. Internal refcounts are an implementation detail,
407
- * never a source of truth.
408
- *
409
- * Implementations:
410
- * - `createBlobStore()` — `@bytecask/core` behind a dynamic import
411
- * (IndexedDB tier by default, OPFS opt-in, memory fallback). Zero bundle
412
- * cost until the first byte operation (ADR-012 D6).
413
- * - `createLazyBlobStore()` — synchronous facade that defers the dynamic
414
- * import until the first method call (what `FortemiProvider` wires).
415
- * - `MemoryBlobStore` — dependency-free in-process implementation for
416
- * tests and the no-persistence tier.
417
- */
418
-
419
- type BlobBackendKind = 'idb' | 'opfs' | 'memory';
420
- interface BlobStoreDiagnostics {
421
- /** The storage tier actually serving bytes. */
422
- backend: BlobBackendKind;
423
- /** Tier-probe outcome from `@bytecask/core` (null for memory/test stores). */
424
- probe: ProbeReport | null;
425
- }
426
- interface BlobReconcileOptions {
427
- /** Physically remove unreferenced objects now instead of leaving them for gc(). */
428
- removeUnreferenced?: boolean;
429
- }
430
- interface BlobReconcileResult {
431
- /** Live checksums whose bytes are present. */
432
- referenced: number;
433
- /** Live checksums whose bytes are absent — the reference-only set. */
434
- missing: string[];
435
- /** Stored checksums not in the live set — GC candidates. */
436
- unreferenced: string[];
437
- /** Objects physically removed (only when `removeUnreferenced`). */
438
- removed: number;
439
- bytesFreed: number;
440
- }
441
- interface BlobGcOptions {
442
- /** Collect only unreferenced objects at least this old (ms). Default 0. */
443
- minAgeMs?: number;
444
- }
445
- interface BlobGcResult {
446
- collected: number;
447
- bytesFreed: number;
448
- }
449
- /**
450
- * The Fortemi attachment-byte seam. All checksums are the canonical
451
- * `blake3:<hex>` encoding stored in `attachment_blob.content_hash` and shard
452
- * projection records.
453
- */
454
- interface BlobStore {
455
- /** Store bytes, return their canonical checksum. Idempotent (content-addressed). */
456
- put(bytes: Uint8Array): Promise<string>;
457
- /** Fetch bytes by canonical checksum; null when absent (reference-only). */
458
- read(checksum: string): Promise<Uint8Array | null>;
459
- /** True when the bytes for this checksum are physically present. */
460
- has(checksum: string): Promise<boolean>;
461
- /**
462
- * Physically remove one checksum. Import staging uses this only to roll back
463
- * content that was absent before promotion.
464
- */
465
- delete?(checksum: string): Promise<boolean>;
466
- /**
467
- * Reconcile stored bytes against the authoritative live-checksum set
468
- * derived from canonical attachment manifests (ADR-013 D4).
469
- */
470
- reconcile(liveChecksums: Iterable<string>, opts?: BlobReconcileOptions): Promise<BlobReconcileResult>;
471
- /** Physically remove unreferenced, age-thresholded objects. */
472
- gc(opts?: BlobGcOptions): Promise<BlobGcResult>;
473
- /** Selected backend + probe report, for capability/diagnostic surfaces. */
474
- diagnostics(): Promise<BlobStoreDiagnostics>;
475
- close(): Promise<void>;
476
- }
477
- declare class MemoryBlobStore implements BlobStore {
478
- private now;
479
- private entries;
480
- constructor(now?: () => number);
481
- put(bytes: Uint8Array): Promise<string>;
482
- read(checksum: string): Promise<Uint8Array | null>;
483
- has(checksum: string): Promise<boolean>;
484
- delete(checksum: string): Promise<boolean>;
485
- reconcile(liveChecksums: Iterable<string>, opts?: BlobReconcileOptions): Promise<BlobReconcileResult>;
486
- gc(opts?: BlobGcOptions): Promise<BlobGcResult>;
487
- diagnostics(): Promise<BlobStoreDiagnostics>;
488
- close(): Promise<void>;
489
- }
490
- interface CreateBlobStoreOptions {
491
- /** Force a tier; omit to probe IndexedDB → OPFS → memory (measured default). */
492
- backend?: BlobBackendKind;
493
- /** Injectable IDBFactory for tests (fake-indexeddb). Defaults to the global. */
494
- indexedDB?: IDBFactory;
495
- /** Skip the one-shot migration of the pre-bytecask blob layout. */
496
- migrateLegacy?: boolean;
497
- }
498
- /**
499
- * Construct the bytecask-backed BlobStore for one archive namespace.
500
- *
501
- * `@bytecask/core` is reached only through a dynamic `import()` here, so
502
- * hosts that never touch attachment bytes never load it. The namespace is a
503
- * function of `archiveName` alone — identical in DB-free and PGlite modes.
504
- *
505
- * Tiering: IndexedDB by default (measured default per bytecask's C3
506
- * benchmark), memory fallback when IndexedDB is unavailable. The OPFS opt-in
507
- * tier arrives with the upstream `createBlobStore()` factory switch
508
- * (`@bytecask/core` 2026.7.2); requesting it now fails loudly rather than
509
- * silently falling back.
510
- */
511
- declare function createBlobStore(archiveName: string, options?: CreateBlobStoreOptions): Promise<BlobStore>;
512
- /**
513
- * Synchronous facade over {@link createBlobStore}: construction is free, the
514
- * dynamic import happens on the first byte operation. This is what
515
- * `FortemiProvider` wires so hosts that never touch attachment bytes never
516
- * pay for the substrate (ADR-012 D6).
517
- */
518
- declare function createLazyBlobStore(archiveName: string, options?: CreateBlobStoreOptions): BlobStore;
519
-
520
- /**
521
- * Signed Knowledge-Shard verification (#324, ADR-014).
522
- *
523
- * Authenticity — as distinct from the consistency the in-archive checksums
524
- * provide (SEC7) — comes from an Ed25519 signature over a canonical payload
525
- * that commits to the manifest digest and the referenced blob-byte digests.
526
- * Verification is pure and side-effect-free; it runs BEFORE any record or
527
- * blob mutation (ADR-013 D6 / ADR-014 D3). Bytecask never sees keys.
528
- */
529
-
530
- declare const SIGNATURE_ENTRY = "signature.json";
531
- declare const SIGNING_ENVELOPE_VERSION = "1";
532
- declare const SIGNING_ALGORITHM = "ed25519";
533
- interface ShardSigner {
534
- key_id: string;
535
- algorithm: typeof SIGNING_ALGORITHM;
536
- /** Raw 32-byte Ed25519 public key, base64url. */
537
- public_key: string;
538
- }
539
- /** The signed payload (never contains its own signature — ADR-014 D2). */
540
- interface ShardSigningPayload {
541
- format_version: typeof SIGNING_ENVELOPE_VERSION;
542
- signer: ShardSigner;
543
- /** SHA-256 hex of the canonical manifest.json bytes. */
544
- manifest_digest: string;
545
- /** Sorted bare-hex BLAKE3 digests of referenced sidecar blobs. */
546
- blob_digests: string[];
547
- }
548
- /** `signature.json` archive entry: the payload plus its base64url signature. */
549
- interface ShardSignatureEnvelope extends ShardSigningPayload {
550
- signature: string;
551
- }
552
- interface TrustedKey {
553
- key_id: string;
554
- /** Raw 32-byte Ed25519 public key, base64url. */
555
- public_key: string;
556
- revoked?: boolean;
557
- }
558
- interface ShardTrustStore {
559
- resolve(keyId: string): TrustedKey | null | Promise<TrustedKey | null>;
560
- }
561
- /** In-memory allowlist trust store seeded from `{ key_id, public_key }` entries. */
562
- declare class AllowlistTrustStore implements ShardTrustStore {
563
- private keys;
564
- constructor(keys: TrustedKey[]);
565
- resolve(keyId: string): TrustedKey | null;
566
- /** Mark a key revoked without removing it (still resolvable, verdict `revoked`). */
567
- revoke(keyId: string): void;
568
- }
569
- type ShardSignatureVerdict = {
570
- ok: true;
571
- keyId: string;
572
- } | {
573
- ok: false;
574
- reason: 'unsigned';
575
- } | {
576
- ok: false;
577
- reason: 'malformed';
578
- detail: string;
579
- } | {
580
- ok: false;
581
- reason: 'unknown-signer';
582
- keyId: string;
583
- } | {
584
- ok: false;
585
- reason: 'revoked';
586
- keyId: string;
587
- } | {
588
- ok: false;
589
- reason: 'bad-signature';
590
- keyId: string;
591
- } | {
592
- ok: false;
593
- reason: 'content-mismatch';
594
- detail: string;
595
- } | {
596
- ok: false;
597
- reason: 'unsupported';
598
- };
599
- /** True when this runtime's WebCrypto verifies Ed25519 (ADR-014 D1). */
600
- declare function isShardSigningSupported(): Promise<boolean>;
601
- /** Sorted bare-hex BLAKE3 digests of the sidecar blobs present in the archive. */
602
- declare function sidecarBlobDigests(files: Map<string, Uint8Array>): string[];
603
- interface VerifyShardSignatureInput {
604
- files: Map<string, Uint8Array>;
605
- trustStore: ShardTrustStore;
606
- }
607
- /**
608
- * Verify a shard's Ed25519 signature over its canonical payload. Pure: reads
609
- * archive bytes, resolves the key, checks the signature and the
610
- * manifest/blob-digest commitments. No persistence, no mutation.
611
- */
612
- declare function verifyShardSignature(input: VerifyShardSignatureInput): Promise<ShardSignatureVerdict>;
613
- interface SignShardInput {
614
- files: Map<string, Uint8Array>;
615
- keyId: string;
616
- /** Ed25519 private key (raw 32-byte seed or PKCS8), imported by the caller. */
617
- privateKey: CryptoKey;
618
- /** Raw 32-byte public key, base64url — embedded in the envelope + trust store. */
619
- publicKey: string;
620
- }
621
- /**
622
- * Produce the `signature.json` envelope for an assembled archive `files` map.
623
- * The caller adds the returned bytes to the archive under {@link SIGNATURE_ENTRY}
624
- * (excluded from manifest.checksums — it post-dates the manifest).
625
- */
626
- declare function signShard(input: SignShardInput): Promise<Uint8Array>;
627
-
628
- /**
629
- * Shard format types — matches the fortemi server matric-shard specification.
630
- *
631
- * A shard is a gzip-compressed tar archive (.shard) containing serialized
632
- * knowledge data with a manifest for integrity verification.
633
- *
634
- * @implements @.aiwg/adrs/ADR-011-shard-server-conformance-and-version-negotiation.md
635
- * @schema @packages/core/schemas/knowledge-shard.schema.receipt.json
636
- * @created 2026-07-17
637
- * @agent Codex
638
- */
639
-
640
- declare const CURRENT_SHARD_VERSION = "1.2.0";
641
- declare const SHARD_FORMAT = "matric-shard";
642
- /** Components that can appear in a shard archive. */
643
- type ShardComponent = 'notes' | 'collections' | 'tags' | 'templates' | 'links' | 'note_originals' | 'note_original_history' | 'note_revised_current' | 'note_revisions' | 'embedding_sets' | 'embedding_configs' | 'embedding_set_members' | 'embeddings' | 'provenance_activities' | 'named_locations' | 'provenance_locations' | 'provenance_devices' | 'provenance_records' | 'skos_schemes' | 'skos_concepts' | 'skos_labels' | 'skos_notes' | 'skos_relations' | 'skos_mapping_relations' | 'skos_scheme_memberships' | 'note_skos_tags' | 'skos_collections' | 'skos_collection_members' | 'provenance_edges' | 'community_assignments' | 'communities' | 'graph_edges' | 'graph_sources';
644
- type KnowledgeShardProfile = 'core-v1' | 'full-v1' | 'record-v1';
645
- type ShardBackend = 'pglite' | 'record-store';
646
- type ShardOperation = 'export' | 'import';
647
- type ShardAuthorityStatus = 'supported' | 'candidate' | 'reserved' | 'unknown' | 'unprofiled';
648
- interface ShardProfileRegistryEntry {
649
- profile: KnowledgeShardProfile;
650
- authority_status: 'supported' | 'candidate' | 'reserved';
651
- components: ShardComponent[];
652
- }
653
- interface ShardLossEntry {
654
- code: string;
655
- message: string;
656
- component?: ShardComponent;
657
- count?: number;
658
- }
659
- interface ShardCapabilityReport {
660
- schema_version: 'fortemi.shard.capability-report.v1';
661
- backend: ShardBackend;
662
- operation: ShardOperation;
663
- requested_profile: string | null;
664
- authority_status: ShardAuthorityStatus;
665
- backend_supported: boolean;
666
- portable: boolean;
667
- authority: {
668
- repository: string;
669
- commit: string;
670
- contract_sha256: string;
671
- contract_revision: string;
672
- schema_version: string;
673
- schema_bundle_sha256: string;
674
- };
675
- advertised_profiles: KnowledgeShardProfile[];
676
- supported_components: ShardComponent[];
677
- declared_components: ShardComponent[];
678
- unsupported_components: ShardComponent[];
679
- omitted_components: ShardComponent[];
680
- losses: ShardLossEntry[];
681
- }
682
- interface ShardAttachmentReference {
683
- id: string;
684
- path: string;
685
- mime: string | null;
686
- checksum: string;
687
- bytes: number;
688
- }
689
- interface ShardAttachmentProjection {
690
- extracted_text: string | null;
691
- /** Legacy unprofiled relationship timestamp; outside core-v1. */
692
- created_at?: string;
693
- /** Legacy unprofiled attachment tombstone; outside core-v1. */
694
- deleted_at?: string | null;
695
- extraction_status?: 'extracted' | 'pending' | 'failed' | 'blocked' | 'deferred';
696
- reason?: null | 'extraction_pending' | 'extractor_failed' | 'quarantined' | 'large_binary' | 'unsupported_mime' | 'no_extracted_text';
697
- attachment: ShardAttachmentReference;
698
- }
699
- /** @deprecated Legacy React shard field name. Server shards use `attachments`. */
700
- type ShardBinarySource = ShardAttachmentProjection;
701
- /**
702
- * Reference to one cluster file of a component split across addressable files
703
- * (`notes/000.jsonl`, `notes/001.jsonl`, …). `offset` preserves deterministic
704
- * component order; readers discover each cluster's size from its contents.
705
- */
706
- interface ShardClusterRef {
707
- href: string;
708
- offset: number;
709
- }
710
- /**
711
- * Optional clustered layout (additive — absent on monolithic shards). When a
712
- * component is present here, its records live in the listed cluster files instead
713
- * of (or in addition to) the single `<component>.jsonl`. Both `importShard` and
714
- * the in-place reader consume it; a monolithic shard omits `layout` entirely.
715
- */
716
- interface ShardLayout {
717
- clusters?: Partial<Record<ShardComponent, ShardClusterRef[]>>;
718
- }
719
- interface ShardMigrationHistoryEntry {
720
- from_version: string;
721
- to_version: string;
722
- migrated_at: string;
723
- migrated_by: string;
724
- changes: string[];
725
- }
726
- /** Manifest included in every shard as manifest.json. */
727
- interface ShardProducer {
728
- name: string;
729
- version: string;
730
- revision?: string;
731
- }
732
- interface ShardManifest {
733
- version: string;
734
- /** Named server-owned portability profile. Required for canonical interchange. */
735
- profile?: string;
736
- /** Structured producer identity used by canonical profiles. */
737
- producer?: ShardProducer;
738
- /** @deprecated Legacy producer release field. */
739
- matric_version?: string;
740
- format: typeof SHARD_FORMAT;
741
- created_at: string;
742
- components: ShardComponent[];
743
- counts: Partial<Record<ShardComponent | 'community_sets', number>>;
744
- checksums: Record<string, string>;
745
- min_reader_version: string;
746
- migrated_from?: string | null;
747
- migration_history?: ShardMigrationHistoryEntry[];
748
- /** Clustered component layout for partial fetch (issue #189). Absent → monolithic. */
749
- layout?: ShardLayout;
750
- }
751
- /** Options for shard export. */
752
- interface ExportOptions {
753
- /**
754
- * Explicit portability profile. Only profiles advertised by the selected
755
- * producer are accepted. Omit to retain the legacy unprofiled React archive.
756
- */
757
- profile?: string;
758
- includeEmbeddings?: boolean;
759
- /** Filter to specific collection (export only notes in this collection). */
760
- collectionId?: string;
761
- /** Filter to notes with this tag (e.g. 'app:research' for app-scoped export). */
762
- tag?: string;
763
- /** Export only these embedding sets and their member/vector rows. */
764
- embeddingSetIds?: string[];
765
- /** Preserve virtual selector materialization metadata and virtual member rows. */
766
- includeMaterializedSelectors?: boolean;
767
- /**
768
- * When set to a positive integer, emit notes as clustered files
769
- * (`notes/000.jsonl`, …) of this many records each, and record the layout in
770
- * the manifest, so an in-place reader can fetch only the clusters it needs
771
- * (issue #189). Absent → a single monolithic `notes.jsonl` (unchanged).
772
- */
773
- clusterNotesSize?: number;
774
- /**
775
- * Pack attachment bytes into a portable content-addressed `blobs/<hex>`
776
- * sidecar (Fortemi/fortemi#1046), producing a self-contained shard whose
777
- * attachments survive a round-trip (`getBlob()` returns real bytes on the
778
- * importing host). Requires {@link blobStore}. Absent/false → reference-only
779
- * (server default), which remains a valid shard.
780
- */
781
- includeBlobs?: boolean;
782
- /**
783
- * Byte source for the sidecar. Required when `includeBlobs` is set; attachment
784
- * bytes are read by their `content_hash`. A blob the store cannot return is
785
- * skipped (its attachment stays reference-only) rather than failing export.
786
- */
787
- blobStore?: BlobStore;
788
- }
789
- /** Conflict resolution strategy for shard import. */
790
- type ConflictStrategy = 'skip' | 'replace' | 'error';
791
- /** Options for shard import. */
792
- interface ImportOptions {
793
- conflictStrategy?: ConflictStrategy;
794
- /** Rows processed between cooperative yields. Defaults to 250. */
795
- batchSize?: number;
796
- /** Progress callback for long-running import phases. */
797
- onProgress?: (progress: ImportProgress) => void;
798
- /**
799
- * Destination for hydrating attachment bytes from a portable `blobs/<hex>`
800
- * sidecar (Fortemi/fortemi#1046). When provided, sidecar entries whose bare
801
- * hex matches an imported attachment's `content_hash` are promoted before
802
- * the logical transaction. A transaction failure removes only bytes that
803
- * were absent before promotion. Stores without the optional `delete`
804
- * capability fail before promotion. Absent → reference-only metadata.
805
- */
806
- blobStore?: BlobStore;
807
- /**
808
- * Publisher-provenance policy for signed shards (#324, ADR-014):
809
- * - `require` — reject unsigned or bad-signature shards (default when a
810
- * `trustStore` is supplied);
811
- * - `prefer` — verify signed shards; import unsigned ones with a warning;
812
- * still reject a present-but-invalid signature;
813
- * - `trusted-local-only` — ignore signatures (own-export import).
814
- * When both `trustStore` and this are omitted, verification is skipped
815
- * entirely (checksum-only, unchanged behavior).
816
- */
817
- verifySignature?: 'require' | 'prefer' | 'trusted-local-only';
818
- /** Trust store resolving signer key_id → public key (required for `require`/`prefer`). */
819
- trustStore?: ShardTrustStore;
820
- }
821
- type ImportProgressPhase = 'unpack' | 'validate' | 'collections' | 'notes' | 'skos' | 'templates' | 'links' | 'provenance' | 'embedding_sets' | 'embedding_configs' | 'embeddings' | 'embedding_set_members' | 'graph' | 'communities' | 'index';
822
- interface ImportProgress {
823
- phase: ImportProgressPhase;
824
- done: number;
825
- total: number;
826
- }
827
- /** Per-entity import counts. */
828
- interface ImportCounts {
829
- notes: number;
830
- collections: number;
831
- templates: number;
832
- tags: number;
833
- links: number;
834
- embedding_sets: number;
835
- embedding_configs: number;
836
- embedding_set_members: number;
837
- embeddings: number;
838
- skos_schemes: number;
839
- skos_concepts: number;
840
- skos_relations: number;
841
- note_skos_tags: number;
842
- provenance_edges: number;
843
- graph_sources: number;
844
- graph_edges: number;
845
- community_sets: number;
846
- communities: number;
847
- community_assignments: number;
848
- }
849
- /** Result of a shard import operation. */
850
- interface ImportResult {
851
- success: boolean;
852
- counts: ImportCounts;
853
- skipped: Partial<ImportCounts>;
854
- warnings: string[];
855
- errors: string[];
856
- duration_ms: number;
857
- capability_report: ShardCapabilityReport;
858
- }
859
- interface ShardExportResult {
860
- success: boolean;
861
- archive: Uint8Array | null;
862
- errors: string[];
863
- capability_report: ShardCapabilityReport;
864
- }
865
- /** Note as serialized in the shard JSONL. */
866
- interface ShardNote {
867
- id: string;
868
- title: string | null;
869
- original_content: string;
870
- revised_content: string | null;
871
- metadata?: Record<string, unknown> | null;
872
- collection_id?: string | null;
873
- attachments?: ShardAttachmentProjection[];
874
- /** @deprecated Legacy React shard field name. Use `attachments`. */
875
- binary_sources?: ShardBinarySource[];
876
- format: string;
877
- source: string;
878
- starred: boolean;
879
- archived: boolean;
880
- tags: string[];
881
- created_at: string;
882
- updated_at: string;
883
- /** Schema 1.1 core-v1 tombstone; legacy unprofiled archives also carry it. */
884
- deleted_at?: string | null;
885
- }
886
- /** Collection as serialized in the shard JSON array. */
887
- interface ShardCollection {
888
- id: string;
889
- name: string;
890
- description: string | null;
891
- parent_id: string | null;
892
- created_at: string;
893
- /** Legacy unprofiled fields; outside core-v1. */
894
- updated_at?: string;
895
- deleted_at?: string | null;
896
- note_count?: number;
897
- }
898
- /** Tag as serialized in the shard JSON array. */
899
- interface ShardTag {
900
- name: string;
901
- created_at: string;
902
- }
903
- /** Template as serialized in the shard JSON array. */
904
- interface ShardTemplate {
905
- id: string;
906
- name: string;
907
- description: string | null;
908
- content: string;
909
- format: string;
910
- default_tags: string[];
911
- collection_id: string | null;
912
- created_at: string;
913
- updated_at: string;
914
- }
915
- /** Link as serialized in the shard JSONL. */
916
- interface ShardLink {
917
- id: string;
918
- from_note_id: string;
919
- to_note_id: string | null;
920
- /** Optional for legacy React shards exported before URL links existed. */
921
- to_url?: string | null;
922
- kind: string;
923
- score: number | null;
924
- created_at: string;
925
- /** Optional for legacy React shards exported before link metadata existed. */
926
- metadata?: Record<string, unknown> | null;
927
- }
928
- /**
929
- * Embedding set as serialized in the shard JSON array.
930
- *
931
- * Fields beyond id/model/dimension are optional for backward compatibility:
932
- * legacy React shards omit them and import falls back to the same defaults
933
- * `embeddingSetFromShard` applies (name → model, is_system → false, …).
934
- */
935
- interface ShardEmbeddingSet {
936
- id: string;
937
- name?: string;
938
- slug?: string | null;
939
- description?: string | null;
940
- purpose?: string | null;
941
- document_count?: number;
942
- embedding_count?: number;
943
- is_system?: boolean;
944
- keywords?: string[];
945
- model: string;
946
- dimension: number;
947
- kind?: 'physical' | 'filter' | 'virtual';
948
- mode?: 'auto' | 'manual' | 'mixed' | null;
949
- truncate_dimension?: number | null;
950
- criteria?: Record<string, unknown> | null;
951
- source?: Record<string, unknown> | null;
952
- compatibility?: Record<string, unknown> | null;
953
- materialization?: Record<string, unknown> | null;
954
- freshness?: ShardArtifactFreshness | null;
955
- created_at?: string;
956
- updated_at?: string;
957
- }
958
- /** Embedding set member as serialized in the shard JSONL. */
959
- interface ShardEmbeddingSetMember {
960
- embedding_set_id: string;
961
- note_id: string;
962
- /** Legacy React shard field; new exports use server membership metadata instead. */
963
- embedding_id?: string;
964
- /** Optional for legacy React shards; import defaults to 'materialized'. */
965
- membership_type?: string;
966
- /** Optional for legacy React shards; import falls back to the manifest timestamp. */
967
- added_at?: string;
968
- /** Optional for legacy React shards; import defaults to NULL. */
969
- added_by?: string | null;
970
- }
971
- /** Embedding config as serialized in the shard JSON array. */
972
- interface ShardEmbeddingConfig {
973
- id: string;
974
- name: string;
975
- description: string | null;
976
- model: string;
977
- dimension: number;
978
- chunk_size: number;
979
- chunk_overlap: number;
980
- is_default: boolean;
981
- }
982
- /**
983
- * Embedding as serialized in the shard JSONL.
984
- *
985
- * Server metadata fields (`chunk_index`, `text`, `model`) are optional for
986
- * backward compatibility: legacy React shards exported before migration 0016
987
- * carry only `id`, `note_id`, `embedding_set_id`, `vector`, `created_at`.
988
- * Import normalizes absent metadata to schema defaults (0, '', NULL).
989
- */
990
- interface ShardEmbedding {
991
- id: string;
992
- note_id: string;
993
- chunk_index?: number;
994
- text?: string;
995
- vector: number[];
996
- model?: string;
997
- /** React shard extension used to preserve local embedding-set scoping. */
998
- embedding_set_id?: string;
999
- /** React shard extension used to preserve local creation ordering. */
1000
- created_at?: string;
1001
- }
1002
- /** SKOS scheme as serialized in the shard JSON array. */
1003
- interface ShardSkosScheme {
1004
- id: string;
1005
- title: string;
1006
- description: string | null;
1007
- created_at: string;
1008
- updated_at: string;
1009
- }
1010
- /** SKOS concept as serialized in the shard JSON array. */
1011
- interface ShardSkosConcept {
1012
- id: string;
1013
- scheme_id: string;
1014
- pref_label: string;
1015
- alt_labels: string[];
1016
- definition: string | null;
1017
- created_at: string;
1018
- updated_at: string;
1019
- }
1020
- /** SKOS concept relation as serialized in the shard JSONL. */
1021
- interface ShardSkosRelation {
1022
- id: string;
1023
- source_concept_id: string;
1024
- target_concept_id: string;
1025
- relation_type: 'broader' | 'narrower' | 'related';
1026
- created_at: string;
1027
- }
1028
- /** Note-to-SKOS-concept assignment as serialized in the shard JSONL. */
1029
- interface ShardNoteSkosTag {
1030
- id: string;
1031
- note_id: string;
1032
- concept_id: string;
1033
- created_at: string;
1034
- }
1035
- /** Provenance edge as serialized in the shard JSONL. */
1036
- interface ShardProvenanceEdge {
1037
- id: string;
1038
- entity_type: string;
1039
- entity_id: string;
1040
- activity: string;
1041
- agent: string;
1042
- started_at: string;
1043
- ended_at: string | null;
1044
- attributes: Record<string, unknown> | null;
1045
- }
1046
- interface ShardArtifactFreshness {
1047
- status: 'fresh' | 'stale' | 'unknown';
1048
- checked_at?: string;
1049
- stale_reason?: string;
1050
- source_hashes?: {
1051
- notes?: string;
1052
- links?: string;
1053
- embeddings?: string;
1054
- embedding_set_members?: string;
1055
- virtual_set_definition?: string;
1056
- parameters?: string;
1057
- };
1058
- }
1059
-
1060
395
  /**
1061
396
  * Field mapper — converts between browser schema and shard (server) schema.
1062
397
  *
@@ -1082,7 +417,7 @@ interface BrowserNoteExport {
1082
417
  deleted_at: Date | string | null;
1083
418
  original_content: string;
1084
419
  revised_content: string | null;
1085
- ai_metadata?: Record<string, unknown> | null;
420
+ ai_metadata?: unknown;
1086
421
  collection_id?: string | null;
1087
422
  attachments?: ShardAttachmentProjection[];
1088
423
  tags: string[];
@@ -1125,7 +460,7 @@ declare function linkFromShard(shard: ShardLink): {
1125
460
  created_at: string;
1126
461
  updated_at: string | null;
1127
462
  deleted_at: string | null;
1128
- metadata: Record<string, unknown> | null;
463
+ metadata: unknown;
1129
464
  };
1130
465
  /** Convert a browser collection to shard format (accepts SQL rows or canonical ISO-string records). */
1131
466
  declare function collectionToShard(collection: {
@@ -2981,19 +2316,19 @@ declare const CaptureKnowledgeInputSchema: z.ZodObject<{
2981
2316
  }, {
2982
2317
  content: string;
2983
2318
  title?: string | undefined;
2984
- format?: "markdown" | "plain" | "html" | undefined;
2985
2319
  tags?: string[] | undefined;
2320
+ format?: "markdown" | "plain" | "html" | undefined;
2986
2321
  }>, "many">>;
2987
2322
  template: z.ZodOptional<z.ZodString>;
2988
2323
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2989
2324
  }, "strip", z.ZodTypeAny, {
2990
2325
  source: string;
2991
2326
  format: "markdown" | "plain" | "html";
2992
- visibility: "private" | "shared" | "public";
2327
+ visibility: "private" | "public" | "shared";
2993
2328
  action: "create" | "bulk_create" | "from_template";
2994
2329
  title?: string | undefined;
2995
- archive_id?: string | undefined;
2996
2330
  tags?: string[] | undefined;
2331
+ archive_id?: string | undefined;
2997
2332
  content?: string | undefined;
2998
2333
  notes?: {
2999
2334
  format: "markdown" | "plain" | "html";
@@ -3007,16 +2342,16 @@ declare const CaptureKnowledgeInputSchema: z.ZodObject<{
3007
2342
  action: "create" | "bulk_create" | "from_template";
3008
2343
  source?: string | undefined;
3009
2344
  title?: string | undefined;
3010
- archive_id?: string | undefined;
3011
- format?: "markdown" | "plain" | "html" | undefined;
3012
- visibility?: "private" | "shared" | "public" | undefined;
3013
2345
  tags?: string[] | undefined;
2346
+ format?: "markdown" | "plain" | "html" | undefined;
2347
+ archive_id?: string | undefined;
2348
+ visibility?: "private" | "public" | "shared" | undefined;
3014
2349
  content?: string | undefined;
3015
2350
  notes?: {
3016
2351
  content: string;
3017
2352
  title?: string | undefined;
3018
- format?: "markdown" | "plain" | "html" | undefined;
3019
2353
  tags?: string[] | undefined;
2354
+ format?: "markdown" | "plain" | "html" | undefined;
3020
2355
  }[] | undefined;
3021
2356
  template?: string | undefined;
3022
2357
  variables?: Record<string, string> | undefined;
@@ -3066,14 +2401,14 @@ declare const SearchInputSchema: z.ZodObject<{
3066
2401
  limit: number;
3067
2402
  offset: number;
3068
2403
  include_facets: boolean;
3069
- mode: "auto" | "text" | "semantic" | "hybrid";
2404
+ mode: "text" | "auto" | "semantic" | "hybrid";
3070
2405
  query: string;
3071
2406
  source?: string | undefined;
2407
+ tags?: string[] | undefined;
3072
2408
  format?: "markdown" | "plain" | "html" | undefined;
3073
- visibility?: "private" | "shared" | "public" | undefined;
2409
+ visibility?: "private" | "public" | "shared" | undefined;
3074
2410
  is_starred?: boolean | undefined;
3075
2411
  is_archived?: boolean | undefined;
3076
- tags?: string[] | undefined;
3077
2412
  collection_id?: string | undefined;
3078
2413
  date_from?: Date | undefined;
3079
2414
  date_to?: Date | undefined;
@@ -3082,18 +2417,18 @@ declare const SearchInputSchema: z.ZodObject<{
3082
2417
  }, {
3083
2418
  query: string;
3084
2419
  source?: string | undefined;
2420
+ tags?: string[] | undefined;
3085
2421
  format?: "markdown" | "plain" | "html" | undefined;
3086
- visibility?: "private" | "shared" | "public" | undefined;
2422
+ visibility?: "private" | "public" | "shared" | undefined;
3087
2423
  is_starred?: boolean | undefined;
3088
2424
  is_archived?: boolean | undefined;
3089
- tags?: string[] | undefined;
3090
2425
  limit?: number | undefined;
3091
2426
  offset?: number | undefined;
3092
2427
  collection_id?: string | undefined;
3093
2428
  date_from?: Date | undefined;
3094
2429
  date_to?: Date | undefined;
3095
2430
  include_facets?: boolean | undefined;
3096
- mode?: "auto" | "text" | "semantic" | "hybrid" | undefined;
2431
+ mode?: "text" | "auto" | "semantic" | "hybrid" | undefined;
3097
2432
  embeddingSetId?: string | undefined;
3098
2433
  query_embedding?: number[] | undefined;
3099
2434
  }>;
@@ -3173,20 +2508,20 @@ declare const ListNotesInputSchema: z.ZodObject<{
3173
2508
  collection_id: z.ZodOptional<z.ZodString>;
3174
2509
  include_deleted: z.ZodOptional<z.ZodBoolean>;
3175
2510
  }, "strip", z.ZodTypeAny, {
3176
- sort: "created_at" | "updated_at" | "title";
2511
+ sort: "updated_at" | "title" | "created_at";
3177
2512
  limit: number;
3178
2513
  offset: number;
3179
2514
  order: "asc" | "desc";
2515
+ tags?: string[] | undefined;
3180
2516
  is_starred?: boolean | undefined;
3181
2517
  is_archived?: boolean | undefined;
3182
- tags?: string[] | undefined;
3183
2518
  include_deleted?: boolean | undefined;
3184
2519
  collection_id?: string | undefined;
3185
2520
  }, {
3186
- sort?: "created_at" | "updated_at" | "title" | undefined;
2521
+ tags?: string[] | undefined;
2522
+ sort?: "updated_at" | "title" | "created_at" | undefined;
3187
2523
  is_starred?: boolean | undefined;
3188
2524
  is_archived?: boolean | undefined;
3189
- tags?: string[] | undefined;
3190
2525
  limit?: number | undefined;
3191
2526
  offset?: number | undefined;
3192
2527
  order?: "asc" | "desc" | undefined;
@@ -3229,16 +2564,16 @@ declare const ManageCollectionsInputSchema: z.ZodObject<{
3229
2564
  note_id: z.ZodOptional<z.ZodString>;
3230
2565
  }, "strip", z.ZodTypeAny, {
3231
2566
  action: "create" | "delete" | "list" | "assign" | "unassign" | "list_tree";
2567
+ name?: string | undefined;
3232
2568
  collection_id?: string | undefined;
3233
2569
  note_id?: string | undefined;
3234
- name?: string | undefined;
3235
2570
  description?: string | undefined;
3236
2571
  parent_id?: string | undefined;
3237
2572
  }, {
3238
2573
  action: "create" | "delete" | "list" | "assign" | "unassign" | "list_tree";
2574
+ name?: string | undefined;
3239
2575
  collection_id?: string | undefined;
3240
2576
  note_id?: string | undefined;
3241
- name?: string | undefined;
3242
2577
  description?: string | undefined;
3243
2578
  parent_id?: string | undefined;
3244
2579
  }>;
@@ -4216,6 +3551,7 @@ interface CreateShardCapabilityReportInput {
4216
3551
  backend: ShardBackend;
4217
3552
  operation: ShardOperation;
4218
3553
  requestedProfile: string | null;
3554
+ requestedSchemaVersion?: string | null;
4219
3555
  declaredComponents?: readonly ShardComponent[];
4220
3556
  omittedComponents?: readonly ShardComponent[];
4221
3557
  losses?: readonly ShardLossEntry[];
@@ -4289,6 +3625,12 @@ declare function validateChecksums(checksums: Record<string, string>, files: Map
4289
3625
  failures: string[];
4290
3626
  }>;
4291
3627
 
3628
+ /** Presence semantics for Knowledge Shard schema 2.0 (Fortemi #1083). */
3629
+
3630
+ type ShardPresenceState = 'absent' | 'null' | 'empty' | 'value';
3631
+ type StoredPresenceState = ShardPresenceState | 'legacy-indeterminate';
3632
+ type ShardPresenceMap = Record<string, StoredPresenceState>;
3633
+
4292
3634
  /**
4293
3635
  * Shard export pipeline — query all entities, serialize, pack into .shard archive.
4294
3636
  *
@@ -4343,7 +3685,7 @@ interface ShardSchemaValidationResult {
4343
3685
  errors: string[];
4344
3686
  }
4345
3687
  type ShardFiles = Map<string, Uint8Array>;
4346
- type CoreV1SchemaVersion = '1.0.0' | '1.1.0' | '1.2.0';
3688
+ type CoreV1SchemaVersion = '1.0.0' | '1.1.0' | '1.2.0' | '2.0.0';
4347
3689
  declare function getKnowledgeShardSchema(): unknown;
4348
3690
  declare function getKnowledgeShardContractReceipt(): unknown;
4349
3691
  declare function validateShardManifest(value: unknown): ShardSchemaValidationResult;
@@ -4520,493 +3862,6 @@ declare function getPrefetchedSha256(url: string): string | undefined;
4520
3862
  */
4521
3863
  declare function clearPrefetchedShard(url?: string): void;
4522
3864
 
4523
- type AiwgFortemiRecordType = string;
4524
- type AiwgFortemiRecordSchemaVersion = 'aiwg.fortemi.index.record.v1' | 'aiwg.fortemi.index.record.v2';
4525
- type AiwgFortemiIndexExportSchemaVersion = 'aiwg.fortemi.index.export.v1' | 'aiwg.fortemi.index.export.v2';
4526
- type AiwgPrivacyClassification = 'private' | 'sanitized' | 'public';
4527
- type AiwgProvenanceConfidence = 'source' | 'candidate' | 'reviewed' | 'rejected';
4528
- type AiwgReviewAction = 'accept' | 'reject' | 'defer';
4529
- type AiwgFortemiRelationshipDirection = 'upstream' | 'downstream' | 'related';
4530
- interface AiwgFortemiRecordSource {
4531
- path: string;
4532
- repo_relative_path: string;
4533
- locator: string;
4534
- origin?: string;
4535
- generated?: boolean;
4536
- checksum?: string;
4537
- updated_at?: string;
4538
- }
4539
- interface AiwgFortemiRelationship {
4540
- type: string;
4541
- target_id: string;
4542
- source_path?: string;
4543
- target_path?: string;
4544
- direction?: AiwgFortemiRelationshipDirection;
4545
- label?: string;
4546
- confidence?: number;
4547
- privacy?: AiwgPrivacyClassification;
4548
- metadata?: Record<string, unknown>;
4549
- }
4550
- interface AiwgFortemiProvenance {
4551
- field: string;
4552
- source: string;
4553
- path: string;
4554
- confidence: AiwgProvenanceConfidence;
4555
- privacy: AiwgPrivacyClassification;
4556
- }
4557
- type AiwgFortemiSkosRelationType = 'broader' | 'narrower' | 'related' | string;
4558
- interface AiwgFortemiSkosConcept {
4559
- id: string;
4560
- prefLabel: string;
4561
- definition?: string;
4562
- scheme?: string;
4563
- notation?: string;
4564
- uri?: string;
4565
- altLabels?: string[];
4566
- metadata?: Record<string, unknown>;
4567
- }
4568
- interface AiwgFortemiSkosRelation {
4569
- type: AiwgFortemiSkosRelationType;
4570
- source_id: string;
4571
- target_id: string;
4572
- source_path?: string;
4573
- metadata?: Record<string, unknown>;
4574
- }
4575
- interface AiwgFortemiProvenanceEvent {
4576
- id?: string;
4577
- activity: string;
4578
- agent?: string;
4579
- started_at?: string;
4580
- ended_at?: string;
4581
- source?: string;
4582
- path?: string;
4583
- confidence?: AiwgProvenanceConfidence;
4584
- privacy?: AiwgPrivacyClassification;
4585
- attributes?: Record<string, unknown>;
4586
- }
4587
- interface AiwgFortemiSearchProjection {
4588
- title?: string;
4589
- name?: string;
4590
- summary?: string;
4591
- body?: string;
4592
- triggers?: string[];
4593
- aliases?: string[];
4594
- capability?: string;
4595
- tags?: string[];
4596
- phase?: string;
4597
- type?: string;
4598
- frontmatter?: Record<string, unknown>;
4599
- }
4600
- interface AiwgFortemiChunk {
4601
- id?: string;
4602
- text?: string;
4603
- body?: string;
4604
- summary?: string;
4605
- source_path?: string;
4606
- metadata?: Record<string, unknown>;
4607
- }
4608
- interface AiwgFortemiRecordEmbedding {
4609
- id?: string;
4610
- embedding?: number[];
4611
- vector?: number[];
4612
- model?: string;
4613
- granularity?: string;
4614
- input_hash?: string;
4615
- source_path?: string;
4616
- metadata?: Record<string, unknown>;
4617
- }
4618
- type AiwgFortemiAttachmentReference = ShardAttachmentReference;
4619
- type AiwgFortemiBinarySource = ShardBinarySource;
4620
- interface AiwgFortemiRecord {
4621
- schema_version: AiwgFortemiRecordSchemaVersion;
4622
- id: string;
4623
- type: AiwgFortemiRecordType;
4624
- source: AiwgFortemiRecordSource;
4625
- title?: string;
4626
- text?: string;
4627
- facets: Record<string, string[]>;
4628
- tags: string[];
4629
- concepts: string[];
4630
- relationships: AiwgFortemiRelationship[];
4631
- provenance: AiwgFortemiProvenance[];
4632
- search?: AiwgFortemiSearchProjection;
4633
- chunks?: AiwgFortemiChunk[];
4634
- binary_sources?: AiwgFortemiBinarySource[];
4635
- embeddings?: AiwgFortemiRecordEmbedding[];
4636
- compatibility?: Record<string, unknown>;
4637
- /** Optional rich SKOS metadata for static consumers that need labels/definitions without opening a shard. */
4638
- skos_concepts?: AiwgFortemiSkosConcept[];
4639
- /** Optional SKOS relationship edges among concepts referenced by this record. */
4640
- skos_relations?: AiwgFortemiSkosRelation[];
4641
- /** Optional W3C PROV-style activity chain for this record. */
4642
- provenance_events?: AiwgFortemiProvenanceEvent[];
4643
- privacy: {
4644
- classification: AiwgPrivacyClassification;
4645
- pii: boolean;
4646
- locality?: string;
4647
- };
4648
- updated_at: string;
4649
- }
4650
- interface AiwgFortemiIndexExport {
4651
- schema_version: AiwgFortemiIndexExportSchemaVersion;
4652
- generated_at: string;
4653
- source: {
4654
- repo: string;
4655
- privacy: AiwgPrivacyClassification;
4656
- graph?: string;
4657
- };
4658
- items: AiwgFortemiRecord[];
4659
- compatibility?: {
4660
- previous_schema_version: 'aiwg.fortemi.index.export.v1';
4661
- strategy: 'supported';
4662
- };
4663
- }
4664
- interface AiwgFortemiChunkPartRef {
4665
- href: string;
4666
- offset: number;
4667
- count: number;
4668
- }
4669
- declare const AIWG_SCAN_REQUIRED_FIELDS: Array<keyof AiwgFortemiRecord>;
4670
- type AiwgFortemiProjectedRecord = Pick<AiwgFortemiRecord, 'schema_version' | 'id' | 'type' | 'title' | 'text' | 'facets' | 'tags' | 'concepts' | 'privacy'> & Partial<AiwgFortemiRecord>;
4671
- type AiwgDetailIdEncoding = 'uri' | 'base64url';
4672
- interface AiwgFortemiChunkDetailRef {
4673
- href: string;
4674
- encoding?: AiwgDetailIdEncoding;
4675
- }
4676
- interface AiwgFortemiChunkManifest {
4677
- schema_version: 'aiwg.fortemi.index.chunk-manifest.v1';
4678
- generated_at: string;
4679
- source: AiwgFortemiIndexExport['source'];
4680
- source_export_schema_version?: AiwgFortemiIndexExportSchemaVersion;
4681
- total: number;
4682
- part_size: number;
4683
- facets?: Record<string, Record<string, number>>;
4684
- projection?: Array<keyof AiwgFortemiRecord>;
4685
- detail?: AiwgFortemiChunkDetailRef;
4686
- parts: AiwgFortemiChunkPartRef[];
4687
- }
4688
- interface AiwgFortemiChunkPart {
4689
- schema_version: 'aiwg.fortemi.index.chunk.v1';
4690
- manifest_schema_version: 'aiwg.fortemi.index.chunk-manifest.v1';
4691
- offset: number;
4692
- items: AiwgFortemiRecord[];
4693
- }
4694
- interface AiwgIndexValidationResult {
4695
- valid: boolean;
4696
- errors: string[];
4697
- counts: Partial<Record<string, number>>;
4698
- }
4699
- interface AiwgKnowledgeShardOptions {
4700
- createdAt?: string;
4701
- matricVersion?: string;
4702
- /**
4703
- * Reserved for a future full-v1 converter. Passing true currently fails
4704
- * closed because a partial rich-component inventory is not a valid profile.
4705
- */
4706
- includeNativeRichComponents?: boolean;
4707
- }
4708
- interface AiwgChunkedIndexValidationResult {
4709
- valid: boolean;
4710
- errors: string[];
4711
- }
4712
- interface AiwgIndexQueryOptions {
4713
- types?: AiwgFortemiRecordType[];
4714
- facets?: Record<string, string[]>;
4715
- tags?: string[];
4716
- concepts?: string[];
4717
- privacy?: AiwgPrivacyClassification[];
4718
- relationshipTargetId?: string;
4719
- limit?: number;
4720
- offset?: number;
4721
- rank?: boolean;
4722
- snippets?: boolean;
4723
- snippetLength?: number;
4724
- weights?: Partial<AiwgIndexQueryWeights>;
4725
- includeMatches?: boolean;
4726
- searchProfile?: 'default' | 'aiwg-discovery';
4727
- }
4728
- interface AiwgIndexQueryWeights {
4729
- title: number;
4730
- text: number;
4731
- tag: number;
4732
- concept: number;
4733
- facet: number;
4734
- id: number;
4735
- source: number;
4736
- }
4737
- interface AiwgIndexQueryMatch {
4738
- field: 'title' | 'text' | 'tag' | 'concept' | 'facet' | 'id' | 'source';
4739
- value: string;
4740
- score?: number;
4741
- reason?: string;
4742
- }
4743
- interface AiwgIndexQueryRankedItem {
4744
- item: AiwgFortemiRecord;
4745
- rank: number;
4746
- snippet?: string;
4747
- matches?: AiwgIndexQueryMatch[];
4748
- }
4749
- interface AiwgIndexQueryResult {
4750
- items: AiwgFortemiRecord[];
4751
- total: number;
4752
- facets: Record<string, Record<string, number>>;
4753
- rankedItems?: AiwgIndexQueryRankedItem[];
4754
- }
4755
- type AiwgChunkedIndexLoader = (part: AiwgFortemiChunkPartRef, manifest: AiwgFortemiChunkManifest) => Promise<unknown>;
4756
- type AiwgChunkedIndexDetailLoader = (id: string, manifest: AiwgFortemiChunkManifest) => Promise<unknown>;
4757
- interface AiwgChunkedIndexLoadOptions {
4758
- maxCachedParts?: number;
4759
- detailLoader?: AiwgChunkedIndexDetailLoader;
4760
- maxCachedDetails?: number;
4761
- maxCachedMatches?: number;
4762
- }
4763
- type AiwgChunkedIndexProgressPhase = 'part' | 'query';
4764
- interface AiwgChunkedIndexProgress {
4765
- phase: AiwgChunkedIndexProgressPhase;
4766
- done: number;
4767
- total: number;
4768
- href?: string;
4769
- }
4770
- interface AiwgChunkedIndexQueryOptions extends AiwgIndexQueryOptions {
4771
- onProgress?: (progress: AiwgChunkedIndexProgress) => void;
4772
- }
4773
- interface AiwgChunkedIndexQueryResult extends AiwgIndexQueryResult {
4774
- manifestTotal: number;
4775
- scannedParts: number;
4776
- fetchedParts: number;
4777
- complete: boolean;
4778
- }
4779
- interface AiwgReviewDecision {
4780
- item_id: string;
4781
- action: AiwgReviewAction;
4782
- reason?: string;
4783
- updated_at: string;
4784
- }
4785
- interface AiwgReviewDecisionExport {
4786
- schema_version: 'aiwg.fortemi.review-decisions.v1';
4787
- generated_at: string;
4788
- source_export_schema_version: AiwgFortemiIndexExportSchemaVersion;
4789
- decisions: AiwgReviewDecision[];
4790
- }
4791
- interface AiwgIndexGraphOptions {
4792
- communityFacet?: string;
4793
- communityTagPrefix?: string;
4794
- relationshipWeights?: Record<string, number>;
4795
- includeDanglingRelationships?: boolean;
4796
- }
4797
- type AiwgRelationshipDirection = 'in' | 'out' | 'both';
4798
- type AiwgRelationshipSetOperation = 'intersection' | 'union' | 'difference';
4799
- interface AiwgRelationshipTraversalOptions {
4800
- direction?: AiwgRelationshipDirection;
4801
- relationshipType?: string;
4802
- relationshipDirection?: AiwgFortemiRelationshipDirection;
4803
- limit?: number;
4804
- }
4805
- interface AiwgRelationshipQueryOptions extends AiwgRelationshipTraversalOptions {
4806
- sourceId?: string;
4807
- targetId?: string;
4808
- endpointId?: string;
4809
- type?: string;
4810
- }
4811
- interface AiwgRelationshipEdgeSummary {
4812
- source_id: string;
4813
- target_id: string;
4814
- type: string;
4815
- source_path?: string;
4816
- target_path?: string;
4817
- direction?: AiwgFortemiRelationshipDirection;
4818
- }
4819
- interface AiwgRelationshipNodeSummary {
4820
- id: string;
4821
- type: AiwgFortemiRecordType;
4822
- title: string;
4823
- }
4824
- interface AiwgRelationshipTraversalResult {
4825
- nodes: AiwgRelationshipNodeSummary[];
4826
- edges: AiwgRelationshipEdgeSummary[];
4827
- complete: boolean;
4828
- scannedParts?: number;
4829
- fetchedParts?: number;
4830
- }
4831
- interface AiwgRelationshipSetOptions extends AiwgRelationshipTraversalOptions {
4832
- op: AiwgRelationshipSetOperation;
4833
- a: string;
4834
- b: string;
4835
- }
4836
- interface AiwgRelationshipSetResult {
4837
- ids: string[];
4838
- op: AiwgRelationshipSetOperation;
4839
- }
4840
- interface AiwgStaticEmbeddingRecord {
4841
- record_id: string;
4842
- embedding: number[];
4843
- embedding_id?: string;
4844
- granularity?: string;
4845
- input_hash: string;
4846
- source_path?: string;
4847
- }
4848
- interface AiwgStaticEmbeddingSet {
4849
- schema_version: 'aiwg.fortemi.embedding.set.v1';
4850
- id: string;
4851
- model: string;
4852
- dimensions: number;
4853
- generated_at: string;
4854
- granularity: 'title-summary' | 'body' | 'chunked-body' | string;
4855
- metric?: 'cosine' | 'dot' | 'euclidean';
4856
- input_hash_algorithm?: string;
4857
- embeddings: AiwgStaticEmbeddingRecord[];
4858
- }
4859
- interface AiwgHeadlessEmbeddingBackend {
4860
- model: string;
4861
- dimensions: number;
4862
- embed(input: string, record: AiwgFortemiRecord): number[] | Promise<number[]>;
4863
- }
4864
- interface AiwgPrivacyFilterOptions {
4865
- /** Include records classified `private` (default false). */
4866
- includePrivate?: boolean;
4867
- /** Include records flagged `pii` (default false). */
4868
- includePii?: boolean;
4869
- }
4870
- /** Drop `private`/`pii` records unless explicitly opted in (SEC6, default-safe). */
4871
- declare function filterAiwgRecordsByPrivacy(records: AiwgFortemiRecord[], options?: AiwgPrivacyFilterOptions): AiwgFortemiRecord[];
4872
- interface BuildAiwgStaticEmbeddingSetOptions {
4873
- id: string;
4874
- backend: AiwgHeadlessEmbeddingBackend;
4875
- records?: AiwgFortemiRecord[];
4876
- generatedAt?: string | Date;
4877
- granularity?: AiwgStaticEmbeddingSet['granularity'];
4878
- metric?: AiwgStaticEmbeddingSet['metric'];
4879
- textForRecord?: (record: AiwgFortemiRecord) => string;
4880
- /** Privacy filtering (SEC6). Default-safe: excludes `private`/`pii` records. */
4881
- privacy?: AiwgPrivacyFilterOptions;
4882
- }
4883
- interface AiwgStaticSemanticQueryOptions {
4884
- limit?: number;
4885
- offset?: number;
4886
- minScore?: number;
4887
- }
4888
- interface AiwgStaticSemanticResult {
4889
- item: AiwgFortemiRecord;
4890
- score: number;
4891
- embedding?: AiwgStaticEmbeddingRecord;
4892
- }
4893
- interface AiwgStaticHybridQueryOptions extends AiwgStaticSemanticQueryOptions, AiwgIndexQueryOptions {
4894
- lexicalWeight?: number;
4895
- semanticWeight?: number;
4896
- }
4897
- interface AiwgStaticDuplicatePair {
4898
- left: AiwgFortemiRecord;
4899
- right: AiwgFortemiRecord;
4900
- score: number;
4901
- }
4902
- interface AiwgReviewInput {
4903
- item_id: string;
4904
- action: AiwgReviewAction;
4905
- reason?: string;
4906
- }
4907
- interface AiwgIndexControllerSnapshot {
4908
- index: AiwgFortemiIndexExport | null;
4909
- chunked: {
4910
- manifest: AiwgFortemiChunkManifest;
4911
- cachedParts: number;
4912
- maxCachedParts: number;
4913
- } | null;
4914
- data: AiwgIndexQueryResult | null;
4915
- error: Error | null;
4916
- reviewDecisions: AiwgReviewDecision[];
4917
- }
4918
- type AiwgIndexControllerListener = (snapshot: AiwgIndexControllerSnapshot) => void;
4919
- interface AiwgIndexController {
4920
- loadIndex(value: unknown): AiwgFortemiIndexExport;
4921
- loadChunkedIndex(manifest: unknown, loader: AiwgChunkedIndexLoader, options?: AiwgChunkedIndexLoadOptions): AiwgFortemiChunkManifest;
4922
- getIndex(): AiwgFortemiIndexExport | null;
4923
- getChunkedManifest(): AiwgFortemiChunkManifest | null;
4924
- getSnapshot(): AiwgIndexControllerSnapshot;
4925
- query(query?: string, options?: AiwgIndexQueryOptions): AiwgIndexQueryResult;
4926
- queryChunked(query?: string, options?: AiwgChunkedIndexQueryOptions): Promise<AiwgChunkedIndexQueryResult>;
4927
- getRecord(id: string): Promise<AiwgFortemiRecord>;
4928
- neighbors(id: string, options?: AiwgRelationshipTraversalOptions): Promise<AiwgRelationshipTraversalResult>;
4929
- relationshipQuery(options?: AiwgRelationshipQueryOptions): Promise<AiwgRelationshipTraversalResult>;
4930
- relationshipSet(options: AiwgRelationshipSetOptions): Promise<AiwgRelationshipSetResult>;
4931
- clearChunkCache(): void;
4932
- toCommunityGraph(options?: AiwgIndexGraphOptions): ReturnType<typeof aiwgFortemiIndexToCommunityGraph>;
4933
- toCommunityGraphChunked(options?: AiwgIndexGraphOptions & {
4934
- onProgress?: (progress: AiwgChunkedIndexProgress) => void;
4935
- }): Promise<ReturnType<typeof aiwgFortemiIndexToCommunityGraph>>;
4936
- setReviewDecision(input: AiwgReviewInput): AiwgReviewDecision;
4937
- clearReviewDecision(itemId: string): void;
4938
- createReviewDecisionExport(generatedAt?: string): AiwgReviewDecisionExport;
4939
- subscribe(listener: AiwgIndexControllerListener): () => void;
4940
- }
4941
- declare function validateAiwgFortemiIndexExport(value: unknown): AiwgIndexValidationResult;
4942
- declare function assertAiwgFortemiIndexExport(value: unknown): AiwgFortemiIndexExport;
4943
- declare function validateAiwgFortemiChunkManifest(value: unknown): AiwgChunkedIndexValidationResult;
4944
- declare function assertAiwgFortemiChunkManifest(value: unknown): AiwgFortemiChunkManifest;
4945
- declare function validateAiwgFortemiChunkPart(value: unknown, partRef?: AiwgFortemiChunkPartRef, manifest?: AiwgFortemiChunkManifest): AiwgChunkedIndexValidationResult;
4946
- declare function assertAiwgFortemiChunkPart(value: unknown, partRef?: AiwgFortemiChunkPartRef, manifest?: AiwgFortemiChunkManifest): AiwgFortemiChunkPart;
4947
- declare function createAiwgFetchChunkLoader(baseUrl?: string | URL): AiwgChunkedIndexLoader;
4948
- declare function createAiwgFetchDetailLoader(baseUrl?: string | URL): AiwgChunkedIndexDetailLoader;
4949
- declare function getAiwgFortemiFacets(items: AiwgFortemiRecord[]): Record<string, Record<string, number>>;
4950
- declare function buildAiwgStaticEmbeddingSet(index: AiwgFortemiIndexExport, options: BuildAiwgStaticEmbeddingSetOptions): Promise<AiwgStaticEmbeddingSet>;
4951
- interface AiwgChunkedIndexBuildOptions {
4952
- partSize?: number;
4953
- projection?: Array<keyof AiwgFortemiRecord>;
4954
- detailHref?: string;
4955
- idEncoding?: AiwgDetailIdEncoding;
4956
- generatedAt?: string;
4957
- /** Privacy filtering (SEC6). Default-safe: excludes `private`/`pii` records. */
4958
- privacy?: AiwgPrivacyFilterOptions;
4959
- }
4960
- interface AiwgChunkedIndexBuildResult {
4961
- manifest: AiwgFortemiChunkManifest;
4962
- parts: Array<{
4963
- href: string;
4964
- part: AiwgFortemiChunkPart;
4965
- }>;
4966
- details: Array<{
4967
- id: string;
4968
- href: string;
4969
- record: AiwgFortemiRecord;
4970
- }>;
4971
- }
4972
- declare function buildAiwgChunkedIndex(index: AiwgFortemiIndexExport, options?: AiwgChunkedIndexBuildOptions): AiwgChunkedIndexBuildResult;
4973
- declare function queryAiwgFortemiIndex(index: AiwgFortemiIndexExport, query?: string, options?: AiwgIndexQueryOptions): AiwgIndexQueryResult;
4974
- declare function validateAiwgStaticEmbeddingSet(value: unknown): AiwgChunkedIndexValidationResult;
4975
- declare function assertAiwgStaticEmbeddingSet(value: unknown): AiwgStaticEmbeddingSet;
4976
- declare function queryAiwgSemanticIndex(index: AiwgFortemiIndexExport, embeddingSet: AiwgStaticEmbeddingSet, queryEmbedding: number[], options?: AiwgStaticSemanticQueryOptions): AiwgStaticSemanticResult[];
4977
- declare function queryAiwgHybridIndex(index: AiwgFortemiIndexExport, embeddingSet: AiwgStaticEmbeddingSet, query: string, queryEmbedding: number[], options?: AiwgStaticHybridQueryOptions): AiwgStaticSemanticResult[];
4978
- declare function findAiwgStaticDuplicatePairs(index: AiwgFortemiIndexExport, embeddingSet: AiwgStaticEmbeddingSet, threshold?: number, options?: {
4979
- maxEmbeddings?: number;
4980
- }): AiwgStaticDuplicatePair[];
4981
- declare function createAiwgReviewDecisionExport(source: Pick<AiwgFortemiIndexExport, 'schema_version'>, decisions: AiwgReviewDecision[], generatedAt?: string): AiwgReviewDecisionExport;
4982
- declare function createAiwgIndexController(initialIndex?: AiwgFortemiIndexExport): AiwgIndexController;
4983
- declare function aiwgFortemiIndexToCommunityGraph(index: AiwgFortemiIndexExport, options?: AiwgIndexGraphOptions): {
4984
- nodes: {
4985
- id: string;
4986
- }[];
4987
- edges: {
4988
- source: string;
4989
- target: string;
4990
- kind: string;
4991
- weight: number;
4992
- }[];
4993
- communities: {
4994
- id: string;
4995
- nodes: string[];
4996
- }[];
4997
- };
4998
- /**
4999
- * Convert the static AIWG/Fortemi v2 index contract into a portable Knowledge
5000
- * Shard. Every note retains the complete source envelope and record in metadata,
5001
- * so the native note/link/SKOS/provenance projections are reversible.
5002
- */
5003
- declare function aiwgFortemiIndexToKnowledgeShard(index: AiwgFortemiIndexExport, options?: AiwgKnowledgeShardOptions): Promise<Uint8Array>;
5004
- /**
5005
- * Recover the exact AIWG index envelope and records embedded by
5006
- * {@link aiwgFortemiIndexToKnowledgeShard}.
5007
- */
5008
- declare function aiwgFortemiIndexFromKnowledgeShard(bytes: Uint8Array): AiwgFortemiIndexExport;
5009
-
5010
3865
  /**
5011
3866
  * Canonical RecordStore contract — the writable structured-record layer that
5012
3867
  * exists independently of PGlite (#323, ADR-013 D3).
@@ -5016,7 +3871,12 @@ declare function aiwgFortemiIndexFromKnowledgeShard(bytes: Uint8Array): AiwgFort
5016
3871
  * replay of the change journal — rebuildable at any time without touching
5017
3872
  * canonical records or attachment bytes.
5018
3873
  */
5019
- interface NoteRecord0 {
3874
+
3875
+ interface PresenceTrackedRecord {
3876
+ /** Internal schema-2.0 state; never serialized as a shard component field. */
3877
+ __fortemi_presence?: ShardPresenceMap;
3878
+ }
3879
+ interface NoteRecord0 extends PresenceTrackedRecord {
5020
3880
  id: string;
5021
3881
  archive_id: string | null;
5022
3882
  title: string | null;
@@ -5031,14 +3891,14 @@ interface NoteRecord0 {
5031
3891
  updated_at: string;
5032
3892
  deleted_at: string | null;
5033
3893
  }
5034
- interface NoteOriginalRecord {
3894
+ interface NoteOriginalRecord extends PresenceTrackedRecord {
5035
3895
  id: string;
5036
3896
  note_id: string;
5037
3897
  content: string;
5038
3898
  content_hash: string;
5039
3899
  created_at: string;
5040
3900
  }
5041
- interface NoteRevisedCurrentRecord {
3901
+ interface NoteRevisedCurrentRecord extends PresenceTrackedRecord {
5042
3902
  /** Keyed by note id (mirrors the SQL PK `note_id`). */
5043
3903
  id: string;
5044
3904
  content: string | null;
@@ -5048,21 +3908,23 @@ interface NoteRevisedCurrentRecord {
5048
3908
  is_user_edited: boolean;
5049
3909
  updated_at: string;
5050
3910
  }
5051
- interface NoteTagRecord {
3911
+ interface NoteTagRecord extends PresenceTrackedRecord {
5052
3912
  id: string;
5053
3913
  note_id: string;
5054
3914
  tag: string;
5055
3915
  created_at: string;
5056
3916
  }
5057
- interface LinkRecord0 {
3917
+ interface LinkRecord0 extends PresenceTrackedRecord {
5058
3918
  id: string;
5059
3919
  source_note_id: string;
5060
3920
  target_note_id: string;
5061
3921
  link_type: string;
5062
3922
  created_at: string;
5063
3923
  deleted_at: string | null;
3924
+ /** Exact record-v1 shard metadata; internal projection state, not a domain field. */
3925
+ __fortemi_shard_metadata?: unknown;
5064
3926
  }
5065
- interface CollectionRecord {
3927
+ interface CollectionRecord extends PresenceTrackedRecord {
5066
3928
  id: string;
5067
3929
  name: string;
5068
3930
  description: string | null;
@@ -5072,13 +3934,13 @@ interface CollectionRecord {
5072
3934
  updated_at: string;
5073
3935
  deleted_at: string | null;
5074
3936
  }
5075
- interface CollectionNoteRecord {
3937
+ interface CollectionNoteRecord extends PresenceTrackedRecord {
5076
3938
  id: string;
5077
3939
  collection_id: string;
5078
3940
  note_id: string;
5079
3941
  created_at: string;
5080
3942
  }
5081
- interface AttachmentRecord {
3943
+ interface AttachmentRecord extends PresenceTrackedRecord {
5082
3944
  id: string;
5083
3945
  note_id: string;
5084
3946
  blob_id: string;
@@ -5090,13 +3952,21 @@ interface AttachmentRecord {
5090
3952
  position: number;
5091
3953
  created_at: string;
5092
3954
  deleted_at: string | null;
3955
+ /** Exact record-v1 extraction projection state. */
3956
+ __fortemi_extraction_status?: 'extracted' | 'pending' | 'failed' | 'blocked' | 'deferred';
3957
+ __fortemi_extraction_reason?: unknown;
3958
+ __fortemi_projection_presence?: ShardPresenceMap;
5093
3959
  }
5094
- interface AttachmentBlobRecord {
3960
+ interface AttachmentBlobRecord extends PresenceTrackedRecord {
5095
3961
  id: string;
5096
3962
  content_hash: string;
5097
3963
  size_bytes: number;
5098
3964
  created_at: string;
5099
3965
  }
3966
+ interface ShardManifestRecord extends PresenceTrackedRecord {
3967
+ id: string;
3968
+ manifest: Record<string, unknown>;
3969
+ }
5100
3970
  /** Collection name → record type. The store is generic over this map. */
5101
3971
  interface RecordCollections {
5102
3972
  note: NoteRecord0;
@@ -5108,6 +3978,7 @@ interface RecordCollections {
5108
3978
  collection_note: CollectionNoteRecord;
5109
3979
  attachment: AttachmentRecord;
5110
3980
  attachment_blob: AttachmentBlobRecord;
3981
+ shard_manifest: ShardManifestRecord;
5111
3982
  }
5112
3983
  type RecordCollectionName = keyof RecordCollections;
5113
3984
  declare const RECORD_COLLECTIONS: readonly RecordCollectionName[];
@@ -5522,6 +4393,6 @@ declare function importShardToRecords(store: RecordStore, data: Uint8Array | Arr
5522
4393
  * @created 2026-07-17
5523
4394
  * @agent Codex
5524
4395
  */
5525
- declare const VERSION = "2026.7.11";
4396
+ declare const VERSION = "2026.7.13";
5526
4397
 
5527
- export { AIWG_SCAN_REQUIRED_FIELDS, type AiwgChunkedIndexBuildOptions, type AiwgChunkedIndexBuildResult, type AiwgChunkedIndexDetailLoader, type AiwgChunkedIndexLoadOptions, type AiwgChunkedIndexLoader, type AiwgChunkedIndexProgress, type AiwgChunkedIndexProgressPhase, type AiwgChunkedIndexQueryOptions, type AiwgChunkedIndexQueryResult, type AiwgChunkedIndexValidationResult, type AiwgFortemiAttachmentReference, type AiwgFortemiBinarySource, type AiwgFortemiChunk, type AiwgFortemiChunkDetailRef, type AiwgFortemiChunkManifest, type AiwgFortemiChunkPart, type AiwgFortemiChunkPartRef, type AiwgFortemiIndexExport, type AiwgFortemiIndexExportSchemaVersion, type AiwgFortemiProjectedRecord, type AiwgFortemiProvenance, type AiwgFortemiProvenanceEvent, type AiwgFortemiRecord, type AiwgFortemiRecordEmbedding, type AiwgFortemiRecordSchemaVersion, type AiwgFortemiRecordSource, type AiwgFortemiRecordType, type AiwgFortemiRelationship, type AiwgFortemiRelationshipDirection, type AiwgFortemiSearchProjection, type AiwgFortemiSkosConcept, type AiwgFortemiSkosRelation, type AiwgFortemiSkosRelationType, type AiwgHeadlessEmbeddingBackend, type AiwgIndexController, type AiwgIndexControllerListener, type AiwgIndexControllerSnapshot, type AiwgIndexGraphOptions, type AiwgIndexQueryMatch, type AiwgIndexQueryOptions, type AiwgIndexQueryRankedItem, type AiwgIndexQueryResult, type AiwgIndexQueryWeights, type AiwgIndexValidationResult, type AiwgKnowledgeShardOptions, type AiwgPrivacyClassification, type AiwgPrivacyFilterOptions, type AiwgProvenanceConfidence, type AiwgRelationshipDirection, type AiwgRelationshipEdgeSummary, type AiwgRelationshipNodeSummary, type AiwgRelationshipQueryOptions, type AiwgRelationshipSetOperation, type AiwgRelationshipSetOptions, type AiwgRelationshipSetResult, type AiwgRelationshipTraversalOptions, type AiwgRelationshipTraversalResult, type AiwgReviewAction, type AiwgReviewDecision, type AiwgReviewDecisionExport, type AiwgReviewInput, type AiwgStaticDuplicatePair, type AiwgStaticEmbeddingRecord, type AiwgStaticEmbeddingSet, type AiwgStaticHybridQueryOptions, type AiwgStaticSemanticQueryOptions, type AiwgStaticSemanticResult, AllowlistTrustStore, type ArchiveInfo, ArchiveManager, type AttachInput, type AttachmentBlobRecord, type AttachmentBlobRow, type AttachmentProjectionResult, type AttachmentRecord, type AttachmentRow, AttachmentsRepository, type BackendCandidate, type BackendCapabilities, type BackendConcept, type BackendLink, type BackendListOptions, type BackendNote, type BackendNoteFull, type BackendProvenanceEdge, type BackendRequest, type BackendSearchHit, type BackendSearchQueryOptions, type BackendSearchResult, type BackendSelection, type BackendSemanticTier, type BackendStartupCost, type BlobBackendKind, type BlobGcOptions, type BlobGcResult, type BlobReconcileOptions, type BlobReconcileResult, type BlobStore, type BlobStoreDiagnostics, type BridgeCapability, type BridgeProviderInfo, type BrowserNoteExport, type BuildAiwgStaticEmbeddingSetOptions, CORE_V1_COMPONENTS, CURRENT_MIGRATION_HEAD, CURRENT_SHARD_VERSION, type CanonicalAttachInput, CanonicalAttachmentsRepository, type CanonicalNoteCreateInput, type CanonicalNoteUpdateInput, type CanonicalNoteView, CanonicalNotesRepository, type CapabilityInfo, CapabilityManager, type CapabilityName, type CapabilityState, type CaptureKnowledgeInput, CaptureKnowledgeInputSchema, type CaptureKnowledgeResult, type CollectionCreateInput, type CollectionNoteRecord, type CollectionRecord, type CollectionRow, CollectionsRepository, CommunitiesRepository, type CommunityAssignmentView, type CommunityCreateInput, type CommunityFilterDefinition, type CommunityGraph, type CommunityOptions, type CommunitySourceDescriptor, type CommunitySourceType, type CommunitySummary, type CompletionRequest, type CompletionResponse, type ConditionResult, type ConflictStrategy, type CooldownConfig, type CooldownEvent, type CosineSemanticProviderOptions, type CreateBlobStoreOptions, type CreatePGliteOptions, type CreateRecordStoreOptions, type CspDirectiveName, type CspDirectives, type CspViolationReport, DB_SNAPSHOT_SCHEMA_VERSION, type DataBackend, type DatabaseClient, type DbSnapshot, type DbSnapshotCompat, type DbSnapshotCompression, type DbSnapshotExpectations, type DbSnapshotMeta, type DbSnapshotSource, DbSnapshotVersionError, type DiscoveredProvider, type DiscoveryOptions, type DumpDbSnapshotOptions, type DumpableDb, EMBED_REQUEST_KIND, EMBED_RESPONSE_KIND, type EmbedFunction, type EmbedRequest, type EmbedRequestMessage, type EmbedResponse, type EmbedResponseMessage, type EmbedTransportPort, type EmbedWorkerOptions, type EmbeddingCompatibilityPolicy, type EmbeddingSetCreateInput, type EmbeddingSetCriteria, type EmbeddingSetDescriptor, type EmbeddingSetEmbeddingInput, type EmbeddingSetFreshness, type EmbeddingSetKind, type EmbeddingSetMode, type EmbeddingSetRow, type EmbeddingSetSelector, EmbeddingSetsRepository, type EnqueueJobInput, type ErrorCategory, type EventMap, type ExportOptions, FORTEMI_COMPATIBILITY_PATH, FORTEMI_COMPATIBILITY_STATES, FORTEMI_REQUIRED_COMPATIBILITY_CAPABILITIES, type FallbackEvent, FallbackRouter, type FallbackRouterConfig, type FetchFortemiCompatibilityOptions, type FortemiBridge, type FortemiBridgeCapabilities, type FortemiBridgeHost, type FortemiCompatibilityCapability, type FortemiCompatibilityResponse, type FortemiCompatibilityState, type FortemiCompatibilityValidationResult, type FortemiConfig, type FortemiCore, type FortemiInferenceRouter, type FortemiRequiredCompatibilityCapability, type FortemiSecretStore, type FortemiToolDefinition, FortemiToolManifest, type GetNoteInput, GetNoteInputSchema, type GpuCapabilities, type GraphCommunity, type GraphEdge, type GraphNode, GraphRepository, type IDisposable, IdbRecordStore, type ImportCounts, type ImportOptions, type ImportProgress, type ImportProgressPhase, type ImportResult, type InferenceCapabilities, type InferenceProvider, JOB_CAPABILITIES, JOB_PRIORITIES, type JobQueueOptions, JobQueueWorker, type JobStatus, type JobType, type JournalEntry, type KnowledgeShardProfile, LOCAL_ENDPOINTS, type LegacyMigrationReport, type LinkRecord0, type LinkRow, LinksRepository, type ListNotesInput, ListNotesInputSchema, type LlmCapabilityOptions, type LlmCompleteFn, type LoadedPluginScript, type LocalEndpoint, type ManageArchiveInput, ManageArchiveInputSchema, type ManageArchiveResult, type ManageAttachmentsInput, ManageAttachmentsInputSchema, type ManageAttachmentsResult, type ManageCapabilitiesInput, ManageCapabilitiesInputSchema, type ManageCapabilitiesResult, type ManageCollectionsInput, ManageCollectionsInputSchema, type ManageCollectionsResult, type ManageLinksInput, ManageLinksInputSchema, type ManageLinksResult, type ManageNoteInput, ManageNoteInputSchema, type ManageNoteResult, type ManageTagsInput, ManageTagsInputSchema, type ManageTagsResult, MemoryBlobStore, MemoryRecordStore, type Migration, MigrationRunner, type ModelCategory, type ModelFitResult, type ModelInfo, type NoteCreateInput, type NoteFull, type NoteListOptions, type NoteOriginalRecord, type NoteProjectionResult, type NoteRecord0, type NoteRevisedCurrentRecord, type NoteRevision, type NoteSkosTag, type NoteSummary, type NoteTagRecord, type NoteUpdateInput, NotesRepository, OpenAICompatibleProvider, type OpenAIProviderConfig, type OpenShardOptions, type PGliteBackendOptions, PGliteStorageBackend, PGliteStorageBackendFactory, PGliteWorkerClient, PGliteWorkerStorageBackend, PGliteWorkerStorageBackendFactory, type PGliteWorkerStorageBackendFactoryOptions, type PaginatedResult, type PersistenceMode, type PluginCspOptions, type PluginScriptDescriptor, type PluginScriptPolicy, type PrefetchOptions, type PrefetchResult, type ProbeResult, type ProbeStatus, type ProvenanceEdge, ProvenanceRepository, type ProviderCapabilities, ProviderRegistry, type ProviderTier, type QueryExecutor, type QueryResult, RECORD_COLLECTIONS, RECORD_SCHEMA_VERSION, RECORD_STORE_CAPABILITIES, type RecommendedTier, type RecordBackendManageNoteResult, type RecordBackendOptions, type RecordCollectionName, type RecordCollections, type RecordListOptions, type RecordMutation, type RecordProjectionResult, type RecordProvenanceInput, type RecordStore, type RecordStoreCapabilities, type RemoteBackendConfig, type RemoteBackendPaths, type ResolvedEmbeddingRow, type ResolvedEmbeddingSet, type RestoreDbSnapshotOptions, type RouteHandler, SHARD_FORMAT, SIGNATURE_ENTRY, SIGNING_ENVELOPE_VERSION, SUPPORTED_PGLITE_VERSION, type SWRegistrationResult, type SearchFacets, type SearchInput, SearchInputSchema, type SearchOptions, SearchRepository, type SearchResponse, type SearchResult, type ShardAuthorityStatus, type ShardBackend, type ShardBackendOptions, type ShardCapabilityReport, type ShardClusterRef, type ShardCollection, type ShardComponent, type ShardComponentStore, type ShardEmbedding, type ShardEmbeddingConfig, type ShardEmbeddingSet, type ShardEmbeddingSetMember, type ShardExportResult, type ShardLayout, type ShardLink, type ShardListOptions, type ShardLossEntry, type ShardManifest, type ShardNote, type ShardNoteFull, type ShardNoteSkosTag, type ShardOperation, type ShardProfileRegistryEntry, type ShardProvenanceEdge, type ShardReader, type ShardReaderNote, type ShardReaderSource, type ShardSchemaValidationResult, type ShardSearchOptions, type ShardSearchRankedNote, type ShardSearchResult, type ShardSearchWeights, type ShardSignatureEnvelope, type ShardSignatureVerdict, type ShardSigner, type ShardSigningPayload, type ShardSkosConcept, type ShardSkosRelation, type ShardSkosScheme, type ShardTag, type ShardTemplate, type ShardTrustStore, type SignShardInput, type SimilarityGraphCacheKey, type SimilarityGraphOptions, type SimilarityGraphRequest, type SimilarityGraphResult, type SkosConcept, type SkosRelation, SkosRepository, type SkosScheme, type StaticSemanticProvider, type StorageBackend, type StorageBackendFactory, type StorageOpenRequest, type StorageTopology, type StreamChunk, TagsRepository, TransactionProxy, type TrustedKey, TypedEventBus, VERSION, type VectorEntry, type VerifyShardSignatureInput, type VirtualEmbeddingSetDefinition, type VirtualEmbeddingSetSource, type VirtualEmbeddingSetValidationError, type VirtualMaterializationPolicy, type VramTier, type WorkerRequest, type WorkerResponse, aiRevisionHandler, aiwgFortemiIndexFromKnowledgeShard, aiwgFortemiIndexToCommunityGraph, aiwgFortemiIndexToKnowledgeShard, allMigrations, appendPluginScript, assertAiwgFortemiChunkManifest, assertAiwgFortemiChunkPart, assertAiwgFortemiIndexExport, assertAiwgStaticEmbeddingSet, assertShardComponentRecord, buildAiwgChunkedIndex, buildAiwgStaticEmbeddingSet, buildNoteConditions, buildPluginCsp, captureKnowledge, chunkText, classifyError, classifyModel, clearPrefetchedShard, collectionFromShard, collectionToShard, computeBlobHash, computeHash, computeSri, conceptTaggingHandler, cosineSimilarity, createAiwgFetchChunkLoader, createAiwgFetchDetailLoader, createAiwgIndexController, createAiwgReviewDecisionExport, createBlobStore, createCosineSemanticProvider, createCspReportHandler, createFortemi, createLazyBlobStore, createLegacyProvider, createPGliteBackend, createPGliteInstance, createRecordBackend, createRecordStore, createRemoteBackend, createRoutes, createShardBackend, createShardCapabilityReport, createWorkerEmbedFunction, defaultStorageBackendFactory, detectCommunities, detectGpuCapabilities, detectInferenceCapabilities, discoverLocalProviders, dropAttachmentProjection, dropNoteProjection, dumpDbSnapshot, embeddingConfigToShard, embeddingFromShard, embeddingGenerationHandler, embeddingSetFromShard, embeddingSetMemberToShard, embeddingSetToShard, embeddingToShard, enqueueFullWorkflow, enqueueJob, enqueueNoteCreationJobs, estimateModelFit, estimateVramMB, estimateVramTier, exportShard, exportShardFromRecords, exportShardFromRecordsWithReport, exportShardWithReport, fetchAndValidateFortemiCompatibility, fetchPluginScript, filterAiwgRecordsByPrivacy, findAiwgStaticDuplicatePairs, formatFortemiCompatibilitySummary, fortemiCompatibilityUrl, fortemiManifest, fromPrefetched, generateId, getAiwgFortemiFacets, getEmbedFunction, getFortemiBridge, getFortemiSecretStore, getJobQueueStatus, getKnowledgeShardContractReceipt, getKnowledgeShardProfileRegistry, getKnowledgeShardSchema, getLlmFunction, getNote, getPrefetchedSha256, handleEmbedRequests, hasFortemiSecureSecrets, importShard, importShardToRecords, isPluginScriptAllowed, isShardPrefetched, isShardSigningSupported, linkFromShard, linkToShard, linkingHandler, listNotes, manageArchive, manageAttachments, manageCapabilities, manageCollections, manageLinks, manageNote, manageTags, matchRoute, migrateLegacyBlobStore, noteFromShard, noteSkosTagToShard, noteToShard, openShard, packTarGz, parseCspReport, prefetchShard, profileSupportError, projectAttachments, projectNotes, projectRecords, provenanceEdgeToShard, queryAiwgFortemiIndex, queryAiwgHybridIndex, queryAiwgSemanticIndex, registerLlmCapability, registerSemanticCapability, registerSemanticCapabilityWorker, registerServiceWorker, restoreDbSnapshot, searchTool, selectBackend, selectLlmModel, setEmbedFunction, setLlmFunction, sha256Hex, sidecarBlobDigests, signShard, skosConceptToShard, skosRelationToShard, skosSchemeToShard, suggestTags, tagsToShard, templateToShard, titleGenerationHandler, unpackTarGz, unregisterLlmCapability, unregisterSemanticCapability, urlLinkToShard, validateAiwgFortemiChunkManifest, validateAiwgFortemiChunkPart, validateAiwgFortemiIndexExport, validateAiwgStaticEmbeddingSet, validateChecksums, validateCoreV1ShardArchive, validateFortemiCompatibilityResponse, validateFullV1ShardArchive, validateRecordV1ShardArchive, validateShardArchive, validateShardComponentRecord, validateShardManifest, verifyDbSnapshotMeta, verifyShardSignature, verifySri };
4398
+ export { type ArchiveInfo, ArchiveManager, type AttachInput, type AttachmentBlobRecord, type AttachmentBlobRow, type AttachmentProjectionResult, type AttachmentRecord, type AttachmentRow, AttachmentsRepository, type BackendCandidate, type BackendCapabilities, type BackendConcept, type BackendLink, type BackendListOptions, type BackendNote, type BackendNoteFull, type BackendProvenanceEdge, type BackendRequest, type BackendSearchHit, type BackendSearchQueryOptions, type BackendSearchResult, type BackendSelection, type BackendSemanticTier, type BackendStartupCost, BlobGcOptions, BlobGcResult, BlobReconcileOptions, BlobReconcileResult, BlobStore, type BridgeCapability, type BridgeProviderInfo, type BrowserNoteExport, CORE_V1_COMPONENTS, CURRENT_MIGRATION_HEAD, type CanonicalAttachInput, CanonicalAttachmentsRepository, type CanonicalNoteCreateInput, type CanonicalNoteUpdateInput, type CanonicalNoteView, CanonicalNotesRepository, type CapabilityInfo, CapabilityManager, type CapabilityName, type CapabilityState, type CaptureKnowledgeInput, CaptureKnowledgeInputSchema, type CaptureKnowledgeResult, type CollectionCreateInput, type CollectionNoteRecord, type CollectionRecord, type CollectionRow, CollectionsRepository, CommunitiesRepository, type CommunityAssignmentView, type CommunityCreateInput, type CommunityFilterDefinition, type CommunityGraph, type CommunityOptions, type CommunitySourceDescriptor, type CommunitySourceType, type CommunitySummary, type CompletionRequest, type CompletionResponse, type ConditionResult, type CooldownConfig, type CooldownEvent, type CosineSemanticProviderOptions, type CreatePGliteOptions, type CreateRecordStoreOptions, type CspDirectiveName, type CspDirectives, type CspViolationReport, DB_SNAPSHOT_SCHEMA_VERSION, type DataBackend, type DatabaseClient, type DbSnapshot, type DbSnapshotCompat, type DbSnapshotCompression, type DbSnapshotExpectations, type DbSnapshotMeta, type DbSnapshotSource, DbSnapshotVersionError, type DiscoveredProvider, type DiscoveryOptions, type DumpDbSnapshotOptions, type DumpableDb, EMBED_REQUEST_KIND, EMBED_RESPONSE_KIND, type EmbedFunction, type EmbedRequest, type EmbedRequestMessage, type EmbedResponse, type EmbedResponseMessage, type EmbedTransportPort, type EmbedWorkerOptions, type EmbeddingCompatibilityPolicy, type EmbeddingSetCreateInput, type EmbeddingSetCriteria, type EmbeddingSetDescriptor, type EmbeddingSetEmbeddingInput, type EmbeddingSetFreshness, type EmbeddingSetKind, type EmbeddingSetMode, type EmbeddingSetRow, type EmbeddingSetSelector, EmbeddingSetsRepository, type EnqueueJobInput, type ErrorCategory, type EventMap, ExportOptions, FORTEMI_COMPATIBILITY_PATH, FORTEMI_COMPATIBILITY_STATES, FORTEMI_REQUIRED_COMPATIBILITY_CAPABILITIES, type FallbackEvent, FallbackRouter, type FallbackRouterConfig, type FetchFortemiCompatibilityOptions, type FortemiBridge, type FortemiBridgeCapabilities, type FortemiBridgeHost, type FortemiCompatibilityCapability, type FortemiCompatibilityResponse, type FortemiCompatibilityState, type FortemiCompatibilityValidationResult, type FortemiConfig, type FortemiCore, type FortemiInferenceRouter, type FortemiRequiredCompatibilityCapability, type FortemiSecretStore, type FortemiToolDefinition, FortemiToolManifest, type GetNoteInput, GetNoteInputSchema, type GpuCapabilities, type GraphCommunity, type GraphEdge, type GraphNode, GraphRepository, type IDisposable, IdbRecordStore, ImportOptions, ImportResult, type InferenceCapabilities, type InferenceProvider, JOB_CAPABILITIES, JOB_PRIORITIES, type JobQueueOptions, JobQueueWorker, type JobStatus, type JobType, type JournalEntry, LOCAL_ENDPOINTS, type LegacyMigrationReport, type LinkRecord0, type LinkRow, LinksRepository, type ListNotesInput, ListNotesInputSchema, type LlmCapabilityOptions, type LlmCompleteFn, type LoadedPluginScript, type LocalEndpoint, type ManageArchiveInput, ManageArchiveInputSchema, type ManageArchiveResult, type ManageAttachmentsInput, ManageAttachmentsInputSchema, type ManageAttachmentsResult, type ManageCapabilitiesInput, ManageCapabilitiesInputSchema, type ManageCapabilitiesResult, type ManageCollectionsInput, ManageCollectionsInputSchema, type ManageCollectionsResult, type ManageLinksInput, ManageLinksInputSchema, type ManageLinksResult, type ManageNoteInput, ManageNoteInputSchema, type ManageNoteResult, type ManageTagsInput, ManageTagsInputSchema, type ManageTagsResult, MemoryRecordStore, type Migration, MigrationRunner, type ModelCategory, type ModelFitResult, type ModelInfo, type NoteCreateInput, type NoteFull, type NoteListOptions, type NoteOriginalRecord, type NoteProjectionResult, type NoteRecord0, type NoteRevisedCurrentRecord, type NoteRevision, type NoteSkosTag, type NoteSummary, type NoteTagRecord, type NoteUpdateInput, NotesRepository, OpenAICompatibleProvider, type OpenAIProviderConfig, type OpenShardOptions, type PGliteBackendOptions, PGliteStorageBackend, PGliteStorageBackendFactory, PGliteWorkerClient, PGliteWorkerStorageBackend, PGliteWorkerStorageBackendFactory, type PGliteWorkerStorageBackendFactoryOptions, type PaginatedResult, type PersistenceMode, type PluginCspOptions, type PluginScriptDescriptor, type PluginScriptPolicy, type PrefetchOptions, type PrefetchResult, type PresenceTrackedRecord, type ProbeResult, type ProbeStatus, type ProvenanceEdge, ProvenanceRepository, type ProviderCapabilities, ProviderRegistry, type ProviderTier, type QueryExecutor, type QueryResult, RECORD_COLLECTIONS, RECORD_SCHEMA_VERSION, RECORD_STORE_CAPABILITIES, type RecommendedTier, type RecordBackendManageNoteResult, type RecordBackendOptions, type RecordCollectionName, type RecordCollections, type RecordListOptions, type RecordMutation, type RecordProjectionResult, type RecordProvenanceInput, type RecordStore, type RecordStoreCapabilities, type RemoteBackendConfig, type RemoteBackendPaths, type ResolvedEmbeddingRow, type ResolvedEmbeddingSet, type RestoreDbSnapshotOptions, type RouteHandler, SUPPORTED_PGLITE_VERSION, type SWRegistrationResult, type SearchFacets, type SearchInput, SearchInputSchema, type SearchOptions, SearchRepository, type SearchResponse, type SearchResult, ShardBackend, type ShardBackendOptions, ShardCapabilityReport, ShardCollection, ShardComponent, type ShardComponentStore, ShardEmbedding, ShardEmbeddingConfig, ShardEmbeddingSet, ShardEmbeddingSetMember, ShardExportResult, ShardLink, type ShardListOptions, ShardLossEntry, ShardManifest, ShardNote, type ShardNoteFull, ShardNoteSkosTag, ShardOperation, ShardProfileRegistryEntry, ShardProvenanceEdge, type ShardReader, type ShardReaderNote, type ShardReaderSource, type ShardSchemaValidationResult, type ShardSearchOptions, type ShardSearchRankedNote, type ShardSearchResult, type ShardSearchWeights, ShardSkosConcept, ShardSkosRelation, ShardSkosScheme, ShardTag, ShardTemplate, type SimilarityGraphCacheKey, type SimilarityGraphOptions, type SimilarityGraphRequest, type SimilarityGraphResult, type SkosConcept, type SkosRelation, SkosRepository, type SkosScheme, type StaticSemanticProvider, type StorageBackend, type StorageBackendFactory, type StorageOpenRequest, type StorageTopology, type StreamChunk, TagsRepository, TransactionProxy, TypedEventBus, VERSION, type VectorEntry, type VirtualEmbeddingSetDefinition, type VirtualEmbeddingSetSource, type VirtualEmbeddingSetValidationError, type VirtualMaterializationPolicy, type VramTier, type WorkerRequest, type WorkerResponse, aiRevisionHandler, allMigrations, appendPluginScript, assertShardComponentRecord, buildNoteConditions, buildPluginCsp, captureKnowledge, chunkText, classifyError, classifyModel, clearPrefetchedShard, collectionFromShard, collectionToShard, computeBlobHash, computeHash, computeSri, conceptTaggingHandler, cosineSimilarity, createCosineSemanticProvider, createCspReportHandler, createFortemi, createLegacyProvider, createPGliteBackend, createPGliteInstance, createRecordBackend, createRecordStore, createRemoteBackend, createRoutes, createShardBackend, createShardCapabilityReport, createWorkerEmbedFunction, defaultStorageBackendFactory, detectCommunities, detectGpuCapabilities, detectInferenceCapabilities, discoverLocalProviders, dropAttachmentProjection, dropNoteProjection, dumpDbSnapshot, embeddingConfigToShard, embeddingFromShard, embeddingGenerationHandler, embeddingSetFromShard, embeddingSetMemberToShard, embeddingSetToShard, embeddingToShard, enqueueFullWorkflow, enqueueJob, enqueueNoteCreationJobs, estimateModelFit, estimateVramMB, estimateVramTier, exportShard, exportShardFromRecords, exportShardFromRecordsWithReport, exportShardWithReport, fetchAndValidateFortemiCompatibility, fetchPluginScript, formatFortemiCompatibilitySummary, fortemiCompatibilityUrl, fortemiManifest, fromPrefetched, generateId, getEmbedFunction, getFortemiBridge, getFortemiSecretStore, getJobQueueStatus, getKnowledgeShardContractReceipt, getKnowledgeShardProfileRegistry, getKnowledgeShardSchema, getLlmFunction, getNote, getPrefetchedSha256, handleEmbedRequests, hasFortemiSecureSecrets, importShard, importShardToRecords, isPluginScriptAllowed, isShardPrefetched, linkFromShard, linkToShard, linkingHandler, listNotes, manageArchive, manageAttachments, manageCapabilities, manageCollections, manageLinks, manageNote, manageTags, matchRoute, migrateLegacyBlobStore, noteFromShard, noteSkosTagToShard, noteToShard, openShard, packTarGz, parseCspReport, prefetchShard, profileSupportError, projectAttachments, projectNotes, projectRecords, provenanceEdgeToShard, registerLlmCapability, registerSemanticCapability, registerSemanticCapabilityWorker, registerServiceWorker, restoreDbSnapshot, searchTool, selectBackend, selectLlmModel, setEmbedFunction, setLlmFunction, sha256Hex, skosConceptToShard, skosRelationToShard, skosSchemeToShard, suggestTags, tagsToShard, templateToShard, titleGenerationHandler, unpackTarGz, unregisterLlmCapability, unregisterSemanticCapability, urlLinkToShard, validateChecksums, validateCoreV1ShardArchive, validateFortemiCompatibilityResponse, validateFullV1ShardArchive, validateRecordV1ShardArchive, validateShardArchive, validateShardComponentRecord, validateShardManifest, verifyDbSnapshotMeta, verifySri };