quantum-spherifier 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/.env.example +37 -0
- package/LICENSE +21 -0
- package/README.md +738 -0
- package/config/default.json +83 -0
- package/config/production.json +31 -0
- package/docker/Dockerfile +37 -0
- package/docker/docker-compose.yml +25 -0
- package/docs/architecture.md +160 -0
- package/docs/qspherifier.jpg +0 -0
- package/package.json +128 -0
- package/plugins/example-plugin.js +44 -0
- package/research/INDEX.md +37 -0
- package/research/cross_refs/.gitkeep +0 -0
- package/research/designs/.gitkeep +0 -0
- package/research/hypotheses/.gitkeep +0 -0
- package/research/hypotheses/new_qubit_modalities/doc_0035ce8c/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0035ce8c/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_005f1a09/main.md +63 -0
- package/research/hypotheses/new_qubit_modalities/doc_005f1a09/manifest.json +143 -0
- package/research/hypotheses/new_qubit_modalities/doc_05f0ed46/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_05f0ed46/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_05fd0eb1/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_05fd0eb1/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_0705eed0/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0705eed0/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_07aff3d1/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_07aff3d1/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_0894efe7/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0894efe7/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_08e086ad/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_08e086ad/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_0929ce83/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0929ce83/manifest.json +119 -0
- package/research/hypotheses/new_qubit_modalities/doc_0b51b472/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_0b51b472/manifest.json +131 -0
- package/research/hypotheses/new_qubit_modalities/doc_0cfcfcbe/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0cfcfcbe/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_0d9f04a2/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_0d9f04a2/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_0f665487/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_0f665487/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_11a00531/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_11a00531/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_12507df9/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_12507df9/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_14edc7a7/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_14edc7a7/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_17dce1f5/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_17dce1f5/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_18a79edc/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_18a79edc/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_18b76f8b/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_18b76f8b/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_1d8b27dd/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_1d8b27dd/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_1e746572/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_1e746572/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_1f409f63/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_1f409f63/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_1fb93b3c/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_1fb93b3c/manifest.json +118 -0
- package/research/hypotheses/new_qubit_modalities/doc_2014700e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_2014700e/manifest.json +118 -0
- package/research/hypotheses/new_qubit_modalities/doc_21d9499b/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_21d9499b/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_22744a09/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_22744a09/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_25a11cb2/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_25a11cb2/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_26180f52/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_26180f52/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_264f31a7/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_264f31a7/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_273d88b1/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_273d88b1/manifest.json +140 -0
- package/research/hypotheses/new_qubit_modalities/doc_27b9d2bc/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_27b9d2bc/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_2942ef20/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_2942ef20/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_2babdd5a/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_2babdd5a/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_2bb39428/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_2bb39428/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_2e1771dc/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_2e1771dc/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_2f6e27eb/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_2f6e27eb/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_2ff8c87a/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_2ff8c87a/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_311003a4/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_311003a4/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_329910b6/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_329910b6/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_32b3ea58/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_32b3ea58/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_354b23cb/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_354b23cb/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_3630eed6/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_3630eed6/manifest.json +113 -0
- package/research/hypotheses/new_qubit_modalities/doc_37ca8f04/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_37ca8f04/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_3a8f0c5e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_3a8f0c5e/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_3d55724e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_3d55724e/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_3e27ad06/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_3e27ad06/manifest.json +108 -0
- package/research/hypotheses/new_qubit_modalities/doc_401a8bad/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_401a8bad/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_40f8352b/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_40f8352b/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_4331dcfd/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_4331dcfd/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_4337cbdc/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_4337cbdc/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_45d2acc5/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_45d2acc5/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_45d39a5f/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_45d39a5f/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_4ed900da/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_4ed900da/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_525bf00e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_525bf00e/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_54035ce1/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_54035ce1/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_552565a2/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_552565a2/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_5652c681/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_5652c681/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_59b3863c/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_59b3863c/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_5cd7ecd5/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_5cd7ecd5/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_5dec51b1/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_5dec51b1/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_5e6dc9c1/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_5e6dc9c1/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_60cdeb68/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_60cdeb68/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_637c1a32/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_637c1a32/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_659be8e8/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_659be8e8/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_69f47a99/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_69f47a99/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_6a06ee6e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_6a06ee6e/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_6c383667/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_6c383667/manifest.json +123 -0
- package/research/hypotheses/new_qubit_modalities/doc_788cc9f1/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_788cc9f1/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_85cd549d/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_85cd549d/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_86023f9a/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_86023f9a/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_86c37a8e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_86c37a8e/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_875cb066/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_875cb066/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_8a7a0b27/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8a7a0b27/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_8b8c723e/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8b8c723e/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_8c881657/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8c881657/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d3bbca1/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d3bbca1/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d45fa02/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d45fa02/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d5389e6/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_8d5389e6/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_9288e51d/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_9288e51d/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_9bd195fd/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_9bd195fd/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_9c000140/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_9c000140/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_9c1775b8/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_9c1775b8/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_9ea9fbaa/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_9ea9fbaa/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_9f34ca4b/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_9f34ca4b/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_9fe95a15/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_9fe95a15/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_a0b6a004/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_a0b6a004/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_a11472f7/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_a11472f7/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_a226de32/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_a226de32/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_a3ed0beb/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_a3ed0beb/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_a49aeac3/main.md +63 -0
- package/research/hypotheses/new_qubit_modalities/doc_a49aeac3/manifest.json +143 -0
- package/research/hypotheses/new_qubit_modalities/doc_a548aead/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_a548aead/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_a94c6b43/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_a94c6b43/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_ab2c416b/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_ab2c416b/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_ad5b545f/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ad5b545f/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_ae0d0b6f/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_ae0d0b6f/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_aeb039af/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_aeb039af/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_b5569c01/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_b5569c01/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_ba323435/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ba323435/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_be91ffb6/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_be91ffb6/manifest.json +121 -0
- package/research/hypotheses/new_qubit_modalities/doc_bfc11573/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_bfc11573/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_c01dda61/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_c01dda61/manifest.json +140 -0
- package/research/hypotheses/new_qubit_modalities/doc_c40b6bac/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_c40b6bac/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_c449abfd/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_c449abfd/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_c5286a95/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_c5286a95/manifest.json +123 -0
- package/research/hypotheses/new_qubit_modalities/doc_c6232031/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_c6232031/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_c8567a48/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_c8567a48/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_ca23e08b/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ca23e08b/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_caf7e9d3/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_caf7e9d3/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_cbb77c2d/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_cbb77c2d/manifest.json +110 -0
- package/research/hypotheses/new_qubit_modalities/doc_cc601d30/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_cc601d30/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_ccdd3f14/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_ccdd3f14/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_cde08d2e/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_cde08d2e/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_ce6a235a/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_ce6a235a/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_d093b9ad/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_d093b9ad/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_d17719c6/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_d17719c6/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_d399eea3/main.md +63 -0
- package/research/hypotheses/new_qubit_modalities/doc_d399eea3/manifest.json +143 -0
- package/research/hypotheses/new_qubit_modalities/doc_d3d90e51/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_d3d90e51/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_d874dc7e/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_d874dc7e/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_db98a164/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_db98a164/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_dbe2ca8c/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_dbe2ca8c/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_dc21205e/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_dc21205e/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_e13ae515/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_e13ae515/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_e14a007d/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_e14a007d/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_e15ccaf5/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_e15ccaf5/manifest.json +116 -0
- package/research/hypotheses/new_qubit_modalities/doc_e2d250b7/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_e2d250b7/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_e32df689/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_e32df689/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_e5b4bedb/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_e5b4bedb/manifest.json +134 -0
- package/research/hypotheses/new_qubit_modalities/doc_e72263b3/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_e72263b3/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_e855d210/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_e855d210/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_ecf6f682/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ecf6f682/manifest.json +133 -0
- package/research/hypotheses/new_qubit_modalities/doc_ed1d25a4/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_ed1d25a4/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_f07aa6d9/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_f07aa6d9/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_f257c4ba/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_f257c4ba/manifest.json +128 -0
- package/research/hypotheses/new_qubit_modalities/doc_f2e20da6/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_f2e20da6/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_f34857aa/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_f34857aa/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_fae0902f/main.md +62 -0
- package/research/hypotheses/new_qubit_modalities/doc_fae0902f/manifest.json +146 -0
- package/research/hypotheses/new_qubit_modalities/doc_fbbb63bb/main.md +60 -0
- package/research/hypotheses/new_qubit_modalities/doc_fbbb63bb/manifest.json +139 -0
- package/research/hypotheses/new_qubit_modalities/doc_fd4cec3b/main.md +61 -0
- package/research/hypotheses/new_qubit_modalities/doc_fd4cec3b/manifest.json +136 -0
- package/research/hypotheses/new_qubit_modalities/doc_fe713bc9/main.md +59 -0
- package/research/hypotheses/new_qubit_modalities/doc_fe713bc9/manifest.json +133 -0
- package/research/hypotheses/quantum_algorithms/doc_479d7cf8/main.md +62 -0
- package/research/hypotheses/quantum_algorithms/doc_479d7cf8/manifest.json +146 -0
- package/research/hypotheses/quantum_algorithms/doc_6dbdd005/main.md +63 -0
- package/research/hypotheses/quantum_algorithms/doc_6dbdd005/manifest.json +143 -0
- package/research/hypotheses/quantum_algorithms/doc_b862fc72/main.md +61 -0
- package/research/hypotheses/quantum_algorithms/doc_b862fc72/manifest.json +140 -0
- package/research/hypotheses/quantum_algorithms/doc_cdf33ced/main.md +63 -0
- package/research/hypotheses/quantum_algorithms/doc_cdf33ced/manifest.json +143 -0
- package/research/hypotheses/quantum_error_correction/doc_3986910a/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_3986910a/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_460e1a25/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_460e1a25/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_4cdf3487/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_4cdf3487/manifest.json +131 -0
- package/research/hypotheses/quantum_error_correction/doc_55457312/main.md +63 -0
- package/research/hypotheses/quantum_error_correction/doc_55457312/manifest.json +143 -0
- package/research/hypotheses/quantum_error_correction/doc_562627d3/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_562627d3/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_60af027e/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_60af027e/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_83a8579f/main.md +63 -0
- package/research/hypotheses/quantum_error_correction/doc_83a8579f/manifest.json +143 -0
- package/research/hypotheses/quantum_error_correction/doc_8ec38dbd/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_8ec38dbd/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_90cb416e/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_90cb416e/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_a40b574c/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_a40b574c/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_b4efacc8/main.md +63 -0
- package/research/hypotheses/quantum_error_correction/doc_b4efacc8/manifest.json +143 -0
- package/research/hypotheses/quantum_error_correction/doc_ca0d6569/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_ca0d6569/manifest.json +146 -0
- package/research/hypotheses/quantum_error_correction/doc_d1eb8740/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_d1eb8740/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_e55fcdcf/main.md +62 -0
- package/research/hypotheses/quantum_error_correction/doc_e55fcdcf/manifest.json +120 -0
- package/research/hypotheses/quantum_error_correction/doc_f227b165/main.md +63 -0
- package/research/hypotheses/quantum_error_correction/doc_f227b165/manifest.json +133 -0
- package/research/hypotheses/quantum_error_correction/doc_f5f78884/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_f5f78884/manifest.json +140 -0
- package/research/hypotheses/quantum_error_correction/doc_fdbcc4b0/main.md +61 -0
- package/research/hypotheses/quantum_error_correction/doc_fdbcc4b0/manifest.json +140 -0
- package/research/indices/patent_queue.md +124 -0
- package/research/patents/.gitkeep +0 -0
- package/research/patents/new_qubit_modalities/doc_083cce20/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_083cce20/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_083cce20/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_096ccdfa/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_096ccdfa/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_096ccdfa/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_099071ac/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_099071ac/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_099071ac/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_0adeaec6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_0adeaec6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_0adeaec6/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_0e4132a8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_0e4132a8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_0e4132a8/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_10af60fa/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_10af60fa/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_10af60fa/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_10afe71a/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_10afe71a/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_10afe71a/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1339dcfa/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1339dcfa/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1339dcfa/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_15222e50/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_15222e50/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_15222e50/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_19e3f8ad/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_19e3f8ad/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_19e3f8ad/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_1a5d01f8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1a5d01f8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1a5d01f8/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1bd8bb3b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1bd8bb3b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1bd8bb3b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1c7b4dc1/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1c7b4dc1/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1c7b4dc1/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1ce08a7e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1ce08a7e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1ce08a7e/manifest.json +130 -0
- package/research/patents/new_qubit_modalities/doc_1cecf1a6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1cecf1a6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1cecf1a6/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_1d9ad900/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1d9ad900/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1d9ad900/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_1ec2eda5/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_1ec2eda5/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_1ec2eda5/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_24b05ff7/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_24b05ff7/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_24b05ff7/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_31c650c7/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_31c650c7/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_31c650c7/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_32f4c6cd/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_32f4c6cd/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_32f4c6cd/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_35a33533/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_35a33533/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_35a33533/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_37d39074/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_37d39074/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_37d39074/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_3bf9f16d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_3bf9f16d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_3bf9f16d/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_4440d9d5/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_4440d9d5/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_4440d9d5/manifest.json +130 -0
- package/research/patents/new_qubit_modalities/doc_46620281/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_46620281/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_46620281/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_48532723/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_48532723/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_48532723/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_496df511/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_496df511/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_496df511/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_4c89560e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_4c89560e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_4c89560e/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_4cea899d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_4cea899d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_4cea899d/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_4d2078d6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_4d2078d6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_4d2078d6/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_567d30eb/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_567d30eb/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_567d30eb/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_58bc6d20/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_58bc6d20/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_58bc6d20/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_59084437/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_59084437/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_59084437/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_5b665385/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_5b665385/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_5b665385/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_5f6eb22e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_5f6eb22e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_5f6eb22e/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_61841835/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_61841835/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_61841835/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_652f3497/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_652f3497/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_652f3497/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_65e31048/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_65e31048/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_65e31048/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_6906c32e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_6906c32e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_6906c32e/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_69b6b7f2/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_69b6b7f2/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_69b6b7f2/manifest.json +146 -0
- package/research/patents/new_qubit_modalities/doc_6c2088b8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_6c2088b8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_6c2088b8/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_6f269347/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_6f269347/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_6f269347/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_72bb1059/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_72bb1059/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_72bb1059/manifest.json +134 -0
- package/research/patents/new_qubit_modalities/doc_7302b617/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7302b617/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7302b617/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_73419bbf/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_73419bbf/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_73419bbf/manifest.json +139 -0
- package/research/patents/new_qubit_modalities/doc_7403ead0/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7403ead0/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7403ead0/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_7541d2ca/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7541d2ca/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7541d2ca/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_7680aa01/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7680aa01/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7680aa01/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_7c687253/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7c687253/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7c687253/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_7e9ac677/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_7e9ac677/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_7e9ac677/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_80d1269d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_80d1269d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_80d1269d/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_8415653b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8415653b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8415653b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_86c2029b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_86c2029b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_86c2029b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_88f8f770/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_88f8f770/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_88f8f770/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_8b820b6d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8b820b6d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8b820b6d/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_8de83b3b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8de83b3b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8de83b3b/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_8f3c09b2/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8f3c09b2/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8f3c09b2/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_8f84e761/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_8f84e761/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_8f84e761/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_900ee19f/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_900ee19f/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_900ee19f/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_908b0523/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_908b0523/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_908b0523/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_931099a3/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_931099a3/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_931099a3/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_93ee5d51/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_93ee5d51/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_93ee5d51/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_98121789/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_98121789/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_98121789/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_99fa1dbf/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_99fa1dbf/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_99fa1dbf/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_9abf5f6a/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_9abf5f6a/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_9abf5f6a/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_9cff9f3f/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_9cff9f3f/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_9cff9f3f/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_9fed647b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_9fed647b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_9fed647b/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_a3f62d60/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_a3f62d60/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_a3f62d60/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_a788a20b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_a788a20b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_a788a20b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_a9b5116c/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_a9b5116c/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_a9b5116c/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_aaa731aa/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_aaa731aa/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_aaa731aa/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_afa469c3/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_afa469c3/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_afa469c3/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b19b53e2/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b19b53e2/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b19b53e2/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b64d1987/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b64d1987/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b64d1987/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b68e9075/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b68e9075/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b68e9075/manifest.json +146 -0
- package/research/patents/new_qubit_modalities/doc_b6b86c9e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b6b86c9e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b6b86c9e/manifest.json +146 -0
- package/research/patents/new_qubit_modalities/doc_b7240f70/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b7240f70/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b7240f70/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b7b42d51/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b7b42d51/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b7b42d51/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b83f6b8a/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b83f6b8a/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b83f6b8a/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_b8f7e1bb/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_b8f7e1bb/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_b8f7e1bb/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_bc5321b9/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_bc5321b9/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_bc5321b9/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_c361e73b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_c361e73b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_c361e73b/manifest.json +135 -0
- package/research/patents/new_qubit_modalities/doc_cb9b6a6e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_cb9b6a6e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_cb9b6a6e/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_cf3eeb26/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_cf3eeb26/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_cf3eeb26/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_cfbeb808/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_cfbeb808/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_cfbeb808/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_cffd04a6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_cffd04a6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_cffd04a6/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_d416b00f/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_d416b00f/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_d416b00f/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_d557dc44/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_d557dc44/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_d557dc44/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_d80f7790/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_d80f7790/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_d80f7790/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_d8aadbce/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_d8aadbce/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_d8aadbce/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_da88d4e8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_da88d4e8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_da88d4e8/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_de3d7026/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_de3d7026/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_de3d7026/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_e14c8177/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e14c8177/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e14c8177/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_e1d1a39d/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e1d1a39d/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e1d1a39d/manifest.json +146 -0
- package/research/patents/new_qubit_modalities/doc_e4e26a47/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e4e26a47/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e4e26a47/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_e6cb751e/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e6cb751e/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e6cb751e/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_e77f22ca/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e77f22ca/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e77f22ca/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_e907e2a8/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_e907e2a8/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_e907e2a8/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_f5f85ca6/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f5f85ca6/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f5f85ca6/manifest.json +125 -0
- package/research/patents/new_qubit_modalities/doc_f6a9e5b3/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f6a9e5b3/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f6a9e5b3/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_f83f92f0/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f83f92f0/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f83f92f0/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_f99fe94b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f99fe94b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f99fe94b/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_f9d8235b/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_f9d8235b/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_f9d8235b/manifest.json +144 -0
- package/research/patents/new_qubit_modalities/doc_fe0561b4/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_fe0561b4/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_fe0561b4/manifest.json +145 -0
- package/research/patents/new_qubit_modalities/doc_ff47a428/main.md +64 -0
- package/research/patents/new_qubit_modalities/doc_ff47a428/main.tex +68 -0
- package/research/patents/new_qubit_modalities/doc_ff47a428/manifest.json +145 -0
- package/research/patents/quantum_algorithms/doc_af0d56c9/main.md +64 -0
- package/research/patents/quantum_algorithms/doc_af0d56c9/main.tex +68 -0
- package/research/patents/quantum_algorithms/doc_af0d56c9/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_0a24b8af/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_0a24b8af/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_0a24b8af/manifest.json +141 -0
- package/research/patents/quantum_error_correction/doc_0a6aee57/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_0a6aee57/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_0a6aee57/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_20a67ec2/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_20a67ec2/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_20a67ec2/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_458e5def/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_458e5def/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_458e5def/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_475ce69d/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_475ce69d/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_475ce69d/manifest.json +135 -0
- package/research/patents/quantum_error_correction/doc_6c43b9d3/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_6c43b9d3/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_6c43b9d3/manifest.json +145 -0
- package/research/patents/quantum_error_correction/doc_837d0cbb/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_837d0cbb/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_837d0cbb/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_89199c22/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_89199c22/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_89199c22/manifest.json +145 -0
- package/research/patents/quantum_error_correction/doc_aaee59e8/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_aaee59e8/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_aaee59e8/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_cf5f172b/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_cf5f172b/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_cf5f172b/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_d5f8a4ee/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_d5f8a4ee/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_d5f8a4ee/manifest.json +146 -0
- package/research/patents/quantum_error_correction/doc_df16f521/main.md +64 -0
- package/research/patents/quantum_error_correction/doc_df16f521/main.tex +68 -0
- package/research/patents/quantum_error_correction/doc_df16f521/manifest.json +145 -0
- package/research/simulations/.gitkeep +0 -0
- package/research/topics/algorithms/seed_qsvt_2026/main.tex +93 -0
- package/research/topics/algorithms/seed_qsvt_2026/manifest.json +19 -0
- package/research/topics/molecular_simulation/seed_femoco_2026/main.tex +119 -0
- package/research/topics/molecular_simulation/seed_femoco_2026/manifest.json +20 -0
- package/research/topics/qec/seed_surface_code_2026/main.tex +89 -0
- package/research/topics/qec/seed_surface_code_2026/manifest.json +20 -0
- package/research/topics/qubits/seed_neutral_atom_2026/main.tex +98 -0
- package/research/topics/qubits/seed_neutral_atom_2026/manifest.json +19 -0
- package/scripts/benchmark.js +56 -0
- package/scripts/cli.js +237 -0
- package/src/core/ANNPsi.js +266 -0
- package/src/core/ArtificialJunkyNeuron.js +439 -0
- package/src/core/QSpherifierAgent.js +620 -0
- package/src/core/StateSerializer.js +74 -0
- package/src/index.js +178 -0
- package/src/layers/AJNLayer.js +248 -0
- package/src/layers/TransformerBlock.js +201 -0
- package/src/llm/AnthropicAdapter.js +76 -0
- package/src/llm/DeepSeekAdapter.js +78 -0
- package/src/llm/GoogleAdapter.js +78 -0
- package/src/llm/LLMAdapter.js +64 -0
- package/src/llm/LLMRouter.js +107 -0
- package/src/llm/LocalLLMAdapter.js +72 -0
- package/src/llm/OpenAIAdapter.js +78 -0
- package/src/llm/ZAIAdapter.js +99 -0
- package/src/modules/CascadeMonitor.js +84 -0
- package/src/modules/CitationGraph.js +119 -0
- package/src/modules/DocumentArchivist.js +326 -0
- package/src/modules/HierarchicalCommandInterpreter.js +220 -0
- package/src/modules/HypothesisGenerator.js +421 -0
- package/src/modules/MemorySystem.js +210 -0
- package/src/modules/MetricsCollector.js +139 -0
- package/src/modules/PatentClusterManager.js +199 -0
- package/src/modules/PatentDraftAssistant.js +221 -0
- package/src/modules/PluginManager.js +92 -0
- package/src/modules/QuantumKnowledgeGraph.js +888 -0
- package/src/modules/ResearchLineRouter.js +187 -0
- package/src/modules/ResourceFeasibilityChecker.js +494 -0
- package/src/modules/SafetyGuardrails.js +139 -0
- package/src/modules/TokenEnergyArbitrator.js +129 -0
- package/src/tools/BibliographyTool.js +74 -0
- package/src/tools/FileSystemTool.js +91 -0
- package/src/tools/LaTeXDocumentTool.js +94 -0
- package/src/tools/QuantumPhysicsTool.js +219 -0
- package/src/tools/Tool.js +30 -0
- package/src/tools/ToolRegistry.js +40 -0
- package/src/tools/WebSearchTool.js +50 -0
- package/src/training/TrainingPipeline.js +52 -0
- package/tests/run.js +200 -0
- package/web/public/css/dashboard.css +431 -0
- package/web/public/favicon.png +0 -0
- package/web/public/index.html +170 -0
- package/web/public/js/dashboard.js +431 -0
- package/web/public/qspherifier.png +0 -0
- package/web/server.js +306 -0
package/src/index.js
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* quantum-spherifier (qSpherifier) v1.0 — Main entry point
|
|
3
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
4
|
+
* Autonomous Scientific Research Agent for Quantum Computing.
|
|
5
|
+
*
|
|
6
|
+
* MISSION: Build quantum computers capable of solving problems impossible
|
|
7
|
+
* for current (and short/mid-term) classical computers, across four lines:
|
|
8
|
+
* 1. Quantum Error Correction (QEC)
|
|
9
|
+
* 2. New qubit modalities
|
|
10
|
+
* 3. Quantum algorithms
|
|
11
|
+
* 4. Molecular simulation
|
|
12
|
+
*
|
|
13
|
+
* Based on the Artificial Junky Neuron (AJN) framework by Justo Tapiador
|
|
14
|
+
* Garcia (UA), extended from predator-jungle-agent v2.0 via fusionary-agent.
|
|
15
|
+
*
|
|
16
|
+
* On launch, qSpherifier immediately begins autonomous research. It does NOT
|
|
17
|
+
* wait for an owner directive (this is the AJN "addiction" property).
|
|
18
|
+
* The owner can guide it at any time via the web UI or CLI.
|
|
19
|
+
*
|
|
20
|
+
* Every proposed solution is enlaced with the actual level of resources that
|
|
21
|
+
* human civilisation possesses (IBM, Google, IonQ, Quantinuum, QuEra, Atom
|
|
22
|
+
* Computing, PsiQuantum, etc.) or will possess if proposed infrastructures
|
|
23
|
+
* are built. Successful solutions are grouped into coherent patent clusters.
|
|
24
|
+
* Nothing stays isolated.
|
|
25
|
+
*
|
|
26
|
+
* References:
|
|
27
|
+
* Tapiador García, J. (2024). Agentic Theory: Definition of the
|
|
28
|
+
* Artificial Junky Neuron (AJN). Preprint WALLERMAX-AI 2604.00012.
|
|
29
|
+
* Universidad de Alicante (UA).
|
|
30
|
+
* ─────────────────────────────────────────────────────────────────────────────
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
// Core
|
|
34
|
+
export { QSpherifierAgent } from './core/QSpherifierAgent.js';
|
|
35
|
+
export { ANNPsi, QUANTUM_STIMULUS_CLASSES } from './core/ANNPsi.js';
|
|
36
|
+
export { ArtificialJunkyNeuron, AJNPhase } from './core/ArtificialJunkyNeuron.js';
|
|
37
|
+
export { StateSerializer } from './core/StateSerializer.js';
|
|
38
|
+
|
|
39
|
+
// Layers
|
|
40
|
+
export {
|
|
41
|
+
HomogeneousAJNLayer,
|
|
42
|
+
HeterogeneousAJNLayer,
|
|
43
|
+
HybridAJNLayer,
|
|
44
|
+
} from './layers/AJNLayer.js';
|
|
45
|
+
export { TransformerBlock } from './layers/TransformerBlock.js';
|
|
46
|
+
|
|
47
|
+
// Modules
|
|
48
|
+
export { HierarchicalCommandInterpreter } from './modules/HierarchicalCommandInterpreter.js';
|
|
49
|
+
export {
|
|
50
|
+
TokenEnergyArbitrator,
|
|
51
|
+
PraxicStreamExecutor,
|
|
52
|
+
} from './modules/TokenEnergyArbitrator.js';
|
|
53
|
+
export { CascadeMonitor } from './modules/CascadeMonitor.js';
|
|
54
|
+
export { MemorySystem } from './modules/MemorySystem.js';
|
|
55
|
+
export { SafetyGuardrails } from './modules/SafetyGuardrails.js';
|
|
56
|
+
export { MetricsCollector } from './modules/MetricsCollector.js';
|
|
57
|
+
export { PluginManager, HOOKS as PLUGIN_HOOKS } from './modules/PluginManager.js';
|
|
58
|
+
export { QuantumKnowledgeGraph, RELATION_TYPES, FEASIBILITY_TIERS, RESEARCH_LINES } from './modules/QuantumKnowledgeGraph.js';
|
|
59
|
+
export { CitationGraph } from './modules/CitationGraph.js';
|
|
60
|
+
export { HypothesisGenerator } from './modules/HypothesisGenerator.js';
|
|
61
|
+
export { ResourceFeasibilityChecker, RESOURCE_ANCHORS, FEASIBILITY_RULES } from './modules/ResourceFeasibilityChecker.js';
|
|
62
|
+
export { DocumentArchivist, CATEGORIES as ARCHIVE_CATEGORIES, TAG_PALETTE } from './modules/DocumentArchivist.js';
|
|
63
|
+
export { PatentDraftAssistant } from './modules/PatentDraftAssistant.js';
|
|
64
|
+
export { PatentClusterManager } from './modules/PatentClusterManager.js';
|
|
65
|
+
export { ResearchLineRouter, LINE_DESCRIPTIONS } from './modules/ResearchLineRouter.js';
|
|
66
|
+
|
|
67
|
+
// Tools
|
|
68
|
+
export { Tool } from './tools/Tool.js';
|
|
69
|
+
export { FileSystemTool } from './tools/FileSystemTool.js';
|
|
70
|
+
export { LaTeXDocumentTool } from './tools/LaTeXDocumentTool.js';
|
|
71
|
+
export { QuantumPhysicsTool, SURFACE_CODE_THRESHOLD } from './tools/QuantumPhysicsTool.js';
|
|
72
|
+
export { WebSearchTool } from './tools/WebSearchTool.js';
|
|
73
|
+
export { BibliographyTool } from './tools/BibliographyTool.js';
|
|
74
|
+
export { ToolRegistry } from './tools/ToolRegistry.js';
|
|
75
|
+
|
|
76
|
+
// Training
|
|
77
|
+
export { TrainingPipeline } from './training/TrainingPipeline.js';
|
|
78
|
+
|
|
79
|
+
// LLM
|
|
80
|
+
export { LLMAdapter } from './llm/LLMAdapter.js';
|
|
81
|
+
export { ZAIAdapter } from './llm/ZAIAdapter.js';
|
|
82
|
+
export { AnthropicAdapter } from './llm/AnthropicAdapter.js';
|
|
83
|
+
export { OpenAIAdapter } from './llm/OpenAIAdapter.js';
|
|
84
|
+
export { GoogleAdapter } from './llm/GoogleAdapter.js';
|
|
85
|
+
export { DeepSeekAdapter } from './llm/DeepSeekAdapter.js';
|
|
86
|
+
export { LocalLLMAdapter } from './llm/LocalLLMAdapter.js';
|
|
87
|
+
export { LLMRouter } from './llm/LLMRouter.js';
|
|
88
|
+
|
|
89
|
+
// ── Default factory: a configured QSpherifierAgent with multi-LLM router ────
|
|
90
|
+
import { QSpherifierAgent } from './core/QSpherifierAgent.js';
|
|
91
|
+
import { ZAIAdapter } from './llm/ZAIAdapter.js';
|
|
92
|
+
import { AnthropicAdapter } from './llm/AnthropicAdapter.js';
|
|
93
|
+
import { OpenAIAdapter } from './llm/OpenAIAdapter.js';
|
|
94
|
+
import { GoogleAdapter } from './llm/GoogleAdapter.js';
|
|
95
|
+
import { DeepSeekAdapter } from './llm/DeepSeekAdapter.js';
|
|
96
|
+
import { LocalLLMAdapter } from './llm/LocalLLMAdapter.js';
|
|
97
|
+
import { LLMRouter } from './llm/LLMRouter.js';
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Build a multi-LLM router using the most powerful frontier models.
|
|
101
|
+
* Adapters are registered in priority order; missing API keys are skipped
|
|
102
|
+
* gracefully.
|
|
103
|
+
*/
|
|
104
|
+
export function buildLLMRouter(opts = {}) {
|
|
105
|
+
const router = new LLMRouter(opts);
|
|
106
|
+
|
|
107
|
+
// 1. ZAI / GLM-4.6 (primary — best STEM reasoning per token)
|
|
108
|
+
try { router.register('zai', new ZAIAdapter({ model: opts.zaiModel ?? 'glm-4.6' }), 10); } catch {}
|
|
109
|
+
|
|
110
|
+
// 2. Anthropic Claude Opus 4.1 (precise legal/patent language)
|
|
111
|
+
if (process.env.ANTHROPIC_API_KEY) {
|
|
112
|
+
try { router.register('anthropic', new AnthropicAdapter({ model: opts.anthropicModel ?? 'claude-opus-4-1' }), 20); } catch {}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// 3. OpenAI GPT-4o (high-throughput hypothesis generation)
|
|
116
|
+
if (process.env.OPENAI_API_KEY) {
|
|
117
|
+
try { router.register('openai', new OpenAIAdapter({ model: opts.openaiModel ?? 'gpt-4o' }), 30); } catch {}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// 4. Google Gemini 2.0 (long-context literature review)
|
|
121
|
+
if (process.env.GOOGLE_API_KEY) {
|
|
122
|
+
try { router.register('google', new GoogleAdapter({ model: opts.googleModel ?? 'gemini-2.0-flash' }), 40); } catch {}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// 5. DeepSeek-R1 (chain-of-thought proof verification)
|
|
126
|
+
if (process.env.DEEPSEEK_API_KEY) {
|
|
127
|
+
try { router.register('deepseek', new DeepSeekAdapter({ model: opts.deepseekModel ?? 'deepseek-reasoner' }), 50); } catch {}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// 6. Local Ollama (air-gapped fallback)
|
|
131
|
+
if (process.env.OLLAMA_ENDPOINT) {
|
|
132
|
+
try { router.register('local', new LocalLLMAdapter({}), 60); } catch {}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return router;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export async function createQSpherifier(opts = {}) {
|
|
139
|
+
const llm = opts.llm ?? buildLLMRouter(opts);
|
|
140
|
+
const agent = new QSpherifierAgent({
|
|
141
|
+
llm,
|
|
142
|
+
researchDir: opts.researchDir ?? './research',
|
|
143
|
+
safetyLevel: opts.safetyLevel ?? 'standard',
|
|
144
|
+
autonomousMode: opts.autonomousMode ?? true,
|
|
145
|
+
maxCycles: opts.maxCycles ?? 50,
|
|
146
|
+
...opts,
|
|
147
|
+
});
|
|
148
|
+
await agent.init();
|
|
149
|
+
return agent;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// If invoked directly, boot the agent
|
|
153
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
154
|
+
const agent = await createQSpherifier({
|
|
155
|
+
researchDir: process.env.QSPHERIFIER_RESEARCH_DIR ?? './research',
|
|
156
|
+
maxCycles: parseInt(process.env.QSPHERIFIER_MAX_CYCLES ?? '50', 10),
|
|
157
|
+
});
|
|
158
|
+
const llmStatus = agent.llm?.status ? agent.llm.status() : 'single adapter';
|
|
159
|
+
console.log(`
|
|
160
|
+
╔════════════════════════════════════════════════════════════════════╗
|
|
161
|
+
║ quantum-spherifier v1.0 (:qSpherifier) — online ║
|
|
162
|
+
║ ║
|
|
163
|
+
║ Mission: Quantum computers that solve impossible problems. ║
|
|
164
|
+
║ Lines: QEC · New Qubits · Algorithms · Molecular Simulation ║
|
|
165
|
+
║ Mode: autonomous (AJN addiction active) ║
|
|
166
|
+
║ LLM: ${typeof llmStatus === 'string' ? llmStatus.padEnd(48) : (llmStatus.length + ' adapters registered').padEnd(48)}║
|
|
167
|
+
║ Cycles: ${agent.maxCycles.toString().padEnd(48)}║
|
|
168
|
+
║ ║
|
|
169
|
+
║ Web UI: npm run web → http://localhost:3000 ║
|
|
170
|
+
║ Guide: npm run guide "<directive>" ║
|
|
171
|
+
╚════════════════════════════════════════════════════════════════════╝
|
|
172
|
+
`);
|
|
173
|
+
process.on('SIGINT', async () => {
|
|
174
|
+
console.log('\n[qSpherifier] Shutting down...');
|
|
175
|
+
await agent.shutdown();
|
|
176
|
+
process.exit(0);
|
|
177
|
+
});
|
|
178
|
+
}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AJNLayer.js — FUSIONARY (v1.0)
|
|
3
|
+
* Wrapper classes around the AJN core, providing layer-level abstractions.
|
|
4
|
+
* Compatible interface with predator-jungle-agent v2.0 so existing tools
|
|
5
|
+
* and modules can interoperate, but extended with multi-objective rewards.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { ArtificialJunkyNeuron, AJNPhase } from '../core/ArtificialJunkyNeuron.js';
|
|
9
|
+
|
|
10
|
+
// ── Homogeneous AJN layer (all neurons crave the same stimulus class) ──────
|
|
11
|
+
export class HomogeneousAJNLayer {
|
|
12
|
+
constructor(opts = {}) {
|
|
13
|
+
this.id = opts.id ?? `homog_${Math.random().toString(36).slice(2, 8)}`;
|
|
14
|
+
this.dModel = opts.dModel ?? 256;
|
|
15
|
+
this.stimulusClass = opts.stimulusClass ?? 'default';
|
|
16
|
+
this.neurons = [];
|
|
17
|
+
const count = opts.neuronCount ?? 4;
|
|
18
|
+
for (let i = 0; i < count; i++) {
|
|
19
|
+
this.neurons.push(new ArtificialJunkyNeuron({
|
|
20
|
+
id: `${this.id}_n${i}`,
|
|
21
|
+
stimulusClass: this.stimulusClass,
|
|
22
|
+
params: opts.params,
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
forward(stimulus) {
|
|
28
|
+
const outputs = this.neurons.map(n => n.process(stimulus));
|
|
29
|
+
// Aggregate: take the praxis vector with highest alpha
|
|
30
|
+
let best = outputs[0];
|
|
31
|
+
for (const o of outputs) {
|
|
32
|
+
if (o.alpha > best.alpha) best = o;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
vector: best.praxis,
|
|
36
|
+
alpha: best.alpha,
|
|
37
|
+
phase: best.phase,
|
|
38
|
+
layerId: this.id,
|
|
39
|
+
neuronSnapshots: outputs.map(o => ({
|
|
40
|
+
id: o.id, phase: o.phase, alpha: o.alpha, craving: o.craving,
|
|
41
|
+
})),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
update(reward) {
|
|
46
|
+
for (const n of this.neurons) {
|
|
47
|
+
// Inject reward as delta in the next process cycle
|
|
48
|
+
n.alphaPrev = (n.alphaPrev ?? 0) - reward;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
snapshot() {
|
|
53
|
+
return {
|
|
54
|
+
id: this.id,
|
|
55
|
+
type: 'homogeneous',
|
|
56
|
+
stimulusClass: this.stimulusClass,
|
|
57
|
+
neurons: this.neurons.map(n => n.snapshot()),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
serialize() {
|
|
62
|
+
return {
|
|
63
|
+
id: this.id,
|
|
64
|
+
type: 'homogeneous',
|
|
65
|
+
stimulusClass: this.stimulusClass,
|
|
66
|
+
dModel: this.dModel,
|
|
67
|
+
neurons: this.neurons.map(n => n.serialize()),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
deserialize(state) {
|
|
72
|
+
this.id = state.id ?? this.id;
|
|
73
|
+
this.stimulusClass = state.stimulusClass ?? this.stimulusClass;
|
|
74
|
+
if (state.neurons && Array.isArray(state.neurons)) {
|
|
75
|
+
for (let i = 0; i < Math.min(state.neurons.length, this.neurons.length); i++) {
|
|
76
|
+
this.neurons[i].deserialize(state.neurons[i]);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// ── Heterogeneous AJN layer (K classes compete via softmax) ───────────────
|
|
83
|
+
export class HeterogeneousAJNLayer {
|
|
84
|
+
constructor(opts = {}) {
|
|
85
|
+
this.id = opts.id ?? `hetero_${Math.random().toString(36).slice(2, 8)}`;
|
|
86
|
+
this.dModel = opts.dModel ?? 256;
|
|
87
|
+
this.kClasses = opts.kClasses ?? 8;
|
|
88
|
+
this.stimulusClasses = opts.stimulusClasses ?? Array.from({ length: this.kClasses }, (_, i) => `class_${i}`);
|
|
89
|
+
this.neurons = [];
|
|
90
|
+
for (let i = 0; i < this.kClasses; i++) {
|
|
91
|
+
this.neurons.push(new ArtificialJunkyNeuron({
|
|
92
|
+
id: `${this.id}_n${i}`,
|
|
93
|
+
stimulusClass: this.stimulusClasses[i % this.stimulusClasses.length],
|
|
94
|
+
params: opts.params,
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
this.temperature = opts.temperature ?? 1.0;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
forward(stimulus) {
|
|
101
|
+
const outputs = this.neurons.map(n => n.process(stimulus));
|
|
102
|
+
// Softmax over alphas to pick a winning class
|
|
103
|
+
const alphas = outputs.map(o => o.alpha);
|
|
104
|
+
const maxA = Math.max(...alphas);
|
|
105
|
+
const exps = alphas.map(a => Math.exp((a - maxA) / this.temperature));
|
|
106
|
+
const sumExp = exps.reduce((s, v) => s + v, 0) || 1;
|
|
107
|
+
const probs = exps.map(e => e / sumExp);
|
|
108
|
+
const winnerIdx = probs.indexOf(Math.max(...probs));
|
|
109
|
+
const winner = outputs[winnerIdx];
|
|
110
|
+
return {
|
|
111
|
+
vector: winner.praxis,
|
|
112
|
+
alpha: winner.alpha,
|
|
113
|
+
phase: winner.phase,
|
|
114
|
+
layerId: this.id,
|
|
115
|
+
winnerClass: this.stimulusClasses[winnerIdx % this.stimulusClasses.length],
|
|
116
|
+
winnerIdx,
|
|
117
|
+
probabilities: probs,
|
|
118
|
+
neuronSnapshots: outputs.map((o, i) => ({
|
|
119
|
+
id: o.id, phase: o.phase, alpha: o.alpha, prob: probs[i],
|
|
120
|
+
})),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
update(reward) {
|
|
125
|
+
for (const n of this.neurons) {
|
|
126
|
+
n.alphaPrev = (n.alphaPrev ?? 0) - reward;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
snapshot() {
|
|
131
|
+
return {
|
|
132
|
+
id: this.id,
|
|
133
|
+
type: 'heterogeneous',
|
|
134
|
+
kClasses: this.kClasses,
|
|
135
|
+
stimulusClasses: this.stimulusClasses,
|
|
136
|
+
neurons: this.neurons.map(n => n.snapshot()),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
serialize() {
|
|
141
|
+
return {
|
|
142
|
+
id: this.id,
|
|
143
|
+
type: 'heterogeneous',
|
|
144
|
+
kClasses: this.kClasses,
|
|
145
|
+
stimulusClasses: this.stimulusClasses,
|
|
146
|
+
dModel: this.dModel,
|
|
147
|
+
temperature: this.temperature,
|
|
148
|
+
neurons: this.neurons.map(n => n.serialize()),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
deserialize(state) {
|
|
153
|
+
this.id = state.id ?? this.id;
|
|
154
|
+
this.kClasses = state.kClasses ?? this.kClasses;
|
|
155
|
+
this.stimulusClasses = state.stimulusClasses ?? this.stimulusClasses;
|
|
156
|
+
this.temperature = state.temperature ?? this.temperature;
|
|
157
|
+
if (state.neurons && Array.isArray(state.neurons)) {
|
|
158
|
+
for (let i = 0; i < Math.min(state.neurons.length, this.neurons.length); i++) {
|
|
159
|
+
this.neurons[i].deserialize(state.neurons[i]);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// ── Hybrid AJN layer (mix of homogeneous + heterogeneous neurons) ─────────
|
|
166
|
+
export class HybridAJNLayer {
|
|
167
|
+
constructor(opts = {}) {
|
|
168
|
+
this.id = opts.id ?? `hybrid_${Math.random().toString(36).slice(2, 8)}`;
|
|
169
|
+
this.dModel = opts.dModel ?? 256;
|
|
170
|
+
this.stimulusClass = opts.stimulusClass ?? 'default';
|
|
171
|
+
this.neurons = [];
|
|
172
|
+
const homCount = opts.homCount ?? 3;
|
|
173
|
+
const hetCount = opts.hetCount ?? 3;
|
|
174
|
+
for (let i = 0; i < homCount; i++) {
|
|
175
|
+
this.neurons.push(new ArtificialJunkyNeuron({
|
|
176
|
+
id: `${this.id}_hom_${i}`,
|
|
177
|
+
stimulusClass: this.stimulusClass,
|
|
178
|
+
params: opts.params,
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
181
|
+
for (let i = 0; i < hetCount; i++) {
|
|
182
|
+
this.neurons.push(new ArtificialJunkyNeuron({
|
|
183
|
+
id: `${this.id}_het_${i}`,
|
|
184
|
+
stimulusClass: `${this.stimulusClass}_variant_${i}`,
|
|
185
|
+
params: opts.params,
|
|
186
|
+
}));
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
forward(stimulus) {
|
|
191
|
+
const outputs = this.neurons.map(n => n.process(stimulus));
|
|
192
|
+
// Average the praxis vectors (modulation behaviour)
|
|
193
|
+
const dim = outputs[0]?.praxis?.length ?? this.dModel;
|
|
194
|
+
const aggregated = new Float64Array(dim);
|
|
195
|
+
for (const o of outputs) {
|
|
196
|
+
for (let i = 0; i < Math.min(o.praxis.length, dim); i++) {
|
|
197
|
+
aggregated[i] += o.praxis[i] / outputs.length;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
const avgAlpha = outputs.reduce((s, o) => s + o.alpha, 0) / outputs.length;
|
|
201
|
+
return {
|
|
202
|
+
vector: aggregated,
|
|
203
|
+
alpha: avgAlpha,
|
|
204
|
+
phase: outputs[0]?.phase,
|
|
205
|
+
layerId: this.id,
|
|
206
|
+
neuronSnapshots: outputs.map(o => ({
|
|
207
|
+
id: o.id, phase: o.phase, alpha: o.alpha, craving: o.craving,
|
|
208
|
+
})),
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
update(reward) {
|
|
213
|
+
for (const n of this.neurons) {
|
|
214
|
+
n.alphaPrev = (n.alphaPrev ?? 0) - reward;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
snapshot() {
|
|
219
|
+
return {
|
|
220
|
+
id: this.id,
|
|
221
|
+
type: 'hybrid',
|
|
222
|
+
stimulusClass: this.stimulusClass,
|
|
223
|
+
neurons: this.neurons.map(n => n.snapshot()),
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
serialize() {
|
|
228
|
+
return {
|
|
229
|
+
id: this.id,
|
|
230
|
+
type: 'hybrid',
|
|
231
|
+
stimulusClass: this.stimulusClass,
|
|
232
|
+
dModel: this.dModel,
|
|
233
|
+
neurons: this.neurons.map(n => n.serialize()),
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
deserialize(state) {
|
|
238
|
+
this.id = state.id ?? this.id;
|
|
239
|
+
this.stimulusClass = state.stimulusClass ?? this.stimulusClass;
|
|
240
|
+
if (state.neurons && Array.isArray(state.neurons)) {
|
|
241
|
+
for (let i = 0; i < Math.min(state.neurons.length, this.neurons.length); i++) {
|
|
242
|
+
this.neurons[i].deserialize(state.neurons[i]);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
export { AJNPhase };
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TransformerBlock.js — FUSIONARY (v1.0)
|
|
3
|
+
* Real multi-head self-attention block (inherited from predator v2.0).
|
|
4
|
+
* Used for cross-document context attention and reasoning over
|
|
5
|
+
* hypothesis chains.
|
|
6
|
+
*
|
|
7
|
+
* Architecture per block:
|
|
8
|
+
* x -> LayerNorm -> MultiHeadAttention -> + residual -> LayerNorm -> FFN(GELU) -> + residual
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
12
|
+
|
|
13
|
+
function xavierInit(rows, cols) {
|
|
14
|
+
const limit = Math.sqrt(6 / (rows + cols));
|
|
15
|
+
const m = new Float64Array(rows * cols);
|
|
16
|
+
for (let i = 0; i < m.length; i++) m[i] = (Math.random() * 2 - 1) * limit;
|
|
17
|
+
return m;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function matVec(m, v, rows, cols) {
|
|
21
|
+
const out = new Float64Array(rows);
|
|
22
|
+
for (let i = 0; i < rows; i++) {
|
|
23
|
+
let s = 0;
|
|
24
|
+
for (let j = 0; j < cols; j++) s += m[i * cols + j] * v[j];
|
|
25
|
+
out[i] = s;
|
|
26
|
+
}
|
|
27
|
+
return out;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function layerNorm(v, eps = 1e-5) {
|
|
31
|
+
let mean = 0;
|
|
32
|
+
for (const x of v) mean += x;
|
|
33
|
+
mean /= v.length || 1;
|
|
34
|
+
let variance = 0;
|
|
35
|
+
for (const x of v) variance += (x - mean) ** 2;
|
|
36
|
+
variance /= v.length || 1;
|
|
37
|
+
const denom = Math.sqrt(variance + eps);
|
|
38
|
+
const out = new Float64Array(v.length);
|
|
39
|
+
for (let i = 0; i < v.length; i++) out[i] = (v[i] - mean) / denom;
|
|
40
|
+
return out;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function gelu(x) {
|
|
44
|
+
return 0.5 * x * (1 + Math.tanh(Math.sqrt(2 / Math.PI) * (x + 0.044715 * x ** 3)));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function softmax(v) {
|
|
48
|
+
let max = -Infinity;
|
|
49
|
+
for (const x of v) if (x > max) max = x;
|
|
50
|
+
let sum = 0;
|
|
51
|
+
const exps = new Float64Array(v.length);
|
|
52
|
+
for (let i = 0; i < v.length; i++) {
|
|
53
|
+
exps[i] = Math.exp(v[i] - max);
|
|
54
|
+
sum += exps[i];
|
|
55
|
+
}
|
|
56
|
+
if (sum === 0) return exps;
|
|
57
|
+
for (let i = 0; i < v.length; i++) exps[i] /= sum;
|
|
58
|
+
return exps;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export class TransformerBlock {
|
|
62
|
+
constructor(opts = {}) {
|
|
63
|
+
this.id = opts.id ?? `tf_${uuidv4().slice(0, 8)}`;
|
|
64
|
+
this.dModel = opts.dModel ?? 256;
|
|
65
|
+
this.nHeads = opts.nHeads ?? 8;
|
|
66
|
+
this.dFF = opts.dFF ?? 1024;
|
|
67
|
+
this.dHead = Math.floor(this.dModel / this.nHeads);
|
|
68
|
+
|
|
69
|
+
// Q/K/V projections (per head)
|
|
70
|
+
this.Wq = [];
|
|
71
|
+
this.Wk = [];
|
|
72
|
+
this.Wv = [];
|
|
73
|
+
for (let h = 0; h < this.nHeads; h++) {
|
|
74
|
+
this.Wq.push(xavierInit(this.dHead, this.dModel));
|
|
75
|
+
this.Wk.push(xavierInit(this.dHead, this.dModel));
|
|
76
|
+
this.Wv.push(xavierInit(this.dHead, this.dModel));
|
|
77
|
+
}
|
|
78
|
+
// Output projection
|
|
79
|
+
this.Wo = xavierInit(this.dModel, this.dModel);
|
|
80
|
+
|
|
81
|
+
// FFN weights
|
|
82
|
+
this.W1 = xavierInit(this.dFF, this.dModel);
|
|
83
|
+
this.b1 = new Float64Array(this.dFF);
|
|
84
|
+
this.W2 = xavierInit(this.dModel, this.dFF);
|
|
85
|
+
this.b2 = new Float64Array(this.dModel);
|
|
86
|
+
|
|
87
|
+
// LayerNorm gains/biases
|
|
88
|
+
this.ln1Gamma = new Float64Array(this.dModel).fill(1);
|
|
89
|
+
this.ln1Beta = new Float64Array(this.dModel);
|
|
90
|
+
this.ln2Gamma = new Float64Array(this.dModel).fill(1);
|
|
91
|
+
this.ln2Beta = new Float64Array(this.dModel);
|
|
92
|
+
|
|
93
|
+
this.step = 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
forward(x) {
|
|
97
|
+
// x can be a stimulus object with .vector, or a plain Float64Array
|
|
98
|
+
const input = x?.vector ?? x ?? new Float64Array(this.dModel);
|
|
99
|
+
const v = input.length === this.dModel
|
|
100
|
+
? Float64Array.from(input)
|
|
101
|
+
: Float64Array.from({ length: this.dModel }, (_, i) => input[i % input.length] ?? 0);
|
|
102
|
+
|
|
103
|
+
// Multi-head self-attention (using v as Q, K, V — single-token attention)
|
|
104
|
+
const headOutputs = [];
|
|
105
|
+
for (let h = 0; h < this.nHeads; h++) {
|
|
106
|
+
const q = matVec(this.Wq[h], v, this.dHead, this.dModel);
|
|
107
|
+
const k = matVec(this.Wk[h], v, this.dHead, this.dModel);
|
|
108
|
+
const val = matVec(this.Wv[h], v, this.dHead, this.dModel);
|
|
109
|
+
// Single-token attention: softmax(q.k^T / sqrt(dHead)) * v
|
|
110
|
+
let score = 0;
|
|
111
|
+
for (let i = 0; i < this.dHead; i++) score += q[i] * k[i];
|
|
112
|
+
score /= Math.sqrt(this.dHead);
|
|
113
|
+
const attnWeight = 1 / (1 + Math.exp(-score)); // sigmoid approximation for single-token
|
|
114
|
+
const headOut = new Float64Array(this.dHead);
|
|
115
|
+
for (let i = 0; i < this.dHead; i++) headOut[i] = attnWeight * val[i];
|
|
116
|
+
headOutputs.push(headOut);
|
|
117
|
+
}
|
|
118
|
+
// Concatenate heads
|
|
119
|
+
const concat = new Float64Array(this.dModel);
|
|
120
|
+
for (let h = 0; h < this.nHeads; h++) {
|
|
121
|
+
for (let i = 0; i < this.dHead; i++) {
|
|
122
|
+
concat[h * this.dHead + i] = headOutputs[h][i];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const attnOut = matVec(this.Wo, concat, this.dModel, this.dModel);
|
|
126
|
+
|
|
127
|
+
// Residual + LayerNorm
|
|
128
|
+
const res1 = new Float64Array(this.dModel);
|
|
129
|
+
for (let i = 0; i < this.dModel; i++) res1[i] = v[i] + attnOut[i];
|
|
130
|
+
const norm1 = layerNorm(res1);
|
|
131
|
+
for (let i = 0; i < this.dModel; i++) norm1[i] = norm1[i] * this.ln1Gamma[i] + this.ln1Beta[i];
|
|
132
|
+
|
|
133
|
+
// FFN
|
|
134
|
+
const ffnHidden = matVec(this.W1, norm1, this.dFF, this.dModel);
|
|
135
|
+
for (let i = 0; i < this.dFF; i++) ffnHidden[i] = gelu(ffnHidden[i] + this.b1[i]);
|
|
136
|
+
const ffnOut = matVec(this.W2, ffnHidden, this.dModel, this.dFF);
|
|
137
|
+
for (let i = 0; i < this.dModel; i++) ffnOut[i] += this.b2[i];
|
|
138
|
+
|
|
139
|
+
// Residual + LayerNorm
|
|
140
|
+
const res2 = new Float64Array(this.dModel);
|
|
141
|
+
for (let i = 0; i < this.dModel; i++) res2[i] = norm1[i] + ffnOut[i];
|
|
142
|
+
const norm2 = layerNorm(res2);
|
|
143
|
+
for (let i = 0; i < this.dModel; i++) norm2[i] = norm2[i] * this.ln2Gamma[i] + this.ln2Beta[i];
|
|
144
|
+
|
|
145
|
+
this.step++;
|
|
146
|
+
return {
|
|
147
|
+
vector: norm2,
|
|
148
|
+
layerId: this.id,
|
|
149
|
+
attentionWeights: headOutputs.map(h => h[0]), // diagnostic
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
update(reward) {
|
|
154
|
+
// Light Hebbian-style update on output projection (small perturbation)
|
|
155
|
+
const lr = 0.001 * Math.sign(reward);
|
|
156
|
+
for (let i = 0; i < this.Wo.length; i++) {
|
|
157
|
+
this.Wo[i] += lr * (Math.random() - 0.5) * 0.01;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
snapshot() {
|
|
162
|
+
return {
|
|
163
|
+
id: this.id,
|
|
164
|
+
type: 'transformer',
|
|
165
|
+
dModel: this.dModel,
|
|
166
|
+
nHeads: this.nHeads,
|
|
167
|
+
dFF: this.dFF,
|
|
168
|
+
step: this.step,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
serialize() {
|
|
173
|
+
return {
|
|
174
|
+
id: this.id,
|
|
175
|
+
type: 'transformer',
|
|
176
|
+
dModel: this.dModel,
|
|
177
|
+
nHeads: this.nHeads,
|
|
178
|
+
dFF: this.dFF,
|
|
179
|
+
step: this.step,
|
|
180
|
+
// For brevity we serialize norms but skip the heavy weight matrices
|
|
181
|
+
// in the default snapshot. A full checkpoint serializer in
|
|
182
|
+
// StateSerializer will dump the weights as base64.
|
|
183
|
+
ln1Gamma: Array.from(this.ln1Gamma),
|
|
184
|
+
ln1Beta: Array.from(this.ln1Beta),
|
|
185
|
+
ln2Gamma: Array.from(this.ln2Gamma),
|
|
186
|
+
ln2Beta: Array.from(this.ln2Beta),
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
deserialize(state) {
|
|
191
|
+
this.id = state.id ?? this.id;
|
|
192
|
+
this.dModel = state.dModel ?? this.dModel;
|
|
193
|
+
this.nHeads = state.nHeads ?? this.nHeads;
|
|
194
|
+
this.dFF = state.dFF ?? this.dFF;
|
|
195
|
+
this.step = state.step ?? 0;
|
|
196
|
+
if (state.ln1Gamma) this.ln1Gamma = Float64Array.from(state.ln1Gamma);
|
|
197
|
+
if (state.ln1Beta) this.ln1Beta = Float64Array.from(state.ln1Beta);
|
|
198
|
+
if (state.ln2Gamma) this.ln2Gamma = Float64Array.from(state.ln2Gamma);
|
|
199
|
+
if (state.ln2Beta) this.ln2Beta = Float64Array.from(state.ln2Beta);
|
|
200
|
+
}
|
|
201
|
+
}
|