@hraness/oh 0.4.0 → 0.4.2
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 +3 -0
- package/README.md +12 -9
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +15590 -1705
- package/dist/index.js +15209 -261
- package/dist/libsql-model.d.ts +75 -0
- package/dist/libsql-model.d.ts.map +1 -0
- package/dist/libsql-platform.d.ts +24 -0
- package/dist/libsql-platform.d.ts.map +1 -0
- package/dist/libsql-program.d.ts +64 -0
- package/dist/libsql-program.d.ts.map +1 -0
- package/dist/libsql-runtime.d.ts +13 -0
- package/dist/libsql-runtime.d.ts.map +1 -0
- package/dist/libsql.d.ts +4 -36
- package/dist/libsql.d.ts.map +1 -1
- package/dist/libsql.js +16583 -1426
- package/dist/memory-authority-platform.d.ts +210 -0
- package/dist/memory-authority-platform.d.ts.map +1 -0
- package/dist/memory-authority-program.d.ts +15 -0
- package/dist/memory-authority-program.d.ts.map +1 -0
- package/dist/memory-authority-runtime.d.ts +4 -0
- package/dist/memory-authority-runtime.d.ts.map +1 -0
- package/dist/memory-core.d.ts +522 -0
- package/dist/memory-core.d.ts.map +1 -0
- package/dist/memory.d.ts +5 -445
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +18232 -4143
- package/dist/sdk.js +15266 -318
- package/dist/semantic-cloud.js +1 -260
- package/dist/semantic-model.d.ts +75 -0
- package/dist/semantic-model.d.ts.map +1 -0
- package/dist/semantic-platform.d.ts +32 -0
- package/dist/semantic-platform.d.ts.map +1 -0
- package/dist/semantic-program.d.ts +18 -0
- package/dist/semantic-program.d.ts.map +1 -0
- package/dist/semantic-runtime.d.ts +6 -0
- package/dist/semantic-runtime.d.ts.map +1 -0
- package/dist/semantic.d.ts +6 -57
- package/dist/semantic.d.ts.map +1 -1
- package/dist/semantic.js +15541 -514
- package/dist/sqlite/index.js +1148 -1378
- package/dist/sqlite/port.d.ts +1 -1
- package/dist/sqlite/port.d.ts.map +1 -1
- package/dist/sync-libsql-program.d.ts +5 -0
- package/dist/sync-libsql-program.d.ts.map +1 -0
- package/dist/sync-model.d.ts +60 -0
- package/dist/sync-model.d.ts.map +1 -0
- package/dist/sync-platform.d.ts +41 -0
- package/dist/sync-platform.d.ts.map +1 -0
- package/dist/sync-program.d.ts +11 -0
- package/dist/sync-program.d.ts.map +1 -0
- package/dist/sync-runtime.d.ts +6 -0
- package/dist/sync-runtime.d.ts.map +1 -0
- package/dist/sync.d.ts +5 -55
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +15174 -226
- package/package.json +7 -5
- package/skills/oh/SKILL.md +3 -2
- package/spec/v1/store.md +14 -0
- package/src/cli.test.ts +35 -0
- package/src/cli.ts +4 -3
- package/src/cloudflare-embedding.ts +1 -1
- package/src/libsql-lifecycle.test.ts +76 -0
- package/src/libsql-model.ts +350 -0
- package/src/libsql-platform.ts +51 -0
- package/src/libsql-program.ts +1583 -0
- package/src/libsql-runtime.ts +89 -0
- package/src/libsql-semantic-v2.ts +1 -1
- package/src/libsql-semantic.ts +1 -1
- package/src/libsql.test.ts +245 -0
- package/src/libsql.ts +26 -1698
- package/src/memory-authority-platform.ts +133 -0
- package/src/memory-authority-program.ts +309 -0
- package/src/memory-authority-runtime.ts +40 -0
- package/src/memory-core.ts +2401 -0
- package/src/memory.test.ts +55 -0
- package/src/memory.ts +68 -2759
- package/src/semantic-model.ts +142 -0
- package/src/semantic-platform.ts +130 -0
- package/src/semantic-program.ts +113 -0
- package/src/semantic-runtime.ts +53 -0
- package/src/semantic.test.ts +115 -1
- package/src/semantic.ts +14 -324
- package/src/sqlite/port.ts +1 -1
- package/src/sync-libsql-program.ts +170 -0
- package/src/sync-lifecycle.test.ts +110 -0
- package/src/sync-model.ts +530 -0
- package/src/sync-platform.ts +87 -0
- package/src/sync-program.ts +117 -0
- package/src/sync-runtime.ts +33 -0
- package/src/sync.ts +10 -765
|
@@ -0,0 +1,522 @@
|
|
|
1
|
+
export * from "./memory-pages";
|
|
2
|
+
import { type JsonPrimitive, type Sha256Hex } from "./canonical";
|
|
3
|
+
import { type OhRecordCodecRegistry } from "./contract";
|
|
4
|
+
import { type KnowledgeGraphRecordV1 } from "./graph";
|
|
5
|
+
import { type OhProjectionAtomV1, type OhProjectionDatasetV1, type OhProjectionEvaluationOptionsV1, type OhProjectionQueryV1, type OhProjectionRulePackV1, type OhProjectionSnapshotV1 } from "./projection";
|
|
6
|
+
import { OhConflictError, OhIntegrityError, type OhDependencyClosureV1, type OhHeadV1, type OhHeadRefV1, type OhSnapshotV1, type OhStoreBindingV1, type OhStoreV1 } from "./store";
|
|
7
|
+
export declare const OH_MEMORY_FORMAT_VERSION_V1: 1;
|
|
8
|
+
export declare const OH_MEMORY_CONFLICT_POLICY_V1: "visible-conflicts.v1";
|
|
9
|
+
export declare const OH_MEMORY_LIMITS_V1: Readonly<{
|
|
10
|
+
detachedCanonicalBreadth: 65536;
|
|
11
|
+
detachedCanonicalDepth: 128;
|
|
12
|
+
detachedCanonicalNodes: 1048576;
|
|
13
|
+
explainCapabilityEntryBytes: number;
|
|
14
|
+
explainCapabilities: 256;
|
|
15
|
+
explainCapabilityLifetimeMs: number;
|
|
16
|
+
explainCapabilityTotalBytes: number;
|
|
17
|
+
factsPerRecordPerExtractor: 512;
|
|
18
|
+
maximumExtractorInvocations: 262144;
|
|
19
|
+
maximumExtractors: 32;
|
|
20
|
+
maximumNominationRoutes: 64;
|
|
21
|
+
maximumPrograms: 128;
|
|
22
|
+
maximumRecordsPerLane: 8192;
|
|
23
|
+
maximumSyntheticRecords: 16384;
|
|
24
|
+
rememberBytes: number;
|
|
25
|
+
resultBytes: number;
|
|
26
|
+
snapshotBytesPerLane: number;
|
|
27
|
+
relationsPerExtractor: 64;
|
|
28
|
+
}>;
|
|
29
|
+
export declare const OH_MEMORY_COMPOSITE_FACT_EXTRACTOR_V1: Readonly<{
|
|
30
|
+
extractorSha256: Sha256Hex;
|
|
31
|
+
factPackId: "oh.memory.composite-facts";
|
|
32
|
+
factPackRevision: 1;
|
|
33
|
+
relations: readonly string[];
|
|
34
|
+
semantics: "oh.projection.positive-datalog.v1";
|
|
35
|
+
v: 1;
|
|
36
|
+
}>;
|
|
37
|
+
export type OhMemoryLaneV1 = "canonical" | "working";
|
|
38
|
+
export type OhMemoryAuthoritySourceV1 = Readonly<{
|
|
39
|
+
authorityId: string;
|
|
40
|
+
bindingSha256: Sha256Hex;
|
|
41
|
+
head: OhHeadV1;
|
|
42
|
+
key: string;
|
|
43
|
+
lane: OhMemoryLaneV1;
|
|
44
|
+
recordSha256: Sha256Hex;
|
|
45
|
+
snapshotSha256: Sha256Hex;
|
|
46
|
+
v: 1;
|
|
47
|
+
}>;
|
|
48
|
+
export type OhMemoryProofV1 = Readonly<{
|
|
49
|
+
factPolicy: OhMemoryFactPolicyV1;
|
|
50
|
+
kind: "fact";
|
|
51
|
+
relation: string;
|
|
52
|
+
sources: readonly OhMemoryAuthoritySourceV1[];
|
|
53
|
+
tuple: readonly OhProjectionAtomV1[];
|
|
54
|
+
v: 1;
|
|
55
|
+
}> | Readonly<{
|
|
56
|
+
kind: "derived";
|
|
57
|
+
premises: readonly OhMemoryProofV1[];
|
|
58
|
+
premisesTruncated: boolean;
|
|
59
|
+
relation: string;
|
|
60
|
+
ruleId: string;
|
|
61
|
+
ruleSha256: Sha256Hex;
|
|
62
|
+
tuple: readonly OhProjectionAtomV1[];
|
|
63
|
+
v: 1;
|
|
64
|
+
}> | Readonly<{
|
|
65
|
+
kind: "truncated";
|
|
66
|
+
reason: "cycle" | "depth" | "nodes";
|
|
67
|
+
relation: string;
|
|
68
|
+
tuple: readonly OhProjectionAtomV1[];
|
|
69
|
+
v: 1;
|
|
70
|
+
}>;
|
|
71
|
+
export type OhMemoryLaneIdentityV1 = Readonly<{
|
|
72
|
+
authorityId: string;
|
|
73
|
+
bindingSha256: Sha256Hex;
|
|
74
|
+
datasetSha256: Sha256Hex;
|
|
75
|
+
head: OhHeadV1;
|
|
76
|
+
lane: OhMemoryLaneV1;
|
|
77
|
+
snapshotSha256: Sha256Hex;
|
|
78
|
+
v: 1;
|
|
79
|
+
}>;
|
|
80
|
+
export type OhMemoryIdentityV1 = Readonly<{
|
|
81
|
+
canonical: OhMemoryLaneIdentityV1;
|
|
82
|
+
compositeDatasetSha256: Sha256Hex;
|
|
83
|
+
conflictPolicy: typeof OH_MEMORY_CONFLICT_POLICY_V1;
|
|
84
|
+
evaluationSha256: Sha256Hex;
|
|
85
|
+
memorySha256: Sha256Hex;
|
|
86
|
+
programId: string;
|
|
87
|
+
projectionSha256: Sha256Hex;
|
|
88
|
+
purpose: string;
|
|
89
|
+
querySha256: Sha256Hex;
|
|
90
|
+
rulePackSha256: Sha256Hex;
|
|
91
|
+
v: 1;
|
|
92
|
+
working: OhMemoryLaneIdentityV1;
|
|
93
|
+
}>;
|
|
94
|
+
export type OhMemoryConflictV1 = Readonly<{
|
|
95
|
+
canonicalRecordSha256: Sha256Hex;
|
|
96
|
+
key: string;
|
|
97
|
+
v: 1;
|
|
98
|
+
workingRecordSha256: Sha256Hex;
|
|
99
|
+
}>;
|
|
100
|
+
export type OhMemoryResultRowV1 = Readonly<{
|
|
101
|
+
premiseAuthority: "canonical" | "unknown" | "working";
|
|
102
|
+
premiseLanes: readonly OhMemoryLaneV1[];
|
|
103
|
+
proofsTruncated: boolean;
|
|
104
|
+
resultRowSha256: Sha256Hex;
|
|
105
|
+
supportCount: number;
|
|
106
|
+
v: 1;
|
|
107
|
+
values: readonly OhProjectionAtomV1[];
|
|
108
|
+
}>;
|
|
109
|
+
export type OhMemoryQueryResultV1 = Readonly<{
|
|
110
|
+
authority: "derived";
|
|
111
|
+
conflicts: readonly OhMemoryConflictV1[];
|
|
112
|
+
explainCapability: Readonly<{
|
|
113
|
+
expiresAt: string;
|
|
114
|
+
token: string;
|
|
115
|
+
v: 1;
|
|
116
|
+
}>;
|
|
117
|
+
identity: OhMemoryIdentityV1;
|
|
118
|
+
projectionResultSha256: Sha256Hex;
|
|
119
|
+
resultSha256: Sha256Hex;
|
|
120
|
+
rows: readonly OhMemoryResultRowV1[];
|
|
121
|
+
v: 1;
|
|
122
|
+
}>;
|
|
123
|
+
export type OhMemoryRememberReceiptV1 = Readonly<{
|
|
124
|
+
actorId: string;
|
|
125
|
+
authorityId: string;
|
|
126
|
+
bindingSha256: Sha256Hex;
|
|
127
|
+
head: OhHeadV1;
|
|
128
|
+
instant: string;
|
|
129
|
+
lane: "working";
|
|
130
|
+
operationSha256: Sha256Hex;
|
|
131
|
+
receiptSha256: Sha256Hex;
|
|
132
|
+
requestId: string;
|
|
133
|
+
status: "committed";
|
|
134
|
+
v: 1;
|
|
135
|
+
}>;
|
|
136
|
+
export type OhMemoryExplanationV1 = Readonly<{
|
|
137
|
+
authority: "derived";
|
|
138
|
+
explanationSha256: Sha256Hex;
|
|
139
|
+
identity: OhMemoryIdentityV1;
|
|
140
|
+
premiseAuthority: OhMemoryResultRowV1["premiseAuthority"];
|
|
141
|
+
premiseLanes: readonly OhMemoryLaneV1[];
|
|
142
|
+
proofs: readonly OhMemoryProofV1[];
|
|
143
|
+
proofsTruncated: boolean;
|
|
144
|
+
resultRowSha256: Sha256Hex;
|
|
145
|
+
resultSha256: Sha256Hex;
|
|
146
|
+
supportCount: number;
|
|
147
|
+
v: 1;
|
|
148
|
+
values: readonly OhProjectionAtomV1[];
|
|
149
|
+
}>;
|
|
150
|
+
export type OhMemoryNominationV1 = Readonly<{
|
|
151
|
+
closure: OhDependencyClosureV1;
|
|
152
|
+
destinationPurpose: string;
|
|
153
|
+
nominationId: string;
|
|
154
|
+
nominationSha256: Sha256Hex;
|
|
155
|
+
source: Readonly<{
|
|
156
|
+
authorityId: string;
|
|
157
|
+
bindingSha256: Sha256Hex;
|
|
158
|
+
head: OhHeadV1;
|
|
159
|
+
lane: "working";
|
|
160
|
+
v: 1;
|
|
161
|
+
}>;
|
|
162
|
+
status: "prepared";
|
|
163
|
+
v: 1;
|
|
164
|
+
}>;
|
|
165
|
+
export type OhMemoryNamedProgramV1 = Readonly<{
|
|
166
|
+
evaluation?: OhProjectionEvaluationOptionsV1;
|
|
167
|
+
programId: string;
|
|
168
|
+
purpose: string;
|
|
169
|
+
query: OhProjectionQueryV1;
|
|
170
|
+
rulePack: OhProjectionRulePackV1;
|
|
171
|
+
}>;
|
|
172
|
+
export type OhMemoryNominationRouteV1 = Readonly<{
|
|
173
|
+
destinationPurpose: string;
|
|
174
|
+
nominationId: string;
|
|
175
|
+
}>;
|
|
176
|
+
export type OhMemoryFactPolicyV1 = Readonly<{
|
|
177
|
+
extractorSha256: Sha256Hex;
|
|
178
|
+
factPackId: string;
|
|
179
|
+
kind: "built-in";
|
|
180
|
+
v: 1;
|
|
181
|
+
}> | Readonly<{
|
|
182
|
+
extractorId: string;
|
|
183
|
+
extractorSha256: Sha256Hex;
|
|
184
|
+
kind: "domain";
|
|
185
|
+
v: 1;
|
|
186
|
+
}>;
|
|
187
|
+
export type OhMemoryFactDeclarationV1 = Readonly<{
|
|
188
|
+
relation: string;
|
|
189
|
+
tuple: readonly JsonPrimitive[];
|
|
190
|
+
v: 1;
|
|
191
|
+
}>;
|
|
192
|
+
/** Host-owned, digest-identified domain projection; it cannot choose sources. */
|
|
193
|
+
export type OhMemoryFactExtractorV1 = Readonly<{
|
|
194
|
+
extract(input: Readonly<{
|
|
195
|
+
lane: OhMemoryLaneV1;
|
|
196
|
+
record: KnowledgeGraphRecordV1;
|
|
197
|
+
}>): readonly OhMemoryFactDeclarationV1[];
|
|
198
|
+
extractorId: string;
|
|
199
|
+
extractorSha256: Sha256Hex;
|
|
200
|
+
relations: readonly string[];
|
|
201
|
+
}>;
|
|
202
|
+
export type OhMemoryFacadeOptionsV1 = Readonly<{
|
|
203
|
+
actorId: string;
|
|
204
|
+
canonical: Readonly<{
|
|
205
|
+
authorityId: string;
|
|
206
|
+
expectedBindingSha256: Sha256Hex;
|
|
207
|
+
expectedHead: OhHeadV1;
|
|
208
|
+
store: OhStoreV1;
|
|
209
|
+
}>;
|
|
210
|
+
explainCapabilityLifetimeMs?: number;
|
|
211
|
+
extractors?: readonly OhMemoryFactExtractorV1[];
|
|
212
|
+
monotonicNow?: () => number;
|
|
213
|
+
nominationRoutes?: readonly OhMemoryNominationRouteV1[];
|
|
214
|
+
now?: () => Date;
|
|
215
|
+
programs: readonly OhMemoryNamedProgramV1[];
|
|
216
|
+
working: Readonly<{
|
|
217
|
+
authorityId: string;
|
|
218
|
+
codecs: OhRecordCodecRegistry;
|
|
219
|
+
expectedBindingSha256: Sha256Hex;
|
|
220
|
+
store: OhStoreV1;
|
|
221
|
+
}>;
|
|
222
|
+
}>;
|
|
223
|
+
export interface OhMemoryAgentV1 {
|
|
224
|
+
explain(value: unknown): Promise<OhMemoryExplanationV1>;
|
|
225
|
+
nominate(value: unknown): Promise<OhMemoryNominationV1>;
|
|
226
|
+
query(value: unknown): Promise<OhMemoryQueryResultV1>;
|
|
227
|
+
remember(value: unknown): Promise<OhMemoryRememberReceiptV1>;
|
|
228
|
+
}
|
|
229
|
+
/** Additive query and pagination limits; V1 contracts are unchanged. */
|
|
230
|
+
export declare const OH_MEMORY_QUERY_LIMITS_V2: Readonly<{
|
|
231
|
+
bindingBytes: number;
|
|
232
|
+
bindings: 32;
|
|
233
|
+
continuationBytes: number;
|
|
234
|
+
continuationKeyMaximumBytes: 64;
|
|
235
|
+
continuationKeyMinimumBytes: 32;
|
|
236
|
+
maximumPageBytes: number;
|
|
237
|
+
maximumPageRows: 256;
|
|
238
|
+
maximumProgramRows: 65536;
|
|
239
|
+
minimumPageBytes: number;
|
|
240
|
+
requestBytes: number;
|
|
241
|
+
}>;
|
|
242
|
+
export type OhMemoryEvaluationLimitsV2 = Readonly<{
|
|
243
|
+
maximumDerivedTuples: number;
|
|
244
|
+
maximumProofDepth: number;
|
|
245
|
+
maximumProofNodes: number;
|
|
246
|
+
maximumResultBytes: number;
|
|
247
|
+
maximumRounds: number;
|
|
248
|
+
maximumTotalProofNodes: number;
|
|
249
|
+
maximumWorkUnits: number;
|
|
250
|
+
}>;
|
|
251
|
+
/**
|
|
252
|
+
* A host-owned parameterized program. Parameter names refer only to variables
|
|
253
|
+
* in the query body, never to rule variables or projected output variables.
|
|
254
|
+
*/
|
|
255
|
+
export type OhMemoryNamedProgramV2 = Readonly<{
|
|
256
|
+
evaluation: OhMemoryEvaluationLimitsV2;
|
|
257
|
+
maximumPageBytes: number;
|
|
258
|
+
maximumRows: number;
|
|
259
|
+
pageSize: number;
|
|
260
|
+
parameters: readonly string[];
|
|
261
|
+
programId: string;
|
|
262
|
+
purpose: string;
|
|
263
|
+
query: OhProjectionQueryV1;
|
|
264
|
+
rulePack: OhProjectionRulePackV1;
|
|
265
|
+
v: 2;
|
|
266
|
+
}>;
|
|
267
|
+
export type OhMemoryFacadeOptionsV2 = Readonly<Omit<OhMemoryFacadeOptionsV1, "programs"> & Readonly<{
|
|
268
|
+
/** Raw HMAC key for continuations that must survive agent reconstruction. */
|
|
269
|
+
continuationKey?: Uint8Array;
|
|
270
|
+
programs: readonly OhMemoryNamedProgramV2[];
|
|
271
|
+
}>>;
|
|
272
|
+
export type OhMemoryIdentityV2 = Readonly<{
|
|
273
|
+
bindings: Readonly<Record<string, JsonPrimitive>>;
|
|
274
|
+
bindingsSha256: Sha256Hex;
|
|
275
|
+
boundQuerySha256: Sha256Hex;
|
|
276
|
+
canonical: OhMemoryLaneIdentityV1;
|
|
277
|
+
compositeDatasetSha256: Sha256Hex;
|
|
278
|
+
conflictPolicy: typeof OH_MEMORY_CONFLICT_POLICY_V1;
|
|
279
|
+
evaluationSha256: Sha256Hex;
|
|
280
|
+
memorySha256: Sha256Hex;
|
|
281
|
+
programId: string;
|
|
282
|
+
programSha256: Sha256Hex;
|
|
283
|
+
projectionSha256: Sha256Hex;
|
|
284
|
+
purpose: string;
|
|
285
|
+
rulePackSha256: Sha256Hex;
|
|
286
|
+
templateQuerySha256: Sha256Hex;
|
|
287
|
+
v: 2;
|
|
288
|
+
working: OhMemoryLaneIdentityV1;
|
|
289
|
+
}>;
|
|
290
|
+
export type OhMemoryResultRowV2 = Readonly<{
|
|
291
|
+
premiseAuthority: "canonical" | "unknown" | "working";
|
|
292
|
+
premiseLanes: readonly OhMemoryLaneV1[];
|
|
293
|
+
proofsTruncated: boolean;
|
|
294
|
+
resultRowSha256: Sha256Hex;
|
|
295
|
+
supportCount: number;
|
|
296
|
+
v: 2;
|
|
297
|
+
values: readonly OhProjectionAtomV1[];
|
|
298
|
+
}>;
|
|
299
|
+
export type OhMemoryPageV2 = Readonly<{
|
|
300
|
+
completeness: "complete" | "partial";
|
|
301
|
+
endExclusive: number;
|
|
302
|
+
hasMore: boolean;
|
|
303
|
+
maximumPageBytes: number;
|
|
304
|
+
pageSize: number;
|
|
305
|
+
returnedRows: number;
|
|
306
|
+
start: number;
|
|
307
|
+
totalRows: number;
|
|
308
|
+
truncation: Readonly<{
|
|
309
|
+
reasons: readonly [];
|
|
310
|
+
truncated: false;
|
|
311
|
+
v: 2;
|
|
312
|
+
}>;
|
|
313
|
+
v: 2;
|
|
314
|
+
}>;
|
|
315
|
+
export type OhMemoryQueryResultV2 = Readonly<{
|
|
316
|
+
authority: "derived";
|
|
317
|
+
conflicts: Readonly<{
|
|
318
|
+
count: number;
|
|
319
|
+
conflictsSha256: Sha256Hex;
|
|
320
|
+
v: 2;
|
|
321
|
+
}>;
|
|
322
|
+
continuation: string | null;
|
|
323
|
+
continuationSha256: Sha256Hex | null;
|
|
324
|
+
explainCapability: Readonly<{
|
|
325
|
+
expiresAt: string;
|
|
326
|
+
token: string;
|
|
327
|
+
v: 2;
|
|
328
|
+
}>;
|
|
329
|
+
identity: OhMemoryIdentityV2;
|
|
330
|
+
page: OhMemoryPageV2;
|
|
331
|
+
projectionResultSha256: Sha256Hex;
|
|
332
|
+
resultSha256: Sha256Hex;
|
|
333
|
+
rows: readonly OhMemoryResultRowV2[];
|
|
334
|
+
v: 2;
|
|
335
|
+
}>;
|
|
336
|
+
export type OhMemoryContinuationErrorReasonV2 = "authentication" | "encoding" | "identity";
|
|
337
|
+
/** A caller-supplied V2 continuation cannot be decoded, authenticated, or rebound exactly. */
|
|
338
|
+
export declare class OhMemoryContinuationError extends OhIntegrityError {
|
|
339
|
+
readonly code: "memory-continuation";
|
|
340
|
+
readonly reason: OhMemoryContinuationErrorReasonV2;
|
|
341
|
+
constructor(reason: OhMemoryContinuationErrorReasonV2, message: string);
|
|
342
|
+
}
|
|
343
|
+
export type OhMemoryExplanationV2 = Readonly<{
|
|
344
|
+
authority: "derived";
|
|
345
|
+
explanationSha256: Sha256Hex;
|
|
346
|
+
identity: OhMemoryIdentityV2;
|
|
347
|
+
page: OhMemoryPageV2;
|
|
348
|
+
pageRow: number;
|
|
349
|
+
premiseAuthority: OhMemoryResultRowV2["premiseAuthority"];
|
|
350
|
+
premiseLanes: readonly OhMemoryLaneV1[];
|
|
351
|
+
proofs: readonly OhMemoryProofV1[];
|
|
352
|
+
proofsTruncated: boolean;
|
|
353
|
+
resultRowSha256: Sha256Hex;
|
|
354
|
+
resultSha256: Sha256Hex;
|
|
355
|
+
supportCount: number;
|
|
356
|
+
v: 2;
|
|
357
|
+
values: readonly OhProjectionAtomV1[];
|
|
358
|
+
}>;
|
|
359
|
+
export interface OhMemoryAgentV2 {
|
|
360
|
+
explain(value: unknown): Promise<OhMemoryExplanationV2>;
|
|
361
|
+
nominate(value: unknown): Promise<OhMemoryNominationV1>;
|
|
362
|
+
query(value: unknown): Promise<OhMemoryQueryResultV2>;
|
|
363
|
+
remember(value: unknown): Promise<OhMemoryRememberReceiptV1>;
|
|
364
|
+
}
|
|
365
|
+
export declare const OH_MEMORY_AUTHORITY_LIMITS_V1: Readonly<{
|
|
366
|
+
adoptionReplacements: 128;
|
|
367
|
+
adoptionRequestBytes: number;
|
|
368
|
+
canonicalAdvanceOperations: 16384;
|
|
369
|
+
canonicalAdvancePages: 64;
|
|
370
|
+
canonicalChangeFeedPage: 1000;
|
|
371
|
+
canonicalChangeFeedPageBytes: number;
|
|
372
|
+
retainedExplanationRoutes: 256;
|
|
373
|
+
reportedAdoptionConflicts: 128;
|
|
374
|
+
}>;
|
|
375
|
+
export type OhMemoryCanonicalAdvanceReceiptV1 = Readonly<{
|
|
376
|
+
authorityId: string;
|
|
377
|
+
bindingSha256: Sha256Hex;
|
|
378
|
+
head: OhHeadV1;
|
|
379
|
+
priorHead: OhHeadV1;
|
|
380
|
+
receiptSha256: Sha256Hex;
|
|
381
|
+
status: "advanced" | "unchanged";
|
|
382
|
+
v: 1;
|
|
383
|
+
}>;
|
|
384
|
+
export type OhMemoryAdoptionConflictEntryV1 = Readonly<{
|
|
385
|
+
canonicalRecordSha256: Sha256Hex | null;
|
|
386
|
+
key: string;
|
|
387
|
+
nominatedRecordSha256: Sha256Hex;
|
|
388
|
+
v: 1;
|
|
389
|
+
}>;
|
|
390
|
+
/** Host-only compare-and-swap evidence for one intentional canonical replacement. */
|
|
391
|
+
export type OhMemoryAdoptionReplacementV1 = Readonly<{
|
|
392
|
+
expectedPriorRecordSha256: Sha256Hex;
|
|
393
|
+
key: string;
|
|
394
|
+
v: 1;
|
|
395
|
+
}>;
|
|
396
|
+
export type OhMemoryAdoptionConflictV1 = Readonly<{
|
|
397
|
+
actualHead: OhHeadV1;
|
|
398
|
+
conflicts: readonly OhMemoryAdoptionConflictEntryV1[];
|
|
399
|
+
conflictsSha256: Sha256Hex;
|
|
400
|
+
expectedHead: OhHeadV1;
|
|
401
|
+
reportedConflicts: number;
|
|
402
|
+
totalConflicts: number;
|
|
403
|
+
truncated: boolean;
|
|
404
|
+
v: 1;
|
|
405
|
+
}>;
|
|
406
|
+
export declare class OhMemoryAdoptionConflictError extends OhConflictError {
|
|
407
|
+
readonly conflict: OhMemoryAdoptionConflictV1;
|
|
408
|
+
constructor(conflict: OhMemoryAdoptionConflictV1);
|
|
409
|
+
}
|
|
410
|
+
export type OhMemoryAdoptionReceiptV1 = Readonly<{
|
|
411
|
+
actorId: string;
|
|
412
|
+
authorityId: string;
|
|
413
|
+
bindingSha256: Sha256Hex;
|
|
414
|
+
head: OhHeadV1;
|
|
415
|
+
nominationSha256: Sha256Hex;
|
|
416
|
+
operationSha256: Sha256Hex | null;
|
|
417
|
+
priorHead: OhHeadV1;
|
|
418
|
+
receiptSha256: Sha256Hex;
|
|
419
|
+
status: "adopted" | "already-present";
|
|
420
|
+
v: 1;
|
|
421
|
+
}>;
|
|
422
|
+
export interface OhMemoryHostControlV1 {
|
|
423
|
+
adoptNomination(value: unknown): Promise<OhMemoryAdoptionReceiptV1>;
|
|
424
|
+
advanceCanonical(value: unknown): Promise<OhMemoryCanonicalAdvanceReceiptV1>;
|
|
425
|
+
}
|
|
426
|
+
export type OhMemoryAuthorityV1 = Readonly<{
|
|
427
|
+
agent: OhMemoryAgentV2;
|
|
428
|
+
host: OhMemoryHostControlV1;
|
|
429
|
+
}>;
|
|
430
|
+
export type OhMemoryAuthorityOptionsV1 = OhMemoryFacadeOptionsV2 & Readonly<{
|
|
431
|
+
adoptionActorId: string;
|
|
432
|
+
maximumCanonicalOperationBytes?: number;
|
|
433
|
+
}>;
|
|
434
|
+
export type LaneSnapshot = Readonly<{
|
|
435
|
+
authorityId: string;
|
|
436
|
+
binding: OhStoreBindingV1;
|
|
437
|
+
dataset: OhProjectionDatasetV1;
|
|
438
|
+
lane: OhMemoryLaneV1;
|
|
439
|
+
projectionSnapshot: OhProjectionSnapshotV1;
|
|
440
|
+
snapshot: OhSnapshotV1;
|
|
441
|
+
}>;
|
|
442
|
+
export declare function immutableClone<T>(value: T): T;
|
|
443
|
+
type DetachedCanonicalData = Readonly<{
|
|
444
|
+
canonical: string;
|
|
445
|
+
value: unknown;
|
|
446
|
+
}>;
|
|
447
|
+
/**
|
|
448
|
+
* Takes one descriptor-based JSON snapshot of an external value. No accessor is
|
|
449
|
+
* invoked, proxies are refused at every depth, and callers validate and execute
|
|
450
|
+
* only the returned frozen graph and its matching canonical bytes.
|
|
451
|
+
*/
|
|
452
|
+
export declare function detachCanonicalData(value: unknown, label: string, maximumBytes: number): DetachedCanonicalData;
|
|
453
|
+
export declare function exactHead(left: OhHeadV1, right: OhHeadV1): boolean;
|
|
454
|
+
export declare function authorityId(value: unknown): string;
|
|
455
|
+
export declare function bindingFor(store: OhStoreV1, expected: Sha256Hex, lane: OhMemoryLaneV1): OhStoreBindingV1;
|
|
456
|
+
export declare function parseDetachedStoreHead(value: unknown, label: string): OhHeadV1;
|
|
457
|
+
export declare function parseDetachedStoreSnapshot(value: unknown, label: string, expectedHead: OhHeadV1, spaceId: string): Readonly<{
|
|
458
|
+
projectionSnapshot: OhProjectionSnapshotV1;
|
|
459
|
+
snapshot: OhSnapshotV1;
|
|
460
|
+
}>;
|
|
461
|
+
export declare function datasetForSnapshot(binding: OhStoreBindingV1, snapshot: OhSnapshotV1, validatedProjectionSnapshot?: OhProjectionSnapshotV1): Readonly<{
|
|
462
|
+
dataset: OhProjectionDatasetV1;
|
|
463
|
+
projectionSnapshot: OhProjectionSnapshotV1;
|
|
464
|
+
}>;
|
|
465
|
+
export declare function resolveExtractors(extractors: readonly OhMemoryFactExtractorV1[]): readonly OhMemoryFactExtractorV1[];
|
|
466
|
+
export declare function resolveNominationRoutes(routes: readonly OhMemoryNominationRouteV1[]): ReadonlyMap<string, OhMemoryNominationRouteV1>;
|
|
467
|
+
export declare function parseOhMemoryNominationV1(value: unknown): OhMemoryNominationV1 | null;
|
|
468
|
+
/**
|
|
469
|
+
* Creates a model-facing memory surface over two host-bound physical Oh
|
|
470
|
+
* authorities. The returned object has no store, locator, rule, sync, canonical
|
|
471
|
+
* write, or purge handle.
|
|
472
|
+
*/
|
|
473
|
+
export declare function createOhMemoryAgentV1(options: OhMemoryFacadeOptionsV1): Promise<OhMemoryAgentV1>;
|
|
474
|
+
type ResolvedMemoryProgramV2 = OhMemoryNamedProgramV2 & Readonly<{
|
|
475
|
+
programSha256: Sha256Hex;
|
|
476
|
+
}>;
|
|
477
|
+
type StoredExplanationV2 = Readonly<{
|
|
478
|
+
bytes: number;
|
|
479
|
+
expiresAtMonotonicMs: number;
|
|
480
|
+
identity: OhMemoryIdentityV2;
|
|
481
|
+
page: OhMemoryPageV2;
|
|
482
|
+
proofs: readonly (readonly OhMemoryProofV1[])[];
|
|
483
|
+
resultSha256: Sha256Hex;
|
|
484
|
+
rows: readonly OhMemoryResultRowV2[];
|
|
485
|
+
}>;
|
|
486
|
+
type OhMemoryRuntimeV2 = {
|
|
487
|
+
readonly capabilityLifetime: number;
|
|
488
|
+
explanationBytes: number;
|
|
489
|
+
readonly explanations: Map<string, StoredExplanationV2>;
|
|
490
|
+
lastMonotonicMs: number;
|
|
491
|
+
lastWallClockMs: number;
|
|
492
|
+
readonly monotonicNow: () => number;
|
|
493
|
+
readonly now: () => Date;
|
|
494
|
+
};
|
|
495
|
+
export declare function createOhMemoryRuntimeV2(options: OhMemoryFacadeOptionsV2): OhMemoryRuntimeV2;
|
|
496
|
+
export declare function continuationKeyV2(value: Uint8Array | undefined): Uint8Array;
|
|
497
|
+
export declare function resolveProgramsV2(programs: readonly OhMemoryNamedProgramV2[]): ReadonlyMap<string, ResolvedMemoryProgramV2>;
|
|
498
|
+
/**
|
|
499
|
+
* Creates the additive V2 memory facade. V2 adds only host-declared primitive
|
|
500
|
+
* bindings and fail-closed stable pagination; V1 request and digest contracts
|
|
501
|
+
* remain untouched.
|
|
502
|
+
*/
|
|
503
|
+
export declare function createOhMemoryAgentV2WithRuntime(options: OhMemoryFacadeOptionsV2, sharedRuntime?: OhMemoryRuntimeV2): Promise<OhMemoryAgentV2>;
|
|
504
|
+
export declare function createOhMemoryAgentV2(options: OhMemoryFacadeOptionsV2): Promise<OhMemoryAgentV2>;
|
|
505
|
+
export declare function parseMemoryAuthorityHead(value: unknown, label: string): OhHeadV1;
|
|
506
|
+
export declare function parseCanonicalAdvanceRequest(value: unknown): Readonly<{
|
|
507
|
+
expectedHead: OhHeadV1;
|
|
508
|
+
nextHead: OhHeadV1;
|
|
509
|
+
}>;
|
|
510
|
+
export declare function parseAdoptionRequest(value: unknown): Readonly<{
|
|
511
|
+
expectedCanonicalHead: OhHeadV1;
|
|
512
|
+
nomination: OhMemoryNominationV1;
|
|
513
|
+
replacements: readonly OhMemoryAdoptionReplacementV1[];
|
|
514
|
+
}>;
|
|
515
|
+
export declare function headRef(head: OhHeadV1): OhHeadRefV1;
|
|
516
|
+
export declare function canonicalAdvanceReceipt(authorityIdValue: string, bindingSha256: Sha256Hex, priorHead: OhHeadV1, head: OhHeadV1, status: OhMemoryCanonicalAdvanceReceiptV1["status"]): OhMemoryCanonicalAdvanceReceiptV1;
|
|
517
|
+
export declare function adoptionReceipt(actorId: string, authorityIdValue: string, bindingSha256: Sha256Hex, nominationSha256: Sha256Hex, operationSha256: Sha256Hex | null, priorHead: OhHeadV1, head: OhHeadV1, status: OhMemoryAdoptionReceiptV1["status"]): OhMemoryAdoptionReceiptV1;
|
|
518
|
+
export declare function adoptionDifferences(snapshot: OhSnapshotV1, records: readonly KnowledgeGraphRecordV1[]): readonly OhMemoryAdoptionConflictEntryV1[];
|
|
519
|
+
export declare function unauthorizedAdoptionDifferences(reviewedSnapshot: OhSnapshotV1, currentSnapshot: OhSnapshotV1, records: readonly KnowledgeGraphRecordV1[], replacements: readonly OhMemoryAdoptionReplacementV1[]): readonly OhMemoryAdoptionConflictEntryV1[];
|
|
520
|
+
export declare function assertAdoptionSnapshotCapacity(snapshot: OhSnapshotV1, changedRecords: readonly KnowledgeGraphRecordV1[]): void;
|
|
521
|
+
export declare function adoptionConflict(expectedHead: OhHeadV1, actualHead: OhHeadV1, completeConflicts: readonly OhMemoryAdoptionConflictEntryV1[]): OhMemoryAdoptionConflictError;
|
|
522
|
+
//# sourceMappingURL=memory-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-core.d.ts","sourceRoot":"","sources":["../src/memory-core.ts"],"names":[],"mappings":"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"}
|