holosphere 2.0.0-alpha0 → 2.0.0-alpha10

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 (418) hide show
  1. package/CHANGELOG.md +473 -0
  2. package/FEATURES.md +431 -0
  3. package/LICENSE +29 -42
  4. package/LICENSE-AGPL.md +180 -0
  5. package/README.md +97 -16
  6. package/dist/2019-D2OG2idw.js +6680 -0
  7. package/dist/2019-D2OG2idw.js.map +1 -0
  8. package/dist/2019-EION3wKo.cjs +8 -0
  9. package/dist/2019-EION3wKo.cjs.map +1 -0
  10. package/dist/_commonjsHelpers-C37NGDzP.cjs +2 -0
  11. package/dist/_commonjsHelpers-C37NGDzP.cjs.map +1 -0
  12. package/dist/_commonjsHelpers-CUmg6egw.js +7 -0
  13. package/dist/_commonjsHelpers-CUmg6egw.js.map +1 -0
  14. package/dist/browser-BSniCNqO.js +3058 -0
  15. package/dist/browser-BSniCNqO.js.map +1 -0
  16. package/dist/browser-Cq59Ij19.cjs +2 -0
  17. package/dist/browser-Cq59Ij19.cjs.map +1 -0
  18. package/dist/cdn/holosphere.min.js +55 -0
  19. package/dist/cdn/holosphere.min.js.map +1 -0
  20. package/dist/cjs/holosphere.cjs +2 -0
  21. package/dist/cjs/holosphere.cjs.map +1 -0
  22. package/dist/esm/holosphere.js +53 -0
  23. package/dist/esm/holosphere.js.map +1 -0
  24. package/dist/index-DDGt_V9o.cjs +12 -0
  25. package/dist/index-DDGt_V9o.cjs.map +1 -0
  26. package/dist/index-DJXftyvB.js +39841 -0
  27. package/dist/index-DJXftyvB.js.map +1 -0
  28. package/dist/index-DMbdcMtK.cjs +18 -0
  29. package/dist/index-DMbdcMtK.cjs.map +1 -0
  30. package/dist/index-DeZ1xz_s.js +15104 -0
  31. package/dist/index-DeZ1xz_s.js.map +1 -0
  32. package/dist/indexeddb-storage-BFt6hMeF.js +176 -0
  33. package/dist/indexeddb-storage-BFt6hMeF.js.map +1 -0
  34. package/dist/indexeddb-storage-BK5tv4Sh.cjs +2 -0
  35. package/dist/indexeddb-storage-BK5tv4Sh.cjs.map +1 -0
  36. package/dist/memory-storage-C9HuoL2E.js +91 -0
  37. package/dist/memory-storage-C9HuoL2E.js.map +1 -0
  38. package/dist/memory-storage-Dao7jfYG.cjs +2 -0
  39. package/dist/memory-storage-Dao7jfYG.cjs.map +1 -0
  40. package/dist/secp256k1-BbKzbLtD.cjs +12 -0
  41. package/dist/secp256k1-BbKzbLtD.cjs.map +1 -0
  42. package/dist/secp256k1-CreY7Pcl.js +1890 -0
  43. package/dist/secp256k1-CreY7Pcl.js.map +1 -0
  44. package/docs/CONTRACTS.md +797 -0
  45. package/docs/FOSDEM_PROPOSAL.md +388 -0
  46. package/docs/LOCALFIRST.md +266 -0
  47. package/docs/api/ai_aggregation.js.html +333 -0
  48. package/docs/api/ai_breakdown.js.html +524 -0
  49. package/docs/api/ai_classifier.js.html +231 -0
  50. package/docs/api/ai_council.js.html +246 -0
  51. package/docs/api/ai_embeddings.js.html +304 -0
  52. package/docs/api/ai_federation-ai.js.html +338 -0
  53. package/docs/api/ai_h3-ai.js.html +970 -0
  54. package/docs/api/ai_index.js.html +124 -0
  55. package/docs/api/ai_json-ops.js.html +241 -0
  56. package/docs/api/ai_llm-service.js.html +239 -0
  57. package/docs/api/ai_nl-query.js.html +236 -0
  58. package/docs/api/ai_relationships.js.html +367 -0
  59. package/docs/api/ai_schema-extractor.js.html +235 -0
  60. package/docs/api/ai_spatial.js.html +307 -0
  61. package/docs/api/ai_tts.js.html +214 -0
  62. package/docs/api/content_social-protocols.js.html +180 -0
  63. package/docs/api/core_holosphere.js.html +757 -0
  64. package/docs/api/crypto_nostr-utils.js.html +306 -0
  65. package/docs/api/crypto_secp256k1.js.html +267 -0
  66. package/docs/api/data/search.json +1 -0
  67. package/docs/api/federation_discovery.js.html +337 -0
  68. package/docs/api/federation_handshake.js.html +478 -0
  69. package/docs/api/federation_hologram.js.html +1053 -0
  70. package/docs/api/federation_registry.js.html +389 -0
  71. package/docs/api/fonts/Inconsolata-Regular.ttf +0 -0
  72. package/docs/api/fonts/OpenSans-Regular.ttf +0 -0
  73. package/docs/api/fonts/WorkSans-Bold.ttf +0 -0
  74. package/docs/api/global.html +3 -0
  75. package/docs/api/hierarchical_upcast.js.html +128 -0
  76. package/docs/api/index.html +265 -0
  77. package/docs/api/index.js.html +1868 -0
  78. package/docs/api/lib_ai-methods.js.html +660 -0
  79. package/docs/api/lib_contract-methods.js.html +445 -0
  80. package/docs/api/lib_errors.js.html +56 -0
  81. package/docs/api/lib_federation-methods.js.html +348 -0
  82. package/docs/api/lib_index.js.html +33 -0
  83. package/docs/api/module-ai.html +5 -0
  84. package/docs/api/module-ai_aggregation-SmartAggregation.html +6 -0
  85. package/docs/api/module-ai_aggregation.SmartAggregation.html +3 -0
  86. package/docs/api/module-ai_aggregation.html +3 -0
  87. package/docs/api/module-ai_breakdown-TaskBreakdown.html +5 -0
  88. package/docs/api/module-ai_breakdown.TaskBreakdown.html +3 -0
  89. package/docs/api/module-ai_breakdown.html +3 -0
  90. package/docs/api/module-ai_classifier-Classifier.html +6 -0
  91. package/docs/api/module-ai_classifier.Classifier.html +3 -0
  92. package/docs/api/module-ai_classifier.html +3 -0
  93. package/docs/api/module-ai_council-Council.html +6 -0
  94. package/docs/api/module-ai_council.Council.html +3 -0
  95. package/docs/api/module-ai_council.html +3 -0
  96. package/docs/api/module-ai_embeddings-Embeddings.html +5 -0
  97. package/docs/api/module-ai_embeddings.Embeddings.html +3 -0
  98. package/docs/api/module-ai_embeddings.html +3 -0
  99. package/docs/api/module-ai_federation-ai-FederationAdvisor.html +6 -0
  100. package/docs/api/module-ai_federation-ai.FederationAdvisor.html +3 -0
  101. package/docs/api/module-ai_federation-ai.html +3 -0
  102. package/docs/api/module-ai_h3-ai-H3AI.html +6 -0
  103. package/docs/api/module-ai_h3-ai.H3AI.html +3 -0
  104. package/docs/api/module-ai_h3-ai.html +3 -0
  105. package/docs/api/module-ai_json-ops-JSONOps.html +5 -0
  106. package/docs/api/module-ai_json-ops.JSONOps.html +3 -0
  107. package/docs/api/module-ai_json-ops.html +3 -0
  108. package/docs/api/module-ai_llm-service-LLMService.html +5 -0
  109. package/docs/api/module-ai_llm-service.LLMService.html +3 -0
  110. package/docs/api/module-ai_llm-service.html +3 -0
  111. package/docs/api/module-ai_nl-query-NLQuery.html +5 -0
  112. package/docs/api/module-ai_nl-query.NLQuery.html +3 -0
  113. package/docs/api/module-ai_nl-query.html +3 -0
  114. package/docs/api/module-ai_relationships-RelationshipDiscovery.html +6 -0
  115. package/docs/api/module-ai_relationships.RelationshipDiscovery.html +3 -0
  116. package/docs/api/module-ai_relationships.html +3 -0
  117. package/docs/api/module-ai_schema-extractor-SchemaExtractor.html +5 -0
  118. package/docs/api/module-ai_schema-extractor.SchemaExtractor.html +3 -0
  119. package/docs/api/module-ai_schema-extractor.html +3 -0
  120. package/docs/api/module-ai_spatial-SpatialAnalysis.html +6 -0
  121. package/docs/api/module-ai_spatial.SpatialAnalysis.html +3 -0
  122. package/docs/api/module-ai_spatial.html +3 -0
  123. package/docs/api/module-ai_tts-TTS.html +5 -0
  124. package/docs/api/module-ai_tts.TTS.html +3 -0
  125. package/docs/api/module-ai_tts.html +3 -0
  126. package/docs/api/module-content_social-protocols.html +3 -0
  127. package/docs/api/module-core_holosphere-HoloSphere.html +6 -0
  128. package/docs/api/module-core_holosphere.HoloSphere.html +3 -0
  129. package/docs/api/module-core_holosphere.html +3 -0
  130. package/docs/api/module-crypto_nostr-utils.html +3 -0
  131. package/docs/api/module-crypto_secp256k1.html +3 -0
  132. package/docs/api/module-federation_hologram.html +3 -0
  133. package/docs/api/module-hierarchical_upcast.html +3 -0
  134. package/docs/api/module-holosphere-HoloSphereBase.html +3 -0
  135. package/docs/api/module-holosphere.html +3 -0
  136. package/docs/api/module-lib_ai-methods.html +3 -0
  137. package/docs/api/module-lib_contract-methods.html +3 -0
  138. package/docs/api/module-lib_errors-AuthorizationError.html +3 -0
  139. package/docs/api/module-lib_errors-ValidationError.html +3 -0
  140. package/docs/api/module-lib_errors.AuthorizationError.html +3 -0
  141. package/docs/api/module-lib_errors.ValidationError.html +3 -0
  142. package/docs/api/module-lib_errors.html +3 -0
  143. package/docs/api/module-lib_federation-methods.html +3 -0
  144. package/docs/api/module-lib_index.html +3 -0
  145. package/docs/api/module-schema_validator-ValidationError.html +3 -0
  146. package/docs/api/module-schema_validator.ValidationError.html +3 -0
  147. package/docs/api/module-schema_validator.html +3 -0
  148. package/docs/api/module-spatial_h3-operations.html +4 -0
  149. package/docs/api/module-storage_backend-factory.BackendFactory.html +3 -0
  150. package/docs/api/module-storage_backend-factory.html +3 -0
  151. package/docs/api/module-storage_backend-interface-StorageBackend.html +3 -0
  152. package/docs/api/module-storage_backend-interface.StorageBackend.html +3 -0
  153. package/docs/api/module-storage_backend-interface.html +3 -0
  154. package/docs/api/module-storage_backends_activitypub-backend-ActivityPubBackend.html +7 -0
  155. package/docs/api/module-storage_backends_activitypub-backend.ActivityPubBackend.html +3 -0
  156. package/docs/api/module-storage_backends_activitypub-backend.html +3 -0
  157. package/docs/api/module-storage_backends_activitypub_server-ActivityPubServer.html +8 -0
  158. package/docs/api/module-storage_backends_activitypub_server.ActivityPubServer.html +3 -0
  159. package/docs/api/module-storage_backends_activitypub_server.html +3 -0
  160. package/docs/api/module-storage_backends_gundb-backend-GunDBBackend.html +7 -0
  161. package/docs/api/module-storage_backends_gundb-backend.GunDBBackend.html +3 -0
  162. package/docs/api/module-storage_backends_gundb-backend.html +3 -0
  163. package/docs/api/module-storage_backends_nostr-backend-NostrBackend.html +8 -0
  164. package/docs/api/module-storage_backends_nostr-backend.NostrBackend.html +3 -0
  165. package/docs/api/module-storage_backends_nostr-backend.html +3 -0
  166. package/docs/api/module-storage_filesystem-storage-FileSystemStorage.html +5 -0
  167. package/docs/api/module-storage_filesystem-storage-browser-FileSystemStorage.html +3 -0
  168. package/docs/api/module-storage_filesystem-storage-browser.FileSystemStorage.html +3 -0
  169. package/docs/api/module-storage_filesystem-storage-browser.html +3 -0
  170. package/docs/api/module-storage_filesystem-storage.FileSystemStorage.html +3 -0
  171. package/docs/api/module-storage_filesystem-storage.html +3 -0
  172. package/docs/api/module-storage_global-tables.html +3 -0
  173. package/docs/api/module-storage_gun-async.html +3 -0
  174. package/docs/api/module-storage_gun-auth-GunAuth.html +5 -0
  175. package/docs/api/module-storage_gun-auth.GunAuth.html +3 -0
  176. package/docs/api/module-storage_gun-auth.html +3 -0
  177. package/docs/api/module-storage_gun-federation.html +3 -0
  178. package/docs/api/module-storage_gun-references-GunReferenceHandler.html +5 -0
  179. package/docs/api/module-storage_gun-references.GunReferenceHandler.html +3 -0
  180. package/docs/api/module-storage_gun-references.html +3 -0
  181. package/docs/api/module-storage_gun-schema-GunSchemaValidator.html +5 -0
  182. package/docs/api/module-storage_gun-schema.GunSchemaValidator.html +3 -0
  183. package/docs/api/module-storage_gun-schema.html +3 -0
  184. package/docs/api/module-storage_gun-wrapper.html +11 -0
  185. package/docs/api/module-storage_indexeddb-storage-IndexedDBStorage.html +5 -0
  186. package/docs/api/module-storage_indexeddb-storage.IndexedDBStorage.html +3 -0
  187. package/docs/api/module-storage_indexeddb-storage.html +3 -0
  188. package/docs/api/module-storage_key-storage-simple.html +3 -0
  189. package/docs/api/module-storage_key-storage.html +4 -0
  190. package/docs/api/module-storage_memory-storage-MemoryStorage.html +5 -0
  191. package/docs/api/module-storage_memory-storage.MemoryStorage.html +3 -0
  192. package/docs/api/module-storage_memory-storage.html +3 -0
  193. package/docs/api/module-storage_migration-MigrationTool.html +6 -0
  194. package/docs/api/module-storage_migration.MigrationTool.html +3 -0
  195. package/docs/api/module-storage_migration.html +3 -0
  196. package/docs/api/module-storage_nostr-async.html +18 -0
  197. package/docs/api/module-storage_nostr-client-LRUCache.html +3 -0
  198. package/docs/api/module-storage_nostr-client-NostrClient.html +7 -0
  199. package/docs/api/module-storage_nostr-client.NostrClient.html +15 -0
  200. package/docs/api/module-storage_nostr-client.html +6 -0
  201. package/docs/api/module-storage_nostr-wrapper.html +3 -0
  202. package/docs/api/module-storage_outbox-queue-OutboxQueue.html +4 -0
  203. package/docs/api/module-storage_outbox-queue.OutboxQueue.html +3 -0
  204. package/docs/api/module-storage_outbox-queue.html +3 -0
  205. package/docs/api/module-storage_persistent-storage-PersistentStorage.html +3 -0
  206. package/docs/api/module-storage_persistent-storage.html +4 -0
  207. package/docs/api/module-storage_sync-service-SyncService.html +5 -0
  208. package/docs/api/module-storage_sync-service.SyncService.html +3 -0
  209. package/docs/api/module-storage_sync-service.html +3 -0
  210. package/docs/api/module-storage_unified-storage.html +3 -0
  211. package/docs/api/module-subscriptions_manager.SubscriptionRegistry.html +3 -0
  212. package/docs/api/module-subscriptions_manager.html +3 -0
  213. package/docs/api/schema_validator.js.html +113 -0
  214. package/docs/api/scripts/core.js +726 -0
  215. package/docs/api/scripts/core.min.js +23 -0
  216. package/docs/api/scripts/resize.js +90 -0
  217. package/docs/api/scripts/search.js +265 -0
  218. package/docs/api/scripts/search.min.js +6 -0
  219. package/docs/api/scripts/third-party/Apache-License-2.0.txt +202 -0
  220. package/docs/api/scripts/third-party/fuse.js +9 -0
  221. package/docs/api/scripts/third-party/hljs-line-num-original.js +369 -0
  222. package/docs/api/scripts/third-party/hljs-line-num.js +1 -0
  223. package/docs/api/scripts/third-party/hljs-original.js +5171 -0
  224. package/docs/api/scripts/third-party/hljs.js +1 -0
  225. package/docs/api/scripts/third-party/popper.js +5 -0
  226. package/docs/api/scripts/third-party/tippy.js +1 -0
  227. package/docs/api/scripts/third-party/tocbot.js +672 -0
  228. package/docs/api/scripts/third-party/tocbot.min.js +1 -0
  229. package/docs/api/spatial_h3-operations.js.html +129 -0
  230. package/docs/api/storage_backend-factory.js.html +133 -0
  231. package/docs/api/storage_backend-interface.js.html +164 -0
  232. package/docs/api/storage_backends_activitypub-backend.js.html +298 -0
  233. package/docs/api/storage_backends_activitypub_server.js.html +678 -0
  234. package/docs/api/storage_backends_gundb-backend.js.html +878 -0
  235. package/docs/api/storage_backends_nostr-backend.js.html +254 -0
  236. package/docs/api/storage_filesystem-storage-browser.js.html +83 -0
  237. package/docs/api/storage_filesystem-storage.js.html +207 -0
  238. package/docs/api/storage_global-tables.js.html +116 -0
  239. package/docs/api/storage_gun-async.js.html +344 -0
  240. package/docs/api/storage_gun-auth.js.html +376 -0
  241. package/docs/api/storage_gun-federation.js.html +788 -0
  242. package/docs/api/storage_gun-references.js.html +212 -0
  243. package/docs/api/storage_gun-schema.js.html +309 -0
  244. package/docs/api/storage_gun-wrapper.js.html +645 -0
  245. package/docs/api/storage_indexeddb-storage.js.html +224 -0
  246. package/docs/api/storage_key-storage-simple.js.html +102 -0
  247. package/docs/api/storage_key-storage.js.html +171 -0
  248. package/docs/api/storage_memory-storage.js.html +128 -0
  249. package/docs/api/storage_migration.js.html +354 -0
  250. package/docs/api/storage_nostr-async.js.html +1076 -0
  251. package/docs/api/storage_nostr-client.js.html +1598 -0
  252. package/docs/api/storage_nostr-wrapper.js.html +218 -0
  253. package/docs/api/storage_outbox-queue.js.html +248 -0
  254. package/docs/api/storage_persistent-storage.js.html +160 -0
  255. package/docs/api/storage_sync-service.js.html +201 -0
  256. package/docs/api/storage_unified-storage.js.html +157 -0
  257. package/docs/api/styles/clean-jsdoc-theme-base.css +1159 -0
  258. package/docs/api/styles/clean-jsdoc-theme-dark.css +412 -0
  259. package/docs/api/styles/clean-jsdoc-theme-light.css +482 -0
  260. package/docs/api/styles/clean-jsdoc-theme-scrollbar.css +30 -0
  261. package/docs/api/styles/clean-jsdoc-theme-without-scrollbar.min.css +1 -0
  262. package/docs/api/styles/clean-jsdoc-theme.min.css +1 -0
  263. package/docs/api/subscriptions_manager.js.html +162 -0
  264. package/docs/contracts/api-interface.md +793 -0
  265. package/docs/data-model.md +476 -0
  266. package/docs/gun-async-usage.md +338 -0
  267. package/docs/plan.md +349 -0
  268. package/docs/quickstart.md +674 -0
  269. package/docs/research.md +362 -0
  270. package/docs/spec.md +244 -0
  271. package/docs/storage-backends.md +326 -0
  272. package/docs/tasks.md +947 -0
  273. package/examples/demo.html +47 -0
  274. package/examples/holosphere-widget.js +1242 -0
  275. package/examples/widget-demo.html +274 -0
  276. package/examples/widget.html +703 -0
  277. package/jsdoc.json +26 -0
  278. package/package.json +25 -7
  279. package/src/ai/aggregation.js +13 -2
  280. package/src/ai/breakdown.js +12 -2
  281. package/src/ai/classifier.js +14 -3
  282. package/src/ai/council.js +22 -7
  283. package/src/ai/embeddings.js +37 -15
  284. package/src/ai/federation-ai.js +13 -2
  285. package/src/ai/h3-ai.js +14 -2
  286. package/src/ai/index.js +16 -7
  287. package/src/ai/json-ops.js +18 -5
  288. package/src/ai/llm-service.js +62 -31
  289. package/src/ai/nl-query.js +12 -2
  290. package/src/ai/relationships.js +13 -2
  291. package/src/ai/schema-extractor.js +24 -10
  292. package/src/ai/spatial.js +13 -2
  293. package/src/ai/tts.js +25 -8
  294. package/src/cdn-entry.js +22 -0
  295. package/src/content/social-protocols.js +34 -25
  296. package/src/contracts/abis/Appreciative.json +1280 -0
  297. package/src/contracts/abis/AppreciativeFactory.json +101 -0
  298. package/src/contracts/abis/Bundle.json +1438 -0
  299. package/src/contracts/abis/BundleFactory.json +106 -0
  300. package/src/contracts/abis/Holon.json +881 -0
  301. package/src/contracts/abis/Holons.json +330 -0
  302. package/src/contracts/abis/Managed.json +1262 -0
  303. package/src/contracts/abis/ManagedFactory.json +149 -0
  304. package/src/contracts/abis/Membrane.json +261 -0
  305. package/src/contracts/abis/Splitter.json +1624 -0
  306. package/src/contracts/abis/SplitterFactory.json +220 -0
  307. package/src/contracts/abis/TestToken.json +321 -0
  308. package/src/contracts/abis/Zoned.json +1461 -0
  309. package/src/contracts/abis/ZonedFactory.json +154 -0
  310. package/src/contracts/chain-manager.js +403 -0
  311. package/src/contracts/deployer.js +500 -0
  312. package/src/contracts/event-listener.js +539 -0
  313. package/src/contracts/holon-contracts.js +359 -0
  314. package/src/contracts/index.js +82 -0
  315. package/src/contracts/networks.js +229 -0
  316. package/src/contracts/operations.js +687 -0
  317. package/src/contracts/queries.js +638 -0
  318. package/src/core/holosphere.js +487 -6
  319. package/src/crypto/nostr-utils.js +303 -0
  320. package/src/crypto/secp256k1.js +7 -2
  321. package/src/federation/handshake.js +475 -0
  322. package/src/federation/hologram.js +117 -3
  323. package/src/hierarchical/upcast.js +40 -25
  324. package/src/index.js +1501 -1909
  325. package/src/lib/ai-methods.js +657 -0
  326. package/src/lib/contract-methods.js +442 -0
  327. package/src/lib/errors.js +53 -0
  328. package/src/lib/federation-methods.js +345 -0
  329. package/src/lib/index.js +30 -0
  330. package/src/schema/validator.js +22 -3
  331. package/src/spatial/h3-operations.js +19 -3
  332. package/src/storage/backend-factory.js +7 -2
  333. package/src/storage/backend-interface.js +21 -2
  334. package/src/storage/backends/activitypub/server.js +25 -3
  335. package/src/storage/backends/activitypub-backend.js +25 -2
  336. package/src/storage/backends/gundb-backend.js +692 -50
  337. package/src/storage/backends/nostr-backend.js +116 -1
  338. package/src/storage/filesystem-storage-browser.js +42 -2
  339. package/src/storage/filesystem-storage.js +72 -5
  340. package/src/storage/global-tables.js +35 -3
  341. package/src/storage/gun-async.js +75 -15
  342. package/src/storage/gun-auth.js +373 -0
  343. package/src/storage/gun-federation.js +785 -0
  344. package/src/storage/gun-references.js +209 -0
  345. package/src/storage/gun-schema.js +306 -0
  346. package/src/storage/gun-wrapper.js +475 -54
  347. package/src/storage/indexeddb-storage.js +112 -13
  348. package/src/storage/key-storage-simple.js +32 -9
  349. package/src/storage/key-storage.js +45 -13
  350. package/src/storage/memory-storage.js +68 -2
  351. package/src/storage/migration.js +20 -7
  352. package/src/storage/nostr-async.js +412 -122
  353. package/src/storage/nostr-client.js +749 -76
  354. package/src/storage/nostr-wrapper.js +6 -2
  355. package/src/storage/outbox-queue.js +55 -18
  356. package/src/storage/persistent-storage.js +62 -14
  357. package/src/storage/sync-service.js +51 -17
  358. package/src/storage/unified-storage.js +154 -0
  359. package/src/subscriptions/manager.js +34 -17
  360. package/types/index.d.ts +133 -0
  361. package/vite.config.cdn.js +60 -0
  362. package/tests/unit/ai/aggregation.test.js +0 -295
  363. package/tests/unit/ai/breakdown.test.js +0 -446
  364. package/tests/unit/ai/classifier.test.js +0 -294
  365. package/tests/unit/ai/council.test.js +0 -262
  366. package/tests/unit/ai/embeddings.test.js +0 -384
  367. package/tests/unit/ai/federation-ai.test.js +0 -344
  368. package/tests/unit/ai/h3-ai.test.js +0 -458
  369. package/tests/unit/ai/index.test.js +0 -304
  370. package/tests/unit/ai/json-ops.test.js +0 -307
  371. package/tests/unit/ai/llm-service.test.js +0 -390
  372. package/tests/unit/ai/nl-query.test.js +0 -383
  373. package/tests/unit/ai/relationships.test.js +0 -311
  374. package/tests/unit/ai/schema-extractor.test.js +0 -384
  375. package/tests/unit/ai/spatial.test.js +0 -279
  376. package/tests/unit/ai/tts.test.js +0 -279
  377. package/tests/unit/content.test.js +0 -332
  378. package/tests/unit/contract/core.test.js +0 -88
  379. package/tests/unit/contract/crypto.test.js +0 -198
  380. package/tests/unit/contract/data.test.js +0 -223
  381. package/tests/unit/contract/federation.test.js +0 -181
  382. package/tests/unit/contract/hierarchical.test.js +0 -113
  383. package/tests/unit/contract/schema.test.js +0 -114
  384. package/tests/unit/contract/social.test.js +0 -217
  385. package/tests/unit/contract/spatial.test.js +0 -110
  386. package/tests/unit/contract/subscriptions.test.js +0 -128
  387. package/tests/unit/contract/utils.test.js +0 -159
  388. package/tests/unit/core.test.js +0 -152
  389. package/tests/unit/crypto.test.js +0 -328
  390. package/tests/unit/federation.test.js +0 -234
  391. package/tests/unit/gun-async.test.js +0 -252
  392. package/tests/unit/hierarchical.test.js +0 -399
  393. package/tests/unit/integration/scenario-01-geographic-storage.test.js +0 -74
  394. package/tests/unit/integration/scenario-02-federation.test.js +0 -76
  395. package/tests/unit/integration/scenario-03-subscriptions.test.js +0 -102
  396. package/tests/unit/integration/scenario-04-validation.test.js +0 -129
  397. package/tests/unit/integration/scenario-05-hierarchy.test.js +0 -125
  398. package/tests/unit/integration/scenario-06-social.test.js +0 -135
  399. package/tests/unit/integration/scenario-07-persistence.test.js +0 -130
  400. package/tests/unit/integration/scenario-08-authorization.test.js +0 -161
  401. package/tests/unit/integration/scenario-09-cross-dimensional.test.js +0 -139
  402. package/tests/unit/integration/scenario-10-cross-holosphere-capabilities.test.js +0 -357
  403. package/tests/unit/integration/scenario-11-cross-holosphere-federation.test.js +0 -410
  404. package/tests/unit/integration/scenario-12-capability-federated-read.test.js +0 -719
  405. package/tests/unit/performance/benchmark.test.js +0 -85
  406. package/tests/unit/schema.test.js +0 -213
  407. package/tests/unit/spatial.test.js +0 -158
  408. package/tests/unit/storage.test.js +0 -195
  409. package/tests/unit/subscriptions.test.js +0 -328
  410. package/tests/unit/test-data-permanence-debug.js +0 -197
  411. package/tests/unit/test-data-permanence.js +0 -340
  412. package/tests/unit/test-key-persistence-fixed.js +0 -148
  413. package/tests/unit/test-key-persistence.js +0 -172
  414. package/tests/unit/test-relay-permanence.js +0 -376
  415. package/tests/unit/test-second-node.js +0 -95
  416. package/tests/unit/test-simple-write.js +0 -89
  417. /package/{cleanup-test-data.js → scripts/cleanup-test-data.js} +0 -0
  418. /package/{test-ai-real-api.js → scripts/test-ai-real-api.js} +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,473 @@
1
+ # Changelog
2
+
3
+ All notable changes to HoloSphere are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ---
9
+
10
+ # HoloSphere 2.0 (Complete Rewrite)
11
+
12
+ ## [2.0.0-alpha10] - 2025-12-22
13
+
14
+ ### Added
15
+ - **Optimistic Updates**: All write operations (`write`, `update`, `delete`) are now non-blocking by default
16
+ - Data is cached immediately for instant UI responsiveness (~1ms return time)
17
+ - Background sync to relays ensures durability with automatic retry
18
+ - New `blocking: true` option for operations requiring relay confirmation
19
+ - Write cache ensures reads return fresh data immediately after writes
20
+ - Delete cache prevents stale data from being returned after deletions
21
+ - **Cache-First Reads**: `read()` now checks local cache before storage for optimistic consistency
22
+
23
+ ### Changed
24
+ - `write()` returns immediately after caching (was: waited for relay sync)
25
+ - `update()` returns immediately after caching merged data
26
+ - `delete()` returns immediately after cache invalidation
27
+ - `read()` checks write cache → delete cache → storage (in that order)
28
+
29
+ ### Migration Notes
30
+ - **Default behavior changed**: Writes are now optimistic (non-blocking)
31
+ - For operations requiring confirmation, add `{ blocking: true }`:
32
+ ```javascript
33
+ await hs.write(holonId, 'lens', data, { blocking: true });
34
+ ```
35
+ - Subscription callbacks now fire after relay sync (use blocking writes if immediate callbacks needed)
36
+
37
+ ---
38
+
39
+ ## [2.0.0-alpha8] - 2025-12-15
40
+
41
+ ### Added
42
+ - **CDN Build Support**: New browser-ready bundle for direct script tag inclusion
43
+ - **Widget Examples**: Ready-to-use widget examples for quick integration
44
+
45
+ ### Fixed
46
+ - `skipPropagation` option for `federateHolon` to control hologram propagation
47
+ - Null data handling in Nostr backend for edge cases
48
+
49
+ ---
50
+
51
+ ## [2.0.0-alpha7] - 2025-12-14
52
+
53
+ ### Fixed
54
+ - **GunDB Backend Hologram Support**: Proper deserialization and count logic for holograms
55
+ - Optimized Gun backend with count-based collection for `readAll` operations
56
+
57
+ ---
58
+
59
+ ## [2.0.0-alpha5] - 2025-12-12
60
+
61
+ ### Added
62
+ - **Smart Contracts Integration**: Complete Ethereum contract system for fractal fund distribution
63
+ - Splitter, Managed, Zoned, Appreciative, and Bundle contract types
64
+ - Multi-chain support (Ethereum, Polygon, Arbitrum, Base, Optimism)
65
+ - Contract deployment, operations, and event listening
66
+ - **Unified Storage Layer**: Abstract backend interface supporting multiple storage technologies
67
+ - **TypeScript Type Definitions**: Full TypeScript support with comprehensive type definitions
68
+
69
+ ### Changed
70
+ - **Nostr Client Optimization**: Long-lived subscriptions, query deduplication, and intelligent caching
71
+ - Improved npm package structure with proper gitignore and npmignore
72
+
73
+ ### Fixed
74
+ - Federation handshake protocol improvements
75
+
76
+ ---
77
+
78
+ ## [2.0.0-alpha0] - 2025-12-05
79
+
80
+ ### Added
81
+ - **AI Module**: Comprehensive AI integration using OpenAI
82
+ - LLM service with summarization, analysis, categorization, translation
83
+ - Vector embeddings and semantic search
84
+ - Multi-perspective Council for balanced decision-making
85
+ - Natural language query interface
86
+ - Schema extraction from unstructured text
87
+ - Fuzzy JSON operations (semantic merge, diff, union)
88
+ - Spatial analysis and H3 geospatial AI
89
+ - Task breakdown with hierarchical decomposition
90
+ - Relationship discovery and federation advisor
91
+ - **True Local-First Architecture**: Guaranteed delivery with outbox queue and sync service
92
+ - **Circular Hologram Prevention**: Safeguards against infinite reference loops
93
+ - **Comprehensive Capability Tests**: Full test suite for capability-based authorization
94
+
95
+ ### Changed
96
+ - Major project restructure with modular organization
97
+ - Enhanced documentation for local-first architecture
98
+
99
+ ---
100
+
101
+ ## [2.0.0-alpha] - 2025-12-04
102
+
103
+ ### Added
104
+ - **Capability Tokens for Federation**: Secure cross-HoloSphere authorization
105
+ - Time-limited capability tokens with cryptographic signatures
106
+ - Scope-based permissions (holon, lens, data level)
107
+ - Inbound/outbound capability registry
108
+ - **Multi-HoloSphere Support**: Federation between multiple HoloSphere instances
109
+ - **FOSDEM 2025 Proposal**: Local-first devroom talk proposal
110
+
111
+ ### Documentation
112
+ - Added LOCALFIRST.md with honest assessment of local-first architecture
113
+ - Updated VIBE.md to clarify actual vs aspirational architecture
114
+ - Added npm.flow.fund intentions for spatial value flows
115
+
116
+ ---
117
+
118
+ ## [2.0.0-dev] - 2025-11-26
119
+
120
+ ### Added
121
+ - **Working Hologram Federation on Nostr**: First successful cross-holon data references
122
+ - **Cached Write Returns**: Immediate consistency for newly written data
123
+
124
+ ### Changed
125
+ - Improved delete operation semantics with tombstone markers
126
+ - Fixed hologram resolution and cross-reference handling
127
+
128
+ ---
129
+
130
+ ## [2.0.0-dev] - 2025-11-22
131
+
132
+ ### Added
133
+ - **Nostr Subscription Improvements**: Better startup logging and subscription handling
134
+ - **Global Write API**: Consistent API for non-holon-specific data storage
135
+
136
+ ### Fixed
137
+ - Global write API inconsistencies resolved
138
+ - Data import functionality improvements
139
+
140
+ ---
141
+
142
+ ## [2.0.0-dev] - 2025-11-17
143
+
144
+ ### Added
145
+ - **Nostr-based Prediction Market**: Quest coordination using prediction markets
146
+ - Interactive web demo for prediction market visualization
147
+ - Polygon-based hexagon selection for geographic predictions
148
+ - **Hologram Specification Compliance**: Full compliance with hologram reference spec
149
+ - **Polygon-Based Federation**: Geographic region selection for federation
150
+
151
+ ### Changed
152
+ - Updated VIBE.md to reflect Nostr integration architecture
153
+ - Removed deprecated demo files in favor of new prediction market demo
154
+
155
+ ---
156
+
157
+ ## [2.0.0-dev] - 2025-11-10
158
+
159
+ ### Added
160
+ - **Comprehensive Documentation**: Full API documentation and code cleanup
161
+ - **Test Suite**: Working test infrastructure
162
+
163
+ ### Changed
164
+ - Major code cleanup and organization
165
+
166
+ ---
167
+
168
+ ## [2.0.0-dev] - 2025-11-08
169
+
170
+ ### Added
171
+ - **Working Prototype**: First functional version of HoloSphere 2.0
172
+ - **NPM Package**: Initial package.json configuration
173
+
174
+ ---
175
+
176
+ ## [2.0.0-dev] - 2025-10-30
177
+
178
+ ### Added
179
+ - **Global Functions**: Non-location-specific data operations
180
+ - `writeGlobal`, `readGlobal`, `updateGlobal`, `deleteGlobal`
181
+ - Support for application-wide data (schemas, configs, preferences)
182
+
183
+ ---
184
+
185
+ ## [2.0.0-dev] - 2025-10-17
186
+
187
+ ### Added
188
+ - **First Version of 2.0**: Initial implementation of HoloSphere 2.0 architecture
189
+ - Complete rewrite with Nostr as primary storage backend
190
+ - New modular architecture with pluggable backends
191
+
192
+ ---
193
+
194
+ ## [2.0.0-dev] - 2025-10-06
195
+
196
+ ### Added
197
+ - **Initial Commit**: Project scaffolding from Specify template
198
+ - Beginning of HoloSphere 2.0 development
199
+
200
+ ---
201
+
202
+ # HoloSphere 1.x (Original GunDB Implementation)
203
+
204
+ ## [1.1.18] - 2025-11-17
205
+
206
+ ### Added
207
+ - **Permaculture Flower Ecosystem**: Web examples for 14 ecosystem projects
208
+ - Interactive Mapbox + H3 demo pages
209
+ - Unique landing pages with professional imagery
210
+ - Federation system binding ecosystem together
211
+ - **Vibe Coding Instructions**: Development guidelines documentation
212
+
213
+ ---
214
+
215
+ ## [1.1.13] - 2025-08-07
216
+
217
+ ### Changed
218
+ - **Switched to Radisk**: Improved persistence with radisk storage
219
+
220
+ ---
221
+
222
+ ## [1.1.12] - 2025-06-15
223
+
224
+ ### Added
225
+ - **Automatic H3 Parent Propagation**: Data automatically propagates to parent hexagons
226
+ - **CDN Bundle**: HTML CDN bundle with usage example
227
+
228
+ ### Fixed
229
+ - Hex detection for parent propagation
230
+ - Hologram propagation and deletion edge cases
231
+
232
+ ---
233
+
234
+ ## [1.1.11] - 2025-04-21
235
+
236
+ ### Added
237
+ - **Version Function**: Programmatic version checking
238
+ - **Gun Options in Constructor**: Pass custom Gun configuration options
239
+
240
+ ### Fixed
241
+ - Various stability improvements
242
+ - Authentication flow refinements
243
+
244
+ ---
245
+
246
+ ## [1.1.10] - 2025-04-05
247
+
248
+ ### Added
249
+ - **Holograms**: Lightweight cross-holon data references
250
+ - Hologram lists attached to target data
251
+ - `isHologram` metadata for resolved references
252
+ - **Put to Hologram**: Writing to a hologram stores in original location
253
+ - **Lens-Aware Federation**: Federation propagation checks lens configuration
254
+
255
+ ### Fixed
256
+ - Auth subscriptions and deletes
257
+ - Federation and reference resolution
258
+ - Reference cycle detection (checks previously visited locations)
259
+
260
+ ### Changed
261
+ - Removed legacy federation logic
262
+ - Refactored holosphere.js into multiple files for maintainability
263
+
264
+ ---
265
+
266
+ ## [1.1.9] - 2025-04-02
267
+
268
+ ### Changed
269
+ - **Refactored getAll/getGlobal**: Better handling for user authentication
270
+ - **Improved API Consistency**: Unified promise handling across functions
271
+ - **Enhanced put/get Logic**: Better password handling
272
+
273
+ ### Removed
274
+ - `.env` files and Babel dependencies (cleanup)
275
+
276
+ ---
277
+
278
+ ## [1.1.6] - 2025-03-19
279
+
280
+ ### Added
281
+ - **Federation with References**: Reworked federation system using reference-based approach
282
+ - **Bot Integration**: Federation functionality for HolonsBot integration
283
+ - **Release Candidate 1**: First production-ready release
284
+
285
+ ### Changed
286
+ - Updated READMEs and TypeScript typings
287
+
288
+ ---
289
+
290
+ ## [1.1.5] - 2025-03-17
291
+
292
+ ### Added
293
+ - **Spaces**: First implementation of isolated data spaces
294
+ - **New Authentication System**: Reworked auth with improved security
295
+
296
+ ### Fixed
297
+ - Subscription and schema retrieval
298
+ - Compute function improvements
299
+ - Test infrastructure (federation + spaces auth)
300
+
301
+ ---
302
+
303
+ ## [1.1.0] - 2025-02-13
304
+
305
+ ### Added
306
+ - **All Tests Passing**: Complete test coverage
307
+ - **Spaces Authentication**: Combined federation and spaces auth testing
308
+
309
+ ### Fixed
310
+ - Testing infrastructure improvements
311
+
312
+ ---
313
+
314
+ ## [1.0.5] - 2025-01-31
315
+
316
+ ### Added
317
+ - **Safety Fixes**: Additional validation and error handling
318
+ - **Cast/Publish Fixes**: Improved data publishing workflow
319
+
320
+ ---
321
+
322
+ ## [1.0.4] - 2024-12-31
323
+
324
+ ### Added
325
+ - **First Working Publish/Casting**: Data publishing to network
326
+ - **Fixed getAllGlobal**: Corrected global data retrieval
327
+
328
+ ---
329
+
330
+ ## [1.0.3] - 2024-12-18
331
+
332
+ ### Added
333
+ - **TypeScript Migration**: Switched everything to TypeScript
334
+ - **Parse Function**: Reintroduced data parsing functionality
335
+
336
+ ### Fixed
337
+ - JavaScript compilation issues
338
+ - Minor TypeScript configuration issues
339
+
340
+ ---
341
+
342
+ ## [1.0.2] - 2024-12-08
343
+
344
+ ### Changed
345
+ - **Naming Convention Cleanup**: Removed voting, cleaned up APIs
346
+ - **All Tests Running**: Complete test suite execution
347
+
348
+ ---
349
+
350
+ ## [1.0.1] - 2024-11-22
351
+
352
+ ### Added
353
+ - **Global Functions**: Application-wide data operations
354
+ - `writeGlobal`, `readGlobal`, `updateGlobal`, `deleteGlobal`
355
+ - **Test Suite**: Initial test coverage
356
+ - **TypeScript Types**: Type definitions for API
357
+
358
+ ### Changed
359
+ - Updated README documentation
360
+
361
+ ---
362
+
363
+ ## [1.0.0] - 2024-10-21
364
+
365
+ ### Added
366
+ - **Initial Release**: First version of HoloSphere
367
+ - **GunDB Integration**: Real-time P2P data synchronization
368
+ - **H3 Hexagonal Indexing**: Geographic data organization
369
+ - **Basic CRUD Operations**: `put`, `get`, `getAll`, `delete`
370
+ - **Reference System**: Cross-holon data references
371
+ - **MIT License**: Open source licensing
372
+
373
+ ---
374
+
375
+ # Architecture Overview
376
+
377
+ ## Core Concepts
378
+
379
+ - **Holons**: Geographic locations identified by H3 hexagonal indexes (16 resolution levels)
380
+ - **Lenses**: Named data collections within holons (e.g., "projects", "events", "quests")
381
+ - **Holograms**: Lightweight references to data in other holons (federated pointers)
382
+ - **Capabilities**: Cryptographic tokens for authorization across federated instances
383
+
384
+ ## Storage Backends (2.0+)
385
+
386
+ | Backend | Protocol | Use Case |
387
+ |---------|----------|----------|
388
+ | Nostr | NIP-01 events | Decentralized P2P storage |
389
+ | GunDB | CRDT + WebRTC | Real-time collaboration |
390
+ | ActivityPub | Fediverse | Social federation |
391
+
392
+ ## Smart Contracts (2.0+)
393
+
394
+ | Contract | Purpose |
395
+ |----------|---------|
396
+ | Splitter | Internal/external fund split with fractal nesting |
397
+ | Managed | Appreciation-based distribution |
398
+ | Zoned | Tier-based zone rewards |
399
+ | Appreciative | Peer-to-peer appreciation |
400
+ | Bundle | All-in-one 2-way split with steepness |
401
+
402
+ ---
403
+
404
+ # Migration Notes
405
+
406
+ ## From 1.x to 2.0
407
+
408
+ HoloSphere 2.0 is a complete rewrite with breaking changes:
409
+
410
+ 1. **Storage Layer**: Now uses pluggable backends (Nostr, GunDB, ActivityPub)
411
+ 2. **Federation**: New capability-based authorization system
412
+ 3. **API Changes**: Unified async/await API across all operations
413
+ 4. **AI Integration**: Optional OpenAI-powered features
414
+ 5. **Package Name**: Published as `holosphere@next` on npm
415
+
416
+ ### API Changes
417
+
418
+ ```javascript
419
+ // 1.x style (GunDB only)
420
+ const hs = new HoloSphere({ gun: gunInstance });
421
+ hs.put(holon, lens, data, callback);
422
+ hs.get(holon, lens, id, callback);
423
+
424
+ // 2.0 style (pluggable backends)
425
+ const hs = new HoloSphere({
426
+ appName: 'myapp',
427
+ backend: 'nostr', // or 'gundb', 'activitypub'
428
+ relays: ['wss://relay.example.com']
429
+ });
430
+ await hs.init();
431
+ await hs.write(holon, lens, data);
432
+ const result = await hs.read(holon, lens, id);
433
+ ```
434
+
435
+ ### Key Differences
436
+
437
+ | Feature | 1.x | 2.0 |
438
+ |---------|-----|-----|
439
+ | Storage | GunDB only | Nostr, GunDB, ActivityPub |
440
+ | API Style | Callbacks | Async/await |
441
+ | Federation | Reference-based | Capability tokens |
442
+ | AI Features | None | Full OpenAI integration |
443
+ | Smart Contracts | None | Ethereum multi-chain |
444
+
445
+ ---
446
+
447
+ # Contributors
448
+
449
+ - Roberto Valenti ([@liminalvillage](https://github.com/liminalvillage))
450
+ - Claude (AI pair programmer)
451
+ - qbfrank
452
+ - polux0
453
+
454
+ ---
455
+
456
+ [2.0.0-alpha8]: https://github.com/liminalvillage/holosphere/compare/v2.0.0-alpha7...v2.0.0-alpha8
457
+ [2.0.0-alpha7]: https://github.com/liminalvillage/holosphere/compare/v2.0.0-alpha5...v2.0.0-alpha7
458
+ [2.0.0-alpha5]: https://github.com/liminalvillage/holosphere/compare/v2.0.0-alpha0...v2.0.0-alpha5
459
+ [2.0.0-alpha0]: https://github.com/liminalvillage/holosphere/compare/v2.0.0-alpha...v2.0.0-alpha0
460
+ [1.1.18]: https://github.com/liminalvillage/holosphere/compare/v1.1.12...v1.1.18
461
+ [1.1.12]: https://github.com/liminalvillage/holosphere/compare/v1.1.11...v1.1.12
462
+ [1.1.11]: https://github.com/liminalvillage/holosphere/compare/v1.1.10...v1.1.11
463
+ [1.1.10]: https://github.com/liminalvillage/holosphere/compare/v1.1.9...v1.1.10
464
+ [1.1.9]: https://github.com/liminalvillage/holosphere/compare/v1.1.6...v1.1.9
465
+ [1.1.6]: https://github.com/liminalvillage/holosphere/compare/v1.1.5...v1.1.6
466
+ [1.1.5]: https://github.com/liminalvillage/holosphere/compare/v1.1.0...v1.1.5
467
+ [1.1.0]: https://github.com/liminalvillage/holosphere/compare/v1.0.5...v1.1.0
468
+ [1.0.5]: https://github.com/liminalvillage/holosphere/compare/v1.0.4...v1.0.5
469
+ [1.0.4]: https://github.com/liminalvillage/holosphere/compare/v1.0.3...v1.0.4
470
+ [1.0.3]: https://github.com/liminalvillage/holosphere/compare/v1.0.2...v1.0.3
471
+ [1.0.2]: https://github.com/liminalvillage/holosphere/compare/v1.0.1...v1.0.2
472
+ [1.0.1]: https://github.com/liminalvillage/holosphere/compare/v1.0.0...v1.0.1
473
+ [1.0.0]: https://github.com/liminalvillage/holosphere/releases/tag/v1.0.0