@aleph-ai/tinyaleph 1.0.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.
- package/LICENSE +21 -0
- package/README.md +278 -0
- package/backends/cryptographic/index.js +196 -0
- package/backends/index.js +15 -0
- package/backends/interface.js +89 -0
- package/backends/scientific/index.js +272 -0
- package/backends/semantic/index.js +527 -0
- package/backends/semantic/surface.js +393 -0
- package/backends/semantic/two-layer.js +375 -0
- package/core/fano.js +127 -0
- package/core/hilbert.js +564 -0
- package/core/hypercomplex.js +141 -0
- package/core/index.js +133 -0
- package/core/llm.js +132 -0
- package/core/prime.js +184 -0
- package/core/resonance.js +695 -0
- package/core/rformer-tf.js +1086 -0
- package/core/rformer.js +806 -0
- package/core/sieve.js +350 -0
- package/data.json +8163 -0
- package/docs/EXAMPLES_PLAN.md +293 -0
- package/docs/README.md +159 -0
- package/docs/design/ALEPH_CHAT_ARCHITECTURE.md +499 -0
- package/docs/guide/01-quickstart.md +298 -0
- package/docs/guide/02-semantic-computing.md +409 -0
- package/docs/guide/03-cryptographic.md +420 -0
- package/docs/guide/04-scientific.md +494 -0
- package/docs/guide/05-llm-integration.md +568 -0
- package/docs/guide/06-advanced.md +996 -0
- package/docs/guide/README.md +188 -0
- package/docs/reference/01-core.md +695 -0
- package/docs/reference/02-physics.md +601 -0
- package/docs/reference/03-backends.md +892 -0
- package/docs/reference/04-engine.md +632 -0
- package/docs/reference/README.md +252 -0
- package/docs/theory/01-prime-semantics.md +327 -0
- package/docs/theory/02-hypercomplex-algebra.md +421 -0
- package/docs/theory/03-phase-synchronization.md +364 -0
- package/docs/theory/04-entropy-reasoning.md +348 -0
- package/docs/theory/05-non-commutativity.md +402 -0
- package/docs/theory/06-two-layer-meaning.md +414 -0
- package/docs/theory/07-resonant-field-interface.md +419 -0
- package/docs/theory/08-semantic-sieve.md +520 -0
- package/docs/theory/09-temporal-emergence.md +298 -0
- package/docs/theory/10-quaternionic-memory.md +415 -0
- package/docs/theory/README.md +162 -0
- package/engine/aleph.js +418 -0
- package/engine/index.js +7 -0
- package/index.js +23 -0
- package/modular.js +254 -0
- package/package.json +99 -0
- package/physics/collapse.js +95 -0
- package/physics/entropy.js +88 -0
- package/physics/index.js +65 -0
- package/physics/kuramoto.js +91 -0
- package/physics/lyapunov.js +80 -0
- package/physics/oscillator.js +95 -0
- package/types/index.d.ts +575 -0
|
@@ -0,0 +1,892 @@
|
|
|
1
|
+
# Backends Module Reference
|
|
2
|
+
|
|
3
|
+
The backends module provides domain-specific computation engines built on Aleph's core primitives.
|
|
4
|
+
|
|
5
|
+
## Backend Interface (`backends/interface.js`)
|
|
6
|
+
|
|
7
|
+
### BackendInterface
|
|
8
|
+
|
|
9
|
+
Abstract base class for all backends.
|
|
10
|
+
|
|
11
|
+
```javascript
|
|
12
|
+
class BackendInterface {
|
|
13
|
+
constructor(config) { }
|
|
14
|
+
encode(input) { }
|
|
15
|
+
decode(primes) { }
|
|
16
|
+
process(input) { }
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
#### constructor(config)
|
|
21
|
+
|
|
22
|
+
Initialize backend with configuration.
|
|
23
|
+
|
|
24
|
+
**Parameters:**
|
|
25
|
+
- `config` (Object): Backend configuration
|
|
26
|
+
- `dimension` (number): State dimension (default 16)
|
|
27
|
+
- `transforms` (Array): Available transforms
|
|
28
|
+
- `vocabulary` (Object): Word-to-prime mappings
|
|
29
|
+
- `ontology` (Object): Prime-to-meaning mappings
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
#### encode(input)
|
|
34
|
+
|
|
35
|
+
Convert input to prime encoding. Must be implemented by subclasses.
|
|
36
|
+
|
|
37
|
+
```javascript
|
|
38
|
+
backend.encode(input)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Parameters:**
|
|
42
|
+
- `input` (any): Backend-specific input
|
|
43
|
+
|
|
44
|
+
**Returns:** Array<number> - Prime encoding
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
#### decode(primes)
|
|
49
|
+
|
|
50
|
+
Convert primes back to output. Must be implemented by subclasses.
|
|
51
|
+
|
|
52
|
+
```javascript
|
|
53
|
+
backend.decode(primes)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Parameters:**
|
|
57
|
+
- `primes` (Array<number>): Prime encoding
|
|
58
|
+
|
|
59
|
+
**Returns:** any - Backend-specific output
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
#### process(input)
|
|
64
|
+
|
|
65
|
+
Full processing pipeline. Must be implemented by subclasses.
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
backend.process(input)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**Parameters:**
|
|
72
|
+
- `input` (any): Backend-specific input
|
|
73
|
+
|
|
74
|
+
**Returns:** Object - Processing result
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
#### primesToState(primes)
|
|
79
|
+
|
|
80
|
+
Convert prime array to hypercomplex state.
|
|
81
|
+
|
|
82
|
+
```javascript
|
|
83
|
+
backend.primesToState(primes)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Parameters:**
|
|
87
|
+
- `primes` (Array<number>): Prime numbers
|
|
88
|
+
|
|
89
|
+
**Returns:** SedenionState
|
|
90
|
+
|
|
91
|
+
**Notes:**
|
|
92
|
+
- Maps primes to basis states via modular arithmetic
|
|
93
|
+
- Multiplies basis states in sequence
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Semantic Backend (`backends/semantic/index.js`)
|
|
98
|
+
|
|
99
|
+
Natural language and concept processing engine.
|
|
100
|
+
|
|
101
|
+
### Constructor
|
|
102
|
+
|
|
103
|
+
```javascript
|
|
104
|
+
new SemanticBackend(config)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Parameters:**
|
|
108
|
+
- `config` (Object):
|
|
109
|
+
- `vocabulary` (Object): Word-to-prime mappings
|
|
110
|
+
- `ontology` (Object): Prime semantic meanings
|
|
111
|
+
- `stopWords` (Array): Words to filter
|
|
112
|
+
- `transforms` (Array): Semantic transforms
|
|
113
|
+
- `dimension` (number): State dimension (default 16)
|
|
114
|
+
|
|
115
|
+
**Example:**
|
|
116
|
+
```javascript
|
|
117
|
+
const backend = new SemanticBackend({
|
|
118
|
+
vocabulary: {
|
|
119
|
+
'love': [2, 3, 5],
|
|
120
|
+
'truth': [7, 11, 13]
|
|
121
|
+
},
|
|
122
|
+
ontology: {
|
|
123
|
+
2: 'existence',
|
|
124
|
+
3: 'unity',
|
|
125
|
+
5: 'life'
|
|
126
|
+
},
|
|
127
|
+
stopWords: ['the', 'a', 'is'],
|
|
128
|
+
dimension: 16
|
|
129
|
+
});
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### Text Processing
|
|
135
|
+
|
|
136
|
+
#### tokenize(text, filterStopWords)
|
|
137
|
+
|
|
138
|
+
Tokenize text into structured tokens.
|
|
139
|
+
|
|
140
|
+
```javascript
|
|
141
|
+
backend.tokenize(text, filterStopWords)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Parameters:**
|
|
145
|
+
- `text` (string): Input text
|
|
146
|
+
- `filterStopWords` (boolean): Remove stop words (default false)
|
|
147
|
+
|
|
148
|
+
**Returns:** Array<Token>
|
|
149
|
+
|
|
150
|
+
**Token Structure:**
|
|
151
|
+
```javascript
|
|
152
|
+
{
|
|
153
|
+
word: string, // Lowercase word
|
|
154
|
+
primes: number[], // Associated primes
|
|
155
|
+
known: boolean, // In vocabulary
|
|
156
|
+
isStop: boolean, // Is stop word
|
|
157
|
+
position: number // Position in text
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Example:**
|
|
162
|
+
```javascript
|
|
163
|
+
const tokens = backend.tokenize('Love is truth');
|
|
164
|
+
// [
|
|
165
|
+
// { word: 'love', primes: [2,3,5], known: true, isStop: false, position: 0 },
|
|
166
|
+
// { word: 'is', primes: [], known: true, isStop: true, position: 1 },
|
|
167
|
+
// { word: 'truth', primes: [7,11,13], known: true, isStop: false, position: 2 }
|
|
168
|
+
// ]
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
#### encode(text)
|
|
174
|
+
|
|
175
|
+
Encode text to prime array (unordered).
|
|
176
|
+
|
|
177
|
+
```javascript
|
|
178
|
+
backend.encode(text)
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Parameters:**
|
|
182
|
+
- `text` (string): Input text
|
|
183
|
+
|
|
184
|
+
**Returns:** Array<number> - All primes from all words
|
|
185
|
+
|
|
186
|
+
**Example:**
|
|
187
|
+
```javascript
|
|
188
|
+
const primes = backend.encode('love and truth');
|
|
189
|
+
// [2, 3, 5, 7, 11, 13]
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
#### encodeOrdered(text)
|
|
195
|
+
|
|
196
|
+
Encode text preserving word order.
|
|
197
|
+
|
|
198
|
+
```javascript
|
|
199
|
+
backend.encodeOrdered(text)
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Parameters:**
|
|
203
|
+
- `text` (string): Input text
|
|
204
|
+
|
|
205
|
+
**Returns:** Array<Object> - Ordered tokens with primes
|
|
206
|
+
|
|
207
|
+
**Example:**
|
|
208
|
+
```javascript
|
|
209
|
+
const ordered = backend.encodeOrdered('dog bites man');
|
|
210
|
+
// [
|
|
211
|
+
// { word: 'dog', primes: [...], position: 0 },
|
|
212
|
+
// { word: 'bites', primes: [...], position: 1 },
|
|
213
|
+
// { word: 'man', primes: [...], position: 2 }
|
|
214
|
+
// ]
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
#### decode(primes)
|
|
220
|
+
|
|
221
|
+
Decode primes to text.
|
|
222
|
+
|
|
223
|
+
```javascript
|
|
224
|
+
backend.decode(primes)
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**Parameters:**
|
|
228
|
+
- `primes` (Array<number>): Prime encoding
|
|
229
|
+
|
|
230
|
+
**Returns:** string - Decoded text
|
|
231
|
+
|
|
232
|
+
**Notes:**
|
|
233
|
+
- Uses greedy covering algorithm
|
|
234
|
+
- May not perfectly reconstruct original text
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
### State Conversion
|
|
239
|
+
|
|
240
|
+
#### primesToState(primes)
|
|
241
|
+
|
|
242
|
+
Convert primes to hypercomplex state (commutative).
|
|
243
|
+
|
|
244
|
+
```javascript
|
|
245
|
+
backend.primesToState(primes)
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Parameters:**
|
|
249
|
+
- `primes` (Array<number>): Prime array
|
|
250
|
+
|
|
251
|
+
**Returns:** SedenionState
|
|
252
|
+
|
|
253
|
+
**Notes:**
|
|
254
|
+
- Order-independent (commutative combination)
|
|
255
|
+
- Suitable for concept matching, not phrase matching
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
#### orderedPrimesToState(tokens)
|
|
260
|
+
|
|
261
|
+
Convert ordered tokens to state (non-commutative).
|
|
262
|
+
|
|
263
|
+
```javascript
|
|
264
|
+
backend.orderedPrimesToState(tokens)
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**Parameters:**
|
|
268
|
+
- `tokens` (Array<Object>): Ordered tokens from encodeOrdered()
|
|
269
|
+
|
|
270
|
+
**Returns:** SedenionState
|
|
271
|
+
|
|
272
|
+
**Notes:**
|
|
273
|
+
- Order-dependent (non-commutative multiplication)
|
|
274
|
+
- "dog bites man" ≠ "man bites dog"
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
#### textToOrderedState(text)
|
|
279
|
+
|
|
280
|
+
Convenience method: text → ordered state.
|
|
281
|
+
|
|
282
|
+
```javascript
|
|
283
|
+
backend.textToOrderedState(text)
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Parameters:**
|
|
287
|
+
- `text` (string): Input text
|
|
288
|
+
|
|
289
|
+
**Returns:** SedenionState
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
### Vocabulary Management
|
|
294
|
+
|
|
295
|
+
#### hasWord(word)
|
|
296
|
+
|
|
297
|
+
Check if word is in vocabulary.
|
|
298
|
+
|
|
299
|
+
```javascript
|
|
300
|
+
backend.hasWord(word)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Parameters:**
|
|
304
|
+
- `word` (string): Word to check
|
|
305
|
+
|
|
306
|
+
**Returns:** boolean
|
|
307
|
+
|
|
308
|
+
---
|
|
309
|
+
|
|
310
|
+
#### getWordPrimes(word)
|
|
311
|
+
|
|
312
|
+
Get primes for a word.
|
|
313
|
+
|
|
314
|
+
```javascript
|
|
315
|
+
backend.getWordPrimes(word)
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
**Parameters:**
|
|
319
|
+
- `word` (string): Word to look up
|
|
320
|
+
|
|
321
|
+
**Returns:** Array<number> | null
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
#### learn(word, primes)
|
|
326
|
+
|
|
327
|
+
Add word to vocabulary.
|
|
328
|
+
|
|
329
|
+
```javascript
|
|
330
|
+
backend.learn(word, primes)
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**Parameters:**
|
|
334
|
+
- `word` (string): New word
|
|
335
|
+
- `primes` (Array<number>): Prime encoding
|
|
336
|
+
|
|
337
|
+
**Returns:** void
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
#### getVocabularySize()
|
|
342
|
+
|
|
343
|
+
Get vocabulary size.
|
|
344
|
+
|
|
345
|
+
```javascript
|
|
346
|
+
backend.getVocabularySize()
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
**Returns:** number
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
### Ontology Access
|
|
354
|
+
|
|
355
|
+
#### getOntologyMeaning(prime)
|
|
356
|
+
|
|
357
|
+
Get meaning of a prime.
|
|
358
|
+
|
|
359
|
+
```javascript
|
|
360
|
+
backend.getOntologyMeaning(prime)
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**Parameters:**
|
|
364
|
+
- `prime` (number): Prime number
|
|
365
|
+
|
|
366
|
+
**Returns:** string | null - Semantic meaning
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
#### getAxisPrimes(axis)
|
|
371
|
+
|
|
372
|
+
Get primes associated with a semantic axis.
|
|
373
|
+
|
|
374
|
+
```javascript
|
|
375
|
+
backend.getAxisPrimes(axis)
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
**Parameters:**
|
|
379
|
+
- `axis` (number): Axis index (0-15)
|
|
380
|
+
|
|
381
|
+
**Returns:** Array<number>
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
#### getOntologyTerms()
|
|
386
|
+
|
|
387
|
+
Get all defined ontology terms.
|
|
388
|
+
|
|
389
|
+
```javascript
|
|
390
|
+
backend.getOntologyTerms()
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
**Returns:** Array<string>
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
### Transform Application
|
|
398
|
+
|
|
399
|
+
#### applyTransform(primes, transform)
|
|
400
|
+
|
|
401
|
+
Apply a single transform.
|
|
402
|
+
|
|
403
|
+
```javascript
|
|
404
|
+
backend.applyTransform(primes, transform)
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
**Parameters:**
|
|
408
|
+
- `primes` (Array<number>): Current primes
|
|
409
|
+
- `transform` (Object): Transform to apply
|
|
410
|
+
|
|
411
|
+
**Returns:** Array<number> - Transformed primes
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
415
|
+
#### process(text)
|
|
416
|
+
|
|
417
|
+
Full processing with transform application.
|
|
418
|
+
|
|
419
|
+
```javascript
|
|
420
|
+
backend.process(text)
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
**Parameters:**
|
|
424
|
+
- `text` (string): Input text
|
|
425
|
+
|
|
426
|
+
**Returns:** Object
|
|
427
|
+
```javascript
|
|
428
|
+
{
|
|
429
|
+
input: string,
|
|
430
|
+
primes: number[],
|
|
431
|
+
state: SedenionState,
|
|
432
|
+
output: string,
|
|
433
|
+
entropy: number,
|
|
434
|
+
steps: TransformStep[]
|
|
435
|
+
}
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
## Two-Layer Engine (`backends/semantic/two-layer.js`)
|
|
441
|
+
|
|
442
|
+
Separates invariant meaning from surface vocabulary.
|
|
443
|
+
|
|
444
|
+
### Constructor
|
|
445
|
+
|
|
446
|
+
```javascript
|
|
447
|
+
new TwoLayerEngine(config)
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
**Parameters:**
|
|
451
|
+
- `config` (Object):
|
|
452
|
+
- `core` (Object): Core configuration
|
|
453
|
+
- `registers` (Object): Surface register definitions
|
|
454
|
+
- `defaultRegister` (string): Default register name
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
### Methods
|
|
459
|
+
|
|
460
|
+
#### process(text)
|
|
461
|
+
|
|
462
|
+
Process text through both layers.
|
|
463
|
+
|
|
464
|
+
```javascript
|
|
465
|
+
engine.process(text)
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
**Returns:** Object
|
|
469
|
+
```javascript
|
|
470
|
+
{
|
|
471
|
+
meaning: {
|
|
472
|
+
primes: number[],
|
|
473
|
+
state: SedenionState,
|
|
474
|
+
entropy: number
|
|
475
|
+
},
|
|
476
|
+
surface: {
|
|
477
|
+
words: string[],
|
|
478
|
+
register: string
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
---
|
|
484
|
+
|
|
485
|
+
#### translate(text, fromRegister, toRegister)
|
|
486
|
+
|
|
487
|
+
Translate between surface registers.
|
|
488
|
+
|
|
489
|
+
```javascript
|
|
490
|
+
engine.translate(text, fromRegister, toRegister)
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
**Parameters:**
|
|
494
|
+
- `text` (string): Input text
|
|
495
|
+
- `fromRegister` (string): Source register
|
|
496
|
+
- `toRegister` (string): Target register
|
|
497
|
+
|
|
498
|
+
**Returns:** Object - `{ original, translated, meaning }`
|
|
499
|
+
|
|
500
|
+
---
|
|
501
|
+
|
|
502
|
+
#### useRegister(name)
|
|
503
|
+
|
|
504
|
+
Set active surface register.
|
|
505
|
+
|
|
506
|
+
```javascript
|
|
507
|
+
engine.useRegister(name)
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
**Parameters:**
|
|
511
|
+
- `name` (string): Register name
|
|
512
|
+
|
|
513
|
+
---
|
|
514
|
+
|
|
515
|
+
#### generateWithStyle(primes, style)
|
|
516
|
+
|
|
517
|
+
Generate text from primes with style.
|
|
518
|
+
|
|
519
|
+
```javascript
|
|
520
|
+
engine.generateWithStyle(primes, style)
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
**Parameters:**
|
|
524
|
+
- `primes` (Array<number>): Meaning primes
|
|
525
|
+
- `style` (string): Style modifier
|
|
526
|
+
|
|
527
|
+
**Returns:** string - Styled text
|
|
528
|
+
|
|
529
|
+
---
|
|
530
|
+
|
|
531
|
+
## Cryptographic Backend (`backends/cryptographic/index.js`)
|
|
532
|
+
|
|
533
|
+
Semantic hashing and key derivation.
|
|
534
|
+
|
|
535
|
+
### Constructor
|
|
536
|
+
|
|
537
|
+
```javascript
|
|
538
|
+
new CryptographicBackend(config)
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
**Parameters:**
|
|
542
|
+
- `config` (Object):
|
|
543
|
+
- `vocabulary` (Object): Word mappings
|
|
544
|
+
- `dimension` (number): State dimension
|
|
545
|
+
- `hashRounds` (number): Strengthening rounds
|
|
546
|
+
|
|
547
|
+
---
|
|
548
|
+
|
|
549
|
+
### Hashing
|
|
550
|
+
|
|
551
|
+
#### hash(text)
|
|
552
|
+
|
|
553
|
+
Create semantic hash of text.
|
|
554
|
+
|
|
555
|
+
```javascript
|
|
556
|
+
backend.hash(text)
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
**Parameters:**
|
|
560
|
+
- `text` (string): Input text
|
|
561
|
+
|
|
562
|
+
**Returns:** string - Hash string
|
|
563
|
+
|
|
564
|
+
**Notes:**
|
|
565
|
+
- Similar meanings → similar hashes
|
|
566
|
+
- Deterministic
|
|
567
|
+
|
|
568
|
+
---
|
|
569
|
+
|
|
570
|
+
#### hashToState(text)
|
|
571
|
+
|
|
572
|
+
Hash text to full state object.
|
|
573
|
+
|
|
574
|
+
```javascript
|
|
575
|
+
backend.hashToState(text)
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
**Parameters:**
|
|
579
|
+
- `text` (string): Input text
|
|
580
|
+
|
|
581
|
+
**Returns:** SedenionState
|
|
582
|
+
|
|
583
|
+
---
|
|
584
|
+
|
|
585
|
+
### Key Derivation
|
|
586
|
+
|
|
587
|
+
#### deriveKey(phrase)
|
|
588
|
+
|
|
589
|
+
Derive key from passphrase.
|
|
590
|
+
|
|
591
|
+
```javascript
|
|
592
|
+
backend.deriveKey(phrase)
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
**Parameters:**
|
|
596
|
+
- `phrase` (string): Key phrase
|
|
597
|
+
|
|
598
|
+
**Returns:** SedenionState - Derived key
|
|
599
|
+
|
|
600
|
+
---
|
|
601
|
+
|
|
602
|
+
#### strengthenKey(key, rounds)
|
|
603
|
+
|
|
604
|
+
Apply key strengthening.
|
|
605
|
+
|
|
606
|
+
```javascript
|
|
607
|
+
backend.strengthenKey(key, rounds)
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
**Parameters:**
|
|
611
|
+
- `key` (SedenionState): Initial key
|
|
612
|
+
- `rounds` (number): Strengthening rounds
|
|
613
|
+
|
|
614
|
+
**Returns:** SedenionState - Strengthened key
|
|
615
|
+
|
|
616
|
+
---
|
|
617
|
+
|
|
618
|
+
### Encoding
|
|
619
|
+
|
|
620
|
+
#### encode(text)
|
|
621
|
+
|
|
622
|
+
Encode text to primes.
|
|
623
|
+
|
|
624
|
+
```javascript
|
|
625
|
+
backend.encode(text)
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
**Parameters:**
|
|
629
|
+
- `text` (string): Input text
|
|
630
|
+
|
|
631
|
+
**Returns:** Array<number>
|
|
632
|
+
|
|
633
|
+
---
|
|
634
|
+
|
|
635
|
+
#### decode(primes)
|
|
636
|
+
|
|
637
|
+
Decode primes to text.
|
|
638
|
+
|
|
639
|
+
```javascript
|
|
640
|
+
backend.decode(primes)
|
|
641
|
+
```
|
|
642
|
+
|
|
643
|
+
**Parameters:**
|
|
644
|
+
- `primes` (Array<number>): Prime encoding
|
|
645
|
+
|
|
646
|
+
**Returns:** string
|
|
647
|
+
|
|
648
|
+
---
|
|
649
|
+
|
|
650
|
+
## Scientific Backend (`backends/scientific/index.js`)
|
|
651
|
+
|
|
652
|
+
Quantum-inspired computation and simulation.
|
|
653
|
+
|
|
654
|
+
### Constructor
|
|
655
|
+
|
|
656
|
+
```javascript
|
|
657
|
+
new ScientificBackend(config)
|
|
658
|
+
```
|
|
659
|
+
|
|
660
|
+
**Parameters:**
|
|
661
|
+
- `config` (Object):
|
|
662
|
+
- `dimension` (number): State dimension (default 16)
|
|
663
|
+
- `precision` (number): Numerical precision
|
|
664
|
+
|
|
665
|
+
---
|
|
666
|
+
|
|
667
|
+
### State Creation
|
|
668
|
+
|
|
669
|
+
#### createState(components)
|
|
670
|
+
|
|
671
|
+
Create state from components.
|
|
672
|
+
|
|
673
|
+
```javascript
|
|
674
|
+
backend.createState(components)
|
|
675
|
+
```
|
|
676
|
+
|
|
677
|
+
**Parameters:**
|
|
678
|
+
- `components` (Array<number>): 16 real components
|
|
679
|
+
|
|
680
|
+
**Returns:** SedenionState
|
|
681
|
+
|
|
682
|
+
---
|
|
683
|
+
|
|
684
|
+
#### createRandomState()
|
|
685
|
+
|
|
686
|
+
Create random normalized state.
|
|
687
|
+
|
|
688
|
+
```javascript
|
|
689
|
+
backend.createRandomState()
|
|
690
|
+
```
|
|
691
|
+
|
|
692
|
+
**Returns:** SedenionState
|
|
693
|
+
|
|
694
|
+
---
|
|
695
|
+
|
|
696
|
+
#### createBasisState(index)
|
|
697
|
+
|
|
698
|
+
Create basis state eᵢ.
|
|
699
|
+
|
|
700
|
+
```javascript
|
|
701
|
+
backend.createBasisState(index)
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
**Parameters:**
|
|
705
|
+
- `index` (number): Basis index (0-15)
|
|
706
|
+
|
|
707
|
+
**Returns:** SedenionState
|
|
708
|
+
|
|
709
|
+
---
|
|
710
|
+
|
|
711
|
+
### State Operations
|
|
712
|
+
|
|
713
|
+
#### superpose(state1, weight1, state2, weight2)
|
|
714
|
+
|
|
715
|
+
Create weighted superposition.
|
|
716
|
+
|
|
717
|
+
```javascript
|
|
718
|
+
backend.superpose(state1, weight1, state2, weight2)
|
|
719
|
+
```
|
|
720
|
+
|
|
721
|
+
**Parameters:**
|
|
722
|
+
- `state1` (SedenionState): First state
|
|
723
|
+
- `weight1` (number): First weight
|
|
724
|
+
- `state2` (SedenionState): Second state
|
|
725
|
+
- `weight2` (number): Second weight
|
|
726
|
+
|
|
727
|
+
**Returns:** SedenionState - Normalized superposition
|
|
728
|
+
|
|
729
|
+
---
|
|
730
|
+
|
|
731
|
+
#### evolve(state, hamiltonian, dt)
|
|
732
|
+
|
|
733
|
+
Time evolve state.
|
|
734
|
+
|
|
735
|
+
```javascript
|
|
736
|
+
backend.evolve(state, hamiltonian, dt)
|
|
737
|
+
```
|
|
738
|
+
|
|
739
|
+
**Parameters:**
|
|
740
|
+
- `state` (SedenionState): Current state
|
|
741
|
+
- `hamiltonian` (SedenionState): Evolution operator
|
|
742
|
+
- `dt` (number): Time step
|
|
743
|
+
|
|
744
|
+
**Returns:** SedenionState - Evolved state
|
|
745
|
+
|
|
746
|
+
---
|
|
747
|
+
|
|
748
|
+
#### collapse(state, target, strength)
|
|
749
|
+
|
|
750
|
+
Collapse toward target.
|
|
751
|
+
|
|
752
|
+
```javascript
|
|
753
|
+
backend.collapse(state, target, strength)
|
|
754
|
+
```
|
|
755
|
+
|
|
756
|
+
**Parameters:**
|
|
757
|
+
- `state` (SedenionState): State to collapse
|
|
758
|
+
- `target` (SedenionState): Target attractor
|
|
759
|
+
- `strength` (number): Collapse strength
|
|
760
|
+
|
|
761
|
+
**Returns:** SedenionState
|
|
762
|
+
|
|
763
|
+
---
|
|
764
|
+
|
|
765
|
+
### Measurements
|
|
766
|
+
|
|
767
|
+
#### measureProbability(state, projector)
|
|
768
|
+
|
|
769
|
+
Calculate measurement probability.
|
|
770
|
+
|
|
771
|
+
```javascript
|
|
772
|
+
backend.measureProbability(state, projector)
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
**Parameters:**
|
|
776
|
+
- `state` (SedenionState): State to measure
|
|
777
|
+
- `projector` (SedenionState): Measurement projector
|
|
778
|
+
|
|
779
|
+
**Returns:** number - Probability [0, 1]
|
|
780
|
+
|
|
781
|
+
---
|
|
782
|
+
|
|
783
|
+
#### measure(state, basis)
|
|
784
|
+
|
|
785
|
+
Perform measurement with collapse.
|
|
786
|
+
|
|
787
|
+
```javascript
|
|
788
|
+
backend.measure(state, basis)
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
**Parameters:**
|
|
792
|
+
- `state` (SedenionState): State to measure
|
|
793
|
+
- `basis` (Array<SedenionState>): Measurement basis
|
|
794
|
+
|
|
795
|
+
**Returns:** Object - `{ outcome, probability, finalState }`
|
|
796
|
+
|
|
797
|
+
---
|
|
798
|
+
|
|
799
|
+
### Encoding Interface
|
|
800
|
+
|
|
801
|
+
#### encode(input)
|
|
802
|
+
|
|
803
|
+
Encode numeric input to primes.
|
|
804
|
+
|
|
805
|
+
```javascript
|
|
806
|
+
backend.encode(input)
|
|
807
|
+
```
|
|
808
|
+
|
|
809
|
+
**Parameters:**
|
|
810
|
+
- `input` (Array<number>): Numeric data
|
|
811
|
+
|
|
812
|
+
**Returns:** Array<number>
|
|
813
|
+
|
|
814
|
+
---
|
|
815
|
+
|
|
816
|
+
#### decode(primes)
|
|
817
|
+
|
|
818
|
+
Decode primes to numeric output.
|
|
819
|
+
|
|
820
|
+
```javascript
|
|
821
|
+
backend.decode(primes)
|
|
822
|
+
```
|
|
823
|
+
|
|
824
|
+
**Parameters:**
|
|
825
|
+
- `primes` (Array<number>): Prime encoding
|
|
826
|
+
|
|
827
|
+
**Returns:** Array<number>
|
|
828
|
+
|
|
829
|
+
---
|
|
830
|
+
|
|
831
|
+
#### process(input)
|
|
832
|
+
|
|
833
|
+
Full scientific processing.
|
|
834
|
+
|
|
835
|
+
```javascript
|
|
836
|
+
backend.process(input)
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
**Parameters:**
|
|
840
|
+
- `input` (Object): Processing request
|
|
841
|
+
|
|
842
|
+
**Returns:** Object - Processing result
|
|
843
|
+
|
|
844
|
+
---
|
|
845
|
+
|
|
846
|
+
## Backend Registration
|
|
847
|
+
|
|
848
|
+
### registerBackend(name, BackendClass)
|
|
849
|
+
|
|
850
|
+
Register a custom backend.
|
|
851
|
+
|
|
852
|
+
```javascript
|
|
853
|
+
const { registerBackend } = require('./modular');
|
|
854
|
+
|
|
855
|
+
registerBackend('custom', CustomBackend);
|
|
856
|
+
```
|
|
857
|
+
|
|
858
|
+
**Parameters:**
|
|
859
|
+
- `name` (string): Backend identifier
|
|
860
|
+
- `BackendClass` (class): Backend constructor
|
|
861
|
+
|
|
862
|
+
---
|
|
863
|
+
|
|
864
|
+
### getBackend(name)
|
|
865
|
+
|
|
866
|
+
Get registered backend class.
|
|
867
|
+
|
|
868
|
+
```javascript
|
|
869
|
+
const { getBackend } = require('./modular');
|
|
870
|
+
|
|
871
|
+
const SemanticBackend = getBackend('semantic');
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
**Parameters:**
|
|
875
|
+
- `name` (string): Backend identifier
|
|
876
|
+
|
|
877
|
+
**Returns:** class | null
|
|
878
|
+
|
|
879
|
+
---
|
|
880
|
+
|
|
881
|
+
### listBackends()
|
|
882
|
+
|
|
883
|
+
List all registered backends.
|
|
884
|
+
|
|
885
|
+
```javascript
|
|
886
|
+
const { listBackends } = require('./modular');
|
|
887
|
+
|
|
888
|
+
console.log(listBackends());
|
|
889
|
+
// ['semantic', 'cryptographic', 'scientific']
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
**Returns:** Array<string>
|