@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,274 +0,0 @@
1
- /**
2
- * Intent graph, stages 2-3: verify inferred signals, then reconcile against what exists.
3
- */
4
- import { timed } from "../../shared/observability/performance.js";
5
- import { requestContext } from "../../shared/observability/request-context.js";
6
- import { buildExplicitUpdateActions, enforceIntentActionBoundary, enrichVagueIntentWithContext, getSpecificityWarning, isVague, logger } from "./intent.graph.shared.js";
7
- /**
8
- * Node 2: Verification (Map-Reduce / Parallel)
9
- * Verifies each inferred intent in parallel.
10
- * Phase 4: Can be skipped for delete operations and updates with no new intents.
11
- */
12
- export async function verificationNode(state, deps) {
13
- return timed("IntentGraph.verification", async () => {
14
- const intents = state.inferredIntents;
15
- logger.verbose("Starting verification", {
16
- operationMode: state.operationMode,
17
- intentCount: intents.length
18
- });
19
- if (intents.length === 0) {
20
- logger.verbose("No intents to verify");
21
- return { verifiedIntents: [], agentTimings: [] };
22
- }
23
- logger.verbose('Verifying intents in parallel', { count: intents.length });
24
- const agentTimingsAccum = [];
25
- // Parallel Execution
26
- const verificationResults = await Promise.all(intents.map(async (intent) => {
27
- try {
28
- let description = intent.description;
29
- const _traceEmitterVerifier = requestContext.getStore()?.traceEmitter;
30
- const verifierStart1 = Date.now();
31
- _traceEmitterVerifier?.({ type: "agent_start", name: "intent-verifier" });
32
- let verdict = await deps.verifier.invoke(description, state.userProfile);
33
- agentTimingsAccum.push({ name: 'intent.verifier', durationMs: Date.now() - verifierStart1 });
34
- _traceEmitterVerifier?.({ type: "agent_end", name: "intent-verifier", durationMs: Date.now() - verifierStart1, summary: `Verified: ${verdict.classification}` });
35
- if (isVague(description, verdict.semantic_entropy, verdict.felicity_scores.clarity)) {
36
- // Role-hint enrichment for vague job intents reads the global
37
- // user_context paragraph instead of the structured profile fields.
38
- const roleHintContext = (await deps.database.getUserContext(state.userId, null))?.text ?? '';
39
- const enrichedDescription = enrichVagueIntentWithContext(description, roleHintContext);
40
- if (enrichedDescription !== description) {
41
- logger.verbose("Enriched vague intent using profile context", {
42
- before: description,
43
- after: enrichedDescription,
44
- });
45
- const _traceEmitterVerifier2 = requestContext.getStore()?.traceEmitter;
46
- const verifierStart2 = Date.now();
47
- _traceEmitterVerifier2?.({ type: "agent_start", name: "intent-verifier" });
48
- const enrichedVerdict = await deps.verifier.invoke(enrichedDescription, state.userProfile);
49
- agentTimingsAccum.push({ name: 'intent.verifier', durationMs: Date.now() - verifierStart2 });
50
- _traceEmitterVerifier2?.({ type: "agent_end", name: "intent-verifier", durationMs: Date.now() - verifierStart2, summary: `Verified (enriched): ${enrichedVerdict.classification}` });
51
- const becameClear = enrichedVerdict.semantic_entropy < verdict.semantic_entropy ||
52
- enrichedVerdict.felicity_scores.clarity > verdict.felicity_scores.clarity;
53
- if (becameClear) {
54
- description = enrichedDescription;
55
- verdict = enrichedVerdict;
56
- }
57
- }
58
- }
59
- // Filter Logic: Must be a Commissive, Directive, or Declaration
60
- const VALID_TYPES = ['COMMISSIVE', 'DIRECTIVE', 'DECLARATION'];
61
- if (!VALID_TYPES.includes(verdict.classification)) {
62
- logger.warn('Dropping intent', { description, classification: verdict.classification });
63
- return {
64
- failure: {
65
- category: 'non_actionable',
66
- classification: verdict.classification,
67
- referentialBreadth: verdict.referential_breadth,
68
- message: `Description was classified as ${verdict.classification}, not an actionable goal.`,
69
- },
70
- };
71
- }
72
- if (isVague(description, verdict.semantic_entropy, verdict.felicity_scores.clarity)) {
73
- logger.warn('Dropping vague intent after verification', {
74
- description,
75
- entropy: verdict.semantic_entropy,
76
- clarity: verdict.felicity_scores.clarity,
77
- });
78
- return {
79
- failure: {
80
- category: 'vague_or_invalid',
81
- classification: verdict.classification,
82
- referentialBreadth: verdict.referential_breadth,
83
- message: 'Description failed clarity or semantic-entropy requirements.',
84
- },
85
- };
86
- }
87
- if (state.operationMode === 'create' && verdict.referential_breadth === 'broad') {
88
- logger.warn('Dropping broad attributive intent before persistence', {
89
- description,
90
- referentialBreadth: verdict.referential_breadth,
91
- missingSelectionalConstraints: verdict.missing_selectional_constraints,
92
- warning: getSpecificityWarning(verdict),
93
- });
94
- return {
95
- failure: {
96
- category: 'vague_or_invalid',
97
- classification: verdict.classification,
98
- referentialBreadth: verdict.referential_breadth,
99
- message: getSpecificityWarning(verdict),
100
- },
101
- };
102
- }
103
- // Calculate Score
104
- const score = Math.min(verdict.felicity_scores.authority, verdict.felicity_scores.sincerity, verdict.felicity_scores.clarity);
105
- // Return enriched intent
106
- return {
107
- intent: {
108
- ...intent,
109
- description,
110
- verification: verdict,
111
- score,
112
- },
113
- };
114
- }
115
- catch (e) {
116
- logger.error('Error verifying intent', { description: intent.description, error: e });
117
- return {
118
- failure: {
119
- category: 'verification_failure',
120
- message: e instanceof Error ? e.message : 'Intent verification failed unexpectedly.',
121
- },
122
- };
123
- }
124
- }));
125
- const verified = verificationResults.flatMap((result) => 'intent' in result ? [result.intent] : []);
126
- const validationFailures = verificationResults.flatMap((result) => 'failure' in result ? [result.failure] : []);
127
- logger.verbose(`Verification complete`, {
128
- passed: verified.length,
129
- total: intents.length,
130
- operationMode: state.operationMode
131
- });
132
- // Build trace entries with Felicity scores for each verified intent
133
- const traceEntries = verified.map(v => {
134
- const fs = v.verification?.felicity_scores;
135
- const entropy = v.verification?.semantic_entropy;
136
- const classification = v.verification?.classification;
137
- const referentialBreadth = v.verification?.referential_breadth;
138
- return {
139
- node: "verification",
140
- detail: `"${v.description.slice(0, 40)}${v.description.length > 40 ? '...' : ''}" → ${classification}${referentialBreadth ? ` (${referentialBreadth} referential breadth)` : ''}`,
141
- data: fs ? {
142
- clarity: fs.clarity,
143
- authority: fs.authority,
144
- sincerity: fs.sincerity,
145
- entropy: entropy != null ? Math.round(entropy * 100) / 100 : undefined,
146
- referentialBreadth,
147
- missingSelectionalConstraints: v.verification?.missing_selectional_constraints,
148
- specificityWarning: v.verification?.specificity_warning ?? undefined,
149
- classification,
150
- score: v.score,
151
- } : undefined,
152
- };
153
- });
154
- // Add summary trace if some intents were filtered out
155
- const dropped = intents.length - verified.length;
156
- if (dropped > 0) {
157
- traceEntries.unshift({
158
- node: "verification",
159
- detail: `Verified ${verified.length}/${intents.length} (${dropped} filtered as invalid)`,
160
- data: undefined,
161
- });
162
- }
163
- else if (verified.length > 0) {
164
- traceEntries.unshift({
165
- node: "verification",
166
- detail: `Verified ${verified.length} intent(s)`,
167
- data: undefined,
168
- });
169
- }
170
- return { verifiedIntents: verified, validationFailures, agentTimings: agentTimingsAccum, trace: traceEntries };
171
- });
172
- }
173
- /**
174
- * Node 3: Reconciliation
175
- * Decides on final actions (Create, Update, Expire).
176
- * Phase 4: Handles delete operations directly without LLM reconciliation.
177
- */
178
- export async function reconciliationNode(state, deps) {
179
- return timed("IntentGraph.reconciliation", async () => {
180
- logger.verbose("Starting reconciliation", {
181
- operationMode: state.operationMode,
182
- verifiedIntentCount: state.verifiedIntents.length,
183
- targetIntentIds: state.targetIntentIds
184
- });
185
- const agentTimingsAccum = [];
186
- // Phase 4: Handle delete operations directly
187
- if (state.operationMode === 'delete') {
188
- if (!state.targetIntentIds || state.targetIntentIds.length === 0) {
189
- logger.warn("Delete mode with no target IDs");
190
- return {
191
- actions: [],
192
- agentTimings: agentTimingsAccum,
193
- trace: [{ node: "reconciler", detail: "Delete mode with no target IDs" }],
194
- };
195
- }
196
- logger.verbose("Delete mode - generating expire actions", {
197
- targetIds: state.targetIntentIds
198
- });
199
- const actions = state.targetIntentIds.map(id => ({
200
- type: 'expire',
201
- id,
202
- reasoning: 'User requested deletion'
203
- }));
204
- return {
205
- actions,
206
- agentTimings: agentTimingsAccum,
207
- trace: [{
208
- node: "reconciler",
209
- detail: `Actions: expire=${actions.length}`,
210
- }],
211
- };
212
- }
213
- // Standard reconciliation for create/update operations
214
- const candidates = state.verifiedIntents;
215
- if (candidates.length === 0) {
216
- logger.verbose("No verified intents to reconcile");
217
- return {
218
- actions: [],
219
- agentTimings: agentTimingsAccum,
220
- trace: [{ node: "reconciler", detail: "No intents to reconcile" }],
221
- };
222
- }
223
- if (state.operationMode === 'update') {
224
- const explicitUpdate = buildExplicitUpdateActions(state.targetIntentIds, state.activeIntentIds, candidates);
225
- return {
226
- actions: explicitUpdate.actions,
227
- validationFailures: explicitUpdate.failure
228
- ? [...state.validationFailures, explicitUpdate.failure]
229
- : state.validationFailures,
230
- agentTimings: agentTimingsAccum,
231
- trace: [{
232
- node: 'reconciler',
233
- detail: explicitUpdate.failure
234
- ? `Explicit update rejected: ${explicitUpdate.failure.category}`
235
- : `Explicit update bound to target ${state.targetIntentIds?.[0]}`,
236
- }],
237
- };
238
- }
239
- // Format candidates for the Reconciler Prompt
240
- const formattedCandidates = candidates.map(c => `- [${c.type.toUpperCase()}] "${c.description}" (Confidence: ${c.confidence}, Score: ${c.score})\n` +
241
- ` Reasoning: ${c.reasoning}\n` +
242
- ` Verification: ${c.verification?.classification} (Flags: ${c.verification?.flags.join(', ') || 'None'})`).join('\n');
243
- logger.verbose("Invoking reconciler agent", {
244
- candidateCount: candidates.length,
245
- operationMode: state.operationMode
246
- });
247
- const _traceEmitterReconciler = requestContext.getStore()?.traceEmitter;
248
- const reconcilerStart = Date.now();
249
- _traceEmitterReconciler?.({ type: "agent_start", name: "intent-reconciler" });
250
- const result = await deps.reconciler.invoke(formattedCandidates, state.activeIntents);
251
- agentTimingsAccum.push({ name: 'intent.reconciler', durationMs: Date.now() - reconcilerStart });
252
- _traceEmitterReconciler?.({ type: "agent_end", name: "intent-reconciler", durationMs: Date.now() - reconcilerStart, summary: `Reconciled ${result.actions.length} action(s)` });
253
- const actions = enforceIntentActionBoundary(state.operationMode, state.targetIntentIds, result.actions);
254
- logger.verbose("Reconciliation complete", {
255
- actionCount: actions.length,
256
- droppedActionCount: result.actions.length - actions.length,
257
- operationMode: state.operationMode
258
- });
259
- // Count actions by type after enforcing the operation boundary.
260
- const counts = { create: 0, update: 0, expire: 0 };
261
- for (const a of actions) {
262
- if (a.type in counts)
263
- counts[a.type]++;
264
- }
265
- return {
266
- actions,
267
- agentTimings: agentTimingsAccum,
268
- trace: [{
269
- node: "reconciler",
270
- detail: `Actions: create=${counts.create}, update=${counts.update}, expire=${counts.expire}`,
271
- }],
272
- };
273
- });
274
- }
@@ -1,68 +0,0 @@
1
- /**
2
- * Shared vocabulary for the intent graph's nodes.
3
- *
4
- * The nodes were closures inside `IntentGraphFactory.createGraph()`; they are
5
- * top-level functions now, each taking an explicit {@link IntentGraphDeps}.
6
- * This module owns the bag, the logger, and the pure helpers.
7
- */
8
- import { IntentGraphState, VerifiedIntent, type IntentValidationFailure } from "./intent.graph.state.js";
9
- import { ExplicitIntentInferrer } from "../intent.inferrer.js";
10
- import { SemanticVerifier } from "../intent.verifier.js";
11
- import { IntentReconciler } from "../intent.reconciler.js";
12
- import type { NormalizedIntentAction } from "../intent.reconciler.js";
13
- import { IntentGraphDatabase } from "../../shared/interfaces/database.interface.js";
14
- import type { EmbeddingGenerator } from "../../shared/interfaces/embedder.interface.js";
15
- import type { IntentGraphQueue } from "../../shared/interfaces/queue.interface.js";
16
- /** The graph's channel state, as every node sees it. */
17
- export type IntentState = typeof IntentGraphState.State;
18
- /** Everything the intent nodes reach for. Composed once by the factory. */
19
- export interface IntentGraphDeps {
20
- database: IntentGraphDatabase;
21
- embedder?: EmbeddingGenerator;
22
- intentQueue?: IntentGraphQueue;
23
- inferrer: Pick<ExplicitIntentInferrer, 'invoke'>;
24
- verifier: Pick<SemanticVerifier, 'invoke'>;
25
- reconciler: Pick<IntentReconciler, 'invoke'>;
26
- }
27
- export declare const logger: import("../../shared/observability/log.js").LoggerWithSource;
28
- /**
29
- * Enforce write-mode constraints on reconciler output before any action can
30
- * reach persistence. Update mode is deliberately fail-closed: only updates
31
- * whose id is one of the caller-provided targets survive.
32
- */
33
- export declare function enforceIntentActionBoundary(operationMode: 'create' | 'update' | 'delete' | 'read' | 'propose', targetIntentIds: string[] | undefined, actions: NormalizedIntentAction[]): NormalizedIntentAction[];
34
- /**
35
- * Build the only action permitted for an explicit update. This path is
36
- * intentionally deterministic: semantic reconciliation may shape create
37
- * operations, but it may not redirect an update away from its supplied target.
38
- */
39
- export declare function buildExplicitUpdateActions(targetIntentIds: string[] | undefined, activeIntentIds: string[], candidates: VerifiedIntent[]): {
40
- actions: NormalizedIntentAction[];
41
- failure?: IntentValidationFailure;
42
- };
43
- export declare const MAX_PERMISSIBLE_ENTROPY = 0.75;
44
- export declare const MIN_CLEAR_INTENT_SCORE = 40;
45
- export declare const GENERIC_JOB_PHRASE: RegExp;
46
- export declare const inferRoleFromContextText: (text: string) => string | null;
47
- /**
48
- * Derive a job-role qualifier from the user's global user_context paragraph
49
- * (the identity text that replaced the legacy profile projection). Role is
50
- * inferred from the free text; the old structured skills/interests extraction
51
- * is gone with the removed profile fields.
52
- */
53
- export declare const buildJobQualifierFromContext: (contextText: string) => string | null;
54
- export declare const enrichVagueIntentWithContext: (description: string, userContext: string) => string;
55
- export declare const isVague: (description: string, entropy: number, clarity: number) => boolean;
56
- export declare const getSpecificityWarning: (verdict: {
57
- specificity_warning?: string | null;
58
- }) => string;
59
- export declare const toSpeechActType: (classification?: string) => "COMMISSIVE" | "DIRECTIVE" | null;
60
- /**
61
- * Factory class to build and compile the Intent Processing Graph.
62
-
63
- /**
64
- * Generate a flat embedding for an intent payload, swallowing failures so
65
- * persistence can continue without an embedding. `intentId` is logging-only
66
- * (present for updates, absent for creates).
67
- */
68
- export declare function generateIntentEmbedding(deps: IntentGraphDeps, sanitizedPayload: string, intentId?: string): Promise<number[] | undefined>;
@@ -1,203 +0,0 @@
1
- /**
2
- * Deterministic signal-intake stage logic.
3
- *
4
- * The fast intake path is a fixed funnel, so stages are driven here rather than
5
- * by an agent loop: round 1 comes from the precomputed pack, round 2 is one
6
- * structured call, round 3 is a deterministic client-side picker, and synthesis
7
- * is one structured call. This module owns no I/O.
8
- */
9
- import type { BaseLanguageModelInput } from "@langchain/core/language_models/base";
10
- import type { Runnable } from "@langchain/core/runnables";
11
- import { z } from "zod";
12
- import { type IntakePackQuestion } from "./intake.pack.generator.js";
13
- /** One answered intake round. */
14
- export interface IntakeAnswer {
15
- selectedOptions: string[];
16
- freeText?: string;
17
- }
18
- /** One answered intake round, in order (round 1 first). */
19
- export interface IntakeRound {
20
- prompt: string;
21
- answer: IntakeAnswer;
22
- }
23
- /** Everything synthesis needs to write the signal. */
24
- export interface SynthesisInput {
25
- brief: string;
26
- rounds: IntakeRound[];
27
- /** Free-text place/community constraint from the where round. */
28
- whereText?: string;
29
- /**
30
- * Free-text correction the user typed against a draft they already saw.
31
- * Distinct from {@link SynthesisInput.whereText}: feedback rewrites the
32
- * signal, it does not constrain where to look.
33
- */
34
- feedback?: string;
35
- }
36
- /** Planning input for one follow-up generation call. */
37
- export interface FollowUpPlanInput {
38
- brief: string;
39
- /** Answered rounds in order (round 1 first). */
40
- rounds: IntakeRound[];
41
- /** Hard cap on questions returned by THIS call. */
42
- maxFollowUps: number;
43
- /** Locked interview plan on continuation calls; echoed unchanged. */
44
- plannedFollowUpCount?: number;
45
- }
46
- /** The model's follow-up batch plus its total follow-up plan. */
47
- export interface FollowUpPlan {
48
- questions: IntakePackQuestion[];
49
- plannedFollowUpCount: number;
50
- }
51
- /** Synthesized signal text plus its summary fields. */
52
- export interface SynthesisResult {
53
- description: string;
54
- lookingFor: string;
55
- youBring: string;
56
- }
57
- declare const followUpPlanSchema: z.ZodObject<{
58
- questions: z.ZodArray<z.ZodObject<{
59
- missingAxis: z.ZodEnum<["purpose", "desired_attributes", "exchange", "constraint"]>;
60
- title: z.ZodString;
61
- prompt: z.ZodString;
62
- answerGroundedOptions: z.ZodArray<z.ZodObject<{
63
- label: z.ZodString;
64
- description: z.ZodString;
65
- }, "strip", z.ZodTypeAny, {
66
- label: string;
67
- description: string;
68
- }, {
69
- label: string;
70
- description: string;
71
- }>, "many">;
72
- multiSelect: z.ZodBoolean;
73
- }, "strip", z.ZodTypeAny, {
74
- prompt: string;
75
- title: string;
76
- multiSelect: boolean;
77
- missingAxis: "purpose" | "desired_attributes" | "exchange" | "constraint";
78
- answerGroundedOptions: {
79
- label: string;
80
- description: string;
81
- }[];
82
- }, {
83
- prompt: string;
84
- title: string;
85
- multiSelect: boolean;
86
- missingAxis: "purpose" | "desired_attributes" | "exchange" | "constraint";
87
- answerGroundedOptions: {
88
- label: string;
89
- description: string;
90
- }[];
91
- }>, "many">;
92
- plannedFollowUpCount: z.ZodNumber;
93
- }, "strip", z.ZodTypeAny, {
94
- questions: {
95
- prompt: string;
96
- title: string;
97
- multiSelect: boolean;
98
- missingAxis: "purpose" | "desired_attributes" | "exchange" | "constraint";
99
- answerGroundedOptions: {
100
- label: string;
101
- description: string;
102
- }[];
103
- }[];
104
- plannedFollowUpCount: number;
105
- }, {
106
- questions: {
107
- prompt: string;
108
- title: string;
109
- multiSelect: boolean;
110
- missingAxis: "purpose" | "desired_attributes" | "exchange" | "constraint";
111
- answerGroundedOptions: {
112
- label: string;
113
- description: string;
114
- }[];
115
- }[];
116
- plannedFollowUpCount: number;
117
- }>;
118
- declare const profileBridgePlanSchema: z.ZodObject<{
119
- bridges: z.ZodArray<z.ZodObject<{
120
- questionIndex: z.ZodNumber;
121
- profileBridgeOption: z.ZodNullable<z.ZodObject<{
122
- label: z.ZodString;
123
- description: z.ZodString;
124
- }, "strip", z.ZodTypeAny, {
125
- label: string;
126
- description: string;
127
- }, {
128
- label: string;
129
- description: string;
130
- }>>;
131
- }, "strip", z.ZodTypeAny, {
132
- questionIndex: number;
133
- profileBridgeOption: {
134
- label: string;
135
- description: string;
136
- } | null;
137
- }, {
138
- questionIndex: number;
139
- profileBridgeOption: {
140
- label: string;
141
- description: string;
142
- } | null;
143
- }>, "many">;
144
- }, "strip", z.ZodTypeAny, {
145
- bridges: {
146
- questionIndex: number;
147
- profileBridgeOption: {
148
- label: string;
149
- description: string;
150
- } | null;
151
- }[];
152
- }, {
153
- bridges: {
154
- questionIndex: number;
155
- profileBridgeOption: {
156
- label: string;
157
- description: string;
158
- } | null;
159
- }[];
160
- }>;
161
- /** Static round-1 question used only when pack generation fails outright. */
162
- export declare const FALLBACK_WHO_QUESTION: IntakePackQuestion;
163
- /** Static round-2 question used when live generation fails. */
164
- export declare const FALLBACK_BRING_QUESTION: IntakePackQuestion;
165
- /**
166
- * Render an answer as a human-readable label.
167
- *
168
- * @param answer - Selected options plus optional free text
169
- * @returns Comma-joined non-empty parts
170
- */
171
- export declare function answerLabel(answer: IntakeAnswer): string;
172
- /** Runs the two live stages of the fast intake funnel: follow-up planning and synthesis. */
173
- export declare class SignalIntakeOrchestrator {
174
- private readonly plannerModel;
175
- private readonly profileBridgeModel;
176
- private readonly synthesisModel;
177
- /**
178
- * @param models - Optional injected structured models. Tests pass stubs.
179
- */
180
- constructor(models?: {
181
- planner?: Runnable<BaseLanguageModelInput, z.infer<typeof followUpPlanSchema>>;
182
- profileBridge?: Runnable<BaseLanguageModelInput, z.infer<typeof profileBridgePlanSchema>>;
183
- synthesis?: Runnable<BaseLanguageModelInput, SynthesisResult>;
184
- });
185
- /**
186
- * Plan and write follow-up questions from the brief and answered rounds.
187
- *
188
- * @param input - Brief, answered rounds, per-call cap, and any locked plan
189
- * @returns Up to `maxFollowUps` renderable questions plus the total plan;
190
- * the static fallback question with count 1 when generation fails
191
- */
192
- generateFollowUps(input: FollowUpPlanInput): Promise<FollowUpPlan>;
193
- /**
194
- * Write the signal from every answered round, any where-constraint, and any
195
- * revision feedback.
196
- *
197
- * @param input - Brief, ordered rounds, optional where constraint, optional feedback
198
- * @returns Description plus card summary fields
199
- * @throws Propagates model failure so the caller can mark the run failed
200
- */
201
- synthesize(input: SynthesisInput): Promise<SynthesisResult>;
202
- }
203
- export {};