@hviana/sema 0.2.5 → 0.2.6
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/package.json +1 -1
- package/src/mind/attention.ts +355 -19
- package/test/53-cross-region-probe-instrumentation.test.mjs +356 -0
- package/dist/example/demo.d.ts +0 -1
- package/dist/example/demo.js +0 -39
- package/dist/example/train_base.d.ts +0 -87
- package/dist/example/train_base.js +0 -2252
- package/dist/src/alphabet.d.ts +0 -7
- package/dist/src/alphabet.js +0 -33
- package/dist/src/alu/src/alu.d.ts +0 -185
- package/dist/src/alu/src/alu.js +0 -440
- package/dist/src/alu/src/expr.d.ts +0 -61
- package/dist/src/alu/src/expr.js +0 -318
- package/dist/src/alu/src/index.d.ts +0 -11
- package/dist/src/alu/src/index.js +0 -19
- package/dist/src/alu/src/kernel-arith.d.ts +0 -16
- package/dist/src/alu/src/kernel-arith.js +0 -264
- package/dist/src/alu/src/kernel-bits.d.ts +0 -19
- package/dist/src/alu/src/kernel-bits.js +0 -152
- package/dist/src/alu/src/kernel-logic.d.ts +0 -4
- package/dist/src/alu/src/kernel-logic.js +0 -60
- package/dist/src/alu/src/kernel-nd.d.ts +0 -3
- package/dist/src/alu/src/kernel-nd.js +0 -208
- package/dist/src/alu/src/kernel-numeric.d.ts +0 -54
- package/dist/src/alu/src/kernel-numeric.js +0 -366
- package/dist/src/alu/src/operation.d.ts +0 -168
- package/dist/src/alu/src/operation.js +0 -189
- package/dist/src/alu/src/parser.d.ts +0 -221
- package/dist/src/alu/src/parser.js +0 -577
- package/dist/src/alu/src/resonance.d.ts +0 -55
- package/dist/src/alu/src/resonance.js +0 -126
- package/dist/src/alu/src/text.d.ts +0 -31
- package/dist/src/alu/src/text.js +0 -73
- package/dist/src/alu/src/value.d.ts +0 -109
- package/dist/src/alu/src/value.js +0 -300
- package/dist/src/alu/test/alu.test.d.ts +0 -1
- package/dist/src/alu/test/alu.test.js +0 -764
- package/dist/src/bytes.d.ts +0 -14
- package/dist/src/bytes.js +0 -59
- package/dist/src/canon.d.ts +0 -26
- package/dist/src/canon.js +0 -57
- package/dist/src/config.d.ts +0 -111
- package/dist/src/config.js +0 -91
- package/dist/src/derive/src/deduction.d.ts +0 -125
- package/dist/src/derive/src/deduction.js +0 -155
- package/dist/src/derive/src/index.d.ts +0 -7
- package/dist/src/derive/src/index.js +0 -11
- package/dist/src/derive/src/priority-queue.d.ts +0 -20
- package/dist/src/derive/src/priority-queue.js +0 -73
- package/dist/src/derive/src/rewrite.d.ts +0 -56
- package/dist/src/derive/src/rewrite.js +0 -100
- package/dist/src/derive/src/trie.d.ts +0 -90
- package/dist/src/derive/src/trie.js +0 -217
- package/dist/src/derive/test/derive.test.d.ts +0 -1
- package/dist/src/derive/test/derive.test.js +0 -122
- package/dist/src/extension.d.ts +0 -37
- package/dist/src/extension.js +0 -7
- package/dist/src/geometry.d.ts +0 -202
- package/dist/src/geometry.js +0 -575
- package/dist/src/index.d.ts +0 -16
- package/dist/src/index.js +0 -18
- package/dist/src/ingest-cache.d.ts +0 -41
- package/dist/src/ingest-cache.js +0 -161
- package/dist/src/mind/articulation.d.ts +0 -6
- package/dist/src/mind/articulation.js +0 -99
- package/dist/src/mind/attention.d.ts +0 -315
- package/dist/src/mind/attention.js +0 -1549
- package/dist/src/mind/bridge.d.ts +0 -30
- package/dist/src/mind/bridge.js +0 -569
- package/dist/src/mind/canonical.d.ts +0 -29
- package/dist/src/mind/canonical.js +0 -88
- package/dist/src/mind/graph-search.d.ts +0 -285
- package/dist/src/mind/graph-search.js +0 -956
- package/dist/src/mind/index.d.ts +0 -7
- package/dist/src/mind/index.js +0 -5
- package/dist/src/mind/junction.d.ts +0 -124
- package/dist/src/mind/junction.js +0 -317
- package/dist/src/mind/learning.d.ts +0 -47
- package/dist/src/mind/learning.js +0 -248
- package/dist/src/mind/match.d.ts +0 -126
- package/dist/src/mind/match.js +0 -441
- package/dist/src/mind/mechanisms/alu.d.ts +0 -4
- package/dist/src/mind/mechanisms/alu.js +0 -36
- package/dist/src/mind/mechanisms/cast.d.ts +0 -89
- package/dist/src/mind/mechanisms/cast.js +0 -716
- package/dist/src/mind/mechanisms/confluence.d.ts +0 -24
- package/dist/src/mind/mechanisms/confluence.js +0 -225
- package/dist/src/mind/mechanisms/cover.d.ts +0 -6
- package/dist/src/mind/mechanisms/cover.js +0 -203
- package/dist/src/mind/mechanisms/extraction.d.ts +0 -67
- package/dist/src/mind/mechanisms/extraction.js +0 -387
- package/dist/src/mind/mechanisms/recall.d.ts +0 -13
- package/dist/src/mind/mechanisms/recall.js +0 -325
- package/dist/src/mind/mind.d.ts +0 -276
- package/dist/src/mind/mind.js +0 -572
- package/dist/src/mind/pipeline-mechanism.d.ts +0 -142
- package/dist/src/mind/pipeline-mechanism.js +0 -213
- package/dist/src/mind/pipeline.d.ts +0 -20
- package/dist/src/mind/pipeline.js +0 -217
- package/dist/src/mind/primitives.d.ts +0 -70
- package/dist/src/mind/primitives.js +0 -287
- package/dist/src/mind/rationale.d.ts +0 -139
- package/dist/src/mind/rationale.js +0 -163
- package/dist/src/mind/reasoning.d.ts +0 -34
- package/dist/src/mind/reasoning.js +0 -240
- package/dist/src/mind/recognition.d.ts +0 -20
- package/dist/src/mind/recognition.js +0 -390
- package/dist/src/mind/resonance.d.ts +0 -23
- package/dist/src/mind/resonance.js +0 -0
- package/dist/src/mind/trace.d.ts +0 -15
- package/dist/src/mind/trace.js +0 -73
- package/dist/src/mind/traverse.d.ts +0 -113
- package/dist/src/mind/traverse.js +0 -568
- package/dist/src/mind/types.d.ts +0 -289
- package/dist/src/mind/types.js +0 -130
- package/dist/src/rabitq-ivf/src/database.d.ts +0 -113
- package/dist/src/rabitq-ivf/src/database.js +0 -201
- package/dist/src/rabitq-ivf/src/index.d.ts +0 -7
- package/dist/src/rabitq-ivf/src/index.js +0 -4
- package/dist/src/rabitq-ivf/src/ivf.d.ts +0 -200
- package/dist/src/rabitq-ivf/src/ivf.js +0 -1165
- package/dist/src/rabitq-ivf/src/prng.d.ts +0 -19
- package/dist/src/rabitq-ivf/src/prng.js +0 -36
- package/dist/src/rabitq-ivf/src/rabitq.d.ts +0 -95
- package/dist/src/rabitq-ivf/src/rabitq.js +0 -283
- package/dist/src/sema.d.ts +0 -31
- package/dist/src/sema.js +0 -63
- package/dist/src/store-sqlite.d.ts +0 -184
- package/dist/src/store-sqlite.js +0 -942
- package/dist/src/store.d.ts +0 -663
- package/dist/src/store.js +0 -1618
- package/dist/src/vec.d.ts +0 -31
- package/dist/src/vec.js +0 -109
package/dist/src/vec.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export type Vec = Float32Array;
|
|
2
|
-
/** Deterministic PRNG (32-bit mixer). */
|
|
3
|
-
export declare function rng(seed: number): () => number;
|
|
4
|
-
export declare const zeros: (D: number) => Vec;
|
|
5
|
-
export declare const copy: (v: Vec) => Vec;
|
|
6
|
-
/** Random point on the unit sphere. */
|
|
7
|
-
export declare function randomUnit(D: number, rand: () => number): Vec;
|
|
8
|
-
/** target += src * scale (in place). */
|
|
9
|
-
export declare function addInto(target: Vec, src: Vec, scale?: number): Vec;
|
|
10
|
-
export declare function dot(a: Vec, b: Vec): number;
|
|
11
|
-
/** In-place normalization. */
|
|
12
|
-
export declare function normalize(v: Vec): Vec;
|
|
13
|
-
/** Resonance: 1 = same, 0 = unrelated. */
|
|
14
|
-
export declare function cosine(a: Vec, b: Vec): number;
|
|
15
|
-
/** Set vector epsilon thresholds. Called once by Mind at construction. */
|
|
16
|
-
export declare function setVecConfig(cfg: {
|
|
17
|
-
normalizeEpsilon?: number;
|
|
18
|
-
cosineEpsilon?: number;
|
|
19
|
-
}): void;
|
|
20
|
-
export interface Permutation {
|
|
21
|
-
fwd: Uint32Array;
|
|
22
|
-
inv: Uint32Array;
|
|
23
|
-
}
|
|
24
|
-
/** The keyring: one independent permutation per seat.
|
|
25
|
-
* Independent keys do not commute, so an address in a tree is the
|
|
26
|
-
* path itself — "seat 2 inside seat 1" ≠ "seat 1 inside seat 2". */
|
|
27
|
-
export declare function makeKeyring(D: number, seats: number, rand: () => number): Permutation[];
|
|
28
|
-
/** Apply permutation: out[i] = v[table[i]]. */
|
|
29
|
-
export declare function permute(v: Vec, table: Uint32Array): Vec;
|
|
30
|
-
/** Permute into existing buffer — zero allocation. */
|
|
31
|
-
export declare function permuteInto(out: Vec, v: Vec, table: Uint32Array): Vec;
|
package/dist/src/vec.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
// vec.ts — vector primitives.
|
|
2
|
-
// Superposition (add), normalization (stay on the sphere),
|
|
3
|
-
// resonance (cosine), and seat binding (a keyring of fixed permutations).
|
|
4
|
-
// No weights. No gradients.
|
|
5
|
-
/** Deterministic PRNG (32-bit mixer). */
|
|
6
|
-
export function rng(seed) {
|
|
7
|
-
let s = seed >>> 0;
|
|
8
|
-
return () => {
|
|
9
|
-
s = (s + 0x6d2b79f5) >>> 0;
|
|
10
|
-
let t = s;
|
|
11
|
-
t = Math.imul(t ^ (t >>> 15), t | 1);
|
|
12
|
-
t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
|
|
13
|
-
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
/** Standard normal sample (Box–Muller). */
|
|
17
|
-
function gaussian(rand) {
|
|
18
|
-
let u = 0, v = 0;
|
|
19
|
-
while (u === 0)
|
|
20
|
-
u = rand();
|
|
21
|
-
while (v === 0)
|
|
22
|
-
v = rand();
|
|
23
|
-
return Math.sqrt(-2 * Math.log(u)) * Math.cos(2 * Math.PI * v);
|
|
24
|
-
}
|
|
25
|
-
export const zeros = (D) => new Float32Array(D);
|
|
26
|
-
export const copy = (v) => new Float32Array(v);
|
|
27
|
-
/** Random point on the unit sphere. */
|
|
28
|
-
export function randomUnit(D, rand) {
|
|
29
|
-
const v = zeros(D);
|
|
30
|
-
for (let i = 0; i < D; i++)
|
|
31
|
-
v[i] = gaussian(rand);
|
|
32
|
-
return normalize(v);
|
|
33
|
-
}
|
|
34
|
-
/** target += src * scale (in place). */
|
|
35
|
-
export function addInto(target, src, scale = 1) {
|
|
36
|
-
for (let i = 0; i < target.length; i++)
|
|
37
|
-
target[i] += src[i] * scale;
|
|
38
|
-
return target;
|
|
39
|
-
}
|
|
40
|
-
export function dot(a, b) {
|
|
41
|
-
let s = 0;
|
|
42
|
-
for (let i = 0; i < a.length; i++)
|
|
43
|
-
s += a[i] * b[i];
|
|
44
|
-
return s;
|
|
45
|
-
}
|
|
46
|
-
const norm = (v) => Math.sqrt(dot(v, v));
|
|
47
|
-
// Epsilon thresholds (settable once via setVecConfig).
|
|
48
|
-
let _normalizeEpsilon = 1e-12;
|
|
49
|
-
let _cosineEpsilon = 1e-12;
|
|
50
|
-
/** In-place normalization. */
|
|
51
|
-
export function normalize(v) {
|
|
52
|
-
const n = norm(v);
|
|
53
|
-
if (n > _normalizeEpsilon) {
|
|
54
|
-
for (let i = 0; i < v.length; i++)
|
|
55
|
-
v[i] /= n;
|
|
56
|
-
}
|
|
57
|
-
return v;
|
|
58
|
-
}
|
|
59
|
-
/** Resonance: 1 = same, 0 = unrelated. */
|
|
60
|
-
export function cosine(a, b) {
|
|
61
|
-
const na = norm(a), nb = norm(b);
|
|
62
|
-
return na > _cosineEpsilon && nb > _cosineEpsilon ? dot(a, b) / (na * nb) : 0;
|
|
63
|
-
}
|
|
64
|
-
/** Set vector epsilon thresholds. Called once by Mind at construction. */
|
|
65
|
-
export function setVecConfig(cfg) {
|
|
66
|
-
if (cfg.normalizeEpsilon !== undefined) {
|
|
67
|
-
_normalizeEpsilon = cfg.normalizeEpsilon;
|
|
68
|
-
}
|
|
69
|
-
if (cfg.cosineEpsilon !== undefined)
|
|
70
|
-
_cosineEpsilon = cfg.cosineEpsilon;
|
|
71
|
-
}
|
|
72
|
-
/** One fixed random permutation (Fisher–Yates). */
|
|
73
|
-
function makePermutation(D, rand) {
|
|
74
|
-
const fwd = new Uint32Array(D);
|
|
75
|
-
for (let i = 0; i < D; i++)
|
|
76
|
-
fwd[i] = i;
|
|
77
|
-
for (let i = D - 1; i > 0; i--) {
|
|
78
|
-
const j = Math.floor(rand() * (i + 1));
|
|
79
|
-
const t = fwd[i];
|
|
80
|
-
fwd[i] = fwd[j];
|
|
81
|
-
fwd[j] = t;
|
|
82
|
-
}
|
|
83
|
-
const inv = new Uint32Array(D);
|
|
84
|
-
for (let i = 0; i < D; i++)
|
|
85
|
-
inv[fwd[i]] = i;
|
|
86
|
-
return { fwd, inv };
|
|
87
|
-
}
|
|
88
|
-
/** The keyring: one independent permutation per seat.
|
|
89
|
-
* Independent keys do not commute, so an address in a tree is the
|
|
90
|
-
* path itself — "seat 2 inside seat 1" ≠ "seat 1 inside seat 2". */
|
|
91
|
-
export function makeKeyring(D, seats, rand) {
|
|
92
|
-
const ring = [];
|
|
93
|
-
for (let s = 0; s < seats; s++)
|
|
94
|
-
ring.push(makePermutation(D, rand));
|
|
95
|
-
return ring;
|
|
96
|
-
}
|
|
97
|
-
/** Apply permutation: out[i] = v[table[i]]. */
|
|
98
|
-
export function permute(v, table) {
|
|
99
|
-
const out = new Float32Array(v.length);
|
|
100
|
-
for (let i = 0; i < v.length; i++)
|
|
101
|
-
out[i] = v[table[i]];
|
|
102
|
-
return out;
|
|
103
|
-
}
|
|
104
|
-
/** Permute into existing buffer — zero allocation. */
|
|
105
|
-
export function permuteInto(out, v, table) {
|
|
106
|
-
for (let i = 0; i < v.length; i++)
|
|
107
|
-
out[i] = v[table[i]];
|
|
108
|
-
return out;
|
|
109
|
-
}
|