@q-ching/core 0.1.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 (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -0
  3. package/dist/casting.d.ts +45 -0
  4. package/dist/casting.js +110 -0
  5. package/dist/casting.js.map +1 -0
  6. package/dist/engine.test.d.ts +1 -0
  7. package/dist/engine.test.js +74 -0
  8. package/dist/engine.test.js.map +1 -0
  9. package/dist/entropy/gesture.d.ts +26 -0
  10. package/dist/entropy/gesture.js +52 -0
  11. package/dist/entropy/gesture.js.map +1 -0
  12. package/dist/entropy/pool.d.ts +29 -0
  13. package/dist/entropy/pool.js +70 -0
  14. package/dist/entropy/pool.js.map +1 -0
  15. package/dist/entropy/qrng.d.ts +47 -0
  16. package/dist/entropy/qrng.js +130 -0
  17. package/dist/entropy/qrng.js.map +1 -0
  18. package/dist/hexagram-data.d.ts +2 -0
  19. package/dist/hexagram-data.js +1859 -0
  20. package/dist/hexagram-data.js.map +1 -0
  21. package/dist/hexagrams.d.ts +19 -0
  22. package/dist/hexagrams.js +90 -0
  23. package/dist/hexagrams.js.map +1 -0
  24. package/dist/index.d.ts +14 -0
  25. package/dist/index.js +15 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/trigrams.d.ts +10 -0
  28. package/dist/trigrams.js +60 -0
  29. package/dist/trigrams.js.map +1 -0
  30. package/dist/types.d.ts +82 -0
  31. package/dist/types.js +10 -0
  32. package/dist/types.js.map +1 -0
  33. package/dist/util.d.ts +17 -0
  34. package/dist/util.js +79 -0
  35. package/dist/util.js.map +1 -0
  36. package/package.json +48 -0
  37. package/src/casting.ts +131 -0
  38. package/src/engine.test.ts +77 -0
  39. package/src/entropy/gesture.ts +57 -0
  40. package/src/entropy/pool.ts +74 -0
  41. package/src/entropy/qrng.ts +170 -0
  42. package/src/hexagram-data.ts +1863 -0
  43. package/src/hexagrams.ts +97 -0
  44. package/src/index.ts +33 -0
  45. package/src/trigrams.ts +66 -0
  46. package/src/types.ts +98 -0
  47. package/src/util.ts +83 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexagram-data.js","sourceRoot":"","sources":["../src/hexagram-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Bit, Hexagram, HexBits, RawHexagram } from './types.js';
2
+ /** The 64 hexagrams, ordered by King Wen number, with derived glyphs. */
3
+ export declare const HEXAGRAMS: Hexagram[];
4
+ export declare function hexagramByNumber(n: number): Hexagram;
5
+ /** Look up the hexagram for six bits (bottom -> top, 1=yang 0=yin). */
6
+ export declare function hexagramByBits(bits: readonly Bit[] | HexBits): Hexagram;
7
+ export interface ValidationResult {
8
+ ok: boolean;
9
+ errors: string[];
10
+ }
11
+ /**
12
+ * Deterministic structural validation of the dataset. The 64 hexagrams must be
13
+ * exactly the 64 possible 6-bit patterns (a permutation of 0..63), trigram
14
+ * composition must match the stored upper/lower keys, and King Wen pairs
15
+ * (1-2, 3-4, ...) must be vertical inversions of one another or, for the eight
16
+ * symmetric hexagrams, bit-complements. These checks catch a wrong table
17
+ * without trusting any prose.
18
+ */
19
+ export declare function validateHexagrams(list?: RawHexagram[]): ValidationResult;
@@ -0,0 +1,90 @@
1
+ import { HEXAGRAM_DATA } from './hexagram-data.js';
2
+ /**
3
+ * Unicode hexagram glyphs occupy the contiguous block U+4DC0..U+4DFF, ordered
4
+ * by the King Wen sequence (hexagram 1 = U+4DC0). So the glyph is derivable
5
+ * directly from the King Wen number — no need to store it.
6
+ */
7
+ function glyphFor(kingWenNumber) {
8
+ return String.fromCodePoint(0x4dc0 + (kingWenNumber - 1));
9
+ }
10
+ function bitsKey(bits) {
11
+ return bits.join('');
12
+ }
13
+ /** The 64 hexagrams, ordered by King Wen number, with derived glyphs. */
14
+ export const HEXAGRAMS = HEXAGRAM_DATA
15
+ .slice()
16
+ .sort((a, b) => a.number - b.number)
17
+ .map((raw) => ({ ...raw, symbol: glyphFor(raw.number) }));
18
+ const BY_NUMBER = new Map(HEXAGRAMS.map((h) => [h.number, h]));
19
+ const BY_BITS = new Map(HEXAGRAMS.map((h) => [bitsKey(h.bits), h]));
20
+ export function hexagramByNumber(n) {
21
+ const h = BY_NUMBER.get(n);
22
+ if (!h)
23
+ throw new Error(`No hexagram with King Wen number ${n}`);
24
+ return h;
25
+ }
26
+ /** Look up the hexagram for six bits (bottom -> top, 1=yang 0=yin). */
27
+ export function hexagramByBits(bits) {
28
+ const h = BY_BITS.get(bitsKey(bits));
29
+ if (!h)
30
+ throw new Error(`No hexagram for bits ${bitsKey(bits)}`);
31
+ return h;
32
+ }
33
+ /**
34
+ * Deterministic structural validation of the dataset. The 64 hexagrams must be
35
+ * exactly the 64 possible 6-bit patterns (a permutation of 0..63), trigram
36
+ * composition must match the stored upper/lower keys, and King Wen pairs
37
+ * (1-2, 3-4, ...) must be vertical inversions of one another or, for the eight
38
+ * symmetric hexagrams, bit-complements. These checks catch a wrong table
39
+ * without trusting any prose.
40
+ */
41
+ export function validateHexagrams(list = HEXAGRAM_DATA) {
42
+ const errors = [];
43
+ if (list.length !== 64)
44
+ errors.push(`expected 64 hexagrams, got ${list.length}`);
45
+ const numbers = new Set(list.map((h) => h.number));
46
+ for (let n = 1; n <= 64; n++) {
47
+ if (!numbers.has(n))
48
+ errors.push(`missing King Wen number ${n}`);
49
+ }
50
+ const patterns = new Set();
51
+ for (const h of list) {
52
+ const key = bitsKey(h.bits);
53
+ if (h.bits.length !== 6)
54
+ errors.push(`#${h.number} has ${h.bits.length} bits`);
55
+ if (patterns.has(key))
56
+ errors.push(`duplicate bit pattern ${key} (#${h.number})`);
57
+ patterns.add(key);
58
+ const lower = bitsKey(h.bits.slice(0, 3));
59
+ const upper = bitsKey(h.bits.slice(3, 6));
60
+ if (TRI[h.lower] !== lower)
61
+ errors.push(`#${h.number} lower trigram mismatch (${h.lower} vs ${lower})`);
62
+ if (TRI[h.upper] !== upper)
63
+ errors.push(`#${h.number} upper trigram mismatch (${h.upper} vs ${upper})`);
64
+ for (let i = 0; i < 6; i++) {
65
+ if (h.bits[i] !== 0 && h.bits[i] !== 1)
66
+ errors.push(`#${h.number} bit ${i} not 0/1`);
67
+ }
68
+ }
69
+ if (patterns.size !== 64)
70
+ errors.push(`expected 64 unique patterns, got ${patterns.size}`);
71
+ // King Wen pairing rule
72
+ const byNum = new Map(list.map((h) => [h.number, h]));
73
+ for (let k = 1; k <= 63; k += 2) {
74
+ const a = byNum.get(k);
75
+ const b = byNum.get(k + 1);
76
+ if (!a || !b)
77
+ continue;
78
+ const inverted = a.bits.slice().reverse().join('') === bitsKey(b.bits);
79
+ const complemented = a.bits.map((x) => (x ^ 1)).join('') === bitsKey(b.bits);
80
+ if (!inverted && !complemented) {
81
+ errors.push(`King Wen pair #${k}/#${k + 1} is neither inverse nor complement`);
82
+ }
83
+ }
84
+ return { ok: errors.length === 0, errors };
85
+ }
86
+ const TRI = {
87
+ qian: '111', dui: '110', li: '101', zhen: '100',
88
+ xun: '011', kan: '010', gen: '001', kun: '000',
89
+ };
90
+ //# sourceMappingURL=hexagrams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hexagrams.js","sourceRoot":"","sources":["../src/hexagrams.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,SAAS,QAAQ,CAAC,aAAqB;IACrC,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,OAAO,CAAC,IAAoB;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvB,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,SAAS,GAAe,aAAa;KAC/C,KAAK,EAAE;KACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;KACnC,GAAG,CAAC,CAAC,GAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAEzE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAmB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAmB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtF,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,cAAc,CAAC,IAA8B;IAC3D,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAsB,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAsB,CAAC,EAAE,CAAC,CAAC;IACnF,OAAO,CAAC,CAAC;AACX,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAsB,aAAa;IACnE,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAEjF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC;QAC/E,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAClF,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,4BAA4B,CAAC,CAAC,KAAK,OAAO,KAAK,GAAG,CAAC,CAAC;QACxG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,4BAA4B,CAAC,CAAC,KAAK,OAAO,KAAK,GAAG,CAAC,CAAC;QACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,oCAAoC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3F,wBAAwB;IACxB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,GAAG,GAA2B;IAClC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IAC/C,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK;CAC/C,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @q-ching/core — a platform-agnostic I-Ching engine.
3
+ *
4
+ * Runs identically in the browser, in Node, and in a terminal: it relies only
5
+ * on Web Crypto and fetch, both standard in modern browsers and Node >=20.
6
+ */
7
+ export * from './types.js';
8
+ export { TRIGRAMS, TRIGRAM_LIST, trigramByBits } from './trigrams.js';
9
+ export { HEXAGRAMS, hexagramByNumber, hexagramByBits, validateHexagrams, type ValidationResult, } from './hexagrams.js';
10
+ export { EntropyPool } from './entropy/pool.js';
11
+ export { GestureEntropy } from './entropy/gesture.js';
12
+ export { gatherEntropy, localCsprng, fetchNistBeacon, fetchAnu, fetchRandomOrg, type QrngSourceName, type QrngResult, type QrngConfig, } from './entropy/qrng.js';
13
+ export { cast, coinLine, yarrowLine, type CastInput } from './casting.js';
14
+ export { toHex, fromHex } from './util.js';
package/dist/index.js ADDED
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @q-ching/core — a platform-agnostic I-Ching engine.
3
+ *
4
+ * Runs identically in the browser, in Node, and in a terminal: it relies only
5
+ * on Web Crypto and fetch, both standard in modern browsers and Node >=20.
6
+ */
7
+ export * from './types.js';
8
+ export { TRIGRAMS, TRIGRAM_LIST, trigramByBits } from './trigrams.js';
9
+ export { HEXAGRAMS, hexagramByNumber, hexagramByBits, validateHexagrams, } from './hexagrams.js';
10
+ export { EntropyPool } from './entropy/pool.js';
11
+ export { GestureEntropy } from './entropy/gesture.js';
12
+ export { gatherEntropy, localCsprng, fetchNistBeacon, fetchAnu, fetchRandomOrg, } from './entropy/qrng.js';
13
+ export { cast, coinLine, yarrowLine } from './casting.js';
14
+ export { toHex, fromHex } from './util.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EACf,QAAQ,EACR,cAAc,GAIf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAkB,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Trigram, TrigramKey, TriBits } from './types.js';
2
+ /**
3
+ * The eight trigrams (bagua). `bits` are bottom -> top, 1 = yang (solid),
4
+ * 0 = yin (broken). These binary patterns are canonical and are used to
5
+ * derive and validate every hexagram.
6
+ */
7
+ export declare const TRIGRAMS: Record<TrigramKey, Trigram>;
8
+ export declare const TRIGRAM_LIST: Trigram[];
9
+ /** Look up the trigram whose pattern matches the given three bits (bottom -> top). */
10
+ export declare function trigramByBits(bits: TriBits): Trigram;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * The eight trigrams (bagua). `bits` are bottom -> top, 1 = yang (solid),
3
+ * 0 = yin (broken). These binary patterns are canonical and are used to
4
+ * derive and validate every hexagram.
5
+ */
6
+ export const TRIGRAMS = {
7
+ qian: {
8
+ key: 'qian', bits: [1, 1, 1], symbol: '☰',
9
+ name: { chinese: '乾', pinyin: 'Qián', english: 'The Creative' },
10
+ attribute: 'strong', image: 'heaven', family: 'father',
11
+ },
12
+ dui: {
13
+ key: 'dui', bits: [1, 1, 0], symbol: '☱',
14
+ name: { chinese: '兌', pinyin: 'Duì', english: 'The Joyous' },
15
+ attribute: 'joyful', image: 'lake', family: 'youngest daughter',
16
+ },
17
+ li: {
18
+ key: 'li', bits: [1, 0, 1], symbol: '☲',
19
+ name: { chinese: '離', pinyin: 'Lí', english: 'The Clinging' },
20
+ attribute: 'light-giving', image: 'fire', family: 'middle daughter',
21
+ },
22
+ zhen: {
23
+ key: 'zhen', bits: [1, 0, 0], symbol: '☳',
24
+ name: { chinese: '震', pinyin: 'Zhèn', english: 'The Arousing' },
25
+ attribute: 'inciting movement', image: 'thunder', family: 'eldest son',
26
+ },
27
+ xun: {
28
+ key: 'xun', bits: [0, 1, 1], symbol: '☴',
29
+ name: { chinese: '巽', pinyin: 'Xùn', english: 'The Gentle' },
30
+ attribute: 'penetrating', image: 'wind', family: 'eldest daughter',
31
+ },
32
+ kan: {
33
+ key: 'kan', bits: [0, 1, 0], symbol: '☵',
34
+ name: { chinese: '坎', pinyin: 'Kǎn', english: 'The Abysmal' },
35
+ attribute: 'dangerous', image: 'water', family: 'middle son',
36
+ },
37
+ gen: {
38
+ key: 'gen', bits: [0, 0, 1], symbol: '☶',
39
+ name: { chinese: '艮', pinyin: 'Gèn', english: 'Keeping Still' },
40
+ attribute: 'resting', image: 'mountain', family: 'youngest son',
41
+ },
42
+ kun: {
43
+ key: 'kun', bits: [0, 0, 0], symbol: '☷',
44
+ name: { chinese: '坤', pinyin: 'Kūn', english: 'The Receptive' },
45
+ attribute: 'devoted, yielding', image: 'earth', family: 'mother',
46
+ },
47
+ };
48
+ export const TRIGRAM_LIST = Object.values(TRIGRAMS);
49
+ function triKey(bits) {
50
+ return bits.join('');
51
+ }
52
+ const TRIGRAM_BY_BITS = Object.fromEntries(TRIGRAM_LIST.map((t) => [triKey(t.bits), t.key]));
53
+ /** Look up the trigram whose pattern matches the given three bits (bottom -> top). */
54
+ export function trigramByBits(bits) {
55
+ const key = TRIGRAM_BY_BITS[triKey(bits)];
56
+ if (!key)
57
+ throw new Error(`No trigram for bits ${bits.join('')}`);
58
+ return TRIGRAMS[key];
59
+ }
60
+ //# sourceMappingURL=trigrams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigrams.js","sourceRoot":"","sources":["../src/trigrams.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Core domain types for the q-ching engine.
3
+ *
4
+ * Bit convention: a hexagram's six lines are stored bottom -> top, where
5
+ * 1 = yang (solid ⚊) and 0 = yin (broken ⚋). The lower trigram occupies
6
+ * bits[0..2], the upper trigram bits[3..5]. This matches the way an I-Ching
7
+ * reading is built and drawn: from the ground line upward.
8
+ */
9
+ export type Bit = 0 | 1;
10
+ export type HexBits = [Bit, Bit, Bit, Bit, Bit, Bit];
11
+ export type TriBits = [Bit, Bit, Bit];
12
+ /** The eight trigrams (bagua), keyed by pinyin. */
13
+ export type TrigramKey = 'qian' | 'dui' | 'li' | 'zhen' | 'xun' | 'kan' | 'gen' | 'kun';
14
+ export interface Trigram {
15
+ key: TrigramKey;
16
+ /** bottom -> top */
17
+ bits: TriBits;
18
+ symbol: string;
19
+ name: {
20
+ chinese: string;
21
+ pinyin: string;
22
+ english: string;
23
+ };
24
+ attribute: string;
25
+ image: string;
26
+ family: string;
27
+ }
28
+ export interface HexagramName {
29
+ chinese: string;
30
+ pinyin: string;
31
+ english: string;
32
+ }
33
+ /** Raw authored data for a single hexagram (the shape stored on disk). */
34
+ export interface RawHexagram {
35
+ number: number;
36
+ name: HexagramName;
37
+ /** bottom -> top, 1=yang 0=yin */
38
+ bits: HexBits;
39
+ upper: TrigramKey;
40
+ lower: TrigramKey;
41
+ /** The Judgment (tuan) — the oracle's verdict on the hexagram as a whole. */
42
+ judgment: string;
43
+ /** The Image (xiang) — the contemplative counsel drawn from the trigrams. */
44
+ image: string;
45
+ /** A short modern gloss for at-a-glance meaning. */
46
+ gloss: string;
47
+ /** Texts for the six changing lines, bottom -> top. */
48
+ lineTexts: [string, string, string, string, string, string];
49
+ }
50
+ /** A fully-resolved hexagram (raw data + derived trigrams + symbol). */
51
+ export interface Hexagram extends RawHexagram {
52
+ symbol: string;
53
+ }
54
+ export type LineValue = 6 | 7 | 8 | 9;
55
+ export interface Line {
56
+ /** 1..6, bottom -> top */
57
+ position: number;
58
+ value: LineValue;
59
+ yang: boolean;
60
+ changing: boolean;
61
+ }
62
+ export type CastMethod = 'coin' | 'yarrow';
63
+ export interface EntropySourceRecord {
64
+ label: string;
65
+ bytes: number;
66
+ }
67
+ export interface Reading {
68
+ method: CastMethod;
69
+ /** six lines, bottom -> top */
70
+ lines: Line[];
71
+ primary: Hexagram;
72
+ /** the hexagram the changing lines transform into, or null if static */
73
+ transformed: Hexagram | null;
74
+ /** positions (1..6) of the changing lines */
75
+ changingPositions: number[];
76
+ /** hex fingerprint of the entropy that produced this cast (reproducible seed) */
77
+ seed: string;
78
+ /** transcript of which sources contributed entropy */
79
+ sources: EntropySourceRecord[];
80
+ /** ISO timestamp */
81
+ createdAt: string;
82
+ }
package/dist/types.js ADDED
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Core domain types for the q-ching engine.
3
+ *
4
+ * Bit convention: a hexagram's six lines are stored bottom -> top, where
5
+ * 1 = yang (solid ⚊) and 0 = yin (broken ⚋). The lower trigram occupies
6
+ * bits[0..2], the upper trigram bits[3..5]. This matches the way an I-Ching
7
+ * reading is built and drawn: from the ground line upward.
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
package/dist/util.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ /** Small dependency-free helpers shared across the engine. */
2
+ export declare function toBytes(data: Uint8Array | number[] | string): Uint8Array;
3
+ export declare function concatBytes(parts: Uint8Array[]): Uint8Array;
4
+ export declare function toHex(bytes: Uint8Array): string;
5
+ export declare function fromHex(hex: string): Uint8Array;
6
+ /** Resolve the platform crypto object (Web Crypto), present in browsers and Node >=20. */
7
+ export declare function getCrypto(): Crypto;
8
+ export declare function sha256(data: Uint8Array): Promise<Uint8Array>;
9
+ /** Reads bits MSB-first from a byte stream; used to draw line values. */
10
+ export declare class BitReader {
11
+ private bytes;
12
+ private bitPos;
13
+ constructor(bytes: Uint8Array);
14
+ get remaining(): number;
15
+ readBit(): number;
16
+ readBits(n: number): number;
17
+ }
package/dist/util.js ADDED
@@ -0,0 +1,79 @@
1
+ /** Small dependency-free helpers shared across the engine. */
2
+ export function toBytes(data) {
3
+ if (data instanceof Uint8Array)
4
+ return data;
5
+ if (typeof data === 'string')
6
+ return new TextEncoder().encode(data);
7
+ return Uint8Array.from(data);
8
+ }
9
+ export function concatBytes(parts) {
10
+ let total = 0;
11
+ for (const p of parts)
12
+ total += p.length;
13
+ const out = new Uint8Array(total);
14
+ let off = 0;
15
+ for (const p of parts) {
16
+ out.set(p, off);
17
+ off += p.length;
18
+ }
19
+ return out;
20
+ }
21
+ export function toHex(bytes) {
22
+ let s = '';
23
+ for (const b of bytes)
24
+ s += b.toString(16).padStart(2, '0');
25
+ return s;
26
+ }
27
+ export function fromHex(hex) {
28
+ const clean = hex.trim().replace(/^0x/i, '');
29
+ if (clean.length % 2 !== 0)
30
+ throw new Error('hex string must have even length');
31
+ const out = new Uint8Array(clean.length / 2);
32
+ for (let i = 0; i < out.length; i++) {
33
+ out[i] = parseInt(clean.slice(i * 2, i * 2 + 2), 16);
34
+ }
35
+ return out;
36
+ }
37
+ /** Resolve the platform crypto object (Web Crypto), present in browsers and Node >=20. */
38
+ export function getCrypto() {
39
+ const c = globalThis.crypto;
40
+ if (!c || !c.subtle) {
41
+ throw new Error('Web Crypto (crypto.subtle) is not available in this environment.');
42
+ }
43
+ return c;
44
+ }
45
+ export async function sha256(data) {
46
+ // copy into a fresh ArrayBuffer-backed view so digest accepts it everywhere
47
+ const buf = data.byteOffset === 0 && data.byteLength === data.buffer.byteLength
48
+ ? data.buffer
49
+ : data.slice().buffer;
50
+ const digest = await getCrypto().subtle.digest('SHA-256', buf);
51
+ return new Uint8Array(digest);
52
+ }
53
+ /** Reads bits MSB-first from a byte stream; used to draw line values. */
54
+ export class BitReader {
55
+ bytes;
56
+ bitPos = 0;
57
+ constructor(bytes) {
58
+ this.bytes = bytes;
59
+ }
60
+ get remaining() {
61
+ return this.bytes.length * 8 - this.bitPos;
62
+ }
63
+ readBit() {
64
+ const byteIndex = this.bitPos >> 3;
65
+ if (byteIndex >= this.bytes.length) {
66
+ throw new Error('BitReader exhausted');
67
+ }
68
+ const bitIndex = 7 - (this.bitPos & 7);
69
+ this.bitPos += 1;
70
+ return (this.bytes[byteIndex] >> bitIndex) & 1;
71
+ }
72
+ readBits(n) {
73
+ let v = 0;
74
+ for (let i = 0; i < n; i++)
75
+ v = (v << 1) | this.readBit();
76
+ return v;
77
+ }
78
+ }
79
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@q-ching/core",
3
+ "version": "0.1.0",
4
+ "description": "Platform-agnostic I-Ching engine: entropy pool, QRNG clients, casting math, and the 64 hexagrams.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "Jean Llorca <jean@hylaean.com>",
8
+ "homepage": "https://github.com/Hylaean/q-ching#readme",
9
+ "bugs": "https://github.com/Hylaean/q-ching/issues",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/Hylaean/q-ching.git",
13
+ "directory": "packages/core"
14
+ },
15
+ "keywords": [
16
+ "i-ching",
17
+ "iching",
18
+ "oracle",
19
+ "hexagram",
20
+ "qrng",
21
+ "quantum",
22
+ "entropy",
23
+ "divination"
24
+ ],
25
+ "main": "./dist/index.js",
26
+ "module": "./dist/index.js",
27
+ "types": "./dist/index.d.ts",
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/index.d.ts",
31
+ "default": "./dist/index.js"
32
+ }
33
+ },
34
+ "files": ["dist", "src"],
35
+ "engines": {
36
+ "node": ">=20"
37
+ },
38
+ "publishConfig": {
39
+ "access": "public"
40
+ },
41
+ "scripts": {
42
+ "build": "tsc -p tsconfig.json",
43
+ "dev": "tsc -p tsconfig.json --watch",
44
+ "test": "tsc -p tsconfig.test.json && node --test dist/*.test.js",
45
+ "prepublishOnly": "npm run build"
46
+ },
47
+ "sideEffects": false
48
+ }