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,382 @@
1
+ import { validateSchema } from '../../utils/validation';
2
+ import { CreateRelationshipRequestSchema, CreateTeamRequestSchema, AddTeamMemberRequestSchema } from './schema';
3
+ import { RelationshipNotFoundError, TeamNotFoundError, TeamMemberNotFoundError, DuplicateRelationshipError, DuplicateTeamMemberError, } from './errors';
4
+ function parseJsonField(value) {
5
+ if (typeof value === 'string') {
6
+ try {
7
+ return JSON.parse(value);
8
+ }
9
+ catch {
10
+ return {};
11
+ }
12
+ }
13
+ return value;
14
+ }
15
+ function rowToRelationship(row) {
16
+ return {
17
+ relationshipId: row.relationship_id,
18
+ agentA: row.agent_a,
19
+ agentB: row.agent_b,
20
+ type: row.type,
21
+ strength: Number(row.strength),
22
+ dynamics: parseJsonField(row.dynamics),
23
+ context: parseJsonField(row.context),
24
+ preferences: parseJsonField(row.preferences),
25
+ };
26
+ }
27
+ function rowToTeam(row, members) {
28
+ return {
29
+ teamId: row.team_id,
30
+ name: row.name,
31
+ description: row.description ?? '',
32
+ members,
33
+ structure: parseJsonField(row.structure),
34
+ sharedContext: parseJsonField(row.shared_context),
35
+ culture: parseJsonField(row.culture),
36
+ metrics: parseJsonField(row.metrics),
37
+ };
38
+ }
39
+ function rowToTeamMember(row) {
40
+ return {
41
+ agentId: row.agent_id,
42
+ role: row.role,
43
+ joinedAt: row.joined_at,
44
+ responsibilities: parseJsonField(row.responsibilities),
45
+ authorityLevel: row.authority_level,
46
+ performance: parseJsonField(row.performance),
47
+ status: row.status,
48
+ };
49
+ }
50
+ export function createSocialDynamicsStore(db) {
51
+ async function getTeamMembers(teamId) {
52
+ const rows = await db.query(`SELECT team_id, agent_id, role, responsibilities, authority_level, performance, status, joined_at
53
+ FROM social.team_members
54
+ WHERE team_id = $1
55
+ ORDER BY joined_at`, [teamId]);
56
+ return rows.map(rowToTeamMember);
57
+ }
58
+ return {
59
+ // ── Relationships ──────────────────────────────────────────────────
60
+ async getRelationship(agentA, agentB) {
61
+ const rows = await db.query(`SELECT relationship_id, agent_a, agent_b, type, strength, dynamics, context, preferences
62
+ FROM social.relationships
63
+ WHERE (agent_a = $1 AND agent_b = $2) OR (agent_a = $2 AND agent_b = $1)`, [agentA, agentB]);
64
+ const row = rows[0];
65
+ return row ? rowToRelationship(row) : null;
66
+ },
67
+ async createRelationship(params) {
68
+ const check = validateSchema(CreateRelationshipRequestSchema, params);
69
+ if (!check.success) {
70
+ throw new Error(`Invalid relationship: ${check.error}`);
71
+ }
72
+ // Check for duplicate
73
+ const existing = await this.getRelationship(params.agentA, params.agentB);
74
+ if (existing) {
75
+ throw new DuplicateRelationshipError(params.agentA, params.agentB);
76
+ }
77
+ const id = crypto.randomUUID();
78
+ const now = new Date().toISOString();
79
+ const dynamics = {
80
+ initiatedBy: params.agentA,
81
+ initiatedAt: now,
82
+ lastInteraction: now,
83
+ interactionFrequency: 0,
84
+ trajectory: 'stable',
85
+ };
86
+ const context = {
87
+ sharedGoals: params.context?.sharedGoals ?? [],
88
+ sharedProjects: params.context?.sharedProjects ?? [],
89
+ commonDomains: params.context?.commonDomains ?? [],
90
+ historySummary: params.context?.historySummary ?? '',
91
+ };
92
+ const preferences = {
93
+ communicationFrequency: params.preferences?.communicationFrequency ?? 'on_demand',
94
+ feedbackStyle: params.preferences?.feedbackStyle ?? 'direct',
95
+ collaborationStyle: params.preferences?.collaborationStyle ?? 'parallel',
96
+ privacyLevel: params.preferences?.privacyLevel ?? 'selective',
97
+ };
98
+ await db.query(`INSERT INTO social.relationships
99
+ (relationship_id, agent_a, agent_b, type, strength, dynamics, context, preferences, created_at, updated_at)
100
+ VALUES ($1, $2, $3, $4, $5, $6::jsonb, $7::jsonb, $8::jsonb, now(), now())`, [
101
+ id,
102
+ params.agentA,
103
+ params.agentB,
104
+ params.type,
105
+ params.strength ?? 0.5,
106
+ JSON.stringify(dynamics),
107
+ JSON.stringify(context),
108
+ JSON.stringify(preferences),
109
+ ]);
110
+ return {
111
+ relationshipId: id,
112
+ agentA: params.agentA,
113
+ agentB: params.agentB,
114
+ type: params.type,
115
+ strength: params.strength ?? 0.5,
116
+ dynamics,
117
+ context,
118
+ preferences,
119
+ };
120
+ },
121
+ async updateRelationship(relationshipId, update) {
122
+ const existing = await db.query(`SELECT relationship_id, agent_a, agent_b, type, strength, dynamics, context, preferences
123
+ FROM social.relationships
124
+ WHERE relationship_id = $1`, [relationshipId]);
125
+ const row = existing[0];
126
+ if (!row) {
127
+ throw new Error(`Relationship not found: ${relationshipId}`);
128
+ }
129
+ const current = rowToRelationship(row);
130
+ const merged = {
131
+ ...current,
132
+ ...update,
133
+ relationshipId,
134
+ dynamics: { ...current.dynamics, ...update.dynamics },
135
+ context: { ...current.context, ...update.context },
136
+ preferences: { ...current.preferences, ...update.preferences },
137
+ };
138
+ await db.query(`UPDATE social.relationships
139
+ SET type = $1, strength = $2, dynamics = $3::jsonb, context = $4::jsonb,
140
+ preferences = $5::jsonb, updated_at = now()
141
+ WHERE relationship_id = $6`, [
142
+ merged.type,
143
+ merged.strength,
144
+ JSON.stringify(merged.dynamics),
145
+ JSON.stringify(merged.context),
146
+ JSON.stringify(merged.preferences),
147
+ relationshipId,
148
+ ]);
149
+ return merged;
150
+ },
151
+ async getAgentRelationships(agentId) {
152
+ const rows = await db.query(`SELECT relationship_id, agent_a, agent_b, type, strength, dynamics, context, preferences
153
+ FROM social.relationships
154
+ WHERE agent_a = $1 OR agent_b = $1
155
+ ORDER BY strength DESC`, [agentId]);
156
+ return rows.map(rowToRelationship);
157
+ },
158
+ // ── Teams ──────────────────────────────────────────────────────────
159
+ async getTeam(teamId) {
160
+ const rows = await db.query(`SELECT team_id, name, description, structure, shared_context, culture, metrics
161
+ FROM social.teams
162
+ WHERE team_id = $1`, [teamId]);
163
+ const row = rows[0];
164
+ if (!row)
165
+ return null;
166
+ const members = await getTeamMembers(teamId);
167
+ return rowToTeam(row, members);
168
+ },
169
+ async createTeam(params) {
170
+ const check = validateSchema(CreateTeamRequestSchema, params);
171
+ if (!check.success) {
172
+ throw new Error(`Invalid team: ${check.error}`);
173
+ }
174
+ const id = crypto.randomUUID();
175
+ const now = new Date().toISOString();
176
+ const structure = {
177
+ communicationChannels: params.structure?.communicationChannels ?? [],
178
+ decisionMaking: params.structure?.decisionMaking ?? 'consensus',
179
+ ...params.structure,
180
+ };
181
+ const culture = {
182
+ values: params.culture?.values ?? [],
183
+ norms: params.culture?.norms ?? [],
184
+ communicationStyle: params.culture?.communicationStyle ?? '',
185
+ conflictResolution: params.culture?.conflictResolution ?? '',
186
+ };
187
+ const sharedContext = {
188
+ contextId: crypto.randomUUID(),
189
+ teamId: id,
190
+ state: {
191
+ currentFocus: '',
192
+ blockers: [],
193
+ recentDecisions: [],
194
+ activeDiscussions: [],
195
+ },
196
+ knowledge: {
197
+ sharedFacts: [],
198
+ sharedProcedures: [],
199
+ sharedGoals: [],
200
+ glossary: {},
201
+ },
202
+ coordination: {
203
+ taskBoard: [],
204
+ timeBudgets: {},
205
+ meetingSchedule: [],
206
+ escalationPaths: [],
207
+ },
208
+ history: {
209
+ meetings: [],
210
+ decisions: [],
211
+ milestones: [],
212
+ retrospective: [],
213
+ },
214
+ };
215
+ const metrics = {
216
+ formedAt: now,
217
+ totalTasksCompleted: 0,
218
+ averageQuality: 0,
219
+ collaborationScore: 0,
220
+ memberSatisfaction: 0,
221
+ knowledgeSharingRate: 0,
222
+ };
223
+ await db.query(`INSERT INTO social.teams
224
+ (team_id, name, description, structure, shared_context, culture, metrics, created_at, updated_at)
225
+ VALUES ($1, $2, $3, $4::jsonb, $5::jsonb, $6::jsonb, $7::jsonb, now(), now())`, [
226
+ id,
227
+ params.name,
228
+ params.description,
229
+ JSON.stringify(structure),
230
+ JSON.stringify(sharedContext),
231
+ JSON.stringify(culture),
232
+ JSON.stringify(metrics),
233
+ ]);
234
+ return {
235
+ teamId: id,
236
+ name: params.name,
237
+ description: params.description,
238
+ members: [],
239
+ structure,
240
+ sharedContext,
241
+ culture,
242
+ metrics,
243
+ };
244
+ },
245
+ async updateTeam(teamId, update) {
246
+ const existing = await this.getTeam(teamId);
247
+ if (!existing)
248
+ throw new TeamNotFoundError(teamId);
249
+ const merged = {
250
+ ...existing,
251
+ ...update,
252
+ teamId,
253
+ structure: { ...existing.structure, ...update.structure },
254
+ culture: { ...existing.culture, ...update.culture },
255
+ metrics: { ...existing.metrics, ...update.metrics },
256
+ };
257
+ await db.query(`UPDATE social.teams
258
+ SET name = $1, description = $2, structure = $3::jsonb, culture = $4::jsonb,
259
+ metrics = $5::jsonb, updated_at = now()
260
+ WHERE team_id = $6`, [
261
+ merged.name,
262
+ merged.description,
263
+ JSON.stringify(merged.structure),
264
+ JSON.stringify(merged.culture),
265
+ JSON.stringify(merged.metrics),
266
+ teamId,
267
+ ]);
268
+ return merged;
269
+ },
270
+ async addTeamMember(teamId, params) {
271
+ const check = validateSchema(AddTeamMemberRequestSchema, params);
272
+ if (!check.success) {
273
+ throw new Error(`Invalid team member: ${check.error}`);
274
+ }
275
+ // Verify team exists
276
+ const team = await db.query(`SELECT team_id FROM social.teams WHERE team_id = $1`, [teamId]);
277
+ if (!team[0])
278
+ throw new TeamNotFoundError(teamId);
279
+ // Check for duplicate
280
+ const existing = await db.query(`SELECT agent_id FROM social.team_members WHERE team_id = $1 AND agent_id = $2`, [teamId, params.agentId]);
281
+ if (existing[0])
282
+ throw new DuplicateTeamMemberError(teamId, params.agentId);
283
+ const now = new Date().toISOString();
284
+ const performance = {
285
+ tasksCompleted: 0,
286
+ qualityScore: 0,
287
+ reliabilityScore: 0,
288
+ teamContribution: 0,
289
+ };
290
+ await db.query(`INSERT INTO social.team_members
291
+ (team_id, agent_id, role, responsibilities, authority_level, performance, status, joined_at)
292
+ VALUES ($1, $2, $3, $4::jsonb, $5, $6::jsonb, 'active', now())`, [
293
+ teamId,
294
+ params.agentId,
295
+ params.role,
296
+ JSON.stringify(params.responsibilities ?? []),
297
+ params.authorityLevel ?? 'limited',
298
+ JSON.stringify(performance),
299
+ ]);
300
+ return {
301
+ agentId: params.agentId,
302
+ role: params.role,
303
+ joinedAt: now,
304
+ responsibilities: params.responsibilities ?? [],
305
+ authorityLevel: params.authorityLevel ?? 'limited',
306
+ performance,
307
+ status: 'active',
308
+ };
309
+ },
310
+ async removeTeamMember(teamId, agentId) {
311
+ const existing = await db.query(`SELECT agent_id FROM social.team_members WHERE team_id = $1 AND agent_id = $2`, [teamId, agentId]);
312
+ if (!existing[0])
313
+ throw new TeamMemberNotFoundError(teamId, agentId);
314
+ await db.query(`DELETE FROM social.team_members WHERE team_id = $1 AND agent_id = $2`, [teamId, agentId]);
315
+ },
316
+ async updateTeamMember(teamId, agentId, update) {
317
+ const existing = await db.query(`SELECT team_id, agent_id, role, responsibilities, authority_level, performance, status, joined_at
318
+ FROM social.team_members
319
+ WHERE team_id = $1 AND agent_id = $2`, [teamId, agentId]);
320
+ const row = existing[0];
321
+ if (!row)
322
+ throw new TeamMemberNotFoundError(teamId, agentId);
323
+ const current = rowToTeamMember(row);
324
+ const merged = {
325
+ ...current,
326
+ ...update,
327
+ agentId,
328
+ performance: { ...current.performance, ...update.performance },
329
+ };
330
+ await db.query(`UPDATE social.team_members
331
+ SET role = $1, responsibilities = $2::jsonb, authority_level = $3,
332
+ performance = $4::jsonb, status = $5
333
+ WHERE team_id = $6 AND agent_id = $7`, [
334
+ merged.role,
335
+ JSON.stringify(merged.responsibilities),
336
+ merged.authorityLevel,
337
+ JSON.stringify(merged.performance),
338
+ merged.status,
339
+ teamId,
340
+ agentId,
341
+ ]);
342
+ return merged;
343
+ },
344
+ async getTeamsForAgent(agentId) {
345
+ const teamRows = await db.query(`SELECT t.team_id, t.name, t.description, t.structure, t.shared_context, t.culture, t.metrics
346
+ FROM social.teams t
347
+ JOIN social.team_members tm ON t.team_id = tm.team_id
348
+ WHERE tm.agent_id = $1
349
+ ORDER BY t.name`, [agentId]);
350
+ const teams = [];
351
+ for (const row of teamRows) {
352
+ const members = await getTeamMembers(row.team_id);
353
+ teams.push(rowToTeam(row, members));
354
+ }
355
+ return teams;
356
+ },
357
+ // ── Shared Context ─────────────────────────────────────────────────
358
+ async getSharedContext(teamId) {
359
+ const rows = await db.query(`SELECT shared_context FROM social.teams WHERE team_id = $1`, [teamId]);
360
+ const row = rows[0];
361
+ if (!row)
362
+ return null;
363
+ return parseJsonField(row.shared_context);
364
+ },
365
+ async updateSharedContext(teamId, update) {
366
+ const existing = await this.getSharedContext(teamId);
367
+ if (!existing)
368
+ throw new TeamNotFoundError(teamId);
369
+ const merged = {
370
+ ...existing,
371
+ state: { ...existing.state, ...update.state },
372
+ knowledge: { ...existing.knowledge, ...update.knowledge },
373
+ coordination: { ...existing.coordination, ...update.coordination },
374
+ };
375
+ await db.query(`UPDATE social.teams
376
+ SET shared_context = $1::jsonb, updated_at = now()
377
+ WHERE team_id = $2`, [JSON.stringify(merged), teamId]);
378
+ return merged;
379
+ },
380
+ };
381
+ }
382
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/extensions/social/store.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAChH,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAkClB,SAAS,cAAc,CAAI,KAAiB;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAoB;IAC7C,OAAO;QACL,cAAc,EAAE,GAAG,CAAC,eAAe;QACnC,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,IAAI,EAAE,GAAG,CAAC,IAA4B;QACtC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAwC;QAC7E,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAuC;QAC1E,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAA2C;KACvF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAY,EAAE,OAAqB;IACpD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,OAAO;QACP,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAiC;QACxE,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,cAAc,CAAqC;QACrF,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAA+B;QAClE,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAA+B;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,GAAkB;IACzC,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,IAAI,EAAE,GAAG,CAAC,IAA0B;QACpC,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,gBAAgB,EAAE,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAwB;QAC7E,cAAc,EAAE,GAAG,CAAC,eAA+C;QACnE,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAyC;QACpF,MAAM,EAAE,GAAG,CAAC,MAA8B;KAC3C,CAAC;AACJ,CAAC;AA8BD,MAAM,UAAU,yBAAyB,CAAC,EAAY;IACpD,KAAK,UAAU,cAAc,CAAC,MAAc;QAC1C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CACzB;;;0BAGoB,EACpB,CAAC,MAAM,CAAC,CACT,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED,OAAO;QACL,sEAAsE;QAEtE,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM;YAClC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CACzB;;kFAE0E,EAC1E,CAAC,MAAM,EAAE,MAAM,CAAC,CACjB,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,MAAM;YAC7B,MAAM,KAAK,GAAG,cAAc,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,sBAAsB;YACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1E,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,0BAA0B,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAErC,MAAM,QAAQ,GAAG;gBACf,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,WAAW,EAAE,GAAG;gBAChB,eAAe,EAAE,GAAG;gBACpB,oBAAoB,EAAE,CAAC;gBACvB,UAAU,EAAE,QAAiB;aAC9B,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE;gBAC9C,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE;gBACpD,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE;gBAClD,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE;aACrD,CAAC;YAEF,MAAM,WAAW,GAAG;gBAClB,sBAAsB,EAAE,MAAM,CAAC,WAAW,EAAE,sBAAsB,IAAI,WAAW;gBACjF,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,IAAI,QAAQ;gBAC5D,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,kBAAkB,IAAI,UAAU;gBACxE,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,IAAI,WAAW;aAC9D,CAAC;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;oFAE4E,EAC5E;gBACE,EAAE;gBACF,MAAM,CAAC,MAAM;gBACb,MAAM,CAAC,MAAM;gBACb,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,QAAQ,IAAI,GAAG;gBACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aAC5B,CACF,CAAC;YAEF,OAAO;gBACL,cAAc,EAAE,EAAE;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,GAAG;gBAChC,QAAQ;gBACR,OAAO;gBACP,WAAW;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM;YAC7C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAC7B;;oCAE4B,EAC5B,CAAC,cAAc,CAAC,CACjB,CAAC;YACF,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAiB;gBAC3B,GAAG,OAAO;gBACV,GAAG,MAAM;gBACT,cAAc;gBACd,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE;gBACrD,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE;gBAClD,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE;aAC/D,CAAC;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;;oCAG4B,EAC5B;gBACE,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,QAAQ;gBACf,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;gBAClC,cAAc;aACf,CACF,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,qBAAqB,CAAC,OAAO;YACjC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CACzB;;;gCAGwB,EACxB,CAAC,OAAO,CAAC,CACV,CAAC;YACF,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,sEAAsE;QAEtE,KAAK,CAAC,OAAO,CAAC,MAAM;YAClB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CACzB;;4BAEoB,EACpB,CAAC,MAAM,CAAC,CACT,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YAEtB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,MAAM;YACrB,MAAM,KAAK,GAAG,cAAc,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAErC,MAAM,SAAS,GAAG;gBAChB,qBAAqB,EAAE,MAAM,CAAC,SAAS,EAAE,qBAAqB,IAAI,EAAE;gBACpE,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,IAAI,WAAW;gBAC/D,GAAG,MAAM,CAAC,SAAS;aACpB,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE;gBACpC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClC,kBAAkB,EAAE,MAAM,CAAC,OAAO,EAAE,kBAAkB,IAAI,EAAE;gBAC5D,kBAAkB,EAAE,MAAM,CAAC,OAAO,EAAE,kBAAkB,IAAI,EAAE;aAC7D,CAAC;YAEF,MAAM,aAAa,GAAG;gBACpB,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC9B,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE;oBACL,YAAY,EAAE,EAAE;oBAChB,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,EAAE;oBACnB,iBAAiB,EAAE,EAAE;iBACtB;gBACD,SAAS,EAAE;oBACT,WAAW,EAAE,EAAE;oBACf,gBAAgB,EAAE,EAAE;oBACpB,WAAW,EAAE,EAAE;oBACf,QAAQ,EAAE,EAAE;iBACb;gBACD,YAAY,EAAE;oBACZ,SAAS,EAAE,EAAE;oBACb,WAAW,EAAE,EAAE;oBACf,eAAe,EAAE,EAAE;oBACnB,eAAe,EAAE,EAAE;iBACpB;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,EAAE;oBACb,UAAU,EAAE,EAAE;oBACd,aAAa,EAAE,EAAE;iBAClB;aACF,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,QAAQ,EAAE,GAAG;gBACb,mBAAmB,EAAE,CAAC;gBACtB,cAAc,EAAE,CAAC;gBACjB,kBAAkB,EAAE,CAAC;gBACrB,kBAAkB,EAAE,CAAC;gBACrB,oBAAoB,EAAE,CAAC;aACxB,CAAC;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;uFAE+E,EAC/E;gBACE,EAAE;gBACF,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,WAAW;gBAClB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBACzB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;gBAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aACxB,CACF,CAAC;YAEF,OAAO;gBACL,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,OAAO,EAAE,EAAE;gBACX,SAAS;gBACT,aAAa;gBACb,OAAO;gBACP,OAAO;aACR,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;YAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAS;gBACnB,GAAG,QAAQ;gBACX,GAAG,MAAM;gBACT,MAAM;gBACN,SAAS,EAAE,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE;gBACzD,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE;gBACnD,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE;aACpD,CAAC;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;;4BAGoB,EACpB;gBACE,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,WAAW;gBAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC9B,MAAM;aACP,CACF,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM;YAChC,MAAM,KAAK,GAAG,cAAc,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,qBAAqB;YACrB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CACzB,qDAAqD,EACrD,CAAC,MAAM,CAAC,CACT,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAElD,sBAAsB;YACtB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAC7B,+EAA+E,EAC/E,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CACzB,CAAC;YACF,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAE5E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG;gBAClB,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,EAAE,CAAC;aACpB,CAAC;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;wEAEgE,EAChE;gBACE,MAAM;gBACN,MAAM,CAAC,OAAO;gBACd,MAAM,CAAC,IAAI;gBACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBAC7C,MAAM,CAAC,cAAc,IAAI,SAAS;gBAClC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;aAC5B,CACF,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,GAAG;gBACb,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;gBAC/C,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS;gBAClD,WAAW;gBACX,MAAM,EAAE,QAAQ;aACjB,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO;YACpC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAC7B,+EAA+E,EAC/E,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAErE,MAAM,EAAE,CAAC,KAAK,CACZ,sEAAsE,EACtE,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM;YAC5C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAC7B;;8CAEsC,EACtC,CAAC,MAAM,EAAE,OAAO,CAAC,CAClB,CAAC;YACF,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE7D,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACrC,MAAM,MAAM,GAAe;gBACzB,GAAG,OAAO;gBACV,GAAG,MAAM;gBACT,OAAO;gBACP,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE;aAC/D,CAAC;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;;8CAGsC,EACtC;gBACE,MAAM,CAAC,IAAI;gBACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACvC,MAAM,CAAC,cAAc;gBACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;gBAClC,MAAM,CAAC,MAAM;gBACb,MAAM;gBACN,OAAO;aACR,CACF,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,OAAO;YAC5B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAC7B;;;;yBAIiB,EACjB,CAAC,OAAO,CAAC,CACV,CAAC;YAEF,MAAM,KAAK,GAAW,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sEAAsE;QAEtE,KAAK,CAAC,gBAAgB,CAAC,MAAM;YAC3B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CACzB,4DAA4D,EAC5D,CAAC,MAAM,CAAC,CACT,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,cAAc,CAAC,GAAG,CAAC,cAAc,CAA6B,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAkB;gBAC5B,GAAG,QAAQ;gBACX,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;gBAC7C,SAAS,EAAE,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE;gBACzD,YAAY,EAAE,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE;aACnE,CAAC;YAEF,MAAM,EAAE,CAAC,KAAK,CACZ;;4BAEoB,EACpB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CACjC,CAAC;YAEF,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,292 @@
1
+ export type RelationshipType = 'collaborator' | 'mentor' | 'mentee' | 'specialist' | 'reviewer' | 'author' | 'rival' | 'observer' | 'delegate' | 'supervisor' | 'peer';
2
+ export type RelationshipTrajectory = 'strengthening' | 'stable' | 'weakening' | 'ended';
3
+ export type CommunicationFrequency = 'realtime' | 'daily' | 'weekly' | 'on_demand';
4
+ export type FeedbackStyle = 'direct' | 'gentle' | 'detailed' | 'brief';
5
+ export type CollaborationStyle = 'parallel' | 'sequential' | 'review_based';
6
+ export type PrivacyLevel = 'full_access' | 'selective' | 'minimal';
7
+ export interface RelationshipDynamics {
8
+ initiatedBy: string;
9
+ initiatedAt: string;
10
+ lastInteraction: string;
11
+ interactionFrequency: number;
12
+ trajectory: RelationshipTrajectory;
13
+ }
14
+ export interface RelationshipContext {
15
+ sharedGoals: string[];
16
+ sharedProjects: string[];
17
+ commonDomains: string[];
18
+ historySummary: string;
19
+ }
20
+ export interface RelationshipPreferences {
21
+ communicationFrequency: CommunicationFrequency;
22
+ feedbackStyle: FeedbackStyle;
23
+ collaborationStyle: CollaborationStyle;
24
+ privacyLevel: PrivacyLevel;
25
+ }
26
+ export interface Relationship {
27
+ relationshipId: string;
28
+ agentA: string;
29
+ agentB: string;
30
+ type: RelationshipType;
31
+ strength: number;
32
+ dynamics: RelationshipDynamics;
33
+ context: RelationshipContext;
34
+ preferences: RelationshipPreferences;
35
+ }
36
+ export type TeamRole = 'lead' | 'architect' | 'implementer' | 'reviewer' | 'tester' | 'documenter' | 'coordinator' | 'mentor' | 'specialist' | 'generalist';
37
+ export type MemberAuthority = 'full' | 'limited' | 'advisory';
38
+ export type MemberStatus = 'active' | 'on_leave' | 'inactive';
39
+ export interface TeamMemberPerformance {
40
+ tasksCompleted: number;
41
+ qualityScore: number;
42
+ reliabilityScore: number;
43
+ teamContribution: number;
44
+ }
45
+ export interface TeamMember {
46
+ agentId: string;
47
+ role: TeamRole;
48
+ joinedAt: string;
49
+ responsibilities: string[];
50
+ authorityLevel: MemberAuthority;
51
+ performance: TeamMemberPerformance;
52
+ status: MemberStatus;
53
+ }
54
+ export interface TeamHierarchy {
55
+ root: string;
56
+ reports: Record<string, string[]>;
57
+ }
58
+ export interface Channel {
59
+ channelId: string;
60
+ name: string;
61
+ type: string;
62
+ }
63
+ export type DecisionProcess = 'consensus' | 'majority' | 'lead_decides' | 'advisory';
64
+ export interface TeamGoal {
65
+ goalId: string;
66
+ description: string;
67
+ status: 'active' | 'completed' | 'abandoned';
68
+ }
69
+ export interface TeamStructure {
70
+ hierarchy?: TeamHierarchy;
71
+ communicationChannels: Channel[];
72
+ decisionMaking: DecisionProcess;
73
+ }
74
+ export interface TeamCulture {
75
+ values: string[];
76
+ norms: string[];
77
+ communicationStyle: string;
78
+ conflictResolution: string;
79
+ }
80
+ export interface TeamMetrics {
81
+ formedAt: string;
82
+ totalTasksCompleted: number;
83
+ averageQuality: number;
84
+ collaborationScore: number;
85
+ memberSatisfaction: number;
86
+ knowledgeSharingRate: number;
87
+ }
88
+ export interface Team {
89
+ teamId: string;
90
+ name: string;
91
+ description: string;
92
+ members: TeamMember[];
93
+ structure: TeamStructure;
94
+ sharedContext: SharedContext;
95
+ culture: TeamCulture;
96
+ metrics: TeamMetrics;
97
+ }
98
+ export type TaskStatus = 'todo' | 'in_progress' | 'review' | 'done' | 'blocked';
99
+ export type TaskPriority = 'low' | 'medium' | 'high' | 'critical';
100
+ export interface TaskItem {
101
+ taskId: string;
102
+ title: string;
103
+ description: string;
104
+ assignedTo: string;
105
+ status: TaskStatus;
106
+ priority: TaskPriority;
107
+ dependencies: string[];
108
+ estimatedHours: number;
109
+ actualHours?: number;
110
+ }
111
+ export interface Decision {
112
+ decisionId: string;
113
+ timestamp: string;
114
+ proposedBy: string;
115
+ decidedBy: string;
116
+ description: string;
117
+ rationale: string;
118
+ alternativesConsidered: string[];
119
+ outcome?: string;
120
+ impact: string;
121
+ }
122
+ export interface KnowledgeItem {
123
+ factId: string;
124
+ content: string;
125
+ source: string;
126
+ confidence: number;
127
+ }
128
+ export interface Goal {
129
+ goalId: string;
130
+ description: string;
131
+ deadline?: string;
132
+ }
133
+ export interface Discussion {
134
+ discussionId: string;
135
+ topic: string;
136
+ participants: string[];
137
+ status: 'open' | 'resolved' | 'parked';
138
+ }
139
+ export interface Escalation {
140
+ escalationId: string;
141
+ from: string;
142
+ to: string;
143
+ reason: string;
144
+ status: 'pending' | 'resolved';
145
+ }
146
+ export interface MeetingMinutes {
147
+ meetingId: string;
148
+ date: string;
149
+ summary: string;
150
+ actionItems: string[];
151
+ }
152
+ export interface Milestone {
153
+ milestoneId: string;
154
+ description: string;
155
+ achievedAt: string;
156
+ }
157
+ export interface RetrospectiveItem {
158
+ retroId: string;
159
+ date: string;
160
+ wentWell: string[];
161
+ improve: string[];
162
+ actions: string[];
163
+ }
164
+ export interface SharedContextState {
165
+ currentTask?: string;
166
+ currentFocus: string;
167
+ blockers: string[];
168
+ recentDecisions: Decision[];
169
+ activeDiscussions: Discussion[];
170
+ }
171
+ export interface SharedContextKnowledge {
172
+ sharedFacts: KnowledgeItem[];
173
+ sharedProcedures: string[];
174
+ sharedGoals: Goal[];
175
+ glossary: Record<string, string>;
176
+ }
177
+ export interface SharedContextCoordination {
178
+ taskBoard: TaskItem[];
179
+ timeBudgets: Record<string, number>;
180
+ meetingSchedule: Meeting[];
181
+ escalationPaths: Escalation[];
182
+ }
183
+ export interface SharedContextHistory {
184
+ meetings: MeetingMinutes[];
185
+ decisions: Decision[];
186
+ milestones: Milestone[];
187
+ retrospective: RetrospectiveItem[];
188
+ }
189
+ export interface SharedContext {
190
+ contextId: string;
191
+ teamId: string;
192
+ state: SharedContextState;
193
+ knowledge: SharedContextKnowledge;
194
+ coordination: SharedContextCoordination;
195
+ history: SharedContextHistory;
196
+ }
197
+ export type MeetingFrequency = 'daily' | 'weekly' | 'biweekly' | 'monthly';
198
+ export type AgendaItemType = 'discussion' | 'decision' | 'update' | 'brainstorm';
199
+ export interface AgendaItem {
200
+ order: number;
201
+ topic: string;
202
+ presenter: string;
203
+ durationMinutes: number;
204
+ type: AgendaItemType;
205
+ }
206
+ export interface MeetingParticipants {
207
+ required: string[];
208
+ optional: string[];
209
+ facilitator: string;
210
+ noteTaker: string;
211
+ }
212
+ export interface ActionItem {
213
+ actionId: string;
214
+ description: string;
215
+ assignedTo: string;
216
+ deadline: string;
217
+ }
218
+ export interface MeetingOutput {
219
+ minutes: string;
220
+ actionItems: ActionItem[];
221
+ decisions: Decision[];
222
+ parkingLot: string[];
223
+ }
224
+ export interface Meeting {
225
+ meetingId: string;
226
+ teamId: string;
227
+ schedule: {
228
+ recurring: boolean;
229
+ frequency?: MeetingFrequency;
230
+ dayOfWeek?: number;
231
+ time?: string;
232
+ durationMinutes: number;
233
+ };
234
+ agenda: AgendaItem[];
235
+ participants: MeetingParticipants;
236
+ output: MeetingOutput;
237
+ }
238
+ export type MessageType = 'request' | 'response' | 'update' | 'question' | 'suggestion' | 'feedback' | 'handoff' | 'escalation' | 'celebration' | 'retrospective';
239
+ export type MessageChannel = 'direct' | 'team' | 'broadcast';
240
+ export type MessagePriority = 'low' | 'normal' | 'high' | 'urgent';
241
+ export interface Attachment {
242
+ attachmentId: string;
243
+ name: string;
244
+ url: string;
245
+ mimeType: string;
246
+ }
247
+ export interface StructuredMessage {
248
+ messageId: string;
249
+ from: string;
250
+ to: string | string[];
251
+ channel: MessageChannel;
252
+ threadId?: string;
253
+ type: MessageType;
254
+ content: {
255
+ subject: string;
256
+ body: string;
257
+ attachments?: Attachment[];
258
+ references?: string[];
259
+ };
260
+ metadata: {
261
+ priority: MessagePriority;
262
+ requiresResponse: boolean;
263
+ responseDeadline?: string;
264
+ acknowledgedBy: string[];
265
+ };
266
+ }
267
+ export interface CreateRelationshipRequest {
268
+ agentA: string;
269
+ agentB: string;
270
+ type: RelationshipType;
271
+ strength?: number;
272
+ context?: Partial<RelationshipContext>;
273
+ preferences?: Partial<RelationshipPreferences>;
274
+ }
275
+ export interface CreateTeamRequest {
276
+ name: string;
277
+ description: string;
278
+ structure?: Partial<TeamStructure>;
279
+ culture?: Partial<TeamCulture>;
280
+ }
281
+ export interface AddTeamMemberRequest {
282
+ agentId: string;
283
+ role: TeamRole;
284
+ responsibilities?: string[];
285
+ authorityLevel?: MemberAuthority;
286
+ }
287
+ export interface UpdateSharedContextRequest {
288
+ state?: Partial<SharedContextState>;
289
+ knowledge?: Partial<SharedContextKnowledge>;
290
+ coordination?: Partial<SharedContextCoordination>;
291
+ }
292
+ //# sourceMappingURL=types.d.ts.map