@holoscript/framework 6.0.3

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 (329) hide show
  1. package/ALL-test-results.json +1 -0
  2. package/CHANGELOG.md +8 -0
  3. package/LICENSE +21 -0
  4. package/ROADMAP.md +175 -0
  5. package/dist/AgentManifest-CB4xM-Ma.d.cts +704 -0
  6. package/dist/AgentManifest-CB4xM-Ma.d.ts +704 -0
  7. package/dist/BehaviorTree-BrBFECv5.d.cts +103 -0
  8. package/dist/BehaviorTree-BrBFECv5.d.ts +103 -0
  9. package/dist/InvisibleWallet-BB6tFvRA.d.cts +1732 -0
  10. package/dist/InvisibleWallet-rtRrBOA8.d.ts +1732 -0
  11. package/dist/OrchestratorAgent-BvWgf9uw.d.cts +798 -0
  12. package/dist/OrchestratorAgent-Q_CbVTmO.d.ts +798 -0
  13. package/dist/agents/index.cjs +4790 -0
  14. package/dist/agents/index.d.cts +1788 -0
  15. package/dist/agents/index.d.ts +1788 -0
  16. package/dist/agents/index.js +4695 -0
  17. package/dist/ai/index.cjs +5347 -0
  18. package/dist/ai/index.d.cts +1753 -0
  19. package/dist/ai/index.d.ts +1753 -0
  20. package/dist/ai/index.js +5244 -0
  21. package/dist/behavior.cjs +449 -0
  22. package/dist/behavior.d.cts +130 -0
  23. package/dist/behavior.d.ts +130 -0
  24. package/dist/behavior.js +407 -0
  25. package/dist/economy/index.cjs +3659 -0
  26. package/dist/economy/index.d.cts +747 -0
  27. package/dist/economy/index.d.ts +747 -0
  28. package/dist/economy/index.js +3617 -0
  29. package/dist/implementations-D9T3un9D.d.cts +236 -0
  30. package/dist/implementations-D9T3un9D.d.ts +236 -0
  31. package/dist/index.cjs +24550 -0
  32. package/dist/index.d.cts +1729 -0
  33. package/dist/index.d.ts +1729 -0
  34. package/dist/index.js +24277 -0
  35. package/dist/learning/index.cjs +219 -0
  36. package/dist/learning/index.d.cts +104 -0
  37. package/dist/learning/index.d.ts +104 -0
  38. package/dist/learning/index.js +189 -0
  39. package/dist/negotiation/index.cjs +970 -0
  40. package/dist/negotiation/index.d.cts +610 -0
  41. package/dist/negotiation/index.d.ts +610 -0
  42. package/dist/negotiation/index.js +931 -0
  43. package/dist/skills/index.cjs +1118 -0
  44. package/dist/skills/index.d.cts +289 -0
  45. package/dist/skills/index.d.ts +289 -0
  46. package/dist/skills/index.js +1079 -0
  47. package/dist/swarm/index.cjs +5268 -0
  48. package/dist/swarm/index.d.cts +2433 -0
  49. package/dist/swarm/index.d.ts +2433 -0
  50. package/dist/swarm/index.js +5221 -0
  51. package/dist/training/index.cjs +2745 -0
  52. package/dist/training/index.d.cts +1734 -0
  53. package/dist/training/index.d.ts +1734 -0
  54. package/dist/training/index.js +2687 -0
  55. package/extract-failures.js +10 -0
  56. package/package.json +82 -0
  57. package/src/__tests__/bounty-marketplace.test.ts +374 -0
  58. package/src/__tests__/delegation.test.ts +144 -0
  59. package/src/__tests__/distributed-claimer.test.ts +147 -0
  60. package/src/__tests__/done-log-audit.test.ts +342 -0
  61. package/src/__tests__/framework.test.ts +865 -0
  62. package/src/__tests__/goal-synthesizer.test.ts +236 -0
  63. package/src/__tests__/presence.test.ts +223 -0
  64. package/src/__tests__/protocol-agent.test.ts +254 -0
  65. package/src/__tests__/revenue-splitter.test.ts +114 -0
  66. package/src/__tests__/scenario-driven-todo.test.ts +197 -0
  67. package/src/__tests__/self-improve.test.ts +349 -0
  68. package/src/__tests__/service-lifecycle.test.ts +237 -0
  69. package/src/__tests__/skill-router.test.ts +121 -0
  70. package/src/agents/AgentManifest.ts +493 -0
  71. package/src/agents/AgentRegistry.ts +475 -0
  72. package/src/agents/AgentTypes.ts +585 -0
  73. package/src/agents/AgentWalletRegistry.ts +83 -0
  74. package/src/agents/AuthenticatedCRDT.ts +388 -0
  75. package/src/agents/CapabilityMatcher.ts +453 -0
  76. package/src/agents/CrossRealityHandoff.ts +305 -0
  77. package/src/agents/CulturalMemory.ts +454 -0
  78. package/src/agents/FederatedRegistryAdapter.ts +429 -0
  79. package/src/agents/NormEngine.ts +450 -0
  80. package/src/agents/OrchestratorAgent.ts +414 -0
  81. package/src/agents/SkillWorkflowEngine.ts +472 -0
  82. package/src/agents/TaskDelegationService.ts +551 -0
  83. package/src/agents/__tests__/AgentManifest.prod.test.ts +134 -0
  84. package/src/agents/__tests__/AgentManifest.test.ts +182 -0
  85. package/src/agents/__tests__/AgentModule.test.ts +864 -0
  86. package/src/agents/__tests__/AgentRegistry.prod.test.ts +125 -0
  87. package/src/agents/__tests__/AgentRegistry.test.ts +148 -0
  88. package/src/agents/__tests__/AgentTypes.test.ts +534 -0
  89. package/src/agents/__tests__/AgentWalletRegistry.test.ts +152 -0
  90. package/src/agents/__tests__/AuthenticatedCRDT.test.ts +558 -0
  91. package/src/agents/__tests__/CapabilityMatcher.prod.test.ts +117 -0
  92. package/src/agents/__tests__/CapabilityMatcher.test.ts +178 -0
  93. package/src/agents/__tests__/CrossRealityHandoff.test.ts +402 -0
  94. package/src/agents/__tests__/CulturalMemory.test.ts +200 -0
  95. package/src/agents/__tests__/FederatedRegistryAdapter.test.ts +409 -0
  96. package/src/agents/__tests__/NormEngine.test.ts +276 -0
  97. package/src/agents/__tests__/OrchestratorAgent.test.ts +182 -0
  98. package/src/agents/__tests__/SkillWorkflowEngine.test.ts +357 -0
  99. package/src/agents/__tests__/TaskDelegationService.test.ts +446 -0
  100. package/src/agents/index.ts +107 -0
  101. package/src/agents/spatial-comms/Layer1RealTime.ts +621 -0
  102. package/src/agents/spatial-comms/Layer2A2A.ts +661 -0
  103. package/src/agents/spatial-comms/Layer3MCP.ts +651 -0
  104. package/src/agents/spatial-comms/ProtocolTypes.ts +543 -0
  105. package/src/agents/spatial-comms/SpatialCommClient.ts +483 -0
  106. package/src/agents/spatial-comms/__tests__/performance-benchmark.test.ts +465 -0
  107. package/src/agents/spatial-comms/examples/multi-agent-world-creation.ts +409 -0
  108. package/src/agents/spatial-comms/index.ts +66 -0
  109. package/src/ai/AIAdapter.ts +313 -0
  110. package/src/ai/AICopilot.ts +331 -0
  111. package/src/ai/AIOutputValidator.ts +203 -0
  112. package/src/ai/BTNodes.ts +239 -0
  113. package/src/ai/BehaviorSelector.ts +135 -0
  114. package/src/ai/BehaviorTree.ts +153 -0
  115. package/src/ai/Blackboard.ts +165 -0
  116. package/src/ai/GenerationAnalytics.ts +461 -0
  117. package/src/ai/GenerationCache.ts +265 -0
  118. package/src/ai/GoalPlanner.ts +165 -0
  119. package/src/ai/HoloScriptGenerator.ts +580 -0
  120. package/src/ai/InfluenceMap.ts +180 -0
  121. package/src/ai/NavMesh.ts +168 -0
  122. package/src/ai/PerceptionSystem.ts +178 -0
  123. package/src/ai/PromptTemplates.ts +453 -0
  124. package/src/ai/SemanticSearchService.ts +80 -0
  125. package/src/ai/StateMachine.ts +196 -0
  126. package/src/ai/SteeringBehavior.ts +150 -0
  127. package/src/ai/SteeringBehaviors.ts +244 -0
  128. package/src/ai/TrainingDataGenerator.ts +1082 -0
  129. package/src/ai/UtilityAI.ts +145 -0
  130. package/src/ai/__tests__/AIAdapter.prod.test.ts +259 -0
  131. package/src/ai/__tests__/AIAdapter.test.ts +109 -0
  132. package/src/ai/__tests__/AICopilot.prod.test.ts +341 -0
  133. package/src/ai/__tests__/AICopilot.test.ts +178 -0
  134. package/src/ai/__tests__/AIOutputValidator.prod.test.ts +226 -0
  135. package/src/ai/__tests__/AIOutputValidator.test.ts +138 -0
  136. package/src/ai/__tests__/BTNodes.prod.test.ts +391 -0
  137. package/src/ai/__tests__/BTNodes.test.ts +263 -0
  138. package/src/ai/__tests__/BehaviorSelector.prod.test.ts +129 -0
  139. package/src/ai/__tests__/BehaviorSelector.test.ts +132 -0
  140. package/src/ai/__tests__/BehaviorTree.prod.test.ts +266 -0
  141. package/src/ai/__tests__/BehaviorTree.test.ts +216 -0
  142. package/src/ai/__tests__/Blackboard.prod.test.ts +339 -0
  143. package/src/ai/__tests__/Blackboard.test.ts +183 -0
  144. package/src/ai/__tests__/GenerationAnalytics.prod.test.ts +141 -0
  145. package/src/ai/__tests__/GenerationAnalytics.test.ts +165 -0
  146. package/src/ai/__tests__/GenerationCache.prod.test.ts +144 -0
  147. package/src/ai/__tests__/GenerationCache.test.ts +171 -0
  148. package/src/ai/__tests__/GoalPlanner.prod.test.ts +189 -0
  149. package/src/ai/__tests__/GoalPlanner.test.ts +137 -0
  150. package/src/ai/__tests__/GoalPlannerDepth.prod.test.ts +217 -0
  151. package/src/ai/__tests__/HoloScriptGenerator.test.ts +125 -0
  152. package/src/ai/__tests__/InfluenceMap.prod.test.ts +146 -0
  153. package/src/ai/__tests__/InfluenceMap.test.ts +149 -0
  154. package/src/ai/__tests__/NavMesh.prod.test.ts +141 -0
  155. package/src/ai/__tests__/NavMesh.test.ts +159 -0
  156. package/src/ai/__tests__/PerceptionSystem.prod.test.ts +135 -0
  157. package/src/ai/__tests__/PerceptionSystem.test.ts +250 -0
  158. package/src/ai/__tests__/PromptTemplates.prod.test.ts +313 -0
  159. package/src/ai/__tests__/PromptTemplates.test.ts +146 -0
  160. package/src/ai/__tests__/SemanticSearch.test.ts +37 -0
  161. package/src/ai/__tests__/StateMachine.prod.test.ts +162 -0
  162. package/src/ai/__tests__/StateMachine.test.ts +163 -0
  163. package/src/ai/__tests__/SteeringBehavior.prod.test.ts +251 -0
  164. package/src/ai/__tests__/SteeringBehavior.test.ts +135 -0
  165. package/src/ai/__tests__/SteeringBehaviors.prod.test.ts +133 -0
  166. package/src/ai/__tests__/SteeringBehaviors.test.ts +151 -0
  167. package/src/ai/__tests__/TrainingDataGenerator.prod.test.ts +286 -0
  168. package/src/ai/__tests__/TrainingDataGenerator.test.ts +286 -0
  169. package/src/ai/__tests__/UtilityAI.prod.test.ts +207 -0
  170. package/src/ai/__tests__/UtilityAI.test.ts +155 -0
  171. package/src/ai/__tests__/adapters.prod.test.ts +263 -0
  172. package/src/ai/__tests__/adapters.test.ts +320 -0
  173. package/src/ai/adapters.ts +1585 -0
  174. package/src/ai/index.ts +130 -0
  175. package/src/behavior/BehaviorPresets.ts +140 -0
  176. package/src/behavior/BehaviorTree.ts +236 -0
  177. package/src/behavior/StateMachine.ts +176 -0
  178. package/src/behavior/StateTrait.ts +67 -0
  179. package/src/behavior/index.ts +8 -0
  180. package/src/behavior.ts +8 -0
  181. package/src/board/audit.ts +284 -0
  182. package/src/board/board-ops.ts +336 -0
  183. package/src/board/board-types.ts +302 -0
  184. package/src/board/index.ts +69 -0
  185. package/src/define-agent.ts +46 -0
  186. package/src/define-team.ts +33 -0
  187. package/src/delegation.ts +265 -0
  188. package/src/distributed-claimer.ts +228 -0
  189. package/src/economy/AgentBudgetEnforcer.ts +464 -0
  190. package/src/economy/BountyManager.ts +185 -0
  191. package/src/economy/CreatorRevenueAggregator.ts +460 -0
  192. package/src/economy/InvisibleWallet.ts +82 -0
  193. package/src/economy/KnowledgeMarketplace.ts +193 -0
  194. package/src/economy/PaymentWebhookService.ts +512 -0
  195. package/src/economy/RevenueSplitter.ts +156 -0
  196. package/src/economy/SubscriptionManager.ts +546 -0
  197. package/src/economy/UnifiedBudgetOptimizer.ts +635 -0
  198. package/src/economy/UsageMeter.ts +440 -0
  199. package/src/economy/_core-stubs.ts +219 -0
  200. package/src/economy/index.ts +100 -0
  201. package/src/economy/x402-facilitator.ts +1978 -0
  202. package/src/index.ts +348 -0
  203. package/src/knowledge/__tests__/knowledge-consolidator.test.ts +444 -0
  204. package/src/knowledge/__tests__/knowledge-store-vector.test.ts +291 -0
  205. package/src/knowledge/brain.ts +167 -0
  206. package/src/knowledge/consolidation.ts +581 -0
  207. package/src/knowledge/knowledge-consolidator.ts +510 -0
  208. package/src/knowledge/knowledge-store.ts +616 -0
  209. package/src/learning/MemoryConsolidator.ts +102 -0
  210. package/src/learning/MemoryScorer.ts +69 -0
  211. package/src/learning/ProceduralCompiler.ts +45 -0
  212. package/src/learning/SemanticClusterer.ts +66 -0
  213. package/src/learning/index.ts +8 -0
  214. package/src/llm/llm-adapter.ts +159 -0
  215. package/src/mesh/index.ts +309 -0
  216. package/src/negotiation/NegotiationProtocol.ts +694 -0
  217. package/src/negotiation/NegotiationTypes.ts +473 -0
  218. package/src/negotiation/VotingMechanisms.ts +691 -0
  219. package/src/negotiation/index.ts +49 -0
  220. package/src/protocol/goal-synthesizer.ts +317 -0
  221. package/src/protocol/implementations.ts +474 -0
  222. package/src/protocol/micro-phase-decomposer.ts +299 -0
  223. package/src/protocol/micro-step-decomposer.test.ts +306 -0
  224. package/src/protocol-agent.test.ts +353 -0
  225. package/src/protocol-agent.ts +670 -0
  226. package/src/self-improve/absorb-scanner.ts +252 -0
  227. package/src/self-improve/evolution-engine.ts +149 -0
  228. package/src/self-improve/framework-absorber.ts +214 -0
  229. package/src/self-improve/index.ts +50 -0
  230. package/src/self-improve/prompt-optimizer.ts +212 -0
  231. package/src/self-improve/test-generator.ts +175 -0
  232. package/src/skill-router.ts +186 -0
  233. package/src/skills/index.ts +5 -0
  234. package/src/skills/skill-md-bridge.ts +1699 -0
  235. package/src/swarm/ACOEngine.ts +261 -0
  236. package/src/swarm/CollectiveIntelligence.ts +383 -0
  237. package/src/swarm/ContributionSynthesizer.ts +481 -0
  238. package/src/swarm/LeaderElection.ts +393 -0
  239. package/src/swarm/PSOEngine.ts +206 -0
  240. package/src/swarm/QuorumPolicy.ts +173 -0
  241. package/src/swarm/SwarmCoordinator.ts +335 -0
  242. package/src/swarm/SwarmManager.ts +442 -0
  243. package/src/swarm/SwarmMembership.ts +456 -0
  244. package/src/swarm/VotingRound.ts +255 -0
  245. package/src/swarm/__tests__/ACOEngine.prod.test.ts +164 -0
  246. package/src/swarm/__tests__/ACOEngine.test.ts +117 -0
  247. package/src/swarm/__tests__/CollectiveIntelligence.prod.test.ts +296 -0
  248. package/src/swarm/__tests__/CollectiveIntelligence.test.ts +457 -0
  249. package/src/swarm/__tests__/ContributionSynthesizer.prod.test.ts +269 -0
  250. package/src/swarm/__tests__/ContributionSynthesizer.test.ts +254 -0
  251. package/src/swarm/__tests__/LeaderElection.prod.test.ts +196 -0
  252. package/src/swarm/__tests__/LeaderElection.test.ts +151 -0
  253. package/src/swarm/__tests__/PSOEngine.prod.test.ts +162 -0
  254. package/src/swarm/__tests__/PSOEngine.test.ts +106 -0
  255. package/src/swarm/__tests__/QuorumPolicy.prod.test.ts +216 -0
  256. package/src/swarm/__tests__/QuorumPolicy.test.ts +177 -0
  257. package/src/swarm/__tests__/SwarmCoordinator.prod.test.ts +186 -0
  258. package/src/swarm/__tests__/SwarmCoordinator.test.ts +167 -0
  259. package/src/swarm/__tests__/SwarmManager.prod.test.ts +308 -0
  260. package/src/swarm/__tests__/SwarmManager.test.ts +373 -0
  261. package/src/swarm/__tests__/SwarmMembership.prod.test.ts +273 -0
  262. package/src/swarm/__tests__/SwarmMembership.test.ts +264 -0
  263. package/src/swarm/__tests__/VotingRound.prod.test.ts +233 -0
  264. package/src/swarm/__tests__/VotingRound.test.ts +174 -0
  265. package/src/swarm/analytics/SwarmInspector.ts +476 -0
  266. package/src/swarm/analytics/SwarmMetrics.ts +449 -0
  267. package/src/swarm/analytics/__tests__/SwarmInspector.prod.test.ts +366 -0
  268. package/src/swarm/analytics/__tests__/SwarmInspector.test.ts +454 -0
  269. package/src/swarm/analytics/__tests__/SwarmMetrics.prod.test.ts +254 -0
  270. package/src/swarm/analytics/__tests__/SwarmMetrics.test.ts +370 -0
  271. package/src/swarm/analytics/index.ts +7 -0
  272. package/src/swarm/index.ts +69 -0
  273. package/src/swarm/messaging/BroadcastChannel.ts +509 -0
  274. package/src/swarm/messaging/GossipProtocol.ts +565 -0
  275. package/src/swarm/messaging/SwarmEventBus.ts +443 -0
  276. package/src/swarm/messaging/__tests__/BroadcastChannel.prod.test.ts +331 -0
  277. package/src/swarm/messaging/__tests__/BroadcastChannel.test.ts +333 -0
  278. package/src/swarm/messaging/__tests__/GossipProtocol.prod.test.ts +356 -0
  279. package/src/swarm/messaging/__tests__/GossipProtocol.test.ts +437 -0
  280. package/src/swarm/messaging/__tests__/SwarmEventBus.prod.test.ts +191 -0
  281. package/src/swarm/messaging/__tests__/SwarmEventBus.test.ts +247 -0
  282. package/src/swarm/messaging/index.ts +8 -0
  283. package/src/swarm/spatial/FlockingBehavior.ts +462 -0
  284. package/src/swarm/spatial/FormationController.ts +500 -0
  285. package/src/swarm/spatial/Vector3.ts +170 -0
  286. package/src/swarm/spatial/ZoneClaiming.ts +509 -0
  287. package/src/swarm/spatial/__tests__/FlockingBehavior.prod.test.ts +239 -0
  288. package/src/swarm/spatial/__tests__/FlockingBehavior.test.ts +298 -0
  289. package/src/swarm/spatial/__tests__/FormationController.prod.test.ts +240 -0
  290. package/src/swarm/spatial/__tests__/FormationController.test.ts +297 -0
  291. package/src/swarm/spatial/__tests__/Vector3.prod.test.ts +283 -0
  292. package/src/swarm/spatial/__tests__/Vector3.test.ts +224 -0
  293. package/src/swarm/spatial/__tests__/ZoneClaiming.prod.test.ts +246 -0
  294. package/src/swarm/spatial/__tests__/ZoneClaiming.test.ts +374 -0
  295. package/src/swarm/spatial/index.ts +28 -0
  296. package/src/team.ts +1245 -0
  297. package/src/training/LRScheduler.ts +377 -0
  298. package/src/training/QualityScoringPipeline.ts +139 -0
  299. package/src/training/SoftDedup.ts +461 -0
  300. package/src/training/SparsityMonitor.ts +685 -0
  301. package/src/training/SparsityMonitorTypes.ts +209 -0
  302. package/src/training/SpatialTrainingDataGenerator.ts +1526 -0
  303. package/src/training/SpatialTrainingDataTypes.ts +216 -0
  304. package/src/training/TrainingPipelineConfig.ts +215 -0
  305. package/src/training/constants.ts +94 -0
  306. package/src/training/index.ts +138 -0
  307. package/src/training/schema.ts +147 -0
  308. package/src/training/scripts/generate-novel-use-cases-dataset.ts +272 -0
  309. package/src/training/scripts/generate-spatial-dataset.ts +521 -0
  310. package/src/training/training/data/novel-use-cases.jsonl +153 -0
  311. package/src/training/training/data/spatial-reasoning-10k.jsonl +9354 -0
  312. package/src/training/trainingmonkey/TrainingMonkeyIntegration.ts +477 -0
  313. package/src/training/trainingmonkey/TrainingMonkeyTypes.ts +230 -0
  314. package/src/training/trainingmonkey/index.ts +26 -0
  315. package/src/training/trait-mappings.ts +157 -0
  316. package/src/types/core-stubs.d.ts +113 -0
  317. package/src/types.ts +304 -0
  318. package/test-output.txt +0 -0
  319. package/test-result.json +1 -0
  320. package/tsc-errors.txt +4 -0
  321. package/tsc_output.txt +0 -0
  322. package/tsconfig.json +14 -0
  323. package/tsup-learning-esm.config.ts +12 -0
  324. package/tsup.config.ts +21 -0
  325. package/typescript-errors-2.txt +0 -0
  326. package/typescript-errors.txt +22 -0
  327. package/vitest-log-utf8.txt +268 -0
  328. package/vitest-log.txt +0 -0
  329. package/vitest.config.ts +8 -0
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/learning/index.ts
21
+ var learning_exports = {};
22
+ __export(learning_exports, {
23
+ MemoryConsolidator: () => MemoryConsolidator,
24
+ MemoryScorer: () => MemoryScorer,
25
+ ProceduralCompiler: () => ProceduralCompiler,
26
+ SemanticClusterer: () => SemanticClusterer
27
+ });
28
+ module.exports = __toCommonJS(learning_exports);
29
+
30
+ // src/learning/MemoryConsolidator.ts
31
+ var logger = { info: console.info, error: console.error };
32
+ var MemoryConsolidator = class {
33
+ /**
34
+ * Identifies conceptually similar episodic memories based on shared entities and actions.
35
+ */
36
+ static clusterEpisodes(episodes) {
37
+ const clusters = {};
38
+ for (const ep of episodes) {
39
+ const key = `${ep.action}_${ep.entitiesInvolved[0] || "generic"}`;
40
+ if (!clusters[key]) clusters[key] = [];
41
+ clusters[key].push(ep);
42
+ }
43
+ return Object.values(clusters);
44
+ }
45
+ /**
46
+ * Mocks an LLM-based summarization pass converting a cluster of raw events
47
+ * into a single concrete semantic truth.
48
+ */
49
+ static summarizeCluster(cluster) {
50
+ if (cluster.length < 3) return null;
51
+ const sample = cluster[0];
52
+ const successCount = cluster.filter((ep) => ep.outcome.includes("success")).length;
53
+ const successRate = successCount / cluster.length;
54
+ let rule = "";
55
+ if (successRate > 0.7) {
56
+ rule = `${sample.action} applied to ${sample.entitiesInvolved[0]} is generally effective.`;
57
+ } else {
58
+ rule = `${sample.action} applied to ${sample.entitiesInvolved[0]} has high failure risk.`;
59
+ }
60
+ return {
61
+ id: `fact_${Date.now()}_${Math.random().toString(36).substring(7)}`,
62
+ fact: rule,
63
+ confidence: successRate,
64
+ sourceEpisodes: cluster.map((c) => c.id)
65
+ };
66
+ }
67
+ /**
68
+ * Executes the background consolidation pass.
69
+ * Takes raw episodes, clusters them, extracts truths, and returns the facts
70
+ * while reporting which raw episodes can be safely garbage collected.
71
+ */
72
+ static compressEpisodes(rawEpisodes) {
73
+ if (rawEpisodes.length < 5) return { newFacts: [], prunedEpisodes: [] };
74
+ logger.info(
75
+ `[Consolidation] Running idle memory compression on ${rawEpisodes.length} episodes.`
76
+ );
77
+ const clusters = this.clusterEpisodes(rawEpisodes);
78
+ const newFacts = [];
79
+ const prunedEpisodes = [];
80
+ for (const cluster of clusters) {
81
+ const fact = this.summarizeCluster(cluster);
82
+ if (fact) {
83
+ newFacts.push(fact);
84
+ prunedEpisodes.push(...fact.sourceEpisodes);
85
+ }
86
+ }
87
+ logger.info(
88
+ `[Consolidation] Distilled ${prunedEpisodes.length} raw episodes into ${newFacts.length} semantic facts.`
89
+ );
90
+ return { newFacts, prunedEpisodes };
91
+ }
92
+ };
93
+
94
+ // src/learning/MemoryScorer.ts
95
+ var MemoryScorer = class {
96
+ /**
97
+ * Scores an event from -100 (Absolute Noise) to 100 (Critical Experience).
98
+ */
99
+ static computeImportance(event) {
100
+ let score = 0;
101
+ const action = event.action.toLowerCase();
102
+ if (action.includes("idle") || action.includes("wait") || action.includes("sleep")) {
103
+ score -= 50;
104
+ } else if (action.includes("move") || action.includes("look") || action.includes("walk")) {
105
+ score -= 10;
106
+ } else if (action.includes("craft") || action.includes("build") || action.includes("analyze")) {
107
+ score += 30;
108
+ } else if (action.includes("combat") || action.includes("attack") || action.includes("defense") || action.includes("damage")) {
109
+ score += 50;
110
+ }
111
+ const contextKeys = Object.keys(event.context || {}).length;
112
+ score += Math.min(20, contextKeys * 2);
113
+ const outcome = event.outcome.toLowerCase();
114
+ if (outcome.includes("failed") || outcome.includes("error")) {
115
+ score += 25;
116
+ } else if (outcome.includes("success") || outcome.includes("crafted") || outcome.includes("killed")) {
117
+ score += 25;
118
+ } else if (outcome.includes("nothing") || outcome.includes("none")) {
119
+ score -= 20;
120
+ }
121
+ return Math.max(-100, Math.min(100, score));
122
+ }
123
+ /**
124
+ * Filters arrays natively discarding negative arrays
125
+ */
126
+ static cullLowImportance(events, threshold = 0) {
127
+ return events.filter((e) => this.computeImportance(e) >= threshold);
128
+ }
129
+ };
130
+
131
+ // src/learning/ProceduralCompiler.ts
132
+ var ProceduralCompiler = class {
133
+ /**
134
+ * Translates an Abstract Skill representation into native text executing within the VM.
135
+ */
136
+ static compile(skill) {
137
+ let compiled = `// Auto-generated skill: ${skill.name}
138
+ `;
139
+ compiled += `// Desc: ${skill.description || "N/A"}
140
+
141
+ `;
142
+ compiled += `agent ${skill.id.replace(/-/g, "_")} {
143
+ `;
144
+ compiled += ` behavior execute() {
145
+ `;
146
+ const codeBlock = skill.code || "";
147
+ const parsedLines = codeBlock.split("\n");
148
+ for (let line of parsedLines) {
149
+ line = line.trim();
150
+ if (!line) continue;
151
+ if (line.includes("move(") || line.includes("attack(") || line.includes("craft(")) {
152
+ compiled += ` ensure_safety() {
153
+ ${line}
154
+ }
155
+ `;
156
+ } else {
157
+ compiled += ` ${line}
158
+ `;
159
+ }
160
+ }
161
+ compiled += ` }
162
+ `;
163
+ compiled += `}
164
+ `;
165
+ return compiled;
166
+ }
167
+ };
168
+
169
+ // src/learning/SemanticClusterer.ts
170
+ var SemanticClusterer = class {
171
+ /**
172
+ * Actively squash sequentially repeating abstract patterns mapping out semantic arrays.
173
+ */
174
+ static distill(events) {
175
+ if (events.length === 0) return [];
176
+ const distilled = [];
177
+ let currentSequence = { ...events[0] };
178
+ let repetitonCount = 1;
179
+ for (let i = 1; i < events.length; i++) {
180
+ const ev = events[i];
181
+ if (this.isSimilar(currentSequence, ev)) {
182
+ repetitonCount++;
183
+ currentSequence.outcome = `Repeated action successfully (${repetitonCount} times)`;
184
+ if (!currentSequence.context.timeSpanStarted) {
185
+ currentSequence.context.timeSpanStarted = currentSequence.timestamp;
186
+ }
187
+ currentSequence.context.timeSpanEnded = ev.timestamp;
188
+ } else {
189
+ if (repetitonCount > 1) {
190
+ currentSequence.action = `${currentSequence.action}_Aggregated`;
191
+ }
192
+ distilled.push({ ...currentSequence });
193
+ currentSequence = { ...ev };
194
+ repetitonCount = 1;
195
+ }
196
+ }
197
+ if (repetitonCount > 1) {
198
+ currentSequence.action = `${currentSequence.action}_Aggregated`;
199
+ }
200
+ distilled.push(currentSequence);
201
+ return distilled;
202
+ }
203
+ /**
204
+ * Determines heuristic thresholds to squash logic natively offline without LLM.
205
+ */
206
+ static isSimilar(a, b) {
207
+ if (a.action !== b.action) return false;
208
+ const aTarget = a.context?.target || a.context?.location;
209
+ const bTarget = b.context?.target || b.context?.location;
210
+ return aTarget === bTarget;
211
+ }
212
+ };
213
+ // Annotate the CommonJS export names for ESM import in node:
214
+ 0 && (module.exports = {
215
+ MemoryConsolidator,
216
+ MemoryScorer,
217
+ ProceduralCompiler,
218
+ SemanticClusterer
219
+ });
@@ -0,0 +1,104 @@
1
+ interface EpisodicMemory {
2
+ id: string;
3
+ timestamp: number;
4
+ action: string;
5
+ outcome: string;
6
+ entitiesInvolved: string[];
7
+ semanticVector?: number[];
8
+ }
9
+ interface SemanticFact {
10
+ id: string;
11
+ fact: string;
12
+ confidence: number;
13
+ sourceEpisodes: string[];
14
+ }
15
+ /**
16
+ * MemoryConsolidator
17
+ *
18
+ * Compresses raw episodic events into structured semantic facts
19
+ * via idle background cycles, mirroring human sleep consolidation.
20
+ */
21
+ declare class MemoryConsolidator {
22
+ /**
23
+ * Identifies conceptually similar episodic memories based on shared entities and actions.
24
+ */
25
+ private static clusterEpisodes;
26
+ /**
27
+ * Mocks an LLM-based summarization pass converting a cluster of raw events
28
+ * into a single concrete semantic truth.
29
+ */
30
+ private static summarizeCluster;
31
+ /**
32
+ * Executes the background consolidation pass.
33
+ * Takes raw episodes, clusters them, extracts truths, and returns the facts
34
+ * while reporting which raw episodes can be safely garbage collected.
35
+ */
36
+ static compressEpisodes(rawEpisodes: EpisodicMemory[]): {
37
+ newFacts: SemanticFact[];
38
+ prunedEpisodes: string[];
39
+ };
40
+ }
41
+
42
+ /**
43
+ * MemoryScorer
44
+ *
45
+ * Generates an 'importance' dimensional scalar for Episodic memories.
46
+ * Allows the aggregation engine to aggressively prune trivial loops (like 'Idle')
47
+ * and permanently archive high-value bounds (like 'Combat' or 'Crafting').
48
+ */
49
+ interface EpisodicEvent {
50
+ agentId: string;
51
+ timestamp: number;
52
+ action: string;
53
+ context: Record<string, any>;
54
+ outcome: string;
55
+ }
56
+ declare class MemoryScorer {
57
+ /**
58
+ * Scores an event from -100 (Absolute Noise) to 100 (Critical Experience).
59
+ */
60
+ static computeImportance(event: EpisodicEvent): number;
61
+ /**
62
+ * Filters arrays natively discarding negative arrays
63
+ */
64
+ static cullLowImportance(events: EpisodicEvent[], threshold?: number): EpisodicEvent[];
65
+ }
66
+
67
+ interface ProceduralSkill {
68
+ id: string;
69
+ name: string;
70
+ description?: string;
71
+ code?: string;
72
+ }
73
+ /**
74
+ * ProceduralCompiler
75
+ *
76
+ * Takes JSON-based AI logic trees extracted from temporal LLM generation natively
77
+ * and compiles them strictly down into raw executable `.holo` syntax bounds.
78
+ */
79
+ declare class ProceduralCompiler {
80
+ /**
81
+ * Translates an Abstract Skill representation into native text executing within the VM.
82
+ */
83
+ static compile(skill: ProceduralSkill): string;
84
+ }
85
+
86
+ /**
87
+ * SemanticClusterer
88
+ *
89
+ * Compresses raw temporal Episodic buffers into distilled arrays.
90
+ * Native distillation drops repeating trivial structures mapping them into aggregated
91
+ * density nodes explicitly reducing database storage loads across vector boundaries.
92
+ */
93
+ declare class SemanticClusterer {
94
+ /**
95
+ * Actively squash sequentially repeating abstract patterns mapping out semantic arrays.
96
+ */
97
+ static distill(events: EpisodicEvent[]): EpisodicEvent[];
98
+ /**
99
+ * Determines heuristic thresholds to squash logic natively offline without LLM.
100
+ */
101
+ private static isSimilar;
102
+ }
103
+
104
+ export { type EpisodicEvent, type EpisodicMemory, MemoryConsolidator, MemoryScorer, ProceduralCompiler, type ProceduralSkill, SemanticClusterer, type SemanticFact };
@@ -0,0 +1,104 @@
1
+ interface EpisodicMemory {
2
+ id: string;
3
+ timestamp: number;
4
+ action: string;
5
+ outcome: string;
6
+ entitiesInvolved: string[];
7
+ semanticVector?: number[];
8
+ }
9
+ interface SemanticFact {
10
+ id: string;
11
+ fact: string;
12
+ confidence: number;
13
+ sourceEpisodes: string[];
14
+ }
15
+ /**
16
+ * MemoryConsolidator
17
+ *
18
+ * Compresses raw episodic events into structured semantic facts
19
+ * via idle background cycles, mirroring human sleep consolidation.
20
+ */
21
+ declare class MemoryConsolidator {
22
+ /**
23
+ * Identifies conceptually similar episodic memories based on shared entities and actions.
24
+ */
25
+ private static clusterEpisodes;
26
+ /**
27
+ * Mocks an LLM-based summarization pass converting a cluster of raw events
28
+ * into a single concrete semantic truth.
29
+ */
30
+ private static summarizeCluster;
31
+ /**
32
+ * Executes the background consolidation pass.
33
+ * Takes raw episodes, clusters them, extracts truths, and returns the facts
34
+ * while reporting which raw episodes can be safely garbage collected.
35
+ */
36
+ static compressEpisodes(rawEpisodes: EpisodicMemory[]): {
37
+ newFacts: SemanticFact[];
38
+ prunedEpisodes: string[];
39
+ };
40
+ }
41
+
42
+ /**
43
+ * MemoryScorer
44
+ *
45
+ * Generates an 'importance' dimensional scalar for Episodic memories.
46
+ * Allows the aggregation engine to aggressively prune trivial loops (like 'Idle')
47
+ * and permanently archive high-value bounds (like 'Combat' or 'Crafting').
48
+ */
49
+ interface EpisodicEvent {
50
+ agentId: string;
51
+ timestamp: number;
52
+ action: string;
53
+ context: Record<string, any>;
54
+ outcome: string;
55
+ }
56
+ declare class MemoryScorer {
57
+ /**
58
+ * Scores an event from -100 (Absolute Noise) to 100 (Critical Experience).
59
+ */
60
+ static computeImportance(event: EpisodicEvent): number;
61
+ /**
62
+ * Filters arrays natively discarding negative arrays
63
+ */
64
+ static cullLowImportance(events: EpisodicEvent[], threshold?: number): EpisodicEvent[];
65
+ }
66
+
67
+ interface ProceduralSkill {
68
+ id: string;
69
+ name: string;
70
+ description?: string;
71
+ code?: string;
72
+ }
73
+ /**
74
+ * ProceduralCompiler
75
+ *
76
+ * Takes JSON-based AI logic trees extracted from temporal LLM generation natively
77
+ * and compiles them strictly down into raw executable `.holo` syntax bounds.
78
+ */
79
+ declare class ProceduralCompiler {
80
+ /**
81
+ * Translates an Abstract Skill representation into native text executing within the VM.
82
+ */
83
+ static compile(skill: ProceduralSkill): string;
84
+ }
85
+
86
+ /**
87
+ * SemanticClusterer
88
+ *
89
+ * Compresses raw temporal Episodic buffers into distilled arrays.
90
+ * Native distillation drops repeating trivial structures mapping them into aggregated
91
+ * density nodes explicitly reducing database storage loads across vector boundaries.
92
+ */
93
+ declare class SemanticClusterer {
94
+ /**
95
+ * Actively squash sequentially repeating abstract patterns mapping out semantic arrays.
96
+ */
97
+ static distill(events: EpisodicEvent[]): EpisodicEvent[];
98
+ /**
99
+ * Determines heuristic thresholds to squash logic natively offline without LLM.
100
+ */
101
+ private static isSimilar;
102
+ }
103
+
104
+ export { type EpisodicEvent, type EpisodicMemory, MemoryConsolidator, MemoryScorer, ProceduralCompiler, type ProceduralSkill, SemanticClusterer, type SemanticFact };
@@ -0,0 +1,189 @@
1
+ // src/learning/MemoryConsolidator.ts
2
+ var logger = { info: console.info, error: console.error };
3
+ var MemoryConsolidator = class {
4
+ /**
5
+ * Identifies conceptually similar episodic memories based on shared entities and actions.
6
+ */
7
+ static clusterEpisodes(episodes) {
8
+ const clusters = {};
9
+ for (const ep of episodes) {
10
+ const key = `${ep.action}_${ep.entitiesInvolved[0] || "generic"}`;
11
+ if (!clusters[key]) clusters[key] = [];
12
+ clusters[key].push(ep);
13
+ }
14
+ return Object.values(clusters);
15
+ }
16
+ /**
17
+ * Mocks an LLM-based summarization pass converting a cluster of raw events
18
+ * into a single concrete semantic truth.
19
+ */
20
+ static summarizeCluster(cluster) {
21
+ if (cluster.length < 3) return null;
22
+ const sample = cluster[0];
23
+ const successCount = cluster.filter((ep) => ep.outcome.includes("success")).length;
24
+ const successRate = successCount / cluster.length;
25
+ let rule = "";
26
+ if (successRate > 0.7) {
27
+ rule = `${sample.action} applied to ${sample.entitiesInvolved[0]} is generally effective.`;
28
+ } else {
29
+ rule = `${sample.action} applied to ${sample.entitiesInvolved[0]} has high failure risk.`;
30
+ }
31
+ return {
32
+ id: `fact_${Date.now()}_${Math.random().toString(36).substring(7)}`,
33
+ fact: rule,
34
+ confidence: successRate,
35
+ sourceEpisodes: cluster.map((c) => c.id)
36
+ };
37
+ }
38
+ /**
39
+ * Executes the background consolidation pass.
40
+ * Takes raw episodes, clusters them, extracts truths, and returns the facts
41
+ * while reporting which raw episodes can be safely garbage collected.
42
+ */
43
+ static compressEpisodes(rawEpisodes) {
44
+ if (rawEpisodes.length < 5) return { newFacts: [], prunedEpisodes: [] };
45
+ logger.info(
46
+ `[Consolidation] Running idle memory compression on ${rawEpisodes.length} episodes.`
47
+ );
48
+ const clusters = this.clusterEpisodes(rawEpisodes);
49
+ const newFacts = [];
50
+ const prunedEpisodes = [];
51
+ for (const cluster of clusters) {
52
+ const fact = this.summarizeCluster(cluster);
53
+ if (fact) {
54
+ newFacts.push(fact);
55
+ prunedEpisodes.push(...fact.sourceEpisodes);
56
+ }
57
+ }
58
+ logger.info(
59
+ `[Consolidation] Distilled ${prunedEpisodes.length} raw episodes into ${newFacts.length} semantic facts.`
60
+ );
61
+ return { newFacts, prunedEpisodes };
62
+ }
63
+ };
64
+
65
+ // src/learning/MemoryScorer.ts
66
+ var MemoryScorer = class {
67
+ /**
68
+ * Scores an event from -100 (Absolute Noise) to 100 (Critical Experience).
69
+ */
70
+ static computeImportance(event) {
71
+ let score = 0;
72
+ const action = event.action.toLowerCase();
73
+ if (action.includes("idle") || action.includes("wait") || action.includes("sleep")) {
74
+ score -= 50;
75
+ } else if (action.includes("move") || action.includes("look") || action.includes("walk")) {
76
+ score -= 10;
77
+ } else if (action.includes("craft") || action.includes("build") || action.includes("analyze")) {
78
+ score += 30;
79
+ } else if (action.includes("combat") || action.includes("attack") || action.includes("defense") || action.includes("damage")) {
80
+ score += 50;
81
+ }
82
+ const contextKeys = Object.keys(event.context || {}).length;
83
+ score += Math.min(20, contextKeys * 2);
84
+ const outcome = event.outcome.toLowerCase();
85
+ if (outcome.includes("failed") || outcome.includes("error")) {
86
+ score += 25;
87
+ } else if (outcome.includes("success") || outcome.includes("crafted") || outcome.includes("killed")) {
88
+ score += 25;
89
+ } else if (outcome.includes("nothing") || outcome.includes("none")) {
90
+ score -= 20;
91
+ }
92
+ return Math.max(-100, Math.min(100, score));
93
+ }
94
+ /**
95
+ * Filters arrays natively discarding negative arrays
96
+ */
97
+ static cullLowImportance(events, threshold = 0) {
98
+ return events.filter((e) => this.computeImportance(e) >= threshold);
99
+ }
100
+ };
101
+
102
+ // src/learning/ProceduralCompiler.ts
103
+ var ProceduralCompiler = class {
104
+ /**
105
+ * Translates an Abstract Skill representation into native text executing within the VM.
106
+ */
107
+ static compile(skill) {
108
+ let compiled = `// Auto-generated skill: ${skill.name}
109
+ `;
110
+ compiled += `// Desc: ${skill.description || "N/A"}
111
+
112
+ `;
113
+ compiled += `agent ${skill.id.replace(/-/g, "_")} {
114
+ `;
115
+ compiled += ` behavior execute() {
116
+ `;
117
+ const codeBlock = skill.code || "";
118
+ const parsedLines = codeBlock.split("\n");
119
+ for (let line of parsedLines) {
120
+ line = line.trim();
121
+ if (!line) continue;
122
+ if (line.includes("move(") || line.includes("attack(") || line.includes("craft(")) {
123
+ compiled += ` ensure_safety() {
124
+ ${line}
125
+ }
126
+ `;
127
+ } else {
128
+ compiled += ` ${line}
129
+ `;
130
+ }
131
+ }
132
+ compiled += ` }
133
+ `;
134
+ compiled += `}
135
+ `;
136
+ return compiled;
137
+ }
138
+ };
139
+
140
+ // src/learning/SemanticClusterer.ts
141
+ var SemanticClusterer = class {
142
+ /**
143
+ * Actively squash sequentially repeating abstract patterns mapping out semantic arrays.
144
+ */
145
+ static distill(events) {
146
+ if (events.length === 0) return [];
147
+ const distilled = [];
148
+ let currentSequence = { ...events[0] };
149
+ let repetitonCount = 1;
150
+ for (let i = 1; i < events.length; i++) {
151
+ const ev = events[i];
152
+ if (this.isSimilar(currentSequence, ev)) {
153
+ repetitonCount++;
154
+ currentSequence.outcome = `Repeated action successfully (${repetitonCount} times)`;
155
+ if (!currentSequence.context.timeSpanStarted) {
156
+ currentSequence.context.timeSpanStarted = currentSequence.timestamp;
157
+ }
158
+ currentSequence.context.timeSpanEnded = ev.timestamp;
159
+ } else {
160
+ if (repetitonCount > 1) {
161
+ currentSequence.action = `${currentSequence.action}_Aggregated`;
162
+ }
163
+ distilled.push({ ...currentSequence });
164
+ currentSequence = { ...ev };
165
+ repetitonCount = 1;
166
+ }
167
+ }
168
+ if (repetitonCount > 1) {
169
+ currentSequence.action = `${currentSequence.action}_Aggregated`;
170
+ }
171
+ distilled.push(currentSequence);
172
+ return distilled;
173
+ }
174
+ /**
175
+ * Determines heuristic thresholds to squash logic natively offline without LLM.
176
+ */
177
+ static isSimilar(a, b) {
178
+ if (a.action !== b.action) return false;
179
+ const aTarget = a.context?.target || a.context?.location;
180
+ const bTarget = b.context?.target || b.context?.location;
181
+ return aTarget === bTarget;
182
+ }
183
+ };
184
+ export {
185
+ MemoryConsolidator,
186
+ MemoryScorer,
187
+ ProceduralCompiler,
188
+ SemanticClusterer
189
+ };