@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.
Files changed (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +598 -0
  3. package/dist/canonical.d.ts +32 -0
  4. package/dist/canonical.d.ts.map +1 -0
  5. package/dist/cli.d.ts +4 -0
  6. package/dist/cli.d.ts.map +1 -0
  7. package/dist/cli.js +3419 -0
  8. package/dist/contract.d.ts +33 -0
  9. package/dist/contract.d.ts.map +1 -0
  10. package/dist/graph.d.ts +67 -0
  11. package/dist/graph.d.ts.map +1 -0
  12. package/dist/index.d.ts +9 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +1988 -0
  15. package/dist/libsql.d.ts +57 -0
  16. package/dist/libsql.d.ts.map +1 -0
  17. package/dist/libsql.js +2662 -0
  18. package/dist/memory.d.ts +366 -0
  19. package/dist/memory.d.ts.map +1 -0
  20. package/dist/memory.js +3650 -0
  21. package/dist/ontology.d.ts +242 -0
  22. package/dist/ontology.d.ts.map +1 -0
  23. package/dist/operation.d.ts +24 -0
  24. package/dist/operation.d.ts.map +1 -0
  25. package/dist/projection-public.d.ts +59 -0
  26. package/dist/projection-public.d.ts.map +1 -0
  27. package/dist/projection-public.js +1682 -0
  28. package/dist/projection-suss.d.ts +17 -0
  29. package/dist/projection-suss.d.ts.map +1 -0
  30. package/dist/projection-suss.js +1721 -0
  31. package/dist/projection.d.ts +315 -0
  32. package/dist/projection.d.ts.map +1 -0
  33. package/dist/schema.d.ts +45 -0
  34. package/dist/schema.d.ts.map +1 -0
  35. package/dist/sdk.d.ts +51 -0
  36. package/dist/sdk.d.ts.map +1 -0
  37. package/dist/sdk.js +3072 -0
  38. package/dist/search.d.ts +34 -0
  39. package/dist/search.d.ts.map +1 -0
  40. package/dist/semantic.d.ts +83 -0
  41. package/dist/semantic.d.ts.map +1 -0
  42. package/dist/semantic.js +706 -0
  43. package/dist/sqlite/driver.d.ts +6 -0
  44. package/dist/sqlite/driver.d.ts.map +1 -0
  45. package/dist/sqlite/index.d.ts +5 -0
  46. package/dist/sqlite/index.d.ts.map +1 -0
  47. package/dist/sqlite/index.js +2840 -0
  48. package/dist/sqlite/migrations.d.ts +10 -0
  49. package/dist/sqlite/migrations.d.ts.map +1 -0
  50. package/dist/sqlite/port.d.ts +40 -0
  51. package/dist/sqlite/port.d.ts.map +1 -0
  52. package/dist/sqlite/runtime.d.ts +23 -0
  53. package/dist/sqlite/runtime.d.ts.map +1 -0
  54. package/dist/sqlite/store.d.ts +85 -0
  55. package/dist/sqlite/store.d.ts.map +1 -0
  56. package/dist/store.d.ts +236 -0
  57. package/dist/store.d.ts.map +1 -0
  58. package/dist/store.js +996 -0
  59. package/dist/sync.d.ts +57 -0
  60. package/dist/sync.d.ts.map +1 -0
  61. package/dist/sync.js +1328 -0
  62. package/package.json +121 -0
  63. package/skills/oh/SKILL.md +206 -0
  64. package/skills/oh/agents/openai.yaml +4 -0
  65. package/spec/README.md +74 -0
  66. package/spec/manifest.json +41 -0
  67. package/spec/v1/canonical-json.md +59 -0
  68. package/spec/v1/contract.json +28 -0
  69. package/spec/v1/contract.schema.json +58 -0
  70. package/spec/v1/embedding-profile.json +11 -0
  71. package/spec/v1/embedding.md +56 -0
  72. package/spec/v1/graph.md +87 -0
  73. package/spec/v1/memory.md +193 -0
  74. package/spec/v1/migration.md +92 -0
  75. package/spec/v1/ontology.json +55 -0
  76. package/spec/v1/ontology.md +80 -0
  77. package/spec/v1/operation.schema.json +138 -0
  78. package/spec/v1/projection-identity.schema.json +58 -0
  79. package/spec/v1/projection-query.schema.json +60 -0
  80. package/spec/v1/projection-result.schema.json +452 -0
  81. package/spec/v1/projection-rule-pack.schema.json +182 -0
  82. package/spec/v1/projection.md +165 -0
  83. package/spec/v1/record.schema.json +95 -0
  84. package/spec/v1/schema-evolution.md +51 -0
  85. package/spec/v1/schema-revision.schema.json +178 -0
  86. package/spec/v1/storage.md +88 -0
  87. package/spec/v1/store.md +131 -0
  88. package/spec/v1/sync-bundle.schema.json +51 -0
  89. package/spec/v1/sync.md +67 -0
  90. package/src/canonical.test.ts +46 -0
  91. package/src/canonical.ts +203 -0
  92. package/src/cli.test.ts +103 -0
  93. package/src/cli.ts +308 -0
  94. package/src/contract.ts +87 -0
  95. package/src/contracts.test.ts +147 -0
  96. package/src/graph.ts +248 -0
  97. package/src/index.ts +8 -0
  98. package/src/libsql.test.ts +657 -0
  99. package/src/libsql.ts +1687 -0
  100. package/src/memory.test.ts +783 -0
  101. package/src/memory.ts +1684 -0
  102. package/src/ontology.ts +573 -0
  103. package/src/operation.ts +80 -0
  104. package/src/projection-public.ts +53 -0
  105. package/src/projection-suss.ts +129 -0
  106. package/src/projection.test.ts +418 -0
  107. package/src/projection.ts +1457 -0
  108. package/src/schema.ts +156 -0
  109. package/src/sdk.ts +96 -0
  110. package/src/search.ts +66 -0
  111. package/src/semantic.test.ts +480 -0
  112. package/src/semantic.ts +333 -0
  113. package/src/sqlite/driver.ts +47 -0
  114. package/src/sqlite/index.ts +4 -0
  115. package/src/sqlite/migrations.test.ts +44 -0
  116. package/src/sqlite/migrations.ts +178 -0
  117. package/src/sqlite/port.test.ts +127 -0
  118. package/src/sqlite/port.ts +120 -0
  119. package/src/sqlite/runtime.test.ts +68 -0
  120. package/src/sqlite/runtime.ts +53 -0
  121. package/src/sqlite/store.test.ts +295 -0
  122. package/src/sqlite/store.ts +988 -0
  123. package/src/store.test.ts +121 -0
  124. package/src/store.ts +701 -0
  125. package/src/sync.test.ts +117 -0
  126. package/src/sync.ts +227 -0
@@ -0,0 +1,242 @@
1
+ import { type Sha256Hex } from "./canonical";
2
+ export declare const OH_ONTOLOGY_VERSION_V1: "1.0.0";
3
+ export declare const OH_CONTRACT_ID_V1: "oh.ontology.v1";
4
+ export declare const OH_KNOWLEDGE_LIMITS_V1: Readonly<{
5
+ dimensions: 64;
6
+ listValues: 256;
7
+ qualifiers: 128;
8
+ statementBytes: number;
9
+ textBytes: number;
10
+ }>;
11
+ export declare const OH_KNOWLEDGE_KERNEL_CONCEPTS_V1: readonly [{
12
+ readonly code: "entity";
13
+ readonly description: "A stable identity anchor for something that can be referred to.";
14
+ readonly label: "Entity";
15
+ }, {
16
+ readonly code: "statement";
17
+ readonly description: "An immutable proposition with a subject, predicate, object, and qualifiers.";
18
+ readonly label: "Statement";
19
+ }, {
20
+ readonly code: "assertion";
21
+ readonly description: "An attributable stance toward a statement.";
22
+ readonly label: "Assertion";
23
+ }, {
24
+ readonly code: "evidence";
25
+ readonly description: "A typed account of how an observation bears on an assertion.";
26
+ readonly label: "Evidence";
27
+ }, {
28
+ readonly code: "context";
29
+ readonly description: "The scenario and dimensions in which knowledge applies.";
30
+ readonly label: "Context";
31
+ }, {
32
+ readonly code: "inquiry";
33
+ readonly description: "A question and its durable investigation trail.";
34
+ readonly label: "Inquiry";
35
+ }, {
36
+ readonly code: "projection";
37
+ readonly description: "A reproducible view derived from exact knowledge.";
38
+ readonly label: "Projection";
39
+ }];
40
+ export type KnowledgeOntologyIssueCode = "dependency-missing" | "digest-mismatch" | "invalid-input" | "limit-exceeded" | "noncanonical-input";
41
+ export type KnowledgeOntologyResult<T> = Readonly<{
42
+ ok: true;
43
+ value: T;
44
+ }> | Readonly<{
45
+ error: Readonly<{
46
+ code: KnowledgeOntologyIssueCode;
47
+ field: string;
48
+ }>;
49
+ ok: false;
50
+ }>;
51
+ declare const entityIdBrand: unique symbol;
52
+ declare const assertionIdBrand: unique symbol;
53
+ declare const evidenceIdBrand: unique symbol;
54
+ declare const inquiryIdBrand: unique symbol;
55
+ export type KnowledgeEntityId = string & {
56
+ readonly [entityIdBrand]: "KnowledgeEntityId";
57
+ };
58
+ export type KnowledgeAssertionId = string & {
59
+ readonly [assertionIdBrand]: "KnowledgeAssertionId";
60
+ };
61
+ export type KnowledgeEvidenceId = string & {
62
+ readonly [evidenceIdBrand]: "KnowledgeEvidenceId";
63
+ };
64
+ export type KnowledgeInquiryId = string & {
65
+ readonly [inquiryIdBrand]: "KnowledgeInquiryId";
66
+ };
67
+ export declare function parseKnowledgeEntityId(value: unknown): KnowledgeEntityId | null;
68
+ export declare function parseKnowledgeAssertionId(value: unknown): KnowledgeAssertionId | null;
69
+ export declare function parseKnowledgeEvidenceId(value: unknown): KnowledgeEvidenceId | null;
70
+ export declare function parseKnowledgeInquiryId(value: unknown): KnowledgeInquiryId | null;
71
+ export declare const OH_KNOWLEDGE_ENTITY_STATES_V1: readonly ["active", "quarantined", "redirected", "tombstoned"];
72
+ export type KnowledgeEntityStateV1 = (typeof OH_KNOWLEDGE_ENTITY_STATES_V1)[number];
73
+ export type KnowledgeEntityV1 = Readonly<{
74
+ entityId: KnowledgeEntityId;
75
+ identityOperationId: string;
76
+ identityRevision: number;
77
+ redirectEntityId: KnowledgeEntityId | null;
78
+ state: KnowledgeEntityStateV1;
79
+ v: 1;
80
+ }>;
81
+ export declare function parseKnowledgeEntityV1(value: unknown): KnowledgeOntologyResult<KnowledgeEntityV1>;
82
+ export type KnowledgeSchemaRefV1 = Readonly<{
83
+ code: string;
84
+ namespace: string;
85
+ revision: number;
86
+ schemaSha256: Sha256Hex;
87
+ v: 1;
88
+ }>;
89
+ export declare function parseKnowledgeSchemaRefV1(value: unknown): KnowledgeOntologyResult<KnowledgeSchemaRefV1>;
90
+ export type KnowledgeValueV1 = Readonly<{
91
+ entityId: KnowledgeEntityId;
92
+ kind: "entity";
93
+ v: 1;
94
+ }> | Readonly<{
95
+ kind: "text";
96
+ language: string;
97
+ text: string;
98
+ v: 1;
99
+ }> | Readonly<{
100
+ kind: "string";
101
+ v: 1;
102
+ value: string;
103
+ }> | Readonly<{
104
+ kind: "boolean";
105
+ v: 1;
106
+ value: boolean;
107
+ }> | Readonly<{
108
+ kind: "integer" | "decimal";
109
+ v: 1;
110
+ value: string;
111
+ }> | Readonly<{
112
+ kind: "uri";
113
+ uri: string;
114
+ v: 1;
115
+ }> | Readonly<{
116
+ kind: "list" | "set";
117
+ v: 1;
118
+ values: readonly KnowledgeValueV1[];
119
+ }> | Readonly<{
120
+ canonicalizerSha256: Sha256Hex;
121
+ canonicalValue: string;
122
+ kind: "extension";
123
+ mediaType: string;
124
+ schema: KnowledgeSchemaRefV1;
125
+ v: 1;
126
+ valueSha256: Sha256Hex;
127
+ }>;
128
+ export declare function parseKnowledgeValueV1(value: unknown): KnowledgeOntologyResult<KnowledgeValueV1>;
129
+ export declare function verifyKnowledgeValueV1(value: KnowledgeValueV1): KnowledgeOntologyResult<KnowledgeValueV1>;
130
+ export type KnowledgeDimensionV1 = Readonly<{
131
+ predicate: KnowledgeSchemaRefV1;
132
+ v: 1;
133
+ value: KnowledgeValueV1;
134
+ }>;
135
+ export type KnowledgeContextV1 = Readonly<{
136
+ contextSha256: Sha256Hex;
137
+ dimensions: readonly KnowledgeDimensionV1[];
138
+ scenario: "actual" | "counterfactual" | "hypothetical" | "planned";
139
+ v: 1;
140
+ }>;
141
+ export type KnowledgeContextInputV1 = Omit<KnowledgeContextV1, "contextSha256">;
142
+ export declare function createKnowledgeContextV1(input: KnowledgeContextInputV1): KnowledgeOntologyResult<KnowledgeContextV1>;
143
+ export declare function parseKnowledgeContextV1(value: unknown): KnowledgeOntologyResult<KnowledgeContextV1>;
144
+ export type KnowledgeStatementV1 = Readonly<{
145
+ object: KnowledgeValueV1;
146
+ predicate: KnowledgeSchemaRefV1;
147
+ qualifiers: readonly KnowledgeDimensionV1[];
148
+ statementSha256: Sha256Hex;
149
+ subject: KnowledgeEntityId;
150
+ v: 1;
151
+ }>;
152
+ export type KnowledgeStatementInputV1 = Omit<KnowledgeStatementV1, "statementSha256">;
153
+ export declare function createKnowledgeStatementV1(input: KnowledgeStatementInputV1): KnowledgeOntologyResult<KnowledgeStatementV1>;
154
+ export declare function parseKnowledgeStatementV1(value: unknown): KnowledgeOntologyResult<KnowledgeStatementV1>;
155
+ export type KnowledgeAgentRefV1 = Readonly<{
156
+ entityId: KnowledgeEntityId;
157
+ kind: "entity";
158
+ v: 1;
159
+ }> | Readonly<{
160
+ kind: "model";
161
+ model: KnowledgeSchemaRefV1;
162
+ receiptSha256: Sha256Hex;
163
+ v: 1;
164
+ }> | Readonly<{
165
+ authority: KnowledgeSchemaRefV1;
166
+ kind: "system";
167
+ receiptSha256: Sha256Hex;
168
+ v: 1;
169
+ }>;
170
+ export declare const OH_KNOWLEDGE_ACTIVITY_KINDS_V1: readonly ["extraction", "human-entry", "human-review", "import", "model-proposal", "normalization", "publication", "resolution", "transformation"];
171
+ export type KnowledgeActivityKindV1 = (typeof OH_KNOWLEDGE_ACTIVITY_KINDS_V1)[number];
172
+ export type KnowledgeActivityV1 = Readonly<{
173
+ activitySha256: Sha256Hex;
174
+ actor: KnowledgeAgentRefV1;
175
+ inputSha256s: readonly Sha256Hex[];
176
+ kind: KnowledgeActivityKindV1;
177
+ occurredAt: string;
178
+ outputSha256s: readonly Sha256Hex[];
179
+ policySha256: Sha256Hex;
180
+ tool: KnowledgeSchemaRefV1 | null;
181
+ v: 1;
182
+ }>;
183
+ export type KnowledgeActivityInputV1 = Omit<KnowledgeActivityV1, "activitySha256">;
184
+ export declare function createKnowledgeActivityV1(input: KnowledgeActivityInputV1): KnowledgeOntologyResult<KnowledgeActivityV1>;
185
+ export declare function parseKnowledgeActivityV1(value: unknown): KnowledgeOntologyResult<KnowledgeActivityV1>;
186
+ export declare const OH_KNOWLEDGE_ASSERTION_STANCES_V1: readonly ["questions", "refutes", "reports", "supports", "undetermined"];
187
+ export type KnowledgeAssertionStanceV1 = (typeof OH_KNOWLEDGE_ASSERTION_STANCES_V1)[number];
188
+ export declare const OH_KNOWLEDGE_ASSERTION_STATES_V1: readonly ["accepted-for-purpose", "disputed", "proposed", "reviewed", "superseded", "withdrawn"];
189
+ export type KnowledgeAssertionStateV1 = (typeof OH_KNOWLEDGE_ASSERTION_STATES_V1)[number];
190
+ export type KnowledgeAssertionV1 = Readonly<{
191
+ acceptedPurposes: readonly string[];
192
+ assertionId: KnowledgeAssertionId;
193
+ assertionSha256: Sha256Hex;
194
+ assertor: KnowledgeAgentRefV1;
195
+ confidence: KnowledgeSchemaRefV1 | null;
196
+ contextSha256: Sha256Hex | null;
197
+ provenanceActivitySha256: Sha256Hex;
198
+ reviewActivitySha256: Sha256Hex | null;
199
+ stance: KnowledgeAssertionStanceV1;
200
+ state: KnowledgeAssertionStateV1;
201
+ statementSha256: Sha256Hex;
202
+ v: 1;
203
+ }>;
204
+ export type KnowledgeAssertionInputV1 = Omit<KnowledgeAssertionV1, "assertionSha256">;
205
+ export declare function createKnowledgeAssertionV1(input: KnowledgeAssertionInputV1): KnowledgeOntologyResult<KnowledgeAssertionV1>;
206
+ export declare function parseKnowledgeAssertionV1(value: unknown): KnowledgeOntologyResult<KnowledgeAssertionV1>;
207
+ export declare const OH_KNOWLEDGE_EVIDENCE_BEARINGS_V1: readonly ["background", "contradicts", "corroborates", "direct-observation", "method", "quotation", "registry-record", "supports"];
208
+ export type KnowledgeEvidenceBearingV1 = (typeof OH_KNOWLEDGE_EVIDENCE_BEARINGS_V1)[number];
209
+ export type KnowledgeEvidenceLinkV1 = Readonly<{
210
+ assertionSha256: Sha256Hex;
211
+ bearing: KnowledgeEvidenceBearingV1;
212
+ disclosure: "private" | "public" | "shared";
213
+ evidenceId: KnowledgeEvidenceId;
214
+ evidenceSha256: Sha256Hex;
215
+ observationSha256: Sha256Hex | null;
216
+ provenanceActivitySha256: Sha256Hex;
217
+ selector: string | null;
218
+ sourceEntityId: KnowledgeEntityId | null;
219
+ v: 1;
220
+ }>;
221
+ export type KnowledgeEvidenceLinkInputV1 = Omit<KnowledgeEvidenceLinkV1, "evidenceSha256">;
222
+ export declare function createKnowledgeEvidenceLinkV1(input: KnowledgeEvidenceLinkInputV1): KnowledgeOntologyResult<KnowledgeEvidenceLinkV1>;
223
+ export declare function parseKnowledgeEvidenceLinkV1(value: unknown): KnowledgeOntologyResult<KnowledgeEvidenceLinkV1>;
224
+ export type KnowledgeInquiryV1 = Readonly<{
225
+ answerForm: string;
226
+ authorEntityId: KnowledgeEntityId;
227
+ contextSha256: Sha256Hex | null;
228
+ createdAt: string;
229
+ inquiryId: KnowledgeInquiryId;
230
+ inquirySha256: Sha256Hex;
231
+ language: string;
232
+ parentInquiryIds: readonly KnowledgeInquiryId[];
233
+ privacy: "private" | "public" | "shared";
234
+ question: string;
235
+ status: "abandoned" | "open" | "paused" | "resolved";
236
+ v: 1;
237
+ }>;
238
+ export type KnowledgeInquiryInputV1 = Omit<KnowledgeInquiryV1, "inquirySha256">;
239
+ export declare function createKnowledgeInquiryV1(input: KnowledgeInquiryInputV1): KnowledgeOntologyResult<KnowledgeInquiryV1>;
240
+ export declare function parseKnowledgeInquiryV1(value: unknown): KnowledgeOntologyResult<KnowledgeInquiryV1>;
241
+ export {};
242
+ //# sourceMappingURL=ontology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../src/ontology.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type Sha256Hex } from "./canonical";
2
+ import { OH_CONTRACT_ID_V1 } from "./ontology";
3
+ import { type KnowledgeGraphChangeV1 } from "./graph";
4
+ export { graphRevisionSha256V1 } from "./graph";
5
+ export declare const OH_OPERATION_MAX_BYTES_V1: number;
6
+ export type OhOperationPayloadV1 = Readonly<{
7
+ actorId: string;
8
+ changes: readonly KnowledgeGraphChangeV1[];
9
+ contractId: typeof OH_CONTRACT_ID_V1;
10
+ graphRevisionSha256: Sha256Hex;
11
+ instant: string;
12
+ operationId: string;
13
+ parentOperationSha256: Sha256Hex | null;
14
+ recordsSha256: Sha256Hex;
15
+ sequence: number;
16
+ spaceId: string;
17
+ v: 1;
18
+ }>;
19
+ export type OhOperationV1 = OhOperationPayloadV1 & Readonly<{
20
+ operationSha256: Sha256Hex;
21
+ }>;
22
+ export declare function createOhOperationV1(input: OhOperationPayloadV1): OhOperationV1;
23
+ export declare function parseOhOperationV1(value: unknown): OhOperationV1 | null;
24
+ //# sourceMappingURL=operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../src/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAwD,KAAK,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE5G,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,eAAO,MAAM,yBAAyB,QAAmB,CAAC;AAE1D,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3C,UAAU,EAAE,OAAO,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,SAAS,GAAG,IAAI,CAAC;IACxC,aAAa,EAAE,SAAS,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,CAAC;CACN,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,QAAQ,CAAC;IAAE,eAAe,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AA6B5F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,GAAG,aAAa,CAQ9E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CASvE"}
@@ -0,0 +1,59 @@
1
+ import * as Projection from "./projection";
2
+ export declare const OH_PROJECTION_FORMAT_VERSION_V1: 1;
3
+ export declare const OH_PROJECTION_INTERNAL_ENGINE_V1: "oh.naive.positive.v1";
4
+ export declare const OH_PROJECTION_LIMITS_V1: Readonly<{
5
+ arity: 32;
6
+ atomBytes: number;
7
+ derivedTuples: 262144;
8
+ facts: 262144;
9
+ literalsPerRule: 64;
10
+ proofDepth: 128;
11
+ proofNodes: 4096;
12
+ queryLiterals: 64;
13
+ queryMatches: 262144;
14
+ queryResults: 65536;
15
+ relations: 4096;
16
+ resultBytes: number;
17
+ rounds: 1024;
18
+ rules: 1024;
19
+ sourcesPerFact: 64;
20
+ totalProofNodes: 65536;
21
+ variables: 256;
22
+ workUnits: 16777216;
23
+ }>;
24
+ export declare const OH_PROJECTION_RECORD_FACT_EXTRACTOR_V1: Readonly<{
25
+ extractorSha256: import("./canonical").Sha256Hex;
26
+ factPackId: "oh.record-facts";
27
+ factPackRevision: 1;
28
+ relations: readonly ["oh.dependency", "oh.record"];
29
+ semantics: "oh.projection.positive-datalog.v1";
30
+ v: 1;
31
+ }>;
32
+ export declare const OH_PROJECTION_SEMANTICS_V1: "oh.projection.positive-datalog.v1";
33
+ export declare const createOhProjectionDatasetV1: typeof Projection.createOhProjectionDatasetV1;
34
+ export declare const createOhProjectionFactV1: typeof Projection.createOhProjectionFactV1;
35
+ export declare const createOhProjectionIdentityV1: typeof Projection.createOhProjectionIdentityV1;
36
+ export declare const createOhProjectionLiteralV1: typeof Projection.createOhProjectionLiteralV1;
37
+ export declare const createOhProjectionQueryV1: typeof Projection.createOhProjectionQueryV1;
38
+ export declare const createOhProjectionRecordFactsV1: typeof Projection.createOhProjectionRecordFactsV1;
39
+ export declare const createOhProjectionRulePackV1: typeof Projection.createOhProjectionRulePackV1;
40
+ export declare const createOhProjectionRuleV1: typeof Projection.createOhProjectionRuleV1;
41
+ export declare const createOhProjectionSnapshotV1: typeof Projection.createOhProjectionSnapshotV1;
42
+ export declare const evaluateOhProjectionV1: typeof Projection.evaluateOhProjectionV1;
43
+ export declare const invalidationForOhProjectionV1: typeof Projection.invalidationForOhProjectionV1;
44
+ export declare const isOhProjectionRecordKindV1: typeof Projection.isOhProjectionRecordKindV1;
45
+ export declare const ohProjectionConstantV1: typeof Projection.ohProjectionConstantV1;
46
+ export declare const ohProjectionVariableV1: typeof Projection.ohProjectionVariableV1;
47
+ export declare const parseOhProjectionDatasetV1: typeof Projection.parseOhProjectionDatasetV1;
48
+ export declare const parseOhProjectionFactV1: typeof Projection.parseOhProjectionFactV1;
49
+ export declare const parseOhProjectionIdentityV1: typeof Projection.parseOhProjectionIdentityV1;
50
+ export declare const parseOhProjectionLiteralV1: typeof Projection.parseOhProjectionLiteralV1;
51
+ export declare const parseOhProjectionProofV1: typeof Projection.parseOhProjectionProofV1;
52
+ export declare const parseOhProjectionQueryV1: typeof Projection.parseOhProjectionQueryV1;
53
+ export declare const parseOhProjectionResultV1: typeof Projection.parseOhProjectionResultV1;
54
+ export declare const parseOhProjectionRulePackV1: typeof Projection.parseOhProjectionRulePackV1;
55
+ export declare const parseOhProjectionRuleV1: typeof Projection.parseOhProjectionRuleV1;
56
+ export declare const parseOhProjectionSnapshotV1: typeof Projection.parseOhProjectionSnapshotV1;
57
+ export declare const parseOhProjectionTermV1: typeof Projection.parseOhProjectionTermV1;
58
+ export type { OhProjectionAtomV1, OhProjectionDatasetV1, OhProjectionEvaluationOptionsV1, OhProjectionFactSourceV1, OhProjectionFactV1, OhProjectionIdentityV1, OhProjectionInvalidationReasonV1, OhProjectionInvalidationV1, OhProjectionLiteralV1, OhProjectionProofV1, OhProjectionQueryV1, OhProjectionRecordFactOptionsV1, OhProjectionResultRowV1, OhProjectionResultV1, OhProjectionRulePackV1, OhProjectionRuleV1, OhProjectionSnapshotV1, OhProjectionTermV1, } from "./projection";
59
+ //# sourceMappingURL=projection-public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection-public.d.ts","sourceRoot":"","sources":["../src/projection-public.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,eAAO,MAAM,+BAA+B,GAA6C,CAAC;AAC1F,eAAO,MAAM,gCAAgC,wBAA8C,CAAC;AAC5F,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;EAAqC,CAAC;AAC1E,eAAO,MAAM,sCAAsC;;;;;;;EAAoD,CAAC;AACxG,eAAO,MAAM,0BAA0B,qCAAwC,CAAC;AAChF,eAAO,MAAM,2BAA2B,+CAAyC,CAAC;AAClF,eAAO,MAAM,wBAAwB,4CAAsC,CAAC;AAC5E,eAAO,MAAM,4BAA4B,gDAA0C,CAAC;AACpF,eAAO,MAAM,2BAA2B,+CAAyC,CAAC;AAClF,eAAO,MAAM,yBAAyB,6CAAuC,CAAC;AAC9E,eAAO,MAAM,+BAA+B,mDAA6C,CAAC;AAC1F,eAAO,MAAM,4BAA4B,gDAA0C,CAAC;AACpF,eAAO,MAAM,wBAAwB,4CAAsC,CAAC;AAC5E,eAAO,MAAM,4BAA4B,gDAA0C,CAAC;AACpF,eAAO,MAAM,sBAAsB,0CAAoC,CAAC;AACxE,eAAO,MAAM,6BAA6B,iDAA2C,CAAC;AACtF,eAAO,MAAM,0BAA0B,8CAAwC,CAAC;AAChF,eAAO,MAAM,sBAAsB,0CAAoC,CAAC;AACxE,eAAO,MAAM,sBAAsB,0CAAoC,CAAC;AACxE,eAAO,MAAM,0BAA0B,8CAAwC,CAAC;AAChF,eAAO,MAAM,uBAAuB,2CAAqC,CAAC;AAC1E,eAAO,MAAM,2BAA2B,+CAAyC,CAAC;AAClF,eAAO,MAAM,0BAA0B,8CAAwC,CAAC;AAChF,eAAO,MAAM,wBAAwB,4CAAsC,CAAC;AAC5E,eAAO,MAAM,wBAAwB,4CAAsC,CAAC;AAC5E,eAAO,MAAM,yBAAyB,6CAAuC,CAAC;AAC9E,eAAO,MAAM,2BAA2B,+CAAyC,CAAC;AAClF,eAAO,MAAM,uBAAuB,2CAAqC,CAAC;AAC1E,eAAO,MAAM,2BAA2B,+CAAyC,CAAC;AAClF,eAAO,MAAM,uBAAuB,2CAAqC,CAAC;AAE1E,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,+BAA+B,EAC/B,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,gCAAgC,EAChC,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,cAAc,CAAC"}