@indexnetwork/protocol 22.0.0-rc.499.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 -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,56 +1,10 @@
1
+ import type { NegotiationOpening, NegotiationOpeningDecision } from '../../protocol/negotiation.rules.js';
1
2
  /**
2
- * Database operations for HyDE documents and the opportunity lifecycle.
3
+ * Database operations for the opportunity lifecycle.
3
4
  */
4
- import type { OutcomeOutbox } from './database.capabilities.js';
5
- import type { CreateHydeDocumentData, CreateOpportunityData, HydeDocument, HydeSourceType, IntentScopedOpportunityPersistenceResult, Opportunity, OpportunityActor, OpportunityNetworkEligibility, OpportunityQueryOptions, OpportunityStatus } from './database.entities.js';
6
- /** HyDE document and opportunity persistence operations. */
5
+ import type { CreateIntentCounterpartyData, CreateOpportunityData, IntentScopedOpportunityPersistenceResult, OpenedNegotiation, Opportunity, OpportunityActor, OpportunityNetworkEligibility, OpportunityQueryOptions, OpportunityStatus } from './entities.js';
6
+ /** Opportunity persistence operations. */
7
7
  export interface DatabaseOpportunityQueries {
8
- /**
9
- * Get a HyDE document by source and strategy/lens hash.
10
- * Returns the first matching document when multiple target corpuses exist.
11
- *
12
- * @param sourceType - 'intent' | 'query'
13
- * @param sourceId - Source entity ID (e.g. intent ID, user ID)
14
- * @param strategy - Lens hash (SHA-256 of lens label) or legacy strategy name
15
- * @returns The HyDE document or null if not found
16
- */
17
- getHydeDocument(sourceType: HydeSourceType, sourceId: string, strategy: string): Promise<HydeDocument | null>;
18
- /**
19
- * Get all HyDE documents for a source (all strategies).
20
- *
21
- * @param sourceType - 'intent' | 'query'
22
- * @param sourceId - Source entity ID
23
- * @returns Array of HyDE documents for that source
24
- */
25
- getHydeDocumentsForSource(sourceType: HydeSourceType, sourceId: string): Promise<HydeDocument[]>;
26
- /**
27
- * Save a HyDE document (upsert by sourceType + sourceId + strategy/lensHash + targetCorpus).
28
- *
29
- * @param data - HyDE document data
30
- * @returns The saved HyDE document
31
- */
32
- saveHydeDocument(data: CreateHydeDocumentData): Promise<HydeDocument>;
33
- /**
34
- * Delete all HyDE documents for a source (e.g. when intent archived).
35
- *
36
- * @param sourceType - 'intent' | 'query'
37
- * @param sourceId - Source entity ID
38
- * @returns Number of documents deleted
39
- */
40
- deleteHydeDocumentsForSource(sourceType: HydeSourceType, sourceId: string): Promise<number>;
41
- /**
42
- * Delete expired HyDE documents (expires_at <= now). Used by maintenance jobs.
43
- *
44
- * @returns Number of documents deleted
45
- */
46
- deleteExpiredHydeDocuments(): Promise<number>;
47
- /**
48
- * Get stale HyDE documents for refresh (e.g. createdAt < threshold).
49
- *
50
- * @param threshold - Date threshold; documents created before this are considered stale
51
- * @returns Array of stale HyDE documents
52
- */
53
- getStaleHydeDocuments(threshold: Date): Promise<HydeDocument[]>;
54
8
  /**
55
9
  * Create a new opportunity.
56
10
  *
@@ -58,6 +12,16 @@ export interface DatabaseOpportunityQueries {
58
12
  * @returns The created opportunity
59
13
  */
60
14
  createOpportunity(data: CreateOpportunityData): Promise<Opportunity>;
15
+ /**
16
+ * Turn every pair discovery scored into an opportunity with a negotiation
17
+ * record beside it, and hand back the ones that were newly opened.
18
+ *
19
+ * There is no open decision to make: whether a match is worth pursuing is
20
+ * the initiator's first turn. Implementations key on `pairKey`, so a pair the
21
+ * counterparty's run already opened is skipped and the result is exactly the
22
+ * set the caller still owes a `negotiation.turn`.
23
+ */
24
+ openCounterparties(pairs: CreateIntentCounterpartyData[], decide: (pair: NegotiationOpening) => NegotiationOpeningDecision): Promise<OpenedNegotiation[]>;
61
25
  /**
62
26
  * Atomically create only while every actor still has an active membership on
63
27
  * the actor's network. Implementations lock the membership rows through the
@@ -66,13 +30,13 @@ export interface DatabaseOpportunityQueries {
66
30
  createOpportunityIfNetworkEligible?(data: CreateOpportunityData, eligibility: OpportunityNetworkEligibility): Promise<Opportunity | null>;
67
31
  /**
68
32
  * Intent-scoped discovery persistence boundary. Implementations serialize on
69
- * normalized participant pair + trigger intent, re-check same-trigger recent
70
- * duplicates and pair-global active negotiations, then create/expire while
71
- * the existing network eligibility locks remain held.
33
+ * the normalized intent pair, reject any existing opportunity for that exact
34
+ * pair, then create/expire while the existing network eligibility locks
35
+ * remain held. Other intents remain fully independent.
72
36
  */
73
37
  persistIntentScopedOpportunityIfNetworkEligible?(data: CreateOpportunityData, expireIds: string[], eligibility: OpportunityNetworkEligibility & {
74
38
  triggerIntentId: string;
75
- }, dedupWindowMs: number): Promise<IntentScopedOpportunityPersistenceResult | null>;
39
+ }): Promise<IntentScopedOpportunityPersistenceResult | null>;
76
40
  /**
77
41
  * Atomically update status only while the supplied participant anchors remain
78
42
  * active and, when supplied, the opportunity still has `expectedStatus`.
@@ -138,7 +102,7 @@ export interface DatabaseOpportunityQueries {
138
102
  */
139
103
  getLivePoolOpportunitiesForIntent(recipientUserId: string, intentId: string): Promise<Opportunity[]>;
140
104
  /**
141
- * Get opportunities in an index (for index admins).
105
+ * Get opportunities in a network (for network admins).
142
106
  *
143
107
  * @param networkId - Network ID
144
108
  * @param options - Optional filters and pagination
@@ -150,45 +114,9 @@ export interface DatabaseOpportunityQueries {
150
114
  *
151
115
  * @param id - Opportunity ID
152
116
  * @param status - New status
153
- * @param acceptedBy - Required when `status === 'accepted'`
154
- * @param outbox - Optional IND-434 atomic outcome-capture (same-txn insert)
155
117
  * @returns The updated opportunity or null if not found
156
118
  */
157
- updateOpportunityStatus(id: string, status: OpportunityStatus, acceptedBy?: string, outbox?: OutcomeOutbox): Promise<Opportunity | null>;
158
- /**
159
- * Atomically restores a taskless negotiation attempt to its pre-negotiation status.
160
- * Serializes with exact-attempt task creation, then transitions only the exact
161
- * still-current `negotiating` version when no qualifying negotiation task exists.
162
- *
163
- * @param id - Opportunity ID
164
- * @param expectedUpdatedAt - Persistence boundary for this negotiation attempt
165
- * @param fallbackStatus - Status restored when the guarded transition succeeds
166
- * @returns The compensated opportunity, or null on a status, version, or task race
167
- */
168
- compensateTasklessNegotiatingOpportunity(id: string, expectedUpdatedAt: Date, fallbackStatus: 'latent' | 'draft'): Promise<Opportunity | null>;
169
- /**
170
- * Stamp `actedAt` on the actor matching `actorUserId` and update the
171
- * opportunity's status atomically (row-lock + JSONB merge in one txn).
172
- *
173
- * Used by `sendNode` (status → 'pending') and `updateNode` (status →
174
- * 'accepted'). The self-accept guard is enforced in the caller, not here —
175
- * this method blindly stamps. Callers must pre-check `actor.actedAt` before
176
- * invocation when the semantics require it (i.e. accepting).
177
- *
178
- * @param id - Opportunity ID
179
- * @param actorUserId - The user whose actor entry should be stamped
180
- * @param status - New opportunity status
181
- * @param acceptedBy - Required when `status === 'accepted'`
182
- * @param outbox - Optional IND-434 atomic outcome-capture (same-txn insert)
183
- * @returns The updated opportunity, or null if not found
184
- */
185
- stampOpportunityActorAction(id: string, actorUserId: string, status: OpportunityStatus, acceptedBy?: string, outbox?: OutcomeOutbox): Promise<Opportunity | null>;
186
- /**
187
- * Update the `approved` field on an opportunity's introducer actor.
188
- * Fetches the opportunity, patches the matching actor in JS, and writes
189
- * the updated actors JSONB back. Returns the updated opportunity or null.
190
- */
191
- updateOpportunityActorApproval(id: string, introducerUserId: string, approved: boolean): Promise<Opportunity | null>;
119
+ updateOpportunityStatus(id: string, status: OpportunityStatus): Promise<Opportunity | null>;
192
120
  /**
193
121
  * Create one opportunity and expire others in a single transaction.
194
122
  * Atomic: insert then update status to 'expired' for each id in expireIds.
@@ -208,7 +136,7 @@ export interface DatabaseOpportunityQueries {
208
136
  expired: Opportunity[];
209
137
  } | null>;
210
138
  /**
211
- * Check if an opportunity already exists between the given actors in the index (deduplication).
139
+ * Check if an opportunity already exists between the given actors in the network (deduplication).
212
140
  *
213
141
  * @param actorIds - Array of user IDs that would be actors
214
142
  * @param networkId - Network ID
@@ -219,7 +147,7 @@ export interface DatabaseOpportunityQueries {
219
147
  * Find opportunities whose actors contain all the given user IDs.
220
148
  *
221
149
  * The `includeIntroducers` flag controls actor matching: when false (default), matching
222
- * is restricted to non-introducer roles; when true, any role in `actors` counts.
150
+ * is restricted by role; when true, any role in `actors` counts.
223
151
  *
224
152
  * Index-agnostic. Ordered by updatedAt desc.
225
153
  *
@@ -236,7 +164,7 @@ export interface DatabaseOpportunityQueries {
236
164
  * IND-567 Rejection cool-down: returns the subset of `candidateUserIds` that
237
165
  * have at least one non-draft opportunity with `discovererId` whose `updatedAt`
238
166
  * falls within the last `windowMs` milliseconds AND whose status is `rejected`
239
- * or `stalled`. Used by the evaluation node to apply a score penalty before
167
+ * `rejected`. Used by the evaluation node to apply a score penalty before
240
168
  * sending candidates to the LLM, suppressing cross-query re-surfacing of
241
169
  * recently-rejected pairs.
242
170
  *
@@ -246,7 +174,7 @@ export interface DatabaseOpportunityQueries {
246
174
  * @param discovererId - User running discovery
247
175
  * @param candidateUserIds - Candidate user IDs to check (may be empty — return [])
248
176
  * @param windowMs - Look-back window in milliseconds
249
- * @returns Candidate user IDs (subset of input) with a recent rejected/stalled opp
177
+ * @returns Candidate user IDs (subset of input) with a recent rejected opp
250
178
  */
251
179
  getRecentlyRejectedOpportunityCounterparties?(discovererId: string, candidateUserIds: string[], windowMs: number): Promise<string[]>;
252
180
  /**
@@ -257,7 +185,7 @@ export interface DatabaseOpportunityQueries {
257
185
  */
258
186
  expireOpportunitiesByIntent(intentId: string): Promise<number>;
259
187
  /**
260
- * Expire opportunities for a user removed from an index.
188
+ * Expire opportunities for a user removed from a network.
261
189
  *
262
190
  * @param networkId - Network ID
263
191
  * @param userId - User ID that was removed
@@ -270,16 +198,4 @@ export interface DatabaseOpportunityQueries {
270
198
  * @returns Number of opportunities updated to expired
271
199
  */
272
200
  expireStaleOpportunities(): Promise<number>;
273
- /**
274
- * Accept all sibling opportunities between the same actor pair in one transaction.
275
- * Selects opportunities where both userId and counterpartUserId are actors and status
276
- * is not accepted/expired/rejected, excludes excludeOpportunityId, then bulk-updates status to accepted.
277
- * Rolls back on any failure.
278
- *
279
- * @param userId - First actor user ID
280
- * @param counterpartUserId - Second actor user ID
281
- * @param excludeOpportunityId - Opportunity ID to exclude (the one already being accepted)
282
- * @returns IDs of opportunities that were updated to accepted
283
- */
284
- acceptSiblingOpportunities(userId: string, counterpartUserId: string, excludeOpportunityId: string): Promise<string[]>;
285
201
  }
@@ -5,50 +5,18 @@
5
5
  * interfaces keeps each group readable without changing the type one bit —
6
6
  * every `Pick<Database, ...>` alias still resolves exactly as before.
7
7
  */
8
- import type { UserIdentity } from '../schemas/identity.schema.js';
9
- import type { NetworkAssignmentMetadata } from '../schemas/network-assignment.schema.js';
10
- import type { ActiveIntent, ArchiveResult, CreateHydeDocumentData, CreateIntentData, CreateOpportunityData, CreatedIntent, HydeDocument, HydeSourceType, Id, IndexMemberDetails, IndexedIntentDetails, IntentRecord, NetworkAssignmentContext, NetworkMembership, OnboardingState, Opportunity, OpportunityQueryOptions, OpportunityStatus, OwnedIndex, SimilarIntent, SimilarIntentSearchOptions, UpdateIndexSettingsData, UpdateIntentData, UserRecord, UserSocial } from './database.entities.js';
11
- import type { DatabaseIdentityQueries } from './database.identity-queries.js';
12
- import type { DatabaseMemberQueries } from './database.member-queries.js';
13
- import type { DatabaseNetworkQueries } from './database.network-queries.js';
14
- import type { DatabaseOpportunityQueries } from './database.opportunity-queries.js';
15
- /**
16
- * Abstract database interface for performing specific domain operations.
17
- * Decouples the protocol layer from the infrastructure layer.
18
- */
19
- export interface Database extends DatabaseIdentityQueries, DatabaseNetworkQueries, DatabaseOpportunityQueries, DatabaseMemberQueries {
20
- }
8
+ import type { UserIdentity } from '../../protocol/schemas/identity.schema.js';
9
+ import type { NetworkAssignmentMetadata } from '../../protocol/schemas/network-assignment.schema.js';
10
+ import type { ActiveIntent, ArchiveResult, CreateIntentData, CreateOpportunityData, CreatedIntent, Id, IntentRecord, NetworkAssignmentContext, NetworkIntentDetails, NetworkMemberDetails, NetworkMembership, OnboardingState, Opportunity, OpportunityQueryOptions, OpportunityStatus, OwnedNetwork, SimilarIntent, SimilarIntentSearchOptions, UpdateIntentData, UpdateNetworkSettingsData, UserRecord, UserSocial } from './entities.js';
21
11
  /**
22
12
  * Context-bound database for accessing the authenticated user's own resources.
23
13
  * Created with authUserId bound at construction; no userId parameter needed on methods.
24
14
  *
25
- * **NOT network-scoped**: Returns ALL of the user's own resources regardless of index.
15
+ * **NOT network-scoped**: Returns ALL of the user's own resources regardless of network.
26
16
  * This is critical for the IntentReconciler which needs the full picture for deduplication.
27
17
  *
28
18
  * Use via `createUserDatabase(db, authUserId)` factory function.
29
19
  */
30
- export interface AgentActivitySummary {
31
- /** The requested reporting window, in hours. */
32
- sinceHours: number;
33
- /** Number of the user's own non-archived ACTIVE intents. */
34
- liveSignalsWatched: number;
35
- /** Opportunities created in the window and linked to one of the user's intents. */
36
- opportunitiesSurfaced: number;
37
- /** Opportunity counts grouped by the user's own signal. */
38
- opportunitiesBySignal: Array<{
39
- intentId: string;
40
- title: string;
41
- count: number;
42
- }>;
43
- /** Current, non-expired questions waiting for the user, grouped by affected mode (QuestionMode values). Meta-network. */
44
- pendingQuestionsByMode: Record<string, number>;
45
- /** Questions answered by the user during the window, grouped by affected mode (QuestionMode values). Meta-network. */
46
- answeredQuestionsByMode: Record<string, number>;
47
- /** Distinct opportunity negotiations started during the window. */
48
- negotiationsStarted: number;
49
- /** Distinct opportunity negotiations completed during the window. */
50
- negotiationsCompleted: number;
51
- }
52
20
  export interface UserDatabase {
53
21
  /** The bound authenticated user ID */
54
22
  readonly authUserId: string;
@@ -76,7 +44,7 @@ export interface UserDatabase {
76
44
  label: string;
77
45
  value: string;
78
46
  }[]): Promise<void>;
79
- /** Get ALL active intents for the authenticated user (not index-filtered). */
47
+ /** Get ALL active intents for the authenticated user (not network-filtered). */
80
48
  getActiveIntents(): Promise<ActiveIntent[]>;
81
49
  /**
82
50
  * Case-insensitive substring search over the authenticated user's own
@@ -98,7 +66,7 @@ export interface UserDatabase {
98
66
  archiveIntent(intentId: string): Promise<ArchiveResult>;
99
67
  /** Find similar intents among the user's own intents (for deduplication). */
100
68
  findSimilarIntents(embedding: number[], options?: SimilarIntentSearchOptions): Promise<SimilarIntent[]>;
101
- /** Get intent fields for indexing (own intent). */
69
+ /** Get intent fields for network assignment (own intent). */
102
70
  getIntentForIndexing(intentId: string): Promise<{
103
71
  id: string;
104
72
  payload: string;
@@ -108,27 +76,27 @@ export interface UserDatabase {
108
76
  } | null>;
109
77
  /** Associate an intent with networks. */
110
78
  associateIntentWithNetworks(intentId: string, networkIds: string[]): Promise<void>;
111
- /** Assign an intent to an index. */
79
+ /** Assign an intent to a network. */
112
80
  assignIntentToNetwork(intentId: string, networkId: string, relevancyScore?: number, assignmentMetadata?: NetworkAssignmentMetadata): Promise<void>;
113
- /** Unassign an intent from an index. */
114
- unassignIntentFromIndex(intentId: string, networkId: string): Promise<void>;
81
+ /** Unassign an intent from a network. */
82
+ unassignIntentFromNetwork(intentId: string, networkId: string): Promise<void>;
115
83
  /** Get network IDs for an intent. */
116
84
  getNetworkIdsForIntent(intentId: string): Promise<string[]>;
117
- /** Check if intent is assigned to index. */
118
- isIntentAssignedToIndex(intentId: string, networkId: string): Promise<boolean>;
85
+ /** Check if intent is assigned to network. */
86
+ isIntentAssignedToNetwork(intentId: string, networkId: string): Promise<boolean>;
119
87
  /** Get all network memberships for the authenticated user. */
120
88
  getNetworkMemberships(): Promise<NetworkMembership[]>;
121
89
  /** Get network IDs with auto-assign enabled for the authenticated user. */
122
- getUserIndexIds(): Promise<string[]>;
123
- /** Get indexes owned by the authenticated user. */
124
- getOwnedIndexes(): Promise<OwnedIndex[]>;
90
+ getUserNetworkIds(): Promise<string[]>;
91
+ /** Get networks owned by the authenticated user. */
92
+ getOwnedNetworks(): Promise<OwnedNetwork[]>;
125
93
  /** Get a specific network membership for the authenticated user. */
126
94
  getNetworkMembership(networkId: string): Promise<NetworkMembership | null>;
127
- /** Get index + member context for the authenticated user (for auto-assign). */
95
+ /** Get network + member context for the authenticated user (for auto-assign). */
128
96
  getNetworkMemberContext(networkId: string): Promise<NetworkAssignmentContext | null>;
129
- /** Get index + member context for the authenticated user without auto-assign gating. */
97
+ /** Get network + member context for the authenticated user without auto-assign gating. */
130
98
  getNetworkAssignmentContext?(networkId: string): Promise<NetworkAssignmentContext | null>;
131
- /** Create a new index (user becomes owner). */
99
+ /** Create a new network (user becomes owner). */
132
100
  createNetwork(data: {
133
101
  title: string;
134
102
  prompt?: string | null;
@@ -146,12 +114,12 @@ export interface UserDatabase {
146
114
  } | null;
147
115
  };
148
116
  }>;
149
- /** Update index settings (owner only). */
150
- updateIndexSettings(networkId: string, data: UpdateIndexSettingsData): Promise<OwnedIndex>;
117
+ /** Update network settings (owner only). */
118
+ updateNetworkSettings(networkId: string, data: UpdateNetworkSettingsData): Promise<OwnedNetwork>;
151
119
  /** Soft-delete a network (owner only). */
152
120
  softDeleteNetwork(networkId: string): Promise<void>;
153
121
  /** Get public networks (joinPolicy 'anyone') that the user has not joined. */
154
- getPublicIndexesNotJoined(): Promise<{
122
+ getPublicNetworksNotJoined(): Promise<{
155
123
  networks: Array<{
156
124
  id: string;
157
125
  title: string;
@@ -169,99 +137,78 @@ export interface UserDatabase {
169
137
  success: boolean;
170
138
  alreadyMember?: boolean;
171
139
  }>;
172
- /**
173
- * Summarize the authenticated user's own agent activity without counterparty rows.
174
- * When `networkId` is present (a network agent's bound community), the
175
- * network-bound aggregates (opportunity and negotiation counts) are narrowed
176
- * to that community inside the query; own-signal and question aggregates are
177
- * meta-network and stay global.
178
- */
179
- getAgentActivitySummary(input: {
180
- sinceHours: number;
181
- networkId?: string;
182
- }): Promise<AgentActivitySummary>;
183
140
  /** Get opportunities where the authenticated user is an actor. */
184
141
  getOpportunitiesForUser(options?: OpportunityQueryOptions): Promise<Opportunity[]>;
185
142
  /** Get a specific opportunity (if user is an actor). */
186
143
  getOpportunity(id: string): Promise<Opportunity | null>;
187
- /** Update an opportunity's status (if user is an actor). acceptedBy is derived from the auth context. */
144
+ /** Update an opportunity's status (if user is an actor). */
188
145
  updateOpportunityStatus(id: string, status: OpportunityStatus): Promise<Opportunity | null>;
189
- /** Accept sibling opportunities between the authenticated user and another actor. */
190
- acceptSiblingOpportunities(counterpartUserId: string, excludeOpportunityId: string): Promise<string[]>;
191
- /** Get a HyDE document for the user's own source. */
192
- getHydeDocument(sourceType: HydeSourceType, sourceId: string, strategy: string): Promise<HydeDocument | null>;
193
- /** Get all HyDE documents for the user's own source. */
194
- getHydeDocumentsForSource(sourceType: HydeSourceType, sourceId: string): Promise<HydeDocument[]>;
195
- /** Save a HyDE document for the user's own source. */
196
- saveHydeDocument(data: CreateHydeDocumentData): Promise<HydeDocument>;
197
- /** Delete HyDE documents for the user's own source. */
198
- deleteHydeDocumentsForSource(sourceType: HydeSourceType, sourceId: string): Promise<number>;
199
146
  }
200
147
  /**
201
148
  * Context-bound database for LLM/system operations that access cross-user resources.
202
- * Created with authUserId + indexScope[]; validates membership before access.
149
+ * Created with authUserId + networkScope[]; validates membership before access.
203
150
  *
204
151
  * **Network-scoped**: All cross-user operations are restricted to users/resources
205
- * within the bound indexScope[]. This prevents the LLM from accessing arbitrary users' data.
152
+ * within the bound networkScope[]. This prevents the LLM from accessing arbitrary users' data.
206
153
  *
207
- * Use via `createSystemDatabase(db, authUserId, indexScope)` factory function.
154
+ * Use via `createSystemDatabase(db, authUserId, networkScope)` factory function.
208
155
  */
209
156
  export interface SystemDatabase {
210
157
  /** The bound authenticated user ID */
211
158
  readonly authUserId: string;
212
- /** The indexes the authenticated user has access to (determines cross-user scope) */
213
- readonly indexScope: string[];
159
+ /** The networks the authenticated user has access to (determines cross-user scope) */
160
+ readonly networkScope: string[];
214
161
  /** Get a user's profile (requires shared network membership). */
215
162
  getProfile(userId: string): Promise<UserIdentity | null>;
216
163
  /** Get a user's basic record (requires shared network membership). */
217
164
  getUser(userId: string): Promise<UserRecord | null>;
218
- /** Get all intents in an index (cross-user, requires membership). */
219
- getIntentsInIndex(networkId: string, options?: {
165
+ /** Get all intents in a network (cross-user, requires membership). */
166
+ getIntentsInNetwork(networkId: string, options?: {
220
167
  limit?: number;
221
168
  offset?: number;
222
- }): Promise<IndexedIntentDetails[]>;
223
- /** Get a specific user's intents in an index (requires shared membership). */
224
- getUserIntentsInIndex(userId: string, networkId: string): Promise<ActiveIntent[]>;
169
+ }): Promise<NetworkIntentDetails[]>;
170
+ /** Get a specific user's intents in a network (requires shared membership). */
171
+ getUserIntentsInNetwork(userId: string, networkId: string): Promise<ActiveIntent[]>;
225
172
  /**
226
- * Get the caller's own active intents across a set of indexes.
173
+ * Get the caller's own active intents across a set of networks.
227
174
  * Returns intents owned by `userId` that are linked (via intent_networks)
228
- * to at least one of `indexIds`. Used by network-scoped agents to honor
229
- * indexScope without falling back to global getActiveIntents (which would
230
- * include intents in indexes outside scope).
175
+ * to at least one of `networkIds`. Used by network-scoped agents to honor
176
+ * networkScope without falling back to global getActiveIntents (which would
177
+ * include intents in networks outside scope).
231
178
  *
232
179
  * @param userId - The intent owner (always the caller).
233
- * @param indexIds - The set of network IDs to filter on. Empty → empty result.
234
- * @returns Active intents owned by userId in any of indexIds, deduped by intent id.
180
+ * @param networkIds - The set of network IDs to filter on. Empty → empty result.
181
+ * @returns Active intents owned by userId in any of networkIds, deduped by intent id.
235
182
  */
236
- getActiveIntentsAcrossIndexes(userId: string, indexIds: string[]): Promise<ActiveIntent[]>;
183
+ getActiveIntentsAcrossNetworks(userId: string, networkIds: string[]): Promise<ActiveIntent[]>;
237
184
  /** Get a single intent by ID (if in scope). */
238
185
  getIntent(intentId: string): Promise<IntentRecord | null>;
239
186
  /** Find similar intents across users within the network scope. */
240
187
  findSimilarIntentsInScope(embedding: number[], options?: SimilarIntentSearchOptions): Promise<SimilarIntent[]>;
241
- /** Check if a user is a member of an index. */
188
+ /** Check if a user is a member of a network. */
242
189
  isNetworkMember(networkId: string, userId: string): Promise<boolean>;
243
- /** Check if a user is an owner of an index. */
244
- isIndexOwner(networkId: string, userId: string): Promise<boolean>;
245
- /** Get all members of an index (requires membership). */
246
- getNetworkMembers(networkId: string): Promise<IndexMemberDetails[]>;
190
+ /** Check if a user is an owner of a network. */
191
+ isNetworkOwner(networkId: string, userId: string): Promise<boolean>;
192
+ /** Get all members of a network (requires membership). */
193
+ getNetworkMembers(networkId: string): Promise<NetworkMemberDetails[]>;
247
194
  /** Get all members across all networks in scope (deduplicated). */
248
195
  getMembersFromScope(): Promise<{
249
196
  userId: Id<'users'>;
250
197
  name: string;
251
198
  avatar: string | null;
252
199
  }[]>;
253
- /** Add a user to an index (requires ownership or 'anyone' policy). */
200
+ /** Add a user to a network (requires ownership or 'anyone' policy). */
254
201
  addMemberToNetwork(networkId: string, userId: string, role: 'owner' | 'member'): Promise<{
255
202
  success: boolean;
256
203
  alreadyMember?: boolean;
257
204
  }>;
258
- /** Remove a user from an index (requires ownership). Cannot remove the owner. */
259
- removeMemberFromIndex(networkId: string, userId: string): Promise<{
205
+ /** Remove a user from a network (requires ownership). Cannot remove the owner. */
206
+ removeMemberFromNetwork(networkId: string, userId: string): Promise<{
260
207
  success: boolean;
261
208
  wasOwner?: boolean;
262
209
  notMember?: boolean;
263
210
  }>;
264
- /** Get index info by ID with core fields (requires scope). */
211
+ /** Get network info by ID with core fields (requires scope). */
265
212
  getNetwork(networkId: string): Promise<{
266
213
  id: string;
267
214
  title: string;
@@ -270,7 +217,7 @@ export interface SystemDatabase {
270
217
  metadata?: Record<string, unknown> | null;
271
218
  permissions?: Record<string, unknown> | null;
272
219
  } | null>;
273
- /** Get index with permissions (requires scope). */
220
+ /** Get network with permissions (requires scope). */
274
221
  getNetworkWithPermissions(networkId: string): Promise<{
275
222
  id: string;
276
223
  title: string;
@@ -278,7 +225,7 @@ export interface SystemDatabase {
278
225
  joinPolicy: 'anyone' | 'invite_only';
279
226
  };
280
227
  } | null>;
281
- /** Get member count for an index (requires scope). */
228
+ /** Get member count for a network (requires scope). */
282
229
  getNetworkMemberCount(networkId: string): Promise<number>;
283
230
  /** Create an opportunity (cross-user). */
284
231
  createOpportunity(data: CreateOpportunityData): Promise<Opportunity>;
@@ -289,13 +236,11 @@ export interface SystemDatabase {
289
236
  }>;
290
237
  /** Get an opportunity by ID (for system processing). */
291
238
  getOpportunity(id: string): Promise<Opportunity | null>;
292
- /** Get opportunities for an index (requires membership). */
239
+ /** Get opportunities for a network (requires membership). */
293
240
  getOpportunitiesForNetwork(networkId: string, options?: OpportunityQueryOptions): Promise<Opportunity[]>;
294
241
  /** Update an opportunity's status (system-level). */
295
- updateOpportunityStatus(id: string, status: OpportunityStatus, acceptedBy?: string): Promise<Opportunity | null>;
296
- /** Stamp actor `actedAt` + update status atomically (system-level). */
297
- stampOpportunityActorAction(id: string, actorUserId: string, status: OpportunityStatus, acceptedBy?: string): Promise<Opportunity | null>;
298
- /** Check if opportunity exists between actors in an index. */
242
+ updateOpportunityStatus(id: string, status: OpportunityStatus): Promise<Opportunity | null>;
243
+ /** Check if opportunity exists between actors in a network. */
299
244
  opportunityExistsBetweenActors(actorIds: string[], networkId: string): Promise<boolean>;
300
245
  /** Find opportunities by actor IDs with optional include/exclude status filters. */
301
246
  findOpportunitiesByActors(actorIds: string[], options?: {
@@ -309,14 +254,4 @@ export interface SystemDatabase {
309
254
  expireOpportunitiesForRemovedMember(networkId: string, userId: string): Promise<number>;
310
255
  /** Expire stale opportunities (maintenance). */
311
256
  expireStaleOpportunities(): Promise<number>;
312
- /** Get a HyDE document (cross-user for matching). */
313
- getHydeDocument(sourceType: HydeSourceType, sourceId: string, strategy: string): Promise<HydeDocument | null>;
314
- /** Get all HyDE documents for a source (cross-user). */
315
- getHydeDocumentsForSource(sourceType: HydeSourceType, sourceId: string): Promise<HydeDocument[]>;
316
- /** Save a HyDE document (system-level). */
317
- saveHydeDocument(data: CreateHydeDocumentData): Promise<HydeDocument>;
318
- /** Delete expired HyDE documents (maintenance). */
319
- deleteExpiredHydeDocuments(): Promise<number>;
320
- /** Get stale HyDE documents for refresh (maintenance). */
321
- getStaleHydeDocuments(threshold: Date): Promise<HydeDocument[]>;
322
257
  }
@@ -14,16 +14,14 @@ export {};
14
14
  // They are used by graph factories to enforce interface segregation at compile time.
15
15
  //
16
16
  // Access control relationship to UserDatabase/SystemDatabase:
17
- // - EnrichmentGraphDatabase → maps to UserDatabase (user's own profile operations)
18
17
  // - IntentGraphDatabase → maps to UserDatabase (mutations) + SystemDatabase (reads)
19
- // - OpportunityGraphDatabase → maps to SystemDatabase (cross-user operations)
20
- // - NetworkGraphDatabase → maps to UserDatabase (own indexes)
18
+ // - OpportunityDatabase → maps to SystemDatabase (cross-user operations)
19
+ // - NetworkGraphDatabase → maps to UserDatabase (own networks)
21
20
  // - IntentNetworkGraphDatabase → maps to both (own intent ↔ shared network)
22
21
  // - NetworkMembershipGraphDatabase → maps to SystemDatabase (cross-user)
23
- // - HydeGraphDatabase → maps to both (own HyDE vs cross-user matching)
24
22
  //
25
23
  // Graphs continue to use these narrowed types because:
26
24
  // 1. They receive the raw database adapter with userId passed per method
27
- // 2. Access control is enforced at the tool/factory layer via createUserDatabase/createSystemDatabase
25
+ // 2. Access control is enforced by the host via createUserDatabase/createSystemDatabase
28
26
  // 3. These types ensure graphs only depend on methods they actually use
29
27
  // ═══════════════════════════════════════════════════════════════════════════════
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The database port: a stable host contract, not a database implementation.
3
+ *
4
+ * The declarations moved into sibling modules — entities, the four query
5
+ * groups that compose `Database`, the access-scoped views, negotiation
6
+ * persistence, and the capability-narrowed aliases. Importers keep using this
7
+ * path; nothing about the types changed.
8
+ */
9
+ import type { DatabaseIdentityQueries } from "./database/identity-queries.js";
10
+ import type { DatabaseMemberQueries } from "./database/member-queries.js";
11
+ import type { DatabaseNetworkQueries } from "./database/network-queries.js";
12
+ import type { DatabaseOpportunityQueries } from "./database/opportunity-queries.js";
13
+ /** The complete persistence contract a host may implement. */
14
+ export interface Database extends DatabaseIdentityQueries, DatabaseNetworkQueries, DatabaseOpportunityQueries, DatabaseMemberQueries {
15
+ }
16
+ export type * from './database/entities.js';
17
+ export type * from './database/identity-queries.js';
18
+ export type * from './database/network-queries.js';
19
+ export type * from './database/opportunity-queries.js';
20
+ export type * from './database/member-queries.js';
21
+ export type * from './database/port.js';
22
+ export type * from './database/capabilities.js';
23
+ export type * from './database/negotiation.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * The database port, re-exported as one surface.
2
+ * The database port: a stable host contract, not a database implementation.
3
3
  *
4
4
  * The declarations moved into sibling modules — entities, the four query
5
5
  * groups that compose `Database`, the access-scoped views, negotiation
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Cache interface for protocol layer (HyDE, opportunities).
2
+ * Cache interface for protocol layer (opportunities).
3
3
  * Implementations live in src/adapters (e.g. Redis).
4
4
  */
5
5
  export interface CacheOptions {
@@ -31,12 +31,10 @@ export interface Cache {
31
31
  */
32
32
  mget<T>(keys: string[]): Promise<(T | null)[]>;
33
33
  /**
34
- * Delete all keys matching pattern (e.g. "hyde:intent:*").
34
+ * Delete all keys matching pattern (e.g. "opportunity:intent:*").
35
35
  * @returns Number of keys deleted
36
36
  */
37
37
  deleteByPattern(pattern: string): Promise<number>;
38
38
  }
39
- /** Cache interface for HyDE Graph operations. */
40
- export type HydeCache = Pick<Cache, 'get' | 'set' | 'delete' | 'exists'>;
41
39
  /** Cache interface for Opportunity Graph operations. */
42
40
  export type OpportunityCache = Pick<Cache, 'get' | 'set' | 'mget'>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Cache interface for protocol layer (HyDE, opportunities).
2
+ * Cache interface for protocol layer (opportunities).
3
3
  * Implementations live in src/adapters (e.g. Redis).
4
4
  */
5
5
  export {};
@@ -0,0 +1,31 @@
1
+ export interface EmbeddingGenerateOptions {
2
+ signal?: AbortSignal;
3
+ }
4
+ export interface EmbeddingGenerator {
5
+ generate(text: string | string[], dimensions?: number, options?: EmbeddingGenerateOptions): Promise<number[] | number[][]>;
6
+ }
7
+ export interface VectorSearchResult<T> {
8
+ item: T;
9
+ score: number;
10
+ }
11
+ export type VectorStoreOption<T> = {
12
+ limit?: number;
13
+ filter?: Record<string, unknown>;
14
+ candidates?: (T & {
15
+ embedding?: number[] | null;
16
+ })[];
17
+ minScore?: number;
18
+ };
19
+ export interface VectorStore {
20
+ /**
21
+ * Search for similar items in the vector store.
22
+ *
23
+ * @param queryVector - The embedding vector to search for
24
+ * @param collection - The logical name of the collection (e.g., 'profiles', 'intents')
25
+ * @param options - generic options including limit, filter, and candidates
26
+ */
27
+ search<T>(queryVector: number[], collection: string, options?: VectorStoreOption<T>): Promise<VectorSearchResult<T>[]>;
28
+ }
29
+ /** Embedding generation and vector search for protocol capabilities. */
30
+ export interface Embedder extends EmbeddingGenerator, VectorStore {
31
+ }
@@ -0,0 +1,6 @@
1
+ /** A stable access error a host can map without importing protocol internals. */
2
+ export declare class ChatContextAccessError extends Error {
3
+ readonly statusCode: number;
4
+ readonly code: "USER_NOT_FOUND" | "NETWORK_NOT_FOUND" | "NETWORK_MEMBERSHIP_REQUIRED";
5
+ constructor(message: string, statusCode: number, code: "USER_NOT_FOUND" | "NETWORK_NOT_FOUND" | "NETWORK_MEMBERSHIP_REQUIRED");
6
+ }