@nxuss/lemma 0.1.0 → 0.2.0

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 (452) hide show
  1. package/README.md +347 -181
  2. package/dist/cjs/cloud/KeyManager.d.ts.map +1 -0
  3. package/dist/cjs/cloud/KeyManager.js.map +1 -0
  4. package/dist/cjs/cloud/TenantCache.d.ts.map +1 -0
  5. package/dist/cjs/cloud/TenantCache.js.map +1 -0
  6. package/dist/cjs/cloud/index.d.ts.map +1 -0
  7. package/dist/cjs/cloud/index.js.map +1 -0
  8. package/dist/cjs/cloud/server.d.ts.map +1 -0
  9. package/dist/cjs/cloud/server.js.map +1 -0
  10. package/dist/cjs/cloud/types.d.ts.map +1 -0
  11. package/dist/cjs/cloud/types.js.map +1 -0
  12. package/dist/cjs/config/index.d.ts.map +1 -0
  13. package/dist/cjs/config/index.js.map +1 -0
  14. package/dist/cjs/consensus/ConsensusEngine.d.ts.map +1 -0
  15. package/dist/cjs/consensus/ConsensusEngine.js.map +1 -0
  16. package/dist/cjs/consensus/ModelPool.d.ts.map +1 -0
  17. package/dist/cjs/consensus/ModelPool.js.map +1 -0
  18. package/dist/cjs/consensus/index.d.ts.map +1 -0
  19. package/dist/cjs/consensus/index.js.map +1 -0
  20. package/dist/cjs/core/AgentRegistry.d.ts.map +1 -0
  21. package/dist/cjs/core/AgentRegistry.js.map +1 -0
  22. package/dist/cjs/core/DashboardBroadcaster.d.ts.map +1 -0
  23. package/dist/cjs/core/DashboardBroadcaster.js.map +1 -0
  24. package/dist/{core → cjs/core}/OrchestrationEngine.d.ts +1 -0
  25. package/dist/cjs/core/OrchestrationEngine.d.ts.map +1 -0
  26. package/dist/{core → cjs/core}/OrchestrationEngine.js +29 -23
  27. package/dist/cjs/core/OrchestrationEngine.js.map +1 -0
  28. package/dist/cjs/core/SubconsciousEngine.d.ts.map +1 -0
  29. package/dist/{core → cjs/core}/SubconsciousEngine.js +15 -3
  30. package/dist/cjs/core/SubconsciousEngine.js.map +1 -0
  31. package/dist/cjs/core/WebSocketServer.d.ts.map +1 -0
  32. package/dist/{core → cjs/core}/WebSocketServer.js +2 -1
  33. package/dist/cjs/core/WebSocketServer.js.map +1 -0
  34. package/dist/cjs/core/index.d.ts.map +1 -0
  35. package/dist/cjs/core/index.js.map +1 -0
  36. package/dist/cjs/core/router.d.ts.map +1 -0
  37. package/dist/cjs/core/router.js.map +1 -0
  38. package/dist/{embed → cjs/embed}/index.d.ts +66 -1
  39. package/dist/cjs/embed/index.d.ts.map +1 -0
  40. package/dist/cjs/embed/index.js +979 -0
  41. package/dist/cjs/embed/index.js.map +1 -0
  42. package/dist/cjs/embed.d.ts.map +1 -0
  43. package/dist/cjs/embed.js.map +1 -0
  44. package/dist/cjs/examples/basic-usage.d.ts +12 -0
  45. package/dist/cjs/examples/basic-usage.d.ts.map +1 -0
  46. package/dist/cjs/examples/basic-usage.js +128 -0
  47. package/dist/cjs/examples/basic-usage.js.map +1 -0
  48. package/dist/cjs/index.d.ts.map +1 -0
  49. package/dist/cjs/index.js.map +1 -0
  50. package/dist/cjs/package.json +3 -0
  51. package/dist/cjs/protocol/flows.d.ts.map +1 -0
  52. package/dist/cjs/protocol/flows.js.map +1 -0
  53. package/dist/cjs/protocol/iap.d.ts.map +1 -0
  54. package/dist/cjs/protocol/iap.js.map +1 -0
  55. package/dist/cjs/protocol/index.d.ts.map +1 -0
  56. package/dist/cjs/protocol/index.js.map +1 -0
  57. package/dist/cjs/protocol/types.d.ts.map +1 -0
  58. package/dist/cjs/protocol/types.js.map +1 -0
  59. package/dist/cjs/protocol/utils.d.ts.map +1 -0
  60. package/dist/cjs/protocol/utils.js.map +1 -0
  61. package/dist/cjs/protocol/validators.d.ts.map +1 -0
  62. package/dist/cjs/protocol/validators.js.map +1 -0
  63. package/dist/cjs/security/AuthManager.d.ts.map +1 -0
  64. package/dist/cjs/security/AuthManager.js.map +1 -0
  65. package/dist/cjs/security/MessageSanitizer.d.ts.map +1 -0
  66. package/dist/{security → cjs/security}/MessageSanitizer.js +22 -6
  67. package/dist/cjs/security/MessageSanitizer.js.map +1 -0
  68. package/dist/cjs/security/RateLimiter.d.ts.map +1 -0
  69. package/dist/cjs/security/RateLimiter.js.map +1 -0
  70. package/dist/{security → cjs/security}/SecurityMiddleware.d.ts +3 -1
  71. package/dist/cjs/security/SecurityMiddleware.d.ts.map +1 -0
  72. package/dist/{security → cjs/security}/SecurityMiddleware.js +5 -3
  73. package/dist/cjs/security/SecurityMiddleware.js.map +1 -0
  74. package/dist/cjs/security/index.d.ts.map +1 -0
  75. package/dist/cjs/security/index.js.map +1 -0
  76. package/dist/cjs/speculative/PredictionEngine.d.ts.map +1 -0
  77. package/dist/cjs/speculative/PredictionEngine.js.map +1 -0
  78. package/dist/cjs/speculative/SpeculativeCache.d.ts.map +1 -0
  79. package/dist/cjs/speculative/SpeculativeCache.js.map +1 -0
  80. package/dist/cjs/speculative/SpeculativeEngine.d.ts.map +1 -0
  81. package/dist/cjs/speculative/SpeculativeEngine.js.map +1 -0
  82. package/dist/cjs/speculative/WorkerPool.d.ts.map +1 -0
  83. package/dist/cjs/speculative/WorkerPool.js.map +1 -0
  84. package/dist/cjs/speculative/index.d.ts.map +1 -0
  85. package/dist/cjs/speculative/index.js.map +1 -0
  86. package/dist/cjs/subconscious/EmbeddingService.d.ts.map +1 -0
  87. package/dist/cjs/subconscious/EmbeddingService.js.map +1 -0
  88. package/dist/cjs/subconscious/SemanticCache.d.ts.map +1 -0
  89. package/dist/cjs/subconscious/SemanticCache.js.map +1 -0
  90. package/dist/cjs/subconscious/SubconsciousEngine.d.ts.map +1 -0
  91. package/dist/cjs/subconscious/SubconsciousEngine.js.map +1 -0
  92. package/dist/cjs/subconscious/VectorStore.d.ts.map +1 -0
  93. package/dist/{subconscious → cjs/subconscious}/VectorStore.js +3 -3
  94. package/dist/cjs/subconscious/VectorStore.js.map +1 -0
  95. package/dist/cjs/subconscious/cache.d.ts.map +1 -0
  96. package/dist/cjs/subconscious/cache.js.map +1 -0
  97. package/dist/cjs/subconscious/embeddings.d.ts.map +1 -0
  98. package/dist/cjs/subconscious/embeddings.js.map +1 -0
  99. package/dist/cjs/subconscious/index.d.ts.map +1 -0
  100. package/dist/cjs/subconscious/index.js.map +1 -0
  101. package/dist/cjs/types/index.d.ts.map +1 -0
  102. package/dist/cjs/types/index.js.map +1 -0
  103. package/dist/cjs/utils/logger.d.ts.map +1 -0
  104. package/dist/cjs/utils/logger.js.map +1 -0
  105. package/dist/esm/cloud/KeyManager.d.ts +29 -0
  106. package/dist/esm/cloud/KeyManager.d.ts.map +1 -0
  107. package/dist/esm/cloud/KeyManager.js +135 -0
  108. package/dist/esm/cloud/KeyManager.js.map +1 -0
  109. package/dist/esm/cloud/TenantCache.d.ts +29 -0
  110. package/dist/esm/cloud/TenantCache.d.ts.map +1 -0
  111. package/dist/esm/cloud/TenantCache.js +125 -0
  112. package/dist/esm/cloud/TenantCache.js.map +1 -0
  113. package/dist/esm/cloud/index.d.ts +4 -0
  114. package/dist/esm/cloud/index.d.ts.map +1 -0
  115. package/dist/esm/cloud/index.js +4 -0
  116. package/dist/esm/cloud/index.js.map +1 -0
  117. package/dist/esm/cloud/server.d.ts +17 -0
  118. package/dist/esm/cloud/server.d.ts.map +1 -0
  119. package/dist/esm/cloud/server.js +181 -0
  120. package/dist/esm/cloud/server.js.map +1 -0
  121. package/dist/esm/cloud/types.d.ts +35 -0
  122. package/dist/esm/cloud/types.d.ts.map +1 -0
  123. package/dist/esm/cloud/types.js +11 -0
  124. package/dist/esm/cloud/types.js.map +1 -0
  125. package/dist/esm/config/index.d.ts +44 -0
  126. package/dist/esm/config/index.d.ts.map +1 -0
  127. package/dist/esm/config/index.js +151 -0
  128. package/dist/esm/config/index.js.map +1 -0
  129. package/dist/esm/consensus/ConsensusEngine.d.ts +119 -0
  130. package/dist/esm/consensus/ConsensusEngine.d.ts.map +1 -0
  131. package/dist/esm/consensus/ConsensusEngine.js +310 -0
  132. package/dist/esm/consensus/ConsensusEngine.js.map +1 -0
  133. package/dist/esm/consensus/ModelPool.d.ts +103 -0
  134. package/dist/esm/consensus/ModelPool.d.ts.map +1 -0
  135. package/dist/esm/consensus/ModelPool.js +269 -0
  136. package/dist/esm/consensus/ModelPool.js.map +1 -0
  137. package/dist/esm/consensus/index.d.ts +8 -0
  138. package/dist/esm/consensus/index.d.ts.map +1 -0
  139. package/dist/esm/consensus/index.js +8 -0
  140. package/dist/esm/consensus/index.js.map +1 -0
  141. package/dist/esm/core/AgentRegistry.d.ts +89 -0
  142. package/dist/esm/core/AgentRegistry.d.ts.map +1 -0
  143. package/dist/esm/core/AgentRegistry.js +260 -0
  144. package/dist/esm/core/AgentRegistry.js.map +1 -0
  145. package/dist/esm/core/DashboardBroadcaster.d.ts +67 -0
  146. package/dist/esm/core/DashboardBroadcaster.d.ts.map +1 -0
  147. package/dist/esm/core/DashboardBroadcaster.js +260 -0
  148. package/dist/esm/core/DashboardBroadcaster.js.map +1 -0
  149. package/dist/esm/core/OrchestrationEngine.d.ts +85 -0
  150. package/dist/esm/core/OrchestrationEngine.d.ts.map +1 -0
  151. package/dist/esm/core/OrchestrationEngine.js +457 -0
  152. package/dist/esm/core/OrchestrationEngine.js.map +1 -0
  153. package/dist/esm/core/SubconsciousEngine.d.ts +53 -0
  154. package/dist/esm/core/SubconsciousEngine.d.ts.map +1 -0
  155. package/dist/esm/core/SubconsciousEngine.js +278 -0
  156. package/dist/esm/core/SubconsciousEngine.js.map +1 -0
  157. package/dist/esm/core/WebSocketServer.d.ts +89 -0
  158. package/dist/esm/core/WebSocketServer.d.ts.map +1 -0
  159. package/dist/esm/core/WebSocketServer.js +380 -0
  160. package/dist/esm/core/WebSocketServer.js.map +1 -0
  161. package/dist/esm/core/index.d.ts +15 -0
  162. package/dist/esm/core/index.d.ts.map +1 -0
  163. package/dist/esm/core/index.js +15 -0
  164. package/dist/esm/core/index.js.map +1 -0
  165. package/dist/esm/core/router.d.ts +105 -0
  166. package/dist/esm/core/router.d.ts.map +1 -0
  167. package/dist/esm/core/router.js +416 -0
  168. package/dist/esm/core/router.js.map +1 -0
  169. package/dist/esm/embed/index.d.ts +218 -0
  170. package/dist/esm/embed/index.d.ts.map +1 -0
  171. package/dist/esm/embed/index.js +939 -0
  172. package/dist/esm/embed/index.js.map +1 -0
  173. package/dist/esm/embed.d.ts +11 -0
  174. package/dist/esm/embed.d.ts.map +1 -0
  175. package/dist/esm/embed.js +11 -0
  176. package/dist/esm/embed.js.map +1 -0
  177. package/dist/esm/examples/basic-usage.d.ts +12 -0
  178. package/dist/esm/examples/basic-usage.d.ts.map +1 -0
  179. package/dist/esm/examples/basic-usage.js +126 -0
  180. package/dist/esm/examples/basic-usage.js.map +1 -0
  181. package/dist/esm/index.d.ts +83 -0
  182. package/dist/esm/index.d.ts.map +1 -0
  183. package/dist/esm/index.js +132 -0
  184. package/dist/esm/index.js.map +1 -0
  185. package/dist/esm/package.json +3 -0
  186. package/dist/esm/protocol/flows.d.ts +126 -0
  187. package/dist/esm/protocol/flows.d.ts.map +1 -0
  188. package/dist/esm/protocol/flows.js +338 -0
  189. package/dist/esm/protocol/flows.js.map +1 -0
  190. package/dist/esm/protocol/iap.d.ts +54 -0
  191. package/dist/esm/protocol/iap.d.ts.map +1 -0
  192. package/dist/esm/protocol/iap.js +104 -0
  193. package/dist/esm/protocol/iap.js.map +1 -0
  194. package/dist/esm/protocol/index.d.ts +23 -0
  195. package/dist/esm/protocol/index.d.ts.map +1 -0
  196. package/dist/esm/protocol/index.js +28 -0
  197. package/dist/esm/protocol/index.js.map +1 -0
  198. package/dist/esm/protocol/types.d.ts +332 -0
  199. package/dist/esm/protocol/types.d.ts.map +1 -0
  200. package/dist/esm/protocol/types.js +54 -0
  201. package/dist/esm/protocol/types.js.map +1 -0
  202. package/dist/esm/protocol/utils.d.ts +130 -0
  203. package/dist/esm/protocol/utils.d.ts.map +1 -0
  204. package/dist/esm/protocol/utils.js +260 -0
  205. package/dist/esm/protocol/utils.js.map +1 -0
  206. package/dist/esm/protocol/validators.d.ts +54 -0
  207. package/dist/esm/protocol/validators.d.ts.map +1 -0
  208. package/dist/esm/protocol/validators.js +332 -0
  209. package/dist/esm/protocol/validators.js.map +1 -0
  210. package/dist/esm/security/AuthManager.d.ts +73 -0
  211. package/dist/esm/security/AuthManager.d.ts.map +1 -0
  212. package/dist/esm/security/AuthManager.js +95 -0
  213. package/dist/esm/security/AuthManager.js.map +1 -0
  214. package/dist/esm/security/MessageSanitizer.d.ts +51 -0
  215. package/dist/esm/security/MessageSanitizer.d.ts.map +1 -0
  216. package/dist/esm/security/MessageSanitizer.js +178 -0
  217. package/dist/esm/security/MessageSanitizer.js.map +1 -0
  218. package/dist/esm/security/RateLimiter.d.ts +46 -0
  219. package/dist/esm/security/RateLimiter.d.ts.map +1 -0
  220. package/dist/esm/security/RateLimiter.js +129 -0
  221. package/dist/esm/security/RateLimiter.js.map +1 -0
  222. package/dist/esm/security/SecurityMiddleware.d.ts +90 -0
  223. package/dist/esm/security/SecurityMiddleware.d.ts.map +1 -0
  224. package/dist/esm/security/SecurityMiddleware.js +144 -0
  225. package/dist/esm/security/SecurityMiddleware.js.map +1 -0
  226. package/dist/esm/security/index.d.ts +35 -0
  227. package/dist/esm/security/index.d.ts.map +1 -0
  228. package/dist/esm/security/index.js +35 -0
  229. package/dist/esm/security/index.js.map +1 -0
  230. package/dist/esm/speculative/PredictionEngine.d.ts +99 -0
  231. package/dist/esm/speculative/PredictionEngine.d.ts.map +1 -0
  232. package/dist/esm/speculative/PredictionEngine.js +284 -0
  233. package/dist/esm/speculative/PredictionEngine.js.map +1 -0
  234. package/dist/esm/speculative/SpeculativeCache.d.ts +117 -0
  235. package/dist/esm/speculative/SpeculativeCache.d.ts.map +1 -0
  236. package/dist/esm/speculative/SpeculativeCache.js +288 -0
  237. package/dist/esm/speculative/SpeculativeCache.js.map +1 -0
  238. package/dist/esm/speculative/SpeculativeEngine.d.ts +114 -0
  239. package/dist/esm/speculative/SpeculativeEngine.d.ts.map +1 -0
  240. package/dist/esm/speculative/SpeculativeEngine.js +240 -0
  241. package/dist/esm/speculative/SpeculativeEngine.js.map +1 -0
  242. package/dist/esm/speculative/WorkerPool.d.ts +109 -0
  243. package/dist/esm/speculative/WorkerPool.d.ts.map +1 -0
  244. package/dist/esm/speculative/WorkerPool.js +323 -0
  245. package/dist/esm/speculative/WorkerPool.js.map +1 -0
  246. package/dist/esm/speculative/index.d.ts +10 -0
  247. package/dist/esm/speculative/index.d.ts.map +1 -0
  248. package/dist/esm/speculative/index.js +10 -0
  249. package/dist/esm/speculative/index.js.map +1 -0
  250. package/dist/esm/subconscious/EmbeddingService.d.ts +73 -0
  251. package/dist/esm/subconscious/EmbeddingService.d.ts.map +1 -0
  252. package/dist/esm/subconscious/EmbeddingService.js +189 -0
  253. package/dist/esm/subconscious/EmbeddingService.js.map +1 -0
  254. package/dist/esm/subconscious/SemanticCache.d.ts +82 -0
  255. package/dist/esm/subconscious/SemanticCache.d.ts.map +1 -0
  256. package/dist/esm/subconscious/SemanticCache.js +160 -0
  257. package/dist/esm/subconscious/SemanticCache.js.map +1 -0
  258. package/dist/esm/subconscious/SubconsciousEngine.d.ts +121 -0
  259. package/dist/esm/subconscious/SubconsciousEngine.d.ts.map +1 -0
  260. package/dist/esm/subconscious/SubconsciousEngine.js +237 -0
  261. package/dist/esm/subconscious/SubconsciousEngine.js.map +1 -0
  262. package/dist/esm/subconscious/VectorStore.d.ts +54 -0
  263. package/dist/esm/subconscious/VectorStore.d.ts.map +1 -0
  264. package/dist/esm/subconscious/VectorStore.js +164 -0
  265. package/dist/esm/subconscious/VectorStore.js.map +1 -0
  266. package/dist/esm/subconscious/cache.d.ts +34 -0
  267. package/dist/esm/subconscious/cache.d.ts.map +1 -0
  268. package/dist/esm/subconscious/cache.js +152 -0
  269. package/dist/{subconscious → esm/subconscious}/cache.js.map +1 -1
  270. package/dist/esm/subconscious/embeddings.d.ts +25 -0
  271. package/dist/esm/subconscious/embeddings.d.ts.map +1 -0
  272. package/dist/esm/subconscious/embeddings.js +58 -0
  273. package/dist/esm/subconscious/embeddings.js.map +1 -0
  274. package/dist/esm/subconscious/index.d.ts +12 -0
  275. package/dist/esm/subconscious/index.d.ts.map +1 -0
  276. package/dist/esm/subconscious/index.js +12 -0
  277. package/dist/esm/subconscious/index.js.map +1 -0
  278. package/dist/esm/types/index.d.ts +286 -0
  279. package/dist/esm/types/index.d.ts.map +1 -0
  280. package/dist/esm/types/index.js +40 -0
  281. package/dist/esm/types/index.js.map +1 -0
  282. package/dist/esm/utils/logger.d.ts +63 -0
  283. package/dist/esm/utils/logger.d.ts.map +1 -0
  284. package/dist/esm/utils/logger.js +122 -0
  285. package/dist/esm/utils/logger.js.map +1 -0
  286. package/package.json +77 -13
  287. package/dist/cloud/KeyManager.d.ts.map +0 -1
  288. package/dist/cloud/KeyManager.js.map +0 -1
  289. package/dist/cloud/TenantCache.d.ts.map +0 -1
  290. package/dist/cloud/TenantCache.js.map +0 -1
  291. package/dist/cloud/index.d.ts.map +0 -1
  292. package/dist/cloud/index.js.map +0 -1
  293. package/dist/cloud/server.d.ts.map +0 -1
  294. package/dist/cloud/server.js.map +0 -1
  295. package/dist/cloud/types.d.ts.map +0 -1
  296. package/dist/cloud/types.js.map +0 -1
  297. package/dist/config/index.d.ts.map +0 -1
  298. package/dist/config/index.js.map +0 -1
  299. package/dist/consensus/ConsensusEngine.d.ts.map +0 -1
  300. package/dist/consensus/ConsensusEngine.js.map +0 -1
  301. package/dist/consensus/ModelPool.d.ts.map +0 -1
  302. package/dist/consensus/ModelPool.js.map +0 -1
  303. package/dist/consensus/index.d.ts.map +0 -1
  304. package/dist/consensus/index.js.map +0 -1
  305. package/dist/core/AgentRegistry.d.ts.map +0 -1
  306. package/dist/core/AgentRegistry.js.map +0 -1
  307. package/dist/core/DashboardBroadcaster.d.ts.map +0 -1
  308. package/dist/core/DashboardBroadcaster.js.map +0 -1
  309. package/dist/core/OrchestrationEngine.d.ts.map +0 -1
  310. package/dist/core/OrchestrationEngine.js.map +0 -1
  311. package/dist/core/SubconsciousEngine.d.ts.map +0 -1
  312. package/dist/core/SubconsciousEngine.js.map +0 -1
  313. package/dist/core/WebSocketServer.d.ts.map +0 -1
  314. package/dist/core/WebSocketServer.js.map +0 -1
  315. package/dist/core/index.d.ts.map +0 -1
  316. package/dist/core/index.js.map +0 -1
  317. package/dist/core/router.d.ts.map +0 -1
  318. package/dist/core/router.js.map +0 -1
  319. package/dist/embed/index.d.ts.map +0 -1
  320. package/dist/embed/index.js +0 -408
  321. package/dist/embed/index.js.map +0 -1
  322. package/dist/embed.d.ts.map +0 -1
  323. package/dist/embed.js.map +0 -1
  324. package/dist/index.d.ts.map +0 -1
  325. package/dist/index.js.map +0 -1
  326. package/dist/protocol/flows.d.ts.map +0 -1
  327. package/dist/protocol/flows.js.map +0 -1
  328. package/dist/protocol/iap.d.ts.map +0 -1
  329. package/dist/protocol/iap.js.map +0 -1
  330. package/dist/protocol/index.d.ts.map +0 -1
  331. package/dist/protocol/index.js.map +0 -1
  332. package/dist/protocol/types.d.ts.map +0 -1
  333. package/dist/protocol/types.js.map +0 -1
  334. package/dist/protocol/utils.d.ts.map +0 -1
  335. package/dist/protocol/utils.js.map +0 -1
  336. package/dist/protocol/validators.d.ts.map +0 -1
  337. package/dist/protocol/validators.js.map +0 -1
  338. package/dist/security/AuthManager.d.ts.map +0 -1
  339. package/dist/security/AuthManager.js.map +0 -1
  340. package/dist/security/MessageSanitizer.d.ts.map +0 -1
  341. package/dist/security/MessageSanitizer.js.map +0 -1
  342. package/dist/security/RateLimiter.d.ts.map +0 -1
  343. package/dist/security/RateLimiter.js.map +0 -1
  344. package/dist/security/SecurityMiddleware.d.ts.map +0 -1
  345. package/dist/security/SecurityMiddleware.js.map +0 -1
  346. package/dist/security/index.d.ts.map +0 -1
  347. package/dist/security/index.js.map +0 -1
  348. package/dist/speculative/PredictionEngine.d.ts.map +0 -1
  349. package/dist/speculative/PredictionEngine.js.map +0 -1
  350. package/dist/speculative/SpeculativeCache.d.ts.map +0 -1
  351. package/dist/speculative/SpeculativeCache.js.map +0 -1
  352. package/dist/speculative/SpeculativeEngine.d.ts.map +0 -1
  353. package/dist/speculative/SpeculativeEngine.js.map +0 -1
  354. package/dist/speculative/WorkerPool.d.ts.map +0 -1
  355. package/dist/speculative/WorkerPool.js.map +0 -1
  356. package/dist/speculative/index.d.ts.map +0 -1
  357. package/dist/speculative/index.js.map +0 -1
  358. package/dist/subconscious/EmbeddingService.d.ts.map +0 -1
  359. package/dist/subconscious/EmbeddingService.js.map +0 -1
  360. package/dist/subconscious/SemanticCache.d.ts.map +0 -1
  361. package/dist/subconscious/SemanticCache.js.map +0 -1
  362. package/dist/subconscious/SubconsciousEngine.d.ts.map +0 -1
  363. package/dist/subconscious/SubconsciousEngine.js.map +0 -1
  364. package/dist/subconscious/VectorStore.d.ts.map +0 -1
  365. package/dist/subconscious/VectorStore.js.map +0 -1
  366. package/dist/subconscious/cache.d.ts.map +0 -1
  367. package/dist/subconscious/embeddings.d.ts.map +0 -1
  368. package/dist/subconscious/embeddings.js.map +0 -1
  369. package/dist/subconscious/index.d.ts.map +0 -1
  370. package/dist/subconscious/index.js.map +0 -1
  371. package/dist/types/index.d.ts.map +0 -1
  372. package/dist/types/index.js.map +0 -1
  373. package/dist/utils/logger.d.ts.map +0 -1
  374. package/dist/utils/logger.js.map +0 -1
  375. /package/dist/{cloud → cjs/cloud}/KeyManager.d.ts +0 -0
  376. /package/dist/{cloud → cjs/cloud}/KeyManager.js +0 -0
  377. /package/dist/{cloud → cjs/cloud}/TenantCache.d.ts +0 -0
  378. /package/dist/{cloud → cjs/cloud}/TenantCache.js +0 -0
  379. /package/dist/{cloud → cjs/cloud}/index.d.ts +0 -0
  380. /package/dist/{cloud → cjs/cloud}/index.js +0 -0
  381. /package/dist/{cloud → cjs/cloud}/server.d.ts +0 -0
  382. /package/dist/{cloud → cjs/cloud}/server.js +0 -0
  383. /package/dist/{cloud → cjs/cloud}/types.d.ts +0 -0
  384. /package/dist/{cloud → cjs/cloud}/types.js +0 -0
  385. /package/dist/{config → cjs/config}/index.d.ts +0 -0
  386. /package/dist/{config → cjs/config}/index.js +0 -0
  387. /package/dist/{consensus → cjs/consensus}/ConsensusEngine.d.ts +0 -0
  388. /package/dist/{consensus → cjs/consensus}/ConsensusEngine.js +0 -0
  389. /package/dist/{consensus → cjs/consensus}/ModelPool.d.ts +0 -0
  390. /package/dist/{consensus → cjs/consensus}/ModelPool.js +0 -0
  391. /package/dist/{consensus → cjs/consensus}/index.d.ts +0 -0
  392. /package/dist/{consensus → cjs/consensus}/index.js +0 -0
  393. /package/dist/{core → cjs/core}/AgentRegistry.d.ts +0 -0
  394. /package/dist/{core → cjs/core}/AgentRegistry.js +0 -0
  395. /package/dist/{core → cjs/core}/DashboardBroadcaster.d.ts +0 -0
  396. /package/dist/{core → cjs/core}/DashboardBroadcaster.js +0 -0
  397. /package/dist/{core → cjs/core}/SubconsciousEngine.d.ts +0 -0
  398. /package/dist/{core → cjs/core}/WebSocketServer.d.ts +0 -0
  399. /package/dist/{core → cjs/core}/index.d.ts +0 -0
  400. /package/dist/{core → cjs/core}/index.js +0 -0
  401. /package/dist/{core → cjs/core}/router.d.ts +0 -0
  402. /package/dist/{core → cjs/core}/router.js +0 -0
  403. /package/dist/{embed.d.ts → cjs/embed.d.ts} +0 -0
  404. /package/dist/{embed.js → cjs/embed.js} +0 -0
  405. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  406. /package/dist/{index.js → cjs/index.js} +0 -0
  407. /package/dist/{protocol → cjs/protocol}/flows.d.ts +0 -0
  408. /package/dist/{protocol → cjs/protocol}/flows.js +0 -0
  409. /package/dist/{protocol → cjs/protocol}/iap.d.ts +0 -0
  410. /package/dist/{protocol → cjs/protocol}/iap.js +0 -0
  411. /package/dist/{protocol → cjs/protocol}/index.d.ts +0 -0
  412. /package/dist/{protocol → cjs/protocol}/index.js +0 -0
  413. /package/dist/{protocol → cjs/protocol}/types.d.ts +0 -0
  414. /package/dist/{protocol → cjs/protocol}/types.js +0 -0
  415. /package/dist/{protocol → cjs/protocol}/utils.d.ts +0 -0
  416. /package/dist/{protocol → cjs/protocol}/utils.js +0 -0
  417. /package/dist/{protocol → cjs/protocol}/validators.d.ts +0 -0
  418. /package/dist/{protocol → cjs/protocol}/validators.js +0 -0
  419. /package/dist/{security → cjs/security}/AuthManager.d.ts +0 -0
  420. /package/dist/{security → cjs/security}/AuthManager.js +0 -0
  421. /package/dist/{security → cjs/security}/MessageSanitizer.d.ts +0 -0
  422. /package/dist/{security → cjs/security}/RateLimiter.d.ts +0 -0
  423. /package/dist/{security → cjs/security}/RateLimiter.js +0 -0
  424. /package/dist/{security → cjs/security}/index.d.ts +0 -0
  425. /package/dist/{security → cjs/security}/index.js +0 -0
  426. /package/dist/{speculative → cjs/speculative}/PredictionEngine.d.ts +0 -0
  427. /package/dist/{speculative → cjs/speculative}/PredictionEngine.js +0 -0
  428. /package/dist/{speculative → cjs/speculative}/SpeculativeCache.d.ts +0 -0
  429. /package/dist/{speculative → cjs/speculative}/SpeculativeCache.js +0 -0
  430. /package/dist/{speculative → cjs/speculative}/SpeculativeEngine.d.ts +0 -0
  431. /package/dist/{speculative → cjs/speculative}/SpeculativeEngine.js +0 -0
  432. /package/dist/{speculative → cjs/speculative}/WorkerPool.d.ts +0 -0
  433. /package/dist/{speculative → cjs/speculative}/WorkerPool.js +0 -0
  434. /package/dist/{speculative → cjs/speculative}/index.d.ts +0 -0
  435. /package/dist/{speculative → cjs/speculative}/index.js +0 -0
  436. /package/dist/{subconscious → cjs/subconscious}/EmbeddingService.d.ts +0 -0
  437. /package/dist/{subconscious → cjs/subconscious}/EmbeddingService.js +0 -0
  438. /package/dist/{subconscious → cjs/subconscious}/SemanticCache.d.ts +0 -0
  439. /package/dist/{subconscious → cjs/subconscious}/SemanticCache.js +0 -0
  440. /package/dist/{subconscious → cjs/subconscious}/SubconsciousEngine.d.ts +0 -0
  441. /package/dist/{subconscious → cjs/subconscious}/SubconsciousEngine.js +0 -0
  442. /package/dist/{subconscious → cjs/subconscious}/VectorStore.d.ts +0 -0
  443. /package/dist/{subconscious → cjs/subconscious}/cache.d.ts +0 -0
  444. /package/dist/{subconscious → cjs/subconscious}/cache.js +0 -0
  445. /package/dist/{subconscious → cjs/subconscious}/embeddings.d.ts +0 -0
  446. /package/dist/{subconscious → cjs/subconscious}/embeddings.js +0 -0
  447. /package/dist/{subconscious → cjs/subconscious}/index.d.ts +0 -0
  448. /package/dist/{subconscious → cjs/subconscious}/index.js +0 -0
  449. /package/dist/{types → cjs/types}/index.d.ts +0 -0
  450. /package/dist/{types → cjs/types}/index.js +0 -0
  451. /package/dist/{utils → cjs/utils}/logger.d.ts +0 -0
  452. /package/dist/{utils → cjs/utils}/logger.js +0 -0
@@ -0,0 +1,260 @@
1
+ /**
2
+ * Inter-Agent Protocol (I.A.P.) v1.0.0
3
+ *
4
+ * Utility functions for message creation and handling
5
+ */
6
+ import { v4 as uuidv4 } from 'uuid';
7
+ import { MessageType } from './types';
8
+ import { PROTOCOL_VERSION } from './validators';
9
+ /**
10
+ * Generates a unique message ID
11
+ */
12
+ export function generateMessageId() {
13
+ return `msg_${uuidv4()}`;
14
+ }
15
+ /**
16
+ * Generates a unique task ID
17
+ */
18
+ export function generateTaskId() {
19
+ return `task_${uuidv4()}`;
20
+ }
21
+ /**
22
+ * Generates a unique agent ID
23
+ */
24
+ export function generateAgentId(prefix) {
25
+ const id = uuidv4().split('-')[0];
26
+ return prefix ? `${prefix}_${id}` : `agent_${id}`;
27
+ }
28
+ /**
29
+ * Gets current timestamp in ISO 8601 format
30
+ */
31
+ export function getCurrentTimestamp() {
32
+ return new Date().toISOString();
33
+ }
34
+ /**
35
+ * Creates a base I.A.P. message structure
36
+ */
37
+ export function createBaseMessage(type, from, to, payload, correlationId) {
38
+ return {
39
+ messageId: generateMessageId(),
40
+ type,
41
+ from,
42
+ to,
43
+ timestamp: getCurrentTimestamp(),
44
+ protocolVersion: PROTOCOL_VERSION,
45
+ payload,
46
+ ...(correlationId && { correlationId })
47
+ };
48
+ }
49
+ /**
50
+ * Creates a handshake message
51
+ */
52
+ export function createHandshakeMessage(handshake) {
53
+ return createBaseMessage(MessageType.HANDSHAKE, handshake.agentId, 'router', handshake);
54
+ }
55
+ /**
56
+ * Creates a capability discovery message
57
+ */
58
+ export function createCapabilityDiscoveryMessage(discovery) {
59
+ return createBaseMessage(MessageType.CAPABILITY_DISCOVERY, discovery.requesterId, 'router', discovery);
60
+ }
61
+ /**
62
+ * Creates a task proposal message
63
+ */
64
+ export function createTaskProposalMessage(proposal) {
65
+ return createBaseMessage(MessageType.TASK_PROPOSAL, proposal.proposerId, 'router', proposal);
66
+ }
67
+ /**
68
+ * Creates a task bid message
69
+ */
70
+ export function createTaskBidMessage(bid, agentId) {
71
+ return createBaseMessage(MessageType.TASK_BID, agentId, 'router', bid, bid.taskId);
72
+ }
73
+ /**
74
+ * Creates a task assignment message
75
+ */
76
+ export function createTaskAssignmentMessage(assignment) {
77
+ return createBaseMessage(MessageType.TASK_ASSIGNMENT, 'router', assignment.assignedTo, assignment, assignment.taskId);
78
+ }
79
+ /**
80
+ * Creates a task result message
81
+ */
82
+ export function createTaskResultMessage(result) {
83
+ return createBaseMessage(MessageType.TASK_RESULT, result.executorId, 'router', result, result.taskId);
84
+ }
85
+ /**
86
+ * Creates a context transfer message
87
+ */
88
+ export function createContextTransferMessage(transfer) {
89
+ return createBaseMessage(MessageType.CONTEXT_TRANSFER, transfer.fromAgent, transfer.toAgent, transfer, transfer.taskId);
90
+ }
91
+ /**
92
+ * Creates an error message
93
+ */
94
+ export function createErrorMessage(from, to, error, correlationId) {
95
+ return createBaseMessage(MessageType.ERROR, from, to, error, correlationId);
96
+ }
97
+ /**
98
+ * Creates a heartbeat message
99
+ */
100
+ export function createHeartbeatMessage(heartbeat) {
101
+ return createBaseMessage(MessageType.HEARTBEAT, heartbeat.agentId, 'router', heartbeat);
102
+ }
103
+ /**
104
+ * Creates a disconnect message
105
+ */
106
+ export function createDisconnectMessage(disconnect) {
107
+ return createBaseMessage(MessageType.DISCONNECT, disconnect.agentId, 'router', disconnect);
108
+ }
109
+ /**
110
+ * Serializes a message to JSON string
111
+ */
112
+ export function serializeMessage(message) {
113
+ return JSON.stringify(message);
114
+ }
115
+ /**
116
+ * Deserializes a JSON string to a message
117
+ */
118
+ export function deserializeMessage(json) {
119
+ try {
120
+ return JSON.parse(json);
121
+ }
122
+ catch (error) {
123
+ throw new Error(`Failed to deserialize message: ${error}`);
124
+ }
125
+ }
126
+ /**
127
+ * Extracts correlation ID from a message
128
+ */
129
+ export function getCorrelationId(message) {
130
+ return message.correlationId || message.messageId;
131
+ }
132
+ /**
133
+ * Checks if a message is a request type
134
+ */
135
+ export function isRequestMessage(type) {
136
+ const requestTypes = [
137
+ MessageType.HANDSHAKE,
138
+ MessageType.CAPABILITY_DISCOVERY,
139
+ MessageType.TASK_PROPOSAL,
140
+ MessageType.TASK_BID,
141
+ MessageType.CONTEXT_TRANSFER
142
+ ];
143
+ return requestTypes.includes(type);
144
+ }
145
+ /**
146
+ * Checks if a message is a response type
147
+ */
148
+ export function isResponseMessage(type) {
149
+ const responseTypes = [
150
+ MessageType.HANDSHAKE_ACK,
151
+ MessageType.CAPABILITY_RESPONSE,
152
+ MessageType.TASK_ASSIGNMENT,
153
+ MessageType.TASK_RESULT,
154
+ MessageType.ERROR
155
+ ];
156
+ return responseTypes.includes(type);
157
+ }
158
+ /**
159
+ * Calculates message size in bytes
160
+ */
161
+ export function getMessageSize(message) {
162
+ return new Blob([serializeMessage(message)]).size;
163
+ }
164
+ /**
165
+ * Compresses large payloads (placeholder for actual compression)
166
+ */
167
+ export function compressPayload(payload) {
168
+ const serialized = JSON.stringify(payload);
169
+ const size = new Blob([serialized]).size;
170
+ // Compress if larger than 10KB (in production, use actual compression)
171
+ if (size > 10240) {
172
+ // TODO: Implement actual compression (gzip/brotli)
173
+ return {
174
+ data: serialized,
175
+ compressed: true
176
+ };
177
+ }
178
+ return {
179
+ data: serialized,
180
+ compressed: false
181
+ };
182
+ }
183
+ /**
184
+ * Decompresses payloads (placeholder for actual decompression)
185
+ */
186
+ export function decompressPayload(data, compressed) {
187
+ if (!compressed) {
188
+ return JSON.parse(data);
189
+ }
190
+ // TODO: Implement actual decompression
191
+ return JSON.parse(data);
192
+ }
193
+ /**
194
+ * Creates a response message from a request
195
+ */
196
+ export function createResponseMessage(request, responseType, payload) {
197
+ return createBaseMessage(responseType, request.to === 'router' ? 'router' : request.to, request.from, payload, request.messageId);
198
+ }
199
+ /**
200
+ * Checks if a message has expired based on deadline
201
+ */
202
+ export function isMessageExpired(message, deadlineMs) {
203
+ if (!deadlineMs)
204
+ return false;
205
+ const messageTime = new Date(message.timestamp).getTime();
206
+ const now = Date.now();
207
+ return (now - messageTime) > deadlineMs;
208
+ }
209
+ /**
210
+ * Calculates message age in milliseconds
211
+ */
212
+ export function getMessageAge(message) {
213
+ const messageTime = new Date(message.timestamp).getTime();
214
+ return Date.now() - messageTime;
215
+ }
216
+ /**
217
+ * Redacts sensitive information from a message for logging
218
+ */
219
+ export function redactMessage(message) {
220
+ const redacted = { ...message };
221
+ // Redact potentially sensitive payload data
222
+ if (redacted.payload && typeof redacted.payload === 'object') {
223
+ const payload = { ...redacted.payload };
224
+ // List of fields to redact
225
+ const sensitiveFields = ['apiKey', 'token', 'password', 'secret', 'credentials'];
226
+ for (const field of sensitiveFields) {
227
+ if (field in payload) {
228
+ payload[field] = '[REDACTED]';
229
+ }
230
+ }
231
+ redacted.payload = payload;
232
+ }
233
+ return redacted;
234
+ }
235
+ /**
236
+ * Formats a message for human-readable logging
237
+ */
238
+ export function formatMessageForLog(message) {
239
+ const redacted = redactMessage(message);
240
+ return `[${redacted.type}] ${redacted.from} -> ${redacted.to} (${redacted.messageId})`;
241
+ }
242
+ /**
243
+ * Batch messages for efficient transmission
244
+ */
245
+ export function batchMessages(messages) {
246
+ return JSON.stringify(messages);
247
+ }
248
+ /**
249
+ * Unbatch messages from a batch transmission
250
+ */
251
+ export function unbatchMessages(batch) {
252
+ try {
253
+ const messages = JSON.parse(batch);
254
+ return Array.isArray(messages) ? messages : [messages];
255
+ }
256
+ catch (error) {
257
+ throw new Error(`Failed to unbatch messages: ${error}`);
258
+ }
259
+ }
260
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/protocol/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Inter-Agent Protocol (I.A.P.) v1.0.0
3
+ *
4
+ * Message validators for ensuring protocol compliance
5
+ */
6
+ import { IAPMessage, ErrorMessage } from './types';
7
+ /**
8
+ * Validation result
9
+ */
10
+ export interface ValidationResult {
11
+ valid: boolean;
12
+ errors: string[];
13
+ }
14
+ /**
15
+ * Protocol version supported by this implementation
16
+ */
17
+ export declare const PROTOCOL_VERSION = "1.0.0";
18
+ /**
19
+ * Validates a complete I.A.P. message
20
+ */
21
+ export declare function validateIAPMessage(message: any): ValidationResult;
22
+ /**
23
+ * Validates an AgentHandshake payload
24
+ */
25
+ export declare function validateHandshake(handshake: any): ValidationResult;
26
+ /**
27
+ * Validates an AgentCapability
28
+ */
29
+ export declare function validateCapability(capability: any): ValidationResult;
30
+ /**
31
+ * Validates a TaskProposal payload
32
+ */
33
+ export declare function validateTaskProposal(proposal: any): ValidationResult;
34
+ /**
35
+ * Validates a TaskBid payload
36
+ */
37
+ export declare function validateTaskBid(bid: any): ValidationResult;
38
+ /**
39
+ * Validates a ContextTransfer payload
40
+ */
41
+ export declare function validateContextTransfer(transfer: any): ValidationResult;
42
+ /**
43
+ * Validates an ErrorMessage payload
44
+ */
45
+ export declare function validateErrorMessage(error: any): ValidationResult;
46
+ /**
47
+ * Creates a validation error message
48
+ */
49
+ export declare function createValidationError(errors: string[]): ErrorMessage;
50
+ /**
51
+ * Sanitizes a message by removing invalid fields
52
+ */
53
+ export declare function sanitizeMessage(message: any): Partial<IAPMessage>;
54
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../../src/protocol/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EASV,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,CA+CjE;AAsBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG,gBAAgB,CAgDlE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,GAAG,gBAAgB,CA+BpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,CAkDpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAmC1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,CA0CvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,gBAAgB,CAmBjE;AAqBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAOpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAejE"}
@@ -0,0 +1,332 @@
1
+ /**
2
+ * Inter-Agent Protocol (I.A.P.) v1.0.0
3
+ *
4
+ * Message validators for ensuring protocol compliance
5
+ */
6
+ import { MessageType, CapabilityType } from './types';
7
+ /**
8
+ * Protocol version supported by this implementation
9
+ */
10
+ export const PROTOCOL_VERSION = '1.0.0';
11
+ /**
12
+ * Validates a complete I.A.P. message
13
+ */
14
+ export function validateIAPMessage(message) {
15
+ const errors = [];
16
+ // Check required fields
17
+ if (!message.messageId || typeof message.messageId !== 'string') {
18
+ errors.push('Missing or invalid messageId');
19
+ }
20
+ if (!message.type || !Object.values(MessageType).includes(message.type)) {
21
+ errors.push('Missing or invalid message type');
22
+ }
23
+ if (!message.from || typeof message.from !== 'string') {
24
+ errors.push('Missing or invalid from field');
25
+ }
26
+ if (!message.to || typeof message.to !== 'string') {
27
+ errors.push('Missing or invalid to field');
28
+ }
29
+ if (!message.timestamp || !isValidTimestamp(message.timestamp)) {
30
+ errors.push('Missing or invalid timestamp');
31
+ }
32
+ if (!message.protocolVersion || typeof message.protocolVersion !== 'string') {
33
+ errors.push('Missing or invalid protocolVersion');
34
+ }
35
+ if (!message.payload || typeof message.payload !== 'object') {
36
+ errors.push('Missing or invalid payload');
37
+ }
38
+ // Validate protocol version compatibility
39
+ if (message.protocolVersion && !isCompatibleVersion(message.protocolVersion)) {
40
+ errors.push(`Incompatible protocol version: ${message.protocolVersion}`);
41
+ }
42
+ // Validate payload based on message type
43
+ if (message.type && message.payload) {
44
+ const payloadValidation = validatePayload(message.type, message.payload);
45
+ errors.push(...payloadValidation.errors);
46
+ }
47
+ return {
48
+ valid: errors.length === 0,
49
+ errors
50
+ };
51
+ }
52
+ /**
53
+ * Validates payload based on message type
54
+ */
55
+ function validatePayload(type, payload) {
56
+ switch (type) {
57
+ case MessageType.HANDSHAKE:
58
+ return validateHandshake(payload);
59
+ case MessageType.TASK_PROPOSAL:
60
+ return validateTaskProposal(payload);
61
+ case MessageType.TASK_BID:
62
+ return validateTaskBid(payload);
63
+ case MessageType.CONTEXT_TRANSFER:
64
+ return validateContextTransfer(payload);
65
+ case MessageType.ERROR:
66
+ return validateErrorMessage(payload);
67
+ default:
68
+ return { valid: true, errors: [] };
69
+ }
70
+ }
71
+ /**
72
+ * Validates an AgentHandshake payload
73
+ */
74
+ export function validateHandshake(handshake) {
75
+ const errors = [];
76
+ if (!handshake.agentId || typeof handshake.agentId !== 'string') {
77
+ errors.push('Handshake: Missing or invalid agentId');
78
+ }
79
+ if (!handshake.name || typeof handshake.name !== 'string') {
80
+ errors.push('Handshake: Missing or invalid name');
81
+ }
82
+ if (!handshake.version || typeof handshake.version !== 'string') {
83
+ errors.push('Handshake: Missing or invalid version');
84
+ }
85
+ if (!handshake.protocolVersion || typeof handshake.protocolVersion !== 'string') {
86
+ errors.push('Handshake: Missing or invalid protocolVersion');
87
+ }
88
+ if (!Array.isArray(handshake.capabilities)) {
89
+ errors.push('Handshake: capabilities must be an array');
90
+ }
91
+ else {
92
+ handshake.capabilities.forEach((cap, index) => {
93
+ const capValidation = validateCapability(cap);
94
+ capValidation.errors.forEach(err => {
95
+ errors.push(`Handshake: capability[${index}] - ${err}`);
96
+ });
97
+ });
98
+ }
99
+ if (handshake.maxConcurrentTasks !== undefined) {
100
+ if (typeof handshake.maxConcurrentTasks !== 'number' || handshake.maxConcurrentTasks < 1) {
101
+ errors.push('Handshake: maxConcurrentTasks must be a positive number');
102
+ }
103
+ }
104
+ if (handshake.currentLoad !== undefined) {
105
+ if (typeof handshake.currentLoad !== 'number' ||
106
+ handshake.currentLoad < 0 ||
107
+ handshake.currentLoad > 1) {
108
+ errors.push('Handshake: currentLoad must be between 0.0 and 1.0');
109
+ }
110
+ }
111
+ return {
112
+ valid: errors.length === 0,
113
+ errors
114
+ };
115
+ }
116
+ /**
117
+ * Validates an AgentCapability
118
+ */
119
+ export function validateCapability(capability) {
120
+ const errors = [];
121
+ if (!capability.id || typeof capability.id !== 'string') {
122
+ errors.push('Missing or invalid capability id');
123
+ }
124
+ if (!capability.type || !Object.values(CapabilityType).includes(capability.type)) {
125
+ errors.push('Missing or invalid capability type');
126
+ }
127
+ if (!capability.name || typeof capability.name !== 'string') {
128
+ errors.push('Missing or invalid capability name');
129
+ }
130
+ if (!capability.description || typeof capability.description !== 'string') {
131
+ errors.push('Missing or invalid capability description');
132
+ }
133
+ if (capability.estimatedCost !== undefined && typeof capability.estimatedCost !== 'number') {
134
+ errors.push('estimatedCost must be a number');
135
+ }
136
+ if (capability.averageLatency !== undefined && typeof capability.averageLatency !== 'number') {
137
+ errors.push('averageLatency must be a number');
138
+ }
139
+ return {
140
+ valid: errors.length === 0,
141
+ errors
142
+ };
143
+ }
144
+ /**
145
+ * Validates a TaskProposal payload
146
+ */
147
+ export function validateTaskProposal(proposal) {
148
+ const errors = [];
149
+ if (!proposal.taskId || typeof proposal.taskId !== 'string') {
150
+ errors.push('TaskProposal: Missing or invalid taskId');
151
+ }
152
+ if (!proposal.proposerId || typeof proposal.proposerId !== 'string') {
153
+ errors.push('TaskProposal: Missing or invalid proposerId');
154
+ }
155
+ if (!proposal.description || typeof proposal.description !== 'string') {
156
+ errors.push('TaskProposal: Missing or invalid description');
157
+ }
158
+ if (!proposal.requiredCapability ||
159
+ !Object.values(CapabilityType).includes(proposal.requiredCapability)) {
160
+ errors.push('TaskProposal: Missing or invalid requiredCapability');
161
+ }
162
+ if (!proposal.input || typeof proposal.input !== 'object') {
163
+ errors.push('TaskProposal: Missing or invalid input');
164
+ }
165
+ if (proposal.priority !== undefined) {
166
+ if (typeof proposal.priority !== 'number' ||
167
+ proposal.priority < 1 ||
168
+ proposal.priority > 10) {
169
+ errors.push('TaskProposal: priority must be between 1 and 10');
170
+ }
171
+ }
172
+ if (proposal.maxLatency !== undefined &&
173
+ (typeof proposal.maxLatency !== 'number' || proposal.maxLatency <= 0)) {
174
+ errors.push('TaskProposal: maxLatency must be a positive number');
175
+ }
176
+ if (proposal.maxCost !== undefined &&
177
+ (typeof proposal.maxCost !== 'number' || proposal.maxCost <= 0)) {
178
+ errors.push('TaskProposal: maxCost must be a positive number');
179
+ }
180
+ if (proposal.deadline !== undefined && !isValidTimestamp(proposal.deadline)) {
181
+ errors.push('TaskProposal: Invalid deadline timestamp');
182
+ }
183
+ return {
184
+ valid: errors.length === 0,
185
+ errors
186
+ };
187
+ }
188
+ /**
189
+ * Validates a TaskBid payload
190
+ */
191
+ export function validateTaskBid(bid) {
192
+ const errors = [];
193
+ if (!bid.taskId || typeof bid.taskId !== 'string') {
194
+ errors.push('TaskBid: Missing or invalid taskId');
195
+ }
196
+ if (!bid.bidderId || typeof bid.bidderId !== 'string') {
197
+ errors.push('TaskBid: Missing or invalid bidderId');
198
+ }
199
+ if (typeof bid.estimatedLatency !== 'number' || bid.estimatedLatency <= 0) {
200
+ errors.push('TaskBid: estimatedLatency must be a positive number');
201
+ }
202
+ if (typeof bid.estimatedCost !== 'number' || bid.estimatedCost < 0) {
203
+ errors.push('TaskBid: estimatedCost must be a non-negative number');
204
+ }
205
+ if (typeof bid.confidence !== 'number' || bid.confidence < 0 || bid.confidence > 1) {
206
+ errors.push('TaskBid: confidence must be between 0.0 and 1.0');
207
+ }
208
+ if (typeof bid.queueDepth !== 'number' || bid.queueDepth < 0) {
209
+ errors.push('TaskBid: queueDepth must be a non-negative number');
210
+ }
211
+ if (bid.earliestStartTime !== undefined && !isValidTimestamp(bid.earliestStartTime)) {
212
+ errors.push('TaskBid: Invalid earliestStartTime timestamp');
213
+ }
214
+ return {
215
+ valid: errors.length === 0,
216
+ errors
217
+ };
218
+ }
219
+ /**
220
+ * Validates a ContextTransfer payload
221
+ */
222
+ export function validateContextTransfer(transfer) {
223
+ const errors = [];
224
+ if (!transfer.fromAgent || typeof transfer.fromAgent !== 'string') {
225
+ errors.push('ContextTransfer: Missing or invalid fromAgent');
226
+ }
227
+ if (!transfer.toAgent || typeof transfer.toAgent !== 'string') {
228
+ errors.push('ContextTransfer: Missing or invalid toAgent');
229
+ }
230
+ if (!transfer.taskId || typeof transfer.taskId !== 'string') {
231
+ errors.push('ContextTransfer: Missing or invalid taskId');
232
+ }
233
+ if (!transfer.contextType || typeof transfer.contextType !== 'string') {
234
+ errors.push('ContextTransfer: Missing or invalid contextType');
235
+ }
236
+ if (!transfer.data || typeof transfer.data !== 'object') {
237
+ errors.push('ContextTransfer: Missing or invalid data');
238
+ }
239
+ if (transfer.embedding !== undefined) {
240
+ if (!Array.isArray(transfer.embedding)) {
241
+ errors.push('ContextTransfer: embedding must be an array');
242
+ }
243
+ else if (!transfer.embedding.every((n) => typeof n === 'number')) {
244
+ errors.push('ContextTransfer: embedding must contain only numbers');
245
+ }
246
+ }
247
+ if (transfer.compression !== undefined) {
248
+ const validCompressions = ['gzip', 'brotli', 'none'];
249
+ if (!validCompressions.includes(transfer.compression)) {
250
+ errors.push('ContextTransfer: Invalid compression format');
251
+ }
252
+ }
253
+ return {
254
+ valid: errors.length === 0,
255
+ errors
256
+ };
257
+ }
258
+ /**
259
+ * Validates an ErrorMessage payload
260
+ */
261
+ export function validateErrorMessage(error) {
262
+ const errors = [];
263
+ if (!error.code || typeof error.code !== 'string') {
264
+ errors.push('ErrorMessage: Missing or invalid code');
265
+ }
266
+ if (!error.message || typeof error.message !== 'string') {
267
+ errors.push('ErrorMessage: Missing or invalid message');
268
+ }
269
+ if (typeof error.recoverable !== 'boolean') {
270
+ errors.push('ErrorMessage: recoverable must be a boolean');
271
+ }
272
+ return {
273
+ valid: errors.length === 0,
274
+ errors
275
+ };
276
+ }
277
+ /**
278
+ * Checks if a timestamp is valid ISO 8601 format
279
+ */
280
+ function isValidTimestamp(timestamp) {
281
+ if (typeof timestamp !== 'string')
282
+ return false;
283
+ const date = new Date(timestamp);
284
+ return !isNaN(date.getTime()) && date.toISOString() === timestamp;
285
+ }
286
+ /**
287
+ * Checks if a protocol version is compatible with this implementation
288
+ */
289
+ function isCompatibleVersion(version) {
290
+ // Simple major version check (1.x.x is compatible with 1.0.0)
291
+ const [major] = version.split('.');
292
+ const [expectedMajor] = PROTOCOL_VERSION.split('.');
293
+ return major === expectedMajor;
294
+ }
295
+ /**
296
+ * Creates a validation error message
297
+ */
298
+ export function createValidationError(errors) {
299
+ return {
300
+ code: 'VALIDATION_ERROR',
301
+ message: 'Message validation failed',
302
+ details: { errors },
303
+ recoverable: true
304
+ };
305
+ }
306
+ /**
307
+ * Sanitizes a message by removing invalid fields
308
+ */
309
+ export function sanitizeMessage(message) {
310
+ const sanitized = {};
311
+ // Copy only valid fields
312
+ if (message.messageId)
313
+ sanitized.messageId = message.messageId;
314
+ if (message.type)
315
+ sanitized.type = message.type;
316
+ if (message.from)
317
+ sanitized.from = message.from;
318
+ if (message.to)
319
+ sanitized.to = message.to;
320
+ if (message.timestamp)
321
+ sanitized.timestamp = message.timestamp;
322
+ if (message.protocolVersion)
323
+ sanitized.protocolVersion = message.protocolVersion;
324
+ if (message.payload)
325
+ sanitized.payload = message.payload;
326
+ if (message.correlationId)
327
+ sanitized.correlationId = message.correlationId;
328
+ if (message.metadata)
329
+ sanitized.metadata = message.metadata;
330
+ return sanitized;
331
+ }
332
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/protocol/validators.ts"],"names":[],"mappings":"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"}