@indexnetwork/protocol 22.0.0-rc.499.1 → 64.0.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 (561) hide show
  1. package/CHANGELOG.md +1841 -0
  2. package/IMPLEMENTATION.md +140 -181
  3. package/README.md +16 -20
  4. package/STABILITY.md +16 -11
  5. package/dist/{intents/intent.module.d.ts → capabilities/intents.d.ts} +182 -192
  6. package/dist/capabilities/intents.js +88 -0
  7. package/dist/capabilities/negotiations.d.ts +17 -0
  8. package/dist/capabilities/negotiations.js +16 -0
  9. package/dist/{networks/network.module.d.ts → capabilities/networks.d.ts} +33 -169
  10. package/dist/{networks/network.module.js → capabilities/networks.js} +6 -17
  11. package/dist/index.d.ts +57 -134
  12. package/dist/index.js +41 -105
  13. package/dist/internal/agents/agent.repository.port.d.ts +59 -0
  14. package/dist/internal/agents/agent.repository.port.js +7 -0
  15. package/dist/internal/agents/agent.types.d.ts +35 -0
  16. package/dist/{agents → internal/agents}/agent.types.js +1 -6
  17. package/dist/{intents → internal/intents}/graph/intent.graph.d.ts +142 -151
  18. package/dist/{intents → internal/intents}/graph/intent.graph.execute.d.ts +5 -1
  19. package/dist/{intents → internal/intents}/graph/intent.graph.execute.js +165 -46
  20. package/dist/internal/intents/graph/intent.graph.infer.d.ts +78 -0
  21. package/dist/internal/intents/graph/intent.graph.infer.js +122 -0
  22. package/dist/internal/intents/graph/intent.graph.js +108 -0
  23. package/dist/{intents → internal/intents}/graph/intent.graph.reconcile.d.ts +18 -9
  24. package/dist/internal/intents/graph/intent.graph.reconcile.js +173 -0
  25. package/dist/internal/intents/graph/intent.graph.shared.d.ts +55 -0
  26. package/dist/{intents → internal/intents}/graph/intent.graph.shared.js +25 -70
  27. package/dist/{intents → internal/intents}/graph/intent.graph.state.d.ts +96 -32
  28. package/dist/{intents → internal/intents}/graph/intent.graph.state.js +42 -31
  29. package/dist/internal/intents/intent.admission.d.ts +16 -0
  30. package/dist/internal/intents/intent.admission.js +30 -0
  31. package/dist/{intents → internal/intents}/intent.inferrer.d.ts +1 -40
  32. package/dist/{intents → internal/intents}/intent.inferrer.js +13 -49
  33. package/dist/internal/intents/intent.preparer.d.ts +52 -0
  34. package/dist/internal/intents/intent.preparer.js +87 -0
  35. package/dist/{intents → internal/intents}/intent.verifier.d.ts +3 -36
  36. package/dist/{intents → internal/intents}/intent.verifier.js +0 -17
  37. package/dist/{networks → internal/networks}/indexer.graph.d.ts +15 -200
  38. package/dist/{networks → internal/networks}/indexer.graph.js +19 -128
  39. package/dist/{networks → internal/networks}/indexer.state.d.ts +8 -63
  40. package/dist/internal/networks/indexer.state.js +70 -0
  41. package/dist/{networks → internal/networks}/membership.graph.d.ts +6 -6
  42. package/dist/{networks → internal/networks}/membership.graph.js +3 -3
  43. package/dist/{networks → internal/networks}/membership.state.d.ts +2 -2
  44. package/dist/{networks → internal/networks}/membership.state.js +2 -2
  45. package/dist/{networks → internal/networks}/network.graph.d.ts +9 -22
  46. package/dist/{networks → internal/networks}/network.graph.js +13 -27
  47. package/dist/{networks → internal/networks}/network.recommender.d.ts +2 -2
  48. package/dist/{networks → internal/networks}/network.recommender.js +2 -2
  49. package/dist/{networks → internal/networks}/network.state.d.ts +4 -7
  50. package/dist/{networks → internal/networks}/network.state.js +4 -4
  51. package/dist/internal/opportunities/negotiation-context.loader.d.ts +26 -0
  52. package/dist/internal/opportunities/negotiation-context.loader.js +36 -0
  53. package/dist/{opportunities → internal/opportunities}/opportunity.actor.d.ts +1 -1
  54. package/dist/{opportunities → internal/opportunities}/opportunity.actor.js +7 -1
  55. package/dist/internal/opportunities/opportunity.counterparties.d.ts +17 -0
  56. package/dist/internal/opportunities/opportunity.counterparties.js +19 -0
  57. package/dist/internal/opportunities/opportunity.events.d.ts +38 -0
  58. package/dist/internal/opportunities/opportunity.events.js +94 -0
  59. package/dist/{opportunities → internal/opportunities}/opportunity.feed-selection.d.ts +3 -9
  60. package/dist/internal/opportunities/opportunity.feed-selection.js +40 -0
  61. package/dist/internal/opportunities/opportunity.graph.modes.d.ts +39 -0
  62. package/dist/internal/opportunities/opportunity.graph.modes.js +138 -0
  63. package/dist/{opportunities → internal/opportunities}/opportunity.labels.d.ts +2 -3
  64. package/dist/internal/opportunities/opportunity.labels.js +9 -0
  65. package/dist/{opportunities → internal/opportunities}/opportunity.presentation.d.ts +17 -86
  66. package/dist/{opportunities → internal/opportunities}/opportunity.presentation.js +54 -447
  67. package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.d.ts +2 -2
  68. package/dist/internal/opportunities/opportunity.utils.d.ts +105 -0
  69. package/dist/internal/opportunities/opportunity.utils.js +165 -0
  70. package/dist/{opportunities → internal/opportunities}/radar/radar.graph.d.ts +17 -17
  71. package/dist/{opportunities → internal/opportunities}/radar/radar.graph.js +41 -161
  72. package/dist/{opportunities → internal/opportunities}/radar/radar.state.d.ts +4 -11
  73. package/dist/{shared → internal/shared}/agent/model-signal.d.ts +1 -1
  74. package/dist/{shared → internal/shared}/agent/model-signal.js +1 -1
  75. package/dist/{shared → internal/shared}/agent/model.config.d.ts +28 -86
  76. package/dist/{shared → internal/shared}/agent/model.config.js +58 -69
  77. package/dist/internal/shared/agent/model.resolver.d.ts +33 -0
  78. package/dist/{shared → internal/shared}/agent/model.resolver.js +18 -33
  79. package/dist/internal/shared/agent/scope.d.ts +20 -0
  80. package/dist/internal/shared/agent/scope.js +24 -0
  81. package/dist/internal/shared/assignment/network-assignment.policy.d.ts +23 -0
  82. package/dist/internal/shared/assignment/network-assignment.policy.js +28 -0
  83. package/dist/{shared → internal/shared}/observability/log.d.ts +3 -6
  84. package/dist/{shared → internal/shared}/observability/log.js +9 -18
  85. package/dist/{shared → internal/shared}/observability/protocol.logger.d.ts +1 -1
  86. package/dist/{shared → internal/shared}/observability/protocol.logger.js +1 -1
  87. package/dist/internal/shared/observability/request-context.d.ts +29 -0
  88. package/dist/internal/shared/observability/request-context.js +17 -0
  89. package/dist/{shared → internal/shared}/utils/social-label.d.ts +2 -2
  90. package/dist/{shared → internal/shared}/utils/social-label.js +1 -1
  91. package/dist/platform/database/capabilities.d.ts +59 -0
  92. package/dist/{shared/interfaces/database.entities.d.ts → platform/database/entities.d.ts} +81 -121
  93. package/dist/{shared/interfaces/database.identity-queries.d.ts → platform/database/identity-queries.d.ts} +55 -20
  94. package/dist/platform/database/member-queries.d.ts +55 -0
  95. package/dist/platform/database/member-queries.js +4 -0
  96. package/dist/platform/database/negotiation.d.ts +38 -0
  97. package/dist/{shared/interfaces/database.network-queries.d.ts → platform/database/network-queries.d.ts} +66 -67
  98. package/dist/platform/database/network-queries.js +4 -0
  99. package/dist/{shared/interfaces/database.opportunity-queries.d.ts → platform/database/opportunity-queries.d.ts} +25 -109
  100. package/dist/{shared/interfaces/database.port.d.ts → platform/database/port.d.ts} +52 -117
  101. package/dist/{shared/interfaces/database.port.js → platform/database/port.js} +3 -5
  102. package/dist/platform/database.d.ts +23 -0
  103. package/dist/{shared/interfaces/database.interface.js → platform/database.js} +1 -1
  104. package/dist/{shared/interfaces/cache.interface.d.ts → platform/discovery/cache.d.ts} +2 -4
  105. package/dist/{shared/interfaces/cache.interface.js → platform/discovery/cache.js} +1 -1
  106. package/dist/platform/discovery/embedder.d.ts +31 -0
  107. package/dist/platform/runtime/errors.d.ts +6 -0
  108. package/dist/platform/runtime/errors.js +9 -0
  109. package/dist/platform/runtime/follow-up.d.ts +36 -0
  110. package/dist/platform/runtime/follow-up.js +4 -0
  111. package/dist/platform/runtime/observability.d.ts +34 -0
  112. package/dist/protocol/core.d.ts +11 -0
  113. package/dist/protocol/discovery.rules.d.ts +21 -0
  114. package/dist/protocol/discovery.rules.js +29 -0
  115. package/dist/protocol/negotiation.constants.d.ts +3 -0
  116. package/dist/protocol/negotiation.constants.js +3 -0
  117. package/dist/protocol/negotiation.rules.d.ts +73 -0
  118. package/dist/protocol/negotiation.rules.js +68 -0
  119. package/dist/protocol/protocol.prompt.d.ts +13 -0
  120. package/dist/protocol/protocol.prompt.js +190 -0
  121. package/dist/{shared → protocol}/schemas/discovery-question.schema.d.ts +13 -13
  122. package/dist/{shared → protocol}/schemas/discovery-question.schema.js +2 -2
  123. package/dist/{shared → protocol}/schemas/identity.schema.d.ts +4 -4
  124. package/dist/{shared → protocol}/schemas/identity.schema.js +4 -4
  125. package/dist/{shared → protocol}/schemas/network-assignment.schema.d.ts +11 -20
  126. package/dist/{shared → protocol}/schemas/network-assignment.schema.js +2 -9
  127. package/dist/protocol/schemas/underspecification.schema.d.ts +9 -0
  128. package/dist/protocol/schemas/underspecification.schema.js +12 -0
  129. package/package.json +7 -15
  130. package/dist/agents/agent.dispatcher.port.d.ts +0 -25
  131. package/dist/agents/agent.module.d.ts +0 -19
  132. package/dist/agents/agent.module.js +0 -11
  133. package/dist/agents/agent.repository.port.d.ts +0 -118
  134. package/dist/agents/agent.repository.port.js +0 -10
  135. package/dist/agents/agent.tools.d.ts +0 -16
  136. package/dist/agents/agent.tools.js +0 -351
  137. package/dist/agents/agent.tools.port.d.ts +0 -22
  138. package/dist/agents/agent.tools.port.js +0 -18
  139. package/dist/agents/agent.types.d.ts +0 -76
  140. package/dist/chat/chat-streaming.types.d.ts +0 -618
  141. package/dist/chat/chat-streaming.types.js +0 -297
  142. package/dist/chat/chat.agent.d.ts +0 -292
  143. package/dist/chat/chat.agent.js +0 -1010
  144. package/dist/chat/chat.graph.d.ts +0 -424
  145. package/dist/chat/chat.graph.js +0 -257
  146. package/dist/chat/chat.interrupt.classifier.d.ts +0 -25
  147. package/dist/chat/chat.interrupt.classifier.js +0 -64
  148. package/dist/chat/chat.persona.d.ts +0 -39
  149. package/dist/chat/chat.prompt.d.ts +0 -4
  150. package/dist/chat/chat.prompt.js +0 -12
  151. package/dist/chat/chat.prompt.modules.d.ts +0 -30
  152. package/dist/chat/chat.prompt.modules.js +0 -40
  153. package/dist/chat/chat.question-dedup.d.ts +0 -14
  154. package/dist/chat/chat.question-dedup.js +0 -17
  155. package/dist/chat/chat.state.d.ts +0 -135
  156. package/dist/chat/chat.state.js +0 -120
  157. package/dist/chat/chat.streamer.d.ts +0 -64
  158. package/dist/chat/chat.streamer.js +0 -217
  159. package/dist/chat/chat.suggester.d.ts +0 -23
  160. package/dist/chat/chat.suggester.js +0 -95
  161. package/dist/chat/chat.summarizer.d.ts +0 -20
  162. package/dist/chat/chat.summarizer.js +0 -97
  163. package/dist/chat/chat.title.generator.d.ts +0 -19
  164. package/dist/chat/chat.title.generator.js +0 -66
  165. package/dist/chat/chat.tools.d.ts +0 -5
  166. package/dist/chat/chat.tools.js +0 -62
  167. package/dist/chat/chat.utils.d.ts +0 -41
  168. package/dist/chat/chat.utils.js +0 -88
  169. package/dist/chat/negotiator.persona.d.ts +0 -74
  170. package/dist/chat/negotiator.persona.js +0 -154
  171. package/dist/chat/negotiator.prompt.d.ts +0 -45
  172. package/dist/chat/negotiator.prompt.js +0 -160
  173. package/dist/chat/negotiator.tools.d.ts +0 -42
  174. package/dist/chat/negotiator.tools.js +0 -134
  175. package/dist/chat/onboarding.persona.d.ts +0 -28
  176. package/dist/chat/onboarding.persona.js +0 -86
  177. package/dist/chat/onboarding.prompt.d.ts +0 -6
  178. package/dist/chat/onboarding.prompt.js +0 -63
  179. package/dist/chat/signal.persona.d.ts +0 -47
  180. package/dist/chat/signal.persona.js +0 -319
  181. package/dist/chat/signal.prompt.d.ts +0 -39
  182. package/dist/chat/signal.prompt.js +0 -136
  183. package/dist/contacts/contact.module.d.ts +0 -8
  184. package/dist/contacts/contact.module.js +0 -6
  185. package/dist/contacts/contact.repository.port.d.ts +0 -21
  186. package/dist/contacts/contact.repository.port.js +0 -12
  187. package/dist/contacts/contact.tools.d.ts +0 -17
  188. package/dist/contacts/contact.tools.js +0 -108
  189. package/dist/contacts/contact.tools.port.d.ts +0 -20
  190. package/dist/contacts/contact.tools.port.js +0 -16
  191. package/dist/contacts/contact.types.d.ts +0 -24
  192. package/dist/contacts/contact.types.js +0 -8
  193. package/dist/contexts/context.generator.d.ts +0 -95
  194. package/dist/contexts/context.generator.js +0 -127
  195. package/dist/contexts/context.module.d.ts +0 -13
  196. package/dist/contexts/context.module.js +0 -12
  197. package/dist/contexts/context.tools.port.d.ts +0 -9
  198. package/dist/discovery/hyde.documents.d.ts +0 -9
  199. package/dist/discovery/hyde.documents.js +0 -49
  200. package/dist/discovery/hyde.env.d.ts +0 -8
  201. package/dist/discovery/hyde.env.js +0 -9
  202. package/dist/discovery/hyde.frame.d.ts +0 -150
  203. package/dist/discovery/hyde.frame.js +0 -107
  204. package/dist/discovery/hyde.generator.d.ts +0 -38
  205. package/dist/discovery/hyde.generator.js +0 -103
  206. package/dist/discovery/hyde.graph.d.ts +0 -209
  207. package/dist/discovery/hyde.graph.js +0 -482
  208. package/dist/discovery/hyde.state.d.ts +0 -70
  209. package/dist/discovery/hyde.state.js +0 -85
  210. package/dist/discovery/hyde.strategies.d.ts +0 -17
  211. package/dist/discovery/hyde.strategies.js +0 -34
  212. package/dist/discovery/hyde.validator.d.ts +0 -78
  213. package/dist/discovery/hyde.validator.js +0 -48
  214. package/dist/discovery/index.d.ts +0 -26
  215. package/dist/discovery/index.js +0 -19
  216. package/dist/discovery/lens.inferrer.d.ts +0 -214
  217. package/dist/discovery/lens.inferrer.js +0 -152
  218. package/dist/enrichment/enrichment.generator.d.ts +0 -68
  219. package/dist/enrichment/enrichment.generator.js +0 -95
  220. package/dist/enrichment/enrichment.graph.d.ts +0 -544
  221. package/dist/enrichment/enrichment.graph.js +0 -695
  222. package/dist/enrichment/enrichment.state.d.ts +0 -141
  223. package/dist/enrichment/enrichment.state.js +0 -115
  224. package/dist/enrichment/enrichment.tools.context-read.d.ts +0 -10
  225. package/dist/enrichment/enrichment.tools.context-read.js +0 -353
  226. package/dist/enrichment/enrichment.tools.context-write.d.ts +0 -9
  227. package/dist/enrichment/enrichment.tools.context-write.js +0 -417
  228. package/dist/enrichment/enrichment.tools.d.ts +0 -13
  229. package/dist/enrichment/enrichment.tools.helpers.d.ts +0 -139
  230. package/dist/enrichment/enrichment.tools.helpers.js +0 -234
  231. package/dist/enrichment/enrichment.tools.js +0 -153
  232. package/dist/intents/graph/intent.graph.infer.d.ts +0 -44
  233. package/dist/intents/graph/intent.graph.infer.js +0 -97
  234. package/dist/intents/graph/intent.graph.js +0 -134
  235. package/dist/intents/graph/intent.graph.reconcile.js +0 -274
  236. package/dist/intents/graph/intent.graph.shared.d.ts +0 -68
  237. package/dist/intents/intake/intake.orchestrator.d.ts +0 -203
  238. package/dist/intents/intake/intake.orchestrator.js +0 -255
  239. package/dist/intents/intake/intake.pack.generator.d.ts +0 -57
  240. package/dist/intents/intake/intake.pack.generator.js +0 -90
  241. package/dist/intents/intent.clarifier.d.ts +0 -51
  242. package/dist/intents/intent.clarifier.js +0 -201
  243. package/dist/intents/intent.indexer.d.ts +0 -82
  244. package/dist/intents/intent.indexer.js +0 -170
  245. package/dist/intents/intent.module.js +0 -103
  246. package/dist/intents/intent.proposal.d.ts +0 -37
  247. package/dist/intents/intent.proposal.js +0 -14
  248. package/dist/intents/intent.reconciler.d.ts +0 -105
  249. package/dist/intents/intent.reconciler.js +0 -186
  250. package/dist/intents/intent.tools.d.ts +0 -27
  251. package/dist/intents/intent.tools.js +0 -808
  252. package/dist/maintenance/maintenance.graph.d.ts +0 -239
  253. package/dist/maintenance/maintenance.graph.js +0 -199
  254. package/dist/maintenance/maintenance.state.d.ts +0 -35
  255. package/dist/maintenance/maintenance.state.js +0 -55
  256. package/dist/mcp/elicitation.builder.d.ts +0 -53
  257. package/dist/mcp/elicitation.builder.js +0 -74
  258. package/dist/mcp/elicitation.dispatcher.d.ts +0 -36
  259. package/dist/mcp/elicitation.dispatcher.js +0 -86
  260. package/dist/mcp/mcp.authorization-policy.d.ts +0 -252
  261. package/dist/mcp/mcp.authorization-policy.js +0 -535
  262. package/dist/mcp/mcp.server.d.ts +0 -90
  263. package/dist/mcp/mcp.server.js +0 -631
  264. package/dist/negotiations/insight.generator.d.ts +0 -31
  265. package/dist/negotiations/insight.generator.js +0 -105
  266. package/dist/negotiations/negotiation.agent.d.ts +0 -130
  267. package/dist/negotiations/negotiation.agent.js +0 -396
  268. package/dist/negotiations/negotiation.answer-consumption.d.ts +0 -223
  269. package/dist/negotiations/negotiation.answer-consumption.js +0 -275
  270. package/dist/negotiations/negotiation.attribution.d.ts +0 -91
  271. package/dist/negotiations/negotiation.attribution.js +0 -109
  272. package/dist/negotiations/negotiation.candidates.d.ts +0 -83
  273. package/dist/negotiations/negotiation.candidates.js +0 -162
  274. package/dist/negotiations/negotiation.client-dm.d.ts +0 -50
  275. package/dist/negotiations/negotiation.client-dm.js +0 -66
  276. package/dist/negotiations/negotiation.consultation-policy.d.ts +0 -95
  277. package/dist/negotiations/negotiation.consultation-policy.js +0 -159
  278. package/dist/negotiations/negotiation.deadlock.contracts.d.ts +0 -10
  279. package/dist/negotiations/negotiation.deadlock.d.ts +0 -87
  280. package/dist/negotiations/negotiation.deadlock.js +0 -150
  281. package/dist/negotiations/negotiation.detail-reader.d.ts +0 -94
  282. package/dist/negotiations/negotiation.detail-reader.js +0 -91
  283. package/dist/negotiations/negotiation.expected-speaker.d.ts +0 -33
  284. package/dist/negotiations/negotiation.expected-speaker.js +0 -59
  285. package/dist/negotiations/negotiation.graph.d.ts +0 -694
  286. package/dist/negotiations/negotiation.graph.finalize.d.ts +0 -5
  287. package/dist/negotiations/negotiation.graph.finalize.js +0 -403
  288. package/dist/negotiations/negotiation.graph.init.d.ts +0 -54
  289. package/dist/negotiations/negotiation.graph.init.js +0 -256
  290. package/dist/negotiations/negotiation.graph.js +0 -94
  291. package/dist/negotiations/negotiation.graph.screen.d.ts +0 -23
  292. package/dist/negotiations/negotiation.graph.screen.js +0 -108
  293. package/dist/negotiations/negotiation.graph.shared.d.ts +0 -111
  294. package/dist/negotiations/negotiation.graph.shared.js +0 -168
  295. package/dist/negotiations/negotiation.graph.turn.d.ts +0 -134
  296. package/dist/negotiations/negotiation.graph.turn.js +0 -662
  297. package/dist/negotiations/negotiation.hermes-contract.d.ts +0 -31
  298. package/dist/negotiations/negotiation.hermes-contract.js +0 -72
  299. package/dist/negotiations/negotiation.intent-snapshot-provenance.d.ts +0 -21
  300. package/dist/negotiations/negotiation.intent-snapshot-provenance.js +0 -28
  301. package/dist/negotiations/negotiation.lifecycle-narration.d.ts +0 -18
  302. package/dist/negotiations/negotiation.lifecycle-narration.js +0 -87
  303. package/dist/negotiations/negotiation.memory.d.ts +0 -65
  304. package/dist/negotiations/negotiation.memory.js +0 -83
  305. package/dist/negotiations/negotiation.module.d.ts +0 -36
  306. package/dist/negotiations/negotiation.module.js +0 -23
  307. package/dist/negotiations/negotiation.protocol.d.ts +0 -1018
  308. package/dist/negotiations/negotiation.protocol.js +0 -224
  309. package/dist/negotiations/negotiation.question-safety.d.ts +0 -52
  310. package/dist/negotiations/negotiation.question-safety.js +0 -119
  311. package/dist/negotiations/negotiation.reflect.d.ts +0 -194
  312. package/dist/negotiations/negotiation.reflect.js +0 -145
  313. package/dist/negotiations/negotiation.scope.d.ts +0 -41
  314. package/dist/negotiations/negotiation.scope.js +0 -39
  315. package/dist/negotiations/negotiation.screen.contracts.d.ts +0 -88
  316. package/dist/negotiations/negotiation.screen.contracts.js +0 -58
  317. package/dist/negotiations/negotiation.screen.d.ts +0 -78
  318. package/dist/negotiations/negotiation.screen.js +0 -112
  319. package/dist/negotiations/negotiation.stall-gap.d.ts +0 -83
  320. package/dist/negotiations/negotiation.stall-gap.js +0 -152
  321. package/dist/negotiations/negotiation.stance.contracts.d.ts +0 -123
  322. package/dist/negotiations/negotiation.stance.contracts.js +0 -317
  323. package/dist/negotiations/negotiation.state.d.ts +0 -597
  324. package/dist/negotiations/negotiation.state.js +0 -286
  325. package/dist/negotiations/negotiation.summarizer.d.ts +0 -25
  326. package/dist/negotiations/negotiation.summarizer.js +0 -101
  327. package/dist/negotiations/negotiation.task-lock-policy.d.ts +0 -10
  328. package/dist/negotiations/negotiation.task-lock-policy.js +0 -22
  329. package/dist/negotiations/negotiation.tools.d.ts +0 -18
  330. package/dist/negotiations/negotiation.tools.js +0 -842
  331. package/dist/negotiations/negotiation.tools.port.d.ts +0 -17
  332. package/dist/negotiations/negotiation.turn-cap.d.ts +0 -9
  333. package/dist/negotiations/negotiation.turn-cap.js +0 -12
  334. package/dist/networks/indexer.state.js +0 -112
  335. package/dist/networks/network.tools.d.ts +0 -36
  336. package/dist/networks/network.tools.js +0 -594
  337. package/dist/opportunities/delivery-card.cache.d.ts +0 -25
  338. package/dist/opportunities/delivery-card.cache.js +0 -43
  339. package/dist/opportunities/discovery.env.d.ts +0 -20
  340. package/dist/opportunities/discovery.env.js +0 -109
  341. package/dist/opportunities/discriminator/discriminator.adjustments.d.ts +0 -90
  342. package/dist/opportunities/discriminator/discriminator.adjustments.js +0 -141
  343. package/dist/opportunities/discriminator/discriminator.assigner.d.ts +0 -78
  344. package/dist/opportunities/discriminator/discriminator.assigner.js +0 -153
  345. package/dist/opportunities/discriminator/discriminator.env.d.ts +0 -103
  346. package/dist/opportunities/discriminator/discriminator.env.js +0 -103
  347. package/dist/opportunities/discriminator/discriminator.miner.d.ts +0 -114
  348. package/dist/opportunities/discriminator/discriminator.miner.js +0 -228
  349. package/dist/opportunities/discriminator/discriminator.push.d.ts +0 -13
  350. package/dist/opportunities/discriminator/discriminator.push.js +0 -19
  351. package/dist/opportunities/discriminator/discriminator.question.d.ts +0 -58
  352. package/dist/opportunities/discriminator/discriminator.question.js +0 -155
  353. package/dist/opportunities/discriminator/discriminator.scorer.d.ts +0 -32
  354. package/dist/opportunities/discriminator/discriminator.scorer.js +0 -105
  355. package/dist/opportunities/discriminator/discriminator.shadow.d.ts +0 -32
  356. package/dist/opportunities/discriminator/discriminator.shadow.js +0 -90
  357. package/dist/opportunities/discriminator/discriminator.types.d.ts +0 -93
  358. package/dist/opportunities/discriminator/discriminator.types.js +0 -18
  359. package/dist/opportunities/negotiation-context.loader.d.ts +0 -59
  360. package/dist/opportunities/negotiation-context.loader.js +0 -90
  361. package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.d.ts +0 -43
  362. package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.js +0 -44
  363. package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.d.ts +0 -24
  364. package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.js +0 -188
  365. package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.d.ts +0 -26
  366. package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.js +0 -112
  367. package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.d.ts +0 -19
  368. package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.js +0 -61
  369. package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.d.ts +0 -191
  370. package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.js +0 -18
  371. package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.d.ts +0 -34
  372. package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.js +0 -91
  373. package/dist/opportunities/negotiation-summary.builder.d.ts +0 -37
  374. package/dist/opportunities/negotiation-summary.builder.js +0 -66
  375. package/dist/opportunities/opportunity.discovery-negotiation-summary.d.ts +0 -14
  376. package/dist/opportunities/opportunity.discovery-negotiation-summary.js +0 -46
  377. package/dist/opportunities/opportunity.enricher.d.ts +0 -71
  378. package/dist/opportunities/opportunity.enricher.js +0 -280
  379. package/dist/opportunities/opportunity.evaluator.d.ts +0 -289
  380. package/dist/opportunities/opportunity.evaluator.js +0 -516
  381. package/dist/opportunities/opportunity.evidence.d.ts +0 -22
  382. package/dist/opportunities/opportunity.evidence.js +0 -87
  383. package/dist/opportunities/opportunity.existing-negotiation.d.ts +0 -79
  384. package/dist/opportunities/opportunity.existing-negotiation.js +0 -118
  385. package/dist/opportunities/opportunity.feed-selection.js +0 -96
  386. package/dist/opportunities/opportunity.graph.d.ts +0 -1611
  387. package/dist/opportunities/opportunity.graph.discovery-strategies.d.ts +0 -109
  388. package/dist/opportunities/opportunity.graph.discovery-strategies.js +0 -451
  389. package/dist/opportunities/opportunity.graph.discovery.d.ts +0 -69
  390. package/dist/opportunities/opportunity.graph.discovery.js +0 -397
  391. package/dist/opportunities/opportunity.graph.evaluation.d.ts +0 -82
  392. package/dist/opportunities/opportunity.graph.evaluation.js +0 -608
  393. package/dist/opportunities/opportunity.graph.js +0 -193
  394. package/dist/opportunities/opportunity.graph.modes.d.ts +0 -538
  395. package/dist/opportunities/opportunity.graph.modes.js +0 -538
  396. package/dist/opportunities/opportunity.graph.negotiate.d.ts +0 -109
  397. package/dist/opportunities/opportunity.graph.negotiate.js +0 -392
  398. package/dist/opportunities/opportunity.graph.persist-node.d.ts +0 -93
  399. package/dist/opportunities/opportunity.graph.persist-node.js +0 -765
  400. package/dist/opportunities/opportunity.graph.prep.d.ts +0 -150
  401. package/dist/opportunities/opportunity.graph.prep.js +0 -381
  402. package/dist/opportunities/opportunity.graph.shared.d.ts +0 -173
  403. package/dist/opportunities/opportunity.graph.shared.js +0 -199
  404. package/dist/opportunities/opportunity.introducer-feature.d.ts +0 -2
  405. package/dist/opportunities/opportunity.introducer-feature.js +0 -4
  406. package/dist/opportunities/opportunity.introducer.d.ts +0 -77
  407. package/dist/opportunities/opportunity.introducer.js +0 -99
  408. package/dist/opportunities/opportunity.labels.js +0 -10
  409. package/dist/opportunities/opportunity.lifecycle.d.ts +0 -63
  410. package/dist/opportunities/opportunity.lifecycle.js +0 -181
  411. package/dist/opportunities/opportunity.module.d.ts +0 -54
  412. package/dist/opportunities/opportunity.module.js +0 -39
  413. package/dist/opportunities/opportunity.newborn-stamping.d.ts +0 -41
  414. package/dist/opportunities/opportunity.newborn-stamping.js +0 -81
  415. package/dist/opportunities/opportunity.owner-approval.d.ts +0 -118
  416. package/dist/opportunities/opportunity.owner-approval.js +0 -34
  417. package/dist/opportunities/opportunity.owner-provenance.d.ts +0 -6
  418. package/dist/opportunities/opportunity.owner-provenance.js +0 -28
  419. package/dist/opportunities/opportunity.persist.d.ts +0 -58
  420. package/dist/opportunities/opportunity.persist.js +0 -145
  421. package/dist/opportunities/opportunity.persistence-admission.d.ts +0 -39
  422. package/dist/opportunities/opportunity.persistence-admission.js +0 -59
  423. package/dist/opportunities/opportunity.state.d.ts +0 -451
  424. package/dist/opportunities/opportunity.state.js +0 -256
  425. package/dist/opportunities/opportunity.tools.cards.d.ts +0 -138
  426. package/dist/opportunities/opportunity.tools.cards.js +0 -212
  427. package/dist/opportunities/opportunity.tools.d.ts +0 -12
  428. package/dist/opportunities/opportunity.tools.js +0 -236
  429. package/dist/opportunities/opportunity.tools.list.d.ts +0 -10
  430. package/dist/opportunities/opportunity.tools.list.js +0 -489
  431. package/dist/opportunities/opportunity.tools.port.d.ts +0 -16
  432. package/dist/opportunities/opportunity.utils.d.ts +0 -217
  433. package/dist/opportunities/opportunity.utils.js +0 -395
  434. package/dist/opportunities/outcome/outcome.env.d.ts +0 -60
  435. package/dist/opportunities/outcome/outcome.env.js +0 -63
  436. package/dist/opportunities/outcome/outcome.hypotheses.d.ts +0 -29
  437. package/dist/opportunities/outcome/outcome.hypotheses.js +0 -117
  438. package/dist/opportunities/outcome/outcome.shadow.d.ts +0 -56
  439. package/dist/opportunities/outcome/outcome.shadow.js +0 -87
  440. package/dist/opportunities/outcome/outcome.types.d.ts +0 -110
  441. package/dist/opportunities/outcome/outcome.types.js +0 -26
  442. package/dist/opportunities/radar/radar.health.d.ts +0 -31
  443. package/dist/opportunities/radar/radar.health.js +0 -75
  444. package/dist/premises/premise.analyzer.d.ts +0 -35
  445. package/dist/premises/premise.analyzer.js +0 -115
  446. package/dist/premises/premise.decomposer.d.ts +0 -69
  447. package/dist/premises/premise.decomposer.js +0 -213
  448. package/dist/premises/premise.graph.d.ts +0 -345
  449. package/dist/premises/premise.graph.js +0 -278
  450. package/dist/premises/premise.indexer.d.ts +0 -35
  451. package/dist/premises/premise.indexer.js +0 -86
  452. package/dist/premises/premise.state.d.ts +0 -67
  453. package/dist/premises/premise.state.js +0 -94
  454. package/dist/premises/premise.tools.d.ts +0 -3
  455. package/dist/premises/premise.tools.js +0 -248
  456. package/dist/questions/question.env.d.ts +0 -27
  457. package/dist/questions/question.env.js +0 -27
  458. package/dist/questions/question.input.d.ts +0 -107
  459. package/dist/questions/question.module.d.ts +0 -30
  460. package/dist/questions/question.module.js +0 -28
  461. package/dist/questions/question.schema.d.ts +0 -1529
  462. package/dist/questions/question.schema.js +0 -420
  463. package/dist/shared/agent/activity-projection.d.ts +0 -271
  464. package/dist/shared/agent/activity-projection.js +0 -254
  465. package/dist/shared/agent/canonical-guidance.d.ts +0 -30
  466. package/dist/shared/agent/canonical-guidance.js +0 -246
  467. package/dist/shared/agent/model.resolver.d.ts +0 -48
  468. package/dist/shared/agent/tool.factory.d.ts +0 -17
  469. package/dist/shared/agent/tool.factory.js +0 -221
  470. package/dist/shared/agent/tool.helpers.d.ts +0 -482
  471. package/dist/shared/agent/tool.helpers.js +0 -232
  472. package/dist/shared/agent/tool.registry.d.ts +0 -25
  473. package/dist/shared/agent/tool.registry.js +0 -76
  474. package/dist/shared/agent/tool.runtime.d.ts +0 -28
  475. package/dist/shared/agent/tool.runtime.js +0 -194
  476. package/dist/shared/agent/tool.scope.d.ts +0 -44
  477. package/dist/shared/agent/tool.scope.js +0 -50
  478. package/dist/shared/agent/utility.tools.d.ts +0 -15
  479. package/dist/shared/agent/utility.tools.js +0 -322
  480. package/dist/shared/assignment/network-assignment.policy.d.ts +0 -61
  481. package/dist/shared/assignment/network-assignment.policy.js +0 -105
  482. package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +0 -100
  483. package/dist/shared/interfaces/agent-dispatcher.interface.js +0 -12
  484. package/dist/shared/interfaces/auth.interface.d.ts +0 -37
  485. package/dist/shared/interfaces/auth.interface.js +0 -1
  486. package/dist/shared/interfaces/chat-message-writer.interface.d.ts +0 -18
  487. package/dist/shared/interfaces/chat-message-writer.interface.js +0 -1
  488. package/dist/shared/interfaces/chat-session.interface.d.ts +0 -23
  489. package/dist/shared/interfaces/chat-session.interface.js +0 -18
  490. package/dist/shared/interfaces/chat-summary.interface.d.ts +0 -16
  491. package/dist/shared/interfaces/chat-summary.interface.js +0 -1
  492. package/dist/shared/interfaces/database.capabilities.d.ts +0 -100
  493. package/dist/shared/interfaces/database.interface.d.ts +0 -16
  494. package/dist/shared/interfaces/database.member-queries.d.ts +0 -219
  495. package/dist/shared/interfaces/database.member-queries.js +0 -4
  496. package/dist/shared/interfaces/database.negotiation.d.ts +0 -329
  497. package/dist/shared/interfaces/database.negotiation.js +0 -26
  498. package/dist/shared/interfaces/database.network-queries.js +0 -4
  499. package/dist/shared/interfaces/database.opportunity-queries.js +0 -4
  500. package/dist/shared/interfaces/delivery-ledger.interface.d.ts +0 -40
  501. package/dist/shared/interfaces/delivery-ledger.interface.js +0 -5
  502. package/dist/shared/interfaces/embedder.interface.d.ts +0 -92
  503. package/dist/shared/interfaces/embedder.interface.js +0 -4
  504. package/dist/shared/interfaces/enrichment-run.interface.d.ts +0 -62
  505. package/dist/shared/interfaces/enrichment-run.interface.js +0 -1
  506. package/dist/shared/interfaces/enrichment.interface.js +0 -1
  507. package/dist/shared/interfaces/negotiation-events.interface.d.ts +0 -77
  508. package/dist/shared/interfaces/negotiation-events.interface.js +0 -6
  509. package/dist/shared/interfaces/negotiation-summary.interface.d.ts +0 -25
  510. package/dist/shared/interfaces/negotiation-summary.interface.js +0 -1
  511. package/dist/shared/interfaces/negotiator-memory.interface.d.ts +0 -58
  512. package/dist/shared/interfaces/negotiator-memory.interface.js +0 -11
  513. package/dist/shared/interfaces/queue.interface.d.ts +0 -23
  514. package/dist/shared/interfaces/queue.interface.js +0 -4
  515. package/dist/shared/interfaces/scraper.interface.js +0 -1
  516. package/dist/shared/interfaces/tool-request-context.interface.d.ts +0 -11
  517. package/dist/shared/interfaces/tool-request-context.interface.js +0 -1
  518. package/dist/shared/observability/request-context.d.ts +0 -27
  519. package/dist/shared/observability/request-context.js +0 -6
  520. package/dist/shared/schemas/mcp-auth.schema.d.ts +0 -87
  521. package/dist/shared/schemas/mcp-auth.schema.js +0 -56
  522. package/dist/shared/schemas/negotiation-digest.schema.d.ts +0 -58
  523. package/dist/shared/schemas/negotiation-digest.schema.js +0 -38
  524. package/dist/shared/schemas/negotiation-state.schema.d.ts +0 -343
  525. package/dist/shared/schemas/negotiation-state.schema.js +0 -81
  526. package/dist/shared/schemas/question-block.fixture.d.ts +0 -12
  527. package/dist/shared/schemas/question-block.fixture.js +0 -39
  528. package/dist/shared/schemas/question-block.schema.d.ts +0 -111
  529. package/dist/shared/schemas/question-block.schema.js +0 -124
  530. package/dist/shared/schemas/structured-question.schema.d.ts +0 -66
  531. package/dist/shared/schemas/structured-question.schema.js +0 -31
  532. package/dist/shared/schemas/underspecification.schema.d.ts +0 -13
  533. package/dist/shared/schemas/underspecification.schema.js +0 -16
  534. /package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.js +0 -0
  535. /package/dist/{opportunities → internal/opportunities}/radar/radar.state.js +0 -0
  536. /package/dist/{shared → internal/shared}/network/metadata.renderer.d.ts +0 -0
  537. /package/dist/{shared → internal/shared}/network/metadata.renderer.js +0 -0
  538. /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.d.ts +0 -0
  539. /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.js +0 -0
  540. /package/dist/{shared → internal/shared}/observability/performance.d.ts +0 -0
  541. /package/dist/{shared → internal/shared}/observability/performance.js +0 -0
  542. /package/dist/{shared → internal/shared}/observability/trace.d.ts +0 -0
  543. /package/dist/{shared → internal/shared}/observability/trace.js +0 -0
  544. /package/dist/{shared → internal/shared}/utils/claim-safety.d.ts +0 -0
  545. /package/dist/{shared → internal/shared}/utils/claim-safety.js +0 -0
  546. /package/dist/{shared → internal/shared}/utils/telegram-handle.d.ts +0 -0
  547. /package/dist/{shared → internal/shared}/utils/telegram-handle.js +0 -0
  548. /package/dist/{shared/interfaces/database.capabilities.js → platform/database/capabilities.js} +0 -0
  549. /package/dist/{shared/interfaces/database.entities.js → platform/database/entities.js} +0 -0
  550. /package/dist/{shared/interfaces/database.identity-queries.js → platform/database/identity-queries.js} +0 -0
  551. /package/dist/{agents/agent.dispatcher.port.js → platform/database/negotiation.js} +0 -0
  552. /package/dist/{chat/chat.persona.js → platform/database/opportunity-queries.js} +0 -0
  553. /package/dist/{contexts/context.tools.port.js → platform/discovery/embedder.js} +0 -0
  554. /package/dist/{shared/interfaces/scraper.interface.d.ts → platform/discovery/scraper.d.ts} +0 -0
  555. /package/dist/{negotiations/negotiation.deadlock.contracts.js → platform/discovery/scraper.js} +0 -0
  556. /package/dist/{shared/interfaces/enrichment.interface.d.ts → platform/enrichment/ports.d.ts} +0 -0
  557. /package/dist/{negotiations/negotiation.tools.port.js → platform/enrichment/ports.js} +0 -0
  558. /package/dist/{opportunities/opportunity.tools.port.js → platform/runtime/observability.js} +0 -0
  559. /package/dist/{questions/question.input.js → protocol/core.js} +0 -0
  560. /package/dist/{shared → protocol}/schemas/chat-context.schema.d.ts +0 -0
  561. /package/dist/{shared → protocol}/schemas/chat-context.schema.js +0 -0
@@ -1,141 +0,0 @@
1
- import type { DebugMetaAgent } from '../agents/agent.module.js';
2
- /**
3
- * The Graph State for Profile Generation.
4
- */
5
- export declare const EnrichmentGraphState: import("@langchain/langgraph").AnnotationRoot<{
6
- /**
7
- * The User ID to link the profile to.
8
- */
9
- userId: {
10
- (annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BaseChannel<string, string | import("@langchain/langgraph").OverwriteValue<string>, unknown>;
11
- (): import("@langchain/langgraph").LastValue<string>;
12
- Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
13
- };
14
- /**
15
- * Operation mode controls graph flow:
16
- * - 'query': Fast path - only retrieve existing profile (no generation)
17
- * - 'write': Decompose provided/scraped input into premises
18
- * - 'generate': Auto-enrich from user table data via enrichUserProfile Chat API,
19
- * then decompose the enrichment into premises
20
- */
21
- operationMode: import("@langchain/langgraph").BaseChannel<"query" | "generate" | "write", "query" | "generate" | "write" | import("@langchain/langgraph").OverwriteValue<"query" | "generate" | "write">, unknown>;
22
- /**
23
- * Flag to force profile regeneration even if profile exists.
24
- * When true with new input, the graph will re-generate and update the profile.
25
- */
26
- forceUpdate: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
27
- /**
28
- * Internal objective constructed from user data.
29
- */
30
- objective: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
31
- /**
32
- * Raw input data (either provided or scraped).
33
- */
34
- input: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
35
- /**
36
- * IDs of the user_socials records active during the current scrape/generate run.
37
- * Populated by scrapeNode and autoGenerateNode after getUserSocials is called.
38
- * Empty by default; read by decomposePremisesNode to set provenanceSource:
39
- * 'integration' + provenanceSourceId when premises derive from social enrichment.
40
- */
41
- activeSocialIds: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
42
- /**
43
- * The generated or loaded profile document.
44
- */
45
- profile: import("@langchain/langgraph").BaseChannel<{
46
- identity: {
47
- name: string;
48
- bio: string;
49
- location: string;
50
- };
51
- context: string;
52
- userId?: string | undefined;
53
- } | undefined, {
54
- identity: {
55
- name: string;
56
- bio: string;
57
- location: string;
58
- };
59
- context: string;
60
- userId?: string | undefined;
61
- } | import("@langchain/langgraph").OverwriteValue<{
62
- identity: {
63
- name: string;
64
- bio: string;
65
- location: string;
66
- };
67
- context: string;
68
- userId?: string | undefined;
69
- } | undefined> | undefined, unknown>;
70
- /**
71
- * Flags to track what needs to be generated.
72
- */
73
- needsProfileGeneration: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
74
- /**
75
- * Flag indicating that user information is insufficient for accurate profile generation.
76
- * When true, the graph should request additional information from the user.
77
- */
78
- needsUserInfo: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
79
- /**
80
- * List of missing user information fields.
81
- * Used to construct a helpful clarification message.
82
- */
83
- missingUserInfo: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
84
- /**
85
- * Error message if any step fails (non-fatal).
86
- */
87
- error: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
88
- /**
89
- * Tracks which operations were actually performed during this graph execution.
90
- * Used to provide explicit feedback to the user about what happened.
91
- */
92
- operationsPerformed: import("@langchain/langgraph").BaseChannel<{
93
- scraped?: boolean;
94
- decomposedPremises?: boolean;
95
- generatedProfile?: boolean;
96
- savedProfile?: boolean;
97
- }, {
98
- scraped?: boolean;
99
- decomposedPremises?: boolean;
100
- generatedProfile?: boolean;
101
- savedProfile?: boolean;
102
- } | import("@langchain/langgraph").OverwriteValue<{
103
- scraped?: boolean;
104
- decomposedPremises?: boolean;
105
- generatedProfile?: boolean;
106
- savedProfile?: boolean;
107
- }>, unknown>;
108
- /** Timing records for each agent invocation within this graph run. */
109
- agentTimings: import("@langchain/langgraph").BaseChannel<DebugMetaAgent[], DebugMetaAgent[] | import("@langchain/langgraph").OverwriteValue<DebugMetaAgent[]>, unknown>;
110
- /**
111
- * Output for query mode: structured result for the tool to read.
112
- */
113
- readResult: import("@langchain/langgraph").BaseChannel<{
114
- hasProfile: boolean;
115
- profile?: {
116
- id?: string;
117
- name: string;
118
- bio: string;
119
- location: string;
120
- };
121
- message?: string;
122
- } | undefined, {
123
- hasProfile: boolean;
124
- profile?: {
125
- id?: string;
126
- name: string;
127
- bio: string;
128
- location: string;
129
- };
130
- message?: string;
131
- } | import("@langchain/langgraph").OverwriteValue<{
132
- hasProfile: boolean;
133
- profile?: {
134
- id?: string;
135
- name: string;
136
- bio: string;
137
- location: string;
138
- };
139
- message?: string;
140
- } | undefined> | undefined, unknown>;
141
- }>;
@@ -1,115 +0,0 @@
1
- import { Annotation } from "@langchain/langgraph";
2
- /**
3
- * The Graph State for Profile Generation.
4
- */
5
- export const EnrichmentGraphState = Annotation.Root({
6
- // --- Inputs (Required at start) ---
7
- /**
8
- * The User ID to link the profile to.
9
- */
10
- userId: (Annotation),
11
- // --- Control Fields (Operation Mode) ---
12
- /**
13
- * Operation mode controls graph flow:
14
- * - 'query': Fast path - only retrieve existing profile (no generation)
15
- * - 'write': Decompose provided/scraped input into premises
16
- * - 'generate': Auto-enrich from user table data via enrichUserProfile Chat API,
17
- * then decompose the enrichment into premises
18
- */
19
- operationMode: Annotation({
20
- reducer: (curr, next) => next ?? curr,
21
- default: () => 'write',
22
- }),
23
- /**
24
- * Flag to force profile regeneration even if profile exists.
25
- * When true with new input, the graph will re-generate and update the profile.
26
- */
27
- forceUpdate: Annotation({
28
- reducer: (curr, next) => next ?? curr,
29
- default: () => false,
30
- }),
31
- // --- Intermediate State ---
32
- /**
33
- * Internal objective constructed from user data.
34
- */
35
- objective: Annotation({
36
- reducer: (curr, next) => next,
37
- default: () => undefined,
38
- }),
39
- /**
40
- * Raw input data (either provided or scraped).
41
- */
42
- input: Annotation({
43
- reducer: (curr, next) => next,
44
- default: () => undefined,
45
- }),
46
- /**
47
- * IDs of the user_socials records active during the current scrape/generate run.
48
- * Populated by scrapeNode and autoGenerateNode after getUserSocials is called.
49
- * Empty by default; read by decomposePremisesNode to set provenanceSource:
50
- * 'integration' + provenanceSourceId when premises derive from social enrichment.
51
- */
52
- activeSocialIds: Annotation({
53
- reducer: (_, next) => next ?? [],
54
- default: () => [],
55
- }),
56
- /**
57
- * The generated or loaded profile document.
58
- */
59
- profile: Annotation({
60
- reducer: (curr, next) => next,
61
- default: () => undefined,
62
- }),
63
- /**
64
- * Flags to track what needs to be generated.
65
- */
66
- needsProfileGeneration: Annotation({
67
- reducer: (curr, next) => next ?? curr,
68
- default: () => false,
69
- }),
70
- /**
71
- * Flag indicating that user information is insufficient for accurate profile generation.
72
- * When true, the graph should request additional information from the user.
73
- */
74
- needsUserInfo: Annotation({
75
- reducer: (curr, next) => next ?? curr,
76
- default: () => false,
77
- }),
78
- /**
79
- * List of missing user information fields.
80
- * Used to construct a helpful clarification message.
81
- */
82
- missingUserInfo: Annotation({
83
- reducer: (curr, next) => next ?? curr,
84
- default: () => [],
85
- }),
86
- // --- Output ---
87
- /**
88
- * Error message if any step fails (non-fatal).
89
- */
90
- error: Annotation({
91
- reducer: (curr, next) => next,
92
- default: () => undefined,
93
- }),
94
- // --- Operation Tracking (for transparency) ---
95
- /**
96
- * Tracks which operations were actually performed during this graph execution.
97
- * Used to provide explicit feedback to the user about what happened.
98
- */
99
- operationsPerformed: Annotation({
100
- reducer: (curr, next) => ({ ...curr, ...next }),
101
- default: () => ({}),
102
- }),
103
- /** Timing records for each agent invocation within this graph run. */
104
- agentTimings: Annotation({
105
- reducer: (acc, val) => [...acc, ...val],
106
- default: () => [],
107
- }),
108
- /**
109
- * Output for query mode: structured result for the tool to read.
110
- */
111
- readResult: Annotation({
112
- reducer: (curr, next) => next,
113
- default: () => undefined,
114
- }),
115
- });
@@ -1,10 +0,0 @@
1
- /**
2
- * Enrichment tools that read or preview a user context.
3
- */
4
- import type { DefineTool } from "../shared/agent/tool.helpers.js";
5
- import type { EnrichmentToolDeps } from "../contexts/context.tools.port.js";
6
- export declare function createUserContextReadTools(defineTool: DefineTool, deps: EnrichmentToolDeps): {
7
- readUserContexts: any;
8
- previewUserContext: any;
9
- confirmUserContext: any;
10
- };
@@ -1,353 +0,0 @@
1
- /**
2
- * Enrichment tools that read or preview a user context.
3
- */
4
- import { z } from "zod";
5
- import { requestContext } from "../shared/observability/request-context.js";
6
- import { success, error, needsClarification, UUID_REGEX } from "../shared/agent/tool.helpers.js";
7
- import { detectSocialLabel } from "../shared/utils/social-label.js";
8
- import { EnrichmentGenerator } from "./enrichment.generator.js";
9
- import { invokeWithAbortSignal } from "../shared/agent/model-signal.js";
10
- import { focusedNetworkId, focusedNetworkLabel } from "../shared/agent/tool.scope.js";
11
- import { approvedProfileDraftSchema, buildProfileInput, decomposeApprovedDraftProfile, enqueueEnrichmentRun, isPlaceholderName, logger, markApprovedProfileConfirmed, persistApprovedProfileContext, selectProfileSeed, toProfileSummary, trimToUndefined } from "./enrichment.tools.helpers.js";
12
- export function createUserContextReadTools(defineTool, deps) {
13
- const { userDb, systemDb, graphs, enricher, grantDefaultSystemPermissions, reportToolError, getUserContextText } = deps;
14
- const readUserContexts = defineTool({
15
- name: "read_user_contexts",
16
- description: "Retrieves user profiles containing identity info (name, bio, location) plus a rich `context` paragraph (the user's synthesized identity text). " +
17
- "Profiles are used for semantic matching in opportunity discovery — the richer the user's context, the better the matches.\n\n" +
18
- "**Usage modes:**\n" +
19
- "- With `query` (name search): finds members by name (case-insensitive substring) across the user's indexes. " +
20
- "This is the primary way to look up a person by name. Add `networkId` to restrict search to one index. (List results return thin identity only — no `context`.)\n" +
21
- "- With `userId`: returns that specific user's profile — name, bio, location, and their `context` paragraph.\n" +
22
- "- With `networkId` alone: returns thin-identity profiles of ALL members in that index (no `context`).\n" +
23
- "- No parameters: returns the current user's own profile, including their `context`.\n\n" +
24
- "**When to use:** Before creating introductions (need profiles of both parties), when the user asks about a person, " +
25
- "or to check if a profile exists before suggesting create_user_context.\n\n" +
26
- "**Returns:** Profile objects with name, bio, location, and (for single-user reads) a `context` paragraph. Use userId from results with other tools like read_intents(userId, networkId).",
27
- querySchema: z.object({
28
- userId: z.string().optional().describe("Fetch a specific user's profile by their user ID. Get user IDs from read_network_memberships or list_contacts."),
29
- networkId: z.string().optional().describe("Network UUID — fetch profiles of all members in this network, or narrow a name search to this network. Get from read_networks."),
30
- query: z.string().optional().describe("Name to search for (case-insensitive substring match). Searches across all the user's indexes unless networkId is also provided. Use this when the user asks to 'find' or 'look up' someone."),
31
- }),
32
- handler: async ({ context, query }) => {
33
- const scopedNetworkId = focusedNetworkId(context);
34
- const scopedIndexLabel = focusedNetworkLabel(context);
35
- const effectiveIndexId = query.networkId?.trim() || undefined;
36
- const targetUserId = query.userId?.trim() || undefined;
37
- const nameQuery = query.query?.trim() || undefined;
38
- if (effectiveIndexId && !UUID_REGEX.test(effectiveIndexId)) {
39
- return error("Invalid network ID format. Use the exact UUID from read_networks.");
40
- }
41
- // --- Name search mode: query provided → find members by name ---
42
- if (nameQuery) {
43
- const pattern = nameQuery.toLowerCase();
44
- const MAX_RESULTS = 20;
45
- // When chat is network-scoped, restrict name search to that index
46
- const searchIndexId = effectiveIndexId || scopedNetworkId || undefined;
47
- let candidates;
48
- if (searchIndexId) {
49
- // Scoped to a specific index
50
- if (scopedNetworkId && searchIndexId !== scopedNetworkId) {
51
- return error(`This chat is scoped to ${scopedIndexLabel}. You can only look up people in this community.`);
52
- }
53
- const callerIsMember = await systemDb.isNetworkMember(searchIndexId, context.userId);
54
- if (!callerIsMember) {
55
- return error("You can only look up people in indexes you are a member of.");
56
- }
57
- const members = await systemDb.getNetworkMembers(searchIndexId);
58
- candidates = members.map((m) => ({ userId: m.userId, name: m.name, avatar: m.avatar ?? null }));
59
- }
60
- else {
61
- // Search across all user's indexes
62
- candidates = await systemDb.getMembersFromScope();
63
- }
64
- logger.verbose("Name search candidates", {
65
- query: nameQuery,
66
- pattern,
67
- candidateCount: candidates.length,
68
- userId: context.userId,
69
- });
70
- // Filter by name (case-insensitive substring), exclude self
71
- const matched = candidates
72
- .filter((c) => c.userId !== context.userId && c.name.toLowerCase().includes(pattern))
73
- .slice(0, MAX_RESULTS);
74
- if (matched.length === 0) {
75
- return success({ query: nameQuery, matchCount: 0, profiles: [], message: "No members found matching that name." });
76
- }
77
- // Fetch full profiles for matches
78
- const profiles = await Promise.all(matched.map(async (m) => {
79
- try {
80
- const profile = await systemDb.getProfile(m.userId);
81
- // Flat thin identity for list results. skills/interests are retired; the
82
- // rich identity text (global user_context) is fetched per-user via a userId read.
83
- return {
84
- userId: m.userId,
85
- name: m.name,
86
- hasProfile: !!profile,
87
- ...(profile
88
- ? { bio: profile.identity.bio, location: profile.identity.location }
89
- : {}),
90
- };
91
- }
92
- catch (err) {
93
- logger.warn("read_user_contexts: getProfile failed; degrading to hasProfile=false", {
94
- userId: m.userId,
95
- error: err instanceof Error ? err.message : String(err),
96
- });
97
- return { userId: m.userId, name: m.name, hasProfile: false };
98
- }
99
- }));
100
- return success({ query: nameQuery, matchCount: profiles.length, profiles });
101
- }
102
- // When no userId / networkId / query is provided, fall through to Mode 1 (self lookup).
103
- // --- Mode 3: networkId provided → fetch all member profiles ---
104
- if (effectiveIndexId) {
105
- // Strict scope enforcement: when chat is network-scoped, only allow querying that index
106
- if (scopedNetworkId && effectiveIndexId !== scopedNetworkId) {
107
- return error(`This chat is scoped to ${scopedIndexLabel}. You can only read profiles from this community.`);
108
- }
109
- // Verify the caller is a member of the network they're querying
110
- const callerIsMember = await systemDb.isNetworkMember(effectiveIndexId, context.userId);
111
- if (!callerIsMember) {
112
- return error("You can only read profiles from indexes you are a member of.");
113
- }
114
- // Use systemDb for cross-user access within shared networkes
115
- const members = await systemDb.getNetworkMembers(effectiveIndexId);
116
- const profiles = await Promise.all(members.map(async (member) => {
117
- const profile = await systemDb.getProfile(member.userId);
118
- // Flat thin identity for roster results. skills/interests are retired; fetch a
119
- // member's global user_context text via a single-user (userId) read.
120
- return {
121
- userId: member.userId,
122
- name: member.name,
123
- hasProfile: !!profile,
124
- ...(profile
125
- ? { bio: profile.identity.bio, location: profile.identity.location }
126
- : {}),
127
- };
128
- }));
129
- return success({ networkId: effectiveIndexId, memberCount: members.length, profiles });
130
- }
131
- // --- Mode 2: userId provided (different user) → fetch single profile directly ---
132
- if (targetUserId && targetUserId !== context.userId) {
133
- // Strict scope enforcement: when chat is network-scoped, verify user is in that index
134
- if (scopedNetworkId) {
135
- const isInScopedIndex = await systemDb.isNetworkMember(scopedNetworkId, targetUserId);
136
- if (!isInScopedIndex) {
137
- return error(`This chat is scoped to ${scopedIndexLabel}. You can only read profiles of members in this community.`);
138
- }
139
- }
140
- // Use systemDb for cross-user profile access (requires shared network)
141
- const profile = await systemDb.getProfile(targetUserId);
142
- if (profile) {
143
- // Thin identity + the user's global user_context text (profile-replacing
144
- // identity paragraph). skills/interests/narrative are retired (WS6).
145
- const context = getUserContextText ? await getUserContextText(targetUserId) : '';
146
- return success({
147
- hasProfile: true,
148
- name: profile.identity.name,
149
- bio: profile.identity.bio,
150
- location: profile.identity.location,
151
- context,
152
- });
153
- }
154
- return success({ hasProfile: false, message: "This user does not have a profile yet." });
155
- }
156
- // --- Mode 1: No args / self → use profileGraph query (returns id for updates) ---
157
- const _readProfileGraphStart = Date.now();
158
- const _readProfileTraceEmitter = requestContext.getStore()?.traceEmitter;
159
- _readProfileTraceEmitter?.({ type: "graph_start", name: "enrichment" });
160
- const result = await invokeWithAbortSignal(graphs.profile, {
161
- userId: context.userId,
162
- operationMode: 'query',
163
- });
164
- const _readProfileGraphMs = Date.now() - _readProfileGraphStart;
165
- _readProfileTraceEmitter?.({ type: "graph_end", name: "enrichment", durationMs: _readProfileGraphMs });
166
- // REST/CLI self-lookup includes onboarding status. MCP does not — it
167
- // no longer gates or completes onboarding.
168
- const onboardingCompletedAt = context.user.onboarding?.completedAt ?? null;
169
- const onboardingFields = context.isMcp ? {} : {
170
- onboardingComplete: !!onboardingCompletedAt,
171
- ...(onboardingCompletedAt ? { onboardingCompletedAt } : {}),
172
- };
173
- if (result.readResult) {
174
- // Augment the graph's thin-identity readResult with the caller's global
175
- // user_context text (the rich, profile-replacing identity paragraph).
176
- const readResult = result.readResult;
177
- // Flatten identity fields up; drop the nested `profile` object (WS11).
178
- const flat = readResult.hasProfile && readResult.profile
179
- ? { hasProfile: true, ...readResult.profile, context: getUserContextText ? await getUserContextText(context.userId) : '' }
180
- : { ...readResult };
181
- return success({ ...flat, ...onboardingFields, _graphTimings: [{ name: 'enrichment', durationMs: _readProfileGraphMs, agents: result.agentTimings ?? [] }] });
182
- }
183
- if (result.profile) {
184
- return success({
185
- hasProfile: true,
186
- name: result.profile.identity.name,
187
- bio: result.profile.identity.bio,
188
- location: result.profile.identity.location,
189
- context: getUserContextText ? await getUserContextText(context.userId) : '',
190
- ...onboardingFields,
191
- _graphTimings: [{ name: 'enrichment', durationMs: _readProfileGraphMs, agents: result.agentTimings ?? [] }],
192
- });
193
- }
194
- return success({
195
- hasProfile: false,
196
- ...onboardingFields,
197
- message: "You don't have a profile yet. Would you like to create one? You can share your LinkedIn, GitHub, or X/Twitter profile, or just tell me about yourself.",
198
- _graphTimings: [{ name: 'enrichment', durationMs: _readProfileGraphMs, agents: result.agentTimings ?? [] }],
199
- });
200
- },
201
- });
202
- const previewUserContext = defineTool({
203
- name: "preview_user_context",
204
- description: "Builds a structured profile draft without saving anything. Use this before asking the user to approve the profile. " +
205
- "This tool never runs public internet lookup; it uses only explicit text, staged signup/import seeds, and user-provided social URLs. " +
206
- "In MCP contexts, starts an async profile run and returns `profileRunId`; poll get_enrichment_run until status is `succeeded`, then present its `result`.",
207
- querySchema: z.object({
208
- name: z.string().optional().describe("Name explicitly provided by the user. The account identity is used first and this is only a fallback."),
209
- location: z.string().optional().describe("Location explicitly provided by the user."),
210
- bioOrDescription: z.string().optional().describe("Explicit self-description provided by the user."),
211
- linkedinUrl: z.string().optional().describe("LinkedIn URL explicitly provided by the user."),
212
- githubUrl: z.string().optional().describe("GitHub URL explicitly provided by the user."),
213
- twitterUrl: z.string().optional().describe("X/Twitter URL explicitly provided by the user."),
214
- websites: z.array(z.string()).optional().describe("Personal/portfolio URLs explicitly provided by the user."),
215
- }),
216
- handler: async ({ context, query }) => {
217
- const user = await userDb.getUser();
218
- if (!user)
219
- return error("User not found.");
220
- const profileRunId = await enqueueEnrichmentRun(deps, context, "preview_user_context", query);
221
- if (profileRunId) {
222
- return success({
223
- status: "queued",
224
- profileRunId,
225
- message: `Profile preview started. Call get_enrichment_run with profileRunId="${profileRunId}" until it succeeds, fails, or is cancelled.`,
226
- });
227
- }
228
- const scopedNetworkId = focusedNetworkId(context);
229
- const onboarding = user.onboarding ?? context.user.onboarding;
230
- const seed = selectProfileSeed(onboarding, scopedNetworkId);
231
- // Prefer the authenticated account identity over an agent-supplied name.
232
- const accountName = [trimToUndefined(user.name), trimToUndefined(context.userName)]
233
- .find((candidate) => candidate !== undefined && !isPlaceholderName(candidate));
234
- const name = seed?.name || accountName || query.name?.trim() || undefined;
235
- const location = query.location?.trim() || seed?.location || user.location || undefined;
236
- const bioOrDescription = query.bioOrDescription?.trim() || seed?.bio || user.intro || undefined;
237
- const linkedinUrl = query.linkedinUrl?.trim();
238
- const githubUrl = query.githubUrl?.trim();
239
- const twitterUrl = query.twitterUrl?.trim();
240
- const websites = query.websites?.map((url) => url.trim()).filter(Boolean) ?? [];
241
- const socials = [
242
- ...(seed?.socials ?? []),
243
- ...(linkedinUrl ? [{ label: 'linkedin', value: linkedinUrl }] : []),
244
- ...(githubUrl ? [{ label: 'github', value: githubUrl }] : []),
245
- ...(twitterUrl ? [{ label: 'twitter', value: twitterUrl }] : []),
246
- ...websites.map((value) => ({ label: detectSocialLabel(value), value })),
247
- ];
248
- const input = buildProfileInput({ name, location, bioOrDescription, socials });
249
- if (!input.trim()) {
250
- return needsClarification({
251
- missingFields: ['profile_description'],
252
- message: "Please share a short description or profile links so I can draft your profile.",
253
- });
254
- }
255
- const generated = await new EnrichmentGenerator().invoke(input);
256
- const profile = { ...generated.output, userId: context.userId };
257
- return success({
258
- preview: true,
259
- persisted: false,
260
- message: "Profile draft generated. Show this to the user and ask whether it looks right before calling confirm_user_context.",
261
- profile: toProfileSummary(profile),
262
- draft: profile,
263
- });
264
- },
265
- });
266
- const confirmUserContext = defineTool({
267
- name: "confirm_user_context",
268
- description: "Saves an explicitly approved profile draft. Call this only after the user has seen the draft from preview_user_context and approved it or provided corrections. " +
269
- "This path uses only the approved draft/explicit correction text and does not scrape or run public lookup.",
270
- querySchema: z.object({
271
- draft: approvedProfileDraftSchema.optional().describe("The structured profile draft returned by preview_user_context after user approval."),
272
- bioOrDescription: z.string().optional().describe("Approved correction or explicit profile text if not passing a structured draft."),
273
- name: z.string().optional().describe("Approved name correction."),
274
- location: z.string().optional().describe("Approved location correction."),
275
- }),
276
- handler: async ({ context, query }) => {
277
- const user = await userDb.getUser();
278
- if (query.draft) {
279
- const profile = { ...query.draft, userId: context.userId };
280
- await userDb.saveProfile({ userId: context.userId, identity: profile.identity, context: profile.narrative?.context ?? '' });
281
- await persistApprovedProfileContext(deps, profile, user, focusedNetworkId(context));
282
- await markApprovedProfileConfirmed(deps, context);
283
- const decomposeLogLabel = context.isMcp
284
- ? 'Approved draft premise decomposition failed'
285
- : 'Approved draft premise decomposition failed (web)';
286
- decomposeApprovedDraftProfile(deps, profile).catch((err) => {
287
- logger.error(decomposeLogLabel, {
288
- userId: profile.userId,
289
- error: err instanceof Error ? err.message : String(err),
290
- });
291
- });
292
- return success({
293
- created: true,
294
- message: context.isMcp
295
- ? "Profile saved from approved draft. Premise extraction is running in the background."
296
- : "Profile saved from approved draft.",
297
- profile: toProfileSummary(profile),
298
- });
299
- }
300
- const description = query.bioOrDescription?.trim();
301
- if (!description) {
302
- return error("Pass the approved structured draft or explicit approved profile text.");
303
- }
304
- const approvedName = query.name?.trim();
305
- const approvedLocation = query.location?.trim();
306
- const input = buildProfileInput({
307
- name: approvedName,
308
- location: approvedLocation,
309
- bioOrDescription: description,
310
- });
311
- const rawProfile = {
312
- identity: {
313
- name: approvedName && approvedName.length > 0 ? approvedName : user?.name ?? '',
314
- bio: description,
315
- location: approvedLocation && approvedLocation.length > 0 ? approvedLocation : user?.location ?? '',
316
- },
317
- };
318
- await persistApprovedProfileContext(deps, rawProfile, user, focusedNetworkId(context));
319
- await markApprovedProfileConfirmed(deps, context);
320
- const _confirmTraceEmitter = requestContext.getStore()?.traceEmitter;
321
- const _confirmGraphStart = Date.now();
322
- _confirmTraceEmitter?.({ type: "graph_start", name: "enrichment" });
323
- graphs.profile.invoke({
324
- userId: context.userId,
325
- operationMode: 'write',
326
- input,
327
- forceUpdate: true,
328
- }).then((result) => {
329
- if (result.error || !result.profile) {
330
- logger.error('Background profile generation failed', {
331
- userId: context.userId,
332
- error: result.error ?? 'No profile returned',
333
- });
334
- }
335
- }).catch((err) => logger.error('Background profile generation failed', {
336
- userId: context.userId,
337
- error: err instanceof Error ? err.message : String(err),
338
- })).finally(() => {
339
- const _confirmGraphMs = Date.now() - _confirmGraphStart;
340
- _confirmTraceEmitter?.({ type: "graph_end", name: "enrichment", durationMs: _confirmGraphMs });
341
- });
342
- return success({
343
- created: true,
344
- message: "Profile text accepted. Your profile is being structured in the background.",
345
- profile: toProfileSummary({
346
- identity: rawProfile.identity,
347
- attributes: { skills: [], interests: [] },
348
- }),
349
- });
350
- },
351
- });
352
- return { readUserContexts, previewUserContext, confirmUserContext };
353
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Enrichment tools that create or update a user context.
3
- */
4
- import type { DefineTool } from "../shared/agent/tool.helpers.js";
5
- import type { EnrichmentToolDeps } from "../contexts/context.tools.port.js";
6
- export declare function createUserContextWriteTools(defineTool: DefineTool, deps: EnrichmentToolDeps): {
7
- createUserContext: any;
8
- updateUserContext: any;
9
- };