holosphere 2.0.0-alpha8 → 2.0.0-alpha9

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 (321) hide show
  1. package/CHANGELOG.md +446 -0
  2. package/FEATURES.md +431 -0
  3. package/LICENSE +29 -166
  4. package/LICENSE-AGPL.md +180 -0
  5. package/dist/cdn/holosphere.min.js +55 -0
  6. package/dist/cdn/holosphere.min.js.map +1 -0
  7. package/dist/cjs/holosphere.cjs +1 -1
  8. package/dist/esm/holosphere.js +1 -1
  9. package/dist/{index-CKffQDmQ.cjs → index-DDGt_V9o.cjs} +2 -2
  10. package/dist/{index-CKffQDmQ.cjs.map → index-DDGt_V9o.cjs.map} +1 -1
  11. package/dist/{index-4XHHKe6S.js → index-DJXftyvB.js} +1905 -337
  12. package/dist/index-DJXftyvB.js.map +1 -0
  13. package/dist/{index-Dz5kOZMI.cjs → index-DMbdcMtK.cjs} +17 -4
  14. package/dist/index-DMbdcMtK.cjs.map +1 -0
  15. package/dist/{index-BjP1TXGz.js → index-DeZ1xz_s.js} +2 -2
  16. package/dist/{index-BjP1TXGz.js.map → index-DeZ1xz_s.js.map} +1 -1
  17. package/dist/{indexeddb-storage-lExjjFlV.js → indexeddb-storage-BFt6hMeF.js} +48 -4
  18. package/dist/indexeddb-storage-BFt6hMeF.js.map +1 -0
  19. package/dist/{indexeddb-storage-DD7EFBVc.cjs → indexeddb-storage-BK5tv4Sh.cjs} +2 -2
  20. package/dist/indexeddb-storage-BK5tv4Sh.cjs.map +1 -0
  21. package/dist/{memory-storage-C68adso2.js → memory-storage-C9HuoL2E.js} +44 -4
  22. package/dist/memory-storage-C9HuoL2E.js.map +1 -0
  23. package/dist/{memory-storage-DD_6yyXT.cjs → memory-storage-Dao7jfYG.cjs} +2 -2
  24. package/dist/memory-storage-Dao7jfYG.cjs.map +1 -0
  25. package/dist/{secp256k1-DYELiqgx.cjs → secp256k1-BbKzbLtD.cjs} +2 -2
  26. package/dist/{secp256k1-DYELiqgx.cjs.map → secp256k1-BbKzbLtD.cjs.map} +1 -1
  27. package/dist/{secp256k1-OM8siPyy.js → secp256k1-CreY7Pcl.js} +2 -2
  28. package/dist/{secp256k1-OM8siPyy.js.map → secp256k1-CreY7Pcl.js.map} +1 -1
  29. package/docs/api/ai_aggregation.js.html +333 -0
  30. package/docs/api/ai_breakdown.js.html +524 -0
  31. package/docs/api/ai_classifier.js.html +231 -0
  32. package/docs/api/ai_council.js.html +246 -0
  33. package/docs/api/ai_embeddings.js.html +304 -0
  34. package/docs/api/ai_federation-ai.js.html +338 -0
  35. package/docs/api/ai_h3-ai.js.html +970 -0
  36. package/docs/api/ai_index.js.html +124 -0
  37. package/docs/api/ai_json-ops.js.html +241 -0
  38. package/docs/api/ai_llm-service.js.html +239 -0
  39. package/docs/api/ai_nl-query.js.html +236 -0
  40. package/docs/api/ai_relationships.js.html +367 -0
  41. package/docs/api/ai_schema-extractor.js.html +235 -0
  42. package/docs/api/ai_spatial.js.html +307 -0
  43. package/docs/api/ai_tts.js.html +214 -0
  44. package/docs/api/content_social-protocols.js.html +180 -0
  45. package/docs/api/core_holosphere.js.html +757 -0
  46. package/docs/api/crypto_nostr-utils.js.html +306 -0
  47. package/docs/api/crypto_secp256k1.js.html +267 -0
  48. package/docs/api/data/search.json +1 -0
  49. package/docs/api/federation_discovery.js.html +337 -0
  50. package/docs/api/federation_handshake.js.html +478 -0
  51. package/docs/api/federation_hologram.js.html +1053 -0
  52. package/docs/api/federation_registry.js.html +389 -0
  53. package/docs/api/fonts/Inconsolata-Regular.ttf +0 -0
  54. package/docs/api/fonts/OpenSans-Regular.ttf +0 -0
  55. package/docs/api/fonts/WorkSans-Bold.ttf +0 -0
  56. package/docs/api/global.html +3 -0
  57. package/docs/api/hierarchical_upcast.js.html +128 -0
  58. package/docs/api/index.html +265 -0
  59. package/docs/api/index.js.html +1868 -0
  60. package/docs/api/lib_ai-methods.js.html +660 -0
  61. package/docs/api/lib_contract-methods.js.html +445 -0
  62. package/docs/api/lib_errors.js.html +56 -0
  63. package/docs/api/lib_federation-methods.js.html +348 -0
  64. package/docs/api/lib_index.js.html +33 -0
  65. package/docs/api/module-ai.html +5 -0
  66. package/docs/api/module-ai_aggregation-SmartAggregation.html +6 -0
  67. package/docs/api/module-ai_aggregation.SmartAggregation.html +3 -0
  68. package/docs/api/module-ai_aggregation.html +3 -0
  69. package/docs/api/module-ai_breakdown-TaskBreakdown.html +5 -0
  70. package/docs/api/module-ai_breakdown.TaskBreakdown.html +3 -0
  71. package/docs/api/module-ai_breakdown.html +3 -0
  72. package/docs/api/module-ai_classifier-Classifier.html +6 -0
  73. package/docs/api/module-ai_classifier.Classifier.html +3 -0
  74. package/docs/api/module-ai_classifier.html +3 -0
  75. package/docs/api/module-ai_council-Council.html +6 -0
  76. package/docs/api/module-ai_council.Council.html +3 -0
  77. package/docs/api/module-ai_council.html +3 -0
  78. package/docs/api/module-ai_embeddings-Embeddings.html +5 -0
  79. package/docs/api/module-ai_embeddings.Embeddings.html +3 -0
  80. package/docs/api/module-ai_embeddings.html +3 -0
  81. package/docs/api/module-ai_federation-ai-FederationAdvisor.html +6 -0
  82. package/docs/api/module-ai_federation-ai.FederationAdvisor.html +3 -0
  83. package/docs/api/module-ai_federation-ai.html +3 -0
  84. package/docs/api/module-ai_h3-ai-H3AI.html +6 -0
  85. package/docs/api/module-ai_h3-ai.H3AI.html +3 -0
  86. package/docs/api/module-ai_h3-ai.html +3 -0
  87. package/docs/api/module-ai_json-ops-JSONOps.html +5 -0
  88. package/docs/api/module-ai_json-ops.JSONOps.html +3 -0
  89. package/docs/api/module-ai_json-ops.html +3 -0
  90. package/docs/api/module-ai_llm-service-LLMService.html +5 -0
  91. package/docs/api/module-ai_llm-service.LLMService.html +3 -0
  92. package/docs/api/module-ai_llm-service.html +3 -0
  93. package/docs/api/module-ai_nl-query-NLQuery.html +5 -0
  94. package/docs/api/module-ai_nl-query.NLQuery.html +3 -0
  95. package/docs/api/module-ai_nl-query.html +3 -0
  96. package/docs/api/module-ai_relationships-RelationshipDiscovery.html +6 -0
  97. package/docs/api/module-ai_relationships.RelationshipDiscovery.html +3 -0
  98. package/docs/api/module-ai_relationships.html +3 -0
  99. package/docs/api/module-ai_schema-extractor-SchemaExtractor.html +5 -0
  100. package/docs/api/module-ai_schema-extractor.SchemaExtractor.html +3 -0
  101. package/docs/api/module-ai_schema-extractor.html +3 -0
  102. package/docs/api/module-ai_spatial-SpatialAnalysis.html +6 -0
  103. package/docs/api/module-ai_spatial.SpatialAnalysis.html +3 -0
  104. package/docs/api/module-ai_spatial.html +3 -0
  105. package/docs/api/module-ai_tts-TTS.html +5 -0
  106. package/docs/api/module-ai_tts.TTS.html +3 -0
  107. package/docs/api/module-ai_tts.html +3 -0
  108. package/docs/api/module-content_social-protocols.html +3 -0
  109. package/docs/api/module-core_holosphere-HoloSphere.html +6 -0
  110. package/docs/api/module-core_holosphere.HoloSphere.html +3 -0
  111. package/docs/api/module-core_holosphere.html +3 -0
  112. package/docs/api/module-crypto_nostr-utils.html +3 -0
  113. package/docs/api/module-crypto_secp256k1.html +3 -0
  114. package/docs/api/module-federation_hologram.html +3 -0
  115. package/docs/api/module-hierarchical_upcast.html +3 -0
  116. package/docs/api/module-holosphere-HoloSphereBase.html +3 -0
  117. package/docs/api/module-holosphere.html +3 -0
  118. package/docs/api/module-lib_ai-methods.html +3 -0
  119. package/docs/api/module-lib_contract-methods.html +3 -0
  120. package/docs/api/module-lib_errors-AuthorizationError.html +3 -0
  121. package/docs/api/module-lib_errors-ValidationError.html +3 -0
  122. package/docs/api/module-lib_errors.AuthorizationError.html +3 -0
  123. package/docs/api/module-lib_errors.ValidationError.html +3 -0
  124. package/docs/api/module-lib_errors.html +3 -0
  125. package/docs/api/module-lib_federation-methods.html +3 -0
  126. package/docs/api/module-lib_index.html +3 -0
  127. package/docs/api/module-schema_validator-ValidationError.html +3 -0
  128. package/docs/api/module-schema_validator.ValidationError.html +3 -0
  129. package/docs/api/module-schema_validator.html +3 -0
  130. package/docs/api/module-spatial_h3-operations.html +4 -0
  131. package/docs/api/module-storage_backend-factory.BackendFactory.html +3 -0
  132. package/docs/api/module-storage_backend-factory.html +3 -0
  133. package/docs/api/module-storage_backend-interface-StorageBackend.html +3 -0
  134. package/docs/api/module-storage_backend-interface.StorageBackend.html +3 -0
  135. package/docs/api/module-storage_backend-interface.html +3 -0
  136. package/docs/api/module-storage_backends_activitypub-backend-ActivityPubBackend.html +7 -0
  137. package/docs/api/module-storage_backends_activitypub-backend.ActivityPubBackend.html +3 -0
  138. package/docs/api/module-storage_backends_activitypub-backend.html +3 -0
  139. package/docs/api/module-storage_backends_activitypub_server-ActivityPubServer.html +8 -0
  140. package/docs/api/module-storage_backends_activitypub_server.ActivityPubServer.html +3 -0
  141. package/docs/api/module-storage_backends_activitypub_server.html +3 -0
  142. package/docs/api/module-storage_backends_gundb-backend-GunDBBackend.html +7 -0
  143. package/docs/api/module-storage_backends_gundb-backend.GunDBBackend.html +3 -0
  144. package/docs/api/module-storage_backends_gundb-backend.html +3 -0
  145. package/docs/api/module-storage_backends_nostr-backend-NostrBackend.html +8 -0
  146. package/docs/api/module-storage_backends_nostr-backend.NostrBackend.html +3 -0
  147. package/docs/api/module-storage_backends_nostr-backend.html +3 -0
  148. package/docs/api/module-storage_filesystem-storage-FileSystemStorage.html +5 -0
  149. package/docs/api/module-storage_filesystem-storage-browser-FileSystemStorage.html +3 -0
  150. package/docs/api/module-storage_filesystem-storage-browser.FileSystemStorage.html +3 -0
  151. package/docs/api/module-storage_filesystem-storage-browser.html +3 -0
  152. package/docs/api/module-storage_filesystem-storage.FileSystemStorage.html +3 -0
  153. package/docs/api/module-storage_filesystem-storage.html +3 -0
  154. package/docs/api/module-storage_global-tables.html +3 -0
  155. package/docs/api/module-storage_gun-async.html +3 -0
  156. package/docs/api/module-storage_gun-auth-GunAuth.html +5 -0
  157. package/docs/api/module-storage_gun-auth.GunAuth.html +3 -0
  158. package/docs/api/module-storage_gun-auth.html +3 -0
  159. package/docs/api/module-storage_gun-federation.html +3 -0
  160. package/docs/api/module-storage_gun-references-GunReferenceHandler.html +5 -0
  161. package/docs/api/module-storage_gun-references.GunReferenceHandler.html +3 -0
  162. package/docs/api/module-storage_gun-references.html +3 -0
  163. package/docs/api/module-storage_gun-schema-GunSchemaValidator.html +5 -0
  164. package/docs/api/module-storage_gun-schema.GunSchemaValidator.html +3 -0
  165. package/docs/api/module-storage_gun-schema.html +3 -0
  166. package/docs/api/module-storage_gun-wrapper.html +11 -0
  167. package/docs/api/module-storage_indexeddb-storage-IndexedDBStorage.html +5 -0
  168. package/docs/api/module-storage_indexeddb-storage.IndexedDBStorage.html +3 -0
  169. package/docs/api/module-storage_indexeddb-storage.html +3 -0
  170. package/docs/api/module-storage_key-storage-simple.html +3 -0
  171. package/docs/api/module-storage_key-storage.html +4 -0
  172. package/docs/api/module-storage_memory-storage-MemoryStorage.html +5 -0
  173. package/docs/api/module-storage_memory-storage.MemoryStorage.html +3 -0
  174. package/docs/api/module-storage_memory-storage.html +3 -0
  175. package/docs/api/module-storage_migration-MigrationTool.html +6 -0
  176. package/docs/api/module-storage_migration.MigrationTool.html +3 -0
  177. package/docs/api/module-storage_migration.html +3 -0
  178. package/docs/api/module-storage_nostr-async.html +18 -0
  179. package/docs/api/module-storage_nostr-client-LRUCache.html +3 -0
  180. package/docs/api/module-storage_nostr-client-NostrClient.html +7 -0
  181. package/docs/api/module-storage_nostr-client.NostrClient.html +15 -0
  182. package/docs/api/module-storage_nostr-client.html +6 -0
  183. package/docs/api/module-storage_nostr-wrapper.html +3 -0
  184. package/docs/api/module-storage_outbox-queue-OutboxQueue.html +4 -0
  185. package/docs/api/module-storage_outbox-queue.OutboxQueue.html +3 -0
  186. package/docs/api/module-storage_outbox-queue.html +3 -0
  187. package/docs/api/module-storage_persistent-storage-PersistentStorage.html +3 -0
  188. package/docs/api/module-storage_persistent-storage.html +4 -0
  189. package/docs/api/module-storage_sync-service-SyncService.html +5 -0
  190. package/docs/api/module-storage_sync-service.SyncService.html +3 -0
  191. package/docs/api/module-storage_sync-service.html +3 -0
  192. package/docs/api/module-storage_unified-storage.html +3 -0
  193. package/docs/api/module-subscriptions_manager.SubscriptionRegistry.html +3 -0
  194. package/docs/api/module-subscriptions_manager.html +3 -0
  195. package/docs/api/schema_validator.js.html +113 -0
  196. package/docs/api/scripts/core.js +726 -0
  197. package/docs/api/scripts/core.min.js +23 -0
  198. package/docs/api/scripts/resize.js +90 -0
  199. package/docs/api/scripts/search.js +265 -0
  200. package/docs/api/scripts/search.min.js +6 -0
  201. package/docs/api/scripts/third-party/Apache-License-2.0.txt +202 -0
  202. package/docs/api/scripts/third-party/fuse.js +9 -0
  203. package/docs/api/scripts/third-party/hljs-line-num-original.js +369 -0
  204. package/docs/api/scripts/third-party/hljs-line-num.js +1 -0
  205. package/docs/api/scripts/third-party/hljs-original.js +5171 -0
  206. package/docs/api/scripts/third-party/hljs.js +1 -0
  207. package/docs/api/scripts/third-party/popper.js +5 -0
  208. package/docs/api/scripts/third-party/tippy.js +1 -0
  209. package/docs/api/scripts/third-party/tocbot.js +672 -0
  210. package/docs/api/scripts/third-party/tocbot.min.js +1 -0
  211. package/docs/api/spatial_h3-operations.js.html +129 -0
  212. package/docs/api/storage_backend-factory.js.html +133 -0
  213. package/docs/api/storage_backend-interface.js.html +164 -0
  214. package/docs/api/storage_backends_activitypub-backend.js.html +298 -0
  215. package/docs/api/storage_backends_activitypub_server.js.html +678 -0
  216. package/docs/api/storage_backends_gundb-backend.js.html +878 -0
  217. package/docs/api/storage_backends_nostr-backend.js.html +254 -0
  218. package/docs/api/storage_filesystem-storage-browser.js.html +83 -0
  219. package/docs/api/storage_filesystem-storage.js.html +207 -0
  220. package/docs/api/storage_global-tables.js.html +116 -0
  221. package/docs/api/storage_gun-async.js.html +344 -0
  222. package/docs/api/storage_gun-auth.js.html +376 -0
  223. package/docs/api/storage_gun-federation.js.html +788 -0
  224. package/docs/api/storage_gun-references.js.html +212 -0
  225. package/docs/api/storage_gun-schema.js.html +309 -0
  226. package/docs/api/storage_gun-wrapper.js.html +645 -0
  227. package/docs/api/storage_indexeddb-storage.js.html +224 -0
  228. package/docs/api/storage_key-storage-simple.js.html +102 -0
  229. package/docs/api/storage_key-storage.js.html +171 -0
  230. package/docs/api/storage_memory-storage.js.html +128 -0
  231. package/docs/api/storage_migration.js.html +354 -0
  232. package/docs/api/storage_nostr-async.js.html +1076 -0
  233. package/docs/api/storage_nostr-client.js.html +1598 -0
  234. package/docs/api/storage_nostr-wrapper.js.html +218 -0
  235. package/docs/api/storage_outbox-queue.js.html +248 -0
  236. package/docs/api/storage_persistent-storage.js.html +160 -0
  237. package/docs/api/storage_sync-service.js.html +201 -0
  238. package/docs/api/storage_unified-storage.js.html +157 -0
  239. package/docs/api/styles/clean-jsdoc-theme-base.css +1159 -0
  240. package/docs/api/styles/clean-jsdoc-theme-dark.css +412 -0
  241. package/docs/api/styles/clean-jsdoc-theme-light.css +482 -0
  242. package/docs/api/styles/clean-jsdoc-theme-scrollbar.css +30 -0
  243. package/docs/api/styles/clean-jsdoc-theme-without-scrollbar.min.css +1 -0
  244. package/docs/api/styles/clean-jsdoc-theme.min.css +1 -0
  245. package/docs/api/subscriptions_manager.js.html +162 -0
  246. package/jsdoc.json +26 -0
  247. package/package.json +14 -3
  248. package/src/ai/aggregation.js +13 -2
  249. package/src/ai/breakdown.js +12 -2
  250. package/src/ai/classifier.js +14 -3
  251. package/src/ai/council.js +22 -7
  252. package/src/ai/embeddings.js +37 -15
  253. package/src/ai/federation-ai.js +13 -2
  254. package/src/ai/h3-ai.js +14 -2
  255. package/src/ai/index.js +16 -7
  256. package/src/ai/json-ops.js +18 -5
  257. package/src/ai/llm-service.js +62 -31
  258. package/src/ai/nl-query.js +12 -2
  259. package/src/ai/relationships.js +13 -2
  260. package/src/ai/schema-extractor.js +24 -10
  261. package/src/ai/spatial.js +13 -2
  262. package/src/ai/tts.js +25 -8
  263. package/src/content/social-protocols.js +34 -25
  264. package/src/contracts/chain-manager.js +68 -40
  265. package/src/contracts/deployer.js +70 -42
  266. package/src/contracts/event-listener.js +61 -29
  267. package/src/contracts/holon-contracts.js +46 -31
  268. package/src/contracts/index.js +5 -6
  269. package/src/contracts/networks.js +19 -14
  270. package/src/contracts/operations.js +58 -41
  271. package/src/contracts/queries.js +54 -20
  272. package/src/core/holosphere.js +35 -6
  273. package/src/crypto/nostr-utils.js +82 -76
  274. package/src/crypto/secp256k1.js +7 -2
  275. package/src/federation/handshake.js +7 -7
  276. package/src/federation/hologram.js +9 -1
  277. package/src/hierarchical/upcast.js +34 -20
  278. package/src/index.js +655 -5
  279. package/src/lib/ai-methods.js +352 -3
  280. package/src/lib/contract-methods.js +152 -3
  281. package/src/lib/errors.js +31 -1
  282. package/src/lib/federation-methods.js +110 -3
  283. package/src/lib/index.js +9 -5
  284. package/src/schema/validator.js +22 -3
  285. package/src/spatial/h3-operations.js +17 -1
  286. package/src/storage/backend-factory.js +7 -2
  287. package/src/storage/backend-interface.js +21 -2
  288. package/src/storage/backends/activitypub/server.js +25 -3
  289. package/src/storage/backends/activitypub-backend.js +25 -2
  290. package/src/storage/backends/gundb-backend.js +29 -2
  291. package/src/storage/backends/nostr-backend.js +116 -1
  292. package/src/storage/filesystem-storage-browser.js +42 -2
  293. package/src/storage/filesystem-storage.js +72 -5
  294. package/src/storage/global-tables.js +7 -2
  295. package/src/storage/gun-async.js +20 -11
  296. package/src/storage/gun-auth.js +15 -4
  297. package/src/storage/gun-federation.js +14 -5
  298. package/src/storage/gun-references.js +16 -5
  299. package/src/storage/gun-schema.js +25 -10
  300. package/src/storage/gun-wrapper.js +99 -36
  301. package/src/storage/indexeddb-storage.js +65 -4
  302. package/src/storage/key-storage-simple.js +32 -9
  303. package/src/storage/key-storage.js +45 -13
  304. package/src/storage/memory-storage.js +65 -4
  305. package/src/storage/migration.js +20 -7
  306. package/src/storage/nostr-async.js +157 -67
  307. package/src/storage/nostr-client.js +173 -49
  308. package/src/storage/nostr-wrapper.js +6 -2
  309. package/src/storage/outbox-queue.js +55 -18
  310. package/src/storage/persistent-storage.js +56 -13
  311. package/src/storage/sync-service.js +51 -17
  312. package/src/storage/unified-storage.js +7 -2
  313. package/src/subscriptions/manager.js +33 -16
  314. package/dist/index-4XHHKe6S.js.map +0 -1
  315. package/dist/index-Dz5kOZMI.cjs.map +0 -1
  316. package/dist/indexeddb-storage-DD7EFBVc.cjs.map +0 -1
  317. package/dist/indexeddb-storage-lExjjFlV.js.map +0 -1
  318. package/dist/memory-storage-C68adso2.js.map +0 -1
  319. package/dist/memory-storage-DD_6yyXT.cjs.map +0 -1
  320. /package/{cleanup-test-data.js → scripts/cleanup-test-data.js} +0 -0
  321. /package/{test-ai-real-api.js → scripts/test-ai-real-api.js} +0 -0
@@ -0,0 +1,3 @@
1
+ <!DOCTYPE html><html lang="en" style="font-size:16px"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Class: HoloSphereBase</title><!--[if lt IE 9]>
2
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
3
+ <![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(locationPathname=document.location.pathname).substr(0,locationPathname.lastIndexOf("/")+1)</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-modules"><div>Modules</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="module-ai.html">ai</a></div><div class="sidebar-section-children"><a href="module-ai_aggregation.html">ai/aggregation</a></div><div class="sidebar-section-children"><a href="module-ai_breakdown.html">ai/breakdown</a></div><div class="sidebar-section-children"><a href="module-ai_classifier.html">ai/classifier</a></div><div class="sidebar-section-children"><a href="module-ai_council.html">ai/council</a></div><div class="sidebar-section-children"><a href="module-ai_embeddings.html">ai/embeddings</a></div><div class="sidebar-section-children"><a href="module-ai_federation-ai.html">ai/federation-ai</a></div><div class="sidebar-section-children"><a href="module-ai_h3-ai.html">ai/h3-ai</a></div><div class="sidebar-section-children"><a href="module-ai_json-ops.html">ai/json-ops</a></div><div class="sidebar-section-children"><a href="module-ai_llm-service.html">ai/llm-service</a></div><div class="sidebar-section-children"><a href="module-ai_nl-query.html">ai/nl-query</a></div><div class="sidebar-section-children"><a href="module-ai_relationships.html">ai/relationships</a></div><div class="sidebar-section-children"><a href="module-ai_schema-extractor.html">ai/schema-extractor</a></div><div class="sidebar-section-children"><a href="module-ai_spatial.html">ai/spatial</a></div><div class="sidebar-section-children"><a href="module-ai_tts.html">ai/tts</a></div><div class="sidebar-section-children"><a href="module-content_social-protocols.html">content/social-protocols</a></div><div class="sidebar-section-children"><a href="module-core_holosphere.html">core/holosphere</a></div><div class="sidebar-section-children"><a href="module-crypto_nostr-utils.html">crypto/nostr-utils</a></div><div class="sidebar-section-children"><a href="module-crypto_secp256k1.html">crypto/secp256k1</a></div><div class="sidebar-section-children"><a href="module-federation_hologram.html">federation/hologram</a></div><div class="sidebar-section-children"><a href="module-hierarchical_upcast.html">hierarchical/upcast</a></div><div class="sidebar-section-children"><a href="module-holosphere.html">holosphere</a></div><div class="sidebar-section-children"><a href="module-lib_ai-methods.html">lib/ai-methods</a></div><div class="sidebar-section-children"><a href="module-lib_contract-methods.html">lib/contract-methods</a></div><div class="sidebar-section-children"><a href="module-lib_errors.html">lib/errors</a></div><div class="sidebar-section-children"><a href="module-lib_federation-methods.html">lib/federation-methods</a></div><div class="sidebar-section-children"><a href="module-lib_index.html">lib/index</a></div><div class="sidebar-section-children"><a href="module-schema_validator.html">schema/validator</a></div><div class="sidebar-section-children"><a href="module-spatial_h3-operations.html">spatial/h3-operations</a></div><div class="sidebar-section-children"><a href="module-storage_backend-factory.html">storage/backend-factory</a></div><div class="sidebar-section-children"><a href="module-storage_backend-interface.html">storage/backend-interface</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub-backend.html">storage/backends/activitypub-backend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub_server.html">storage/backends/activitypub/server</a></div><div class="sidebar-section-children"><a href="module-storage_backends_gundb-backend.html">storage/backends/gundb-backend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_nostr-backend.html">storage/backends/nostr-backend</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage.html">storage/filesystem-storage</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage-browser.html">storage/filesystem-storage-browser</a></div><div class="sidebar-section-children"><a href="module-storage_global-tables.html">storage/global-tables</a></div><div class="sidebar-section-children"><a href="module-storage_gun-async.html">storage/gun-async</a></div><div class="sidebar-section-children"><a href="module-storage_gun-auth.html">storage/gun-auth</a></div><div class="sidebar-section-children"><a href="module-storage_gun-federation.html">storage/gun-federation</a></div><div class="sidebar-section-children"><a href="module-storage_gun-references.html">storage/gun-references</a></div><div class="sidebar-section-children"><a href="module-storage_gun-schema.html">storage/gun-schema</a></div><div class="sidebar-section-children"><a href="module-storage_gun-wrapper.html">storage/gun-wrapper</a></div><div class="sidebar-section-children"><a href="module-storage_indexeddb-storage.html">storage/indexeddb-storage</a></div><div class="sidebar-section-children"><a href="module-storage_key-storage.html">storage/key-storage</a></div><div class="sidebar-section-children"><a href="module-storage_key-storage-simple.html">storage/key-storage-simple</a></div><div class="sidebar-section-children"><a href="module-storage_memory-storage.html">storage/memory-storage</a></div><div class="sidebar-section-children"><a href="module-storage_migration.html">storage/migration</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-async.html">storage/nostr-async</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-client.html">storage/nostr-client</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-wrapper.html">storage/nostr-wrapper</a></div><div class="sidebar-section-children"><a href="module-storage_outbox-queue.html">storage/outbox-queue</a></div><div class="sidebar-section-children"><a href="module-storage_persistent-storage.html">storage/persistent-storage</a></div><div class="sidebar-section-children"><a href="module-storage_sync-service.html">storage/sync-service</a></div><div class="sidebar-section-children"><a href="module-storage_unified-storage.html">storage/unified-storage</a></div><div class="sidebar-section-children"><a href="module-subscriptions_manager.html">subscriptions/manager</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="module-ai_aggregation.SmartAggregation.html">SmartAggregation</a></div><div class="sidebar-section-children"><a href="module-ai_aggregation-SmartAggregation.html">SmartAggregation</a></div><div class="sidebar-section-children"><a href="module-ai_breakdown.TaskBreakdown.html">TaskBreakdown</a></div><div class="sidebar-section-children"><a href="module-ai_breakdown-TaskBreakdown.html">TaskBreakdown</a></div><div class="sidebar-section-children"><a href="module-ai_classifier.Classifier.html">Classifier</a></div><div class="sidebar-section-children"><a href="module-ai_classifier-Classifier.html">Classifier</a></div><div class="sidebar-section-children"><a href="module-ai_council.Council.html">Council</a></div><div class="sidebar-section-children"><a href="module-ai_council-Council.html">Council</a></div><div class="sidebar-section-children"><a href="module-ai_embeddings.Embeddings.html">Embeddings</a></div><div class="sidebar-section-children"><a href="module-ai_embeddings-Embeddings.html">Embeddings</a></div><div class="sidebar-section-children"><a href="module-ai_federation-ai.FederationAdvisor.html">FederationAdvisor</a></div><div class="sidebar-section-children"><a href="module-ai_federation-ai-FederationAdvisor.html">FederationAdvisor</a></div><div class="sidebar-section-children"><a href="module-ai_h3-ai.H3AI.html">H3AI</a></div><div class="sidebar-section-children"><a href="module-ai_h3-ai-H3AI.html">H3AI</a></div><div class="sidebar-section-children"><a href="module-ai_json-ops.JSONOps.html">JSONOps</a></div><div class="sidebar-section-children"><a href="module-ai_json-ops-JSONOps.html">JSONOps</a></div><div class="sidebar-section-children"><a href="module-ai_llm-service.LLMService.html">LLMService</a></div><div class="sidebar-section-children"><a href="module-ai_llm-service-LLMService.html">LLMService</a></div><div class="sidebar-section-children"><a href="module-ai_nl-query.NLQuery.html">NLQuery</a></div><div class="sidebar-section-children"><a href="module-ai_nl-query-NLQuery.html">NLQuery</a></div><div class="sidebar-section-children"><a href="module-ai_relationships.RelationshipDiscovery.html">RelationshipDiscovery</a></div><div class="sidebar-section-children"><a href="module-ai_relationships-RelationshipDiscovery.html">RelationshipDiscovery</a></div><div class="sidebar-section-children"><a href="module-ai_schema-extractor.SchemaExtractor.html">SchemaExtractor</a></div><div class="sidebar-section-children"><a href="module-ai_schema-extractor-SchemaExtractor.html">SchemaExtractor</a></div><div class="sidebar-section-children"><a href="module-ai_spatial.SpatialAnalysis.html">SpatialAnalysis</a></div><div class="sidebar-section-children"><a href="module-ai_spatial-SpatialAnalysis.html">SpatialAnalysis</a></div><div class="sidebar-section-children"><a href="module-ai_tts.TTS.html">TTS</a></div><div class="sidebar-section-children"><a href="module-ai_tts-TTS.html">TTS</a></div><div class="sidebar-section-children"><a href="module-core_holosphere.HoloSphere.html">HoloSphere</a></div><div class="sidebar-section-children"><a href="module-core_holosphere-HoloSphere.html">HoloSphere</a></div><div class="sidebar-section-children"><a href="module-holosphere-HoloSphereBase.html">HoloSphereBase</a></div><div class="sidebar-section-children"><a href="module-holosphere-HoloSphereBase.html">HoloSphereBase</a></div><div class="sidebar-section-children"><a href="module-lib_errors.AuthorizationError.html">AuthorizationError</a></div><div class="sidebar-section-children"><a href="module-lib_errors.ValidationError.html">ValidationError</a></div><div class="sidebar-section-children"><a href="module-lib_errors-AuthorizationError.html">AuthorizationError</a></div><div class="sidebar-section-children"><a href="module-lib_errors-ValidationError.html">ValidationError</a></div><div class="sidebar-section-children"><a href="module-schema_validator.ValidationError.html">ValidationError</a></div><div class="sidebar-section-children"><a href="module-schema_validator-ValidationError.html">ValidationError</a></div><div class="sidebar-section-children"><a href="module-storage_backend-factory.BackendFactory.html">BackendFactory</a></div><div class="sidebar-section-children"><a href="module-storage_backend-interface.StorageBackend.html">StorageBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backend-interface-StorageBackend.html">StorageBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub-backend.ActivityPubBackend.html">ActivityPubBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub-backend-ActivityPubBackend.html">ActivityPubBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub_server.ActivityPubServer.html">ActivityPubServer</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub_server-ActivityPubServer.html">ActivityPubServer</a></div><div class="sidebar-section-children"><a href="module-storage_backends_gundb-backend.GunDBBackend.html">GunDBBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_gundb-backend-GunDBBackend.html">GunDBBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_nostr-backend.NostrBackend.html">NostrBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_nostr-backend-NostrBackend.html">NostrBackend</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage-browser.FileSystemStorage.html">FileSystemStorage</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage-browser-FileSystemStorage.html">FileSystemStorage</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage.FileSystemStorage.html">FileSystemStorage</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage-FileSystemStorage.html">FileSystemStorage</a></div><div class="sidebar-section-children"><a href="module-storage_gun-auth.GunAuth.html">GunAuth</a></div><div class="sidebar-section-children"><a href="module-storage_gun-auth-GunAuth.html">GunAuth</a></div><div class="sidebar-section-children"><a href="module-storage_gun-references.GunReferenceHandler.html">GunReferenceHandler</a></div><div class="sidebar-section-children"><a href="module-storage_gun-references-GunReferenceHandler.html">GunReferenceHandler</a></div><div class="sidebar-section-children"><a href="module-storage_gun-schema.GunSchemaValidator.html">GunSchemaValidator</a></div><div class="sidebar-section-children"><a href="module-storage_gun-schema-GunSchemaValidator.html">GunSchemaValidator</a></div><div class="sidebar-section-children"><a href="module-storage_indexeddb-storage.IndexedDBStorage.html">IndexedDBStorage</a></div><div class="sidebar-section-children"><a href="module-storage_indexeddb-storage-IndexedDBStorage.html">IndexedDBStorage</a></div><div class="sidebar-section-children"><a href="module-storage_memory-storage.MemoryStorage.html">MemoryStorage</a></div><div class="sidebar-section-children"><a href="module-storage_memory-storage-MemoryStorage.html">MemoryStorage</a></div><div class="sidebar-section-children"><a href="module-storage_migration.MigrationTool.html">MigrationTool</a></div><div class="sidebar-section-children"><a href="module-storage_migration-MigrationTool.html">MigrationTool</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-client.NostrClient.html">NostrClient</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-client-LRUCache.html">LRUCache</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-client-NostrClient.html">NostrClient</a></div><div class="sidebar-section-children"><a href="module-storage_outbox-queue.OutboxQueue.html">OutboxQueue</a></div><div class="sidebar-section-children"><a href="module-storage_outbox-queue-OutboxQueue.html">OutboxQueue</a></div><div class="sidebar-section-children"><a href="module-storage_persistent-storage-PersistentStorage.html">PersistentStorage</a></div><div class="sidebar-section-children"><a href="module-storage_sync-service.SyncService.html">SyncService</a></div><div class="sidebar-section-children"><a href="module-storage_sync-service-SyncService.html">SyncService</a></div><div class="sidebar-section-children"><a href="module-subscriptions_manager.SubscriptionRegistry.html">SubscriptionRegistry</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#FederationRequestPayload">FederationRequestPayload</a></div><div class="sidebar-section-children"><a href="global.html#FederationResponsePayload">FederationResponsePayload</a></div><div class="sidebar-section-children"><a href="global.html#acceptFederationRequest">acceptFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#acceptFederationRequest">acceptFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#addFederatedPartner">addFederatedPartner</a></div><div class="sidebar-section-children"><a href="global.html#cleanupExpiredCapabilities">cleanupExpiredCapabilities</a></div><div class="sidebar-section-children"><a href="global.html#createFederationRequest">createFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#createFederationResponse">createFederationResponse</a></div><div class="sidebar-section-children"><a href="global.html#declineFederationRequest">declineFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#getCapabilityForAuthor">getCapabilityForAuthor</a></div><div class="sidebar-section-children"><a href="global.html#getFederatedAuthors">getFederatedAuthors</a></div><div class="sidebar-section-children"><a href="global.html#getFederatedAuthorsForScope">getFederatedAuthorsForScope</a></div><div class="sidebar-section-children"><a href="global.html#getFederatedPartner">getFederatedPartner</a></div><div class="sidebar-section-children"><a href="global.html#getFederationRegistry">getFederationRegistry</a></div><div class="sidebar-section-children"><a href="global.html#getPendingFederationRequests">getPendingFederationRequests</a></div><div class="sidebar-section-children"><a href="global.html#initiateFederationHandshake">initiateFederationHandshake</a></div><div class="sidebar-section-children"><a href="global.html#isFederationRequest">isFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#isFederationResponse">isFederationResponse</a></div><div class="sidebar-section-children"><a href="global.html#rejectFederationRequest">rejectFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#removeFederatedPartner">removeFederatedPartner</a></div><div class="sidebar-section-children"><a href="global.html#revokeOutboundCapability">revokeOutboundCapability</a></div><div class="sidebar-section-children"><a href="global.html#saveFederationRegistry">saveFederationRegistry</a></div><div class="sidebar-section-children"><a href="global.html#sendFederationRequest">sendFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#sendFederationRequest">sendFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#sendFederationResponse">sendFederationResponse</a></div><div class="sidebar-section-children"><a href="global.html#storeInboundCapability">storeInboundCapability</a></div><div class="sidebar-section-children"><a href="global.html#storeOutboundCapability">storeOutboundCapability</a></div><div class="sidebar-section-children"><a href="global.html#subscribeFederationAcceptances">subscribeFederationAcceptances</a></div><div class="sidebar-section-children"><a href="global.html#subscribeFederationDeclines">subscribeFederationDeclines</a></div><div class="sidebar-section-children"><a href="global.html#subscribeFederationRequests">subscribeFederationRequests</a></div><div class="sidebar-section-children"><a href="global.html#subscribeToFederationDMs">subscribeToFederationDMs</a></div><div class="sidebar-section-children"><a href="global.html#updateDiscoverySettings">updateDiscoverySettings</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section><header><h1 id="HoloSphereBase-title" class="has-anchor"><span class="ancestors"><a href="module-holosphere.html">holosphere</a>~</span> HoloSphereBase</h1></header><article><div class="container-overview"><h3 class="name has-anchor" id="HoloSphereBase"><span class="type-signature"></span>new HoloSphereBase<span class="signature">()</span></h3><div class="description"><p>Base HoloSphere class with core data operations. Extends HoloSphereCore with schema validation, caching, subscriptions, and AI capabilities.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line61">line 61</a></li></ul></dd></div></dl></div><h2 id="Extends" class="subsection-title has-anchor">Extends</h2><ul><li>HoloSphereCore</li></ul><h2 id="members" class="subsection-title has-anchor">Members</h2><h3 class="name has-anchor" id="_ai"><span class="type-signature"></span>_ai<span class="type-signature"> :Object|null</span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span> |<wbr> <span class="param-type">null</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line92">line 92</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="_cache"><span class="type-signature"></span>_cache<span class="type-signature"> :Map.&lt;string, any></span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Map.&lt;string, any></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line86">line 86</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="_contracts"><span class="type-signature"></span>_contracts<span class="type-signature"> :Object|null</span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span> |<wbr> <span class="param-type">null</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line105">line 105</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="schemas"><span class="type-signature"></span>schemas<span class="type-signature"> :Map.&lt;string, {schema: Object, strict: boolean, timestamp: number}></span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Map.&lt;string, {schema: Object, strict: boolean, timestamp: number}></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line84">line 84</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="subscriptionRegistry"><span class="type-signature"></span>subscriptionRegistry<span class="type-signature"> :subscriptions.SubscriptionRegistry</span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">subscriptions.<wbr>SubscriptionRegistry</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line88">line 88</a></li></ul></dd></div></dl><h2 id="methods" class="subsection-title has-anchor">Methods</h2><h3 class="name has-anchor" id="cleanupCircularHolograms"><span class="type-signature">(async) </span>cleanupCircularHolograms<span class="signature">(holonId, lensName, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h3><div class="description"><p>Cleans up circular hologram references in a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID of the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Cleanup options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1127">line 1127</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Cleanup results</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Object></span></dd></dl></div><h3 class="name has-anchor" id="cleanupCircularHologramsByIds"><span class="type-signature">(async) </span>cleanupCircularHologramsByIds<span class="signature">(holonId, lensName, dataIds, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h3><div class="description"><p>Cleans up circular hologram references for specific data IDs.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID of the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataIds</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Array of data IDs to check</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Cleanup options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1146">line 1146</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Cleanup results</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Object></span></dd></dl></div><h3 class="name has-anchor" id="clearCache"><span class="type-signature"></span>clearCache<span class="signature">(pattern<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Clears the internal cache.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>pattern</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>If provided, only clear cache entries matching this pattern</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1782">line 1782</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="clearSchema"><span class="type-signature">(async) </span>clearSchema<span class="signature">(lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h3><div class="description"><p>Clears the JSON Schema for a specific lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line828">line 828</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="createHologram"><span class="type-signature"></span>createHologram<span class="signature">(sourceHolon, lensName, data, targetHolon<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Creates a hologram (reference) object structure.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID where the original data lives</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Data object containing the id to reference</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Target holon for the hologram, defaults to sourceHolon</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line985">line 985</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Hologram object structure</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="defineSchema"><span class="type-signature">(async) </span>defineSchema<span class="signature">(lensName, schemaObj, strict<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#setSchema</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Lens name</p></td></tr><tr><td class="name"><code>schemaObj</code></td><td class="type"><span class="param-type">Object</span> |<wbr> <span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Schema object or URI</p></td></tr><tr><td class="name"><code>strict</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">false</td><td class="description last"><p>Strict mode</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1705">line 1705</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="delete"><span class="type-signature">(async) </span>delete<span class="signature">(holonId, lensName, dataId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes data from a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens (data category)</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ID of the data to delete</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Delete options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilityToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Capability token for authorization</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line621">line 621</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><dl><dt><div class="param-desc"><p>If holonId, lensName, or dataId is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></li><li><dl><dt><div class="param-desc"><p>If not owner and no valid capability token</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">AuthorizationError</span></dd></dl></dt><dd></dd></dl></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded, false if data not found</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="deleteAll"><span class="type-signature">(async) </span>deleteAll<span class="signature">(holonId, lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes all data from a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens (data category)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line758">line 758</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="deleteAllGlobal"><span class="type-signature">(async) </span>deleteAllGlobal<span class="signature">(table)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes all data from a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line734">line 734</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="deleteGlobal"><span class="type-signature">(async) </span>deleteGlobal<span class="signature">(table, key)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes data from a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Key of the data to delete</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line714">line 714</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="deleteHologram"><span class="type-signature">(async) </span>deleteHologram<span class="signature">(holonId, lensName, dataId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes a hologram and cleans up its references.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID where the hologram exists</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ID of the hologram to delete</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Delete options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1042">line 1042</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="federate"><span class="type-signature">(async) </span>federate<span class="signature">(sourceHolon, targetHolon, lensName, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Sets up federation between two holons for a specific lens. Federation enables data sharing and synchronization between holons.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens to federate</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Federation options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>direction</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'outbound'</td><td class="description last"><p>Direction: 'inbound', 'outbound', or 'bidirectional'</p></td></tr><tr><td class="name"><code>mode</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'reference'</td><td class="description last"><p>Mode: 'reference' (hologram) or 'copy'</p></td></tr><tr><td class="name"><code>filter</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter function to select which data to federate</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line849">line 849</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If trying to federate a holon with itself or invalid direction</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if federation was set up successfully</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="federateHolon"><span class="type-signature">(async) </span>federateHolon<span class="signature">(sourceHolon, targetHolon, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Establishes a holon-level federation relationship.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Federation options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensConfig</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Lens configuration for federation</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>inbound</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Lenses for inbound federation</p></td></tr><tr><td class="name"><code>outbound</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Lenses for outbound federation</p></td></tr></tbody></table></td></tr><tr><td class="name"><code>partnerName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Human-readable name for the partner holon</p></td></tr><tr><td class="name"><code>skipPropagation</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">false</td><td class="description last"><p>Skip propagating existing data</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1232">line 1232</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If trying to federate a holon with itself</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if federation was established</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="fetch"><span class="type-signature">(async) </span>fetch<span class="signature">(holonId, lensName, dataId<span class="signature-attributes">opt</span>, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#read</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific data ID or null</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Read options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1747">line 1747</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="fetchSchema"><span class="type-signature">(async) </span>fetchSchema<span class="signature">(lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#getSchema</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Lens name</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1714">line 1714</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="get"><span class="type-signature">(async) </span>get<span class="signature">(holonId, lensName, dataId<span class="signature-attributes">opt</span>, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#read</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific data ID or null</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Read options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1652">line 1652</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="getAIServices"><span class="type-signature"></span>getAIServices<span class="signature">()</span><span class="type-signature"> &rarr; {Object|null}</span></h3><div class="description"><p>Gets the initialized AI services object.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line188">line 188</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>AI services object containing llm, embeddings, etc., or null if not initialized</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span> |<wbr> <span class="param-type">null</span></dd></dl></div><h3 class="name has-anchor" id="getActiveHolograms"><span class="type-signature">(async) </span>getActiveHolograms<span class="signature">(holonId, lensName, dataId)</span><span class="type-signature"> &rarr; {Promise.&lt;Array>}</span></h3><div class="description"><p>Gets all active holograms (references) pointing to a specific data item.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID of the source holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>ID of the source data</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1003">line 1003</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of active hologram references</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array></span></dd></dl></div><h3 class="name has-anchor" id="getAll"><span class="type-signature">(async) </span>getAll<span class="signature">(holonId, lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;(Array|null)>}</span></h3><div class="description"><p>Gets all data from a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens (data category)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line747">line 747</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of data objects or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="getAllGlobal"><span class="type-signature">(async) </span>getAllGlobal<span class="signature">(table)</span><span class="type-signature"> &rarr; {Promise.&lt;Array>}</span></h3><div class="description"><p>Gets all data from a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line724">line 724</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of all data objects in the table</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array></span></dd></dl></div><h3 class="name has-anchor" id="getChildren"><span class="type-signature">(async) </span>getChildren<span class="signature">(holonId)</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;string>>}</span></h3><div class="description"><p>Gets all child holons at the next resolution level.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line223">line 223</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of child H3 cell IDs</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array.&lt;string>></span></dd></dl></div><h3 class="name has-anchor" id="getFederatedConfig"><span class="type-signature">(async) </span>getFederatedConfig<span class="signature">(sourceHolon, targetHolon)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Gets the federation configuration between two holons.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1346">line 1346</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Lens configuration or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="getFederatedData"><span class="type-signature">(async) </span>getFederatedData<span class="signature">(holonId, lensName, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Array|null)>}</span></h3><div class="description"><p>Gets federated data from a holon, optionally resolving holograms.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>resolveHolograms</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to resolve hologram references</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line926">line 926</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of data objects or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="getFederation"><span class="type-signature">(async) </span>getFederation<span class="signature">(holonId)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Gets the federation configuration for a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID of the holon</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1198">line 1198</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If holonId is not provided</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Federation configuration object or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="getGlobal"><span class="type-signature">(async) </span>getGlobal<span class="signature">(table, key<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#readGlobal</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Global table name</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Key to read</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1684">line 1684</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="getHologramSource"><span class="type-signature"></span>getHologramSource<span class="signature">(data)</span><span class="type-signature"> &rarr; {Object|null}</span></h3><div class="description"><p>Gets the source information from a hologram or resolved hologram.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Hologram or resolved hologram object</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1115">line 1115</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Source information or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span> |<wbr> <span class="param-type">null</span></dd></dl></div><h3 class="name has-anchor" id="getParents"><span class="type-signature">(async) </span>getParents<span class="signature">(holonId, maxResolution<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;string>>}</span></h3><div class="description"><p>Gets all parent holons at higher resolutions.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID</p></td></tr><tr><td class="name"><code>maxResolution</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Maximum resolution to traverse up to</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line213">line 213</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of parent H3 cell IDs</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array.&lt;string>></span></dd></dl></div><h3 class="name has-anchor" id="getPublicKey"><span class="type-signature">(async) </span>getPublicKey<span class="signature">(privateKey)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span></h3><div class="description"><p>Derives a public key from a private key.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>privateKey</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Hex-encoded private key</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1442">line 1442</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Hex-encoded public key</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="getSchema"><span class="type-signature">(async) </span>getSchema<span class="signature">(lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Gets the JSON Schema for a specific lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line817">line 817</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The schema object or null if not set</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="hasAI"><span class="type-signature"></span>hasAI<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Checks if AI services are initialized.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line179">line 179</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if AI services are available</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isHologram"><span class="type-signature"></span>isHologram<span class="signature">(data)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Checks if an object is a hologram (unresolved reference).</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Data object to check</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1095">line 1095</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if the object is a hologram</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isResolvedHologram"><span class="type-signature"></span>isResolvedHologram<span class="signature">(data)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Checks if an object is a resolved hologram (has _hologram metadata).</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Data object to check</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1105">line 1105</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if the object is a resolved hologram</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isValidH3"><span class="type-signature"></span>isValidH3<span class="signature">(holonId)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Validates if a string is a valid H3 cell ID.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>String to validate</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line233">line 233</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if valid H3 cell ID</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="issueCapability"><span class="type-signature">(async) </span>issueCapability<span class="signature">(permissions, scope, recipient, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span></h3><div class="description"><p>Issues a capability token for authorization.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>permissions</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="attributes"></td><td class="description last"><p>Array of permissions ('read', 'write', 'delete')</p></td></tr><tr><td class="name"><code>scope</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="description last"><p>Scope of the capability (holonId, lensName, etc.)</p></td></tr><tr><td class="name"><code>recipient</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Public key of the recipient</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Additional options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1478">line 1478</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Signed capability token</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="load"><span class="type-signature">(async) </span>load<span class="signature">(holonId, lensName, dataId<span class="signature-attributes">opt</span>, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#read</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific data ID or null</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Read options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1771">line 1771</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="metrics"><span class="type-signature"></span>metrics<span class="signature">()</span><span class="type-signature"> &rarr; {Object|number|number|number|number|number|number|number}</span></h3><div class="description"><p>Gets performance metrics for this HoloSphere instance.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1613">line 1613</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><ul><li><div class="param-desc"><p>Metrics object</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></li><li><div class="param-desc"><p>return.reads - Number of read operations</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.writes - Number of write operations</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.deletes - Number of delete operations</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.federations - Number of federation operations</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.subscriptions - Number of active subscriptions</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.avgReadTime - Average read time in milliseconds</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.avgWriteTime - Average write time in milliseconds</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li></ul></div><h3 class="name has-anchor" id="propagate"><span class="type-signature">(async) </span>propagate<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Array|undefined)>}</span></h3><div class="description"><p>Propagates data to all federated holons.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Data to propagate</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Propagation options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>useHolograms</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to create holograms</p></td></tr><tr><td class="name"><code>resolveExisting</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to resolve existing data</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1168">line 1168</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of propagation results or undefined if no targets</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Array|undefined)></span></dd></dl></div><h3 class="name has-anchor" id="propagateData"><span class="type-signature">(async) </span>propagateData<span class="signature">(data, sourceHolon, targetHolon, lensName, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h3><div class="description"><p>Propagates data from source holon to target holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Data to propagate</p></td></tr><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Propagation options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>mode</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'reference'</td><td class="description last"><p>Mode: 'reference' creates hologram, 'copy' duplicates data</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1064">line 1064</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Result of propagation</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Object></span></dd></dl></div><h3 class="name has-anchor" id="publishActivityPub"><span class="type-signature">(async) </span>publishActivityPub<span class="signature">(object, holonId, lensName<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Publishes an ActivityPub object to a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>object</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ActivityPub object</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>type</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>ActivityPub type (Note, Article, etc.)</p></td></tr><tr><td class="name"><code>actor</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Actor ID (defaults to client public key)</p></td></tr></tbody></table></td></tr><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'social'</td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1538">line 1538</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if publish succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="publishNostr"><span class="type-signature">(async) </span>publishNostr<span class="signature">(event, holonId, lensName<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Publishes a Nostr event to a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>event</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Nostr event object</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>kind</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"></td><td class="description last"><p>Event kind</p></td></tr><tr><td class="name"><code>content</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Event content</p></td></tr><tr><td class="name"><code>tags</code></td><td class="type"><span class="param-type">Array</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Event tags</p></td></tr></tbody></table></td></tr><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'social'</td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1507">line 1507</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if publish succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="put"><span class="type-signature">(async) </span>put<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#write</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="description last"><p>Data to write</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Write options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1640">line 1640</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="putGlobal"><span class="type-signature">(async) </span>putGlobal<span class="signature">(table, data)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#writeGlobal</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Global table name</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Data to write</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1674">line 1674</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="querySocial"><span class="type-signature">(async) </span>querySocial<span class="signature">(holonId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Array>}</span></h3><div class="description"><p>Queries social protocol data from a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Query options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lens</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'social'</td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>protocol</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter by protocol ('nostr', 'activitypub', 'all')</p></td></tr><tr><td class="name"><code>type</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter by content type</p></td></tr><tr><td class="name"><code>since</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter events after this timestamp</p></td></tr><tr><td class="name"><code>until</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter events before this timestamp</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1561">line 1561</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of matching social items</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array></span></dd></dl></div><h3 class="name has-anchor" id="read"><span class="type-signature">(async) </span>read<span class="signature">(holonId, lensName, dataId<span class="signature-attributes">opt</span>, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Reads data from a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens (data category)</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific data ID, or null to read all</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Read options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilityToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Capability token for authorization</p></td></tr><tr><td class="name"><code>resolveHolograms</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to resolve hologram references</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line488">line 488</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><dl><dt><div class="param-desc"><p>If holonId or lensName is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></li><li><dl><dt><div class="param-desc"><p>If capability token is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">AuthorizationError</span></dd></dl></dt><dd></dd></dl></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Data object, array of objects, or null if not found</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="readGlobal"><span class="type-signature">(async) </span>readGlobal<span class="signature">(table, key<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Reads data from a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific key to read, or null to read all</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line691">line 691</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Data object, array of objects, or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="remove"><span class="type-signature">(async) </span>remove<span class="signature">(holonId, lensName, dataId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#delete</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Data ID to delete</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Delete options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1664">line 1664</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="removeActiveHologram"><span class="type-signature">(async) </span>removeActiveHologram<span class="signature">(sourceHolon, lensName, dataId, targetHolon)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Removes an active hologram reference from a source data item.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>ID of the source data</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Target holon where the hologram exists</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1022">line 1022</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if removal succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="removeGlobal"><span class="type-signature">(async) </span>removeGlobal<span class="signature">(table, key)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#deleteGlobal</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Global table name</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Key to delete</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1694">line 1694</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="removeSchema"><span class="type-signature">(async) </span>removeSchema<span class="signature">(lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#clearSchema</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Lens name</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1723">line 1723</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="resolveHologram"><span class="type-signature">(async) </span>resolveHologram<span class="signature">(hologram, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Resolves a hologram to its source data.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>hologram</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Hologram object to resolve</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Resolution options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1085">line 1085</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Resolved data or null if source not found</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="save"><span class="type-signature">(async) </span>save<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#write</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="description last"><p>Data to write</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Write options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1759">line 1759</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="setSchema"><span class="type-signature">(async) </span>setSchema<span class="signature">(lensName, schemaInput, strict<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h3><div class="description"><p>Sets a JSON Schema for validating data in a specific lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens to associate the schema with</p></td></tr><tr><td class="name"><code>schemaInput</code></td><td class="type"><span class="param-type">Object</span> |<wbr> <span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>JSON Schema object or URI reference</p></td></tr><tr><td class="name"><code>strict</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">false</td><td class="description last"><p>If true, validation will reject additional properties</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line774">line 774</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If lensName is invalid or schema format is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="sign"><span class="type-signature">(async) </span>sign<span class="signature">(content, privateKey)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span></h3><div class="description"><p>Signs content with a private key.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>content</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">Object</span></td><td class="description last"><p>Content to sign</p></td></tr><tr><td class="name"><code>privateKey</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Hex-encoded private key</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1453">line 1453</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Hex-encoded signature</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="store"><span class="type-signature">(async) </span>store<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#write</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="description last"><p>Data to write</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Write options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1735">line 1735</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="subscribe"><span class="type-signature"></span>subscribe<span class="signature">(holonId, lensName, callback, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Subscribes to real-time updates for a holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>callback</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Callback function called with updated data</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Subscription options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1380">line 1380</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If callback is not a function</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">TypeError</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Subscription object with unsubscribe method</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="subscribeGlobal"><span class="type-signature">(async) </span>subscribeGlobal<span class="signature">(table, key, callback, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;{unsubscribe: function()}>}</span></h3><div class="description"><p>Subscribes to real-time updates for a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Key to subscribe to</p></td></tr><tr><td class="name"><code>callback</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Callback function called with updated data</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Subscription options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1423">line 1423</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Subscription object</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;{unsubscribe: function()}></span></dd></dl></div><h3 class="name has-anchor" id="toHolon"><span class="type-signature">(async) </span>toHolon<span class="signature">(lat, lng, resolution)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span></h3><div class="description"><p>Converts geographic coordinates to an H3 holon ID.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lat</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>Latitude (-90 to 90)</p></td></tr><tr><td class="name"><code>lng</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>Longitude (-180 to 180)</p></td></tr><tr><td class="name"><code>resolution</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>H3 resolution level (0-15)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line202">line 202</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>H3 cell ID representing the holon</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="unfederate"><span class="type-signature">(async) </span>unfederate<span class="signature">(sourceHolon, targetHolon, lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Removes federation between two holons for a specific lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line945">line 945</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Always returns true (idempotent operation)</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="unfederateHolon"><span class="type-signature">(async) </span>unfederateHolon<span class="signature">(sourceHolon, targetHolon)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Removes a holon-level federation relationship.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1310">line 1310</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if unfederation succeeded, false if no federation existed</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="upcast"><span class="type-signature">(async) </span>upcast<span class="signature">(holonId, lensName, dataId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h3><div class="description"><p>Performs hierarchical upcast aggregation. Aggregates data from child holons up to parent holons in the H3 hierarchy.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Starting holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ID of the data to upcast</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Upcast options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1364">line 1364</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Aggregation result</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Object></span></dd></dl></div><h3 class="name has-anchor" id="update"><span class="type-signature">(async) </span>update<span class="signature">(holonId, lensName, dataId, updates, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Updates existing data in a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens (data category)</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ID of the data to update</p></td></tr><tr><td class="name"><code>updates</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Object containing fields to update</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Update options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilityToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Capability token for authorization</p></td></tr><tr><td class="name"><code>validate</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to validate against schema</p></td></tr><tr><td class="name"><code>strict</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Override schema strict mode</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line548">line 548</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><dl><dt><div class="param-desc"><p>If holonId, lensName, dataId, or updates is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></li><li><dl><dt><div class="param-desc"><p>If capability token is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">AuthorizationError</span></dd></dl></dt><dd></dd></dl></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if update succeeded, false if data not found</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="updateGlobal"><span class="type-signature">(async) </span>updateGlobal<span class="signature">(table, key, updates)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Updates data in a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Key of the data to update</p></td></tr><tr><td class="name"><code>updates</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Object containing fields to update</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line703">line 703</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if update succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="updateHologramOverrides"><span class="type-signature">(async) </span>updateHologramOverrides<span class="signature">(holonId, lensName, dataId, overrides)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Updates local override values on a hologram.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID where the hologram exists</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>ID of the hologram</p></td></tr><tr><td class="name"><code>overrides</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Object containing local override values</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line965">line 965</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if update succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="verify"><span class="type-signature">(async) </span>verify<span class="signature">(content, signature, publicKey)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Verifies a signature against content and public key.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>content</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">Object</span></td><td class="description last"><p>Original content</p></td></tr><tr><td class="name"><code>signature</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Hex-encoded signature</p></td></tr><tr><td class="name"><code>publicKey</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Hex-encoded public key</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1465">line 1465</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if signature is valid</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="verifyCapability"><span class="type-signature">(async) </span>verifyCapability<span class="signature">(token, requiredPermission, scope)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Verifies a capability token.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>token</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Capability token to verify</p></td></tr><tr><td class="name"><code>requiredPermission</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Required permission to check</p></td></tr><tr><td class="name"><code>scope</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Scope to verify against</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1490">line 1490</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if token is valid and has required permission</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="verifyNostrEvent"><span class="type-signature">(async) </span>verifyNostrEvent<span class="signature">(event)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Verifies a Nostr event signature.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>event</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Nostr event to verify</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>id</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Event ID</p></td></tr><tr><td class="name"><code>pubkey</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Author public key</p></td></tr><tr><td class="name"><code>created_at</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>Creation timestamp</p></td></tr><tr><td class="name"><code>kind</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>Event kind</p></td></tr><tr><td class="name"><code>tags</code></td><td class="type"><span class="param-type">Array</span></td><td class="description last"><p>Event tags</p></td></tr><tr><td class="name"><code>content</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Event content</p></td></tr><tr><td class="name"><code>sig</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Event signature</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1591">line 1591</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if event signature is valid</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="write"><span class="type-signature">(async) </span>write<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Writes data to a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens (data category)</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Data object to write (must have or will be assigned an id)</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Write options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilityToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Capability token for authorization</p></td></tr><tr><td class="name"><code>validate</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to validate against schema</p></td></tr><tr><td class="name"><code>strict</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Override schema strict mode</p></td></tr><tr><td class="name"><code>autoPropagate</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to propagate to federated holons</p></td></tr><tr><td class="name"><code>propagationOptions</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Options for propagation</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line255">line 255</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><dl><dt><div class="param-desc"><p>If holonId, lensName, or data is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></li><li><dl><dt><div class="param-desc"><p>If capability token is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">AuthorizationError</span></dd></dl></dt><dd></dd></dl></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if write succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="writeGlobal"><span class="type-signature">(async) </span>writeGlobal<span class="signature">(table, data)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Writes data to a global table (not holon-specific).</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Data object to write (must have an id field)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line680">line 680</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if write succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div></article></section><section><header><h1 id="HoloSphereBase-title" class="has-anchor"><span class="ancestors"><a href="module-holosphere.html">holosphere</a>~</span> HoloSphereBase</h1></header><article><div class="container-overview"><h3 class="name has-anchor" id="HoloSphereBase"><span class="type-signature"></span>new HoloSphereBase<span class="signature">(config)</span></h3><div class="description"><p>Creates a new HoloSphereBase instance.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>config</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Configuration options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>appName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Application namespace for data isolation</p></td></tr><tr><td class="name"><code>backend</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'nostr'</td><td class="description last"><p>Storage backend type ('nostr', 'gundb', 'activitypub')</p></td></tr><tr><td class="name"><code>relays</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Nostr relay URLs for distributed storage</p></td></tr><tr><td class="name"><code>openaiKey</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>OpenAI API key for AI services</p></td></tr><tr><td class="name"><code>aiOptions</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>AI service configuration</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>model</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>OpenAI model to use</p></td></tr><tr><td class="name"><code>temperature</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Temperature for AI responses</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line81">line 81</a></li></ul></dd></div></dl></div><h2 id="members" class="subsection-title has-anchor">Members</h2><h3 class="name has-anchor" id="_ai"><span class="type-signature"></span>_ai<span class="type-signature"> :Object|null</span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span> |<wbr> <span class="param-type">null</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line92">line 92</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="_cache"><span class="type-signature"></span>_cache<span class="type-signature"> :Map.&lt;string, any></span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Map.&lt;string, any></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line86">line 86</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="_contracts"><span class="type-signature"></span>_contracts<span class="type-signature"> :Object|null</span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span> |<wbr> <span class="param-type">null</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line105">line 105</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="schemas"><span class="type-signature"></span>schemas<span class="type-signature"> :Map.&lt;string, {schema: Object, strict: boolean, timestamp: number}></span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Map.&lt;string, {schema: Object, strict: boolean, timestamp: number}></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line84">line 84</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="subscriptionRegistry"><span class="type-signature"></span>subscriptionRegistry<span class="type-signature"> :subscriptions.SubscriptionRegistry</span></h3><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">subscriptions.<wbr>SubscriptionRegistry</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line88">line 88</a></li></ul></dd></div></dl><h2 id="methods" class="subsection-title has-anchor">Methods</h2><h3 class="name has-anchor" id="cleanupCircularHolograms"><span class="type-signature">(async) </span>cleanupCircularHolograms<span class="signature">(holonId, lensName, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h3><div class="description"><p>Cleans up circular hologram references in a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID of the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Cleanup options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1127">line 1127</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Cleanup results</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Object></span></dd></dl></div><h3 class="name has-anchor" id="cleanupCircularHologramsByIds"><span class="type-signature">(async) </span>cleanupCircularHologramsByIds<span class="signature">(holonId, lensName, dataIds, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h3><div class="description"><p>Cleans up circular hologram references for specific data IDs.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID of the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataIds</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Array of data IDs to check</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Cleanup options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1146">line 1146</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Cleanup results</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Object></span></dd></dl></div><h3 class="name has-anchor" id="clearCache"><span class="type-signature"></span>clearCache<span class="signature">(pattern<span class="signature-attributes">opt</span>)</span></h3><div class="description"><p>Clears the internal cache.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>pattern</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>If provided, only clear cache entries matching this pattern</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1782">line 1782</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="clearSchema"><span class="type-signature">(async) </span>clearSchema<span class="signature">(lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h3><div class="description"><p>Clears the JSON Schema for a specific lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line828">line 828</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="createHologram"><span class="type-signature"></span>createHologram<span class="signature">(sourceHolon, lensName, data, targetHolon<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Creates a hologram (reference) object structure.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID where the original data lives</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Data object containing the id to reference</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Target holon for the hologram, defaults to sourceHolon</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line985">line 985</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Hologram object structure</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="defineSchema"><span class="type-signature">(async) </span>defineSchema<span class="signature">(lensName, schemaObj, strict<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#setSchema</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Lens name</p></td></tr><tr><td class="name"><code>schemaObj</code></td><td class="type"><span class="param-type">Object</span> |<wbr> <span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Schema object or URI</p></td></tr><tr><td class="name"><code>strict</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">false</td><td class="description last"><p>Strict mode</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1705">line 1705</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="delete"><span class="type-signature">(async) </span>delete<span class="signature">(holonId, lensName, dataId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes data from a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens (data category)</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ID of the data to delete</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Delete options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilityToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Capability token for authorization</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line621">line 621</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><dl><dt><div class="param-desc"><p>If holonId, lensName, or dataId is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></li><li><dl><dt><div class="param-desc"><p>If not owner and no valid capability token</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">AuthorizationError</span></dd></dl></dt><dd></dd></dl></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded, false if data not found</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="deleteAll"><span class="type-signature">(async) </span>deleteAll<span class="signature">(holonId, lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes all data from a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens (data category)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line758">line 758</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="deleteAllGlobal"><span class="type-signature">(async) </span>deleteAllGlobal<span class="signature">(table)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes all data from a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line734">line 734</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="deleteGlobal"><span class="type-signature">(async) </span>deleteGlobal<span class="signature">(table, key)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes data from a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Key of the data to delete</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line714">line 714</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="deleteHologram"><span class="type-signature">(async) </span>deleteHologram<span class="signature">(holonId, lensName, dataId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Deletes a hologram and cleans up its references.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID where the hologram exists</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ID of the hologram to delete</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Delete options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1042">line 1042</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if deletion succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="federate"><span class="type-signature">(async) </span>federate<span class="signature">(sourceHolon, targetHolon, lensName, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Sets up federation between two holons for a specific lens. Federation enables data sharing and synchronization between holons.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens to federate</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Federation options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>direction</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'outbound'</td><td class="description last"><p>Direction: 'inbound', 'outbound', or 'bidirectional'</p></td></tr><tr><td class="name"><code>mode</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'reference'</td><td class="description last"><p>Mode: 'reference' (hologram) or 'copy'</p></td></tr><tr><td class="name"><code>filter</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter function to select which data to federate</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line849">line 849</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If trying to federate a holon with itself or invalid direction</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if federation was set up successfully</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="federateHolon"><span class="type-signature">(async) </span>federateHolon<span class="signature">(sourceHolon, targetHolon, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Establishes a holon-level federation relationship.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Federation options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensConfig</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Lens configuration for federation</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>inbound</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Lenses for inbound federation</p></td></tr><tr><td class="name"><code>outbound</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Lenses for outbound federation</p></td></tr></tbody></table></td></tr><tr><td class="name"><code>partnerName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Human-readable name for the partner holon</p></td></tr><tr><td class="name"><code>skipPropagation</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">false</td><td class="description last"><p>Skip propagating existing data</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1232">line 1232</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If trying to federate a holon with itself</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if federation was established</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="fetch"><span class="type-signature">(async) </span>fetch<span class="signature">(holonId, lensName, dataId<span class="signature-attributes">opt</span>, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#read</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific data ID or null</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Read options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1747">line 1747</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="fetchSchema"><span class="type-signature">(async) </span>fetchSchema<span class="signature">(lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#getSchema</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Lens name</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1714">line 1714</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="get"><span class="type-signature">(async) </span>get<span class="signature">(holonId, lensName, dataId<span class="signature-attributes">opt</span>, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#read</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific data ID or null</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Read options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1652">line 1652</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="getAIServices"><span class="type-signature"></span>getAIServices<span class="signature">()</span><span class="type-signature"> &rarr; {Object|null}</span></h3><div class="description"><p>Gets the initialized AI services object.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line188">line 188</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>AI services object containing llm, embeddings, etc., or null if not initialized</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span> |<wbr> <span class="param-type">null</span></dd></dl></div><h3 class="name has-anchor" id="getActiveHolograms"><span class="type-signature">(async) </span>getActiveHolograms<span class="signature">(holonId, lensName, dataId)</span><span class="type-signature"> &rarr; {Promise.&lt;Array>}</span></h3><div class="description"><p>Gets all active holograms (references) pointing to a specific data item.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID of the source holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>ID of the source data</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1003">line 1003</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of active hologram references</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array></span></dd></dl></div><h3 class="name has-anchor" id="getAll"><span class="type-signature">(async) </span>getAll<span class="signature">(holonId, lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;(Array|null)>}</span></h3><div class="description"><p>Gets all data from a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens (data category)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line747">line 747</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of data objects or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="getAllGlobal"><span class="type-signature">(async) </span>getAllGlobal<span class="signature">(table)</span><span class="type-signature"> &rarr; {Promise.&lt;Array>}</span></h3><div class="description"><p>Gets all data from a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line724">line 724</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of all data objects in the table</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array></span></dd></dl></div><h3 class="name has-anchor" id="getChildren"><span class="type-signature">(async) </span>getChildren<span class="signature">(holonId)</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;string>>}</span></h3><div class="description"><p>Gets all child holons at the next resolution level.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line223">line 223</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of child H3 cell IDs</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array.&lt;string>></span></dd></dl></div><h3 class="name has-anchor" id="getFederatedConfig"><span class="type-signature">(async) </span>getFederatedConfig<span class="signature">(sourceHolon, targetHolon)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Gets the federation configuration between two holons.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1346">line 1346</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Lens configuration or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="getFederatedData"><span class="type-signature">(async) </span>getFederatedData<span class="signature">(holonId, lensName, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Array|null)>}</span></h3><div class="description"><p>Gets federated data from a holon, optionally resolving holograms.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>resolveHolograms</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to resolve hologram references</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line926">line 926</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of data objects or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="getFederation"><span class="type-signature">(async) </span>getFederation<span class="signature">(holonId)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Gets the federation configuration for a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID of the holon</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1198">line 1198</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If holonId is not provided</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">Error</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Federation configuration object or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="getGlobal"><span class="type-signature">(async) </span>getGlobal<span class="signature">(table, key<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#readGlobal</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Global table name</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Key to read</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1684">line 1684</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="getHologramSource"><span class="type-signature"></span>getHologramSource<span class="signature">(data)</span><span class="type-signature"> &rarr; {Object|null}</span></h3><div class="description"><p>Gets the source information from a hologram or resolved hologram.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Hologram or resolved hologram object</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1115">line 1115</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Source information or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span> |<wbr> <span class="param-type">null</span></dd></dl></div><h3 class="name has-anchor" id="getParents"><span class="type-signature">(async) </span>getParents<span class="signature">(holonId, maxResolution<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Array.&lt;string>>}</span></h3><div class="description"><p>Gets all parent holons at higher resolutions.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID</p></td></tr><tr><td class="name"><code>maxResolution</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Maximum resolution to traverse up to</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line213">line 213</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of parent H3 cell IDs</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array.&lt;string>></span></dd></dl></div><h3 class="name has-anchor" id="getPublicKey"><span class="type-signature">(async) </span>getPublicKey<span class="signature">(privateKey)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span></h3><div class="description"><p>Derives a public key from a private key.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>privateKey</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Hex-encoded private key</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1442">line 1442</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Hex-encoded public key</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="getSchema"><span class="type-signature">(async) </span>getSchema<span class="signature">(lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Gets the JSON Schema for a specific lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line817">line 817</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>The schema object or null if not set</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="hasAI"><span class="type-signature"></span>hasAI<span class="signature">()</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Checks if AI services are initialized.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line179">line 179</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if AI services are available</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isHologram"><span class="type-signature"></span>isHologram<span class="signature">(data)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Checks if an object is a hologram (unresolved reference).</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Data object to check</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1095">line 1095</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if the object is a hologram</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isResolvedHologram"><span class="type-signature"></span>isResolvedHologram<span class="signature">(data)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Checks if an object is a resolved hologram (has _hologram metadata).</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Data object to check</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1105">line 1105</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if the object is a resolved hologram</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="isValidH3"><span class="type-signature"></span>isValidH3<span class="signature">(holonId)</span><span class="type-signature"> &rarr; {boolean}</span></h3><div class="description"><p>Validates if a string is a valid H3 cell ID.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>String to validate</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line233">line 233</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if valid H3 cell ID</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">boolean</span></dd></dl></div><h3 class="name has-anchor" id="issueCapability"><span class="type-signature">(async) </span>issueCapability<span class="signature">(permissions, scope, recipient, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span></h3><div class="description"><p>Issues a capability token for authorization.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>permissions</code></td><td class="type"><span class="param-type">Array.&lt;string></span></td><td class="attributes"></td><td class="description last"><p>Array of permissions ('read', 'write', 'delete')</p></td></tr><tr><td class="name"><code>scope</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="description last"><p>Scope of the capability (holonId, lensName, etc.)</p></td></tr><tr><td class="name"><code>recipient</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Public key of the recipient</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Additional options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1478">line 1478</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Signed capability token</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="load"><span class="type-signature">(async) </span>load<span class="signature">(holonId, lensName, dataId<span class="signature-attributes">opt</span>, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#read</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific data ID or null</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Read options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1771">line 1771</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="metrics"><span class="type-signature"></span>metrics<span class="signature">()</span><span class="type-signature"> &rarr; {Object|number|number|number|number|number|number|number}</span></h3><div class="description"><p>Gets performance metrics for this HoloSphere instance.</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1613">line 1613</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><ul><li><div class="param-desc"><p>Metrics object</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></li><li><div class="param-desc"><p>return.reads - Number of read operations</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.writes - Number of write operations</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.deletes - Number of delete operations</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.federations - Number of federation operations</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.subscriptions - Number of active subscriptions</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.avgReadTime - Average read time in milliseconds</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li><li><div class="param-desc"><p>return.avgWriteTime - Average write time in milliseconds</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">number</span></dd></dl></li></ul></div><h3 class="name has-anchor" id="propagate"><span class="type-signature">(async) </span>propagate<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Array|undefined)>}</span></h3><div class="description"><p>Propagates data to all federated holons.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Data to propagate</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Propagation options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>useHolograms</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to create holograms</p></td></tr><tr><td class="name"><code>resolveExisting</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to resolve existing data</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1168">line 1168</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of propagation results or undefined if no targets</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Array|undefined)></span></dd></dl></div><h3 class="name has-anchor" id="propagateData"><span class="type-signature">(async) </span>propagateData<span class="signature">(data, sourceHolon, targetHolon, lensName, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h3><div class="description"><p>Propagates data from source holon to target holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Data to propagate</p></td></tr><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Propagation options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>mode</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'reference'</td><td class="description last"><p>Mode: 'reference' creates hologram, 'copy' duplicates data</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1064">line 1064</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Result of propagation</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Object></span></dd></dl></div><h3 class="name has-anchor" id="publishActivityPub"><span class="type-signature">(async) </span>publishActivityPub<span class="signature">(object, holonId, lensName<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Publishes an ActivityPub object to a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>object</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ActivityPub object</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>type</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>ActivityPub type (Note, Article, etc.)</p></td></tr><tr><td class="name"><code>actor</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Actor ID (defaults to client public key)</p></td></tr></tbody></table></td></tr><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'social'</td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1538">line 1538</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if publish succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="publishNostr"><span class="type-signature">(async) </span>publishNostr<span class="signature">(event, holonId, lensName<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Publishes a Nostr event to a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>event</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Nostr event object</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>kind</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes"></td><td class="description last"><p>Event kind</p></td></tr><tr><td class="name"><code>content</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Event content</p></td></tr><tr><td class="name"><code>tags</code></td><td class="type"><span class="param-type">Array</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Event tags</p></td></tr></tbody></table></td></tr><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'social'</td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1507">line 1507</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if publish succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="put"><span class="type-signature">(async) </span>put<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#write</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="description last"><p>Data to write</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Write options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1640">line 1640</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="putGlobal"><span class="type-signature">(async) </span>putGlobal<span class="signature">(table, data)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#writeGlobal</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Global table name</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Data to write</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1674">line 1674</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="querySocial"><span class="type-signature">(async) </span>querySocial<span class="signature">(holonId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Array>}</span></h3><div class="description"><p>Queries social protocol data from a holon.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Query options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lens</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default">'social'</td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>protocol</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter by protocol ('nostr', 'activitypub', 'all')</p></td></tr><tr><td class="name"><code>type</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter by content type</p></td></tr><tr><td class="name"><code>since</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter events after this timestamp</p></td></tr><tr><td class="name"><code>until</code></td><td class="type"><span class="param-type">number</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Filter events before this timestamp</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1561">line 1561</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Array of matching social items</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Array></span></dd></dl></div><h3 class="name has-anchor" id="read"><span class="type-signature">(async) </span>read<span class="signature">(holonId, lensName, dataId<span class="signature-attributes">opt</span>, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Reads data from a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens (data category)</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific data ID, or null to read all</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Read options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilityToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Capability token for authorization</p></td></tr><tr><td class="name"><code>resolveHolograms</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to resolve hologram references</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line488">line 488</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><dl><dt><div class="param-desc"><p>If holonId or lensName is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></li><li><dl><dt><div class="param-desc"><p>If capability token is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">AuthorizationError</span></dd></dl></dt><dd></dd></dl></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Data object, array of objects, or null if not found</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="readGlobal"><span class="type-signature">(async) </span>readGlobal<span class="signature">(table, key<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|Array|null)>}</span></h3><div class="description"><p>Reads data from a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">null</span></td><td class="attributes">&lt;optional><br></td><td class="default">null</td><td class="description last"><p>Specific key to read, or null to read all</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line691">line 691</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Data object, array of objects, or null</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|Array|null)></span></dd></dl></div><h3 class="name has-anchor" id="remove"><span class="type-signature">(async) </span>remove<span class="signature">(holonId, lensName, dataId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#delete</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Data ID to delete</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Delete options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1664">line 1664</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="removeActiveHologram"><span class="type-signature">(async) </span>removeActiveHologram<span class="signature">(sourceHolon, lensName, dataId, targetHolon)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Removes an active hologram reference from a source data item.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>ID of the source data</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Target holon where the hologram exists</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1022">line 1022</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if removal succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="removeGlobal"><span class="type-signature">(async) </span>removeGlobal<span class="signature">(table, key)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#deleteGlobal</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Global table name</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Key to delete</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1694">line 1694</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="removeSchema"><span class="type-signature">(async) </span>removeSchema<span class="signature">(lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#clearSchema</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Lens name</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1723">line 1723</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="resolveHologram"><span class="type-signature">(async) </span>resolveHologram<span class="signature">(hologram, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;(Object|null)>}</span></h3><div class="description"><p>Resolves a hologram to its source data.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>hologram</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Hologram object to resolve</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Resolution options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1085">line 1085</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Resolved data or null if source not found</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;(Object|null)></span></dd></dl></div><h3 class="name has-anchor" id="save"><span class="type-signature">(async) </span>save<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#write</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="description last"><p>Data to write</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Write options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1759">line 1759</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="setSchema"><span class="type-signature">(async) </span>setSchema<span class="signature">(lensName, schemaInput, strict<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;void>}</span></h3><div class="description"><p>Sets a JSON Schema for validating data in a specific lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens to associate the schema with</p></td></tr><tr><td class="name"><code>schemaInput</code></td><td class="type"><span class="param-type">Object</span> |<wbr> <span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>JSON Schema object or URI reference</p></td></tr><tr><td class="name"><code>strict</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">false</td><td class="description last"><p>If true, validation will reject additional properties</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line774">line 774</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If lensName is invalid or schema format is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;void></span></dd></dl></div><h3 class="name has-anchor" id="sign"><span class="type-signature">(async) </span>sign<span class="signature">(content, privateKey)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span></h3><div class="description"><p>Signs content with a private key.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>content</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">Object</span></td><td class="description last"><p>Content to sign</p></td></tr><tr><td class="name"><code>privateKey</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Hex-encoded private key</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1453">line 1453</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Hex-encoded signature</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="store"><span class="type-signature">(async) </span>store<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Alias for <code>HoloSphereBase#write</code>.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="description last"><p>Data to write</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="description last"><p>Write options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1735">line 1735</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="subscribe"><span class="type-signature"></span>subscribe<span class="signature">(holonId, lensName, callback, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Object}</span></h3><div class="description"><p>Subscribes to real-time updates for a holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>callback</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Callback function called with updated data</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Subscription options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1380">line 1380</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><dl><dt><div class="param-desc"><p>If callback is not a function</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">TypeError</span></dd></dl></dt><dd></dd></dl></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Subscription object with unsubscribe method</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Object</span></dd></dl></div><h3 class="name has-anchor" id="subscribeGlobal"><span class="type-signature">(async) </span>subscribeGlobal<span class="signature">(table, key, callback, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;{unsubscribe: function()}>}</span></h3><div class="description"><p>Subscribes to real-time updates for a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Key to subscribe to</p></td></tr><tr><td class="name"><code>callback</code></td><td class="type"><span class="param-type">function</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Callback function called with updated data</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Subscription options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1423">line 1423</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Subscription object</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;{unsubscribe: function()}></span></dd></dl></div><h3 class="name has-anchor" id="toHolon"><span class="type-signature">(async) </span>toHolon<span class="signature">(lat, lng, resolution)</span><span class="type-signature"> &rarr; {Promise.&lt;string>}</span></h3><div class="description"><p>Converts geographic coordinates to an H3 holon ID.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>lat</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>Latitude (-90 to 90)</p></td></tr><tr><td class="name"><code>lng</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>Longitude (-180 to 180)</p></td></tr><tr><td class="name"><code>resolution</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>H3 resolution level (0-15)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line202">line 202</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>H3 cell ID representing the holon</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;string></span></dd></dl></div><h3 class="name has-anchor" id="unfederate"><span class="type-signature">(async) </span>unfederate<span class="signature">(sourceHolon, targetHolon, lensName)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Removes federation between two holons for a specific lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line945">line 945</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Always returns true (idempotent operation)</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="unfederateHolon"><span class="type-signature">(async) </span>unfederateHolon<span class="signature">(sourceHolon, targetHolon)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Removes a holon-level federation relationship.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>sourceHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Source holon H3 cell ID</p></td></tr><tr><td class="name"><code>targetHolon</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Target holon H3 cell ID</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1310">line 1310</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if unfederation succeeded, false if no federation existed</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="upcast"><span class="type-signature">(async) </span>upcast<span class="signature">(holonId, lensName, dataId, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;Object>}</span></h3><div class="description"><p>Performs hierarchical upcast aggregation. Aggregates data from child holons up to parent holons in the H3 hierarchy.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Starting holon H3 cell ID</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ID of the data to upcast</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Upcast options</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1364">line 1364</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Aggregation result</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;Object></span></dd></dl></div><h3 class="name has-anchor" id="update"><span class="type-signature">(async) </span>update<span class="signature">(holonId, lensName, dataId, updates, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Updates existing data in a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens (data category)</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>ID of the data to update</p></td></tr><tr><td class="name"><code>updates</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Object containing fields to update</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Update options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilityToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Capability token for authorization</p></td></tr><tr><td class="name"><code>validate</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to validate against schema</p></td></tr><tr><td class="name"><code>strict</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Override schema strict mode</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line548">line 548</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><dl><dt><div class="param-desc"><p>If holonId, lensName, dataId, or updates is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></li><li><dl><dt><div class="param-desc"><p>If capability token is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">AuthorizationError</span></dd></dl></dt><dd></dd></dl></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if update succeeded, false if data not found</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="updateGlobal"><span class="type-signature">(async) </span>updateGlobal<span class="signature">(table, key, updates)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Updates data in a global table.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>key</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Key of the data to update</p></td></tr><tr><td class="name"><code>updates</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Object containing fields to update</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line703">line 703</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if update succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="updateHologramOverrides"><span class="type-signature">(async) </span>updateHologramOverrides<span class="signature">(holonId, lensName, dataId, overrides)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Updates local override values on a hologram.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>H3 cell ID where the hologram exists</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the lens</p></td></tr><tr><td class="name"><code>dataId</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>ID of the hologram</p></td></tr><tr><td class="name"><code>overrides</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Object containing local override values</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line965">line 965</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if update succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="verify"><span class="type-signature">(async) </span>verify<span class="signature">(content, signature, publicKey)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Verifies a signature against content and public key.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>content</code></td><td class="type"><span class="param-type">string</span> |<wbr> <span class="param-type">Object</span></td><td class="description last"><p>Original content</p></td></tr><tr><td class="name"><code>signature</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Hex-encoded signature</p></td></tr><tr><td class="name"><code>publicKey</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Hex-encoded public key</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1465">line 1465</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if signature is valid</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="verifyCapability"><span class="type-signature">(async) </span>verifyCapability<span class="signature">(token, requiredPermission, scope)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Verifies a capability token.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>token</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Capability token to verify</p></td></tr><tr><td class="name"><code>requiredPermission</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Required permission to check</p></td></tr><tr><td class="name"><code>scope</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Scope to verify against</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1490">line 1490</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if token is valid and has required permission</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="verifyNostrEvent"><span class="type-signature">(async) </span>verifyNostrEvent<span class="signature">(event)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Verifies a Nostr event signature.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>event</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Nostr event to verify</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>id</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Event ID</p></td></tr><tr><td class="name"><code>pubkey</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Author public key</p></td></tr><tr><td class="name"><code>created_at</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>Creation timestamp</p></td></tr><tr><td class="name"><code>kind</code></td><td class="type"><span class="param-type">number</span></td><td class="description last"><p>Event kind</p></td></tr><tr><td class="name"><code>tags</code></td><td class="type"><span class="param-type">Array</span></td><td class="description last"><p>Event tags</p></td></tr><tr><td class="name"><code>content</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Event content</p></td></tr><tr><td class="name"><code>sig</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Event signature</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line1591">line 1591</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if event signature is valid</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="write"><span class="type-signature">(async) </span>write<span class="signature">(holonId, lensName, data, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Writes data to a specific holon and lens.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>holonId</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>H3 cell ID for the holon</p></td></tr><tr><td class="name"><code>lensName</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Name of the lens (data category)</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes"></td><td class="default"></td><td class="description last"><p>Data object to write (must have or will be assigned an id)</p></td></tr><tr><td class="name"><code>options</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default">{}</td><td class="description last"><p>Write options</p><h6>Properties</h6><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Attributes</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>capabilityToken</code></td><td class="type"><span class="param-type">string</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Capability token for authorization</p></td></tr><tr><td class="name"><code>validate</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to validate against schema</p></td></tr><tr><td class="name"><code>strict</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Override schema strict mode</p></td></tr><tr><td class="name"><code>autoPropagate</code></td><td class="type"><span class="param-type">boolean</span></td><td class="attributes">&lt;optional><br></td><td class="default">true</td><td class="description last"><p>Whether to propagate to federated holons</p></td></tr><tr><td class="name"><code>propagationOptions</code></td><td class="type"><span class="param-type">Object</span></td><td class="attributes">&lt;optional><br></td><td class="default"></td><td class="description last"><p>Options for propagation</p></td></tr></tbody></table></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line255">line 255</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Throws:</strong><ul><li><dl><dt><div class="param-desc"><p>If holonId, lensName, or data is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">ValidationError</span></dd></dl></dt><dd></dd></dl></li><li><dl><dt><div class="param-desc"><p>If capability token is invalid</p></div></dt><dd></dd><dt><dl><dt>Type</dt><dd><span class="param-type">AuthorizationError</span></dd></dl></dt><dd></dd></dl></li></ul></div><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if write succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div><h3 class="name has-anchor" id="writeGlobal"><span class="type-signature">(async) </span>writeGlobal<span class="signature">(table, data)</span><span class="type-signature"> &rarr; {Promise.&lt;boolean>}</span></h3><div class="description"><p>Writes data to a global table (not holon-specific).</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>table</code></td><td class="type"><span class="param-type">string</span></td><td class="description last"><p>Name of the global table</p></td></tr><tr><td class="name"><code>data</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Data object to write (must have an id field)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="index.js.html">index.js</a>, <a href="index.js.html#line680">line 680</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>True if write succeeded</p></div><dl class="param-type"><dt>Type:&nbsp;</dt><dd><span class="param-type">Promise.&lt;boolean></span></dd></dl></div></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><div class="mobile-nav-links"></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-modules"><div>Modules</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="module-ai.html">ai</a></div><div class="sidebar-section-children"><a href="module-ai_aggregation.html">ai/aggregation</a></div><div class="sidebar-section-children"><a href="module-ai_breakdown.html">ai/breakdown</a></div><div class="sidebar-section-children"><a href="module-ai_classifier.html">ai/classifier</a></div><div class="sidebar-section-children"><a href="module-ai_council.html">ai/council</a></div><div class="sidebar-section-children"><a href="module-ai_embeddings.html">ai/embeddings</a></div><div class="sidebar-section-children"><a href="module-ai_federation-ai.html">ai/federation-ai</a></div><div class="sidebar-section-children"><a href="module-ai_h3-ai.html">ai/h3-ai</a></div><div class="sidebar-section-children"><a href="module-ai_json-ops.html">ai/json-ops</a></div><div class="sidebar-section-children"><a href="module-ai_llm-service.html">ai/llm-service</a></div><div class="sidebar-section-children"><a href="module-ai_nl-query.html">ai/nl-query</a></div><div class="sidebar-section-children"><a href="module-ai_relationships.html">ai/relationships</a></div><div class="sidebar-section-children"><a href="module-ai_schema-extractor.html">ai/schema-extractor</a></div><div class="sidebar-section-children"><a href="module-ai_spatial.html">ai/spatial</a></div><div class="sidebar-section-children"><a href="module-ai_tts.html">ai/tts</a></div><div class="sidebar-section-children"><a href="module-content_social-protocols.html">content/social-protocols</a></div><div class="sidebar-section-children"><a href="module-core_holosphere.html">core/holosphere</a></div><div class="sidebar-section-children"><a href="module-crypto_nostr-utils.html">crypto/nostr-utils</a></div><div class="sidebar-section-children"><a href="module-crypto_secp256k1.html">crypto/secp256k1</a></div><div class="sidebar-section-children"><a href="module-federation_hologram.html">federation/hologram</a></div><div class="sidebar-section-children"><a href="module-hierarchical_upcast.html">hierarchical/upcast</a></div><div class="sidebar-section-children"><a href="module-holosphere.html">holosphere</a></div><div class="sidebar-section-children"><a href="module-lib_ai-methods.html">lib/ai-methods</a></div><div class="sidebar-section-children"><a href="module-lib_contract-methods.html">lib/contract-methods</a></div><div class="sidebar-section-children"><a href="module-lib_errors.html">lib/errors</a></div><div class="sidebar-section-children"><a href="module-lib_federation-methods.html">lib/federation-methods</a></div><div class="sidebar-section-children"><a href="module-lib_index.html">lib/index</a></div><div class="sidebar-section-children"><a href="module-schema_validator.html">schema/validator</a></div><div class="sidebar-section-children"><a href="module-spatial_h3-operations.html">spatial/h3-operations</a></div><div class="sidebar-section-children"><a href="module-storage_backend-factory.html">storage/backend-factory</a></div><div class="sidebar-section-children"><a href="module-storage_backend-interface.html">storage/backend-interface</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub-backend.html">storage/backends/activitypub-backend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub_server.html">storage/backends/activitypub/server</a></div><div class="sidebar-section-children"><a href="module-storage_backends_gundb-backend.html">storage/backends/gundb-backend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_nostr-backend.html">storage/backends/nostr-backend</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage.html">storage/filesystem-storage</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage-browser.html">storage/filesystem-storage-browser</a></div><div class="sidebar-section-children"><a href="module-storage_global-tables.html">storage/global-tables</a></div><div class="sidebar-section-children"><a href="module-storage_gun-async.html">storage/gun-async</a></div><div class="sidebar-section-children"><a href="module-storage_gun-auth.html">storage/gun-auth</a></div><div class="sidebar-section-children"><a href="module-storage_gun-federation.html">storage/gun-federation</a></div><div class="sidebar-section-children"><a href="module-storage_gun-references.html">storage/gun-references</a></div><div class="sidebar-section-children"><a href="module-storage_gun-schema.html">storage/gun-schema</a></div><div class="sidebar-section-children"><a href="module-storage_gun-wrapper.html">storage/gun-wrapper</a></div><div class="sidebar-section-children"><a href="module-storage_indexeddb-storage.html">storage/indexeddb-storage</a></div><div class="sidebar-section-children"><a href="module-storage_key-storage.html">storage/key-storage</a></div><div class="sidebar-section-children"><a href="module-storage_key-storage-simple.html">storage/key-storage-simple</a></div><div class="sidebar-section-children"><a href="module-storage_memory-storage.html">storage/memory-storage</a></div><div class="sidebar-section-children"><a href="module-storage_migration.html">storage/migration</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-async.html">storage/nostr-async</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-client.html">storage/nostr-client</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-wrapper.html">storage/nostr-wrapper</a></div><div class="sidebar-section-children"><a href="module-storage_outbox-queue.html">storage/outbox-queue</a></div><div class="sidebar-section-children"><a href="module-storage_persistent-storage.html">storage/persistent-storage</a></div><div class="sidebar-section-children"><a href="module-storage_sync-service.html">storage/sync-service</a></div><div class="sidebar-section-children"><a href="module-storage_unified-storage.html">storage/unified-storage</a></div><div class="sidebar-section-children"><a href="module-subscriptions_manager.html">subscriptions/manager</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="module-ai_aggregation.SmartAggregation.html">SmartAggregation</a></div><div class="sidebar-section-children"><a href="module-ai_aggregation-SmartAggregation.html">SmartAggregation</a></div><div class="sidebar-section-children"><a href="module-ai_breakdown.TaskBreakdown.html">TaskBreakdown</a></div><div class="sidebar-section-children"><a href="module-ai_breakdown-TaskBreakdown.html">TaskBreakdown</a></div><div class="sidebar-section-children"><a href="module-ai_classifier.Classifier.html">Classifier</a></div><div class="sidebar-section-children"><a href="module-ai_classifier-Classifier.html">Classifier</a></div><div class="sidebar-section-children"><a href="module-ai_council.Council.html">Council</a></div><div class="sidebar-section-children"><a href="module-ai_council-Council.html">Council</a></div><div class="sidebar-section-children"><a href="module-ai_embeddings.Embeddings.html">Embeddings</a></div><div class="sidebar-section-children"><a href="module-ai_embeddings-Embeddings.html">Embeddings</a></div><div class="sidebar-section-children"><a href="module-ai_federation-ai.FederationAdvisor.html">FederationAdvisor</a></div><div class="sidebar-section-children"><a href="module-ai_federation-ai-FederationAdvisor.html">FederationAdvisor</a></div><div class="sidebar-section-children"><a href="module-ai_h3-ai.H3AI.html">H3AI</a></div><div class="sidebar-section-children"><a href="module-ai_h3-ai-H3AI.html">H3AI</a></div><div class="sidebar-section-children"><a href="module-ai_json-ops.JSONOps.html">JSONOps</a></div><div class="sidebar-section-children"><a href="module-ai_json-ops-JSONOps.html">JSONOps</a></div><div class="sidebar-section-children"><a href="module-ai_llm-service.LLMService.html">LLMService</a></div><div class="sidebar-section-children"><a href="module-ai_llm-service-LLMService.html">LLMService</a></div><div class="sidebar-section-children"><a href="module-ai_nl-query.NLQuery.html">NLQuery</a></div><div class="sidebar-section-children"><a href="module-ai_nl-query-NLQuery.html">NLQuery</a></div><div class="sidebar-section-children"><a href="module-ai_relationships.RelationshipDiscovery.html">RelationshipDiscovery</a></div><div class="sidebar-section-children"><a href="module-ai_relationships-RelationshipDiscovery.html">RelationshipDiscovery</a></div><div class="sidebar-section-children"><a href="module-ai_schema-extractor.SchemaExtractor.html">SchemaExtractor</a></div><div class="sidebar-section-children"><a href="module-ai_schema-extractor-SchemaExtractor.html">SchemaExtractor</a></div><div class="sidebar-section-children"><a href="module-ai_spatial.SpatialAnalysis.html">SpatialAnalysis</a></div><div class="sidebar-section-children"><a href="module-ai_spatial-SpatialAnalysis.html">SpatialAnalysis</a></div><div class="sidebar-section-children"><a href="module-ai_tts.TTS.html">TTS</a></div><div class="sidebar-section-children"><a href="module-ai_tts-TTS.html">TTS</a></div><div class="sidebar-section-children"><a href="module-core_holosphere.HoloSphere.html">HoloSphere</a></div><div class="sidebar-section-children"><a href="module-core_holosphere-HoloSphere.html">HoloSphere</a></div><div class="sidebar-section-children"><a href="module-holosphere-HoloSphereBase.html">HoloSphereBase</a></div><div class="sidebar-section-children"><a href="module-holosphere-HoloSphereBase.html">HoloSphereBase</a></div><div class="sidebar-section-children"><a href="module-lib_errors.AuthorizationError.html">AuthorizationError</a></div><div class="sidebar-section-children"><a href="module-lib_errors.ValidationError.html">ValidationError</a></div><div class="sidebar-section-children"><a href="module-lib_errors-AuthorizationError.html">AuthorizationError</a></div><div class="sidebar-section-children"><a href="module-lib_errors-ValidationError.html">ValidationError</a></div><div class="sidebar-section-children"><a href="module-schema_validator.ValidationError.html">ValidationError</a></div><div class="sidebar-section-children"><a href="module-schema_validator-ValidationError.html">ValidationError</a></div><div class="sidebar-section-children"><a href="module-storage_backend-factory.BackendFactory.html">BackendFactory</a></div><div class="sidebar-section-children"><a href="module-storage_backend-interface.StorageBackend.html">StorageBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backend-interface-StorageBackend.html">StorageBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub-backend.ActivityPubBackend.html">ActivityPubBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub-backend-ActivityPubBackend.html">ActivityPubBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub_server.ActivityPubServer.html">ActivityPubServer</a></div><div class="sidebar-section-children"><a href="module-storage_backends_activitypub_server-ActivityPubServer.html">ActivityPubServer</a></div><div class="sidebar-section-children"><a href="module-storage_backends_gundb-backend.GunDBBackend.html">GunDBBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_gundb-backend-GunDBBackend.html">GunDBBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_nostr-backend.NostrBackend.html">NostrBackend</a></div><div class="sidebar-section-children"><a href="module-storage_backends_nostr-backend-NostrBackend.html">NostrBackend</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage-browser.FileSystemStorage.html">FileSystemStorage</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage-browser-FileSystemStorage.html">FileSystemStorage</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage.FileSystemStorage.html">FileSystemStorage</a></div><div class="sidebar-section-children"><a href="module-storage_filesystem-storage-FileSystemStorage.html">FileSystemStorage</a></div><div class="sidebar-section-children"><a href="module-storage_gun-auth.GunAuth.html">GunAuth</a></div><div class="sidebar-section-children"><a href="module-storage_gun-auth-GunAuth.html">GunAuth</a></div><div class="sidebar-section-children"><a href="module-storage_gun-references.GunReferenceHandler.html">GunReferenceHandler</a></div><div class="sidebar-section-children"><a href="module-storage_gun-references-GunReferenceHandler.html">GunReferenceHandler</a></div><div class="sidebar-section-children"><a href="module-storage_gun-schema.GunSchemaValidator.html">GunSchemaValidator</a></div><div class="sidebar-section-children"><a href="module-storage_gun-schema-GunSchemaValidator.html">GunSchemaValidator</a></div><div class="sidebar-section-children"><a href="module-storage_indexeddb-storage.IndexedDBStorage.html">IndexedDBStorage</a></div><div class="sidebar-section-children"><a href="module-storage_indexeddb-storage-IndexedDBStorage.html">IndexedDBStorage</a></div><div class="sidebar-section-children"><a href="module-storage_memory-storage.MemoryStorage.html">MemoryStorage</a></div><div class="sidebar-section-children"><a href="module-storage_memory-storage-MemoryStorage.html">MemoryStorage</a></div><div class="sidebar-section-children"><a href="module-storage_migration.MigrationTool.html">MigrationTool</a></div><div class="sidebar-section-children"><a href="module-storage_migration-MigrationTool.html">MigrationTool</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-client.NostrClient.html">NostrClient</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-client-LRUCache.html">LRUCache</a></div><div class="sidebar-section-children"><a href="module-storage_nostr-client-NostrClient.html">NostrClient</a></div><div class="sidebar-section-children"><a href="module-storage_outbox-queue.OutboxQueue.html">OutboxQueue</a></div><div class="sidebar-section-children"><a href="module-storage_outbox-queue-OutboxQueue.html">OutboxQueue</a></div><div class="sidebar-section-children"><a href="module-storage_persistent-storage-PersistentStorage.html">PersistentStorage</a></div><div class="sidebar-section-children"><a href="module-storage_sync-service.SyncService.html">SyncService</a></div><div class="sidebar-section-children"><a href="module-storage_sync-service-SyncService.html">SyncService</a></div><div class="sidebar-section-children"><a href="module-subscriptions_manager.SubscriptionRegistry.html">SubscriptionRegistry</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-global"><div>Global</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="global.html#FederationRequestPayload">FederationRequestPayload</a></div><div class="sidebar-section-children"><a href="global.html#FederationResponsePayload">FederationResponsePayload</a></div><div class="sidebar-section-children"><a href="global.html#acceptFederationRequest">acceptFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#acceptFederationRequest">acceptFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#addFederatedPartner">addFederatedPartner</a></div><div class="sidebar-section-children"><a href="global.html#cleanupExpiredCapabilities">cleanupExpiredCapabilities</a></div><div class="sidebar-section-children"><a href="global.html#createFederationRequest">createFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#createFederationResponse">createFederationResponse</a></div><div class="sidebar-section-children"><a href="global.html#declineFederationRequest">declineFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#getCapabilityForAuthor">getCapabilityForAuthor</a></div><div class="sidebar-section-children"><a href="global.html#getFederatedAuthors">getFederatedAuthors</a></div><div class="sidebar-section-children"><a href="global.html#getFederatedAuthorsForScope">getFederatedAuthorsForScope</a></div><div class="sidebar-section-children"><a href="global.html#getFederatedPartner">getFederatedPartner</a></div><div class="sidebar-section-children"><a href="global.html#getFederationRegistry">getFederationRegistry</a></div><div class="sidebar-section-children"><a href="global.html#getPendingFederationRequests">getPendingFederationRequests</a></div><div class="sidebar-section-children"><a href="global.html#initiateFederationHandshake">initiateFederationHandshake</a></div><div class="sidebar-section-children"><a href="global.html#isFederationRequest">isFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#isFederationResponse">isFederationResponse</a></div><div class="sidebar-section-children"><a href="global.html#rejectFederationRequest">rejectFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#removeFederatedPartner">removeFederatedPartner</a></div><div class="sidebar-section-children"><a href="global.html#revokeOutboundCapability">revokeOutboundCapability</a></div><div class="sidebar-section-children"><a href="global.html#saveFederationRegistry">saveFederationRegistry</a></div><div class="sidebar-section-children"><a href="global.html#sendFederationRequest">sendFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#sendFederationRequest">sendFederationRequest</a></div><div class="sidebar-section-children"><a href="global.html#sendFederationResponse">sendFederationResponse</a></div><div class="sidebar-section-children"><a href="global.html#storeInboundCapability">storeInboundCapability</a></div><div class="sidebar-section-children"><a href="global.html#storeOutboundCapability">storeOutboundCapability</a></div><div class="sidebar-section-children"><a href="global.html#subscribeFederationAcceptances">subscribeFederationAcceptances</a></div><div class="sidebar-section-children"><a href="global.html#subscribeFederationDeclines">subscribeFederationDeclines</a></div><div class="sidebar-section-children"><a href="global.html#subscribeFederationRequests">subscribeFederationRequests</a></div><div class="sidebar-section-children"><a href="global.html#subscribeToFederationDMs">subscribeToFederationDMs</a></div><div class="sidebar-section-children"><a href="global.html#updateDiscoverySettings">updateDiscoverySettings</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>