@hraness/oh 0.2.3
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/LICENSE +21 -0
- package/README.md +598 -0
- package/dist/canonical.d.ts +32 -0
- package/dist/canonical.d.ts.map +1 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +3419 -0
- package/dist/contract.d.ts +33 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/graph.d.ts +67 -0
- package/dist/graph.d.ts.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1988 -0
- package/dist/libsql.d.ts +57 -0
- package/dist/libsql.d.ts.map +1 -0
- package/dist/libsql.js +2662 -0
- package/dist/memory.d.ts +366 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +3650 -0
- package/dist/ontology.d.ts +242 -0
- package/dist/ontology.d.ts.map +1 -0
- package/dist/operation.d.ts +24 -0
- package/dist/operation.d.ts.map +1 -0
- package/dist/projection-public.d.ts +59 -0
- package/dist/projection-public.d.ts.map +1 -0
- package/dist/projection-public.js +1682 -0
- package/dist/projection-suss.d.ts +17 -0
- package/dist/projection-suss.d.ts.map +1 -0
- package/dist/projection-suss.js +1721 -0
- package/dist/projection.d.ts +315 -0
- package/dist/projection.d.ts.map +1 -0
- package/dist/schema.d.ts +45 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/sdk.d.ts +51 -0
- package/dist/sdk.d.ts.map +1 -0
- package/dist/sdk.js +3072 -0
- package/dist/search.d.ts +34 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/semantic.d.ts +83 -0
- package/dist/semantic.d.ts.map +1 -0
- package/dist/semantic.js +706 -0
- package/dist/sqlite/driver.d.ts +6 -0
- package/dist/sqlite/driver.d.ts.map +1 -0
- package/dist/sqlite/index.d.ts +5 -0
- package/dist/sqlite/index.d.ts.map +1 -0
- package/dist/sqlite/index.js +2840 -0
- package/dist/sqlite/migrations.d.ts +10 -0
- package/dist/sqlite/migrations.d.ts.map +1 -0
- package/dist/sqlite/port.d.ts +40 -0
- package/dist/sqlite/port.d.ts.map +1 -0
- package/dist/sqlite/runtime.d.ts +23 -0
- package/dist/sqlite/runtime.d.ts.map +1 -0
- package/dist/sqlite/store.d.ts +85 -0
- package/dist/sqlite/store.d.ts.map +1 -0
- package/dist/store.d.ts +236 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +996 -0
- package/dist/sync.d.ts +57 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +1328 -0
- package/package.json +121 -0
- package/skills/oh/SKILL.md +206 -0
- package/skills/oh/agents/openai.yaml +4 -0
- package/spec/README.md +74 -0
- package/spec/manifest.json +41 -0
- package/spec/v1/canonical-json.md +59 -0
- package/spec/v1/contract.json +28 -0
- package/spec/v1/contract.schema.json +58 -0
- package/spec/v1/embedding-profile.json +11 -0
- package/spec/v1/embedding.md +56 -0
- package/spec/v1/graph.md +87 -0
- package/spec/v1/memory.md +193 -0
- package/spec/v1/migration.md +92 -0
- package/spec/v1/ontology.json +55 -0
- package/spec/v1/ontology.md +80 -0
- package/spec/v1/operation.schema.json +138 -0
- package/spec/v1/projection-identity.schema.json +58 -0
- package/spec/v1/projection-query.schema.json +60 -0
- package/spec/v1/projection-result.schema.json +452 -0
- package/spec/v1/projection-rule-pack.schema.json +182 -0
- package/spec/v1/projection.md +165 -0
- package/spec/v1/record.schema.json +95 -0
- package/spec/v1/schema-evolution.md +51 -0
- package/spec/v1/schema-revision.schema.json +178 -0
- package/spec/v1/storage.md +88 -0
- package/spec/v1/store.md +131 -0
- package/spec/v1/sync-bundle.schema.json +51 -0
- package/spec/v1/sync.md +67 -0
- package/src/canonical.test.ts +46 -0
- package/src/canonical.ts +203 -0
- package/src/cli.test.ts +103 -0
- package/src/cli.ts +308 -0
- package/src/contract.ts +87 -0
- package/src/contracts.test.ts +147 -0
- package/src/graph.ts +248 -0
- package/src/index.ts +8 -0
- package/src/libsql.test.ts +657 -0
- package/src/libsql.ts +1687 -0
- package/src/memory.test.ts +783 -0
- package/src/memory.ts +1684 -0
- package/src/ontology.ts +573 -0
- package/src/operation.ts +80 -0
- package/src/projection-public.ts +53 -0
- package/src/projection-suss.ts +129 -0
- package/src/projection.test.ts +418 -0
- package/src/projection.ts +1457 -0
- package/src/schema.ts +156 -0
- package/src/sdk.ts +96 -0
- package/src/search.ts +66 -0
- package/src/semantic.test.ts +480 -0
- package/src/semantic.ts +333 -0
- package/src/sqlite/driver.ts +47 -0
- package/src/sqlite/index.ts +4 -0
- package/src/sqlite/migrations.test.ts +44 -0
- package/src/sqlite/migrations.ts +178 -0
- package/src/sqlite/port.test.ts +127 -0
- package/src/sqlite/port.ts +120 -0
- package/src/sqlite/runtime.test.ts +68 -0
- package/src/sqlite/runtime.ts +53 -0
- package/src/sqlite/store.test.ts +295 -0
- package/src/sqlite/store.ts +988 -0
- package/src/store.test.ts +121 -0
- package/src/store.ts +701 -0
- package/src/sync.test.ts +117 -0
- package/src/sync.ts +227 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { OhSqliteDatabase } from "./driver";
|
|
2
|
+
export declare const OH_SQLITE_SCHEMA_VERSION: 2;
|
|
3
|
+
export type OhSqliteMigration = Readonly<{
|
|
4
|
+
name: string;
|
|
5
|
+
sql: string;
|
|
6
|
+
version: number;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const OH_SQLITE_MIGRATIONS: readonly OhSqliteMigration[];
|
|
9
|
+
export declare function applyOhSqliteMigrations(database: OhSqliteDatabase): void;
|
|
10
|
+
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/sqlite/migrations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEzF,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAwI3D,CAAC;AAEH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAgCxE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type OhChangesPageV1, type OhCommitInputV1, type OhDependencyClosureV1, type OhHeadRefV1, type OhHeadV1, type OhSnapshotV1, type OhStoreAuthorityV1, type OhStoreBindingV1, type OhStoreProfileV1, type OhStoreV1, type OhStoreVerificationV1 } from "../store";
|
|
2
|
+
import type { OhOperationV1 } from "../operation";
|
|
3
|
+
import type { OhSqliteDatabase } from "./driver";
|
|
4
|
+
import { OhSqliteStore } from "./store";
|
|
5
|
+
export type OhSqliteStoreAuthorityOptionsV1 = Readonly<{
|
|
6
|
+
database?: OhSqliteDatabase;
|
|
7
|
+
path?: string;
|
|
8
|
+
profile?: OhStoreProfileV1;
|
|
9
|
+
realmId?: string;
|
|
10
|
+
spaceId?: string;
|
|
11
|
+
}>;
|
|
12
|
+
export declare class OhSqliteStorePortV1 implements OhStoreV1 {
|
|
13
|
+
#private;
|
|
14
|
+
readonly binding: OhStoreBindingV1;
|
|
15
|
+
constructor(authority: OhSqliteStore, binding: OhStoreBindingV1);
|
|
16
|
+
head(): Promise<OhHeadV1>;
|
|
17
|
+
snapshot(options?: Readonly<{
|
|
18
|
+
head?: OhHeadRefV1;
|
|
19
|
+
maximumRecords?: number;
|
|
20
|
+
}>): Promise<OhSnapshotV1>;
|
|
21
|
+
changesSince(from: OhHeadRefV1, options?: Readonly<{
|
|
22
|
+
limit?: number;
|
|
23
|
+
through?: OhHeadRefV1;
|
|
24
|
+
}>): Promise<OhChangesPageV1>;
|
|
25
|
+
commit(input: OhCommitInputV1): Promise<OhOperationV1>;
|
|
26
|
+
exportDependencyClosure(input: Readonly<{
|
|
27
|
+
head?: OhHeadRefV1;
|
|
28
|
+
maximumRecords?: number;
|
|
29
|
+
roots: readonly string[];
|
|
30
|
+
}>): Promise<OhDependencyClosureV1>;
|
|
31
|
+
verify(): Promise<OhStoreVerificationV1>;
|
|
32
|
+
close(): Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Binds a Bun SQLite authority to the promise-based store port. Retain the
|
|
36
|
+
* returned `host` object in trusted control-plane code; pass only `store` to
|
|
37
|
+
* ordinary consumers.
|
|
38
|
+
*/
|
|
39
|
+
export declare function createOhSqliteStoreAuthorityV1(options?: OhSqliteStoreAuthorityOptionsV1): OhStoreAuthorityV1;
|
|
40
|
+
//# sourceMappingURL=port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/sqlite/port.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,MAAM,+BAA+B,GAAG,QAAQ,CAAC;IACrD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,qBAAa,mBAAoB,YAAW,SAAS;;IACnD,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;gBAGvB,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB;IASzD,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIzB,QAAQ,CAAC,OAAO,GAAE,QAAQ,CAAC;QAC/B,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzB,YAAY,CAChB,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,QAAQ,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE,CAAM,GAChE,OAAO,CAAC,eAAe,CAAC;IAIrB,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAItD,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC5C,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;KAC1B,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI7B,MAAM,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAMxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,GAAE,+BAAoC,GAC5C,kBAAkB,CA0BpB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type SqliteOpenOptions = Readonly<{
|
|
2
|
+
create: true;
|
|
3
|
+
strict: true;
|
|
4
|
+
}>;
|
|
5
|
+
export type OhSqliteRuntimeDependencies<TDatabase> = Readonly<{
|
|
6
|
+
exists: (path: string) => boolean;
|
|
7
|
+
open: (path: string, options: SqliteOpenOptions) => TDatabase;
|
|
8
|
+
platform: NodeJS.Platform;
|
|
9
|
+
setCustomSQLite: (path: string) => boolean;
|
|
10
|
+
}>;
|
|
11
|
+
export type OhSqliteRuntime<TDatabase> = Readonly<{
|
|
12
|
+
customLibrary: string | null;
|
|
13
|
+
open: (path: string) => TDatabase;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* Bun can replace macOS' extension-disabled system SQLite only before the first
|
|
17
|
+
* Database is constructed. Creating the opener here makes that ordering an
|
|
18
|
+
* invariant rather than leaving optional semantic backends to configure it
|
|
19
|
+
* after the authoritative store is already open.
|
|
20
|
+
*/
|
|
21
|
+
export declare function createOhSqliteRuntime<TDatabase>(dependencies: OhSqliteRuntimeDependencies<TDatabase>): OhSqliteRuntime<TDatabase>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/sqlite/runtime.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AAOlE,MAAM,MAAM,2BAA2B,CAAC,SAAS,IAAI,QAAQ,CAAC;IAC5D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,SAAS,CAAC;IAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,CAAC,SAAS,IAAI,QAAQ,CAAC;IAChD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;CACnC,CAAC,CAAC;AAMH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAC7C,YAAY,EAAE,2BAA2B,CAAC,SAAS,CAAC,GACnD,eAAe,CAAC,SAAS,CAAC,CAqB5B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { type Sha256Hex } from "../canonical";
|
|
2
|
+
import { OH_CONTRACT_MANIFEST_V1 } from "../contract";
|
|
3
|
+
import { type KnowledgeGraphRecordKindV1, type KnowledgeGraphRecordV1 } from "../graph";
|
|
4
|
+
import { type OhOperationV1 } from "../operation";
|
|
5
|
+
import { OhConflictError, OhDependencyError, OhIntegrityError, OhProfileError, OhPurgedSpaceError, type OhChangesPageV1, type OhCommitInputV1, type OhDependencyClosureV1, type OhHeadRefV1, type OhHeadV1, type OhSnapshotV1, type OhSpacePurgeReceiptV1, type OhStoreBindingV1 } from "../store";
|
|
6
|
+
import { type OhSqliteDatabase } from "./driver";
|
|
7
|
+
export { OhConflictError, OhDependencyError, OhIntegrityError, OhProfileError, OhPurgedSpaceError, };
|
|
8
|
+
export type { OhCommitInputV1, OhHeadV1 };
|
|
9
|
+
export type OhRecordListOptions = Readonly<{
|
|
10
|
+
kind?: KnowledgeGraphRecordKindV1;
|
|
11
|
+
limit?: number;
|
|
12
|
+
}>;
|
|
13
|
+
export type OhKeywordSearchResultV1 = Readonly<{
|
|
14
|
+
key: string;
|
|
15
|
+
kind: KnowledgeGraphRecordKindV1;
|
|
16
|
+
recordSha256: Sha256Hex;
|
|
17
|
+
score: number;
|
|
18
|
+
snippet: string;
|
|
19
|
+
v: 1;
|
|
20
|
+
}>;
|
|
21
|
+
export type OhReplayVerificationV1 = Readonly<{
|
|
22
|
+
head: OhHeadV1;
|
|
23
|
+
operations: number;
|
|
24
|
+
records: number;
|
|
25
|
+
sqliteIntegrity: "ok";
|
|
26
|
+
v: 1;
|
|
27
|
+
}>;
|
|
28
|
+
export declare class OhSqliteStore {
|
|
29
|
+
#private;
|
|
30
|
+
readonly database: OhSqliteDatabase;
|
|
31
|
+
readonly spaceId: string;
|
|
32
|
+
constructor(options?: Readonly<{
|
|
33
|
+
database?: OhSqliteDatabase;
|
|
34
|
+
path?: string;
|
|
35
|
+
spaceId?: string;
|
|
36
|
+
}>);
|
|
37
|
+
ensureSpace(): OhHeadV1;
|
|
38
|
+
bind(bindingValue: OhStoreBindingV1): OhStoreBindingV1;
|
|
39
|
+
binding(): OhStoreBindingV1 | null;
|
|
40
|
+
head(): OhHeadV1;
|
|
41
|
+
commit(input: OhCommitInputV1): OhOperationV1;
|
|
42
|
+
importOperation(value: unknown): Readonly<{
|
|
43
|
+
imported: boolean;
|
|
44
|
+
operation: OhOperationV1;
|
|
45
|
+
}>;
|
|
46
|
+
exportOperations(afterSequence?: number, limit?: number): readonly OhOperationV1[];
|
|
47
|
+
snapshotAtHead(options?: Readonly<{
|
|
48
|
+
head?: OhHeadRefV1;
|
|
49
|
+
maximumRecords?: number;
|
|
50
|
+
}>): OhSnapshotV1;
|
|
51
|
+
changesSince(fromValue: OhHeadRefV1, options?: Readonly<{
|
|
52
|
+
limit?: number;
|
|
53
|
+
through?: OhHeadRefV1;
|
|
54
|
+
}>): OhChangesPageV1;
|
|
55
|
+
exportDependencyClosure(input: Readonly<{
|
|
56
|
+
binding: OhStoreBindingV1;
|
|
57
|
+
head?: OhHeadRefV1;
|
|
58
|
+
maximumRecords?: number;
|
|
59
|
+
roots: readonly string[];
|
|
60
|
+
}>): OhDependencyClosureV1;
|
|
61
|
+
get(key: string): KnowledgeGraphRecordV1 | null;
|
|
62
|
+
list(options?: OhRecordListOptions): readonly KnowledgeGraphRecordV1[];
|
|
63
|
+
snapshotRecords(maximum?: number): readonly KnowledgeGraphRecordV1[];
|
|
64
|
+
log(limit?: number): readonly OhOperationV1[];
|
|
65
|
+
searchKeyword(query: string, limit?: number): readonly OhKeywordSearchResultV1[];
|
|
66
|
+
syncState(remoteId: string): Readonly<{
|
|
67
|
+
pulledSequence: number;
|
|
68
|
+
pushedSequence: number;
|
|
69
|
+
remoteHeadSha256: Sha256Hex | null;
|
|
70
|
+
}>;
|
|
71
|
+
updateSyncState(remoteId: string, state: Readonly<{
|
|
72
|
+
pulledSequence: number;
|
|
73
|
+
pushedSequence: number;
|
|
74
|
+
remoteHeadSha256: Sha256Hex | null;
|
|
75
|
+
}>): void;
|
|
76
|
+
verifyReplay(): OhReplayVerificationV1;
|
|
77
|
+
contract(): Readonly<{
|
|
78
|
+
manifest: typeof OH_CONTRACT_MANIFEST_V1;
|
|
79
|
+
sqliteSchemaVersion: number;
|
|
80
|
+
}>;
|
|
81
|
+
/** Host control-plane primitive. Do not expose this method through agent tools. */
|
|
82
|
+
purgeWorkingSpace(bindingValue: OhStoreBindingV1, purgedAt?: string): OhSpacePurgeReceiptV1;
|
|
83
|
+
close(): void;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/sqlite/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
ADDED
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { type Sha256Hex } from "./canonical";
|
|
2
|
+
import { OhRecordCodecRegistry } from "./contract";
|
|
3
|
+
export { OhRecordCodecRegistry } from "./contract";
|
|
4
|
+
import { type KnowledgeGraphChangeV1, type KnowledgeGraphRecordKindV1, type KnowledgeGraphRecordV1 } from "./graph";
|
|
5
|
+
import { type OhOperationV1 } from "./operation";
|
|
6
|
+
export declare class OhConflictError extends Error {
|
|
7
|
+
constructor(message: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class OhIntegrityError extends Error {
|
|
10
|
+
constructor(message: string);
|
|
11
|
+
}
|
|
12
|
+
export declare class OhDependencyError extends Error {
|
|
13
|
+
constructor(message: string);
|
|
14
|
+
}
|
|
15
|
+
export declare class OhProfileError extends Error {
|
|
16
|
+
constructor(message: string);
|
|
17
|
+
}
|
|
18
|
+
export type OhHeadV1 = Readonly<{
|
|
19
|
+
generation: number;
|
|
20
|
+
graphRevisionSha256: Sha256Hex | null;
|
|
21
|
+
operationSha256: Sha256Hex | null;
|
|
22
|
+
recordsSha256: Sha256Hex;
|
|
23
|
+
sequence: number;
|
|
24
|
+
v: 1;
|
|
25
|
+
}>;
|
|
26
|
+
export type OhHeadRefV1 = Pick<OhHeadV1, "operationSha256" | "sequence">;
|
|
27
|
+
export type OhCommitInputV1 = Readonly<{
|
|
28
|
+
actorId: string;
|
|
29
|
+
changes: readonly KnowledgeGraphChangeV1[];
|
|
30
|
+
expectedHead: Pick<OhHeadV1, "generation" | "operationSha256">;
|
|
31
|
+
instant?: string;
|
|
32
|
+
operationId: string;
|
|
33
|
+
}>;
|
|
34
|
+
export type OhSnapshotV1 = Readonly<{
|
|
35
|
+
head: OhHeadV1;
|
|
36
|
+
records: readonly KnowledgeGraphRecordV1[];
|
|
37
|
+
v: 1;
|
|
38
|
+
}>;
|
|
39
|
+
export type OhChangesPageV1 = Readonly<{
|
|
40
|
+
from: OhHeadRefV1;
|
|
41
|
+
hasMore: boolean;
|
|
42
|
+
operations: readonly OhOperationV1[];
|
|
43
|
+
through: OhHeadV1;
|
|
44
|
+
to: OhHeadRefV1;
|
|
45
|
+
v: 1;
|
|
46
|
+
}>;
|
|
47
|
+
export type OhStoreVerificationV1 = Readonly<{
|
|
48
|
+
head: OhHeadV1;
|
|
49
|
+
integrity: "verified";
|
|
50
|
+
operations: number;
|
|
51
|
+
records: number;
|
|
52
|
+
v: 1;
|
|
53
|
+
}>;
|
|
54
|
+
export type OhStoreCapabilitiesV1 = Readonly<{
|
|
55
|
+
changesSince: true;
|
|
56
|
+
dependencyClosureExport: true;
|
|
57
|
+
exactSnapshots: true;
|
|
58
|
+
operationReplication: boolean;
|
|
59
|
+
semanticBundleCommit: true;
|
|
60
|
+
v: 1;
|
|
61
|
+
wholeSpacePurge: boolean;
|
|
62
|
+
}>;
|
|
63
|
+
export type OhStoreProfileV1 = Readonly<{
|
|
64
|
+
applicationProfileSha256: Sha256Hex | null;
|
|
65
|
+
capabilities: OhStoreCapabilitiesV1;
|
|
66
|
+
profileId: string;
|
|
67
|
+
profileKind: "canonical" | "working";
|
|
68
|
+
profileSha256: Sha256Hex;
|
|
69
|
+
v: 1;
|
|
70
|
+
}>;
|
|
71
|
+
export type OhStoreBindingV1 = Readonly<{
|
|
72
|
+
bindingSha256: Sha256Hex;
|
|
73
|
+
contractSha256: Sha256Hex;
|
|
74
|
+
profile: OhStoreProfileV1;
|
|
75
|
+
realmId: string;
|
|
76
|
+
spaceId: string;
|
|
77
|
+
v: 1;
|
|
78
|
+
}>;
|
|
79
|
+
export declare const OH_CANONICAL_STORE_PROFILE_V1: Readonly<{
|
|
80
|
+
applicationProfileSha256: Sha256Hex | null;
|
|
81
|
+
capabilities: OhStoreCapabilitiesV1;
|
|
82
|
+
profileId: string;
|
|
83
|
+
profileKind: "canonical" | "working";
|
|
84
|
+
profileSha256: Sha256Hex;
|
|
85
|
+
v: 1;
|
|
86
|
+
}>;
|
|
87
|
+
export declare const OH_WORKING_STORE_PROFILE_V1: Readonly<{
|
|
88
|
+
applicationProfileSha256: Sha256Hex | null;
|
|
89
|
+
capabilities: OhStoreCapabilitiesV1;
|
|
90
|
+
profileId: string;
|
|
91
|
+
profileKind: "canonical" | "working";
|
|
92
|
+
profileSha256: Sha256Hex;
|
|
93
|
+
v: 1;
|
|
94
|
+
}>;
|
|
95
|
+
export type OhDependencyClosureV1 = Readonly<{
|
|
96
|
+
binding: OhStoreBindingV1;
|
|
97
|
+
closureSha256: Sha256Hex;
|
|
98
|
+
head: OhHeadV1;
|
|
99
|
+
records: readonly KnowledgeGraphRecordV1[];
|
|
100
|
+
roots: readonly string[];
|
|
101
|
+
v: 1;
|
|
102
|
+
}>;
|
|
103
|
+
export declare const OH_DEPENDENCY_CLOSURE_LIMITS_V1: Readonly<{
|
|
104
|
+
bytes: number;
|
|
105
|
+
records: 8192;
|
|
106
|
+
roots: 1024;
|
|
107
|
+
}>;
|
|
108
|
+
export type OhSpacePurgeReceiptV1 = Readonly<{
|
|
109
|
+
bindingSha256: Sha256Hex;
|
|
110
|
+
priorHead: OhHeadV1;
|
|
111
|
+
purgedAt: string;
|
|
112
|
+
receiptSha256: Sha256Hex;
|
|
113
|
+
spaceId: string;
|
|
114
|
+
v: 1;
|
|
115
|
+
}>;
|
|
116
|
+
export declare class OhPurgedSpaceError extends Error {
|
|
117
|
+
readonly receipt: OhSpacePurgeReceiptV1;
|
|
118
|
+
constructor(receipt: OhSpacePurgeReceiptV1);
|
|
119
|
+
}
|
|
120
|
+
export interface OhStoreV1 {
|
|
121
|
+
readonly binding: OhStoreBindingV1;
|
|
122
|
+
changesSince(from: OhHeadRefV1, options?: Readonly<{
|
|
123
|
+
limit?: number;
|
|
124
|
+
through?: OhHeadRefV1;
|
|
125
|
+
}>): Promise<OhChangesPageV1>;
|
|
126
|
+
close(): Promise<void>;
|
|
127
|
+
commit(input: OhCommitInputV1): Promise<OhOperationV1>;
|
|
128
|
+
exportDependencyClosure(input: Readonly<{
|
|
129
|
+
head?: OhHeadRefV1;
|
|
130
|
+
maximumRecords?: number;
|
|
131
|
+
roots: readonly string[];
|
|
132
|
+
}>): Promise<OhDependencyClosureV1>;
|
|
133
|
+
head(): Promise<OhHeadV1>;
|
|
134
|
+
snapshot(options?: Readonly<{
|
|
135
|
+
head?: OhHeadRefV1;
|
|
136
|
+
maximumRecords?: number;
|
|
137
|
+
}>): Promise<OhSnapshotV1>;
|
|
138
|
+
verify(): Promise<OhStoreVerificationV1>;
|
|
139
|
+
}
|
|
140
|
+
/** Kept separate so an agent-facing store object never carries deletion authority. */
|
|
141
|
+
export interface OhStoreHostControlV1 {
|
|
142
|
+
readonly binding: OhStoreBindingV1;
|
|
143
|
+
purgeWorkingSpace(input: Readonly<{
|
|
144
|
+
purgedAt?: string;
|
|
145
|
+
}>): Promise<OhSpacePurgeReceiptV1>;
|
|
146
|
+
}
|
|
147
|
+
export type OhStoreAuthorityV1 = Readonly<{
|
|
148
|
+
host: OhStoreHostControlV1;
|
|
149
|
+
store: OhStoreV1;
|
|
150
|
+
}>;
|
|
151
|
+
export declare function emptyOhHeadV1(): OhHeadV1;
|
|
152
|
+
export declare function parseOhHeadV1(value: unknown): OhHeadV1 | null;
|
|
153
|
+
export declare function parseOhHeadRefV1(value: unknown): OhHeadRefV1 | null;
|
|
154
|
+
type OhStoreProfileInputV1 = Omit<OhStoreProfileV1, "profileSha256">;
|
|
155
|
+
export declare function createOhStoreProfileV1(input: OhStoreProfileInputV1): OhStoreProfileV1;
|
|
156
|
+
export declare function parseOhStoreProfileV1(value: unknown): OhStoreProfileV1 | null;
|
|
157
|
+
export declare function createOhStoreBindingV1(input: Readonly<{
|
|
158
|
+
profile: OhStoreProfileV1;
|
|
159
|
+
realmId: string;
|
|
160
|
+
spaceId: string;
|
|
161
|
+
v: 1;
|
|
162
|
+
}>): OhStoreBindingV1;
|
|
163
|
+
export declare function parseOhStoreBindingV1(value: unknown): OhStoreBindingV1 | null;
|
|
164
|
+
export declare function replayOhOperationsV1(spaceId: string, values: readonly OhOperationV1[], maximumRecords?: number): OhSnapshotV1;
|
|
165
|
+
export declare function transitionOhSnapshotV1(input: Readonly<{
|
|
166
|
+
actorId: string;
|
|
167
|
+
changes: readonly KnowledgeGraphChangeV1[];
|
|
168
|
+
instant: string;
|
|
169
|
+
operationId: string;
|
|
170
|
+
snapshot: OhSnapshotV1;
|
|
171
|
+
spaceId: string;
|
|
172
|
+
}>): Readonly<{
|
|
173
|
+
operation: OhOperationV1;
|
|
174
|
+
snapshot: OhSnapshotV1;
|
|
175
|
+
}>;
|
|
176
|
+
export declare function createOhDependencyClosureV1(input: Readonly<{
|
|
177
|
+
binding: OhStoreBindingV1;
|
|
178
|
+
maximumRecords?: number;
|
|
179
|
+
roots: readonly string[];
|
|
180
|
+
snapshot: OhSnapshotV1;
|
|
181
|
+
}>): OhDependencyClosureV1;
|
|
182
|
+
export declare function parseOhDependencyClosureV1(value: unknown): OhDependencyClosureV1 | null;
|
|
183
|
+
export declare function verifyOhDependencyClosureV1(value: unknown): Readonly<{
|
|
184
|
+
closure: OhDependencyClosureV1;
|
|
185
|
+
ok: true;
|
|
186
|
+
}> | Readonly<{
|
|
187
|
+
ok: false;
|
|
188
|
+
reason: "invalid-closure";
|
|
189
|
+
}>;
|
|
190
|
+
/**
|
|
191
|
+
* Strong adoption check. Unlike structural self-verification, this also binds
|
|
192
|
+
* the capsule to the exact store binding and head selected by trusted host code.
|
|
193
|
+
*/
|
|
194
|
+
export declare function verifyOhDependencyClosureAgainstV1(value: unknown, expected: Readonly<{
|
|
195
|
+
binding: OhStoreBindingV1;
|
|
196
|
+
head: OhHeadV1;
|
|
197
|
+
}>): Readonly<{
|
|
198
|
+
closure: OhDependencyClosureV1;
|
|
199
|
+
ok: true;
|
|
200
|
+
verification: "expected-authority-and-head";
|
|
201
|
+
}> | Readonly<{
|
|
202
|
+
ok: false;
|
|
203
|
+
reason: "binding-mismatch" | "head-mismatch" | "invalid-closure" | "invalid-expectation";
|
|
204
|
+
}>;
|
|
205
|
+
export declare function createOhSpacePurgeReceiptV1(input: Readonly<{
|
|
206
|
+
binding: OhStoreBindingV1;
|
|
207
|
+
priorHead: OhHeadV1;
|
|
208
|
+
purgedAt: string;
|
|
209
|
+
}>): OhSpacePurgeReceiptV1;
|
|
210
|
+
export declare function parseOhSpacePurgeReceiptV1(value: unknown): OhSpacePurgeReceiptV1 | null;
|
|
211
|
+
export type OhSemanticBundleV1 = Readonly<{
|
|
212
|
+
actorId: string;
|
|
213
|
+
expectedHead: Pick<OhHeadV1, "generation" | "operationSha256">;
|
|
214
|
+
instant: string | null;
|
|
215
|
+
operationId: string;
|
|
216
|
+
puts: readonly Readonly<{
|
|
217
|
+
dependencies: readonly string[];
|
|
218
|
+
key: string;
|
|
219
|
+
kind: KnowledgeGraphRecordKindV1;
|
|
220
|
+
v: 1;
|
|
221
|
+
value: unknown;
|
|
222
|
+
}>[];
|
|
223
|
+
tombstones: readonly Readonly<{
|
|
224
|
+
key: string;
|
|
225
|
+
priorSha256: Sha256Hex;
|
|
226
|
+
v: 1;
|
|
227
|
+
}>[];
|
|
228
|
+
v: 1;
|
|
229
|
+
}>;
|
|
230
|
+
/** A strict model-facing ingress: every put must have a registered codec. */
|
|
231
|
+
export declare class OhSemanticBundleIngressV1 {
|
|
232
|
+
#private;
|
|
233
|
+
constructor(store: OhStoreV1, codecs: OhRecordCodecRegistry);
|
|
234
|
+
commit(value: unknown): Promise<OhOperationV1>;
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|