holosphere 2.0.0-alpha1 → 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.
- package/CHANGELOG.md +473 -0
- package/FEATURES.md +431 -0
- package/LICENSE +29 -166
- package/LICENSE-AGPL.md +180 -0
- package/README.md +97 -16
- package/dist/2019-D2OG2idw.js +6680 -0
- package/dist/2019-D2OG2idw.js.map +1 -0
- package/dist/2019-EION3wKo.cjs +8 -0
- package/dist/2019-EION3wKo.cjs.map +1 -0
- package/dist/_commonjsHelpers-C37NGDzP.cjs +2 -0
- package/dist/_commonjsHelpers-C37NGDzP.cjs.map +1 -0
- package/dist/_commonjsHelpers-CUmg6egw.js +7 -0
- package/dist/_commonjsHelpers-CUmg6egw.js.map +1 -0
- package/dist/browser-BSniCNqO.js +3058 -0
- package/dist/browser-BSniCNqO.js.map +1 -0
- package/dist/browser-Cq59Ij19.cjs +2 -0
- package/dist/browser-Cq59Ij19.cjs.map +1 -0
- package/dist/cdn/holosphere.min.js +55 -0
- package/dist/cdn/holosphere.min.js.map +1 -0
- package/dist/cjs/holosphere.cjs +2 -0
- package/dist/cjs/holosphere.cjs.map +1 -0
- package/dist/esm/holosphere.js +53 -0
- package/dist/esm/holosphere.js.map +1 -0
- package/dist/index-DDGt_V9o.cjs +12 -0
- package/dist/index-DDGt_V9o.cjs.map +1 -0
- package/dist/index-DJXftyvB.js +39841 -0
- package/dist/index-DJXftyvB.js.map +1 -0
- package/dist/index-DMbdcMtK.cjs +18 -0
- package/dist/index-DMbdcMtK.cjs.map +1 -0
- package/dist/index-DeZ1xz_s.js +15104 -0
- package/dist/index-DeZ1xz_s.js.map +1 -0
- package/dist/indexeddb-storage-BFt6hMeF.js +176 -0
- package/dist/indexeddb-storage-BFt6hMeF.js.map +1 -0
- package/dist/indexeddb-storage-BK5tv4Sh.cjs +2 -0
- package/dist/indexeddb-storage-BK5tv4Sh.cjs.map +1 -0
- package/dist/memory-storage-C9HuoL2E.js +91 -0
- package/dist/memory-storage-C9HuoL2E.js.map +1 -0
- package/dist/memory-storage-Dao7jfYG.cjs +2 -0
- package/dist/memory-storage-Dao7jfYG.cjs.map +1 -0
- package/dist/secp256k1-BbKzbLtD.cjs +12 -0
- package/dist/secp256k1-BbKzbLtD.cjs.map +1 -0
- package/dist/secp256k1-CreY7Pcl.js +1890 -0
- package/dist/secp256k1-CreY7Pcl.js.map +1 -0
- package/docs/CONTRACTS.md +797 -0
- package/docs/FOSDEM_PROPOSAL.md +388 -0
- package/docs/LOCALFIRST.md +266 -0
- package/docs/api/ai_aggregation.js.html +333 -0
- package/docs/api/ai_breakdown.js.html +524 -0
- package/docs/api/ai_classifier.js.html +231 -0
- package/docs/api/ai_council.js.html +246 -0
- package/docs/api/ai_embeddings.js.html +304 -0
- package/docs/api/ai_federation-ai.js.html +338 -0
- package/docs/api/ai_h3-ai.js.html +970 -0
- package/docs/api/ai_index.js.html +124 -0
- package/docs/api/ai_json-ops.js.html +241 -0
- package/docs/api/ai_llm-service.js.html +239 -0
- package/docs/api/ai_nl-query.js.html +236 -0
- package/docs/api/ai_relationships.js.html +367 -0
- package/docs/api/ai_schema-extractor.js.html +235 -0
- package/docs/api/ai_spatial.js.html +307 -0
- package/docs/api/ai_tts.js.html +214 -0
- package/docs/api/content_social-protocols.js.html +180 -0
- package/docs/api/core_holosphere.js.html +757 -0
- package/docs/api/crypto_nostr-utils.js.html +306 -0
- package/docs/api/crypto_secp256k1.js.html +267 -0
- package/docs/api/data/search.json +1 -0
- package/docs/api/federation_discovery.js.html +337 -0
- package/docs/api/federation_handshake.js.html +478 -0
- package/docs/api/federation_hologram.js.html +1053 -0
- package/docs/api/federation_registry.js.html +389 -0
- package/docs/api/fonts/Inconsolata-Regular.ttf +0 -0
- package/docs/api/fonts/OpenSans-Regular.ttf +0 -0
- package/docs/api/fonts/WorkSans-Bold.ttf +0 -0
- package/docs/api/global.html +3 -0
- package/docs/api/hierarchical_upcast.js.html +128 -0
- package/docs/api/index.html +265 -0
- package/docs/api/index.js.html +1868 -0
- package/docs/api/lib_ai-methods.js.html +660 -0
- package/docs/api/lib_contract-methods.js.html +445 -0
- package/docs/api/lib_errors.js.html +56 -0
- package/docs/api/lib_federation-methods.js.html +348 -0
- package/docs/api/lib_index.js.html +33 -0
- package/docs/api/module-ai.html +5 -0
- package/docs/api/module-ai_aggregation-SmartAggregation.html +6 -0
- package/docs/api/module-ai_aggregation.SmartAggregation.html +3 -0
- package/docs/api/module-ai_aggregation.html +3 -0
- package/docs/api/module-ai_breakdown-TaskBreakdown.html +5 -0
- package/docs/api/module-ai_breakdown.TaskBreakdown.html +3 -0
- package/docs/api/module-ai_breakdown.html +3 -0
- package/docs/api/module-ai_classifier-Classifier.html +6 -0
- package/docs/api/module-ai_classifier.Classifier.html +3 -0
- package/docs/api/module-ai_classifier.html +3 -0
- package/docs/api/module-ai_council-Council.html +6 -0
- package/docs/api/module-ai_council.Council.html +3 -0
- package/docs/api/module-ai_council.html +3 -0
- package/docs/api/module-ai_embeddings-Embeddings.html +5 -0
- package/docs/api/module-ai_embeddings.Embeddings.html +3 -0
- package/docs/api/module-ai_embeddings.html +3 -0
- package/docs/api/module-ai_federation-ai-FederationAdvisor.html +6 -0
- package/docs/api/module-ai_federation-ai.FederationAdvisor.html +3 -0
- package/docs/api/module-ai_federation-ai.html +3 -0
- package/docs/api/module-ai_h3-ai-H3AI.html +6 -0
- package/docs/api/module-ai_h3-ai.H3AI.html +3 -0
- package/docs/api/module-ai_h3-ai.html +3 -0
- package/docs/api/module-ai_json-ops-JSONOps.html +5 -0
- package/docs/api/module-ai_json-ops.JSONOps.html +3 -0
- package/docs/api/module-ai_json-ops.html +3 -0
- package/docs/api/module-ai_llm-service-LLMService.html +5 -0
- package/docs/api/module-ai_llm-service.LLMService.html +3 -0
- package/docs/api/module-ai_llm-service.html +3 -0
- package/docs/api/module-ai_nl-query-NLQuery.html +5 -0
- package/docs/api/module-ai_nl-query.NLQuery.html +3 -0
- package/docs/api/module-ai_nl-query.html +3 -0
- package/docs/api/module-ai_relationships-RelationshipDiscovery.html +6 -0
- package/docs/api/module-ai_relationships.RelationshipDiscovery.html +3 -0
- package/docs/api/module-ai_relationships.html +3 -0
- package/docs/api/module-ai_schema-extractor-SchemaExtractor.html +5 -0
- package/docs/api/module-ai_schema-extractor.SchemaExtractor.html +3 -0
- package/docs/api/module-ai_schema-extractor.html +3 -0
- package/docs/api/module-ai_spatial-SpatialAnalysis.html +6 -0
- package/docs/api/module-ai_spatial.SpatialAnalysis.html +3 -0
- package/docs/api/module-ai_spatial.html +3 -0
- package/docs/api/module-ai_tts-TTS.html +5 -0
- package/docs/api/module-ai_tts.TTS.html +3 -0
- package/docs/api/module-ai_tts.html +3 -0
- package/docs/api/module-content_social-protocols.html +3 -0
- package/docs/api/module-core_holosphere-HoloSphere.html +6 -0
- package/docs/api/module-core_holosphere.HoloSphere.html +3 -0
- package/docs/api/module-core_holosphere.html +3 -0
- package/docs/api/module-crypto_nostr-utils.html +3 -0
- package/docs/api/module-crypto_secp256k1.html +3 -0
- package/docs/api/module-federation_hologram.html +3 -0
- package/docs/api/module-hierarchical_upcast.html +3 -0
- package/docs/api/module-holosphere-HoloSphereBase.html +3 -0
- package/docs/api/module-holosphere.html +3 -0
- package/docs/api/module-lib_ai-methods.html +3 -0
- package/docs/api/module-lib_contract-methods.html +3 -0
- package/docs/api/module-lib_errors-AuthorizationError.html +3 -0
- package/docs/api/module-lib_errors-ValidationError.html +3 -0
- package/docs/api/module-lib_errors.AuthorizationError.html +3 -0
- package/docs/api/module-lib_errors.ValidationError.html +3 -0
- package/docs/api/module-lib_errors.html +3 -0
- package/docs/api/module-lib_federation-methods.html +3 -0
- package/docs/api/module-lib_index.html +3 -0
- package/docs/api/module-schema_validator-ValidationError.html +3 -0
- package/docs/api/module-schema_validator.ValidationError.html +3 -0
- package/docs/api/module-schema_validator.html +3 -0
- package/docs/api/module-spatial_h3-operations.html +4 -0
- package/docs/api/module-storage_backend-factory.BackendFactory.html +3 -0
- package/docs/api/module-storage_backend-factory.html +3 -0
- package/docs/api/module-storage_backend-interface-StorageBackend.html +3 -0
- package/docs/api/module-storage_backend-interface.StorageBackend.html +3 -0
- package/docs/api/module-storage_backend-interface.html +3 -0
- package/docs/api/module-storage_backends_activitypub-backend-ActivityPubBackend.html +7 -0
- package/docs/api/module-storage_backends_activitypub-backend.ActivityPubBackend.html +3 -0
- package/docs/api/module-storage_backends_activitypub-backend.html +3 -0
- package/docs/api/module-storage_backends_activitypub_server-ActivityPubServer.html +8 -0
- package/docs/api/module-storage_backends_activitypub_server.ActivityPubServer.html +3 -0
- package/docs/api/module-storage_backends_activitypub_server.html +3 -0
- package/docs/api/module-storage_backends_gundb-backend-GunDBBackend.html +7 -0
- package/docs/api/module-storage_backends_gundb-backend.GunDBBackend.html +3 -0
- package/docs/api/module-storage_backends_gundb-backend.html +3 -0
- package/docs/api/module-storage_backends_nostr-backend-NostrBackend.html +8 -0
- package/docs/api/module-storage_backends_nostr-backend.NostrBackend.html +3 -0
- package/docs/api/module-storage_backends_nostr-backend.html +3 -0
- package/docs/api/module-storage_filesystem-storage-FileSystemStorage.html +5 -0
- package/docs/api/module-storage_filesystem-storage-browser-FileSystemStorage.html +3 -0
- package/docs/api/module-storage_filesystem-storage-browser.FileSystemStorage.html +3 -0
- package/docs/api/module-storage_filesystem-storage-browser.html +3 -0
- package/docs/api/module-storage_filesystem-storage.FileSystemStorage.html +3 -0
- package/docs/api/module-storage_filesystem-storage.html +3 -0
- package/docs/api/module-storage_global-tables.html +3 -0
- package/docs/api/module-storage_gun-async.html +3 -0
- package/docs/api/module-storage_gun-auth-GunAuth.html +5 -0
- package/docs/api/module-storage_gun-auth.GunAuth.html +3 -0
- package/docs/api/module-storage_gun-auth.html +3 -0
- package/docs/api/module-storage_gun-federation.html +3 -0
- package/docs/api/module-storage_gun-references-GunReferenceHandler.html +5 -0
- package/docs/api/module-storage_gun-references.GunReferenceHandler.html +3 -0
- package/docs/api/module-storage_gun-references.html +3 -0
- package/docs/api/module-storage_gun-schema-GunSchemaValidator.html +5 -0
- package/docs/api/module-storage_gun-schema.GunSchemaValidator.html +3 -0
- package/docs/api/module-storage_gun-schema.html +3 -0
- package/docs/api/module-storage_gun-wrapper.html +11 -0
- package/docs/api/module-storage_indexeddb-storage-IndexedDBStorage.html +5 -0
- package/docs/api/module-storage_indexeddb-storage.IndexedDBStorage.html +3 -0
- package/docs/api/module-storage_indexeddb-storage.html +3 -0
- package/docs/api/module-storage_key-storage-simple.html +3 -0
- package/docs/api/module-storage_key-storage.html +4 -0
- package/docs/api/module-storage_memory-storage-MemoryStorage.html +5 -0
- package/docs/api/module-storage_memory-storage.MemoryStorage.html +3 -0
- package/docs/api/module-storage_memory-storage.html +3 -0
- package/docs/api/module-storage_migration-MigrationTool.html +6 -0
- package/docs/api/module-storage_migration.MigrationTool.html +3 -0
- package/docs/api/module-storage_migration.html +3 -0
- package/docs/api/module-storage_nostr-async.html +18 -0
- package/docs/api/module-storage_nostr-client-LRUCache.html +3 -0
- package/docs/api/module-storage_nostr-client-NostrClient.html +7 -0
- package/docs/api/module-storage_nostr-client.NostrClient.html +15 -0
- package/docs/api/module-storage_nostr-client.html +6 -0
- package/docs/api/module-storage_nostr-wrapper.html +3 -0
- package/docs/api/module-storage_outbox-queue-OutboxQueue.html +4 -0
- package/docs/api/module-storage_outbox-queue.OutboxQueue.html +3 -0
- package/docs/api/module-storage_outbox-queue.html +3 -0
- package/docs/api/module-storage_persistent-storage-PersistentStorage.html +3 -0
- package/docs/api/module-storage_persistent-storage.html +4 -0
- package/docs/api/module-storage_sync-service-SyncService.html +5 -0
- package/docs/api/module-storage_sync-service.SyncService.html +3 -0
- package/docs/api/module-storage_sync-service.html +3 -0
- package/docs/api/module-storage_unified-storage.html +3 -0
- package/docs/api/module-subscriptions_manager.SubscriptionRegistry.html +3 -0
- package/docs/api/module-subscriptions_manager.html +3 -0
- package/docs/api/schema_validator.js.html +113 -0
- package/docs/api/scripts/core.js +726 -0
- package/docs/api/scripts/core.min.js +23 -0
- package/docs/api/scripts/resize.js +90 -0
- package/docs/api/scripts/search.js +265 -0
- package/docs/api/scripts/search.min.js +6 -0
- package/docs/api/scripts/third-party/Apache-License-2.0.txt +202 -0
- package/docs/api/scripts/third-party/fuse.js +9 -0
- package/docs/api/scripts/third-party/hljs-line-num-original.js +369 -0
- package/docs/api/scripts/third-party/hljs-line-num.js +1 -0
- package/docs/api/scripts/third-party/hljs-original.js +5171 -0
- package/docs/api/scripts/third-party/hljs.js +1 -0
- package/docs/api/scripts/third-party/popper.js +5 -0
- package/docs/api/scripts/third-party/tippy.js +1 -0
- package/docs/api/scripts/third-party/tocbot.js +672 -0
- package/docs/api/scripts/third-party/tocbot.min.js +1 -0
- package/docs/api/spatial_h3-operations.js.html +129 -0
- package/docs/api/storage_backend-factory.js.html +133 -0
- package/docs/api/storage_backend-interface.js.html +164 -0
- package/docs/api/storage_backends_activitypub-backend.js.html +298 -0
- package/docs/api/storage_backends_activitypub_server.js.html +678 -0
- package/docs/api/storage_backends_gundb-backend.js.html +878 -0
- package/docs/api/storage_backends_nostr-backend.js.html +254 -0
- package/docs/api/storage_filesystem-storage-browser.js.html +83 -0
- package/docs/api/storage_filesystem-storage.js.html +207 -0
- package/docs/api/storage_global-tables.js.html +116 -0
- package/docs/api/storage_gun-async.js.html +344 -0
- package/docs/api/storage_gun-auth.js.html +376 -0
- package/docs/api/storage_gun-federation.js.html +788 -0
- package/docs/api/storage_gun-references.js.html +212 -0
- package/docs/api/storage_gun-schema.js.html +309 -0
- package/docs/api/storage_gun-wrapper.js.html +645 -0
- package/docs/api/storage_indexeddb-storage.js.html +224 -0
- package/docs/api/storage_key-storage-simple.js.html +102 -0
- package/docs/api/storage_key-storage.js.html +171 -0
- package/docs/api/storage_memory-storage.js.html +128 -0
- package/docs/api/storage_migration.js.html +354 -0
- package/docs/api/storage_nostr-async.js.html +1076 -0
- package/docs/api/storage_nostr-client.js.html +1598 -0
- package/docs/api/storage_nostr-wrapper.js.html +218 -0
- package/docs/api/storage_outbox-queue.js.html +248 -0
- package/docs/api/storage_persistent-storage.js.html +160 -0
- package/docs/api/storage_sync-service.js.html +201 -0
- package/docs/api/storage_unified-storage.js.html +157 -0
- package/docs/api/styles/clean-jsdoc-theme-base.css +1159 -0
- package/docs/api/styles/clean-jsdoc-theme-dark.css +412 -0
- package/docs/api/styles/clean-jsdoc-theme-light.css +482 -0
- package/docs/api/styles/clean-jsdoc-theme-scrollbar.css +30 -0
- package/docs/api/styles/clean-jsdoc-theme-without-scrollbar.min.css +1 -0
- package/docs/api/styles/clean-jsdoc-theme.min.css +1 -0
- package/docs/api/subscriptions_manager.js.html +162 -0
- package/docs/contracts/api-interface.md +793 -0
- package/docs/data-model.md +476 -0
- package/docs/gun-async-usage.md +338 -0
- package/docs/plan.md +349 -0
- package/docs/quickstart.md +674 -0
- package/docs/research.md +362 -0
- package/docs/spec.md +244 -0
- package/docs/storage-backends.md +326 -0
- package/docs/tasks.md +947 -0
- package/examples/demo.html +47 -0
- package/examples/holosphere-widget.js +1242 -0
- package/examples/widget-demo.html +274 -0
- package/examples/widget.html +703 -0
- package/jsdoc.json +26 -0
- package/package.json +25 -7
- package/src/ai/aggregation.js +13 -2
- package/src/ai/breakdown.js +12 -2
- package/src/ai/classifier.js +14 -3
- package/src/ai/council.js +22 -7
- package/src/ai/embeddings.js +37 -15
- package/src/ai/federation-ai.js +13 -2
- package/src/ai/h3-ai.js +14 -2
- package/src/ai/index.js +16 -7
- package/src/ai/json-ops.js +18 -5
- package/src/ai/llm-service.js +62 -31
- package/src/ai/nl-query.js +12 -2
- package/src/ai/relationships.js +13 -2
- package/src/ai/schema-extractor.js +24 -10
- package/src/ai/spatial.js +13 -2
- package/src/ai/tts.js +25 -8
- package/src/cdn-entry.js +22 -0
- package/src/content/social-protocols.js +34 -25
- package/src/contracts/abis/Appreciative.json +1280 -0
- package/src/contracts/abis/AppreciativeFactory.json +101 -0
- package/src/contracts/abis/Bundle.json +1438 -0
- package/src/contracts/abis/BundleFactory.json +106 -0
- package/src/contracts/abis/Holon.json +881 -0
- package/src/contracts/abis/Holons.json +330 -0
- package/src/contracts/abis/Managed.json +1262 -0
- package/src/contracts/abis/ManagedFactory.json +149 -0
- package/src/contracts/abis/Membrane.json +261 -0
- package/src/contracts/abis/Splitter.json +1624 -0
- package/src/contracts/abis/SplitterFactory.json +220 -0
- package/src/contracts/abis/TestToken.json +321 -0
- package/src/contracts/abis/Zoned.json +1461 -0
- package/src/contracts/abis/ZonedFactory.json +154 -0
- package/src/contracts/chain-manager.js +403 -0
- package/src/contracts/deployer.js +500 -0
- package/src/contracts/event-listener.js +539 -0
- package/src/contracts/holon-contracts.js +359 -0
- package/src/contracts/index.js +82 -0
- package/src/contracts/networks.js +229 -0
- package/src/contracts/operations.js +687 -0
- package/src/contracts/queries.js +638 -0
- package/src/core/holosphere.js +487 -6
- package/src/crypto/nostr-utils.js +303 -0
- package/src/crypto/secp256k1.js +7 -2
- package/src/federation/handshake.js +475 -0
- package/src/federation/hologram.js +117 -3
- package/src/hierarchical/upcast.js +40 -25
- package/src/index.js +1501 -1909
- package/src/lib/ai-methods.js +657 -0
- package/src/lib/contract-methods.js +442 -0
- package/src/lib/errors.js +53 -0
- package/src/lib/federation-methods.js +345 -0
- package/src/lib/index.js +30 -0
- package/src/schema/validator.js +22 -3
- package/src/spatial/h3-operations.js +19 -3
- package/src/storage/backend-factory.js +7 -2
- package/src/storage/backend-interface.js +21 -2
- package/src/storage/backends/activitypub/server.js +25 -3
- package/src/storage/backends/activitypub-backend.js +25 -2
- package/src/storage/backends/gundb-backend.js +692 -50
- package/src/storage/backends/nostr-backend.js +116 -1
- package/src/storage/filesystem-storage-browser.js +42 -2
- package/src/storage/filesystem-storage.js +72 -5
- package/src/storage/global-tables.js +35 -3
- package/src/storage/gun-async.js +75 -15
- package/src/storage/gun-auth.js +373 -0
- package/src/storage/gun-federation.js +785 -0
- package/src/storage/gun-references.js +209 -0
- package/src/storage/gun-schema.js +306 -0
- package/src/storage/gun-wrapper.js +475 -54
- package/src/storage/indexeddb-storage.js +112 -13
- package/src/storage/key-storage-simple.js +32 -9
- package/src/storage/key-storage.js +45 -13
- package/src/storage/memory-storage.js +68 -2
- package/src/storage/migration.js +20 -7
- package/src/storage/nostr-async.js +412 -122
- package/src/storage/nostr-client.js +749 -76
- package/src/storage/nostr-wrapper.js +6 -2
- package/src/storage/outbox-queue.js +55 -18
- package/src/storage/persistent-storage.js +62 -14
- package/src/storage/sync-service.js +51 -17
- package/src/storage/unified-storage.js +154 -0
- package/src/subscriptions/manager.js +34 -17
- package/types/index.d.ts +133 -0
- package/vite.config.cdn.js +60 -0
- package/tests/unit/ai/aggregation.test.js +0 -295
- package/tests/unit/ai/breakdown.test.js +0 -446
- package/tests/unit/ai/classifier.test.js +0 -294
- package/tests/unit/ai/council.test.js +0 -262
- package/tests/unit/ai/embeddings.test.js +0 -384
- package/tests/unit/ai/federation-ai.test.js +0 -344
- package/tests/unit/ai/h3-ai.test.js +0 -458
- package/tests/unit/ai/index.test.js +0 -304
- package/tests/unit/ai/json-ops.test.js +0 -307
- package/tests/unit/ai/llm-service.test.js +0 -390
- package/tests/unit/ai/nl-query.test.js +0 -383
- package/tests/unit/ai/relationships.test.js +0 -311
- package/tests/unit/ai/schema-extractor.test.js +0 -384
- package/tests/unit/ai/spatial.test.js +0 -279
- package/tests/unit/ai/tts.test.js +0 -279
- package/tests/unit/content.test.js +0 -332
- package/tests/unit/contract/core.test.js +0 -88
- package/tests/unit/contract/crypto.test.js +0 -198
- package/tests/unit/contract/data.test.js +0 -223
- package/tests/unit/contract/federation.test.js +0 -181
- package/tests/unit/contract/hierarchical.test.js +0 -113
- package/tests/unit/contract/schema.test.js +0 -114
- package/tests/unit/contract/social.test.js +0 -217
- package/tests/unit/contract/spatial.test.js +0 -110
- package/tests/unit/contract/subscriptions.test.js +0 -128
- package/tests/unit/contract/utils.test.js +0 -159
- package/tests/unit/core.test.js +0 -152
- package/tests/unit/crypto.test.js +0 -328
- package/tests/unit/federation.test.js +0 -234
- package/tests/unit/gun-async.test.js +0 -252
- package/tests/unit/hierarchical.test.js +0 -399
- package/tests/unit/integration/scenario-01-geographic-storage.test.js +0 -74
- package/tests/unit/integration/scenario-02-federation.test.js +0 -76
- package/tests/unit/integration/scenario-03-subscriptions.test.js +0 -102
- package/tests/unit/integration/scenario-04-validation.test.js +0 -129
- package/tests/unit/integration/scenario-05-hierarchy.test.js +0 -125
- package/tests/unit/integration/scenario-06-social.test.js +0 -135
- package/tests/unit/integration/scenario-07-persistence.test.js +0 -130
- package/tests/unit/integration/scenario-08-authorization.test.js +0 -161
- package/tests/unit/integration/scenario-09-cross-dimensional.test.js +0 -139
- package/tests/unit/integration/scenario-10-cross-holosphere-capabilities.test.js +0 -357
- package/tests/unit/integration/scenario-11-cross-holosphere-federation.test.js +0 -410
- package/tests/unit/integration/scenario-12-capability-federated-read.test.js +0 -719
- package/tests/unit/performance/benchmark.test.js +0 -85
- package/tests/unit/schema.test.js +0 -213
- package/tests/unit/spatial.test.js +0 -158
- package/tests/unit/storage.test.js +0 -195
- package/tests/unit/subscriptions.test.js +0 -328
- package/tests/unit/test-data-permanence-debug.js +0 -197
- package/tests/unit/test-data-permanence.js +0 -340
- package/tests/unit/test-key-persistence-fixed.js +0 -148
- package/tests/unit/test-key-persistence.js +0 -172
- package/tests/unit/test-relay-permanence.js +0 -376
- package/tests/unit/test-second-node.js +0 -95
- package/tests/unit/test-simple-write.js +0 -89
- /package/{cleanup-test-data.js → scripts/cleanup-test-data.js} +0 -0
- /package/{test-ai-real-api.js → scripts/test-ai-real-api.js} +0 -0
package/src/ai/relationships.js
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @fileoverview Discover hidden connections and relationships across data.
|
|
3
|
+
* Provides relationship discovery, graph building, pattern detection, and connection suggestions.
|
|
4
|
+
* @module ai/relationships
|
|
3
5
|
*/
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
|
-
*
|
|
8
|
+
* Service class for discovering hidden connections and relationships in data.
|
|
9
|
+
* Identifies thematic, entity, temporal, causal, and geographic relationships,
|
|
10
|
+
* builds relationship graphs, and suggests collaboration opportunities.
|
|
11
|
+
*
|
|
12
|
+
* @class RelationshipDiscovery
|
|
13
|
+
* @example
|
|
14
|
+
* const discovery = new RelationshipDiscovery(llmService, holosphere, embeddings);
|
|
15
|
+
* const relationships = await discovery.discoverRelationships(holonId, 'projects');
|
|
16
|
+
* const similar = await discovery.findSimilar(item, holonId, 'quests');
|
|
17
|
+
* const graph = await discovery.buildGraph(holonId, 'events');
|
|
7
18
|
*/
|
|
8
19
|
export class RelationshipDiscovery {
|
|
9
20
|
/**
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @fileoverview Extract structured data from unstructured text using JSON schemas.
|
|
3
|
+
* Provides schema-based data extraction, validation, and field completion.
|
|
4
|
+
* @module ai/schema-extractor
|
|
3
5
|
*/
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
|
-
*
|
|
8
|
+
* Service class for extracting structured data from text using JSON schemas.
|
|
9
|
+
* Leverages LLM to parse unstructured content and map it to defined schemas.
|
|
10
|
+
*
|
|
11
|
+
* @class SchemaExtractor
|
|
12
|
+
* @example
|
|
13
|
+
* const extractor = new SchemaExtractor(llmService);
|
|
14
|
+
* const schema = { properties: { name: { type: "string" }, age: { type: "number" } } };
|
|
15
|
+
* const data = await extractor.extractToSchema(text, schema);
|
|
7
16
|
*/
|
|
8
17
|
export class SchemaExtractor {
|
|
9
18
|
/**
|
|
@@ -14,10 +23,13 @@ export class SchemaExtractor {
|
|
|
14
23
|
}
|
|
15
24
|
|
|
16
25
|
/**
|
|
17
|
-
* Extract data from text
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* @param {
|
|
26
|
+
* Extract structured data from text according to a JSON schema.
|
|
27
|
+
* Uses LLM to intelligently parse unstructured text and map to schema fields.
|
|
28
|
+
*
|
|
29
|
+
* @param {string} text - Unstructured text to extract from
|
|
30
|
+
* @param {Object} schema - JSON schema defining target structure
|
|
31
|
+
* @param {Object} [options={}] - Extraction options
|
|
32
|
+
* @param {number} [options.maxTokens=2000] - Maximum tokens for response
|
|
21
33
|
* @returns {Promise<Object>} Extracted data conforming to schema
|
|
22
34
|
*/
|
|
23
35
|
async extractToSchema(text, schema, options = {}) {
|
|
@@ -157,10 +169,12 @@ Return JSON with ONLY the missing fields that you can extract. Do not modify exi
|
|
|
157
169
|
}
|
|
158
170
|
|
|
159
171
|
/**
|
|
160
|
-
* Validate extracted data against schema
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
* @
|
|
172
|
+
* Validate extracted data against a JSON schema.
|
|
173
|
+
* Performs basic type checking and required field validation.
|
|
174
|
+
*
|
|
175
|
+
* @param {Object} data - Extracted data to validate
|
|
176
|
+
* @param {Object} schema - JSON schema to validate against
|
|
177
|
+
* @returns {{valid: boolean, errors: string[]}} Validation result with error list
|
|
164
178
|
*/
|
|
165
179
|
validateExtraction(data, schema) {
|
|
166
180
|
const errors = [];
|
package/src/ai/spatial.js
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @fileoverview AI-powered spatial analysis of data patterns across geographic regions.
|
|
3
|
+
* Provides region analysis, comparison, trend detection, hotspot identification, and reporting.
|
|
4
|
+
* @module ai/spatial
|
|
3
5
|
*/
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
|
-
*
|
|
8
|
+
* Service class for analyzing spatial data patterns across geographic regions.
|
|
9
|
+
* Identifies trends, compares regions, finds hotspots, and generates comprehensive
|
|
10
|
+
* spatial reports using AI-driven analysis.
|
|
11
|
+
*
|
|
12
|
+
* @class SpatialAnalysis
|
|
13
|
+
* @example
|
|
14
|
+
* const spatial = new SpatialAnalysis(llmService, holosphere);
|
|
15
|
+
* const analysis = await spatial.analyzeRegion(holonId, 'projects', 'activity');
|
|
16
|
+
* const comparison = await spatial.compareRegions(holon1, holon2, 'quests');
|
|
17
|
+
* const trends = await spatial.spatialTrends(holonId, 'events', { start: '2024-01-01' });
|
|
7
18
|
*/
|
|
8
19
|
export class SpatialAnalysis {
|
|
9
20
|
/**
|
package/src/ai/tts.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @fileoverview OpenAI text-to-speech integration for audio generation.
|
|
3
|
+
* Provides methods for converting text to speech with various voices and formats.
|
|
4
|
+
* @module ai/tts
|
|
3
5
|
*/
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
|
-
* Available
|
|
8
|
+
* Available voice options for text-to-speech.
|
|
9
|
+
* @enum {string}
|
|
7
10
|
*/
|
|
8
11
|
export const VOICES = {
|
|
9
12
|
ALLOY: 'alloy',
|
|
@@ -15,7 +18,8 @@ export const VOICES = {
|
|
|
15
18
|
};
|
|
16
19
|
|
|
17
20
|
/**
|
|
18
|
-
* Available TTS
|
|
21
|
+
* Available TTS model options.
|
|
22
|
+
* @enum {string}
|
|
19
23
|
*/
|
|
20
24
|
export const MODELS = {
|
|
21
25
|
TTS_1: 'tts-1',
|
|
@@ -23,7 +27,14 @@ export const MODELS = {
|
|
|
23
27
|
};
|
|
24
28
|
|
|
25
29
|
/**
|
|
26
|
-
*
|
|
30
|
+
* Service class for converting text to speech using OpenAI's TTS API.
|
|
31
|
+
* Supports multiple voices, output formats, and handles long text with automatic chunking.
|
|
32
|
+
*
|
|
33
|
+
* @class TTS
|
|
34
|
+
* @example
|
|
35
|
+
* const tts = new TTS(openaiClient);
|
|
36
|
+
* const audioBuffer = await tts.speak("Hello world", { voice: VOICES.NOVA });
|
|
37
|
+
* const dataUrl = await tts.speakDataUrl("Hello", { voice: VOICES.ECHO });
|
|
27
38
|
*/
|
|
28
39
|
export class TTS {
|
|
29
40
|
/**
|
|
@@ -36,10 +47,16 @@ export class TTS {
|
|
|
36
47
|
}
|
|
37
48
|
|
|
38
49
|
/**
|
|
39
|
-
* Convert text to speech
|
|
40
|
-
*
|
|
41
|
-
* @param {
|
|
42
|
-
* @
|
|
50
|
+
* Convert text to speech audio.
|
|
51
|
+
*
|
|
52
|
+
* @param {string} text - Text to convert to speech
|
|
53
|
+
* @param {Object} [options={}] - TTS generation options
|
|
54
|
+
* @param {string} [options.voice] - Voice to use (from VOICES enum)
|
|
55
|
+
* @param {string} [options.model] - Model to use (from MODELS enum)
|
|
56
|
+
* @param {number} [options.speed=1.0] - Speech speed (0.25 to 4.0)
|
|
57
|
+
* @param {string} [options.responseFormat='mp3'] - Audio format (mp3, opus, aac, flac)
|
|
58
|
+
* @returns {Promise<Buffer>} Audio buffer
|
|
59
|
+
* @throws {Error} If TTS generation fails
|
|
43
60
|
*/
|
|
44
61
|
async speak(text, options = {}) {
|
|
45
62
|
const {
|
package/src/cdn-entry.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDN Entry Point for HoloSphere
|
|
3
|
+
*
|
|
4
|
+
* This file creates a clean global API for browser usage.
|
|
5
|
+
* After including the script, use: new HoloSphere({ appName: 'my-app' })
|
|
6
|
+
*
|
|
7
|
+
* Also exposes h3 library as window.h3 for hexagon visualization.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
// Import the main class
|
|
11
|
+
import { HoloSphere } from './index.js';
|
|
12
|
+
|
|
13
|
+
// Import h3-js for hexagon boundary visualization
|
|
14
|
+
import * as h3 from 'h3-js';
|
|
15
|
+
|
|
16
|
+
// Expose h3 globally for widget use
|
|
17
|
+
if (typeof window !== 'undefined') {
|
|
18
|
+
window.h3 = h3;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// Export only the main class as default
|
|
22
|
+
export default HoloSphere;
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Social
|
|
2
|
+
* @fileoverview Social protocol adapters for Nostr (NIP-01) and ActivityPub formats.
|
|
3
|
+
* Provides validation, transformation, and filtering utilities for social content integration.
|
|
4
|
+
* @module content/social-protocols
|
|
3
5
|
*/
|
|
4
6
|
|
|
5
7
|
// Import ValidationError from the validator module
|
|
6
8
|
import { ValidationError } from '../schema/validator.js';
|
|
7
9
|
|
|
8
10
|
/**
|
|
9
|
-
* Validate Nostr NIP-01 event format
|
|
10
|
-
*
|
|
11
|
-
* @param {
|
|
12
|
-
* @
|
|
13
|
-
* @
|
|
11
|
+
* Validate Nostr NIP-01 event format.
|
|
12
|
+
* Checks required fields (kind, tags, content, created_at) and optionally id, pubkey, sig.
|
|
13
|
+
* @param {Object} event - Nostr event object to validate
|
|
14
|
+
* @param {boolean} [partial=true] - Allow partial events (missing id, pubkey, sig for signing)
|
|
15
|
+
* @param {boolean} [throwOnError=false] - Throw ValidationError on failure instead of returning false
|
|
16
|
+
* @returns {boolean} True if valid, false otherwise (unless throwOnError is true)
|
|
17
|
+
* @throws {ValidationError} If validation fails and throwOnError is true
|
|
14
18
|
*/
|
|
15
19
|
export function validateNostrEvent(event, partial = true, throwOnError = false) {
|
|
16
20
|
if (!event || typeof event !== 'object') {
|
|
@@ -56,12 +60,13 @@ export function validateNostrEvent(event, partial = true, throwOnError = false)
|
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
/**
|
|
59
|
-
* Validate ActivityPub object format
|
|
60
|
-
* @
|
|
61
|
-
* @param {
|
|
62
|
-
* @param {boolean}
|
|
63
|
-
* @
|
|
64
|
-
* @
|
|
63
|
+
* Validate ActivityPub object format.
|
|
64
|
+
* Checks for required @context and type fields, optionally validates id field.
|
|
65
|
+
* @param {Object} object - ActivityPub object to validate
|
|
66
|
+
* @param {boolean} [throwOnError=false] - Throw ValidationError on failure instead of returning false
|
|
67
|
+
* @param {boolean} [requireId=false] - Require id field (default: false, will be auto-generated)
|
|
68
|
+
* @returns {boolean} True if valid, false otherwise (unless throwOnError is true)
|
|
69
|
+
* @throws {ValidationError} If validation fails and throwOnError is true
|
|
65
70
|
*/
|
|
66
71
|
export function validateActivityPubObject(object, throwOnError = false, requireId = false) {
|
|
67
72
|
if (!object || typeof object !== 'object') {
|
|
@@ -85,9 +90,10 @@ export function validateActivityPubObject(object, throwOnError = false, requireI
|
|
|
85
90
|
}
|
|
86
91
|
|
|
87
92
|
/**
|
|
88
|
-
* Transform Nostr event to HoloSphere format
|
|
89
|
-
*
|
|
90
|
-
* @
|
|
93
|
+
* Transform Nostr event to HoloSphere storage format.
|
|
94
|
+
* Normalizes Nostr events and adds metadata for HoloSphere compatibility.
|
|
95
|
+
* @param {Object} event - Nostr NIP-01 event object
|
|
96
|
+
* @returns {Object} HoloSphere data object with protocol metadata
|
|
91
97
|
*/
|
|
92
98
|
export function transformNostrEvent(event) {
|
|
93
99
|
// Generate missing fields if needed
|
|
@@ -115,9 +121,10 @@ export function transformNostrEvent(event) {
|
|
|
115
121
|
}
|
|
116
122
|
|
|
117
123
|
/**
|
|
118
|
-
* Transform ActivityPub object to HoloSphere format
|
|
124
|
+
* Transform ActivityPub object to HoloSphere storage format.
|
|
125
|
+
* Normalizes ActivityPub objects and adds metadata for HoloSphere compatibility.
|
|
119
126
|
* @param {Object} object - ActivityPub object
|
|
120
|
-
* @returns {Object} HoloSphere data object
|
|
127
|
+
* @returns {Object} HoloSphere data object with protocol metadata
|
|
121
128
|
*/
|
|
122
129
|
export function transformActivityPubObject(object) {
|
|
123
130
|
// Generate ID if not provided
|
|
@@ -139,10 +146,11 @@ export function transformActivityPubObject(object) {
|
|
|
139
146
|
}
|
|
140
147
|
|
|
141
148
|
/**
|
|
142
|
-
* Filter social content by access level
|
|
143
|
-
*
|
|
144
|
-
* @param {
|
|
145
|
-
* @
|
|
149
|
+
* Filter social content by access level.
|
|
150
|
+
* Returns items matching the specified access level or all items if no level specified.
|
|
151
|
+
* @param {Object[]} content - Array of social content items
|
|
152
|
+
* @param {string} accessLevel - Access level to filter by (e.g., 'public', 'private')
|
|
153
|
+
* @returns {Object[]} Filtered content array
|
|
146
154
|
*/
|
|
147
155
|
export function filterByAccessLevel(content, accessLevel) {
|
|
148
156
|
if (!accessLevel) return content;
|
|
@@ -153,10 +161,11 @@ export function filterByAccessLevel(content, accessLevel) {
|
|
|
153
161
|
}
|
|
154
162
|
|
|
155
163
|
/**
|
|
156
|
-
* Filter social content by protocol
|
|
157
|
-
*
|
|
158
|
-
* @param {
|
|
159
|
-
* @
|
|
164
|
+
* Filter social content by protocol type.
|
|
165
|
+
* Returns items matching the specified protocol or all items if 'all' is specified.
|
|
166
|
+
* @param {Object[]} content - Array of social content items
|
|
167
|
+
* @param {string} protocol - Protocol to filter by ('nostr', 'activitypub', or 'all')
|
|
168
|
+
* @returns {Object[]} Filtered content array
|
|
160
169
|
*/
|
|
161
170
|
export function filterByProtocol(content, protocol) {
|
|
162
171
|
if (!protocol || protocol === 'all') return content;
|