@hviana/sema 0.1.5 → 0.1.7

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 (170) hide show
  1. package/AGENTS.md +6 -5
  2. package/CITATION.cff +49 -0
  3. package/HOW_IT_WORKS.md +11 -12
  4. package/README.md +7 -5
  5. package/dist/example/demo.js +25 -25
  6. package/dist/example/train_base.d.ts +19 -21
  7. package/dist/example/train_base.js +1700 -1952
  8. package/dist/src/alphabet.d.ts +3 -3
  9. package/dist/src/alphabet.js +24 -27
  10. package/dist/src/alu/src/alu.d.ts +169 -194
  11. package/dist/src/alu/src/alu.js +374 -414
  12. package/dist/src/alu/src/expr.d.ts +36 -43
  13. package/dist/src/alu/src/expr.js +252 -278
  14. package/dist/src/alu/src/index.d.ts +9 -98
  15. package/dist/src/alu/src/index.js +10 -64
  16. package/dist/src/alu/src/kernel-arith.d.ts +1 -5
  17. package/dist/src/alu/src/kernel-arith.js +195 -285
  18. package/dist/src/alu/src/kernel-bits.d.ts +1 -5
  19. package/dist/src/alu/src/kernel-bits.js +81 -115
  20. package/dist/src/alu/src/kernel-logic.js +33 -63
  21. package/dist/src/alu/src/kernel-nd.js +155 -195
  22. package/dist/src/alu/src/kernel-numeric.d.ts +16 -80
  23. package/dist/src/alu/src/kernel-numeric.js +259 -331
  24. package/dist/src/alu/src/operation.d.ts +112 -132
  25. package/dist/src/alu/src/operation.js +149 -163
  26. package/dist/src/alu/src/parser.d.ts +168 -175
  27. package/dist/src/alu/src/parser.js +382 -421
  28. package/dist/src/alu/src/resonance.d.ts +16 -25
  29. package/dist/src/alu/src/resonance.js +49 -56
  30. package/dist/src/alu/src/text.d.ts +3 -7
  31. package/dist/src/alu/src/text.js +31 -37
  32. package/dist/src/alu/src/value.d.ts +14 -14
  33. package/dist/src/alu/src/value.js +150 -160
  34. package/dist/src/alu/test/alu.test.js +543 -656
  35. package/dist/src/bytes.d.ts +1 -5
  36. package/dist/src/bytes.js +33 -40
  37. package/dist/src/config.d.ts +99 -102
  38. package/dist/src/config.js +78 -83
  39. package/dist/src/derive/src/deduction.d.ts +60 -62
  40. package/dist/src/derive/src/deduction.js +103 -109
  41. package/dist/src/derive/src/index.d.ts +1 -7
  42. package/dist/src/derive/src/priority-queue.d.ts +8 -8
  43. package/dist/src/derive/src/priority-queue.js +57 -61
  44. package/dist/src/derive/src/rewrite.d.ts +15 -18
  45. package/dist/src/derive/src/rewrite.js +59 -67
  46. package/dist/src/derive/src/trie.d.ts +56 -56
  47. package/dist/src/derive/src/trie.js +175 -179
  48. package/dist/src/derive/test/derive.test.js +96 -100
  49. package/dist/src/extension.d.ts +13 -16
  50. package/dist/src/geometry.d.ts +29 -43
  51. package/dist/src/geometry.js +324 -268
  52. package/dist/src/index.d.ts +2 -17
  53. package/dist/src/index.js +2 -12
  54. package/dist/src/ingest-cache.d.ts +25 -30
  55. package/dist/src/ingest-cache.js +108 -127
  56. package/dist/src/mind/articulation.d.ts +1 -5
  57. package/dist/src/mind/articulation.js +77 -112
  58. package/dist/src/mind/attention.d.ts +40 -108
  59. package/dist/src/mind/attention.js +754 -872
  60. package/dist/src/mind/canonical.d.ts +4 -19
  61. package/dist/src/mind/canonical.js +27 -31
  62. package/dist/src/mind/graph-search.d.ts +201 -225
  63. package/dist/src/mind/graph-search.js +742 -821
  64. package/dist/src/mind/index.d.ts +2 -10
  65. package/dist/src/mind/junction.d.ts +31 -58
  66. package/dist/src/mind/junction.js +172 -237
  67. package/dist/src/mind/learning.d.ts +16 -52
  68. package/dist/src/mind/learning.js +143 -165
  69. package/dist/src/mind/match.d.ts +20 -69
  70. package/dist/src/mind/match.js +259 -318
  71. package/dist/src/mind/mechanisms/alu.js +16 -16
  72. package/dist/src/mind/mechanisms/cast.d.ts +9 -13
  73. package/dist/src/mind/mechanisms/cast.js +363 -456
  74. package/dist/src/mind/mechanisms/confluence.d.ts +8 -12
  75. package/dist/src/mind/mechanisms/confluence.js +152 -183
  76. package/dist/src/mind/mechanisms/cover.d.ts +2 -8
  77. package/dist/src/mind/mechanisms/cover.js +148 -210
  78. package/dist/src/mind/mechanisms/extraction.d.ts +8 -34
  79. package/dist/src/mind/mechanisms/extraction.js +234 -288
  80. package/dist/src/mind/mechanisms/recall.d.ts +6 -10
  81. package/dist/src/mind/mechanisms/recall.js +141 -185
  82. package/dist/src/mind/mind.d.ts +194 -155
  83. package/dist/src/mind/mind.js +392 -289
  84. package/dist/src/mind/pipeline-mechanism.d.ts +112 -124
  85. package/dist/src/mind/pipeline-mechanism.js +161 -172
  86. package/dist/src/mind/pipeline.d.ts +4 -14
  87. package/dist/src/mind/pipeline.js +125 -189
  88. package/dist/src/mind/primitives.d.ts +20 -33
  89. package/dist/src/mind/primitives.js +124 -120
  90. package/dist/src/mind/rationale.d.ts +86 -98
  91. package/dist/src/mind/rationale.js +113 -121
  92. package/dist/src/mind/reasoning.d.ts +2 -13
  93. package/dist/src/mind/reasoning.js +129 -166
  94. package/dist/src/mind/recognition.d.ts +1 -4
  95. package/dist/src/mind/recognition.js +198 -210
  96. package/dist/src/mind/resonance.d.ts +5 -22
  97. package/dist/src/mind/resonance.js +0 -0
  98. package/dist/src/mind/trace.d.ts +6 -25
  99. package/dist/src/mind/trace.js +50 -58
  100. package/dist/src/mind/traverse.d.ts +29 -58
  101. package/dist/src/mind/traverse.js +344 -356
  102. package/dist/src/mind/types.d.ts +122 -127
  103. package/dist/src/mind/types.js +60 -69
  104. package/dist/src/rabitq-ivf/src/database.d.ts +113 -0
  105. package/dist/src/rabitq-ivf/src/database.js +201 -0
  106. package/dist/src/rabitq-ivf/src/index.d.ts +7 -0
  107. package/dist/src/{rabitq-hnsw → rabitq-ivf}/src/index.js +1 -3
  108. package/dist/src/rabitq-ivf/src/ivf.d.ts +200 -0
  109. package/dist/src/rabitq-ivf/src/ivf.js +1165 -0
  110. package/dist/src/rabitq-ivf/src/prng.d.ts +19 -0
  111. package/dist/src/rabitq-ivf/src/prng.js +36 -0
  112. package/dist/src/rabitq-ivf/src/rabitq.d.ts +95 -0
  113. package/dist/src/rabitq-ivf/src/rabitq.js +283 -0
  114. package/dist/src/sema.d.ts +9 -13
  115. package/dist/src/sema.js +26 -40
  116. package/dist/src/store-sqlite.d.ts +171 -166
  117. package/dist/src/store-sqlite.js +768 -662
  118. package/dist/src/store.d.ts +597 -630
  119. package/dist/src/store.js +1434 -1581
  120. package/dist/src/vec.d.ts +5 -9
  121. package/dist/src/vec.js +61 -73
  122. package/example/train_base.ts +33 -15
  123. package/index.html +65 -0
  124. package/package.json +1 -1
  125. package/src/alu/README.md +1 -1
  126. package/src/alu/src/index.ts +1 -1
  127. package/src/config.ts +19 -27
  128. package/src/geometry.ts +93 -1
  129. package/src/index.ts +6 -11
  130. package/src/mind/attention.ts +11 -6
  131. package/src/mind/mechanisms/recall.ts +29 -13
  132. package/src/mind/mind.ts +250 -19
  133. package/src/mind/primitives.ts +43 -6
  134. package/src/mind/recognition.ts +26 -8
  135. package/src/mind/traverse.ts +47 -0
  136. package/src/mind/types.ts +20 -21
  137. package/src/rabitq-ivf/README.md +56 -0
  138. package/src/rabitq-ivf/src/database.ts +276 -0
  139. package/src/{rabitq-hnsw → rabitq-ivf}/src/index.ts +2 -5
  140. package/src/rabitq-ivf/src/ivf.ts +1330 -0
  141. package/src/{rabitq-hnsw → rabitq-ivf}/src/prng.ts +1 -1
  142. package/src/store-sqlite.ts +204 -9
  143. package/src/store.ts +27 -34
  144. package/test/08-storage.test.mjs +3 -3
  145. package/test/13-conversation.test.mjs +190 -20
  146. package/test/14-scaling.test.mjs +2 -2
  147. package/test/35-ivf.test.mjs +263 -0
  148. package/test/36-bloom.test.mjs +123 -0
  149. package/dist/src/rabitq-hnsw/src/database.d.ts +0 -202
  150. package/dist/src/rabitq-hnsw/src/database.js +0 -405
  151. package/dist/src/rabitq-hnsw/src/heap.d.ts +0 -22
  152. package/dist/src/rabitq-hnsw/src/heap.js +0 -94
  153. package/dist/src/rabitq-hnsw/src/hnsw.d.ts +0 -125
  154. package/dist/src/rabitq-hnsw/src/hnsw.js +0 -500
  155. package/dist/src/rabitq-hnsw/src/index.d.ts +0 -15
  156. package/dist/src/rabitq-hnsw/src/prng.d.ts +0 -19
  157. package/dist/src/rabitq-hnsw/src/prng.js +0 -38
  158. package/dist/src/rabitq-hnsw/src/rabitq.d.ts +0 -95
  159. package/dist/src/rabitq-hnsw/src/rabitq.js +0 -299
  160. package/dist/src/rabitq-hnsw/src/store.d.ts +0 -162
  161. package/dist/src/rabitq-hnsw/src/store.js +0 -916
  162. package/dist/src/rabitq-hnsw/test/hnsw.test.d.ts +0 -1
  163. package/dist/src/rabitq-hnsw/test/hnsw.test.js +0 -1197
  164. package/src/rabitq-hnsw/README.md +0 -303
  165. package/src/rabitq-hnsw/src/database.ts +0 -492
  166. package/src/rabitq-hnsw/src/heap.ts +0 -90
  167. package/src/rabitq-hnsw/src/hnsw.ts +0 -514
  168. package/src/rabitq-hnsw/src/store.ts +0 -994
  169. package/src/rabitq-hnsw/test/hnsw.test.ts +0 -1213
  170. /package/src/{rabitq-hnsw → rabitq-ivf}/src/rabitq.ts +0 -0
@@ -1,60 +1,23 @@
1
1
  import type { DerivationStep } from "./graph-search.js";
2
- import type {
3
- AncestorReach,
4
- Attention,
5
- AttentionRead,
6
- DFMode,
7
- MindContext,
8
- Region,
9
- RegionVote,
10
- SaturationInfo,
11
- } from "./types.js";
2
+ import type { AncestorReach, Attention, AttentionRead, DFMode, MindContext, Region, RegionVote, SaturationInfo } from "./types.js";
12
3
  /** Climb the query's perceived byte regions up the structural DAG via
13
4
  * resonance, pool the evidence, and return only the ROOT points of
14
5
  * attention — those that cleared commitVotes' significance floor. */
15
- export declare function climbAttention(
16
- ctx: MindContext,
17
- query: Uint8Array,
18
- k: number,
19
- mode?: DFMode,
20
- ): Promise<Attention[]>;
6
+ export declare function climbAttention(ctx: MindContext, query: Uint8Array, k: number, mode?: DFMode): Promise<Attention[]>;
21
7
  /** Full read-out of one consensus climb: both the roots (dominant points of
22
8
  * attention) and the entire ranked list. Cached via ctx.climbMemo when
23
9
  * ctx.trace is null. */
24
- export declare function climbAttentionAll(
25
- ctx: MindContext,
26
- query: Uint8Array,
27
- k: number,
28
- mode?: DFMode,
29
- ): Promise<AttentionRead>;
30
- export declare function computeAttention(
31
- ctx: MindContext,
32
- query: Uint8Array,
33
- k: number,
34
- mode: DFMode,
35
- ): Promise<AttentionRead>;
36
- export declare function collectRegions(
37
- ctx: MindContext,
38
- query: Uint8Array,
39
- ): Region[];
40
- export declare function voteRegions(
41
- ctx: MindContext,
42
- query: Uint8Array,
43
- regions: readonly Region[],
44
- k: number,
45
- mode: DFMode,
46
- N: number,
47
- reachMemo?: Map<number, AncestorReach>,
48
- ): Promise<{
49
- votes: RegionVote[];
50
- saturated: boolean[];
51
- voters: Array<
52
- {
53
- id: number;
54
- score: number;
55
- w: number;
56
- } | null
57
- >;
10
+ export declare function climbAttentionAll(ctx: MindContext, query: Uint8Array, k: number, mode?: DFMode): Promise<AttentionRead>;
11
+ export declare function computeAttention(ctx: MindContext, query: Uint8Array, k: number, mode: DFMode): Promise<AttentionRead>;
12
+ export declare function collectRegions(ctx: MindContext, query: Uint8Array): Region[];
13
+ export declare function voteRegions(ctx: MindContext, query: Uint8Array, regions: readonly Region[], k: number, mode: DFMode, N: number, reachMemo?: Map<number, AncestorReach>): Promise<{
14
+ votes: RegionVote[];
15
+ saturated: boolean[];
16
+ voters: Array<{
17
+ id: number;
18
+ score: number;
19
+ w: number;
20
+ } | null>;
58
21
  }>;
59
22
  /** The consensus vote as EVIDENCE POOLING, not shortest path: each surviving
60
23
  * region is an axiom; it contributes to every root it climbed to (or, for a
@@ -68,73 +31,42 @@ export declare function voteRegions(
68
31
  * merely logs alongside it. `votesIdf`/`support` are the same two
69
32
  * read-outs {@link commitVotes} always gated on; only how they accumulate
70
33
  * changed. */
71
- export declare function poolVotes(
72
- ctx: MindContext,
73
- regionVotes: readonly RegionVote[],
74
- sat: SaturationInfo,
75
- N: number,
76
- ): {
77
- votes: Map<number, number>;
78
- votesIdf: Map<number, number>;
79
- support: Map<number, {
80
- start: number;
81
- end: number;
82
- w: number;
83
- }>;
84
- steps: DerivationStep[];
34
+ export declare function poolVotes(ctx: MindContext, regionVotes: readonly RegionVote[], sat: SaturationInfo, N: number): {
35
+ votes: Map<number, number>;
36
+ votesIdf: Map<number, number>;
37
+ support: Map<number, {
38
+ start: number;
39
+ end: number;
40
+ w: number;
41
+ }>;
42
+ steps: DerivationStep[];
85
43
  };
86
- export declare function commitVotes(
87
- ctx: MindContext,
88
- pooled: {
44
+ export declare function commitVotes(ctx: MindContext, pooled: {
89
45
  votes: Map<number, number>;
90
46
  votesIdf: Map<number, number>;
91
47
  support: Map<number, {
92
- start: number;
93
- end: number;
94
- w: number;
48
+ start: number;
49
+ end: number;
50
+ w: number;
95
51
  }>;
96
52
  steps: DerivationStep[];
97
- },
98
- sat: SaturationInfo,
99
- regions: readonly Region[],
100
- regionVoter: ReadonlyArray<
101
- {
102
- id: number;
103
- score: number;
104
- w: number;
105
- } | null
106
- >,
107
- N: number,
108
- ): AttentionRead;
109
- export declare function detectSaturated(
110
- ctx: MindContext,
111
- regions: ReadonlyArray<{
53
+ }, sat: SaturationInfo, regions: readonly Region[], regionVoter: ReadonlyArray<{
54
+ id: number;
55
+ score: number;
56
+ w: number;
57
+ } | null>, N: number): AttentionRead;
58
+ export declare function detectSaturated(ctx: MindContext, regions: ReadonlyArray<{
112
59
  start: number;
113
60
  end: number;
114
61
  chunk?: boolean;
115
- }>,
116
- saturated: ReadonlyArray<boolean>,
117
- ): SaturationInfo;
118
- export declare function canonicalChunkId(
119
- ctx: MindContext,
120
- regionBytes: Uint8Array,
121
- N: number,
122
- reachMemo?: Map<number, AncestorReach>,
123
- ): number | null;
62
+ }>, saturated: ReadonlyArray<boolean>): SaturationInfo;
63
+ export declare function canonicalChunkId(ctx: MindContext, regionBytes: Uint8Array, N: number, reachMemo?: Map<number, AncestorReach>): number | null;
124
64
  export declare function naturalBreak(votes: number[]): number;
125
- export declare function traceAttention(
126
- ctx: MindContext,
127
- regions: ReadonlyArray<{
65
+ export declare function traceAttention(ctx: MindContext, regions: ReadonlyArray<{
128
66
  start: number;
129
67
  end: number;
130
- }>,
131
- regionVoter: ReadonlyArray<
132
- {
133
- id: number;
134
- score: number;
135
- w: number;
136
- } | null
137
- >,
138
- roots: ReadonlyArray<Attention>,
139
- steps?: ReadonlyArray<DerivationStep>,
140
- ): void;
68
+ }>, regionVoter: ReadonlyArray<{
69
+ id: number;
70
+ score: number;
71
+ w: number;
72
+ } | null>, roots: ReadonlyArray<Attention>, steps?: ReadonlyArray<DerivationStep>): void;