@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,610 @@
1
+ import { A as AgentManifest } from '../AgentManifest-CB4xM-Ma.cjs';
2
+
3
+ /**
4
+ * @holoscript/core - Negotiation Type Definitions
5
+ *
6
+ * Types for agent negotiation, voting, and conflict resolution.
7
+ * Part of HoloScript v3.1 Agentic Choreography.
8
+ *
9
+ * @version 3.1.0
10
+ * @Sprint v3.1 (March 2026)
11
+ */
12
+
13
+ /**
14
+ * Status of a negotiation session
15
+ */
16
+ type NegotiationStatus = 'draft' | 'open' | 'proposing' | 'voting' | 'resolving' | 'resolved' | 'deadlock' | 'deadlocked' | 'timeout' | 'escalated' | 'failed' | 'cancelled';
17
+ /**
18
+ * Voting mechanism type
19
+ */
20
+ type VotingMechanism = 'majority' | 'supermajority' | 'weighted' | 'consensus' | 'ranked' | 'approval' | 'borda' | 'custom';
21
+ /**
22
+ * Proposal status
23
+ */
24
+ type ProposalStatus = 'pending' | 'submitted' | 'under_review' | 'accepted' | 'rejected' | 'withdrawn';
25
+ /**
26
+ * Resolution outcome
27
+ */
28
+ type ResolutionOutcome = 'winner_declared' | 'tie_broken' | 'consensus_reached' | 'deadlock' | 'timeout' | 'escalated' | 'quorum_not_met' | 'cancelled';
29
+ /**
30
+ * Tie-breaker strategy
31
+ */
32
+ type TieBreaker = 'random' | 'seniority' | 'priority' | 'proposer' | 'escalate';
33
+ /**
34
+ * A proposal in a negotiation
35
+ */
36
+ interface Proposal {
37
+ /** Unique proposal ID */
38
+ id: string;
39
+ /** Session this proposal belongs to */
40
+ sessionId?: string;
41
+ /** ID of the proposing agent */
42
+ proposerId?: string;
43
+ /** Proposal title */
44
+ title?: string;
45
+ /** Proposal description */
46
+ description?: string;
47
+ /** ID of the proposing agent (legacy) */
48
+ agentId: string;
49
+ /** Proposal content/value */
50
+ content: unknown;
51
+ /** Priority weight (higher = more important to proposer) */
52
+ priority: number;
53
+ /** Reasoning/justification */
54
+ reasoning?: string;
55
+ /** Resource requirements */
56
+ resources?: ResourceRequest[];
57
+ /** Time constraints */
58
+ timeline?: {
59
+ earliest?: number;
60
+ latest?: number;
61
+ duration?: number;
62
+ };
63
+ /** Proposal status */
64
+ status: ProposalStatus;
65
+ /** Submission timestamp */
66
+ submittedAt: number;
67
+ /** Last modified timestamp */
68
+ modifiedAt?: number;
69
+ /** Custom metadata */
70
+ metadata?: Record<string, unknown>;
71
+ }
72
+ /**
73
+ * Input for creating a proposal
74
+ */
75
+ interface ProposalInput {
76
+ /** ID of the proposing agent */
77
+ proposerId: string;
78
+ /** Proposal title */
79
+ title: string;
80
+ /** Proposal description */
81
+ description?: string;
82
+ /** Proposal content/value */
83
+ content: unknown;
84
+ /** Priority weight */
85
+ priority?: number;
86
+ /** Custom metadata */
87
+ metadata?: Record<string, unknown>;
88
+ }
89
+ /**
90
+ * Resource request in a proposal
91
+ */
92
+ interface ResourceRequest {
93
+ /** Resource type */
94
+ type: string;
95
+ /** Amount requested */
96
+ amount: number;
97
+ /** Unit of measurement */
98
+ unit?: string;
99
+ /** Whether exclusive access is needed */
100
+ exclusive?: boolean;
101
+ }
102
+ /**
103
+ * A vote cast by an agent
104
+ */
105
+ interface Vote {
106
+ /** Unique vote ID */
107
+ id?: string;
108
+ /** Session ID */
109
+ sessionId?: string;
110
+ /** Voting agent ID */
111
+ agentId: string;
112
+ /** Ranked preferences (proposal IDs) */
113
+ ranking: string[];
114
+ /** Approval set (for approval voting) */
115
+ approvals?: string[];
116
+ /** Vote weight (determined by trust level) */
117
+ weight: number;
118
+ /** Optional vote reason/justification */
119
+ reason?: string;
120
+ /** Optional justification */
121
+ justification?: string;
122
+ /** Whether this is an abstention */
123
+ abstain?: boolean;
124
+ /** Vote timestamp */
125
+ timestamp: number;
126
+ /** If this vote was superseded by another */
127
+ supersededBy?: string;
128
+ }
129
+ /**
130
+ * Input for casting a vote
131
+ */
132
+ interface VoteInput {
133
+ /** Voting agent ID */
134
+ agentId: string;
135
+ /** Ranked preferences */
136
+ ranking?: string[];
137
+ /** Approval set */
138
+ approvals?: string[];
139
+ /** Vote weight */
140
+ weight?: number;
141
+ /** Justification */
142
+ justification?: string;
143
+ /** Abstain from voting */
144
+ abstain?: boolean;
145
+ }
146
+ /**
147
+ * Vote tally result
148
+ */
149
+ interface VoteTally {
150
+ /** Proposal ID */
151
+ proposalId: string;
152
+ /** Total votes received */
153
+ voteCount: number;
154
+ /** Weighted score */
155
+ weightedScore: number;
156
+ /** Approval count */
157
+ approvalCount?: number;
158
+ /** Borda points */
159
+ bordaPoints?: number;
160
+ /** Percentage of votes */
161
+ percentage: number;
162
+ }
163
+ /**
164
+ * Negotiation session configuration
165
+ */
166
+ interface NegotiationConfig {
167
+ /** Voting mechanism */
168
+ mechanism: VotingMechanism;
169
+ /** Voting mechanism (alias) */
170
+ votingMechanism?: VotingMechanism;
171
+ /** Session timeout (ms) */
172
+ timeout?: number;
173
+ /** Proposal deadline (ms from start) */
174
+ proposalDeadline?: number;
175
+ /** Voting deadline (ms from start) */
176
+ votingDeadline?: number;
177
+ /** Maximum rounds before deadlock */
178
+ maxRounds?: number;
179
+ /** Tie-breaking strategy */
180
+ tieBreaker?: TieBreaker;
181
+ /** Minimum participation ratio */
182
+ quorum?: number;
183
+ /** Allow proposal amendments */
184
+ allowAmendments?: boolean;
185
+ /** Anonymous voting */
186
+ anonymousVoting?: boolean;
187
+ /** Allow delegation */
188
+ allowDelegation?: boolean;
189
+ /** Allow agents to abstain */
190
+ allowAbstain?: boolean;
191
+ /** Require justification for votes */
192
+ requireJustification?: boolean;
193
+ /** Auto-escalate on deadlock */
194
+ escalateOnDeadlock?: boolean;
195
+ /** Escalation target */
196
+ escalationTarget?: string;
197
+ /** Escalation path */
198
+ escalationPath?: string;
199
+ }
200
+ /**
201
+ * Negotiation session
202
+ */
203
+ interface NegotiationSession {
204
+ /** Unique session ID */
205
+ id: string;
206
+ /** Negotiation topic */
207
+ topic: string;
208
+ /** Description */
209
+ description?: string;
210
+ /** Participating agent IDs (can be strings or full manifests) */
211
+ participants: (string | AgentManifest)[];
212
+ /** Session configuration */
213
+ config: NegotiationConfig;
214
+ /** Submitted proposals */
215
+ proposals: Proposal[];
216
+ /** Cast votes */
217
+ votes: Vote[];
218
+ /** Current status */
219
+ status: NegotiationStatus;
220
+ /** Current round number */
221
+ round: number;
222
+ /** Current round (alias) */
223
+ currentRound?: number;
224
+ /** Session creation time */
225
+ createdAt?: number;
226
+ /** Session start time */
227
+ startedAt: number;
228
+ /** Last activity timestamp */
229
+ lastActivityAt: number;
230
+ /** Deadline timestamp */
231
+ deadline?: number;
232
+ /** Resolution result */
233
+ resolution?: Resolution;
234
+ /** Session resolution timestamp */
235
+ resolvedAt?: number;
236
+ /** Session history/log */
237
+ history: NegotiationEvent[];
238
+ /** Custom metadata */
239
+ metadata?: Record<string, unknown>;
240
+ }
241
+ /**
242
+ * Negotiation event for history
243
+ */
244
+ interface NegotiationEvent {
245
+ /** Event type */
246
+ type: 'session_created' | 'session_started' | 'proposal_submitted' | 'proposal_amended' | 'proposal_withdrawn' | 'voting_started' | 'vote_cast' | 'round_complete' | 'resolution_reached' | 'deadlock_detected' | 'escalation_triggered' | 'session_cancelled';
247
+ /** Event timestamp */
248
+ timestamp: number;
249
+ /** Related agent ID */
250
+ agentId?: string;
251
+ /** Related proposal ID */
252
+ proposalId?: string;
253
+ /** Event details */
254
+ details?: Record<string, unknown>;
255
+ }
256
+ /**
257
+ * Resolution of a negotiation
258
+ */
259
+ interface Resolution {
260
+ /** Session ID */
261
+ sessionId?: string;
262
+ /** Winning proposal ID */
263
+ winnerId?: string;
264
+ /** Winning proposal */
265
+ winner?: Proposal;
266
+ /** Winning proposal (alias) */
267
+ winningProposal?: Proposal;
268
+ /** Final tallies */
269
+ tallies: VoteTally[];
270
+ /** Final tallies (alias) */
271
+ finalTallies?: VoteTally[];
272
+ /** Resolution outcome */
273
+ outcome: ResolutionOutcome;
274
+ /** Resolution mechanism used */
275
+ mechanism: VotingMechanism;
276
+ /** Number of rounds taken */
277
+ rounds: number;
278
+ /** Round (alias) */
279
+ round?: number;
280
+ /** Resolution timestamp */
281
+ resolvedAt: number;
282
+ /** Timestamp (alias) */
283
+ timestamp?: number;
284
+ /** Tie-breaker used (if any) */
285
+ tieBreakerUsed?: boolean;
286
+ /** Consensus level (0-1) */
287
+ consensusLevel?: number;
288
+ /** Dissenting agents */
289
+ dissenters?: string[];
290
+ /** Participation rate (0-1) */
291
+ participationRate?: number;
292
+ /** Escalation target */
293
+ escalatedTo?: string;
294
+ /** Notes */
295
+ notes?: string;
296
+ }
297
+ /**
298
+ * Events emitted by NegotiationProtocol
299
+ */
300
+ interface NegotiationEvents {
301
+ 'session:created': (session: NegotiationSession) => void;
302
+ 'session:started': (session: NegotiationSession) => void;
303
+ 'session:cancelled': (sessionId: string, reason: string) => void;
304
+ 'proposal:submitted': (proposal: Proposal, session: NegotiationSession) => void;
305
+ 'proposal:amended': (proposal: Proposal, session: NegotiationSession) => void;
306
+ 'proposal:withdrawn': (proposalId: string, session: NegotiationSession) => void;
307
+ 'voting:started': (session: NegotiationSession) => void;
308
+ 'vote:cast': (vote: Vote, session: NegotiationSession) => void;
309
+ 'round:complete': (round: number, session: NegotiationSession) => void;
310
+ 'resolution:reached': (resolution: Resolution, session: NegotiationSession) => void;
311
+ 'deadlock:detected': (session: NegotiationSession) => void;
312
+ 'escalation:triggered': (session: NegotiationSession, target: string) => void;
313
+ sessionStarted: {
314
+ session: NegotiationSession;
315
+ };
316
+ proposalSubmitted: {
317
+ session: NegotiationSession;
318
+ proposal: Proposal;
319
+ };
320
+ voteReceived: {
321
+ session: NegotiationSession;
322
+ vote: Vote;
323
+ };
324
+ sessionResolved: {
325
+ session: NegotiationSession;
326
+ resolution: Resolution;
327
+ };
328
+ }
329
+ /**
330
+ * Options for initiating a negotiation session
331
+ */
332
+ interface InitiateOptions {
333
+ /** Negotiation topic */
334
+ topic: string;
335
+ /** Description */
336
+ description?: string;
337
+ /** Participating agent IDs */
338
+ participants: string[];
339
+ /** Voting mechanism */
340
+ votingMechanism?: VotingMechanism;
341
+ /** Session timeout (ms) */
342
+ timeout?: number;
343
+ /** Quorum requirement (0-1) */
344
+ quorum?: number;
345
+ /** Maximum rounds */
346
+ maxRounds?: number;
347
+ /** Allow abstention */
348
+ allowAbstain?: boolean;
349
+ /** Require vote justification */
350
+ requireJustification?: boolean;
351
+ /** Tie-breaker strategy */
352
+ tieBreaker?: TieBreaker;
353
+ /** Escalation path */
354
+ escalationPath?: string;
355
+ /** Custom metadata */
356
+ metadata?: Record<string, unknown>;
357
+ }
358
+
359
+ /**
360
+ * @holoscript/core - Voting Mechanisms
361
+ *
362
+ * Implementations of various voting algorithms for agent negotiation.
363
+ * Part of HoloScript v3.1 Agentic Choreography.
364
+ *
365
+ * Supported mechanisms:
366
+ * - Majority: Simple majority wins
367
+ * - Supermajority: 2/3 threshold required
368
+ * - Weighted: Vote weight by trust level
369
+ * - Consensus: All must agree
370
+ * - Ranked Choice: Instant runoff voting
371
+ * - Approval: Multiple approval voting
372
+ * - Borda Count: Point-based ranking
373
+ *
374
+ * @version 3.1.0
375
+ * @Sprint v3.1 (March 2026)
376
+ */
377
+
378
+ /**
379
+ * Result from a voting round
380
+ */
381
+ interface VotingResult {
382
+ /** Final tallies */
383
+ tallies: VoteTally[];
384
+ /** Winner ID (if determined) */
385
+ winnerId?: string;
386
+ /** Whether resolution was reached */
387
+ resolved: boolean;
388
+ /** Outcome type */
389
+ outcome: ResolutionOutcome;
390
+ /** Tie detected */
391
+ tie?: boolean;
392
+ /** Eliminated proposals (for ranked choice) */
393
+ eliminated?: string[];
394
+ /** Consensus level (0-1) */
395
+ consensusLevel?: number;
396
+ /** Dissenters */
397
+ dissenters?: string[];
398
+ }
399
+ /**
400
+ * Voting mechanism handler interface
401
+ */
402
+ interface VotingHandler {
403
+ /** Count votes and determine result */
404
+ count(votes: Vote[], proposals: Proposal[], config: NegotiationConfig, round: number): VotingResult;
405
+ /** Validate a vote for this mechanism */
406
+ validateVote(vote: Vote, proposals: Proposal[]): boolean;
407
+ /** Get required quorum for this mechanism */
408
+ getRequiredQuorum(config: NegotiationConfig): number;
409
+ }
410
+ /**
411
+ * Simple majority voting (>50% wins)
412
+ */
413
+ declare const majorityHandler: VotingHandler;
414
+ /**
415
+ * Supermajority voting (≥66.67% wins)
416
+ */
417
+ declare const supermajorityHandler: VotingHandler;
418
+ /**
419
+ * Weighted voting (trust-level based weights)
420
+ */
421
+ declare const weightedHandler: VotingHandler;
422
+ /**
423
+ * Consensus voting (all must agree)
424
+ */
425
+ declare const consensusHandler: VotingHandler;
426
+ /**
427
+ * Ranked choice voting with instant runoff
428
+ */
429
+ declare const rankedHandler: VotingHandler;
430
+ /**
431
+ * Approval voting (vote for multiple acceptable options)
432
+ */
433
+ declare const approvalHandler: VotingHandler;
434
+ /**
435
+ * Borda count voting (points by rank position)
436
+ */
437
+ declare const bordaHandler: VotingHandler;
438
+ /**
439
+ * Get handler for a voting mechanism
440
+ */
441
+ declare function getVotingHandler(mechanism: VotingMechanism): VotingHandler;
442
+ /**
443
+ * Check if quorum is met
444
+ */
445
+ declare function checkQuorum(votes: Vote[], participants: number, config: NegotiationConfig, mechanism: VotingMechanism): boolean;
446
+ /**
447
+ * Get trust-based vote weight
448
+ */
449
+ declare function getTrustWeight(trustLevel: 'local' | 'verified' | 'external'): number;
450
+
451
+ /**
452
+ * @holoscript/core - Negotiation Protocol
453
+ *
454
+ * Core protocol for multi-agent negotiation and consensus building.
455
+ * Manages negotiation sessions, proposals, voting, and resolution.
456
+ *
457
+ * Part of HoloScript v3.1 Agentic Choreography.
458
+ *
459
+ * @example
460
+ * ```typescript
461
+ * const protocol = new NegotiationProtocol();
462
+ *
463
+ * // Start a negotiation
464
+ * const session = await protocol.initiate({
465
+ * topic: 'task-assignment',
466
+ * participants: ['agent-1', 'agent-2', 'agent-3'],
467
+ * votingMechanism: 'majority',
468
+ * timeout: 60000,
469
+ * });
470
+ *
471
+ * // Submit proposals
472
+ * await protocol.propose(session.id, {
473
+ * proposerId: 'agent-1',
474
+ * title: 'Process sequentially',
475
+ * description: 'Handle tasks one at a time',
476
+ * content: { strategy: 'sequential' },
477
+ * });
478
+ *
479
+ * // Vote on proposals
480
+ * await protocol.vote(session.id, {
481
+ * agentId: 'agent-2',
482
+ * ranking: ['proposal-1'],
483
+ * });
484
+ *
485
+ * // Resolve when ready
486
+ * const resolution = await protocol.resolve(session.id);
487
+ * ```
488
+ *
489
+ * @version 3.1.0
490
+ * @Sprint v3.1 (March 2026)
491
+ */
492
+
493
+ /**
494
+ * Audit log entry
495
+ */
496
+ interface AuditEntry {
497
+ timestamp: number;
498
+ sessionId: string;
499
+ action: 'initiated' | 'proposal_submitted' | 'vote_cast' | 'resolved' | 'timeout' | 'escalated';
500
+ agentId?: string;
501
+ details: Record<string, unknown>;
502
+ }
503
+ /**
504
+ * Event handler type
505
+ */
506
+ type EventHandler<T> = (data: T) => void | Promise<void>;
507
+ /**
508
+ * NegotiationProtocol manages multi-agent negotiation sessions.
509
+ *
510
+ * Features:
511
+ * - Multiple voting mechanisms (majority, consensus, ranked, etc.)
512
+ * - Proposal lifecycle management
513
+ * - Quorum and deadline enforcement
514
+ * - Deadlock detection and escalation
515
+ * - Full audit logging
516
+ */
517
+ declare class NegotiationProtocol {
518
+ private sessions;
519
+ private auditLog;
520
+ private deadlines;
521
+ private eventHandlers;
522
+ private sessionCounter;
523
+ private proposalCounter;
524
+ private voteCounter;
525
+ /**
526
+ * Initiate a new negotiation session
527
+ */
528
+ initiate(options: InitiateOptions): Promise<NegotiationSession>;
529
+ /**
530
+ * Submit a proposal to a session
531
+ */
532
+ propose(sessionId: string, input: ProposalInput): Promise<Proposal>;
533
+ /**
534
+ * Cast a vote in a session
535
+ */
536
+ vote(sessionId: string, input: VoteInput): Promise<Vote>;
537
+ /**
538
+ * Resolve a negotiation session
539
+ */
540
+ resolve(sessionId: string, force?: boolean): Promise<Resolution>;
541
+ /**
542
+ * Get session by ID
543
+ */
544
+ getSession(sessionId: string): NegotiationSession;
545
+ /**
546
+ * Get all active sessions
547
+ */
548
+ getActiveSessions(): NegotiationSession[];
549
+ /**
550
+ * Get sessions for a specific agent
551
+ */
552
+ getAgentSessions(agentId: string): NegotiationSession[];
553
+ /**
554
+ * Cancel a session
555
+ */
556
+ cancel(sessionId: string, _reason?: string): Promise<void>;
557
+ /**
558
+ * Escalate a deadlocked session
559
+ */
560
+ escalate(sessionId: string): Promise<Resolution>;
561
+ /**
562
+ * Add a participant to an open session
563
+ */
564
+ addParticipant(sessionId: string, agentId: string): void;
565
+ /**
566
+ * Remove a participant from a session
567
+ */
568
+ removeParticipant(sessionId: string, agentId: string): void;
569
+ /**
570
+ * Subscribe to negotiation events
571
+ */
572
+ on<K extends keyof NegotiationEvents>(event: K, handler: EventHandler<NegotiationEvents[K]>): () => void;
573
+ /**
574
+ * Get audit log
575
+ */
576
+ getAuditLog(sessionId?: string): AuditEntry[];
577
+ /**
578
+ * Clear completed sessions older than maxAge
579
+ */
580
+ pruneOldSessions(maxAgeMs: number): number;
581
+ /**
582
+ * Reset protocol state (for testing)
583
+ */
584
+ reset(): void;
585
+ private generateSessionId;
586
+ private generateProposalId;
587
+ private generateVoteId;
588
+ private validateSessionOpen;
589
+ private validateParticipant;
590
+ private validateNotDuplicate;
591
+ private allVotesCast;
592
+ private tryAutoResolve;
593
+ private buildResolution;
594
+ private createFailedResolution;
595
+ private startDeadlineTimer;
596
+ private handleTimeout;
597
+ private clearDeadline;
598
+ private audit;
599
+ private emit;
600
+ }
601
+ /**
602
+ * Get the default NegotiationProtocol instance
603
+ */
604
+ declare function getNegotiationProtocol(): NegotiationProtocol;
605
+ /**
606
+ * Reset the default protocol instance (for testing)
607
+ */
608
+ declare function resetNegotiationProtocol(): void;
609
+
610
+ export { type AuditEntry, type InitiateOptions, type NegotiationConfig, type NegotiationEvents, NegotiationProtocol, type NegotiationSession, type NegotiationStatus, type Proposal, type ProposalInput, type ProposalStatus, type Resolution, type ResolutionOutcome, type TieBreaker, type Vote, type VoteInput, type VoteTally, type VotingHandler, type VotingMechanism, type VotingResult, approvalHandler, bordaHandler, checkQuorum, consensusHandler, getNegotiationProtocol, getTrustWeight, getVotingHandler, majorityHandler, rankedHandler, resetNegotiationProtocol, supermajorityHandler, weightedHandler };