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
@@ -1,15 +1,24 @@
1
1
  /**
2
- * AI Methods Mixin
3
- * All AI-powered operations for HoloSphere
2
+ * @fileoverview AI methods mixin providing comprehensive AI-powered operations for HoloSphere.
3
+ * Includes LLM operations, embeddings, semantic search, natural language queries, spatial analysis,
4
+ * and specialized AI features for geographic and hierarchical data processing.
5
+ * @module lib/ai-methods
4
6
  */
5
7
 
6
8
  /**
7
- * Mixin that adds AI methods to a HoloSphere class
9
+ * Mixin that adds AI methods to a HoloSphere class.
10
+ * Provides access to LLM, embeddings, semantic search, council, classification,
11
+ * spatial analysis, aggregation, federation advisor, relationships, and task breakdown.
8
12
  * @param {Class} Base - Base class to extend
9
13
  * @returns {Class} Extended class with AI methods
10
14
  */
11
15
  export function withAIMethods(Base) {
12
16
  return class extends Base {
17
+ /**
18
+ * Internal method to ensure AI services are initialized.
19
+ * @private
20
+ * @throws {Error} If AI services are not initialized
21
+ */
13
22
  _requireAI() {
14
23
  if (!this._ai) {
15
24
  throw new Error('AI services not initialized. Provide openaiKey in config.');
@@ -18,31 +27,70 @@ export function withAIMethods(Base) {
18
27
 
19
28
  // --- Core LLM Methods ---
20
29
 
30
+ /**
31
+ * Summarize text using AI.
32
+ * @param {string} text - Text content to summarize
33
+ * @param {Object} [options={}] - Summarization options (model, maxLength, etc.)
34
+ * @returns {Promise<string>} Generated summary
35
+ */
21
36
  async summarize(text, options = {}) {
22
37
  this._requireAI();
23
38
  return this._ai.llm.summarize(text, options);
24
39
  }
25
40
 
41
+ /**
42
+ * Analyze text for a specific aspect using AI.
43
+ * @param {string} text - Text content to analyze
44
+ * @param {string} aspect - Aspect to analyze (e.g., 'sentiment', 'tone', 'themes')
45
+ * @param {Object} [options={}] - Analysis options
46
+ * @returns {Promise<string>} Analysis result
47
+ */
26
48
  async analyze(text, aspect, options = {}) {
27
49
  this._requireAI();
28
50
  return this._ai.llm.analyze(text, aspect, options);
29
51
  }
30
52
 
53
+ /**
54
+ * Extract keywords from text using AI.
55
+ * @param {string} text - Text content to process
56
+ * @param {Object} [options={}] - Extraction options (count, focus, etc.)
57
+ * @returns {Promise<string[]>} Array of extracted keywords
58
+ */
31
59
  async extractKeywords(text, options = {}) {
32
60
  this._requireAI();
33
61
  return this._ai.llm.extractKeywords(text, options);
34
62
  }
35
63
 
64
+ /**
65
+ * Categorize text into one of the provided categories.
66
+ * @param {string} text - Text content to categorize
67
+ * @param {string[]} categories - Array of possible categories
68
+ * @param {Object} [options={}] - Categorization options
69
+ * @returns {Promise<string>} Selected category
70
+ */
36
71
  async categorize(text, categories, options = {}) {
37
72
  this._requireAI();
38
73
  return this._ai.llm.categorize(text, categories, options);
39
74
  }
40
75
 
76
+ /**
77
+ * Translate text to target language using AI.
78
+ * @param {string} text - Text to translate
79
+ * @param {string} targetLanguage - Target language (e.g., 'Spanish', 'French')
80
+ * @param {Object} [options={}] - Translation options
81
+ * @returns {Promise<string>} Translated text
82
+ */
41
83
  async translate(text, targetLanguage, options = {}) {
42
84
  this._requireAI();
43
85
  return this._ai.llm.translate(text, targetLanguage, options);
44
86
  }
45
87
 
88
+ /**
89
+ * Generate questions from text using AI.
90
+ * @param {string} text - Text content to generate questions from
91
+ * @param {Object} [options={}] - Generation options (count, type, etc.)
92
+ * @returns {Promise<string[]>} Array of generated questions
93
+ */
46
94
  async generateQuestions(text, options = {}) {
47
95
  this._requireAI();
48
96
  return this._ai.llm.generateQuestions(text, options);
@@ -50,6 +98,14 @@ export function withAIMethods(Base) {
50
98
 
51
99
  // --- Schema Extraction ---
52
100
 
101
+ /**
102
+ * Extract structured data from text according to a lens schema.
103
+ * @param {string} text - Text to extract data from
104
+ * @param {string} lensName - Name of lens with defined schema
105
+ * @param {Object} [options={}] - Extraction options
106
+ * @returns {Promise<Object>} Extracted data matching schema
107
+ * @throws {Error} If schema not found for lens
108
+ */
53
109
  async extractToSchema(text, lensName, options = {}) {
54
110
  this._requireAI();
55
111
  const schemaObj = await this.getSchema(lensName);
@@ -61,26 +117,61 @@ export function withAIMethods(Base) {
61
117
 
62
118
  // --- Fuzzy JSON Operations ---
63
119
 
120
+ /**
121
+ * AI-powered fuzzy addition of JSON objects.
122
+ * @param {Object} obj1 - First object
123
+ * @param {Object} obj2 - Second object
124
+ * @param {Object} [options={}] - Operation options
125
+ * @returns {Promise<Object>} Result of fuzzy addition
126
+ */
64
127
  async jsonAdd(obj1, obj2, options = {}) {
65
128
  this._requireAI();
66
129
  return this._ai.jsonOps.add(obj1, obj2, options);
67
130
  }
68
131
 
132
+ /**
133
+ * AI-powered fuzzy subtraction of JSON objects.
134
+ * @param {Object} obj1 - Object to subtract from
135
+ * @param {Object} obj2 - Object to subtract
136
+ * @param {Object} [options={}] - Operation options
137
+ * @returns {Promise<Object>} Result of fuzzy subtraction
138
+ */
69
139
  async jsonSubtract(obj1, obj2, options = {}) {
70
140
  this._requireAI();
71
141
  return this._ai.jsonOps.subtract(obj1, obj2, options);
72
142
  }
73
143
 
144
+ /**
145
+ * AI-powered fuzzy union of JSON objects.
146
+ * @param {Object} obj1 - First object
147
+ * @param {Object} obj2 - Second object
148
+ * @param {Object} [options={}] - Operation options
149
+ * @returns {Promise<Object>} Result of fuzzy union
150
+ */
74
151
  async jsonUnion(obj1, obj2, options = {}) {
75
152
  this._requireAI();
76
153
  return this._ai.jsonOps.union(obj1, obj2, options);
77
154
  }
78
155
 
156
+ /**
157
+ * AI-powered fuzzy difference of JSON objects.
158
+ * @param {Object} obj1 - First object
159
+ * @param {Object} obj2 - Second object
160
+ * @param {Object} [options={}] - Operation options
161
+ * @returns {Promise<Object>} Result of fuzzy difference
162
+ */
79
163
  async jsonDifference(obj1, obj2, options = {}) {
80
164
  this._requireAI();
81
165
  return this._ai.jsonOps.difference(obj1, obj2, options);
82
166
  }
83
167
 
168
+ /**
169
+ * AI-powered fuzzy concatenation of JSON objects.
170
+ * @param {Object} obj1 - First object
171
+ * @param {Object} obj2 - Second object
172
+ * @param {Object} [options={}] - Operation options
173
+ * @returns {Promise<Object>} Result of fuzzy concatenation
174
+ */
84
175
  async jsonConcatenate(obj1, obj2, options = {}) {
85
176
  this._requireAI();
86
177
  return this._ai.jsonOps.concatenate(obj1, obj2, options);
@@ -88,16 +179,37 @@ export function withAIMethods(Base) {
88
179
 
89
180
  // --- Embeddings & Semantic Search ---
90
181
 
182
+ /**
183
+ * Generate embedding vector for text.
184
+ * @param {string} text - Text to embed
185
+ * @returns {Promise<number[]>} Embedding vector
186
+ */
91
187
  async embed(text) {
92
188
  this._requireAI();
93
189
  return this._ai.embeddings.embed(text);
94
190
  }
95
191
 
192
+ /**
193
+ * Perform semantic search on holon data using embeddings.
194
+ * @param {string} query - Search query text
195
+ * @param {string} holonId - Holon to search within
196
+ * @param {string} lensName - Lens to search within
197
+ * @param {Object} [options={}] - Search options (limit, threshold, etc.)
198
+ * @returns {Promise<Object[]>} Ranked search results
199
+ */
96
200
  async semanticSearch(query, holonId, lensName, options = {}) {
97
201
  this._requireAI();
98
202
  return this._ai.embeddings.semanticSearch(query, holonId, lensName, options);
99
203
  }
100
204
 
205
+ /**
206
+ * Store data with automatically generated embedding.
207
+ * @param {string} holonId - Holon ID to store in
208
+ * @param {string} lensName - Lens name to store under
209
+ * @param {Object} data - Data object to store
210
+ * @param {string} [textField='description'] - Field to use for embedding generation
211
+ * @returns {Promise<Object>} Stored data with embedding
212
+ */
101
213
  async storeWithEmbedding(holonId, lensName, data, textField = 'description') {
102
214
  this._requireAI();
103
215
  return this._ai.embeddings.storeWithEmbedding(holonId, lensName, data, textField);
@@ -105,11 +217,24 @@ export function withAIMethods(Base) {
105
217
 
106
218
  // --- Multi-Perspective Council ---
107
219
 
220
+ /**
221
+ * Ask a question to the multi-perspective AI council.
222
+ * @param {string} question - Question to ask
223
+ * @param {Object} [options={}] - Council options (perspectives, synthesis, etc.)
224
+ * @returns {Promise<Object>} Council responses and synthesis
225
+ */
108
226
  async askCouncil(question, options = {}) {
109
227
  this._requireAI();
110
228
  return this._ai.council.ask(question, options);
111
229
  }
112
230
 
231
+ /**
232
+ * Ask a question to a custom set of perspectives.
233
+ * @param {string} question - Question to ask
234
+ * @param {string[]} perspectives - Array of perspective descriptions
235
+ * @param {Object} [options={}] - Council options
236
+ * @returns {Promise<Object>} Custom council responses and synthesis
237
+ */
113
238
  async askCouncilCustom(question, perspectives, options = {}) {
114
239
  this._requireAI();
115
240
  return this._ai.council.askCustom(question, perspectives, options);
@@ -117,11 +242,25 @@ export function withAIMethods(Base) {
117
242
 
118
243
  // --- Text-to-Speech ---
119
244
 
245
+ /**
246
+ * Convert text to speech audio.
247
+ * @param {string} text - Text to convert to speech
248
+ * @param {string} [voice='nova'] - Voice to use (alloy, echo, fable, onyx, nova, shimmer)
249
+ * @param {Object} [options={}] - TTS options (speed, format, etc.)
250
+ * @returns {Promise<Buffer>} Audio buffer
251
+ */
120
252
  async textToSpeech(text, voice = 'nova', options = {}) {
121
253
  this._requireAI();
122
254
  return this._ai.tts.speak(text, voice, options);
123
255
  }
124
256
 
257
+ /**
258
+ * Convert text to speech audio (base64 encoded).
259
+ * @param {string} text - Text to convert to speech
260
+ * @param {string} [voice='nova'] - Voice to use
261
+ * @param {Object} [options={}] - TTS options
262
+ * @returns {Promise<string>} Base64-encoded audio
263
+ */
125
264
  async textToSpeechBase64(text, voice = 'nova', options = {}) {
126
265
  this._requireAI();
127
266
  return this._ai.tts.speakBase64(text, voice, options);
@@ -129,11 +268,24 @@ export function withAIMethods(Base) {
129
268
 
130
269
  // --- Natural Language Queries ---
131
270
 
271
+ /**
272
+ * Execute a natural language query on holon data.
273
+ * @param {string} query - Natural language query
274
+ * @param {string|null} [holonId=null] - Optional holon to query
275
+ * @param {string|null} [lensName=null] - Optional lens to query
276
+ * @param {Object} [options={}] - Query options
277
+ * @returns {Promise<Object>} Query results
278
+ */
132
279
  async nlQuery(query, holonId = null, lensName = null, options = {}) {
133
280
  this._requireAI();
134
281
  return this._ai.nlQuery.execute(query, holonId, lensName, options);
135
282
  }
136
283
 
284
+ /**
285
+ * Parse a natural language query into structured components.
286
+ * @param {string} query - Natural language query
287
+ * @returns {Promise<Object>} Parsed query structure
288
+ */
137
289
  async parseNLQuery(query) {
138
290
  this._requireAI();
139
291
  return this._ai.nlQuery.parse(query);
@@ -141,16 +293,35 @@ export function withAIMethods(Base) {
141
293
 
142
294
  // --- Auto-Classification ---
143
295
 
296
+ /**
297
+ * Classify content to determine appropriate lens.
298
+ * @param {string|Object} content - Content to classify
299
+ * @param {Object} [options={}] - Classification options
300
+ * @returns {Promise<string>} Recommended lens name
301
+ */
144
302
  async classifyToLens(content, options = {}) {
145
303
  this._requireAI();
146
304
  return this._ai.classifier.classifyToLens(content, options);
147
305
  }
148
306
 
307
+ /**
308
+ * Automatically classify and store content in appropriate lens.
309
+ * @param {string} holonId - Holon to store in
310
+ * @param {string|Object} content - Content to classify and store
311
+ * @param {Object} [options={}] - Storage options
312
+ * @returns {Promise<Object>} Stored data with classification info
313
+ */
149
314
  async autoStore(holonId, content, options = {}) {
150
315
  this._requireAI();
151
316
  return this._ai.classifier.autoStore(holonId, content, options);
152
317
  }
153
318
 
319
+ /**
320
+ * Register a lens for auto-classification.
321
+ * @param {string} lensName - Lens name to register
322
+ * @param {string} description - Lens description for classification
323
+ * @param {string[]} [keywords=[]] - Keywords associated with lens
324
+ */
154
325
  registerLensForClassification(lensName, description, keywords = []) {
155
326
  this._requireAI();
156
327
  this._ai.classifier.registerLens(lensName, description, keywords);
@@ -158,16 +329,38 @@ export function withAIMethods(Base) {
158
329
 
159
330
  // --- Spatial Analysis ---
160
331
 
332
+ /**
333
+ * Analyze a geographic region using AI.
334
+ * @param {string} holonId - H3 holon ID to analyze
335
+ * @param {string|null} [lensName=null] - Optional lens to focus on
336
+ * @param {string|null} [aspect=null] - Optional aspect to analyze
337
+ * @param {Object} [options={}] - Analysis options
338
+ * @returns {Promise<Object>} Region analysis
339
+ */
161
340
  async analyzeRegion(holonId, lensName = null, aspect = null, options = {}) {
162
341
  this._requireAI();
163
342
  return this._ai.spatial.analyzeRegion(holonId, lensName, aspect, options);
164
343
  }
165
344
 
345
+ /**
346
+ * Compare two geographic regions using AI.
347
+ * @param {string} holon1 - First H3 holon ID
348
+ * @param {string} holon2 - Second H3 holon ID
349
+ * @param {string|null} [lensName=null] - Optional lens to focus comparison
350
+ * @returns {Promise<Object>} Comparison analysis
351
+ */
166
352
  async compareRegions(holon1, holon2, lensName = null) {
167
353
  this._requireAI();
168
354
  return this._ai.spatial.compareRegions(holon1, holon2, lensName);
169
355
  }
170
356
 
357
+ /**
358
+ * Analyze spatial trends over time.
359
+ * @param {string} holonId - H3 holon ID
360
+ * @param {string} lensName - Lens to analyze trends for
361
+ * @param {Object|null} [timeRange=null] - Time range for trend analysis
362
+ * @returns {Promise<Object>} Trend analysis
363
+ */
171
364
  async spatialTrends(holonId, lensName, timeRange = null) {
172
365
  this._requireAI();
173
366
  return this._ai.spatial.spatialTrends(holonId, lensName, timeRange);
@@ -175,11 +368,23 @@ export function withAIMethods(Base) {
175
368
 
176
369
  // --- Smart Aggregation ---
177
370
 
371
+ /**
372
+ * Intelligently upcast data with AI-powered aggregation.
373
+ * @param {string} holonId - H3 holon ID to upcast from
374
+ * @param {string} lensName - Lens to upcast
375
+ * @param {Object} [options={}] - Upcast options
376
+ * @returns {Promise<Object>} Smart upcast result
377
+ */
178
378
  async smartUpcast(holonId, lensName, options = {}) {
179
379
  this._requireAI();
180
380
  return this._ai.aggregation.smartUpcast(holonId, lensName, options);
181
381
  }
182
382
 
383
+ /**
384
+ * Generate AI-powered summary of holon data.
385
+ * @param {string} holonId - Holon ID to summarize
386
+ * @returns {Promise<string>} Generated holon summary
387
+ */
183
388
  async generateHolonSummary(holonId) {
184
389
  this._requireAI();
185
390
  return this._ai.aggregation.generateHolonSummary(holonId);
@@ -187,16 +392,32 @@ export function withAIMethods(Base) {
187
392
 
188
393
  // --- Federation Advisor ---
189
394
 
395
+ /**
396
+ * Get AI suggestions for holon federations.
397
+ * @param {string} holonId - Holon to analyze for federation
398
+ * @param {Object} [options={}] - Suggestion options
399
+ * @returns {Promise<Object[]>} Array of federation suggestions
400
+ */
190
401
  async suggestFederations(holonId, options = {}) {
191
402
  this._requireAI();
192
403
  return this._ai.federationAdvisor.suggestFederations(holonId, options);
193
404
  }
194
405
 
406
+ /**
407
+ * Analyze health of holon's federations.
408
+ * @param {string} holonId - Holon to analyze
409
+ * @returns {Promise<Object>} Federation health report
410
+ */
195
411
  async analyzeFederationHealth(holonId) {
196
412
  this._requireAI();
197
413
  return this._ai.federationAdvisor.analyzeFederationHealth(holonId);
198
414
  }
199
415
 
416
+ /**
417
+ * Get AI recommendations for optimizing federations.
418
+ * @param {string} holonId - Holon to optimize
419
+ * @returns {Promise<Object>} Optimization recommendations
420
+ */
200
421
  async optimizeFederation(holonId) {
201
422
  this._requireAI();
202
423
  return this._ai.federationAdvisor.optimizeFederation(holonId);
@@ -204,21 +425,48 @@ export function withAIMethods(Base) {
204
425
 
205
426
  // --- Relationship Discovery ---
206
427
 
428
+ /**
429
+ * Discover relationships between data items using AI.
430
+ * @param {string} holonId - Holon to analyze
431
+ * @param {string|null} [lensName=null] - Optional lens to focus on
432
+ * @returns {Promise<Object[]>} Discovered relationships
433
+ */
207
434
  async discoverRelationships(holonId, lensName = null) {
208
435
  this._requireAI();
209
436
  return this._ai.relationships.discoverRelationships(holonId, lensName);
210
437
  }
211
438
 
439
+ /**
440
+ * Find similar items using AI and embeddings.
441
+ * @param {Object} item - Item to find similar items for
442
+ * @param {string} holonId - Holon to search within
443
+ * @param {string|null} [lensName=null] - Optional lens to search
444
+ * @param {Object} [options={}] - Search options (limit, threshold, etc.)
445
+ * @returns {Promise<Object[]>} Similar items
446
+ */
212
447
  async findSimilar(item, holonId, lensName = null, options = {}) {
213
448
  this._requireAI();
214
449
  return this._ai.relationships.findSimilar(item, holonId, lensName, options);
215
450
  }
216
451
 
452
+ /**
453
+ * Build relationship graph for holon data.
454
+ * @param {string} holonId - Holon ID
455
+ * @param {string} lensName - Lens to build graph for
456
+ * @returns {Promise<Object>} Relationship graph structure
457
+ */
217
458
  async buildRelationshipGraph(holonId, lensName) {
218
459
  this._requireAI();
219
460
  return this._ai.relationships.buildGraph(holonId, lensName);
220
461
  }
221
462
 
463
+ /**
464
+ * Get AI suggestions for connecting an item to others.
465
+ * @param {Object} item - Item to suggest connections for
466
+ * @param {string} holonId - Holon context
467
+ * @param {string} lensName - Lens context
468
+ * @returns {Promise<Object[]>} Connection suggestions
469
+ */
222
470
  async suggestConnections(item, holonId, lensName) {
223
471
  this._requireAI();
224
472
  return this._ai.relationships.suggestConnections(item, holonId, lensName);
@@ -226,26 +474,56 @@ export function withAIMethods(Base) {
226
474
 
227
475
  // --- Task Breakdown ---
228
476
 
477
+ /**
478
+ * Break down complex item into subtasks using AI.
479
+ * @param {Object} item - Item to break down
480
+ * @param {string} holonId - Holon to store breakdown in
481
+ * @param {string} lensName - Lens to use for subtasks
482
+ * @param {Object} [options={}] - Breakdown options (depth, strategy, etc.)
483
+ * @returns {Promise<Object>} Breakdown structure
484
+ */
229
485
  async breakdown(item, holonId, lensName, options = {}) {
230
486
  this._requireAI();
231
487
  return this._ai.taskBreakdown.breakdown(item, holonId, lensName, options);
232
488
  }
233
489
 
490
+ /**
491
+ * Get AI suggestion for breakdown strategy.
492
+ * @param {Object} item - Item to analyze
493
+ * @returns {Promise<Object>} Suggested breakdown strategy
494
+ */
234
495
  async suggestBreakdownStrategy(item) {
235
496
  this._requireAI();
236
497
  return this._ai.taskBreakdown.suggestStrategy(item);
237
498
  }
238
499
 
500
+ /**
501
+ * Flatten hierarchical breakdown into linear array.
502
+ * @param {Object} breakdownResult - Breakdown structure to flatten
503
+ * @returns {Object[]} Flattened breakdown items
504
+ */
239
505
  flattenBreakdown(breakdownResult) {
240
506
  this._requireAI();
241
507
  return this._ai.taskBreakdown.flatten(breakdownResult);
242
508
  }
243
509
 
510
+ /**
511
+ * Get dependency-ordered list of breakdown items.
512
+ * @param {Object} breakdownResult - Breakdown structure
513
+ * @returns {Object[]} Items ordered by dependencies
514
+ */
244
515
  getBreakdownDependencyOrder(breakdownResult) {
245
516
  this._requireAI();
246
517
  return this._ai.taskBreakdown.getDependencyOrder(breakdownResult);
247
518
  }
248
519
 
520
+ /**
521
+ * Get progress status of breakdown items.
522
+ * @param {string} holonId - Holon ID
523
+ * @param {string} lensName - Lens name
524
+ * @param {string} itemId - Parent item ID
525
+ * @returns {Promise<Object>} Progress report
526
+ */
249
527
  async getBreakdownProgress(holonId, lensName, itemId) {
250
528
  this._requireAI();
251
529
  return this._ai.taskBreakdown.getProgress(holonId, lensName, itemId);
@@ -253,51 +531,122 @@ export function withAIMethods(Base) {
253
531
 
254
532
  // --- H3 Geospatial AI ---
255
533
 
534
+ /**
535
+ * Get AI suggestion for optimal H3 resolution for item.
536
+ * @param {Object} item - Item to analyze
537
+ * @param {Object} [options={}] - Analysis options
538
+ * @returns {Promise<number>} Suggested H3 resolution level
539
+ */
256
540
  async suggestH3Resolution(item, options = {}) {
257
541
  this._requireAI();
258
542
  return this._ai.h3ai.suggestResolution(item, options);
259
543
  }
260
544
 
545
+ /**
546
+ * Analyze H3 distribution patterns in data.
547
+ * @param {string} holonId - H3 holon to analyze
548
+ * @param {string} lensName - Lens to analyze
549
+ * @param {Object} [options={}] - Analysis options
550
+ * @returns {Promise<Object>} Distribution analysis
551
+ */
261
552
  async analyzeH3Distribution(holonId, lensName, options = {}) {
262
553
  this._requireAI();
263
554
  return this._ai.h3ai.analyzeDistribution(holonId, lensName, options);
264
555
  }
265
556
 
557
+ /**
558
+ * Find relevance of neighbor H3 cells.
559
+ * @param {string} holonId - H3 holon ID
560
+ * @param {string} lensName - Lens to analyze
561
+ * @param {Object} [options={}] - Analysis options
562
+ * @returns {Promise<Object[]>} Neighbor relevance scores
563
+ */
266
564
  async findH3NeighborRelevance(holonId, lensName, options = {}) {
267
565
  this._requireAI();
268
566
  return this._ai.h3ai.findNeighborRelevance(holonId, lensName, options);
269
567
  }
270
568
 
569
+ /**
570
+ * Get AI suggestion for geographic scope of item.
571
+ * @param {Object} item - Item to analyze
572
+ * @param {string} holonId - Context holon
573
+ * @param {string} lensName - Context lens
574
+ * @param {Object} [options={}] - Analysis options
575
+ * @returns {Promise<Object>} Geographic scope suggestion
576
+ */
271
577
  async suggestGeographicScope(item, holonId, lensName, options = {}) {
272
578
  this._requireAI();
273
579
  return this._ai.h3ai.suggestGeographicScope(item, holonId, lensName, options);
274
580
  }
275
581
 
582
+ /**
583
+ * Analyze H3 coverage patterns.
584
+ * @param {string} holonId - H3 holon to analyze
585
+ * @param {string} lensName - Lens to analyze
586
+ * @param {Object} [options={}] - Analysis options
587
+ * @returns {Promise<Object>} Coverage analysis
588
+ */
276
589
  async analyzeH3Coverage(holonId, lensName, options = {}) {
277
590
  this._requireAI();
278
591
  return this._ai.h3ai.analyzeCoverage(holonId, lensName, options);
279
592
  }
280
593
 
594
+ /**
595
+ * Get insights across different H3 resolutions.
596
+ * @param {string} holonId - H3 holon to analyze
597
+ * @param {string} lensName - Lens to analyze
598
+ * @param {Object} [options={}] - Analysis options
599
+ * @returns {Promise<Object>} Cross-resolution insights
600
+ */
281
601
  async crossH3ResolutionInsights(holonId, lensName, options = {}) {
282
602
  this._requireAI();
283
603
  return this._ai.h3ai.crossResolutionInsights(holonId, lensName, options);
284
604
  }
285
605
 
606
+ /**
607
+ * Get AI suggestion for migrating item to different H3 resolution.
608
+ * @param {Object} item - Item to migrate
609
+ * @param {string} holonId - Current holon
610
+ * @param {string} lensName - Lens context
611
+ * @param {Object} [options={}] - Migration options
612
+ * @returns {Promise<Object>} Migration suggestion
613
+ */
286
614
  async suggestH3Migration(item, holonId, lensName, options = {}) {
287
615
  this._requireAI();
288
616
  return this._ai.h3ai.suggestMigration(item, holonId, lensName, options);
289
617
  }
290
618
 
619
+ /**
620
+ * Generate comprehensive geographic report for holon.
621
+ * @param {string} holonId - H3 holon to report on
622
+ * @param {Object} [options={}] - Report options
623
+ * @returns {Promise<string>} Generated geographic report
624
+ */
291
625
  async generateH3Report(holonId, options = {}) {
292
626
  this._requireAI();
293
627
  return this._ai.h3ai.generateGeographicReport(holonId, options);
294
628
  }
295
629
 
630
+ /**
631
+ * Find geographic clusters in holon data.
632
+ * @param {string} holonId - H3 holon to analyze
633
+ * @param {string} lensName - Lens to analyze
634
+ * @param {Object} [options={}] - Clustering options
635
+ * @returns {Promise<Object[]>} Identified clusters
636
+ */
296
637
  async findH3Clusters(holonId, lensName, options = {}) {
297
638
  this._requireAI();
298
639
  return this._ai.h3ai.findGeographicClusters(holonId, lensName, options);
299
640
  }
300
641
 
642
+ /**
643
+ * Analyze geographic impact of an item.
644
+ * @param {Object} item - Item to analyze impact for
645
+ * @param {string} holonId - Context holon
646
+ * @param {string} lensName - Context lens
647
+ * @param {Object} [options={}] - Analysis options
648
+ * @returns {Promise<Object>} Impact analysis
649
+ */
301
650
  async analyzeH3Impact(item, holonId, lensName, options = {}) {
302
651
  this._requireAI();
303
652
  return this._ai.h3ai.analyzeGeographicImpact(item, holonId, lensName, options);