@indexnetwork/protocol 22.0.0-rc.498.1 → 64.0.0-rc.604.2

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 -132
  12. package/dist/index.js +41 -100
  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,150 +0,0 @@
1
- /**
2
- * Discovery pipeline, stages 0–2: prep, scope, resolve.
3
- *
4
- * Each stage is a top-level function taking the graph state and an explicit
5
- * dependency bag. `opportunity.graph.ts` wires them into the StateGraph.
6
- */
7
- import type { Id } from '../shared/interfaces/database.interface.js';
8
- import type { DebugMetaAgent } from '../agents/agent.module.js';
9
- import type { IndexedIntent, TargetNetwork } from './opportunity.state.js';
10
- import { type OpportunityGraphDeps, type OpportunityState } from "./opportunity.graph.shared.js";
11
- /**
12
- * Node 0: Prep
13
- * Fetches user's network memberships and validates requirements.
14
- * Returns empty if user has no network memberships (requirement).
15
- */
16
- export declare function prepNode(state: OpportunityState, deps: OpportunityGraphDeps): Promise<{
17
- userNetworks: Id<"networks">[];
18
- sourceProfile: null;
19
- error: string;
20
- indexedIntents?: undefined;
21
- sourcePremises?: undefined;
22
- sourceContexts?: undefined;
23
- trace?: undefined;
24
- } | {
25
- userNetworks: Id<"networks">[];
26
- indexedIntents: IndexedIntent[];
27
- sourceProfile: {
28
- identity: {
29
- name: string;
30
- bio: string;
31
- location: string;
32
- };
33
- context: string;
34
- } | null;
35
- sourcePremises: {
36
- premiseId: Id<"premises">;
37
- embedding: number[];
38
- }[];
39
- sourceContexts: {
40
- contextId: string;
41
- networkId: Id<"networks">;
42
- text: string;
43
- embedding: number[];
44
- }[];
45
- trace: {
46
- node: string;
47
- detail: string;
48
- }[];
49
- error?: undefined;
50
- } | {
51
- error: string;
52
- trace: {
53
- node: string;
54
- detail: string;
55
- data: {
56
- error: string;
57
- };
58
- }[];
59
- }>;
60
- /** Trace summary for {@link prepNode}. */
61
- export declare function prepTraceSummary(result: unknown): string | undefined;
62
- /**
63
- * Node 1: Scope
64
- * Determines which indexes to search within.
65
- * If networkId provided: searches only that index.
66
- * Otherwise: searches all user's indexes.
67
- */
68
- export declare function scopeNode(state: OpportunityState, deps: OpportunityGraphDeps): Promise<{
69
- targetNetworks: never[];
70
- error: string;
71
- indexRelevancyScores?: undefined;
72
- agentTimings?: undefined;
73
- trace?: undefined;
74
- } | {
75
- targetNetworks: TargetNetwork[];
76
- indexRelevancyScores: Record<string, number>;
77
- agentTimings: DebugMetaAgent[];
78
- trace: {
79
- node: string;
80
- detail: string;
81
- data: {
82
- totalMembers: number;
83
- };
84
- }[];
85
- error?: undefined;
86
- } | {
87
- targetNetworks: TargetNetwork[];
88
- indexRelevancyScores: Record<string, number>;
89
- trace: {
90
- node: string;
91
- detail: string;
92
- data: {
93
- totalMembers: number;
94
- };
95
- }[];
96
- error?: undefined;
97
- agentTimings?: undefined;
98
- } | {
99
- targetNetworks: never[];
100
- error: string;
101
- trace: {
102
- node: string;
103
- detail: string;
104
- data: {
105
- error: string;
106
- };
107
- }[];
108
- indexRelevancyScores?: undefined;
109
- agentTimings?: undefined;
110
- }>;
111
- /** Trace summary for {@link scopeNode}. */
112
- export declare function scopeTraceSummary(result: unknown): string | undefined;
113
- /**
114
- * Node 2: Resolve
115
- * Resolves trigger intent from triggerIntentId or searchQuery vs indexedIntents;
116
- * sets discoverySource, resolvedTriggerIntentId, resolvedIntentInIndex for routing (path A/B/C).
117
- */
118
- export declare function resolveNode(state: OpportunityState, deps: OpportunityGraphDeps): Promise<{
119
- resolvedTriggerIntentId: undefined;
120
- resolvedIntentInIndex: boolean;
121
- discoverySource: "context";
122
- error: string;
123
- trace?: undefined;
124
- } | {
125
- resolvedTriggerIntentId: Id<"intents">;
126
- resolvedIntentInIndex: boolean;
127
- discoverySource: "intent" | "context";
128
- error?: undefined;
129
- trace?: undefined;
130
- } | {
131
- resolvedTriggerIntentId: undefined;
132
- resolvedIntentInIndex: boolean;
133
- discoverySource: "context";
134
- error?: undefined;
135
- trace?: undefined;
136
- } | {
137
- resolvedTriggerIntentId: undefined;
138
- resolvedIntentInIndex: boolean;
139
- discoverySource: "context";
140
- error: string;
141
- trace: {
142
- node: string;
143
- detail: string;
144
- data: {
145
- error: string;
146
- };
147
- }[];
148
- }>;
149
- /** Trace summary for {@link resolveNode}. */
150
- export declare function resolveTraceSummary(result: unknown): string | undefined;
@@ -1,381 +0,0 @@
1
- /**
2
- * Discovery pipeline, stages 0–2: prep, scope, resolve.
3
- *
4
- * Each stage is a top-level function taking the graph state and an explicit
5
- * dependency bag. `opportunity.graph.ts` wires them into the StateGraph.
6
- */
7
- import { Intents } from '../intents/intent.module.js';
8
- import { withCallLogging } from '../shared/observability/protocol.logger.js';
9
- import { timed } from '../shared/observability/performance.js';
10
- import { requestContext } from '../shared/observability/request-context.js';
11
- import { discoveryProfileMatchingEnabled, discoveryProfileSource } from './discovery.env.js';
12
- import { prepLog, scopeLog, resolveLog } from "./opportunity.graph.shared.js";
13
- /**
14
- * Node 0: Prep
15
- * Fetches user's network memberships and validates requirements.
16
- * Returns empty if user has no network memberships (requirement).
17
- */
18
- export async function prepNode(state, deps) {
19
- return timed("OpportunityGraph.prep", async () => withCallLogging(prepLog, 'prepNode', {
20
- userId: state.userId,
21
- hasSearchQuery: !!state.searchQuery,
22
- requestedIndexId: state.networkId ?? undefined,
23
- }, async () => {
24
- // Use getNetworkMemberships (all memberships) for search scope — NOT getUserIndexIds
25
- // (which filters by autoAssign=true and is intended only for intent assignment).
26
- const memberships = await deps.database.getNetworkMemberships(state.userId);
27
- const userNetworkIds = memberships.map(m => m.networkId);
28
- if (userNetworkIds.length === 0) {
29
- prepLog.verbose('User has no network memberships - cannot find opportunities');
30
- return {
31
- userNetworks: [],
32
- sourceProfile: null,
33
- error: 'You need to join at least one network to find opportunities.',
34
- };
35
- }
36
- const discoveryUserId = state.onBehalfOfUserId ?? state.userId;
37
- const [intents, profile] = await Promise.all([
38
- deps.database.getActiveIntents(discoveryUserId),
39
- deps.database.getProfile(discoveryUserId),
40
- ]);
41
- const indexedIntents = intents.map((intent) => ({
42
- intentId: intent.id,
43
- payload: intent.payload,
44
- summary: intent.summary ?? undefined,
45
- indexes: [],
46
- }));
47
- const sourceProfile = profile
48
- ? {
49
- identity: profile.identity ?? undefined,
50
- context: profile.context ?? undefined,
51
- }
52
- : null;
53
- // Source premises are loaded after scope is resolved so premise discovery
54
- // only uses premises assigned to the target network(s), and only up to
55
- // DISCOVERY_SOURCE_PREMISE_LIMIT. Loading all premises here caused
56
- // BACKEND-5: thousands of parallel vector searches for premise-rich users.
57
- const sourcePremises = [];
58
- const profileEnabled = discoveryProfileMatchingEnabled();
59
- // Context-backed discovery is exclusively the user_context profile-source
60
- // strategy. Premise mode must not load contexts or emit context-to-intent
61
- // evidence merely because intent matching is also enabled.
62
- const userContextProfileEnabled = profileEnabled && discoveryProfileSource() === 'user_context';
63
- const contextToIntentEnabled = userContextProfileEnabled && process.env.DISCOVERY_CONTEXT_TO_INTENT !== '0';
64
- const contextToContextEnabled = userContextProfileEnabled;
65
- const rawContexts = (contextToIntentEnabled || contextToContextEnabled) && typeof deps.database.getUserContexts === 'function'
66
- ? await deps.database.getUserContexts(discoveryUserId)
67
- : [];
68
- const sourceContexts = rawContexts
69
- // The global row (networkId: null) is excluded here — it is not in
70
- // userNetworkIds — so context-to-intent discovery stays network-scoped.
71
- .filter((c) => c.embedding && c.embedding.length > 0 && c.networkId !== null && userNetworkIds.includes(c.networkId))
72
- .map((c) => ({
73
- contextId: c.id,
74
- networkId: c.networkId,
75
- text: c.text,
76
- embedding: c.embedding,
77
- }));
78
- return {
79
- userNetworks: userNetworkIds,
80
- indexedIntents,
81
- sourceProfile,
82
- sourcePremises,
83
- sourceContexts,
84
- trace: [{
85
- node: "prep",
86
- detail: `${userNetworkIds.length} network(s), ${intents.length} intent(s), premise discovery deferred, ${sourceContexts.length} context(s), ${profile ? 'profile loaded' : 'no profile'}`,
87
- }],
88
- };
89
- }, { context: { userId: state.userId }, logOutput: true }).catch((error) => {
90
- const errMsg = error instanceof Error ? error.message : String(error);
91
- prepLog.error('Failed', { error });
92
- return {
93
- error: 'Failed to prepare opportunity search. Please try again.',
94
- trace: [{
95
- node: "prep_fatal",
96
- detail: `Prep failed: ${errMsg}`,
97
- data: { error: errMsg },
98
- }],
99
- };
100
- }));
101
- }
102
- /** Trace summary for {@link prepNode}. */
103
- export function prepTraceSummary(result) {
104
- const r = result;
105
- if (r?.error)
106
- return `error: ${r.error}`;
107
- const indexes = r?.userNetworks;
108
- const intents = r?.indexedIntents;
109
- return indexes && intents ? `${indexes.length} index(es), ${intents.length} intent(s)` : undefined;
110
- }
111
- /**
112
- * Node 1: Scope
113
- * Determines which indexes to search within.
114
- * If networkId provided: searches only that index.
115
- * Otherwise: searches all user's indexes.
116
- */
117
- export async function scopeNode(state, deps) {
118
- return timed("OpportunityGraph.scope", async () => {
119
- scopeLog.verbose('Determining search scope', {
120
- requestedIndexId: state.networkId,
121
- userNetworksCount: state.userNetworks.length,
122
- });
123
- try {
124
- let targetIndexIds;
125
- if (state.networkId) {
126
- // Validate user is member or owner of requested network
127
- const isInScope = state.userNetworks.includes(state.networkId);
128
- const isOwner = !isInScope && await deps.database.isIndexOwner(state.networkId, state.userId);
129
- if (!isInScope && !isOwner) {
130
- scopeLog.warn('User not member of requested network', {
131
- networkId: state.networkId,
132
- });
133
- return {
134
- targetNetworks: [],
135
- error: 'You are not a member of that network.',
136
- };
137
- }
138
- targetIndexIds = [state.networkId];
139
- }
140
- else if (state.indexScope !== undefined) {
141
- // Bounded scope (e.g. a network-scoped agent's reachable networks):
142
- // intersect with the user's actual memberships so discovery never
143
- // reaches networks outside the agent's bound scope. An explicit
144
- // empty scope is authoritative and must fail closed.
145
- const allowed = new Set(state.indexScope);
146
- targetIndexIds = state.userNetworks.filter((n) => allowed.has(n));
147
- scopeLog.verbose('Applied indexScope intersection', {
148
- indexScopeCount: state.indexScope.length,
149
- userNetworksCount: state.userNetworks.length,
150
- targetCount: targetIndexIds.length,
151
- });
152
- }
153
- else {
154
- // Search all user's indexes
155
- targetIndexIds = state.userNetworks;
156
- }
157
- if (state.triggerIntentId) {
158
- // A trigger intent is an authoritative discovery boundary, not just
159
- // ranking context. Recompute the intersection at the graph edge so
160
- // direct chat/MCP callers cannot bypass FromIntentQueue admission.
161
- const assignedNetworkIds = new Set(await deps.database.getNetworkIdsForIntent(state.triggerIntentId));
162
- const activeOwnerNetworkIds = new Set(state.userNetworks);
163
- targetIndexIds = targetIndexIds.filter((networkId) => assignedNetworkIds.has(networkId) && activeOwnerNetworkIds.has(networkId));
164
- scopeLog.verbose('Applied trigger-intent network intersection', {
165
- triggerIntentId: state.triggerIntentId,
166
- assignedCount: assignedNetworkIds.size,
167
- targetCount: targetIndexIds.length,
168
- });
169
- }
170
- // Fetch index details
171
- const targetNetworks = await Promise.all(targetIndexIds.map(async (networkId) => {
172
- const index = await deps.database.getNetwork(networkId);
173
- const memberCount = await deps.database.getNetworkMemberCount(networkId);
174
- return {
175
- networkId,
176
- title: index?.title ?? 'Unknown',
177
- memberCount,
178
- };
179
- }));
180
- scopeLog.verbose('Scope determined', {
181
- targetIndexesCount: targetNetworks.length,
182
- indexes: targetNetworks.map(i => i.title),
183
- });
184
- // ── Populate index relevancy scores for dedup tie-breaking ──
185
- const indexRelevancyScores = {};
186
- if (state.triggerIntentId) {
187
- // Background path: look up persisted scores from intent_indexes
188
- try {
189
- const scores = await deps.database.getIntentIndexScores(state.triggerIntentId);
190
- for (const { networkId, relevancyScore } of scores) {
191
- if (relevancyScore != null) {
192
- indexRelevancyScores[networkId] = relevancyScore;
193
- }
194
- }
195
- }
196
- catch (err) {
197
- scopeLog.warn('Failed to load intent index scores', { triggerIntentId: state.triggerIntentId, error: err });
198
- }
199
- }
200
- else if (state.searchQuery?.trim()) {
201
- // Chat path: score query against target indexes in parallel
202
- try {
203
- const indexer = new Intents();
204
- const scopeAgentTimings = [];
205
- const scorableIndexes = targetNetworks.filter(ti => ti.title !== 'Unknown');
206
- const scoringPromises = scorableIndexes.map(async (ti) => {
207
- const ctx = await deps.database.getNetworkMemberContext(ti.networkId, state.userId);
208
- if (!ctx?.indexPrompt?.trim() && !ctx?.memberPrompt?.trim()) {
209
- return { networkId: ti.networkId, score: 1.0 };
210
- }
211
- const _indexerStart = Date.now();
212
- const traceEmitter = requestContext.getStore()?.traceEmitter;
213
- traceEmitter?.({ type: "agent_start", name: "intent-networker" });
214
- let result = null;
215
- try {
216
- result = await indexer.indexIntent(state.searchQuery, ctx?.indexPrompt ?? null, ctx?.memberPrompt ?? null);
217
- }
218
- catch {
219
- return { networkId: ti.networkId, score: 1.0 };
220
- }
221
- finally {
222
- const _indexerDuration = Date.now() - _indexerStart;
223
- traceEmitter?.({ type: "agent_end", name: "intent-networker", durationMs: _indexerDuration, summary: `Scored index ${ti.networkId}` });
224
- scopeAgentTimings.push({ name: 'intent.indexer', durationMs: _indexerDuration });
225
- }
226
- if (!result)
227
- return { networkId: ti.networkId, score: 1.0 };
228
- const score = ctx?.indexPrompt && ctx?.memberPrompt
229
- ? result.indexScore * 0.6 + result.memberScore * 0.4
230
- : ctx?.indexPrompt ? result.indexScore : result.memberScore;
231
- return { networkId: ti.networkId, score };
232
- });
233
- const results = await Promise.all(scoringPromises);
234
- for (const { networkId, score } of results) {
235
- indexRelevancyScores[networkId] = score;
236
- }
237
- // Accumulate indexer timings into graph state
238
- if (scopeAgentTimings.length > 0) {
239
- return {
240
- targetNetworks,
241
- indexRelevancyScores,
242
- agentTimings: scopeAgentTimings,
243
- trace: [{
244
- node: "scope",
245
- detail: `Searching ${targetNetworks.length} index(es): ${targetNetworks.map(i => `${i.title} (${i.memberCount})`).join(', ')}`,
246
- data: { totalMembers: targetNetworks.reduce((sum, i) => sum + i.memberCount, 0) },
247
- }],
248
- };
249
- }
250
- }
251
- catch (err) {
252
- scopeLog.warn('Failed to score query against indexes', { error: err });
253
- }
254
- }
255
- const totalMembers = targetNetworks.reduce((sum, i) => sum + i.memberCount, 0);
256
- return {
257
- targetNetworks,
258
- indexRelevancyScores,
259
- trace: [{
260
- node: "scope",
261
- detail: `Searching ${targetNetworks.length} index(es): ${targetNetworks.map(i => `${i.title} (${i.memberCount})`).join(', ')}`,
262
- data: { totalMembers },
263
- }],
264
- };
265
- }
266
- catch (error) {
267
- const errMsg = error instanceof Error ? error.message : String(error);
268
- scopeLog.error('Failed', { error });
269
- return {
270
- targetNetworks: [],
271
- error: 'Failed to determine search scope.',
272
- trace: [{
273
- node: "scope_fatal",
274
- detail: `Scope failed: ${errMsg}`,
275
- data: { error: errMsg },
276
- }],
277
- };
278
- }
279
- });
280
- }
281
- /** Trace summary for {@link scopeNode}. */
282
- export function scopeTraceSummary(result) {
283
- const r = result;
284
- if (r?.error)
285
- return `error: ${r.error}`;
286
- const indexes = r?.targetNetworks;
287
- return indexes ? `${indexes.length} index(es) in scope` : undefined;
288
- }
289
- /**
290
- * Node 2: Resolve
291
- * Resolves trigger intent from triggerIntentId or searchQuery vs indexedIntents;
292
- * sets discoverySource, resolvedTriggerIntentId, resolvedIntentInIndex for routing (path A/B/C).
293
- */
294
- export async function resolveNode(state, deps) {
295
- return timed("OpportunityGraph.resolve", async () => {
296
- resolveLog.verbose('Resolving intent and network membership', {
297
- triggerIntentId: state.triggerIntentId,
298
- hasSearchQuery: !!state.searchQuery,
299
- indexedIntentsCount: state.indexedIntents.length,
300
- });
301
- const targetIndexIds = state.targetNetworks.map((t) => t.networkId);
302
- try {
303
- let resolvedIntentId;
304
- if (state.triggerIntentId) {
305
- const isOwnedActiveIntent = state.indexedIntents.some((intent) => intent.intentId === state.triggerIntentId);
306
- if (!isOwnedActiveIntent) {
307
- resolveLog.warn('Trigger intent is not an active intent owned by the discovery user', {
308
- triggerIntentId: state.triggerIntentId,
309
- userId: state.userId,
310
- });
311
- return {
312
- resolvedTriggerIntentId: undefined,
313
- resolvedIntentInIndex: false,
314
- discoverySource: 'context',
315
- error: 'Trigger intent is not available for discovery.',
316
- };
317
- }
318
- const inNetwork = await deps.database.getNetworkIdsForIntent(state.triggerIntentId);
319
- const inTarget = inNetwork.some((id) => targetIndexIds.includes(id));
320
- resolvedIntentId = state.triggerIntentId;
321
- const resolvedIntentInIndex = inTarget;
322
- const discoverySource = resolvedIntentInIndex ? 'intent' : 'context';
323
- return {
324
- resolvedTriggerIntentId: resolvedIntentId,
325
- resolvedIntentInIndex,
326
- discoverySource,
327
- };
328
- }
329
- if (state.searchQuery?.trim() && state.indexedIntents.length > 0) {
330
- const q = state.searchQuery.trim().toLowerCase();
331
- const matched = state.indexedIntents.find((i) => i.payload?.toLowerCase().includes(q));
332
- if (matched) {
333
- resolvedIntentId = matched.intentId;
334
- const inNetwork = await deps.database.getNetworkIdsForIntent(matched.intentId);
335
- const resolvedIntentInIndex = inNetwork.some((id) => targetIndexIds.includes(id));
336
- const discoverySource = resolvedIntentInIndex ? 'intent' : 'context';
337
- return {
338
- resolvedTriggerIntentId: resolvedIntentId,
339
- resolvedIntentInIndex,
340
- discoverySource,
341
- };
342
- }
343
- resolveLog.warn('No intent matched search query; leaving resolvedIntentId unset', {
344
- searchQuery: state.searchQuery,
345
- indexedIntentsCount: state.indexedIntents.length,
346
- });
347
- }
348
- return {
349
- resolvedTriggerIntentId: undefined,
350
- resolvedIntentInIndex: false,
351
- discoverySource: 'context',
352
- };
353
- }
354
- catch (err) {
355
- const errMsg = err instanceof Error ? err.message : String(err);
356
- resolveLog.error('Failed', {
357
- triggerIntentId: state.triggerIntentId,
358
- searchQuery: state.searchQuery,
359
- error: err,
360
- });
361
- return {
362
- resolvedTriggerIntentId: undefined,
363
- resolvedIntentInIndex: false,
364
- discoverySource: 'context',
365
- error: errMsg || 'Resolve failed',
366
- trace: [{
367
- node: "resolve_fatal",
368
- detail: `Resolve failed: ${errMsg}`,
369
- data: { error: errMsg },
370
- }],
371
- };
372
- }
373
- });
374
- }
375
- /** Trace summary for {@link resolveNode}. */
376
- export function resolveTraceSummary(result) {
377
- const r = result;
378
- if (r?.error)
379
- return `error: ${r.error}`;
380
- return r?.discoverySource ? `source: ${r.discoverySource}` : undefined;
381
- }