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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/CHANGELOG.md +1841 -0
  2. package/IMPLEMENTATION.md +140 -181
  3. package/README.md +16 -20
  4. package/STABILITY.md +16 -11
  5. package/dist/{intents/intent.module.d.ts → capabilities/intents.d.ts} +182 -192
  6. package/dist/capabilities/intents.js +88 -0
  7. package/dist/capabilities/negotiations.d.ts +17 -0
  8. package/dist/capabilities/negotiations.js +16 -0
  9. package/dist/{networks/network.module.d.ts → capabilities/networks.d.ts} +33 -169
  10. package/dist/{networks/network.module.js → capabilities/networks.js} +6 -17
  11. package/dist/index.d.ts +57 -132
  12. package/dist/index.js +41 -100
  13. package/dist/internal/agents/agent.repository.port.d.ts +59 -0
  14. package/dist/internal/agents/agent.repository.port.js +7 -0
  15. package/dist/internal/agents/agent.types.d.ts +35 -0
  16. package/dist/{agents → internal/agents}/agent.types.js +1 -6
  17. package/dist/{intents → internal/intents}/graph/intent.graph.d.ts +142 -151
  18. package/dist/{intents → internal/intents}/graph/intent.graph.execute.d.ts +5 -1
  19. package/dist/{intents → internal/intents}/graph/intent.graph.execute.js +165 -46
  20. package/dist/internal/intents/graph/intent.graph.infer.d.ts +78 -0
  21. package/dist/internal/intents/graph/intent.graph.infer.js +122 -0
  22. package/dist/internal/intents/graph/intent.graph.js +108 -0
  23. package/dist/{intents → internal/intents}/graph/intent.graph.reconcile.d.ts +18 -9
  24. package/dist/internal/intents/graph/intent.graph.reconcile.js +173 -0
  25. package/dist/internal/intents/graph/intent.graph.shared.d.ts +55 -0
  26. package/dist/{intents → internal/intents}/graph/intent.graph.shared.js +25 -70
  27. package/dist/{intents → internal/intents}/graph/intent.graph.state.d.ts +96 -32
  28. package/dist/{intents → internal/intents}/graph/intent.graph.state.js +42 -31
  29. package/dist/internal/intents/intent.admission.d.ts +16 -0
  30. package/dist/internal/intents/intent.admission.js +30 -0
  31. package/dist/{intents → internal/intents}/intent.inferrer.d.ts +1 -40
  32. package/dist/{intents → internal/intents}/intent.inferrer.js +13 -49
  33. package/dist/internal/intents/intent.preparer.d.ts +52 -0
  34. package/dist/internal/intents/intent.preparer.js +87 -0
  35. package/dist/{intents → internal/intents}/intent.verifier.d.ts +3 -36
  36. package/dist/{intents → internal/intents}/intent.verifier.js +0 -17
  37. package/dist/{networks → internal/networks}/indexer.graph.d.ts +15 -200
  38. package/dist/{networks → internal/networks}/indexer.graph.js +19 -128
  39. package/dist/{networks → internal/networks}/indexer.state.d.ts +8 -63
  40. package/dist/internal/networks/indexer.state.js +70 -0
  41. package/dist/{networks → internal/networks}/membership.graph.d.ts +6 -6
  42. package/dist/{networks → internal/networks}/membership.graph.js +3 -3
  43. package/dist/{networks → internal/networks}/membership.state.d.ts +2 -2
  44. package/dist/{networks → internal/networks}/membership.state.js +2 -2
  45. package/dist/{networks → internal/networks}/network.graph.d.ts +9 -22
  46. package/dist/{networks → internal/networks}/network.graph.js +13 -27
  47. package/dist/{networks → internal/networks}/network.recommender.d.ts +2 -2
  48. package/dist/{networks → internal/networks}/network.recommender.js +2 -2
  49. package/dist/{networks → internal/networks}/network.state.d.ts +4 -7
  50. package/dist/{networks → internal/networks}/network.state.js +4 -4
  51. package/dist/internal/opportunities/negotiation-context.loader.d.ts +26 -0
  52. package/dist/internal/opportunities/negotiation-context.loader.js +36 -0
  53. package/dist/{opportunities → internal/opportunities}/opportunity.actor.d.ts +1 -1
  54. package/dist/{opportunities → internal/opportunities}/opportunity.actor.js +7 -1
  55. package/dist/internal/opportunities/opportunity.counterparties.d.ts +17 -0
  56. package/dist/internal/opportunities/opportunity.counterparties.js +19 -0
  57. package/dist/internal/opportunities/opportunity.events.d.ts +38 -0
  58. package/dist/internal/opportunities/opportunity.events.js +94 -0
  59. package/dist/{opportunities → internal/opportunities}/opportunity.feed-selection.d.ts +3 -9
  60. package/dist/internal/opportunities/opportunity.feed-selection.js +40 -0
  61. package/dist/internal/opportunities/opportunity.graph.modes.d.ts +39 -0
  62. package/dist/internal/opportunities/opportunity.graph.modes.js +138 -0
  63. package/dist/{opportunities → internal/opportunities}/opportunity.labels.d.ts +2 -3
  64. package/dist/internal/opportunities/opportunity.labels.js +9 -0
  65. package/dist/{opportunities → internal/opportunities}/opportunity.presentation.d.ts +17 -86
  66. package/dist/{opportunities → internal/opportunities}/opportunity.presentation.js +54 -447
  67. package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.d.ts +2 -2
  68. package/dist/internal/opportunities/opportunity.utils.d.ts +105 -0
  69. package/dist/internal/opportunities/opportunity.utils.js +165 -0
  70. package/dist/{opportunities → internal/opportunities}/radar/radar.graph.d.ts +17 -17
  71. package/dist/{opportunities → internal/opportunities}/radar/radar.graph.js +41 -161
  72. package/dist/{opportunities → internal/opportunities}/radar/radar.state.d.ts +4 -11
  73. package/dist/{shared → internal/shared}/agent/model-signal.d.ts +1 -1
  74. package/dist/{shared → internal/shared}/agent/model-signal.js +1 -1
  75. package/dist/{shared → internal/shared}/agent/model.config.d.ts +28 -86
  76. package/dist/{shared → internal/shared}/agent/model.config.js +58 -69
  77. package/dist/internal/shared/agent/model.resolver.d.ts +33 -0
  78. package/dist/{shared → internal/shared}/agent/model.resolver.js +18 -33
  79. package/dist/internal/shared/agent/scope.d.ts +20 -0
  80. package/dist/internal/shared/agent/scope.js +24 -0
  81. package/dist/internal/shared/assignment/network-assignment.policy.d.ts +23 -0
  82. package/dist/internal/shared/assignment/network-assignment.policy.js +28 -0
  83. package/dist/{shared → internal/shared}/observability/log.d.ts +3 -6
  84. package/dist/{shared → internal/shared}/observability/log.js +9 -18
  85. package/dist/{shared → internal/shared}/observability/protocol.logger.d.ts +1 -1
  86. package/dist/{shared → internal/shared}/observability/protocol.logger.js +1 -1
  87. package/dist/internal/shared/observability/request-context.d.ts +29 -0
  88. package/dist/internal/shared/observability/request-context.js +17 -0
  89. package/dist/{shared → internal/shared}/utils/social-label.d.ts +2 -2
  90. package/dist/{shared → internal/shared}/utils/social-label.js +1 -1
  91. package/dist/platform/database/capabilities.d.ts +59 -0
  92. package/dist/{shared/interfaces/database.entities.d.ts → platform/database/entities.d.ts} +81 -121
  93. package/dist/{shared/interfaces/database.identity-queries.d.ts → platform/database/identity-queries.d.ts} +55 -20
  94. package/dist/platform/database/member-queries.d.ts +55 -0
  95. package/dist/platform/database/member-queries.js +4 -0
  96. package/dist/platform/database/negotiation.d.ts +38 -0
  97. package/dist/{shared/interfaces/database.network-queries.d.ts → platform/database/network-queries.d.ts} +66 -67
  98. package/dist/platform/database/network-queries.js +4 -0
  99. package/dist/{shared/interfaces/database.opportunity-queries.d.ts → platform/database/opportunity-queries.d.ts} +25 -109
  100. package/dist/{shared/interfaces/database.port.d.ts → platform/database/port.d.ts} +52 -117
  101. package/dist/{shared/interfaces/database.port.js → platform/database/port.js} +3 -5
  102. package/dist/platform/database.d.ts +23 -0
  103. package/dist/{shared/interfaces/database.interface.js → platform/database.js} +1 -1
  104. package/dist/{shared/interfaces/cache.interface.d.ts → platform/discovery/cache.d.ts} +2 -4
  105. package/dist/{shared/interfaces/cache.interface.js → platform/discovery/cache.js} +1 -1
  106. package/dist/platform/discovery/embedder.d.ts +31 -0
  107. package/dist/platform/runtime/errors.d.ts +6 -0
  108. package/dist/platform/runtime/errors.js +9 -0
  109. package/dist/platform/runtime/follow-up.d.ts +36 -0
  110. package/dist/platform/runtime/follow-up.js +4 -0
  111. package/dist/platform/runtime/observability.d.ts +34 -0
  112. package/dist/protocol/core.d.ts +11 -0
  113. package/dist/protocol/discovery.rules.d.ts +21 -0
  114. package/dist/protocol/discovery.rules.js +29 -0
  115. package/dist/protocol/negotiation.constants.d.ts +3 -0
  116. package/dist/protocol/negotiation.constants.js +3 -0
  117. package/dist/protocol/negotiation.rules.d.ts +73 -0
  118. package/dist/protocol/negotiation.rules.js +68 -0
  119. package/dist/protocol/protocol.prompt.d.ts +13 -0
  120. package/dist/protocol/protocol.prompt.js +190 -0
  121. package/dist/{shared → protocol}/schemas/discovery-question.schema.d.ts +13 -13
  122. package/dist/{shared → protocol}/schemas/discovery-question.schema.js +2 -2
  123. package/dist/{shared → protocol}/schemas/identity.schema.d.ts +4 -4
  124. package/dist/{shared → protocol}/schemas/identity.schema.js +4 -4
  125. package/dist/{shared → protocol}/schemas/network-assignment.schema.d.ts +11 -20
  126. package/dist/{shared → protocol}/schemas/network-assignment.schema.js +2 -9
  127. package/dist/protocol/schemas/underspecification.schema.d.ts +9 -0
  128. package/dist/protocol/schemas/underspecification.schema.js +12 -0
  129. package/package.json +7 -15
  130. package/dist/agents/agent.dispatcher.port.d.ts +0 -25
  131. package/dist/agents/agent.module.d.ts +0 -19
  132. package/dist/agents/agent.module.js +0 -11
  133. package/dist/agents/agent.repository.port.d.ts +0 -118
  134. package/dist/agents/agent.repository.port.js +0 -10
  135. package/dist/agents/agent.tools.d.ts +0 -16
  136. package/dist/agents/agent.tools.js +0 -351
  137. package/dist/agents/agent.tools.port.d.ts +0 -22
  138. package/dist/agents/agent.tools.port.js +0 -18
  139. package/dist/agents/agent.types.d.ts +0 -76
  140. package/dist/chat/chat-streaming.types.d.ts +0 -618
  141. package/dist/chat/chat-streaming.types.js +0 -297
  142. package/dist/chat/chat.agent.d.ts +0 -292
  143. package/dist/chat/chat.agent.js +0 -1010
  144. package/dist/chat/chat.graph.d.ts +0 -424
  145. package/dist/chat/chat.graph.js +0 -257
  146. package/dist/chat/chat.interrupt.classifier.d.ts +0 -25
  147. package/dist/chat/chat.interrupt.classifier.js +0 -64
  148. package/dist/chat/chat.persona.d.ts +0 -39
  149. package/dist/chat/chat.prompt.d.ts +0 -4
  150. package/dist/chat/chat.prompt.js +0 -12
  151. package/dist/chat/chat.prompt.modules.d.ts +0 -30
  152. package/dist/chat/chat.prompt.modules.js +0 -40
  153. package/dist/chat/chat.question-dedup.d.ts +0 -14
  154. package/dist/chat/chat.question-dedup.js +0 -17
  155. package/dist/chat/chat.state.d.ts +0 -135
  156. package/dist/chat/chat.state.js +0 -120
  157. package/dist/chat/chat.streamer.d.ts +0 -64
  158. package/dist/chat/chat.streamer.js +0 -217
  159. package/dist/chat/chat.suggester.d.ts +0 -23
  160. package/dist/chat/chat.suggester.js +0 -95
  161. package/dist/chat/chat.summarizer.d.ts +0 -20
  162. package/dist/chat/chat.summarizer.js +0 -97
  163. package/dist/chat/chat.title.generator.d.ts +0 -19
  164. package/dist/chat/chat.title.generator.js +0 -66
  165. package/dist/chat/chat.tools.d.ts +0 -5
  166. package/dist/chat/chat.tools.js +0 -62
  167. package/dist/chat/chat.utils.d.ts +0 -41
  168. package/dist/chat/chat.utils.js +0 -88
  169. package/dist/chat/negotiator.persona.d.ts +0 -74
  170. package/dist/chat/negotiator.persona.js +0 -154
  171. package/dist/chat/negotiator.prompt.d.ts +0 -45
  172. package/dist/chat/negotiator.prompt.js +0 -160
  173. package/dist/chat/negotiator.tools.d.ts +0 -42
  174. package/dist/chat/negotiator.tools.js +0 -134
  175. package/dist/chat/onboarding.persona.d.ts +0 -28
  176. package/dist/chat/onboarding.persona.js +0 -86
  177. package/dist/chat/onboarding.prompt.d.ts +0 -6
  178. package/dist/chat/onboarding.prompt.js +0 -63
  179. package/dist/chat/signal.persona.d.ts +0 -47
  180. package/dist/chat/signal.persona.js +0 -319
  181. package/dist/chat/signal.prompt.d.ts +0 -39
  182. package/dist/chat/signal.prompt.js +0 -136
  183. package/dist/contacts/contact.module.d.ts +0 -8
  184. package/dist/contacts/contact.module.js +0 -6
  185. package/dist/contacts/contact.repository.port.d.ts +0 -21
  186. package/dist/contacts/contact.repository.port.js +0 -12
  187. package/dist/contacts/contact.tools.d.ts +0 -17
  188. package/dist/contacts/contact.tools.js +0 -108
  189. package/dist/contacts/contact.tools.port.d.ts +0 -20
  190. package/dist/contacts/contact.tools.port.js +0 -16
  191. package/dist/contacts/contact.types.d.ts +0 -24
  192. package/dist/contacts/contact.types.js +0 -8
  193. package/dist/contexts/context.generator.d.ts +0 -95
  194. package/dist/contexts/context.generator.js +0 -127
  195. package/dist/contexts/context.module.d.ts +0 -13
  196. package/dist/contexts/context.module.js +0 -12
  197. package/dist/contexts/context.tools.port.d.ts +0 -9
  198. package/dist/discovery/hyde.documents.d.ts +0 -9
  199. package/dist/discovery/hyde.documents.js +0 -49
  200. package/dist/discovery/hyde.env.d.ts +0 -8
  201. package/dist/discovery/hyde.env.js +0 -9
  202. package/dist/discovery/hyde.frame.d.ts +0 -150
  203. package/dist/discovery/hyde.frame.js +0 -107
  204. package/dist/discovery/hyde.generator.d.ts +0 -38
  205. package/dist/discovery/hyde.generator.js +0 -103
  206. package/dist/discovery/hyde.graph.d.ts +0 -209
  207. package/dist/discovery/hyde.graph.js +0 -482
  208. package/dist/discovery/hyde.state.d.ts +0 -70
  209. package/dist/discovery/hyde.state.js +0 -85
  210. package/dist/discovery/hyde.strategies.d.ts +0 -17
  211. package/dist/discovery/hyde.strategies.js +0 -34
  212. package/dist/discovery/hyde.validator.d.ts +0 -78
  213. package/dist/discovery/hyde.validator.js +0 -48
  214. package/dist/discovery/index.d.ts +0 -26
  215. package/dist/discovery/index.js +0 -19
  216. package/dist/discovery/lens.inferrer.d.ts +0 -214
  217. package/dist/discovery/lens.inferrer.js +0 -152
  218. package/dist/enrichment/enrichment.generator.d.ts +0 -68
  219. package/dist/enrichment/enrichment.generator.js +0 -95
  220. package/dist/enrichment/enrichment.graph.d.ts +0 -544
  221. package/dist/enrichment/enrichment.graph.js +0 -695
  222. package/dist/enrichment/enrichment.state.d.ts +0 -141
  223. package/dist/enrichment/enrichment.state.js +0 -115
  224. package/dist/enrichment/enrichment.tools.context-read.d.ts +0 -10
  225. package/dist/enrichment/enrichment.tools.context-read.js +0 -353
  226. package/dist/enrichment/enrichment.tools.context-write.d.ts +0 -9
  227. package/dist/enrichment/enrichment.tools.context-write.js +0 -417
  228. package/dist/enrichment/enrichment.tools.d.ts +0 -13
  229. package/dist/enrichment/enrichment.tools.helpers.d.ts +0 -139
  230. package/dist/enrichment/enrichment.tools.helpers.js +0 -234
  231. package/dist/enrichment/enrichment.tools.js +0 -153
  232. package/dist/intents/graph/intent.graph.infer.d.ts +0 -44
  233. package/dist/intents/graph/intent.graph.infer.js +0 -97
  234. package/dist/intents/graph/intent.graph.js +0 -134
  235. package/dist/intents/graph/intent.graph.reconcile.js +0 -274
  236. package/dist/intents/graph/intent.graph.shared.d.ts +0 -68
  237. package/dist/intents/intake/intake.orchestrator.d.ts +0 -203
  238. package/dist/intents/intake/intake.orchestrator.js +0 -255
  239. package/dist/intents/intake/intake.pack.generator.d.ts +0 -57
  240. package/dist/intents/intake/intake.pack.generator.js +0 -90
  241. package/dist/intents/intent.clarifier.d.ts +0 -51
  242. package/dist/intents/intent.clarifier.js +0 -201
  243. package/dist/intents/intent.indexer.d.ts +0 -82
  244. package/dist/intents/intent.indexer.js +0 -170
  245. package/dist/intents/intent.module.js +0 -103
  246. package/dist/intents/intent.proposal.d.ts +0 -37
  247. package/dist/intents/intent.proposal.js +0 -14
  248. package/dist/intents/intent.reconciler.d.ts +0 -105
  249. package/dist/intents/intent.reconciler.js +0 -186
  250. package/dist/intents/intent.tools.d.ts +0 -27
  251. package/dist/intents/intent.tools.js +0 -808
  252. package/dist/maintenance/maintenance.graph.d.ts +0 -239
  253. package/dist/maintenance/maintenance.graph.js +0 -199
  254. package/dist/maintenance/maintenance.state.d.ts +0 -35
  255. package/dist/maintenance/maintenance.state.js +0 -55
  256. package/dist/mcp/elicitation.builder.d.ts +0 -53
  257. package/dist/mcp/elicitation.builder.js +0 -74
  258. package/dist/mcp/elicitation.dispatcher.d.ts +0 -36
  259. package/dist/mcp/elicitation.dispatcher.js +0 -86
  260. package/dist/mcp/mcp.authorization-policy.d.ts +0 -252
  261. package/dist/mcp/mcp.authorization-policy.js +0 -535
  262. package/dist/mcp/mcp.server.d.ts +0 -90
  263. package/dist/mcp/mcp.server.js +0 -631
  264. package/dist/negotiations/insight.generator.d.ts +0 -31
  265. package/dist/negotiations/insight.generator.js +0 -105
  266. package/dist/negotiations/negotiation.agent.d.ts +0 -130
  267. package/dist/negotiations/negotiation.agent.js +0 -396
  268. package/dist/negotiations/negotiation.answer-consumption.d.ts +0 -223
  269. package/dist/negotiations/negotiation.answer-consumption.js +0 -275
  270. package/dist/negotiations/negotiation.attribution.d.ts +0 -91
  271. package/dist/negotiations/negotiation.attribution.js +0 -109
  272. package/dist/negotiations/negotiation.candidates.d.ts +0 -83
  273. package/dist/negotiations/negotiation.candidates.js +0 -162
  274. package/dist/negotiations/negotiation.client-dm.d.ts +0 -50
  275. package/dist/negotiations/negotiation.client-dm.js +0 -66
  276. package/dist/negotiations/negotiation.consultation-policy.d.ts +0 -95
  277. package/dist/negotiations/negotiation.consultation-policy.js +0 -159
  278. package/dist/negotiations/negotiation.deadlock.contracts.d.ts +0 -10
  279. package/dist/negotiations/negotiation.deadlock.d.ts +0 -87
  280. package/dist/negotiations/negotiation.deadlock.js +0 -150
  281. package/dist/negotiations/negotiation.detail-reader.d.ts +0 -94
  282. package/dist/negotiations/negotiation.detail-reader.js +0 -91
  283. package/dist/negotiations/negotiation.expected-speaker.d.ts +0 -33
  284. package/dist/negotiations/negotiation.expected-speaker.js +0 -59
  285. package/dist/negotiations/negotiation.graph.d.ts +0 -694
  286. package/dist/negotiations/negotiation.graph.finalize.d.ts +0 -5
  287. package/dist/negotiations/negotiation.graph.finalize.js +0 -403
  288. package/dist/negotiations/negotiation.graph.init.d.ts +0 -54
  289. package/dist/negotiations/negotiation.graph.init.js +0 -256
  290. package/dist/negotiations/negotiation.graph.js +0 -94
  291. package/dist/negotiations/negotiation.graph.screen.d.ts +0 -23
  292. package/dist/negotiations/negotiation.graph.screen.js +0 -108
  293. package/dist/negotiations/negotiation.graph.shared.d.ts +0 -111
  294. package/dist/negotiations/negotiation.graph.shared.js +0 -168
  295. package/dist/negotiations/negotiation.graph.turn.d.ts +0 -134
  296. package/dist/negotiations/negotiation.graph.turn.js +0 -662
  297. package/dist/negotiations/negotiation.hermes-contract.d.ts +0 -31
  298. package/dist/negotiations/negotiation.hermes-contract.js +0 -72
  299. package/dist/negotiations/negotiation.intent-snapshot-provenance.d.ts +0 -21
  300. package/dist/negotiations/negotiation.intent-snapshot-provenance.js +0 -28
  301. package/dist/negotiations/negotiation.lifecycle-narration.d.ts +0 -18
  302. package/dist/negotiations/negotiation.lifecycle-narration.js +0 -87
  303. package/dist/negotiations/negotiation.memory.d.ts +0 -65
  304. package/dist/negotiations/negotiation.memory.js +0 -83
  305. package/dist/negotiations/negotiation.module.d.ts +0 -36
  306. package/dist/negotiations/negotiation.module.js +0 -23
  307. package/dist/negotiations/negotiation.protocol.d.ts +0 -1018
  308. package/dist/negotiations/negotiation.protocol.js +0 -224
  309. package/dist/negotiations/negotiation.question-safety.d.ts +0 -52
  310. package/dist/negotiations/negotiation.question-safety.js +0 -119
  311. package/dist/negotiations/negotiation.reflect.d.ts +0 -194
  312. package/dist/negotiations/negotiation.reflect.js +0 -145
  313. package/dist/negotiations/negotiation.scope.d.ts +0 -41
  314. package/dist/negotiations/negotiation.scope.js +0 -39
  315. package/dist/negotiations/negotiation.screen.contracts.d.ts +0 -88
  316. package/dist/negotiations/negotiation.screen.contracts.js +0 -58
  317. package/dist/negotiations/negotiation.screen.d.ts +0 -78
  318. package/dist/negotiations/negotiation.screen.js +0 -112
  319. package/dist/negotiations/negotiation.stall-gap.d.ts +0 -83
  320. package/dist/negotiations/negotiation.stall-gap.js +0 -152
  321. package/dist/negotiations/negotiation.stance.contracts.d.ts +0 -123
  322. package/dist/negotiations/negotiation.stance.contracts.js +0 -317
  323. package/dist/negotiations/negotiation.state.d.ts +0 -597
  324. package/dist/negotiations/negotiation.state.js +0 -286
  325. package/dist/negotiations/negotiation.summarizer.d.ts +0 -25
  326. package/dist/negotiations/negotiation.summarizer.js +0 -101
  327. package/dist/negotiations/negotiation.task-lock-policy.d.ts +0 -10
  328. package/dist/negotiations/negotiation.task-lock-policy.js +0 -22
  329. package/dist/negotiations/negotiation.tools.d.ts +0 -18
  330. package/dist/negotiations/negotiation.tools.js +0 -842
  331. package/dist/negotiations/negotiation.tools.port.d.ts +0 -17
  332. package/dist/negotiations/negotiation.turn-cap.d.ts +0 -9
  333. package/dist/negotiations/negotiation.turn-cap.js +0 -12
  334. package/dist/networks/indexer.state.js +0 -112
  335. package/dist/networks/network.tools.d.ts +0 -36
  336. package/dist/networks/network.tools.js +0 -594
  337. package/dist/opportunities/delivery-card.cache.d.ts +0 -25
  338. package/dist/opportunities/delivery-card.cache.js +0 -43
  339. package/dist/opportunities/discovery.env.d.ts +0 -20
  340. package/dist/opportunities/discovery.env.js +0 -109
  341. package/dist/opportunities/discriminator/discriminator.adjustments.d.ts +0 -90
  342. package/dist/opportunities/discriminator/discriminator.adjustments.js +0 -141
  343. package/dist/opportunities/discriminator/discriminator.assigner.d.ts +0 -78
  344. package/dist/opportunities/discriminator/discriminator.assigner.js +0 -153
  345. package/dist/opportunities/discriminator/discriminator.env.d.ts +0 -103
  346. package/dist/opportunities/discriminator/discriminator.env.js +0 -103
  347. package/dist/opportunities/discriminator/discriminator.miner.d.ts +0 -114
  348. package/dist/opportunities/discriminator/discriminator.miner.js +0 -228
  349. package/dist/opportunities/discriminator/discriminator.push.d.ts +0 -13
  350. package/dist/opportunities/discriminator/discriminator.push.js +0 -19
  351. package/dist/opportunities/discriminator/discriminator.question.d.ts +0 -58
  352. package/dist/opportunities/discriminator/discriminator.question.js +0 -155
  353. package/dist/opportunities/discriminator/discriminator.scorer.d.ts +0 -32
  354. package/dist/opportunities/discriminator/discriminator.scorer.js +0 -105
  355. package/dist/opportunities/discriminator/discriminator.shadow.d.ts +0 -32
  356. package/dist/opportunities/discriminator/discriminator.shadow.js +0 -90
  357. package/dist/opportunities/discriminator/discriminator.types.d.ts +0 -93
  358. package/dist/opportunities/discriminator/discriminator.types.js +0 -18
  359. package/dist/opportunities/negotiation-context.loader.d.ts +0 -59
  360. package/dist/opportunities/negotiation-context.loader.js +0 -90
  361. package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.d.ts +0 -43
  362. package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.js +0 -44
  363. package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.d.ts +0 -24
  364. package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.js +0 -188
  365. package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.d.ts +0 -26
  366. package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.js +0 -112
  367. package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.d.ts +0 -19
  368. package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.js +0 -61
  369. package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.d.ts +0 -191
  370. package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.js +0 -18
  371. package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.d.ts +0 -34
  372. package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.js +0 -91
  373. package/dist/opportunities/negotiation-summary.builder.d.ts +0 -37
  374. package/dist/opportunities/negotiation-summary.builder.js +0 -66
  375. package/dist/opportunities/opportunity.discovery-negotiation-summary.d.ts +0 -14
  376. package/dist/opportunities/opportunity.discovery-negotiation-summary.js +0 -46
  377. package/dist/opportunities/opportunity.enricher.d.ts +0 -71
  378. package/dist/opportunities/opportunity.enricher.js +0 -280
  379. package/dist/opportunities/opportunity.evaluator.d.ts +0 -289
  380. package/dist/opportunities/opportunity.evaluator.js +0 -516
  381. package/dist/opportunities/opportunity.evidence.d.ts +0 -22
  382. package/dist/opportunities/opportunity.evidence.js +0 -87
  383. package/dist/opportunities/opportunity.existing-negotiation.d.ts +0 -79
  384. package/dist/opportunities/opportunity.existing-negotiation.js +0 -118
  385. package/dist/opportunities/opportunity.feed-selection.js +0 -96
  386. package/dist/opportunities/opportunity.graph.d.ts +0 -1611
  387. package/dist/opportunities/opportunity.graph.discovery-strategies.d.ts +0 -109
  388. package/dist/opportunities/opportunity.graph.discovery-strategies.js +0 -451
  389. package/dist/opportunities/opportunity.graph.discovery.d.ts +0 -69
  390. package/dist/opportunities/opportunity.graph.discovery.js +0 -397
  391. package/dist/opportunities/opportunity.graph.evaluation.d.ts +0 -82
  392. package/dist/opportunities/opportunity.graph.evaluation.js +0 -608
  393. package/dist/opportunities/opportunity.graph.js +0 -193
  394. package/dist/opportunities/opportunity.graph.modes.d.ts +0 -538
  395. package/dist/opportunities/opportunity.graph.modes.js +0 -538
  396. package/dist/opportunities/opportunity.graph.negotiate.d.ts +0 -109
  397. package/dist/opportunities/opportunity.graph.negotiate.js +0 -392
  398. package/dist/opportunities/opportunity.graph.persist-node.d.ts +0 -93
  399. package/dist/opportunities/opportunity.graph.persist-node.js +0 -765
  400. package/dist/opportunities/opportunity.graph.prep.d.ts +0 -150
  401. package/dist/opportunities/opportunity.graph.prep.js +0 -381
  402. package/dist/opportunities/opportunity.graph.shared.d.ts +0 -173
  403. package/dist/opportunities/opportunity.graph.shared.js +0 -199
  404. package/dist/opportunities/opportunity.introducer-feature.d.ts +0 -2
  405. package/dist/opportunities/opportunity.introducer-feature.js +0 -4
  406. package/dist/opportunities/opportunity.introducer.d.ts +0 -77
  407. package/dist/opportunities/opportunity.introducer.js +0 -99
  408. package/dist/opportunities/opportunity.labels.js +0 -10
  409. package/dist/opportunities/opportunity.lifecycle.d.ts +0 -63
  410. package/dist/opportunities/opportunity.lifecycle.js +0 -181
  411. package/dist/opportunities/opportunity.module.d.ts +0 -54
  412. package/dist/opportunities/opportunity.module.js +0 -39
  413. package/dist/opportunities/opportunity.newborn-stamping.d.ts +0 -41
  414. package/dist/opportunities/opportunity.newborn-stamping.js +0 -81
  415. package/dist/opportunities/opportunity.owner-approval.d.ts +0 -118
  416. package/dist/opportunities/opportunity.owner-approval.js +0 -34
  417. package/dist/opportunities/opportunity.owner-provenance.d.ts +0 -6
  418. package/dist/opportunities/opportunity.owner-provenance.js +0 -28
  419. package/dist/opportunities/opportunity.persist.d.ts +0 -58
  420. package/dist/opportunities/opportunity.persist.js +0 -145
  421. package/dist/opportunities/opportunity.persistence-admission.d.ts +0 -39
  422. package/dist/opportunities/opportunity.persistence-admission.js +0 -59
  423. package/dist/opportunities/opportunity.state.d.ts +0 -451
  424. package/dist/opportunities/opportunity.state.js +0 -256
  425. package/dist/opportunities/opportunity.tools.cards.d.ts +0 -138
  426. package/dist/opportunities/opportunity.tools.cards.js +0 -212
  427. package/dist/opportunities/opportunity.tools.d.ts +0 -12
  428. package/dist/opportunities/opportunity.tools.js +0 -236
  429. package/dist/opportunities/opportunity.tools.list.d.ts +0 -10
  430. package/dist/opportunities/opportunity.tools.list.js +0 -489
  431. package/dist/opportunities/opportunity.tools.port.d.ts +0 -16
  432. package/dist/opportunities/opportunity.utils.d.ts +0 -217
  433. package/dist/opportunities/opportunity.utils.js +0 -395
  434. package/dist/opportunities/outcome/outcome.env.d.ts +0 -60
  435. package/dist/opportunities/outcome/outcome.env.js +0 -63
  436. package/dist/opportunities/outcome/outcome.hypotheses.d.ts +0 -29
  437. package/dist/opportunities/outcome/outcome.hypotheses.js +0 -117
  438. package/dist/opportunities/outcome/outcome.shadow.d.ts +0 -56
  439. package/dist/opportunities/outcome/outcome.shadow.js +0 -87
  440. package/dist/opportunities/outcome/outcome.types.d.ts +0 -110
  441. package/dist/opportunities/outcome/outcome.types.js +0 -26
  442. package/dist/opportunities/radar/radar.health.d.ts +0 -31
  443. package/dist/opportunities/radar/radar.health.js +0 -75
  444. package/dist/premises/premise.analyzer.d.ts +0 -35
  445. package/dist/premises/premise.analyzer.js +0 -115
  446. package/dist/premises/premise.decomposer.d.ts +0 -69
  447. package/dist/premises/premise.decomposer.js +0 -213
  448. package/dist/premises/premise.graph.d.ts +0 -345
  449. package/dist/premises/premise.graph.js +0 -278
  450. package/dist/premises/premise.indexer.d.ts +0 -35
  451. package/dist/premises/premise.indexer.js +0 -86
  452. package/dist/premises/premise.state.d.ts +0 -67
  453. package/dist/premises/premise.state.js +0 -94
  454. package/dist/premises/premise.tools.d.ts +0 -3
  455. package/dist/premises/premise.tools.js +0 -248
  456. package/dist/questions/question.env.d.ts +0 -27
  457. package/dist/questions/question.env.js +0 -27
  458. package/dist/questions/question.input.d.ts +0 -107
  459. package/dist/questions/question.module.d.ts +0 -30
  460. package/dist/questions/question.module.js +0 -28
  461. package/dist/questions/question.schema.d.ts +0 -1529
  462. package/dist/questions/question.schema.js +0 -420
  463. package/dist/shared/agent/activity-projection.d.ts +0 -271
  464. package/dist/shared/agent/activity-projection.js +0 -254
  465. package/dist/shared/agent/canonical-guidance.d.ts +0 -30
  466. package/dist/shared/agent/canonical-guidance.js +0 -246
  467. package/dist/shared/agent/model.resolver.d.ts +0 -48
  468. package/dist/shared/agent/tool.factory.d.ts +0 -17
  469. package/dist/shared/agent/tool.factory.js +0 -221
  470. package/dist/shared/agent/tool.helpers.d.ts +0 -482
  471. package/dist/shared/agent/tool.helpers.js +0 -232
  472. package/dist/shared/agent/tool.registry.d.ts +0 -25
  473. package/dist/shared/agent/tool.registry.js +0 -76
  474. package/dist/shared/agent/tool.runtime.d.ts +0 -28
  475. package/dist/shared/agent/tool.runtime.js +0 -194
  476. package/dist/shared/agent/tool.scope.d.ts +0 -44
  477. package/dist/shared/agent/tool.scope.js +0 -50
  478. package/dist/shared/agent/utility.tools.d.ts +0 -15
  479. package/dist/shared/agent/utility.tools.js +0 -322
  480. package/dist/shared/assignment/network-assignment.policy.d.ts +0 -61
  481. package/dist/shared/assignment/network-assignment.policy.js +0 -105
  482. package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +0 -100
  483. package/dist/shared/interfaces/agent-dispatcher.interface.js +0 -12
  484. package/dist/shared/interfaces/auth.interface.d.ts +0 -37
  485. package/dist/shared/interfaces/auth.interface.js +0 -1
  486. package/dist/shared/interfaces/chat-message-writer.interface.d.ts +0 -18
  487. package/dist/shared/interfaces/chat-message-writer.interface.js +0 -1
  488. package/dist/shared/interfaces/chat-session.interface.d.ts +0 -23
  489. package/dist/shared/interfaces/chat-session.interface.js +0 -18
  490. package/dist/shared/interfaces/chat-summary.interface.d.ts +0 -16
  491. package/dist/shared/interfaces/chat-summary.interface.js +0 -1
  492. package/dist/shared/interfaces/database.capabilities.d.ts +0 -100
  493. package/dist/shared/interfaces/database.interface.d.ts +0 -16
  494. package/dist/shared/interfaces/database.member-queries.d.ts +0 -219
  495. package/dist/shared/interfaces/database.member-queries.js +0 -4
  496. package/dist/shared/interfaces/database.negotiation.d.ts +0 -329
  497. package/dist/shared/interfaces/database.negotiation.js +0 -26
  498. package/dist/shared/interfaces/database.network-queries.js +0 -4
  499. package/dist/shared/interfaces/database.opportunity-queries.js +0 -4
  500. package/dist/shared/interfaces/delivery-ledger.interface.d.ts +0 -40
  501. package/dist/shared/interfaces/delivery-ledger.interface.js +0 -5
  502. package/dist/shared/interfaces/embedder.interface.d.ts +0 -92
  503. package/dist/shared/interfaces/embedder.interface.js +0 -4
  504. package/dist/shared/interfaces/enrichment-run.interface.d.ts +0 -62
  505. package/dist/shared/interfaces/enrichment-run.interface.js +0 -1
  506. package/dist/shared/interfaces/enrichment.interface.js +0 -1
  507. package/dist/shared/interfaces/negotiation-events.interface.d.ts +0 -77
  508. package/dist/shared/interfaces/negotiation-events.interface.js +0 -6
  509. package/dist/shared/interfaces/negotiation-summary.interface.d.ts +0 -25
  510. package/dist/shared/interfaces/negotiation-summary.interface.js +0 -1
  511. package/dist/shared/interfaces/negotiator-memory.interface.d.ts +0 -58
  512. package/dist/shared/interfaces/negotiator-memory.interface.js +0 -11
  513. package/dist/shared/interfaces/queue.interface.d.ts +0 -23
  514. package/dist/shared/interfaces/queue.interface.js +0 -4
  515. package/dist/shared/interfaces/scraper.interface.js +0 -1
  516. package/dist/shared/interfaces/tool-request-context.interface.d.ts +0 -11
  517. package/dist/shared/interfaces/tool-request-context.interface.js +0 -1
  518. package/dist/shared/observability/request-context.d.ts +0 -27
  519. package/dist/shared/observability/request-context.js +0 -6
  520. package/dist/shared/schemas/mcp-auth.schema.d.ts +0 -87
  521. package/dist/shared/schemas/mcp-auth.schema.js +0 -56
  522. package/dist/shared/schemas/negotiation-digest.schema.d.ts +0 -58
  523. package/dist/shared/schemas/negotiation-digest.schema.js +0 -38
  524. package/dist/shared/schemas/negotiation-state.schema.d.ts +0 -343
  525. package/dist/shared/schemas/negotiation-state.schema.js +0 -81
  526. package/dist/shared/schemas/question-block.fixture.d.ts +0 -12
  527. package/dist/shared/schemas/question-block.fixture.js +0 -39
  528. package/dist/shared/schemas/question-block.schema.d.ts +0 -111
  529. package/dist/shared/schemas/question-block.schema.js +0 -124
  530. package/dist/shared/schemas/structured-question.schema.d.ts +0 -66
  531. package/dist/shared/schemas/structured-question.schema.js +0 -31
  532. package/dist/shared/schemas/underspecification.schema.d.ts +0 -13
  533. package/dist/shared/schemas/underspecification.schema.js +0 -16
  534. /package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.js +0 -0
  535. /package/dist/{opportunities → internal/opportunities}/radar/radar.state.js +0 -0
  536. /package/dist/{shared → internal/shared}/network/metadata.renderer.d.ts +0 -0
  537. /package/dist/{shared → internal/shared}/network/metadata.renderer.js +0 -0
  538. /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.d.ts +0 -0
  539. /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.js +0 -0
  540. /package/dist/{shared → internal/shared}/observability/performance.d.ts +0 -0
  541. /package/dist/{shared → internal/shared}/observability/performance.js +0 -0
  542. /package/dist/{shared → internal/shared}/observability/trace.d.ts +0 -0
  543. /package/dist/{shared → internal/shared}/observability/trace.js +0 -0
  544. /package/dist/{shared → internal/shared}/utils/claim-safety.d.ts +0 -0
  545. /package/dist/{shared → internal/shared}/utils/claim-safety.js +0 -0
  546. /package/dist/{shared → internal/shared}/utils/telegram-handle.d.ts +0 -0
  547. /package/dist/{shared → internal/shared}/utils/telegram-handle.js +0 -0
  548. /package/dist/{shared/interfaces/database.capabilities.js → platform/database/capabilities.js} +0 -0
  549. /package/dist/{shared/interfaces/database.entities.js → platform/database/entities.js} +0 -0
  550. /package/dist/{shared/interfaces/database.identity-queries.js → platform/database/identity-queries.js} +0 -0
  551. /package/dist/{agents/agent.dispatcher.port.js → platform/database/negotiation.js} +0 -0
  552. /package/dist/{chat/chat.persona.js → platform/database/opportunity-queries.js} +0 -0
  553. /package/dist/{contexts/context.tools.port.js → platform/discovery/embedder.js} +0 -0
  554. /package/dist/{shared/interfaces/scraper.interface.d.ts → platform/discovery/scraper.d.ts} +0 -0
  555. /package/dist/{negotiations/negotiation.deadlock.contracts.js → platform/discovery/scraper.js} +0 -0
  556. /package/dist/{shared/interfaces/enrichment.interface.d.ts → platform/enrichment/ports.d.ts} +0 -0
  557. /package/dist/{negotiations/negotiation.tools.port.js → platform/enrichment/ports.js} +0 -0
  558. /package/dist/{opportunities/opportunity.tools.port.js → platform/runtime/observability.js} +0 -0
  559. /package/dist/{questions/question.input.js → protocol/core.js} +0 -0
  560. /package/dist/{shared → protocol}/schemas/chat-context.schema.d.ts +0 -0
  561. /package/dist/{shared → protocol}/schemas/chat-context.schema.js +0 -0
@@ -2,8 +2,7 @@
2
2
  * Intent graph, stages 2-3: verify inferred signals, then reconcile against what exists.
3
3
  */
4
4
  import { VerifiedIntent, type IntentValidationFailure } from "./intent.graph.state.js";
5
- import type { NormalizedIntentAction } from "../intent.reconciler.js";
6
- import type { DebugMetaAgent } from "../../agents/agent.module.js";
5
+ import type { DebugMetaAgent } from "../../../protocol/core.js";
7
6
  import { type IntentGraphDeps, type IntentState } from "./intent.graph.shared.js";
8
7
  /**
9
8
  * Node 2: Verification (Map-Reduce / Parallel)
@@ -28,7 +27,7 @@ export declare function verificationNode(state: IntentState, deps: IntentGraphDe
28
27
  sincerity: number;
29
28
  entropy: number | undefined;
30
29
  referentialBreadth: "narrow" | "moderate" | "broad" | undefined;
31
- missingSelectionalConstraints: ("location" | "role" | "outcome" | "timeframe" | "domain" | "concrete_need")[] | undefined;
30
+ missingSelectionalConstraints: ("location" | "outcome" | "role" | "timeframe" | "domain" | "concrete_need")[] | undefined;
32
31
  specificityWarning: string | undefined;
33
32
  classification: "COMMISSIVE" | "DIRECTIVE" | "ASSERTIVE" | "EXPRESSIVE" | "DECLARATION" | "UNKNOWN" | undefined;
34
33
  score: number | undefined;
@@ -37,10 +36,11 @@ export declare function verificationNode(state: IntentState, deps: IntentGraphDe
37
36
  }>;
38
37
  /**
39
38
  * Node 3: Reconciliation
40
- * Decides on final actions (Create, Update, Expire).
41
- * Phase 4: Handles delete operations directly without LLM reconciliation.
39
+ * Decides on final actions. Archive and transition build their one
40
+ * deterministic action directly (no LLM). Explicit update binds to its
41
+ * one target. Creation has its own deterministic preparation route.
42
42
  */
43
- export declare function reconciliationNode(state: IntentState, deps: IntentGraphDeps): Promise<{
43
+ export declare function reconciliationNode(state: IntentState): Promise<{
44
44
  actions: {
45
45
  type: "expire";
46
46
  id: string;
@@ -53,19 +53,28 @@ export declare function reconciliationNode(state: IntentState, deps: IntentGraph
53
53
  }[];
54
54
  validationFailures?: undefined;
55
55
  } | {
56
- actions: NormalizedIntentAction[];
57
- validationFailures: IntentValidationFailure[];
56
+ actions: {
57
+ type: "transition";
58
+ id: string;
59
+ status: "ACTIVE" | "PAUSED";
60
+ }[];
58
61
  agentTimings: DebugMetaAgent[];
59
62
  trace: {
60
63
  node: string;
61
64
  detail: string;
62
65
  }[];
66
+ validationFailures?: undefined;
63
67
  } | {
64
- actions: NormalizedIntentAction[];
68
+ actions: import("./intent.graph.state.js").IntentGraphAction[];
69
+ validationFailures: IntentValidationFailure[];
65
70
  agentTimings: DebugMetaAgent[];
66
71
  trace: {
67
72
  node: string;
68
73
  detail: string;
69
74
  }[];
75
+ } | {
76
+ actions: never[];
77
+ agentTimings?: undefined;
78
+ trace?: undefined;
70
79
  validationFailures?: undefined;
71
80
  }>;
@@ -0,0 +1,173 @@
1
+ /**
2
+ * Intent graph, stages 2-3: verify inferred signals, then reconcile against what exists.
3
+ */
4
+ import { admissionFailure } from "../intent.admission.js";
5
+ import { timed } from "../../shared/observability/performance.js";
6
+ import { requestContext } from "../../shared/observability/request-context.js";
7
+ import { buildExplicitUpdateActions, isExplicitUpdateRequest, logger } from "./intent.graph.shared.js";
8
+ /**
9
+ * Node 2: Verification (Map-Reduce / Parallel)
10
+ * Verifies each inferred intent in parallel.
11
+ * Phase 4: Can be skipped for delete operations and updates with no new intents.
12
+ */
13
+ export async function verificationNode(state, deps) {
14
+ return timed("IntentGraph.verification", async () => {
15
+ const intents = state.inferredIntents;
16
+ const isExplicitUpdate = isExplicitUpdateRequest(state);
17
+ logger.verbose("Starting verification", {
18
+ isExplicitUpdate,
19
+ intentCount: intents.length
20
+ });
21
+ if (intents.length === 0) {
22
+ logger.verbose("No intents to verify");
23
+ return { verifiedIntents: [], agentTimings: [] };
24
+ }
25
+ logger.verbose('Verifying intents in parallel', { count: intents.length });
26
+ const agentTimingsAccum = [];
27
+ // Parallel Execution
28
+ const verificationResults = await Promise.all(intents.map(async (intent) => {
29
+ try {
30
+ const description = intent.description;
31
+ const _traceEmitterVerifier = requestContext.getStore()?.traceEmitter;
32
+ const verifierStart = Date.now();
33
+ _traceEmitterVerifier?.({ type: "agent_start", name: "intent-verifier" });
34
+ const verdict = await deps.verifier.invoke(description, state.userProfile);
35
+ agentTimingsAccum.push({ name: 'intent.verifier', durationMs: Date.now() - verifierStart });
36
+ _traceEmitterVerifier?.({ type: "agent_end", name: "intent-verifier", durationMs: Date.now() - verifierStart, summary: `Verified: ${verdict.classification}` });
37
+ const failure = admissionFailure(description, verdict, isExplicitUpdate);
38
+ if (failure)
39
+ return { failure };
40
+ // Calculate Score
41
+ const score = Math.min(verdict.felicity_scores.authority, verdict.felicity_scores.sincerity, verdict.felicity_scores.clarity);
42
+ // Return enriched intent
43
+ return {
44
+ intent: {
45
+ ...intent,
46
+ description,
47
+ verification: verdict,
48
+ score,
49
+ },
50
+ };
51
+ }
52
+ catch (e) {
53
+ logger.error('Error verifying intent', { description: intent.description, error: e });
54
+ return {
55
+ failure: {
56
+ category: 'verification_failure',
57
+ message: e instanceof Error ? e.message : 'Intent verification failed unexpectedly.',
58
+ },
59
+ };
60
+ }
61
+ }));
62
+ const verified = verificationResults.flatMap((result) => 'intent' in result ? [result.intent] : []);
63
+ const validationFailures = verificationResults.flatMap((result) => 'failure' in result ? [result.failure] : []);
64
+ logger.verbose(`Verification complete`, {
65
+ passed: verified.length,
66
+ total: intents.length,
67
+ isExplicitUpdate,
68
+ });
69
+ // Build trace entries with Felicity scores for each verified intent
70
+ const traceEntries = verified.map(v => {
71
+ const fs = v.verification?.felicity_scores;
72
+ const entropy = v.verification?.semantic_entropy;
73
+ const classification = v.verification?.classification;
74
+ const referentialBreadth = v.verification?.referential_breadth;
75
+ return {
76
+ node: "verification",
77
+ detail: `"${v.description.slice(0, 40)}${v.description.length > 40 ? '...' : ''}" → ${classification}${referentialBreadth ? ` (${referentialBreadth} referential breadth)` : ''}`,
78
+ data: fs ? {
79
+ clarity: fs.clarity,
80
+ authority: fs.authority,
81
+ sincerity: fs.sincerity,
82
+ entropy: entropy != null ? Math.round(entropy * 100) / 100 : undefined,
83
+ referentialBreadth,
84
+ missingSelectionalConstraints: v.verification?.missing_selectional_constraints,
85
+ specificityWarning: v.verification?.specificity_warning ?? undefined,
86
+ classification,
87
+ score: v.score,
88
+ } : undefined,
89
+ };
90
+ });
91
+ // Add summary trace if some intents were filtered out
92
+ const dropped = intents.length - verified.length;
93
+ if (dropped > 0) {
94
+ traceEntries.unshift({
95
+ node: "verification",
96
+ detail: `Verified ${verified.length}/${intents.length} (${dropped} filtered as invalid)`,
97
+ data: undefined,
98
+ });
99
+ }
100
+ else if (verified.length > 0) {
101
+ traceEntries.unshift({
102
+ node: "verification",
103
+ detail: `Verified ${verified.length} intent(s)`,
104
+ data: undefined,
105
+ });
106
+ }
107
+ return { verifiedIntents: verified, validationFailures, agentTimings: agentTimingsAccum, trace: traceEntries };
108
+ });
109
+ }
110
+ /**
111
+ * Node 3: Reconciliation
112
+ * Decides on final actions. Archive and transition build their one
113
+ * deterministic action directly (no LLM). Explicit update binds to its
114
+ * one target. Creation has its own deterministic preparation route.
115
+ */
116
+ export async function reconciliationNode(state) {
117
+ return timed("IntentGraph.reconciliation", async () => {
118
+ logger.verbose("Starting reconciliation", {
119
+ verifiedIntentCount: state.verifiedIntents.length,
120
+ targetIntentIds: state.targetIntentIds,
121
+ archive: state.archive,
122
+ status: state.status,
123
+ });
124
+ const agentTimingsAccum = [];
125
+ if (state.archive) {
126
+ const actions = (state.targetIntentIds ?? []).map(id => ({
127
+ type: 'expire',
128
+ id,
129
+ reasoning: 'User requested deletion'
130
+ }));
131
+ return {
132
+ actions,
133
+ agentTimings: agentTimingsAccum,
134
+ trace: [{ node: "reconciler", detail: `Actions: expire=${actions.length}` }],
135
+ };
136
+ }
137
+ if (state.status !== undefined) {
138
+ const actions = [{ type: 'transition', id: state.targetIntentIds[0], status: state.status }];
139
+ return {
140
+ actions,
141
+ agentTimings: agentTimingsAccum,
142
+ trace: [{ node: "reconciler", detail: `Actions: transition=1 (${state.status})` }],
143
+ };
144
+ }
145
+ // Content path: explicit update or bare create.
146
+ const candidates = state.verifiedIntents;
147
+ if (candidates.length === 0) {
148
+ logger.verbose("No verified intents to reconcile");
149
+ return {
150
+ actions: [],
151
+ agentTimings: agentTimingsAccum,
152
+ trace: [{ node: "reconciler", detail: "No intents to reconcile" }],
153
+ };
154
+ }
155
+ if (isExplicitUpdateRequest(state)) {
156
+ const explicitUpdate = buildExplicitUpdateActions(state.targetIntentIds, state.activeIntentIds, candidates);
157
+ return {
158
+ actions: explicitUpdate.actions,
159
+ validationFailures: explicitUpdate.failure
160
+ ? [...state.validationFailures, explicitUpdate.failure]
161
+ : state.validationFailures,
162
+ agentTimings: agentTimingsAccum,
163
+ trace: [{
164
+ node: 'reconciler',
165
+ detail: explicitUpdate.failure
166
+ ? `Explicit update rejected: ${explicitUpdate.failure.category}`
167
+ : `Explicit update bound to target ${state.targetIntentIds?.[0]}`,
168
+ }],
169
+ };
170
+ }
171
+ return { actions: [] };
172
+ });
173
+ }
@@ -0,0 +1,55 @@
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 IntentGraphAction, type IntentValidationFailure } from "./intent.graph.state.js";
9
+ import { ExplicitIntentInferrer } from "../intent.inferrer.js";
10
+ import { SemanticVerifier } from "../intent.verifier.js";
11
+ import { IntentPreparer } from "../intent.preparer.js";
12
+ import { IntentGraphDatabase } from "../../../platform/database.js";
13
+ import type { EmbeddingGenerator } from "../../../platform/discovery/embedder.js";
14
+ import type { IntentFollowUp } from "../../../platform/runtime/follow-up.js";
15
+ /** The graph's channel state, as every node sees it. */
16
+ export type IntentState = typeof IntentGraphState.State;
17
+ /** Everything the intent nodes reach for. Composed once by the factory. */
18
+ export interface IntentGraphDeps {
19
+ database: IntentGraphDatabase;
20
+ embedder?: EmbeddingGenerator;
21
+ intentFollowUp?: IntentFollowUp;
22
+ inferrer: Pick<ExplicitIntentInferrer, 'invoke'>;
23
+ verifier: Pick<SemanticVerifier, 'invoke'>;
24
+ preparer: Pick<IntentPreparer, 'invoke'>;
25
+ }
26
+ export declare const logger: import("../../shared/observability/log.js").LoggerWithSource;
27
+ /**
28
+ * True when the input shape is an explicit update: content plus a target id.
29
+ * Distinguishes an explicit update from archive/transition/confirm, which also
30
+ * carry `targetIntentIds` but for a different purpose.
31
+ */
32
+ export declare function isExplicitUpdateRequest(state: Pick<IntentState, 'inputContent' | 'targetIntentIds'>): boolean;
33
+ /**
34
+ * Enforce write-mode constraints on reconciler output before any action can
35
+ * reach persistence. An explicit update is deliberately fail-closed: only an
36
+ * update whose id is the caller-provided target survives.
37
+ */
38
+ export declare function enforceIntentActionBoundary(isExplicitUpdate: boolean, targetIntentIds: string[] | undefined, actions: IntentGraphAction[]): IntentGraphAction[];
39
+ /**
40
+ * Build the only action permitted for an explicit update. This path is
41
+ * deterministic and cannot redirect an update away from its supplied target.
42
+ */
43
+ export declare function buildExplicitUpdateActions(targetIntentIds: string[] | undefined, activeIntentIds: string[], candidates: VerifiedIntent[]): {
44
+ actions: IntentGraphAction[];
45
+ failure?: IntentValidationFailure;
46
+ };
47
+ export declare const toSpeechActType: (classification?: string) => "COMMISSIVE" | "DIRECTIVE" | null;
48
+ /** Normalize explicit update text; creation preserves the submitted text. */
49
+ export declare function normalizeIntentDescription(description: string): string;
50
+ /**
51
+ * Generate a flat embedding for an intent payload, swallowing failures so
52
+ * persistence can continue without an embedding. `intentId` is logging-only
53
+ * (present for updates, absent for creates).
54
+ */
55
+ export declare function generateIntentEmbedding(deps: IntentGraphDeps, sanitizedPayload: string, intentId?: string): Promise<number[] | undefined>;
@@ -5,25 +5,31 @@
5
5
  * top-level functions now, each taking an explicit {@link IntentGraphDeps}.
6
6
  * This module owns the bag, the logger, and the pure helpers.
7
7
  */
8
- import { DEFAULT_SPECIFICITY_WARNING } from "../intent.proposal.js";
9
8
  import { getAbortSignalConfig } from "../../shared/agent/model-signal.js";
10
9
  import { protocolLogger } from "../../shared/observability/protocol.logger.js";
11
10
  export const logger = protocolLogger("IntentGraphFactory");
11
+ /**
12
+ * True when the input shape is an explicit update: content plus a target id.
13
+ * Distinguishes an explicit update from archive/transition/confirm, which also
14
+ * carry `targetIntentIds` but for a different purpose.
15
+ */
16
+ export function isExplicitUpdateRequest(state) {
17
+ return state.inputContent !== undefined && !!state.targetIntentIds?.length;
18
+ }
12
19
  /**
13
20
  * Enforce write-mode constraints on reconciler output before any action can
14
- * reach persistence. Update mode is deliberately fail-closed: only updates
15
- * whose id is one of the caller-provided targets survive.
21
+ * reach persistence. An explicit update is deliberately fail-closed: only an
22
+ * update whose id is the caller-provided target survives.
16
23
  */
17
- export function enforceIntentActionBoundary(operationMode, targetIntentIds, actions) {
18
- if (operationMode !== 'update')
24
+ export function enforceIntentActionBoundary(isExplicitUpdate, targetIntentIds, actions) {
25
+ if (!isExplicitUpdate)
19
26
  return actions;
20
27
  const targets = new Set(targetIntentIds ?? []);
21
28
  return actions.filter((action) => action.type === 'update' && targets.has(action.id));
22
29
  }
23
30
  /**
24
31
  * Build the only action permitted for an explicit update. This path is
25
- * intentionally deterministic: semantic reconciliation may shape create
26
- * operations, but it may not redirect an update away from its supplied target.
32
+ * deterministic and cannot redirect an update away from its supplied target.
27
33
  */
28
34
  export function buildExplicitUpdateActions(targetIntentIds, activeIntentIds, candidates) {
29
35
  if (targetIntentIds?.length !== 1 || !activeIntentIds.includes(targetIntentIds[0])) {
@@ -56,74 +62,23 @@ export function buildExplicitUpdateActions(targetIntentIds, activeIntentIds, can
56
62
  }],
57
63
  };
58
64
  }
59
- export const MAX_PERMISSIBLE_ENTROPY = 0.75;
60
- export const MIN_CLEAR_INTENT_SCORE = 40;
61
- export const GENERIC_JOB_PHRASE = /\b(?:a|any|some)\s+job\b/i;
62
- export const inferRoleFromContextText = (text) => {
63
- const normalized = text.toLowerCase();
64
- if (/\b(engineer|developer)\b/.test(normalized))
65
- return "software engineering";
66
- if (/\b(designer|ux|ui)\b/.test(normalized))
67
- return "product design";
68
- if (/\b(marketing|marketer|growth)\b/.test(normalized))
69
- return "marketing";
70
- if (/\b(product manager|product)\b/.test(normalized))
71
- return "product management";
72
- if (/\b(data scientist|machine learning|ml|ai)\b/.test(normalized))
73
- return "AI/ML";
74
- if (/\b(sales|account executive|business development)\b/.test(normalized))
75
- return "sales";
76
- return null;
77
- };
78
- /**
79
- * Derive a job-role qualifier from the user's global user_context paragraph
80
- * (the identity text that replaced the legacy profile projection). Role is
81
- * inferred from the free text; the old structured skills/interests extraction
82
- * is gone with the removed profile fields.
83
- */
84
- export const buildJobQualifierFromContext = (contextText) => {
85
- const roleHint = inferRoleFromContextText(contextText ?? "");
86
- return roleHint ? `${roleHint} role` : null;
87
- };
88
- export const enrichVagueIntentWithContext = (description, userContext) => {
89
- const trimmed = description?.trim();
90
- if (!trimmed)
91
- return description;
92
- const isGenericJobRequest = GENERIC_JOB_PHRASE.test(trimmed) ||
93
- /\b(?:find|get|look(?:ing)?\s+for|want)\s+(?:to\s+)?(?:find\s+)?job\b/i.test(trimmed);
94
- if (!isGenericJobRequest)
95
- return description;
96
- const qualifier = buildJobQualifierFromContext(userContext);
97
- if (!qualifier)
98
- return description;
99
- const enriched = trimmed
100
- .replace(/\ba job\b/i, `a ${qualifier}`)
101
- .replace(/\bjob\b/i, `${qualifier}`)
102
- .replace(/\s{2,}/g, " ")
103
- .trim();
104
- return enriched.length > 0 ? enriched : description;
105
- };
106
- export const isVague = (description, entropy, clarity) => {
107
- if (GENERIC_JOB_PHRASE.test(description))
108
- return true;
109
- if (entropy > MAX_PERMISSIBLE_ENTROPY)
110
- return true;
111
- if (clarity < MIN_CLEAR_INTENT_SCORE)
112
- return true;
113
- return false;
114
- };
115
- export const getSpecificityWarning = (verdict) => {
116
- const warning = verdict.specificity_warning?.trim();
117
- return warning && warning.length > 0 ? warning : DEFAULT_SPECIFICITY_WARNING;
118
- };
119
65
  export const toSpeechActType = (classification) => {
120
66
  if (classification === "COMMISSIVE" || classification === "DIRECTIVE")
121
67
  return classification;
122
68
  return null;
123
69
  };
124
- /**
125
- * Factory class to build and compile the Intent Processing Graph.
126
-
70
+ /** Normalize explicit update text; creation preserves the submitted text. */
71
+ export function normalizeIntentDescription(description) {
72
+ if (!description || typeof description !== "string")
73
+ return description;
74
+ const normalized = description
75
+ .replace(/\s*More details at\s*:?\s*https?:\/\/[^\s"'<>)\]]+/gi, "")
76
+ .replace(/\s*See\s+https?:\/\/[^\s"'<>)\]]+\s+for\s+more[^.]*\.?/gi, "")
77
+ .replace(/https?:\/\/[^\s"'<>)\]]+/g, "")
78
+ .replace(/\s{2,}/g, " ")
79
+ .trim();
80
+ return normalized.replace(/[.,;]\s*$/, "").trim() || description;
81
+ }
127
82
  /**
128
83
  * Generate a flat embedding for an intent payload, swallowing failures so
129
84
  * persistence can continue without an embedding. `intentId` is logging-only
@@ -1,8 +1,11 @@
1
1
  import { BaseMessage } from "@langchain/core/messages";
2
2
  import { InferredIntent } from "../intent.inferrer.js";
3
3
  import { SemanticVerifierOutput } from "../intent.verifier.js";
4
- import type { DebugMetaAgent } from '../../agents/agent.module.js';
5
- import type { ToolScopeType } from '../../shared/agent/tool.scope.js';
4
+ import type { IntentSemanticMetadata } from "../intent.admission.js";
5
+ import type { PreparedIntent, PrepareResult } from "../intent.preparer.js";
6
+ import type { DebugMetaAgent } from "../../../protocol/core.js";
7
+ import type { ScopeType } from '../../shared/agent/scope.js';
8
+ import type { IntentLifecycleStatus } from "../../../platform/database.js";
6
9
  /**
7
10
  * Extended InferredIntent that includes verification results.
8
11
  * We attach the verification output directly to the intent object
@@ -24,16 +27,64 @@ export interface IntentValidationFailure {
24
27
  */
25
28
  export interface ExecutionResult {
26
29
  /** The action type that was executed */
27
- actionType: 'create' | 'update' | 'expire';
30
+ actionType: 'create' | 'update' | 'expire' | 'transition';
28
31
  /** Whether the action succeeded */
29
32
  success: boolean;
30
33
  /** The intent ID (created/updated/archived) */
31
34
  intentId?: string;
32
35
  /** Final payload (sanitized, for create/update) */
33
36
  payload?: string;
34
- /** Error message if failed */
37
+ /** Error message if failed. For transition this is the outcome's `kind`. */
35
38
  error?: string;
39
+ /** Networks the created intent was linked to, for a `create` action. */
40
+ linkedNetworkIds?: string[];
36
41
  }
42
+ /** A deterministic pause/resume action, bypassing the LLM reconciler. */
43
+ export interface TransitionIntentAction {
44
+ type: 'transition';
45
+ id: string;
46
+ status: 'ACTIVE' | 'PAUSED';
47
+ }
48
+ /** Every action kind the executor can carry out. */
49
+ export type IntentGraphAction = {
50
+ type: 'create';
51
+ payload: string;
52
+ metadata: IntentSemanticMetadata | null;
53
+ } | {
54
+ type: 'update';
55
+ id: string;
56
+ payload: string;
57
+ score: number | null;
58
+ reasoning: string;
59
+ intentMode: 'REFERENTIAL' | 'ATTRIBUTIVE';
60
+ } | {
61
+ type: 'expire';
62
+ id: string;
63
+ reasoning: string;
64
+ } | TransitionIntentAction;
65
+ /** Outcome of a `transition` action, mirroring the adapter's discriminated result plus the enqueue-failure compensation case. */
66
+ export type TransitionOutcome = {
67
+ kind: 'success';
68
+ id: string;
69
+ status: 'ACTIVE' | 'PAUSED';
70
+ changed: boolean;
71
+ lifecycleVersionMs: number;
72
+ } | {
73
+ kind: 'not_found';
74
+ } | {
75
+ kind: 'scope_violation';
76
+ } | {
77
+ kind: 'stale';
78
+ } | {
79
+ kind: 'conflict';
80
+ status: IntentLifecycleStatus | null;
81
+ archived: boolean;
82
+ } | {
83
+ kind: 'enqueue_failed';
84
+ id: string;
85
+ status: IntentLifecycleStatus;
86
+ lifecycleVersionMs: number;
87
+ };
37
88
  /**
38
89
  * The Graph State using LangGraph Annotations.
39
90
  * This acts as the central bus for data flowing through our graph.
@@ -58,13 +109,25 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
58
109
  };
59
110
  /**
60
111
  * Explicit input content (e.g., user message).
61
- * Optional - graph might run on implicit only.
112
+ * Omitted for read, archive, and status operations.
62
113
  */
63
114
  inputContent: {
64
115
  (annotation: import("@langchain/langgraph").SingleReducer<string | undefined, string | undefined>): import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
65
116
  (): import("@langchain/langgraph").LastValue<string | undefined>;
66
117
  Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
67
118
  };
119
+ /** Host-authorized preparation, reused without admission. Null metadata means the final text was edited. Never pass client-supplied objects here. */
120
+ preparation: {
121
+ (annotation: import("@langchain/langgraph").SingleReducer<PreparedIntent | undefined, PreparedIntent | undefined>): import("@langchain/langgraph").BaseChannel<PreparedIntent | undefined, PreparedIntent | import("@langchain/langgraph").OverwriteValue<PreparedIntent | undefined> | undefined, unknown>;
122
+ (): import("@langchain/langgraph").LastValue<PreparedIntent | undefined>;
123
+ Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
124
+ };
125
+ /** The full preparation outcome for an unprepared create, including repairable feedback. */
126
+ preparationResult: {
127
+ (annotation: import("@langchain/langgraph").SingleReducer<PrepareResult | undefined, PrepareResult | undefined>): import("@langchain/langgraph").BaseChannel<PrepareResult | undefined, PrepareResult | import("@langchain/langgraph").OverwriteValue<PrepareResult | undefined> | undefined, unknown>;
128
+ (): import("@langchain/langgraph").LastValue<PrepareResult | undefined>;
129
+ Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
130
+ };
68
131
  /**
69
132
  * Conversation history for context-aware intent inference.
70
133
  * Used to resolve anaphoric references ("that intent", "this goal").
@@ -73,41 +136,40 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
73
136
  */
74
137
  conversationContext: import("@langchain/langgraph").BaseChannel<BaseMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>, import("@langchain/core/messages").MessageType>[] | undefined, BaseMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>, import("@langchain/core/messages").MessageType>[] | import("@langchain/langgraph").OverwriteValue<BaseMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>, import("@langchain/core/messages").MessageType>[] | undefined> | undefined, unknown>;
75
138
  /**
76
- * Operation mode controls graph flow and determines which nodes execute.
77
- * - 'create': Full pipeline (prep → inference → verification → reconciliation → execution)
78
- * - 'update': Skip verification if no new intents (prep → inference → reconciliation → execution)
79
- * - 'delete': Skip inference and verification (prep → reconciliation → execution)
80
- * - 'read': Fast path (prep → queryNode → END) — reads intents without LLM calls
81
- * - 'propose': Inference + verification only, stops before reconciliation (no DB writes)
82
- *
83
- * Defaults to 'create' for backward compatibility.
84
- */
85
- operationMode: import("@langchain/langgraph").BaseChannel<"update" | "propose" | "create" | "delete" | "read", "update" | "propose" | "create" | "delete" | "read" | import("@langchain/langgraph").OverwriteValue<"update" | "propose" | "create" | "delete" | "read">, unknown>;
86
- /**
87
- * For update/delete operations, specifies which intent IDs to target.
88
- * Optional - used when modifying or removing specific intents.
139
+ * The graph routes on the shape of its input, not a mode flag:
140
+ * - `inputContent` alone → create path (prepare → execute)
141
+ * - `inputContent` + `targetIntentIds` → explicit update, bound to that one id
142
+ * - `targetIntentIds` + `archive: true` → expire those ids, no LLM
143
+ * - `targetIntentIds` + `status` → pause/resume, no LLM
144
+ * - none of the above → read (query fast path)
145
+ * Exactly one of {content, archive, status} may be set per invoke.
89
146
  */
90
147
  targetIntentIds: import("@langchain/langgraph").BaseChannel<string[] | undefined, string[] | import("@langchain/langgraph").OverwriteValue<string[] | undefined> | undefined, unknown>;
148
+ /** Archive route: expire every id in `targetIntentIds`. Requires `targetIntentIds`. */
149
+ archive: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
150
+ /** Transition route: pause/resume the single id in `targetIntentIds`. Requires `targetIntentIds`. */
151
+ status: import("@langchain/langgraph").BaseChannel<"ACTIVE" | "PAUSED" | undefined, "ACTIVE" | "PAUSED" | import("@langchain/langgraph").OverwriteValue<"ACTIVE" | "PAUSED" | undefined> | undefined, unknown>;
91
152
  /**
92
153
  * Optional material compare-and-set guard used only by recovery-answer
93
154
  * updates. The database rechecks it while holding the final intent row lock.
94
155
  */
95
156
  expectedIntentFingerprint: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
96
157
  /**
97
- * Optional network scope (network ID). Used for linking created intents to a network
98
- * and for scoping read operations. Prep always fetches ALL user intents via
99
- * getActiveIntents(userId) regardless of network scope (for global dedup/reconciliation).
158
+ * Optional network scope (network ID) for read operations. Prep always
159
+ * fetches ALL user intents via getActiveIntents(userId) regardless of network
160
+ * scope (for explicit update ownership).
100
161
  */
101
162
  networkId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
163
+ /**
164
+ * Create route: the networks a newly created intent is linked to. Exactly
165
+ * this list is written to `intent_networks`, each one membership-checked;
166
+ * nothing is inferred or scored. An empty list creates an unlinked intent.
167
+ */
168
+ networkIds: import("@langchain/langgraph").BaseChannel<string[] | undefined, string[] | import("@langchain/langgraph").OverwriteValue<string[] | undefined> | undefined, unknown>;
102
169
  /** Focused request scope type for write-side assignment and follow-up queues. */
103
- scopeType: import("@langchain/langgraph").BaseChannel<ToolScopeType | undefined, ToolScopeType | import("@langchain/langgraph").OverwriteValue<ToolScopeType | undefined> | undefined, unknown>;
170
+ scopeType: import("@langchain/langgraph").BaseChannel<ScopeType | undefined, ScopeType | import("@langchain/langgraph").OverwriteValue<ScopeType | undefined> | undefined, unknown>;
104
171
  /** Focused request scope id. When scopeType is `network`, this is the focused network id. */
105
172
  scopeId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
106
- /**
107
- * The formatted string of currently active intents.
108
- * Always populated by prep via getActiveIntents(userId).
109
- */
110
- activeIntents: import("@langchain/langgraph").BaseChannel<string, string | import("@langchain/langgraph").OverwriteValue<string>, unknown>;
111
173
  /** IDs of active intents owned by the graph user, used to fail closed on explicit updates. */
112
174
  activeIntentIds: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
113
175
  /**
@@ -137,14 +199,16 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
137
199
  /** Structured reasons for candidates rejected before persistence. */
138
200
  validationFailures: import("@langchain/langgraph").BaseChannel<IntentValidationFailure[], IntentValidationFailure[] | import("@langchain/langgraph").OverwriteValue<IntentValidationFailure[]>, unknown>;
139
201
  /**
140
- * Final actions to be performed on the DB (Create, Update, Expire).
202
+ * Final actions to be performed on the DB (Create, Update, Expire, Transition).
141
203
  */
142
- actions: import("@langchain/langgraph").BaseChannel<import("../intent.reconciler.js").NormalizedIntentAction[], import("../intent.reconciler.js").NormalizedIntentAction[] | import("@langchain/langgraph").OverwriteValue<import("../intent.reconciler.js").NormalizedIntentAction[]>, unknown>;
204
+ actions: import("@langchain/langgraph").BaseChannel<IntentGraphAction[], IntentGraphAction[] | import("@langchain/langgraph").OverwriteValue<IntentGraphAction[]>, unknown>;
143
205
  /**
144
206
  * Results of executing actions against the database.
145
207
  * Populated by executorNode after actions are persisted.
146
208
  */
147
209
  executionResults: import("@langchain/langgraph").BaseChannel<ExecutionResult[], ExecutionResult[] | import("@langchain/langgraph").OverwriteValue<ExecutionResult[]>, unknown>;
210
+ /** Detailed outcome of a `transition` action, for host-side status mapping. */
211
+ transitionResult: import("@langchain/langgraph").BaseChannel<TransitionOutcome | undefined, TransitionOutcome | import("@langchain/langgraph").OverwriteValue<TransitionOutcome | undefined> | undefined, unknown>;
148
212
  /**
149
213
  * If set, indicates a fatal error that should short-circuit the graph to END.
150
214
  * Populated by prep when a precondition fails (e.g. missing profile).
@@ -174,9 +238,9 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
174
238
  * For read mode: the set of network IDs the caller's agent can reach.
175
239
  * When set and neither networkId nor queryUserId is provided, the graph
176
240
  * returns the caller's own intents across all networks in this set (scope-aware
177
- * default path). Derived by the tool layer from the scope envelope plus memberships.
241
+ * default path). Derived by the host from the scope envelope plus memberships.
178
242
  */
179
- indexScope: import("@langchain/langgraph").BaseChannel<string[] | undefined, string[] | import("@langchain/langgraph").OverwriteValue<string[] | undefined> | undefined, unknown>;
243
+ networkScope: import("@langchain/langgraph").BaseChannel<string[] | undefined, string[] | import("@langchain/langgraph").OverwriteValue<string[] | undefined> | undefined, unknown>;
180
244
  /**
181
245
  * For read mode: filter intents by a specific user when reading in a network.
182
246
  * When omitted and network-scoped, returns all intents in the network.
@@ -184,7 +248,7 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
184
248
  queryUserId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
185
249
  /**
186
250
  * For read mode: when true, return all of the current user's intents
187
- * ignoring network scope. Used before create_intent to detect duplicates.
251
+ * ignoring network scope. Used when the caller requests a global list.
188
252
  */
189
253
  allUserIntents: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
190
254
  /**