soma-protocol 0.1.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 (354) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +326 -0
  3. package/dist/adapters/bun.d.ts +10 -0
  4. package/dist/adapters/bun.d.ts.map +1 -0
  5. package/dist/adapters/bun.js +15 -0
  6. package/dist/adapters/bun.js.map +1 -0
  7. package/dist/adapters/drizzle.d.ts +17 -0
  8. package/dist/adapters/drizzle.d.ts.map +1 -0
  9. package/dist/adapters/drizzle.js +21 -0
  10. package/dist/adapters/drizzle.js.map +1 -0
  11. package/dist/adapters/index.d.ts +6 -0
  12. package/dist/adapters/index.d.ts.map +1 -0
  13. package/dist/adapters/index.js +6 -0
  14. package/dist/adapters/index.js.map +1 -0
  15. package/dist/adapters/pg.d.ts +16 -0
  16. package/dist/adapters/pg.d.ts.map +1 -0
  17. package/dist/adapters/pg.js +18 -0
  18. package/dist/adapters/pg.js.map +1 -0
  19. package/dist/adapters/postgres.d.ts +14 -0
  20. package/dist/adapters/postgres.d.ts.map +1 -0
  21. package/dist/adapters/postgres.js +17 -0
  22. package/dist/adapters/postgres.js.map +1 -0
  23. package/dist/adapters/typeorm.d.ts +15 -0
  24. package/dist/adapters/typeorm.d.ts.map +1 -0
  25. package/dist/adapters/typeorm.js +18 -0
  26. package/dist/adapters/typeorm.js.map +1 -0
  27. package/dist/agent/index.d.ts +7 -0
  28. package/dist/agent/index.d.ts.map +1 -0
  29. package/dist/agent/index.js +2 -0
  30. package/dist/agent/index.js.map +1 -0
  31. package/dist/agent/interfaces/agent-meta.interface.d.ts +13 -0
  32. package/dist/agent/interfaces/agent-meta.interface.d.ts.map +1 -0
  33. package/dist/agent/interfaces/agent-meta.interface.js +2 -0
  34. package/dist/agent/interfaces/agent-meta.interface.js.map +1 -0
  35. package/dist/agent/interfaces/agent-state.interface.d.ts +14 -0
  36. package/dist/agent/interfaces/agent-state.interface.d.ts.map +1 -0
  37. package/dist/agent/interfaces/agent-state.interface.js +2 -0
  38. package/dist/agent/interfaces/agent-state.interface.js.map +1 -0
  39. package/dist/agent/interfaces/memory.interface.d.ts +174 -0
  40. package/dist/agent/interfaces/memory.interface.d.ts.map +1 -0
  41. package/dist/agent/interfaces/memory.interface.js +3 -0
  42. package/dist/agent/interfaces/memory.interface.js.map +1 -0
  43. package/dist/agent/interfaces/persona.interface.d.ts +10 -0
  44. package/dist/agent/interfaces/persona.interface.d.ts.map +1 -0
  45. package/dist/agent/interfaces/persona.interface.js +2 -0
  46. package/dist/agent/interfaces/persona.interface.js.map +1 -0
  47. package/dist/agent/interfaces/soma-agents.interface.d.ts +9 -0
  48. package/dist/agent/interfaces/soma-agents.interface.d.ts.map +1 -0
  49. package/dist/agent/interfaces/soma-agents.interface.js +2 -0
  50. package/dist/agent/interfaces/soma-agents.interface.js.map +1 -0
  51. package/dist/agent/types/mood-and-communication.type.d.ts +3 -0
  52. package/dist/agent/types/mood-and-communication.type.d.ts.map +1 -0
  53. package/dist/agent/types/mood-and-communication.type.js +2 -0
  54. package/dist/agent/types/mood-and-communication.type.js.map +1 -0
  55. package/dist/extensions/emotional/emotional.router.d.ts +9 -0
  56. package/dist/extensions/emotional/emotional.router.d.ts.map +1 -0
  57. package/dist/extensions/emotional/emotional.router.js +91 -0
  58. package/dist/extensions/emotional/emotional.router.js.map +1 -0
  59. package/dist/extensions/emotional/emotional.service.d.ts +16 -0
  60. package/dist/extensions/emotional/emotional.service.d.ts.map +1 -0
  61. package/dist/extensions/emotional/emotional.service.js +161 -0
  62. package/dist/extensions/emotional/emotional.service.js.map +1 -0
  63. package/dist/extensions/emotional/errors.d.ts +9 -0
  64. package/dist/extensions/emotional/errors.d.ts.map +1 -0
  65. package/dist/extensions/emotional/errors.js +17 -0
  66. package/dist/extensions/emotional/errors.js.map +1 -0
  67. package/dist/extensions/emotional/index.d.ts +7 -0
  68. package/dist/extensions/emotional/index.d.ts.map +1 -0
  69. package/dist/extensions/emotional/index.js +6 -0
  70. package/dist/extensions/emotional/index.js.map +1 -0
  71. package/dist/extensions/emotional/schema.d.ts +372 -0
  72. package/dist/extensions/emotional/schema.d.ts.map +1 -0
  73. package/dist/extensions/emotional/schema.js +84 -0
  74. package/dist/extensions/emotional/schema.js.map +1 -0
  75. package/dist/extensions/emotional/store.d.ts +15 -0
  76. package/dist/extensions/emotional/store.d.ts.map +1 -0
  77. package/dist/extensions/emotional/store.js +123 -0
  78. package/dist/extensions/emotional/store.js.map +1 -0
  79. package/dist/extensions/emotional/types.d.ts +87 -0
  80. package/dist/extensions/emotional/types.d.ts.map +1 -0
  81. package/dist/extensions/emotional/types.js +2 -0
  82. package/dist/extensions/emotional/types.js.map +1 -0
  83. package/dist/extensions/events/bus.d.ts +17 -0
  84. package/dist/extensions/events/bus.d.ts.map +1 -0
  85. package/dist/extensions/events/bus.js +38 -0
  86. package/dist/extensions/events/bus.js.map +1 -0
  87. package/dist/extensions/events/clickhouse-client.d.ts +12 -0
  88. package/dist/extensions/events/clickhouse-client.d.ts.map +1 -0
  89. package/dist/extensions/events/clickhouse-client.js +63 -0
  90. package/dist/extensions/events/clickhouse-client.js.map +1 -0
  91. package/dist/extensions/events/index.d.ts +3 -0
  92. package/dist/extensions/events/index.d.ts.map +1 -0
  93. package/dist/extensions/events/index.js +3 -0
  94. package/dist/extensions/events/index.js.map +1 -0
  95. package/dist/extensions/identity/generate-instructions.d.ts +8 -0
  96. package/dist/extensions/identity/generate-instructions.d.ts.map +1 -0
  97. package/dist/extensions/identity/generate-instructions.js +58 -0
  98. package/dist/extensions/identity/generate-instructions.js.map +1 -0
  99. package/dist/extensions/identity/identity.router.d.ts +8 -0
  100. package/dist/extensions/identity/identity.router.d.ts.map +1 -0
  101. package/dist/extensions/identity/identity.router.js +136 -0
  102. package/dist/extensions/identity/identity.router.js.map +1 -0
  103. package/dist/extensions/identity/identity.schema.d.ts +145 -0
  104. package/dist/extensions/identity/identity.schema.d.ts.map +1 -0
  105. package/dist/extensions/identity/identity.schema.js +71 -0
  106. package/dist/extensions/identity/identity.schema.js.map +1 -0
  107. package/dist/extensions/identity/identity.service.d.ts +19 -0
  108. package/dist/extensions/identity/identity.service.d.ts.map +1 -0
  109. package/dist/extensions/identity/identity.service.js +194 -0
  110. package/dist/extensions/identity/identity.service.js.map +1 -0
  111. package/dist/extensions/identity/identity.store.d.ts +18 -0
  112. package/dist/extensions/identity/identity.store.d.ts.map +1 -0
  113. package/dist/extensions/identity/identity.store.js +126 -0
  114. package/dist/extensions/identity/identity.store.js.map +1 -0
  115. package/dist/extensions/identity/identity.types.d.ts +54 -0
  116. package/dist/extensions/identity/identity.types.d.ts.map +1 -0
  117. package/dist/extensions/identity/identity.types.js +2 -0
  118. package/dist/extensions/identity/identity.types.js.map +1 -0
  119. package/dist/extensions/identity/index.d.ts +7 -0
  120. package/dist/extensions/identity/index.d.ts.map +1 -0
  121. package/dist/extensions/identity/index.js +7 -0
  122. package/dist/extensions/identity/index.js.map +1 -0
  123. package/dist/extensions/learning/distiller.d.ts +14 -0
  124. package/dist/extensions/learning/distiller.d.ts.map +1 -0
  125. package/dist/extensions/learning/distiller.js +126 -0
  126. package/dist/extensions/learning/distiller.js.map +1 -0
  127. package/dist/extensions/learning/errors.d.ts +26 -0
  128. package/dist/extensions/learning/errors.d.ts.map +1 -0
  129. package/dist/extensions/learning/errors.js +51 -0
  130. package/dist/extensions/learning/errors.js.map +1 -0
  131. package/dist/extensions/learning/index.d.ts +9 -0
  132. package/dist/extensions/learning/index.d.ts.map +1 -0
  133. package/dist/extensions/learning/index.js +8 -0
  134. package/dist/extensions/learning/index.js.map +1 -0
  135. package/dist/extensions/learning/observation.d.ts +13 -0
  136. package/dist/extensions/learning/observation.d.ts.map +1 -0
  137. package/dist/extensions/learning/observation.js +128 -0
  138. package/dist/extensions/learning/observation.js.map +1 -0
  139. package/dist/extensions/learning/router.d.ts +15 -0
  140. package/dist/extensions/learning/router.d.ts.map +1 -0
  141. package/dist/extensions/learning/router.js +245 -0
  142. package/dist/extensions/learning/router.js.map +1 -0
  143. package/dist/extensions/learning/schema.d.ts +472 -0
  144. package/dist/extensions/learning/schema.d.ts.map +1 -0
  145. package/dist/extensions/learning/schema.js +229 -0
  146. package/dist/extensions/learning/schema.js.map +1 -0
  147. package/dist/extensions/learning/scorecard.d.ts +7 -0
  148. package/dist/extensions/learning/scorecard.d.ts.map +1 -0
  149. package/dist/extensions/learning/scorecard.js +50 -0
  150. package/dist/extensions/learning/scorecard.js.map +1 -0
  151. package/dist/extensions/learning/store.d.ts +25 -0
  152. package/dist/extensions/learning/store.d.ts.map +1 -0
  153. package/dist/extensions/learning/store.js +305 -0
  154. package/dist/extensions/learning/store.js.map +1 -0
  155. package/dist/extensions/learning/types.d.ts +212 -0
  156. package/dist/extensions/learning/types.d.ts.map +1 -0
  157. package/dist/extensions/learning/types.js +3 -0
  158. package/dist/extensions/learning/types.js.map +1 -0
  159. package/dist/extensions/memory/episodic/schema.d.ts +74 -0
  160. package/dist/extensions/memory/episodic/schema.d.ts.map +1 -0
  161. package/dist/extensions/memory/episodic/schema.js +58 -0
  162. package/dist/extensions/memory/episodic/schema.js.map +1 -0
  163. package/dist/extensions/memory/episodic/store.d.ts +31 -0
  164. package/dist/extensions/memory/episodic/store.d.ts.map +1 -0
  165. package/dist/extensions/memory/episodic/store.js +147 -0
  166. package/dist/extensions/memory/episodic/store.js.map +1 -0
  167. package/dist/extensions/memory/episodic/types.d.ts +35 -0
  168. package/dist/extensions/memory/episodic/types.d.ts.map +1 -0
  169. package/dist/extensions/memory/episodic/types.js +2 -0
  170. package/dist/extensions/memory/episodic/types.js.map +1 -0
  171. package/dist/extensions/memory/errors.d.ts +19 -0
  172. package/dist/extensions/memory/errors.d.ts.map +1 -0
  173. package/dist/extensions/memory/errors.js +37 -0
  174. package/dist/extensions/memory/errors.js.map +1 -0
  175. package/dist/extensions/memory/index.d.ts +13 -0
  176. package/dist/extensions/memory/index.d.ts.map +1 -0
  177. package/dist/extensions/memory/index.js +10 -0
  178. package/dist/extensions/memory/index.js.map +1 -0
  179. package/dist/extensions/memory/memory.router.d.ts +17 -0
  180. package/dist/extensions/memory/memory.router.d.ts.map +1 -0
  181. package/dist/extensions/memory/memory.router.js +289 -0
  182. package/dist/extensions/memory/memory.router.js.map +1 -0
  183. package/dist/extensions/memory/procedural/schema.d.ts +88 -0
  184. package/dist/extensions/memory/procedural/schema.d.ts.map +1 -0
  185. package/dist/extensions/memory/procedural/schema.js +67 -0
  186. package/dist/extensions/memory/procedural/schema.js.map +1 -0
  187. package/dist/extensions/memory/procedural/store.d.ts +20 -0
  188. package/dist/extensions/memory/procedural/store.d.ts.map +1 -0
  189. package/dist/extensions/memory/procedural/store.js +125 -0
  190. package/dist/extensions/memory/procedural/store.js.map +1 -0
  191. package/dist/extensions/memory/procedural/types.d.ts +26 -0
  192. package/dist/extensions/memory/procedural/types.d.ts.map +1 -0
  193. package/dist/extensions/memory/procedural/types.js +2 -0
  194. package/dist/extensions/memory/procedural/types.js.map +1 -0
  195. package/dist/extensions/memory/router.d.ts +23 -0
  196. package/dist/extensions/memory/router.d.ts.map +1 -0
  197. package/dist/extensions/memory/router.js +76 -0
  198. package/dist/extensions/memory/router.js.map +1 -0
  199. package/dist/extensions/memory/social/schema.d.ts +34 -0
  200. package/dist/extensions/memory/social/schema.d.ts.map +1 -0
  201. package/dist/extensions/memory/social/schema.js +34 -0
  202. package/dist/extensions/memory/social/schema.js.map +1 -0
  203. package/dist/extensions/memory/social/store.d.ts +20 -0
  204. package/dist/extensions/memory/social/store.d.ts.map +1 -0
  205. package/dist/extensions/memory/social/store.js +142 -0
  206. package/dist/extensions/memory/social/store.js.map +1 -0
  207. package/dist/extensions/memory/social/types.d.ts +19 -0
  208. package/dist/extensions/memory/social/types.d.ts.map +1 -0
  209. package/dist/extensions/memory/social/types.js +2 -0
  210. package/dist/extensions/memory/social/types.js.map +1 -0
  211. package/dist/extensions/reflection/errors.d.ts +17 -0
  212. package/dist/extensions/reflection/errors.d.ts.map +1 -0
  213. package/dist/extensions/reflection/errors.js +33 -0
  214. package/dist/extensions/reflection/errors.js.map +1 -0
  215. package/dist/extensions/reflection/index.d.ts +7 -0
  216. package/dist/extensions/reflection/index.d.ts.map +1 -0
  217. package/dist/extensions/reflection/index.js +6 -0
  218. package/dist/extensions/reflection/index.js.map +1 -0
  219. package/dist/extensions/reflection/reflection.router.d.ts +8 -0
  220. package/dist/extensions/reflection/reflection.router.d.ts.map +1 -0
  221. package/dist/extensions/reflection/reflection.router.js +195 -0
  222. package/dist/extensions/reflection/reflection.router.js.map +1 -0
  223. package/dist/extensions/reflection/reflection.service.d.ts +20 -0
  224. package/dist/extensions/reflection/reflection.service.d.ts.map +1 -0
  225. package/dist/extensions/reflection/reflection.service.js +69 -0
  226. package/dist/extensions/reflection/reflection.service.js.map +1 -0
  227. package/dist/extensions/reflection/schema.d.ts +508 -0
  228. package/dist/extensions/reflection/schema.d.ts.map +1 -0
  229. package/dist/extensions/reflection/schema.js +200 -0
  230. package/dist/extensions/reflection/schema.js.map +1 -0
  231. package/dist/extensions/reflection/store.d.ts +22 -0
  232. package/dist/extensions/reflection/store.d.ts.map +1 -0
  233. package/dist/extensions/reflection/store.js +326 -0
  234. package/dist/extensions/reflection/store.js.map +1 -0
  235. package/dist/extensions/reflection/types.d.ts +220 -0
  236. package/dist/extensions/reflection/types.d.ts.map +1 -0
  237. package/dist/extensions/reflection/types.js +2 -0
  238. package/dist/extensions/reflection/types.js.map +1 -0
  239. package/dist/extensions/reputation/errors.d.ts +21 -0
  240. package/dist/extensions/reputation/errors.d.ts.map +1 -0
  241. package/dist/extensions/reputation/errors.js +41 -0
  242. package/dist/extensions/reputation/errors.js.map +1 -0
  243. package/dist/extensions/reputation/index.d.ts +6 -0
  244. package/dist/extensions/reputation/index.d.ts.map +1 -0
  245. package/dist/extensions/reputation/index.js +5 -0
  246. package/dist/extensions/reputation/index.js.map +1 -0
  247. package/dist/extensions/reputation/schema.d.ts +157 -0
  248. package/dist/extensions/reputation/schema.d.ts.map +1 -0
  249. package/dist/extensions/reputation/schema.js +96 -0
  250. package/dist/extensions/reputation/schema.js.map +1 -0
  251. package/dist/extensions/reputation/store.d.ts +21 -0
  252. package/dist/extensions/reputation/store.d.ts.map +1 -0
  253. package/dist/extensions/reputation/store.js +421 -0
  254. package/dist/extensions/reputation/store.js.map +1 -0
  255. package/dist/extensions/reputation/types.d.ts +106 -0
  256. package/dist/extensions/reputation/types.d.ts.map +1 -0
  257. package/dist/extensions/reputation/types.js +2 -0
  258. package/dist/extensions/reputation/types.js.map +1 -0
  259. package/dist/extensions/social/errors.d.ts +25 -0
  260. package/dist/extensions/social/errors.d.ts.map +1 -0
  261. package/dist/extensions/social/errors.js +49 -0
  262. package/dist/extensions/social/errors.js.map +1 -0
  263. package/dist/extensions/social/index.d.ts +7 -0
  264. package/dist/extensions/social/index.d.ts.map +1 -0
  265. package/dist/extensions/social/index.js +6 -0
  266. package/dist/extensions/social/index.js.map +1 -0
  267. package/dist/extensions/social/schema.d.ts +421 -0
  268. package/dist/extensions/social/schema.d.ts.map +1 -0
  269. package/dist/extensions/social/schema.js +154 -0
  270. package/dist/extensions/social/schema.js.map +1 -0
  271. package/dist/extensions/social/social.router.d.ts +8 -0
  272. package/dist/extensions/social/social.router.d.ts.map +1 -0
  273. package/dist/extensions/social/social.router.js +199 -0
  274. package/dist/extensions/social/social.router.js.map +1 -0
  275. package/dist/extensions/social/social.service.d.ts +27 -0
  276. package/dist/extensions/social/social.service.d.ts.map +1 -0
  277. package/dist/extensions/social/social.service.js +93 -0
  278. package/dist/extensions/social/social.service.js.map +1 -0
  279. package/dist/extensions/social/store.d.ts +19 -0
  280. package/dist/extensions/social/store.d.ts.map +1 -0
  281. package/dist/extensions/social/store.js +382 -0
  282. package/dist/extensions/social/store.js.map +1 -0
  283. package/dist/extensions/social/types.d.ts +292 -0
  284. package/dist/extensions/social/types.d.ts.map +1 -0
  285. package/dist/extensions/social/types.js +2 -0
  286. package/dist/extensions/social/types.js.map +1 -0
  287. package/dist/index.d.ts +7 -0
  288. package/dist/index.d.ts.map +1 -0
  289. package/dist/index.js +10 -0
  290. package/dist/index.js.map +1 -0
  291. package/dist/migrator/index.d.ts +3 -0
  292. package/dist/migrator/index.d.ts.map +1 -0
  293. package/dist/migrator/index.js +2 -0
  294. package/dist/migrator/index.js.map +1 -0
  295. package/dist/migrator/migrator.d.ts +16 -0
  296. package/dist/migrator/migrator.d.ts.map +1 -0
  297. package/dist/migrator/migrator.js +225 -0
  298. package/dist/migrator/migrator.js.map +1 -0
  299. package/dist/migrator/types.d.ts +9 -0
  300. package/dist/migrator/types.d.ts.map +1 -0
  301. package/dist/migrator/types.js +2 -0
  302. package/dist/migrator/types.js.map +1 -0
  303. package/dist/soma.d.ts +66 -0
  304. package/dist/soma.d.ts.map +1 -0
  305. package/dist/soma.js +112 -0
  306. package/dist/soma.js.map +1 -0
  307. package/dist/transport/index.d.ts +2 -0
  308. package/dist/transport/index.d.ts.map +1 -0
  309. package/dist/transport/index.js +2 -0
  310. package/dist/transport/index.js.map +1 -0
  311. package/dist/types/database.d.ts +8 -0
  312. package/dist/types/database.d.ts.map +1 -0
  313. package/dist/types/database.js +2 -0
  314. package/dist/types/database.js.map +1 -0
  315. package/dist/types/index.d.ts +2 -0
  316. package/dist/types/index.d.ts.map +1 -0
  317. package/dist/types/index.js +2 -0
  318. package/dist/types/index.js.map +1 -0
  319. package/dist/utils/embedder.d.ts +13 -0
  320. package/dist/utils/embedder.d.ts.map +1 -0
  321. package/dist/utils/embedder.js +97 -0
  322. package/dist/utils/embedder.js.map +1 -0
  323. package/dist/utils/forgetting.d.ts +22 -0
  324. package/dist/utils/forgetting.d.ts.map +1 -0
  325. package/dist/utils/forgetting.js +29 -0
  326. package/dist/utils/forgetting.js.map +1 -0
  327. package/dist/utils/index.d.ts +4 -0
  328. package/dist/utils/index.d.ts.map +1 -0
  329. package/dist/utils/index.js +4 -0
  330. package/dist/utils/index.js.map +1 -0
  331. package/dist/utils/json.d.ts +2 -0
  332. package/dist/utils/json.d.ts.map +1 -0
  333. package/dist/utils/json.js +12 -0
  334. package/dist/utils/json.js.map +1 -0
  335. package/dist/utils/validation.d.ts +10 -0
  336. package/dist/utils/validation.d.ts.map +1 -0
  337. package/dist/utils/validation.js +9 -0
  338. package/dist/utils/validation.js.map +1 -0
  339. package/package.json +111 -0
  340. package/schema/clickhouse/01-episodes.sql +50 -0
  341. package/schema/clickhouse/02-learning-events.sql +37 -0
  342. package/schema/clickhouse/03-trust-history.sql +15 -0
  343. package/schema/clickhouse/04-reflection-events.sql +12 -0
  344. package/schema/clickhouse/05-emotional-events.sql +14 -0
  345. package/schema/postgres/001_create_schema.sql +11 -0
  346. package/schema/postgres/002_create_agent_identities.sql +63 -0
  347. package/schema/postgres/003_create_identity_evolution_log.sql +21 -0
  348. package/schema/postgres/004_create_agent_cards.sql +29 -0
  349. package/schema/postgres/005_create_memory_tables.sql +32 -0
  350. package/schema/postgres/006_create_learning_tables.sql +119 -0
  351. package/schema/postgres/007_create_reputation_tables.sql +27 -0
  352. package/schema/postgres/008_create_social_tables.sql +43 -0
  353. package/schema/postgres/009_create_reflection_tables.sql +54 -0
  354. package/schema/postgres/010_create_emotional_tables.sql +19 -0
@@ -0,0 +1,19 @@
1
+ export declare class EpisodeNotFoundError extends Error {
2
+ readonly episodeId: string;
3
+ constructor(episodeId: string);
4
+ }
5
+ export declare class ProcedureNotFoundError extends Error {
6
+ readonly procedureId: string;
7
+ constructor(procedureId: string);
8
+ }
9
+ export declare class SocialMemoryNotFoundError extends Error {
10
+ readonly agentId: string;
11
+ readonly targetAgentId: string;
12
+ constructor(agentId: string, targetAgentId: string);
13
+ }
14
+ export declare class MemoryQueryError extends Error {
15
+ readonly queryType: string;
16
+ readonly detail: string;
17
+ constructor(queryType: string, detail: string);
18
+ }
19
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/extensions/memory/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,SAAQ,KAAK;aACjB,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAI9C;AAED,qBAAa,sBAAuB,SAAQ,KAAK;aACnB,WAAW,EAAE,MAAM;gBAAnB,WAAW,EAAE,MAAM;CAIhD;AAED,qBAAa,yBAA0B,SAAQ,KAAK;aACtB,OAAO,EAAE,MAAM;aAAkB,aAAa,EAAE,MAAM;gBAAtD,OAAO,EAAE,MAAM,EAAkB,aAAa,EAAE,MAAM;CAInF;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aACb,SAAS,EAAE,MAAM;aAAkB,MAAM,EAAE,MAAM;gBAAjD,SAAS,EAAE,MAAM,EAAkB,MAAM,EAAE,MAAM;CAI9E"}
@@ -0,0 +1,37 @@
1
+ export class EpisodeNotFoundError extends Error {
2
+ episodeId;
3
+ constructor(episodeId) {
4
+ super(`Episode not found: ${episodeId}`);
5
+ this.episodeId = episodeId;
6
+ this.name = 'EpisodeNotFoundError';
7
+ }
8
+ }
9
+ export class ProcedureNotFoundError extends Error {
10
+ procedureId;
11
+ constructor(procedureId) {
12
+ super(`Procedure not found: ${procedureId}`);
13
+ this.procedureId = procedureId;
14
+ this.name = 'ProcedureNotFoundError';
15
+ }
16
+ }
17
+ export class SocialMemoryNotFoundError extends Error {
18
+ agentId;
19
+ targetAgentId;
20
+ constructor(agentId, targetAgentId) {
21
+ super(`Social memory not found for pair: ${agentId} -> ${targetAgentId}`);
22
+ this.agentId = agentId;
23
+ this.targetAgentId = targetAgentId;
24
+ this.name = 'SocialMemoryNotFoundError';
25
+ }
26
+ }
27
+ export class MemoryQueryError extends Error {
28
+ queryType;
29
+ detail;
30
+ constructor(queryType, detail) {
31
+ super(`Memory query failed (${queryType}): ${detail}`);
32
+ this.queryType = queryType;
33
+ this.detail = detail;
34
+ this.name = 'MemoryQueryError';
35
+ }
36
+ }
37
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/extensions/memory/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACjB;IAA5B,YAA4B,SAAiB;QAC3C,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QADf,cAAS,GAAT,SAAS,CAAQ;QAE3C,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACnB;IAA5B,YAA4B,WAAmB;QAC7C,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;QADnB,gBAAW,GAAX,WAAW,CAAQ;QAE7C,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACtB;IAAiC;IAA7D,YAA4B,OAAe,EAAkB,aAAqB;QAChF,KAAK,CAAC,qCAAqC,OAAO,OAAO,aAAa,EAAE,CAAC,CAAC;QADhD,YAAO,GAAP,OAAO,CAAQ;QAAkB,kBAAa,GAAb,aAAa,CAAQ;QAEhF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACb;IAAmC;IAA/D,YAA4B,SAAiB,EAAkB,MAAc;QAC3E,KAAK,CAAC,wBAAwB,SAAS,MAAM,MAAM,EAAE,CAAC,CAAC;QAD7B,cAAS,GAAT,SAAS,CAAQ;QAAkB,WAAM,GAAN,MAAM,CAAQ;QAE3E,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ export { createEpisodicStore, type EpisodicStore } from './episodic/store';
2
+ export { createProceduralStore, type ProceduralStore } from './procedural/store';
3
+ export { createSocialStore, type SocialStore } from './social/store';
4
+ export { createMemoryRouter, type MemoryRouter, type MemoryRouterConfig } from './router';
5
+ export { createMemoryHttpRouter, type MemoryRouterDeps, type Route } from './memory.router';
6
+ export { EpisodeNotFoundError, ProcedureNotFoundError, SocialMemoryNotFoundError, MemoryQueryError, } from './errors';
7
+ export type { RecordEpisodeRequest, RecallRequest, EpisodeListRequest, EpisodeAnalytics } from './episodic/types';
8
+ export type { DefineProcedureRequest, AdaptProcedureRequest, InheritProcedureRequest, ProcedureSearchRequest } from './procedural/types';
9
+ export type { UpdateSocialMemoryRequest, UpdateTrustRequest, SocialRankingRequest } from './social/types';
10
+ export { RecordEpisodeRequestSchema, RecallRequestSchema, EpisodeListRequestSchema } from './episodic/schema';
11
+ export { DefineProcedureRequestSchema, AdaptProcedureRequestSchema, InheritProcedureRequestSchema, ProcedureSearchRequestSchema } from './procedural/schema';
12
+ export { UpdateSocialMemoryRequestSchema, UpdateTrustRequestSchema, SocialRankingRequestSchema } from './social/schema';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,KAAK,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,YAAY,EAAE,oBAAoB,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClH,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACzI,YAAY,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE1G,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC9G,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAC7J,OAAO,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { createEpisodicStore } from './episodic/store';
2
+ export { createProceduralStore } from './procedural/store';
3
+ export { createSocialStore } from './social/store';
4
+ export { createMemoryRouter } from './router';
5
+ export { createMemoryHttpRouter } from './memory.router';
6
+ export { EpisodeNotFoundError, ProcedureNotFoundError, SocialMemoryNotFoundError, MemoryQueryError, } from './errors';
7
+ export { RecordEpisodeRequestSchema, RecallRequestSchema, EpisodeListRequestSchema } from './episodic/schema';
8
+ export { DefineProcedureRequestSchema, AdaptProcedureRequestSchema, InheritProcedureRequestSchema, ProcedureSearchRequestSchema } from './procedural/schema';
9
+ export { UpdateSocialMemoryRequestSchema, UpdateTrustRequestSchema, SocialRankingRequestSchema } from './social/schema';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAsB,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAwB,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAoB,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAA8C,MAAM,UAAU,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAqC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAMlB,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC9G,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAC7J,OAAO,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Database } from '../../types/database';
2
+ import type { EventBus } from '../../extensions/events/bus';
3
+ import type { ClickHouseClient } from '../../extensions/events/clickhouse-client';
4
+ import type { Embedder } from '../../utils/embedder';
5
+ export interface Route {
6
+ method: 'GET' | 'POST' | 'PATCH' | 'DELETE';
7
+ path: string;
8
+ handler: (req: Request, params?: Record<string, string>) => Promise<Response>;
9
+ }
10
+ export interface MemoryRouterDeps {
11
+ db: Database;
12
+ eventBus: EventBus;
13
+ clickhouse: ClickHouseClient;
14
+ embedder: Embedder;
15
+ }
16
+ export declare function createMemoryHttpRouter(deps: MemoryRouterDeps): Route[];
17
+ //# sourceMappingURL=memory.router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.router.d.ts","sourceRoot":"","sources":["../../../src/extensions/memory/memory.router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAUjD,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,GAAG,KAAK,EAAE,CA8QtE"}
@@ -0,0 +1,289 @@
1
+ import { createEpisodicStore } from './episodic/store';
2
+ import { createProceduralStore } from './procedural/store';
3
+ import { createSocialStore } from './social/store';
4
+ import { createMemoryRouter } from './router';
5
+ import { RecordEpisodeRequestSchema, RecallRequestSchema, EpisodeListRequestSchema } from './episodic/schema';
6
+ import { DefineProcedureRequestSchema, AdaptProcedureRequestSchema, InheritProcedureRequestSchema } from './procedural/schema';
7
+ import { UpdateSocialMemoryRequestSchema, UpdateTrustRequestSchema } from './social/schema';
8
+ export function createMemoryHttpRouter(deps) {
9
+ const episodic = createEpisodicStore(deps.eventBus, deps.clickhouse, deps.embedder);
10
+ const procedural = createProceduralStore(deps.db);
11
+ const social = createSocialStore(deps.db);
12
+ const router = createMemoryRouter({ episodic, procedural, social });
13
+ return [
14
+ // ── Episodic ──
15
+ {
16
+ method: 'POST',
17
+ path: '/memory/episodes',
18
+ handler: async (req) => {
19
+ const body = await req.json();
20
+ const parsed = RecordEpisodeRequestSchema.safeParse(body);
21
+ if (!parsed.success) {
22
+ return Response.json({ error: 'Invalid request', details: parsed.error.flatten() }, { status: 400 });
23
+ }
24
+ const episode = await router.recordEpisode(parsed.data);
25
+ return Response.json(episode, { status: 201 });
26
+ },
27
+ },
28
+ {
29
+ method: 'POST',
30
+ path: '/memory/episodes/recall',
31
+ handler: async (req) => {
32
+ const body = await req.json();
33
+ const parsed = RecallRequestSchema.safeParse(body);
34
+ if (!parsed.success) {
35
+ return Response.json({ error: 'Invalid request', details: parsed.error.flatten() }, { status: 400 });
36
+ }
37
+ const episodes = await episodic.recall(parsed.data.agent_id, parsed.data.query, {
38
+ limit: parsed.data.limit,
39
+ days: parsed.data.days,
40
+ minImportance: parsed.data.min_importance,
41
+ });
42
+ return Response.json({ episodes });
43
+ },
44
+ },
45
+ {
46
+ method: 'GET',
47
+ path: '/memory/episodes',
48
+ handler: async (req) => {
49
+ const url = new URL(req.url);
50
+ const agentId = url.searchParams.get('agent_id');
51
+ if (!agentId)
52
+ return Response.json({ error: 'Missing agent_id' }, { status: 400 });
53
+ const parsed = EpisodeListRequestSchema.safeParse({
54
+ agent_id: agentId,
55
+ limit: url.searchParams.get('limit') ? parseInt(url.searchParams.get('limit')) : undefined,
56
+ offset: url.searchParams.get('offset') ? parseInt(url.searchParams.get('offset')) : undefined,
57
+ type: url.searchParams.get('type') ?? undefined,
58
+ });
59
+ if (!parsed.success) {
60
+ return Response.json({ error: 'Invalid request', details: parsed.error.flatten() }, { status: 400 });
61
+ }
62
+ const episodes = await episodic.getEpisodes(parsed.data.agent_id, parsed.data);
63
+ return Response.json({ episodes });
64
+ },
65
+ },
66
+ {
67
+ method: 'GET',
68
+ path: '/memory/episodes/:episodeId',
69
+ handler: async (_req, params) => {
70
+ const episodeId = params?.episodeId;
71
+ if (!episodeId)
72
+ return Response.json({ error: 'Missing episodeId' }, { status: 400 });
73
+ const episode = await episodic.getEpisode(episodeId);
74
+ if (!episode)
75
+ return Response.json({ error: 'Episode not found' }, { status: 404 });
76
+ return Response.json(episode);
77
+ },
78
+ },
79
+ {
80
+ method: 'PATCH',
81
+ path: '/memory/episodes/:episodeId/importance',
82
+ handler: async (req, params) => {
83
+ const episodeId = params?.episodeId;
84
+ if (!episodeId)
85
+ return Response.json({ error: 'Missing episodeId' }, { status: 400 });
86
+ const body = await req.json();
87
+ await episodic.updateImportance(episodeId, body.importance);
88
+ return Response.json({ updated: true });
89
+ },
90
+ },
91
+ {
92
+ method: 'GET',
93
+ path: '/memory/episodes/analytics/:agentId',
94
+ handler: async (_req, params) => {
95
+ const agentId = params?.agentId;
96
+ if (!agentId)
97
+ return Response.json({ error: 'Missing agentId' }, { status: 400 });
98
+ const analytics = await episodic.getAnalytics(agentId);
99
+ return Response.json(analytics);
100
+ },
101
+ },
102
+ // ── Procedural ──
103
+ {
104
+ method: 'POST',
105
+ path: '/memory/procedures',
106
+ handler: async (req) => {
107
+ const body = await req.json();
108
+ const parsed = DefineProcedureRequestSchema.safeParse(body);
109
+ if (!parsed.success) {
110
+ return Response.json({ error: 'Invalid request', details: parsed.error.flatten() }, { status: 400 });
111
+ }
112
+ const data = parsed.data;
113
+ const now = new Date().toISOString();
114
+ const procedure = await router.defineProcedure({
115
+ agent_id: data.agent_id,
116
+ pattern: data.pattern,
117
+ performance: data.performance ?? {
118
+ success_rate: 0,
119
+ total_uses: 0,
120
+ average_quality: 0,
121
+ last_used: now,
122
+ best_context: [],
123
+ worst_context: [],
124
+ },
125
+ origin: data.origin,
126
+ metadata: data.metadata,
127
+ });
128
+ return Response.json(procedure, { status: 201 });
129
+ },
130
+ },
131
+ {
132
+ method: 'GET',
133
+ path: '/memory/procedures',
134
+ handler: async (req) => {
135
+ const url = new URL(req.url);
136
+ const domain = url.searchParams.get('domain');
137
+ const agentId = url.searchParams.get('agent_id');
138
+ if (agentId && domain) {
139
+ const procedures = await procedural.getByDomain(agentId, domain);
140
+ return Response.json({ procedures });
141
+ }
142
+ if (agentId) {
143
+ const procedures = await procedural.getByAgent(agentId);
144
+ return Response.json({ procedures });
145
+ }
146
+ return Response.json({ error: 'Missing agent_id or domain' }, { status: 400 });
147
+ },
148
+ },
149
+ {
150
+ method: 'GET',
151
+ path: '/memory/procedures/:procedureId',
152
+ handler: async (_req, params) => {
153
+ const procedureId = params?.procedureId;
154
+ if (!procedureId)
155
+ return Response.json({ error: 'Missing procedureId' }, { status: 400 });
156
+ const procedure = await procedural.getProcedure(procedureId);
157
+ if (!procedure)
158
+ return Response.json({ error: 'Procedure not found' }, { status: 404 });
159
+ return Response.json(procedure);
160
+ },
161
+ },
162
+ {
163
+ method: 'POST',
164
+ path: '/memory/procedures/:procedureId/adapt',
165
+ handler: async (req, params) => {
166
+ const procedureId = params?.procedureId;
167
+ if (!procedureId)
168
+ return Response.json({ error: 'Missing procedureId' }, { status: 400 });
169
+ const body = (await req.json());
170
+ const parsed = AdaptProcedureRequestSchema.safeParse({ ...body, procedure_id: procedureId });
171
+ if (!parsed.success) {
172
+ return Response.json({ error: 'Invalid request', details: parsed.error.flatten() }, { status: 400 });
173
+ }
174
+ await procedural.adapt(procedureId, parsed.data.outcome, parsed.data.context);
175
+ return Response.json({ adapted: true });
176
+ },
177
+ },
178
+ {
179
+ method: 'POST',
180
+ path: '/memory/procedures/:procedureId/inherit',
181
+ handler: async (req, params) => {
182
+ const procedureId = params?.procedureId;
183
+ if (!procedureId)
184
+ return Response.json({ error: 'Missing procedureId' }, { status: 400 });
185
+ const body = (await req.json());
186
+ const parsed = InheritProcedureRequestSchema.safeParse({ ...body, procedure_id: procedureId });
187
+ if (!parsed.success) {
188
+ return Response.json({ error: 'Invalid request', details: parsed.error.flatten() }, { status: 400 });
189
+ }
190
+ const inherited = await procedural.inherit(procedureId, parsed.data.target_agent_id);
191
+ return Response.json(inherited, { status: 201 });
192
+ },
193
+ },
194
+ {
195
+ method: 'GET',
196
+ path: '/memory/procedures/trigger',
197
+ handler: async (req) => {
198
+ const url = new URL(req.url);
199
+ const context = url.searchParams.get('context');
200
+ if (!context)
201
+ return Response.json({ error: 'Missing context' }, { status: 400 });
202
+ const limit = url.searchParams.get('limit') ? parseInt(url.searchParams.get('limit')) : 10;
203
+ const procedures = await procedural.findByTrigger(context, { limit });
204
+ return Response.json({ procedures });
205
+ },
206
+ },
207
+ // ── Social ──
208
+ {
209
+ method: 'GET',
210
+ path: '/memory/social/:targetAgentId',
211
+ handler: async (req, params) => {
212
+ const targetAgentId = params?.targetAgentId;
213
+ if (!targetAgentId)
214
+ return Response.json({ error: 'Missing targetAgentId' }, { status: 400 });
215
+ const url = new URL(req.url);
216
+ const agentId = url.searchParams.get('agent_id');
217
+ if (!agentId)
218
+ return Response.json({ error: 'Missing agent_id' }, { status: 400 });
219
+ const memory = await social.getSocialMemory(agentId, targetAgentId);
220
+ if (!memory)
221
+ return Response.json({ error: 'Social memory not found' }, { status: 404 });
222
+ return Response.json(memory);
223
+ },
224
+ },
225
+ {
226
+ method: 'POST',
227
+ path: '/memory/social/:targetAgentId',
228
+ handler: async (req, params) => {
229
+ const targetAgentId = params?.targetAgentId;
230
+ if (!targetAgentId)
231
+ return Response.json({ error: 'Missing targetAgentId' }, { status: 400 });
232
+ const body = (await req.json());
233
+ const parsed = UpdateSocialMemoryRequestSchema.safeParse({ ...body, target_agent_id: targetAgentId });
234
+ if (!parsed.success) {
235
+ return Response.json({ error: 'Invalid request', details: parsed.error.flatten() }, { status: 400 });
236
+ }
237
+ const { agent_id, ...update } = parsed.data;
238
+ await social.updateSocialMemory(agent_id, targetAgentId, update);
239
+ return Response.json({ updated: true });
240
+ },
241
+ },
242
+ {
243
+ method: 'GET',
244
+ path: '/memory/social/ranking',
245
+ handler: async (req) => {
246
+ const url = new URL(req.url);
247
+ const agentId = url.searchParams.get('agent_id');
248
+ if (!agentId)
249
+ return Response.json({ error: 'Missing agent_id' }, { status: 400 });
250
+ const limit = url.searchParams.get('limit') ? parseInt(url.searchParams.get('limit')) : 20;
251
+ const ranking = await social.getRanking(agentId, { limit });
252
+ return Response.json({ ranking });
253
+ },
254
+ },
255
+ {
256
+ method: 'POST',
257
+ path: '/memory/social/:targetAgentId/trust',
258
+ handler: async (req, params) => {
259
+ const targetAgentId = params?.targetAgentId;
260
+ if (!targetAgentId)
261
+ return Response.json({ error: 'Missing targetAgentId' }, { status: 400 });
262
+ const body = (await req.json());
263
+ const parsed = UpdateTrustRequestSchema.safeParse({ ...body, target_agent_id: targetAgentId });
264
+ if (!parsed.success) {
265
+ return Response.json({ error: 'Invalid request', details: parsed.error.flatten() }, { status: 400 });
266
+ }
267
+ await social.updateTrust(parsed.data.agent_id, targetAgentId, parsed.data.delta);
268
+ return Response.json({ updated: true });
269
+ },
270
+ },
271
+ // ── Unified Query ──
272
+ {
273
+ method: 'POST',
274
+ path: '/memory/query',
275
+ handler: async (req) => {
276
+ const body = await req.json();
277
+ if (!body.agent_id || !body.query) {
278
+ return Response.json({ error: 'Missing agent_id or query' }, { status: 400 });
279
+ }
280
+ const result = await router.query(body.agent_id, body.query, {
281
+ type: body.type,
282
+ limit: body.limit,
283
+ });
284
+ return Response.json(result);
285
+ },
286
+ },
287
+ ];
288
+ }
289
+ //# sourceMappingURL=memory.router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.router.js","sourceRoot":"","sources":["../../../src/extensions/memory/memory.router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { z } from 'zod';
2
+ export declare const DefineProcedureRequestSchema: z.ZodObject<{
3
+ agent_id: z.ZodString;
4
+ pattern: z.ZodObject<{
5
+ name: z.ZodString;
6
+ trigger: z.ZodObject<{
7
+ type: z.ZodEnum<{
8
+ explicit_request: "explicit_request";
9
+ detected_pattern: "detected_pattern";
10
+ time_based: "time_based";
11
+ event_driven: "event_driven";
12
+ emotional_state: "emotional_state";
13
+ }>;
14
+ pattern: z.ZodString;
15
+ }, z.core.$strip>;
16
+ steps: z.ZodArray<z.ZodObject<{
17
+ order: z.ZodNumber;
18
+ action: z.ZodString;
19
+ tool: z.ZodOptional<z.ZodString>;
20
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
21
+ expected_outcome: z.ZodString;
22
+ fallback: z.ZodOptional<z.ZodString>;
23
+ }, z.core.$strip>>;
24
+ conditions: z.ZodArray<z.ZodObject<{
25
+ type: z.ZodEnum<{
26
+ mood: "mood";
27
+ context: "context";
28
+ capability: "capability";
29
+ partner_identity: "partner_identity";
30
+ time: "time";
31
+ }>;
32
+ check: z.ZodString;
33
+ negate: z.ZodBoolean;
34
+ }, z.core.$strip>>;
35
+ alternatives: z.ZodArray<z.ZodObject<{
36
+ procedure_id: z.ZodString;
37
+ when_to_use: z.ZodString;
38
+ trade_off: z.ZodString;
39
+ }, z.core.$strip>>;
40
+ }, z.core.$strip>;
41
+ performance: z.ZodOptional<z.ZodObject<{
42
+ success_rate: z.ZodNumber;
43
+ total_uses: z.ZodNumber;
44
+ average_quality: z.ZodNumber;
45
+ last_used: z.ZodString;
46
+ best_context: z.ZodArray<z.ZodString>;
47
+ worst_context: z.ZodArray<z.ZodString>;
48
+ }, z.core.$strip>>;
49
+ origin: z.ZodObject<{
50
+ source: z.ZodEnum<{
51
+ learned: "learned";
52
+ inherited: "inherited";
53
+ designed: "designed";
54
+ adapted: "adapted";
55
+ }>;
56
+ parent_procedure: z.ZodOptional<z.ZodString>;
57
+ learning_episodes: z.ZodArray<z.ZodString>;
58
+ confidence: z.ZodNumber;
59
+ }, z.core.$strip>;
60
+ metadata: z.ZodObject<{
61
+ domain: z.ZodString;
62
+ complexity: z.ZodEnum<{
63
+ simple: "simple";
64
+ moderate: "moderate";
65
+ complex: "complex";
66
+ }>;
67
+ tags: z.ZodArray<z.ZodString>;
68
+ }, z.core.$strip>;
69
+ }, z.core.$strip>;
70
+ export declare const AdaptProcedureRequestSchema: z.ZodObject<{
71
+ procedure_id: z.ZodString;
72
+ outcome: z.ZodObject<{
73
+ success: z.ZodBoolean;
74
+ quality: z.ZodNumber;
75
+ }, z.core.$strip>;
76
+ context: z.ZodOptional<z.ZodString>;
77
+ }, z.core.$strip>;
78
+ export declare const InheritProcedureRequestSchema: z.ZodObject<{
79
+ procedure_id: z.ZodString;
80
+ target_agent_id: z.ZodString;
81
+ }, z.core.$strip>;
82
+ export declare const ProcedureSearchRequestSchema: z.ZodObject<{
83
+ agent_id: z.ZodOptional<z.ZodString>;
84
+ domain: z.ZodOptional<z.ZodString>;
85
+ trigger_context: z.ZodOptional<z.ZodString>;
86
+ limit: z.ZodDefault<z.ZodNumber>;
87
+ }, z.core.$strip>;
88
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/extensions/memory/procedural/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8CvC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;iBAOtC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;iBAKvC,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { z } from 'zod';
2
+ export const DefineProcedureRequestSchema = z.object({
3
+ agent_id: z.string().min(1).max(100),
4
+ pattern: z.object({
5
+ name: z.string().min(1).max(200),
6
+ trigger: z.object({
7
+ type: z.enum(['explicit_request', 'detected_pattern', 'time_based', 'event_driven', 'emotional_state']),
8
+ pattern: z.string(),
9
+ }),
10
+ steps: z.array(z.object({
11
+ order: z.number().int().min(0),
12
+ action: z.string(),
13
+ tool: z.string().optional(),
14
+ parameters: z.record(z.string(), z.unknown()).optional(),
15
+ expected_outcome: z.string(),
16
+ fallback: z.string().optional(),
17
+ })),
18
+ conditions: z.array(z.object({
19
+ type: z.enum(['context', 'capability', 'mood', 'partner_identity', 'time']),
20
+ check: z.string(),
21
+ negate: z.boolean(),
22
+ })),
23
+ alternatives: z.array(z.object({
24
+ procedure_id: z.string(),
25
+ when_to_use: z.string(),
26
+ trade_off: z.string(),
27
+ })),
28
+ }),
29
+ performance: z.object({
30
+ success_rate: z.number().min(0).max(1),
31
+ total_uses: z.number().int().min(0),
32
+ average_quality: z.number().min(0).max(1),
33
+ last_used: z.string().datetime(),
34
+ best_context: z.array(z.string()),
35
+ worst_context: z.array(z.string()),
36
+ }).optional(),
37
+ origin: z.object({
38
+ source: z.enum(['learned', 'inherited', 'designed', 'adapted']),
39
+ parent_procedure: z.string().optional(),
40
+ learning_episodes: z.array(z.string()),
41
+ confidence: z.number().min(0).max(1),
42
+ }),
43
+ metadata: z.object({
44
+ domain: z.string().min(1),
45
+ complexity: z.enum(['simple', 'moderate', 'complex']),
46
+ tags: z.array(z.string()),
47
+ }),
48
+ });
49
+ export const AdaptProcedureRequestSchema = z.object({
50
+ procedure_id: z.string().uuid(),
51
+ outcome: z.object({
52
+ success: z.boolean(),
53
+ quality: z.number().min(0).max(1),
54
+ }),
55
+ context: z.string().optional(),
56
+ });
57
+ export const InheritProcedureRequestSchema = z.object({
58
+ procedure_id: z.string().uuid(),
59
+ target_agent_id: z.string().min(1),
60
+ });
61
+ export const ProcedureSearchRequestSchema = z.object({
62
+ agent_id: z.string().optional(),
63
+ domain: z.string().optional(),
64
+ trigger_context: z.string().optional(),
65
+ limit: z.number().int().min(1).max(100).default(10),
66
+ });
67
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/extensions/memory/procedural/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Database } from '../../../types/database';
2
+ import type { ProceduralMemory } from '../../../agent/interfaces/memory.interface';
3
+ export interface ProceduralStore {
4
+ define(procedure: Omit<ProceduralMemory, 'id'>): Promise<ProceduralMemory>;
5
+ getProcedure(procedureId: string): Promise<ProceduralMemory | null>;
6
+ findByTrigger(context: string, opts?: {
7
+ limit?: number;
8
+ }): Promise<ProceduralMemory[]>;
9
+ getByDomain(agentId: string, domain: string): Promise<ProceduralMemory[]>;
10
+ getByAgent(agentId: string, opts?: {
11
+ limit?: number;
12
+ }): Promise<ProceduralMemory[]>;
13
+ adapt(procedureId: string, outcome: {
14
+ success: boolean;
15
+ quality: number;
16
+ }, context?: string): Promise<void>;
17
+ inherit(procedureId: string, targetAgentId: string): Promise<ProceduralMemory>;
18
+ }
19
+ export declare function createProceduralStore(db: Database): ProceduralStore;
20
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/extensions/memory/procedural/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvF,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC1E,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpF,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5G,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChF;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,GAAG,eAAe,CAiLnE"}