@factoidal/core 0.7.1 → 0.10.0

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 (193) hide show
  1. package/CHANGELOG.md +503 -1
  2. package/NOTICE +2 -21
  3. package/README.md +117 -993
  4. package/api.d.ts +53 -0
  5. package/api.js +5 -0
  6. package/api.mjs +56 -0
  7. package/bin/engine.mjs +38 -19
  8. package/bin/factoidal.mjs +512 -66
  9. package/bin/pack.mjs +37 -0
  10. package/bin/serve-worker.mjs +32 -0
  11. package/bin/serve.mjs +423 -0
  12. package/bin/store-worker-host.mjs +1 -1
  13. package/bin/store.mjs +1 -1
  14. package/browser.d.ts +110 -507
  15. package/browser.js +151 -2257
  16. package/docs/fuseki-replacement.md +108 -0
  17. package/fn.d.ts +24 -95
  18. package/fn.js +104 -150
  19. package/index.d.ts +598 -259
  20. package/index.js +4 -234
  21. package/index.mjs +176 -84
  22. package/l4-assets/l4factoidal.js +47 -7
  23. package/l4-assets/l4factoidal.mjs +1 -1
  24. package/l4-assets/l4factoidal.wasm +0 -0
  25. package/l4-assets/version.json +11 -7
  26. package/lib/api.mjs +2300 -0
  27. package/lib/browser-engine.mjs +69 -0
  28. package/lib/dataset.mjs +377 -0
  29. package/lib/delta-log-hosts.mjs +191 -0
  30. package/lib/lean-entry.mjs +204 -0
  31. package/lib/pure.mjs +98 -0
  32. package/lib/store.mjs +115 -0
  33. package/lib/version.mjs +5 -0
  34. package/lws/README.md +97 -0
  35. package/lws/server.mjs +331 -0
  36. package/package.json +59 -61
  37. package/rdfjs.js +5 -536
  38. package/rdfjs.mjs +594 -0
  39. package/sample-store.d.ts +8 -16
  40. package/sample-store.mjs +39 -29
  41. package/solid/client/README.md +100 -0
  42. package/solid/client/index.mjs +277 -0
  43. package/solid/server/README.md +96 -0
  44. package/solid/server/index.mjs +317 -0
  45. package/store-host/deno.mjs +8 -0
  46. package/store-host/index.mjs +12 -0
  47. package/store-host/node.mjs +8 -0
  48. package/xmpp/README.md +107 -0
  49. package/xmpp/index.mjs +229 -0
  50. package/browser-wasm.js +0 -872
  51. package/factoidal-npm-entry.js +0 -15477
  52. package/factoidal-npm-entry.wasm.assets/code-5a7fc68f2ab1323718b8.wasm +0 -0
  53. package/factoidal-npm-entry.wasm.js +0 -455
  54. package/factoidal.js +0 -13118
  55. package/factoidal.wasm.assets/code-bbe6099bfb5b10c4c3ab.wasm +0 -0
  56. package/factoidal.wasm.js +0 -457
  57. package/hacl-init.js +0 -92
  58. package/hacl-wasm/FStar.wasm +0 -0
  59. package/hacl-wasm/Hacl_Bignum.wasm +0 -0
  60. package/hacl-wasm/Hacl_Bignum25519_51.wasm +0 -0
  61. package/hacl-wasm/Hacl_Bignum_Base.wasm +0 -0
  62. package/hacl-wasm/Hacl_Curve25519_51.wasm +0 -0
  63. package/hacl-wasm/Hacl_Ed25519.wasm +0 -0
  64. package/hacl-wasm/Hacl_Ed25519_PrecompTable.wasm +0 -0
  65. package/hacl-wasm/Hacl_Hash_Base.wasm +0 -0
  66. package/hacl-wasm/Hacl_Hash_SHA2.wasm +0 -0
  67. package/hacl-wasm/Hacl_IntTypes_Intrinsics.wasm +0 -0
  68. package/hacl-wasm/LowStar_Endianness.wasm +0 -0
  69. package/hacl-wasm/WasmSupport.wasm +0 -0
  70. package/hacl-wasm/api.js +0 -775
  71. package/hacl-wasm/api.json +0 -3787
  72. package/hacl-wasm/layouts.json +0 -1
  73. package/hacl-wasm/loader.js +0 -568
  74. package/hacl-wasm/shell.js +0 -12
  75. package/l4-core.d.ts +0 -159
  76. package/l4-core.js +0 -188
  77. package/l4.d.ts +0 -50
  78. package/l4.js +0 -104
  79. package/lib/api.js +0 -2300
  80. package/lib/engine-js.js +0 -165
  81. package/lib/engine-wasm.js +0 -300
  82. package/sample-store/CURRENT +0 -1
  83. package/sample-store/gen-1/manifest.sbm2 +0 -0
  84. package/sample-store/gen-1/manifest.tsv +0 -14
  85. package/sample-store/gen-1/predicate-0.ibk3 +0 -0
  86. package/sample-store/gen-1/predicate-0.ibk3.merkle +0 -1
  87. package/sample-store/gen-1/predicate-0.ibk3.oli2 +0 -0
  88. package/sample-store/gen-1/predicate-0.ibk3.oli2.merkle +0 -1
  89. package/sample-store/gen-1/predicate-0.ibk3.sri2 +0 -0
  90. package/sample-store/gen-1/predicate-0.ibk3.sri2.merkle +0 -1
  91. package/sample-store/gen-1/predicate-0.ibk3.tli1 +0 -0
  92. package/sample-store/gen-1/predicate-0.ibk3.tli1.merkle +0 -0
  93. package/sample-store/gen-1/predicate-1.ibk3 +0 -0
  94. package/sample-store/gen-1/predicate-1.ibk3.merkle +0 -0
  95. package/sample-store/gen-1/predicate-1.ibk3.oli2 +0 -0
  96. package/sample-store/gen-1/predicate-1.ibk3.oli2.merkle +0 -0
  97. package/sample-store/gen-1/predicate-1.ibk3.sri2 +0 -0
  98. package/sample-store/gen-1/predicate-1.ibk3.sri2.merkle +0 -1
  99. package/sample-store/gen-1/predicate-1.ibk3.tli1 +0 -0
  100. package/sample-store/gen-1/predicate-1.ibk3.tli1.merkle +0 -1
  101. package/sample-store/gen-1/predicate-10.ibk3 +0 -0
  102. package/sample-store/gen-1/predicate-10.ibk3.merkle +0 -1
  103. package/sample-store/gen-1/predicate-10.ibk3.oli2 +0 -0
  104. package/sample-store/gen-1/predicate-10.ibk3.oli2.merkle +0 -0
  105. package/sample-store/gen-1/predicate-10.ibk3.sri2 +0 -0
  106. package/sample-store/gen-1/predicate-10.ibk3.sri2.merkle +0 -1
  107. package/sample-store/gen-1/predicate-10.ibk3.tli1 +0 -0
  108. package/sample-store/gen-1/predicate-10.ibk3.tli1.merkle +0 -1
  109. package/sample-store/gen-1/predicate-11.ibk3 +0 -0
  110. package/sample-store/gen-1/predicate-11.ibk3.merkle +0 -0
  111. package/sample-store/gen-1/predicate-11.ibk3.oli2 +0 -0
  112. package/sample-store/gen-1/predicate-11.ibk3.oli2.merkle +0 -1
  113. package/sample-store/gen-1/predicate-11.ibk3.sri2 +0 -0
  114. package/sample-store/gen-1/predicate-11.ibk3.sri2.merkle +0 -1
  115. package/sample-store/gen-1/predicate-11.ibk3.tli1 +0 -0
  116. package/sample-store/gen-1/predicate-11.ibk3.tli1.merkle +0 -1
  117. package/sample-store/gen-1/predicate-12.ibk3 +0 -0
  118. package/sample-store/gen-1/predicate-12.ibk3.merkle +0 -1
  119. package/sample-store/gen-1/predicate-12.ibk3.oli2 +0 -0
  120. package/sample-store/gen-1/predicate-12.ibk3.oli2.merkle +0 -1
  121. package/sample-store/gen-1/predicate-12.ibk3.sri2 +0 -0
  122. package/sample-store/gen-1/predicate-12.ibk3.sri2.merkle +0 -1
  123. package/sample-store/gen-1/predicate-12.ibk3.tli1 +0 -0
  124. package/sample-store/gen-1/predicate-12.ibk3.tli1.merkle +0 -1
  125. package/sample-store/gen-1/predicate-2.ibk3 +0 -0
  126. package/sample-store/gen-1/predicate-2.ibk3.merkle +0 -1
  127. package/sample-store/gen-1/predicate-2.ibk3.oli2 +0 -0
  128. package/sample-store/gen-1/predicate-2.ibk3.oli2.merkle +0 -1
  129. package/sample-store/gen-1/predicate-2.ibk3.sri2 +0 -0
  130. package/sample-store/gen-1/predicate-2.ibk3.sri2.merkle +0 -0
  131. package/sample-store/gen-1/predicate-2.ibk3.tli1 +0 -0
  132. package/sample-store/gen-1/predicate-2.ibk3.tli1.merkle +0 -0
  133. package/sample-store/gen-1/predicate-3.ibk3 +0 -0
  134. package/sample-store/gen-1/predicate-3.ibk3.merkle +0 -1
  135. package/sample-store/gen-1/predicate-3.ibk3.oli2 +0 -0
  136. package/sample-store/gen-1/predicate-3.ibk3.oli2.merkle +0 -1
  137. package/sample-store/gen-1/predicate-3.ibk3.sri2 +0 -0
  138. package/sample-store/gen-1/predicate-3.ibk3.sri2.merkle +0 -1
  139. package/sample-store/gen-1/predicate-3.ibk3.tli1 +0 -0
  140. package/sample-store/gen-1/predicate-3.ibk3.tli1.merkle +0 -1
  141. package/sample-store/gen-1/predicate-4.ibk3 +0 -0
  142. package/sample-store/gen-1/predicate-4.ibk3.merkle +0 -0
  143. package/sample-store/gen-1/predicate-4.ibk3.oli2 +0 -0
  144. package/sample-store/gen-1/predicate-4.ibk3.oli2.merkle +0 -1
  145. package/sample-store/gen-1/predicate-4.ibk3.sri2 +0 -0
  146. package/sample-store/gen-1/predicate-4.ibk3.sri2.merkle +0 -1
  147. package/sample-store/gen-1/predicate-4.ibk3.tli1 +0 -0
  148. package/sample-store/gen-1/predicate-4.ibk3.tli1.merkle +0 -2
  149. package/sample-store/gen-1/predicate-5.ibk3 +0 -0
  150. package/sample-store/gen-1/predicate-5.ibk3.merkle +0 -1
  151. package/sample-store/gen-1/predicate-5.ibk3.oli2 +0 -0
  152. package/sample-store/gen-1/predicate-5.ibk3.oli2.merkle +0 -1
  153. package/sample-store/gen-1/predicate-5.ibk3.sri2 +0 -0
  154. package/sample-store/gen-1/predicate-5.ibk3.sri2.merkle +0 -1
  155. package/sample-store/gen-1/predicate-5.ibk3.tli1 +0 -0
  156. package/sample-store/gen-1/predicate-5.ibk3.tli1.merkle +0 -1
  157. package/sample-store/gen-1/predicate-6.ibk3 +0 -0
  158. package/sample-store/gen-1/predicate-6.ibk3.merkle +0 -1
  159. package/sample-store/gen-1/predicate-6.ibk3.oli2 +0 -0
  160. package/sample-store/gen-1/predicate-6.ibk3.oli2.merkle +0 -1
  161. package/sample-store/gen-1/predicate-6.ibk3.sri2 +0 -0
  162. package/sample-store/gen-1/predicate-6.ibk3.sri2.merkle +0 -1
  163. package/sample-store/gen-1/predicate-6.ibk3.tli1 +0 -0
  164. package/sample-store/gen-1/predicate-6.ibk3.tli1.merkle +0 -0
  165. package/sample-store/gen-1/predicate-7.ibk3 +0 -0
  166. package/sample-store/gen-1/predicate-7.ibk3.merkle +0 -0
  167. package/sample-store/gen-1/predicate-7.ibk3.oli2 +0 -0
  168. package/sample-store/gen-1/predicate-7.ibk3.oli2.merkle +0 -2
  169. package/sample-store/gen-1/predicate-7.ibk3.sri2 +0 -0
  170. package/sample-store/gen-1/predicate-7.ibk3.sri2.merkle +0 -1
  171. package/sample-store/gen-1/predicate-7.ibk3.tli1 +0 -0
  172. package/sample-store/gen-1/predicate-7.ibk3.tli1.merkle +0 -1
  173. package/sample-store/gen-1/predicate-8.ibk3 +0 -0
  174. package/sample-store/gen-1/predicate-8.ibk3.merkle +0 -1
  175. package/sample-store/gen-1/predicate-8.ibk3.oli2 +0 -0
  176. package/sample-store/gen-1/predicate-8.ibk3.oli2.merkle +0 -1
  177. package/sample-store/gen-1/predicate-8.ibk3.sri2 +0 -0
  178. package/sample-store/gen-1/predicate-8.ibk3.sri2.merkle +0 -1
  179. package/sample-store/gen-1/predicate-8.ibk3.tli1 +0 -0
  180. package/sample-store/gen-1/predicate-8.ibk3.tli1.merkle +0 -1
  181. package/sample-store/gen-1/predicate-9.ibk3 +0 -0
  182. package/sample-store/gen-1/predicate-9.ibk3.merkle +0 -1
  183. package/sample-store/gen-1/predicate-9.ibk3.oli2 +0 -0
  184. package/sample-store/gen-1/predicate-9.ibk3.oli2.merkle +0 -1
  185. package/sample-store/gen-1/predicate-9.ibk3.sri2 +0 -0
  186. package/sample-store/gen-1/predicate-9.ibk3.sri2.merkle +0 -3
  187. package/sample-store/gen-1/predicate-9.ibk3.tli1 +0 -0
  188. package/sample-store/gen-1/predicate-9.ibk3.tli1.merkle +0 -2
  189. package/select.d.ts +0 -116
  190. package/select.js +0 -492
  191. package/version.json +0 -102
  192. package/wasm.d.ts +0 -130
  193. package/wasm.js +0 -158
@@ -1 +0,0 @@
1
- �$�����B�7�!bUs�2���1��S�f
@@ -1 +0,0 @@
1
- 5c�X���,'C����8DYӻ[����t�@�/l
@@ -1,2 +0,0 @@
1
- X��N�����(`tw8a�sdR���
2
- H�:���
Binary file
@@ -1 +0,0 @@
1
- '�=�U)B:��ӯ�ٳ�{I��4FoֹJKA
@@ -1 +0,0 @@
1
- i���<�%4�0���z."~�v4n�* $ǝ
@@ -1 +0,0 @@
1
- ��(WUVh�ؠ$w���6�zh��L�Qo���
@@ -1 +0,0 @@
1
- �Đ��5 �k��EQ2��zE��;��oɗ�
Binary file
@@ -1 +0,0 @@
1
- ���2N����Y�M~8������3�(z>l�r��
@@ -1 +0,0 @@
1
- �6�� %v� .+u���}0�v�0��������
@@ -1 +0,0 @@
1
- q�/F����AL&��z�1�z�YP�x#
Binary file
@@ -1,2 +0,0 @@
1
- �w�#���H��Ѐ:4����<V�
2
- Q�n��
@@ -1 +0,0 @@
1
- �~��CV�L��3&#�|��D�6�� ��
@@ -1 +0,0 @@
1
- �8}� �P0�oK���5t ����8�fOR�
Binary file
@@ -1 +0,0 @@
1
- _��k��2Ǟ��bk[�r�Փ���>+�8�"
@@ -1 +0,0 @@
1
- ���]",�b��\�B\�$o n�ΰ�gcEb
@@ -1 +0,0 @@
1
- `��y�
Binary file
@@ -1 +0,0 @@
1
- Zvt&��Sv�V�u¹t��ڼ{7�MP��j*
@@ -1 +0,0 @@
1
- !'M�Uw����,GD��������A�|���a�
@@ -1,3 +0,0 @@
1
- ��9\X��
2
- �
3
- �cGC�%Mο�c���*��G?
@@ -1,2 +0,0 @@
1
- �
2
- >��fa���?��i�+-N���>R��
package/select.d.ts DELETED
@@ -1,116 +0,0 @@
1
- // TypeScript declarations for factoidal/select — the backend selector
2
- // (issue #618): one typed surface over both the F* engine (./index.js)
3
- // and the Lean 4 engine (./l4-core.js), with an explicit, observable
4
- // lean/fstar/lean1st/fstar1st/slowcompareboth switch. See select.js for
5
- // the full design rationale and the sub-question decisions.
6
-
7
- export type Backend = 'lean' | 'fstar' | 'lean1st' | 'fstar1st' | 'slowcompareboth';
8
-
9
- export const BACKENDS: readonly Backend[];
10
-
11
- /** Function names the selector can route (see select.js's ALWAYS_IF_ENTRY/CAP_FLAG). */
12
- export const ROUTABLE: readonly string[];
13
-
14
- export interface CallOptions {
15
- /** Per-call override of the selector instance's default backend. */
16
- backend?: Backend;
17
- /** lean1st/fstar1st only: function names routed to the OTHER engine
18
- * regardless of what the primary engine implements. */
19
- overrideFns?: string[];
20
- }
21
-
22
- export interface SingleEngineResult<T> {
23
- engine: 'lean' | 'fstar';
24
- backend: Backend;
25
- value: T;
26
- }
27
-
28
- export interface CompareBothResult<T> {
29
- engine: 'both';
30
- backend: 'slowcompareboth';
31
- /** false is a reportable finding, not a thrown error. */
32
- agree: boolean;
33
- comparison: { method: string };
34
- lean: T;
35
- fstar: T;
36
- }
37
-
38
- export type SelectResult<T> = SingleEngineResult<T> | CompareBothResult<T>;
39
-
40
- /** { lean: boolean, fstar: boolean } per routable function name, derived live. */
41
- export type CapabilityTable = Record<string, { lean: boolean; fstar: boolean }>;
42
-
43
- export function capabilityTable(): Promise<CapabilityTable>;
44
- export function engineSupports(engineApi: unknown, fnName: string): Promise<boolean>;
45
- export function compareValues(
46
- fnName: string, leanValue: unknown, fstarValue: unknown
47
- ): Promise<{ equal: boolean; method: string }>;
48
-
49
- export interface SelectorOptions {
50
- backend?: Backend;
51
- overrideFns?: string[];
52
- }
53
-
54
- export interface Selector {
55
- readonly backend: Backend;
56
- readonly overrideFns: string[];
57
- call(fnName: string, args: unknown[], callOptions?: CallOptions): Promise<SelectResult<unknown>>;
58
- capabilityTable(): Promise<CapabilityTable>;
59
- parse(text: string, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
60
- query(data: unknown, sparql: string, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
61
- update(data: unknown, updateText: string, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
62
- serialize(data: unknown, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<string>>;
63
- canonicalize(data: unknown, callOptions?: CallOptions): Promise<SelectResult<string>>;
64
- canonicalHash(data: unknown, callOptions?: CallOptions): Promise<SelectResult<string>>;
65
- graphs(data: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
66
- owlClosure(data: unknown, mode: string, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
67
- owlIsConsistent(data: unknown, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
68
- owlEntails(premise: unknown, conclusion: unknown, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
69
- coreRdfsClosure(data: unknown, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
70
- coreRdfsCheck(data: unknown, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
71
- rhoDfClosure(data: unknown, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
72
- rhoDfFragmentCheck(data: unknown, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
73
- rdfsPlusClosure(data: unknown, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
74
- shaclValidate(data: unknown, shapes: unknown, options?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
75
- shexValidate(data: unknown, schema: string, focus: unknown, shape?: unknown, callOptions?: CallOptions): Promise<SelectResult<unknown>>;
76
- /** Lean-only: `backend:'fstar'` throws (formal/fstar has no CL/IKL parser). */
77
- clParse(clifText: string, callOptions?: CallOptions): Promise<SelectResult<{
78
- ok: boolean;
79
- sentences: number;
80
- pureCL: boolean;
81
- normalized: string;
82
- }>>;
83
- /** Lean-only, same reason as clParse. `roundTripProved` is always
84
- * `false` -- `clif_roundTrip` is an OPEN lemma; see l4-core.d.ts. */
85
- clSerialize(clifText: string, callOptions?: CallOptions): Promise<SelectResult<{
86
- ok: boolean;
87
- clif: string;
88
- sentences: number;
89
- roundTripProved: false;
90
- }>>;
91
- /** Lean-only, same reason as clParse. Bound-variable-renaming
92
- * canonical form (IKL GUIDE Appendix B condition (1)). */
93
- clAlphaNorm(clifText: string, callOptions?: CallOptions): Promise<SelectResult<{
94
- ok: boolean;
95
- clif: string;
96
- sentences: number;
97
- }>>;
98
- /** Lean-only, same reason as clParse. Preserves SATISFIABILITY, not
99
- * equivalence; `noIntrusion` is the proof hypothesis itself, not a
100
- * paraphrase -- see l4-core.d.ts. */
101
- clNormalize(clifText: string, callOptions?: CallOptions): Promise<SelectResult<{
102
- ok: boolean;
103
- head: string[];
104
- tail: string[];
105
- clif: string;
106
- sentences: number;
107
- thatCount: number;
108
- noIntrusion: boolean;
109
- preserves: 'satisfiability';
110
- provedUnder: string;
111
- }>>;
112
- // clFiniteSat has no named sugar here (owner decision, 2026-08-26):
113
- // use call('clFiniteSat', [interpJson, clifText], callOptions).
114
- }
115
-
116
- export function createSelector(options?: SelectorOptions): Selector;