@factoidal/core 0.7.1 → 0.11.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 (195) hide show
  1. package/CHANGELOG.md +616 -1
  2. package/NOTICE +2 -21
  3. package/README.md +123 -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/ext.mjs +16 -20
  9. package/bin/factoidal.mjs +667 -118
  10. package/bin/pack.mjs +37 -0
  11. package/bin/serve-worker.mjs +32 -0
  12. package/bin/serve.mjs +423 -0
  13. package/bin/store-worker-host.mjs +1 -1
  14. package/bin/store.mjs +1 -1
  15. package/browser.d.ts +114 -507
  16. package/browser.js +155 -2257
  17. package/docs/fuseki-replacement.md +108 -0
  18. package/fn.d.ts +25 -96
  19. package/fn.js +131 -240
  20. package/index.d.ts +620 -260
  21. package/index.js +4 -234
  22. package/index.mjs +180 -84
  23. package/l4-assets/l4factoidal.js +47 -7
  24. package/l4-assets/l4factoidal.mjs +1 -1
  25. package/l4-assets/l4factoidal.wasm +0 -0
  26. package/l4-assets/version.json +11 -7
  27. package/lib/api.mjs +2337 -0
  28. package/lib/browser-engine.mjs +69 -0
  29. package/lib/dataset.mjs +471 -0
  30. package/lib/delta-log-hosts.mjs +191 -0
  31. package/lib/lean-entry.mjs +213 -0
  32. package/lib/pure.mjs +98 -0
  33. package/lib/store.mjs +115 -0
  34. package/lib/version.mjs +5 -0
  35. package/lws/README.md +137 -0
  36. package/lws/persist.mjs +78 -0
  37. package/lws/server.mjs +416 -0
  38. package/package.json +59 -61
  39. package/rdfjs.js +5 -536
  40. package/rdfjs.mjs +517 -0
  41. package/sample-store.d.ts +8 -16
  42. package/sample-store.mjs +39 -29
  43. package/solid/client/README.md +100 -0
  44. package/solid/client/index.mjs +293 -0
  45. package/solid/server/README.md +96 -0
  46. package/solid/server/index.mjs +395 -0
  47. package/store-host/deno.mjs +8 -0
  48. package/store-host/index.mjs +12 -0
  49. package/store-host/node.mjs +8 -0
  50. package/xmpp/README.md +107 -0
  51. package/xmpp/index.mjs +229 -0
  52. package/browser-wasm.js +0 -872
  53. package/factoidal-npm-entry.js +0 -15477
  54. package/factoidal-npm-entry.wasm.assets/code-5a7fc68f2ab1323718b8.wasm +0 -0
  55. package/factoidal-npm-entry.wasm.js +0 -455
  56. package/factoidal.js +0 -13118
  57. package/factoidal.wasm.assets/code-bbe6099bfb5b10c4c3ab.wasm +0 -0
  58. package/factoidal.wasm.js +0 -457
  59. package/hacl-init.js +0 -92
  60. package/hacl-wasm/FStar.wasm +0 -0
  61. package/hacl-wasm/Hacl_Bignum.wasm +0 -0
  62. package/hacl-wasm/Hacl_Bignum25519_51.wasm +0 -0
  63. package/hacl-wasm/Hacl_Bignum_Base.wasm +0 -0
  64. package/hacl-wasm/Hacl_Curve25519_51.wasm +0 -0
  65. package/hacl-wasm/Hacl_Ed25519.wasm +0 -0
  66. package/hacl-wasm/Hacl_Ed25519_PrecompTable.wasm +0 -0
  67. package/hacl-wasm/Hacl_Hash_Base.wasm +0 -0
  68. package/hacl-wasm/Hacl_Hash_SHA2.wasm +0 -0
  69. package/hacl-wasm/Hacl_IntTypes_Intrinsics.wasm +0 -0
  70. package/hacl-wasm/LowStar_Endianness.wasm +0 -0
  71. package/hacl-wasm/WasmSupport.wasm +0 -0
  72. package/hacl-wasm/api.js +0 -775
  73. package/hacl-wasm/api.json +0 -3787
  74. package/hacl-wasm/layouts.json +0 -1
  75. package/hacl-wasm/loader.js +0 -568
  76. package/hacl-wasm/shell.js +0 -12
  77. package/l4-core.d.ts +0 -159
  78. package/l4-core.js +0 -188
  79. package/l4.d.ts +0 -50
  80. package/l4.js +0 -104
  81. package/lib/api.js +0 -2300
  82. package/lib/engine-js.js +0 -165
  83. package/lib/engine-wasm.js +0 -300
  84. package/sample-store/CURRENT +0 -1
  85. package/sample-store/gen-1/manifest.sbm2 +0 -0
  86. package/sample-store/gen-1/manifest.tsv +0 -14
  87. package/sample-store/gen-1/predicate-0.ibk3 +0 -0
  88. package/sample-store/gen-1/predicate-0.ibk3.merkle +0 -1
  89. package/sample-store/gen-1/predicate-0.ibk3.oli2 +0 -0
  90. package/sample-store/gen-1/predicate-0.ibk3.oli2.merkle +0 -1
  91. package/sample-store/gen-1/predicate-0.ibk3.sri2 +0 -0
  92. package/sample-store/gen-1/predicate-0.ibk3.sri2.merkle +0 -1
  93. package/sample-store/gen-1/predicate-0.ibk3.tli1 +0 -0
  94. package/sample-store/gen-1/predicate-0.ibk3.tli1.merkle +0 -0
  95. package/sample-store/gen-1/predicate-1.ibk3 +0 -0
  96. package/sample-store/gen-1/predicate-1.ibk3.merkle +0 -0
  97. package/sample-store/gen-1/predicate-1.ibk3.oli2 +0 -0
  98. package/sample-store/gen-1/predicate-1.ibk3.oli2.merkle +0 -0
  99. package/sample-store/gen-1/predicate-1.ibk3.sri2 +0 -0
  100. package/sample-store/gen-1/predicate-1.ibk3.sri2.merkle +0 -1
  101. package/sample-store/gen-1/predicate-1.ibk3.tli1 +0 -0
  102. package/sample-store/gen-1/predicate-1.ibk3.tli1.merkle +0 -1
  103. package/sample-store/gen-1/predicate-10.ibk3 +0 -0
  104. package/sample-store/gen-1/predicate-10.ibk3.merkle +0 -1
  105. package/sample-store/gen-1/predicate-10.ibk3.oli2 +0 -0
  106. package/sample-store/gen-1/predicate-10.ibk3.oli2.merkle +0 -0
  107. package/sample-store/gen-1/predicate-10.ibk3.sri2 +0 -0
  108. package/sample-store/gen-1/predicate-10.ibk3.sri2.merkle +0 -1
  109. package/sample-store/gen-1/predicate-10.ibk3.tli1 +0 -0
  110. package/sample-store/gen-1/predicate-10.ibk3.tli1.merkle +0 -1
  111. package/sample-store/gen-1/predicate-11.ibk3 +0 -0
  112. package/sample-store/gen-1/predicate-11.ibk3.merkle +0 -0
  113. package/sample-store/gen-1/predicate-11.ibk3.oli2 +0 -0
  114. package/sample-store/gen-1/predicate-11.ibk3.oli2.merkle +0 -1
  115. package/sample-store/gen-1/predicate-11.ibk3.sri2 +0 -0
  116. package/sample-store/gen-1/predicate-11.ibk3.sri2.merkle +0 -1
  117. package/sample-store/gen-1/predicate-11.ibk3.tli1 +0 -0
  118. package/sample-store/gen-1/predicate-11.ibk3.tli1.merkle +0 -1
  119. package/sample-store/gen-1/predicate-12.ibk3 +0 -0
  120. package/sample-store/gen-1/predicate-12.ibk3.merkle +0 -1
  121. package/sample-store/gen-1/predicate-12.ibk3.oli2 +0 -0
  122. package/sample-store/gen-1/predicate-12.ibk3.oli2.merkle +0 -1
  123. package/sample-store/gen-1/predicate-12.ibk3.sri2 +0 -0
  124. package/sample-store/gen-1/predicate-12.ibk3.sri2.merkle +0 -1
  125. package/sample-store/gen-1/predicate-12.ibk3.tli1 +0 -0
  126. package/sample-store/gen-1/predicate-12.ibk3.tli1.merkle +0 -1
  127. package/sample-store/gen-1/predicate-2.ibk3 +0 -0
  128. package/sample-store/gen-1/predicate-2.ibk3.merkle +0 -1
  129. package/sample-store/gen-1/predicate-2.ibk3.oli2 +0 -0
  130. package/sample-store/gen-1/predicate-2.ibk3.oli2.merkle +0 -1
  131. package/sample-store/gen-1/predicate-2.ibk3.sri2 +0 -0
  132. package/sample-store/gen-1/predicate-2.ibk3.sri2.merkle +0 -0
  133. package/sample-store/gen-1/predicate-2.ibk3.tli1 +0 -0
  134. package/sample-store/gen-1/predicate-2.ibk3.tli1.merkle +0 -0
  135. package/sample-store/gen-1/predicate-3.ibk3 +0 -0
  136. package/sample-store/gen-1/predicate-3.ibk3.merkle +0 -1
  137. package/sample-store/gen-1/predicate-3.ibk3.oli2 +0 -0
  138. package/sample-store/gen-1/predicate-3.ibk3.oli2.merkle +0 -1
  139. package/sample-store/gen-1/predicate-3.ibk3.sri2 +0 -0
  140. package/sample-store/gen-1/predicate-3.ibk3.sri2.merkle +0 -1
  141. package/sample-store/gen-1/predicate-3.ibk3.tli1 +0 -0
  142. package/sample-store/gen-1/predicate-3.ibk3.tli1.merkle +0 -1
  143. package/sample-store/gen-1/predicate-4.ibk3 +0 -0
  144. package/sample-store/gen-1/predicate-4.ibk3.merkle +0 -0
  145. package/sample-store/gen-1/predicate-4.ibk3.oli2 +0 -0
  146. package/sample-store/gen-1/predicate-4.ibk3.oli2.merkle +0 -1
  147. package/sample-store/gen-1/predicate-4.ibk3.sri2 +0 -0
  148. package/sample-store/gen-1/predicate-4.ibk3.sri2.merkle +0 -1
  149. package/sample-store/gen-1/predicate-4.ibk3.tli1 +0 -0
  150. package/sample-store/gen-1/predicate-4.ibk3.tli1.merkle +0 -2
  151. package/sample-store/gen-1/predicate-5.ibk3 +0 -0
  152. package/sample-store/gen-1/predicate-5.ibk3.merkle +0 -1
  153. package/sample-store/gen-1/predicate-5.ibk3.oli2 +0 -0
  154. package/sample-store/gen-1/predicate-5.ibk3.oli2.merkle +0 -1
  155. package/sample-store/gen-1/predicate-5.ibk3.sri2 +0 -0
  156. package/sample-store/gen-1/predicate-5.ibk3.sri2.merkle +0 -1
  157. package/sample-store/gen-1/predicate-5.ibk3.tli1 +0 -0
  158. package/sample-store/gen-1/predicate-5.ibk3.tli1.merkle +0 -1
  159. package/sample-store/gen-1/predicate-6.ibk3 +0 -0
  160. package/sample-store/gen-1/predicate-6.ibk3.merkle +0 -1
  161. package/sample-store/gen-1/predicate-6.ibk3.oli2 +0 -0
  162. package/sample-store/gen-1/predicate-6.ibk3.oli2.merkle +0 -1
  163. package/sample-store/gen-1/predicate-6.ibk3.sri2 +0 -0
  164. package/sample-store/gen-1/predicate-6.ibk3.sri2.merkle +0 -1
  165. package/sample-store/gen-1/predicate-6.ibk3.tli1 +0 -0
  166. package/sample-store/gen-1/predicate-6.ibk3.tli1.merkle +0 -0
  167. package/sample-store/gen-1/predicate-7.ibk3 +0 -0
  168. package/sample-store/gen-1/predicate-7.ibk3.merkle +0 -0
  169. package/sample-store/gen-1/predicate-7.ibk3.oli2 +0 -0
  170. package/sample-store/gen-1/predicate-7.ibk3.oli2.merkle +0 -2
  171. package/sample-store/gen-1/predicate-7.ibk3.sri2 +0 -0
  172. package/sample-store/gen-1/predicate-7.ibk3.sri2.merkle +0 -1
  173. package/sample-store/gen-1/predicate-7.ibk3.tli1 +0 -0
  174. package/sample-store/gen-1/predicate-7.ibk3.tli1.merkle +0 -1
  175. package/sample-store/gen-1/predicate-8.ibk3 +0 -0
  176. package/sample-store/gen-1/predicate-8.ibk3.merkle +0 -1
  177. package/sample-store/gen-1/predicate-8.ibk3.oli2 +0 -0
  178. package/sample-store/gen-1/predicate-8.ibk3.oli2.merkle +0 -1
  179. package/sample-store/gen-1/predicate-8.ibk3.sri2 +0 -0
  180. package/sample-store/gen-1/predicate-8.ibk3.sri2.merkle +0 -1
  181. package/sample-store/gen-1/predicate-8.ibk3.tli1 +0 -0
  182. package/sample-store/gen-1/predicate-8.ibk3.tli1.merkle +0 -1
  183. package/sample-store/gen-1/predicate-9.ibk3 +0 -0
  184. package/sample-store/gen-1/predicate-9.ibk3.merkle +0 -1
  185. package/sample-store/gen-1/predicate-9.ibk3.oli2 +0 -0
  186. package/sample-store/gen-1/predicate-9.ibk3.oli2.merkle +0 -1
  187. package/sample-store/gen-1/predicate-9.ibk3.sri2 +0 -0
  188. package/sample-store/gen-1/predicate-9.ibk3.sri2.merkle +0 -3
  189. package/sample-store/gen-1/predicate-9.ibk3.tli1 +0 -0
  190. package/sample-store/gen-1/predicate-9.ibk3.tli1.merkle +0 -2
  191. package/select.d.ts +0 -116
  192. package/select.js +0 -492
  193. package/version.json +0 -102
  194. package/wasm.d.ts +0 -130
  195. 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;