@indexnetwork/protocol 1.25.1-rc.209.1 → 1.25.3-rc.211.1

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 (274) hide show
  1. package/dist/agent/agent.tools.d.ts.map +1 -1
  2. package/dist/agent/agent.tools.js.map +1 -1
  3. package/dist/agent/tests/fakes.d.ts.map +1 -1
  4. package/dist/agent/tests/fakes.js.map +1 -1
  5. package/dist/chat/chat-streaming.types.d.ts.map +1 -1
  6. package/dist/chat/chat-streaming.types.js.map +1 -1
  7. package/dist/chat/chat.agent.d.ts.map +1 -1
  8. package/dist/chat/chat.agent.js.map +1 -1
  9. package/dist/chat/chat.graph.d.ts.map +1 -1
  10. package/dist/chat/chat.graph.js.map +1 -1
  11. package/dist/chat/chat.prompt.d.ts.map +1 -1
  12. package/dist/chat/chat.prompt.js.map +1 -1
  13. package/dist/chat/chat.prompt.modules.d.ts.map +1 -1
  14. package/dist/chat/chat.prompt.modules.js.map +1 -1
  15. package/dist/chat/chat.question-dedup.d.ts.map +1 -1
  16. package/dist/chat/chat.question-dedup.js.map +1 -1
  17. package/dist/chat/chat.state.d.ts.map +1 -1
  18. package/dist/chat/chat.state.js.map +1 -1
  19. package/dist/chat/chat.streamer.d.ts.map +1 -1
  20. package/dist/chat/chat.streamer.js.map +1 -1
  21. package/dist/chat/chat.suggester.d.ts.map +1 -1
  22. package/dist/chat/chat.suggester.js.map +1 -1
  23. package/dist/chat/chat.summarizer.d.ts.map +1 -1
  24. package/dist/chat/chat.summarizer.js.map +1 -1
  25. package/dist/chat/chat.title.generator.d.ts.map +1 -1
  26. package/dist/chat/chat.title.generator.js.map +1 -1
  27. package/dist/chat/chat.tools.d.ts.map +1 -1
  28. package/dist/chat/chat.tools.js.map +1 -1
  29. package/dist/chat/chat.utils.d.ts.map +1 -1
  30. package/dist/chat/chat.utils.js.map +1 -1
  31. package/dist/chat/tests/chat.graph.mocks.d.ts.map +1 -1
  32. package/dist/chat/tests/chat.graph.mocks.js.map +1 -1
  33. package/dist/contact/contact.inviter.d.ts.map +1 -1
  34. package/dist/contact/contact.inviter.js.map +1 -1
  35. package/dist/contact/contact.tools.d.ts.map +1 -1
  36. package/dist/contact/contact.tools.js.map +1 -1
  37. package/dist/context/context.generator.d.ts.map +1 -1
  38. package/dist/context/context.generator.js.map +1 -1
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +1 -0
  42. package/dist/index.js.map +1 -1
  43. package/dist/integration/integration.tools.d.ts.map +1 -1
  44. package/dist/integration/integration.tools.js.map +1 -1
  45. package/dist/intent/intent.clarifier.d.ts.map +1 -1
  46. package/dist/intent/intent.clarifier.js.map +1 -1
  47. package/dist/intent/intent.graph.d.ts.map +1 -1
  48. package/dist/intent/intent.graph.js.map +1 -1
  49. package/dist/intent/intent.indexer.d.ts.map +1 -1
  50. package/dist/intent/intent.indexer.js.map +1 -1
  51. package/dist/intent/intent.inferrer.d.ts.map +1 -1
  52. package/dist/intent/intent.inferrer.js.map +1 -1
  53. package/dist/intent/intent.reconciler.d.ts.map +1 -1
  54. package/dist/intent/intent.reconciler.js.map +1 -1
  55. package/dist/intent/intent.state.d.ts.map +1 -1
  56. package/dist/intent/intent.state.js.map +1 -1
  57. package/dist/intent/intent.tools.d.ts.map +1 -1
  58. package/dist/intent/intent.tools.js.map +1 -1
  59. package/dist/intent/intent.verifier.d.ts.map +1 -1
  60. package/dist/intent/intent.verifier.js.map +1 -1
  61. package/dist/maintenance/maintenance.graph.d.ts.map +1 -1
  62. package/dist/maintenance/maintenance.graph.js.map +1 -1
  63. package/dist/maintenance/maintenance.state.d.ts.map +1 -1
  64. package/dist/maintenance/maintenance.state.js.map +1 -1
  65. package/dist/mcp/elicitation.builder.d.ts.map +1 -1
  66. package/dist/mcp/elicitation.builder.js.map +1 -1
  67. package/dist/mcp/elicitation.dispatcher.d.ts.map +1 -1
  68. package/dist/mcp/elicitation.dispatcher.js.map +1 -1
  69. package/dist/mcp/mcp.server.d.ts.map +1 -1
  70. package/dist/mcp/mcp.server.js.map +1 -1
  71. package/dist/negotiation/insight.generator.d.ts.map +1 -1
  72. package/dist/negotiation/insight.generator.js.map +1 -1
  73. package/dist/negotiation/negotiation.agent.d.ts.map +1 -1
  74. package/dist/negotiation/negotiation.agent.js.map +1 -1
  75. package/dist/negotiation/negotiation.graph.d.ts.map +1 -1
  76. package/dist/negotiation/negotiation.graph.js.map +1 -1
  77. package/dist/negotiation/negotiation.state.d.ts.map +1 -1
  78. package/dist/negotiation/negotiation.state.js.map +1 -1
  79. package/dist/negotiation/negotiation.summarizer.d.ts.map +1 -1
  80. package/dist/negotiation/negotiation.summarizer.js.map +1 -1
  81. package/dist/negotiation/negotiation.tools.d.ts.map +1 -1
  82. package/dist/negotiation/negotiation.tools.js.map +1 -1
  83. package/dist/network/indexer/indexer.graph.d.ts.map +1 -1
  84. package/dist/network/indexer/indexer.graph.js.map +1 -1
  85. package/dist/network/indexer/indexer.state.d.ts.map +1 -1
  86. package/dist/network/indexer/indexer.state.js.map +1 -1
  87. package/dist/network/membership/membership.graph.d.ts.map +1 -1
  88. package/dist/network/membership/membership.graph.js.map +1 -1
  89. package/dist/network/membership/membership.state.d.ts.map +1 -1
  90. package/dist/network/membership/membership.state.js.map +1 -1
  91. package/dist/network/network.graph.d.ts.map +1 -1
  92. package/dist/network/network.graph.js.map +1 -1
  93. package/dist/network/network.state.d.ts.map +1 -1
  94. package/dist/network/network.state.js.map +1 -1
  95. package/dist/network/network.tools.d.ts.map +1 -1
  96. package/dist/network/network.tools.js.map +1 -1
  97. package/dist/opportunity/delivery-card.cache.d.ts.map +1 -1
  98. package/dist/opportunity/delivery-card.cache.js.map +1 -1
  99. package/dist/opportunity/discovery-question.helper.d.ts.map +1 -1
  100. package/dist/opportunity/discovery-question.helper.js.map +1 -1
  101. package/dist/opportunity/feed/feed.categorizer.d.ts.map +1 -1
  102. package/dist/opportunity/feed/feed.categorizer.js.map +1 -1
  103. package/dist/opportunity/feed/feed.graph.d.ts.map +1 -1
  104. package/dist/opportunity/feed/feed.graph.js.map +1 -1
  105. package/dist/opportunity/feed/feed.health.d.ts.map +1 -1
  106. package/dist/opportunity/feed/feed.health.js.map +1 -1
  107. package/dist/opportunity/feed/feed.state.d.ts.map +1 -1
  108. package/dist/opportunity/feed/feed.state.js.map +1 -1
  109. package/dist/opportunity/negotiation-context.loader.d.ts.map +1 -1
  110. package/dist/opportunity/negotiation-context.loader.js.map +1 -1
  111. package/dist/opportunity/negotiation-summary.builder.d.ts.map +1 -1
  112. package/dist/opportunity/negotiation-summary.builder.js.map +1 -1
  113. package/dist/opportunity/opportunity.discover.d.ts.map +1 -1
  114. package/dist/opportunity/opportunity.discover.js.map +1 -1
  115. package/dist/opportunity/opportunity.enricher.d.ts.map +1 -1
  116. package/dist/opportunity/opportunity.enricher.js.map +1 -1
  117. package/dist/opportunity/opportunity.evaluator.d.ts.map +1 -1
  118. package/dist/opportunity/opportunity.evaluator.js.map +1 -1
  119. package/dist/opportunity/opportunity.graph.d.ts.map +1 -1
  120. package/dist/opportunity/opportunity.graph.js.map +1 -1
  121. package/dist/opportunity/opportunity.introducer.d.ts.map +1 -1
  122. package/dist/opportunity/opportunity.introducer.js.map +1 -1
  123. package/dist/opportunity/opportunity.labels.d.ts.map +1 -1
  124. package/dist/opportunity/opportunity.labels.js.map +1 -1
  125. package/dist/opportunity/opportunity.pending-questions.d.ts.map +1 -1
  126. package/dist/opportunity/opportunity.pending-questions.js.map +1 -1
  127. package/dist/opportunity/opportunity.persist.d.ts.map +1 -1
  128. package/dist/opportunity/opportunity.persist.js.map +1 -1
  129. package/dist/opportunity/opportunity.presentation.d.ts.map +1 -1
  130. package/dist/opportunity/opportunity.presentation.js.map +1 -1
  131. package/dist/opportunity/opportunity.presenter.d.ts.map +1 -1
  132. package/dist/opportunity/opportunity.presenter.js.map +1 -1
  133. package/dist/opportunity/opportunity.state.d.ts.map +1 -1
  134. package/dist/opportunity/opportunity.state.js.map +1 -1
  135. package/dist/opportunity/opportunity.tools.d.ts.map +1 -1
  136. package/dist/opportunity/opportunity.tools.js.map +1 -1
  137. package/dist/opportunity/opportunity.utils.d.ts.map +1 -1
  138. package/dist/opportunity/opportunity.utils.js.map +1 -1
  139. package/dist/opportunity/question.generator.d.ts.map +1 -1
  140. package/dist/opportunity/question.generator.js.map +1 -1
  141. package/dist/opportunity/question.prompt.d.ts.map +1 -1
  142. package/dist/opportunity/question.prompt.js.map +1 -1
  143. package/dist/premise/premise.analyzer.d.ts.map +1 -1
  144. package/dist/premise/premise.analyzer.js.map +1 -1
  145. package/dist/premise/premise.decomposer.d.ts.map +1 -1
  146. package/dist/premise/premise.decomposer.js.map +1 -1
  147. package/dist/premise/premise.graph.d.ts.map +1 -1
  148. package/dist/premise/premise.graph.js.map +1 -1
  149. package/dist/premise/premise.indexer.d.ts.map +1 -1
  150. package/dist/premise/premise.indexer.js.map +1 -1
  151. package/dist/premise/premise.state.d.ts.map +1 -1
  152. package/dist/premise/premise.state.js.map +1 -1
  153. package/dist/premise/premise.tools.d.ts.map +1 -1
  154. package/dist/premise/premise.tools.js.map +1 -1
  155. package/dist/profile/profile.enricher.d.ts.map +1 -1
  156. package/dist/profile/profile.enricher.js.map +1 -1
  157. package/dist/profile/profile.generator.d.ts.map +1 -1
  158. package/dist/profile/profile.generator.js.map +1 -1
  159. package/dist/profile/profile.graph.d.ts.map +1 -1
  160. package/dist/profile/profile.graph.js.map +1 -1
  161. package/dist/profile/profile.state.d.ts.map +1 -1
  162. package/dist/profile/profile.state.js.map +1 -1
  163. package/dist/profile/profile.tools.d.ts.map +1 -1
  164. package/dist/profile/profile.tools.js.map +1 -1
  165. package/dist/questioner/questioner.agent.d.ts.map +1 -1
  166. package/dist/questioner/questioner.agent.js.map +1 -1
  167. package/dist/questioner/questioner.presets.d.ts.map +1 -1
  168. package/dist/questioner/questioner.presets.js.map +1 -1
  169. package/dist/questioner/questioner.types.d.ts.map +1 -1
  170. package/dist/questioner/questioner.types.js.map +1 -1
  171. package/dist/shared/agent/model-signal.d.ts.map +1 -1
  172. package/dist/shared/agent/model-signal.js.map +1 -1
  173. package/dist/shared/agent/model.config.d.ts.map +1 -1
  174. package/dist/shared/agent/model.config.js.map +1 -1
  175. package/dist/shared/agent/response.streamer.d.ts.map +1 -1
  176. package/dist/shared/agent/response.streamer.js.map +1 -1
  177. package/dist/shared/agent/tests/llm-assert.d.ts.map +1 -1
  178. package/dist/shared/agent/tests/llm-assert.js.map +1 -1
  179. package/dist/shared/agent/tool.factory.d.ts.map +1 -1
  180. package/dist/shared/agent/tool.factory.js.map +1 -1
  181. package/dist/shared/agent/tool.helpers.d.ts.map +1 -1
  182. package/dist/shared/agent/tool.helpers.js.map +1 -1
  183. package/dist/shared/agent/tool.registry.d.ts.map +1 -1
  184. package/dist/shared/agent/tool.registry.js.map +1 -1
  185. package/dist/shared/agent/tool.runtime.d.ts.map +1 -1
  186. package/dist/shared/agent/tool.runtime.js +4 -0
  187. package/dist/shared/agent/tool.runtime.js.map +1 -1
  188. package/dist/shared/agent/utility.tools.d.ts.map +1 -1
  189. package/dist/shared/agent/utility.tools.js.map +1 -1
  190. package/dist/shared/hyde/hyde.generator.d.ts.map +1 -1
  191. package/dist/shared/hyde/hyde.generator.js.map +1 -1
  192. package/dist/shared/hyde/hyde.graph.d.ts.map +1 -1
  193. package/dist/shared/hyde/hyde.graph.js.map +1 -1
  194. package/dist/shared/hyde/hyde.state.d.ts.map +1 -1
  195. package/dist/shared/hyde/hyde.state.js.map +1 -1
  196. package/dist/shared/hyde/hyde.strategies.d.ts.map +1 -1
  197. package/dist/shared/hyde/hyde.strategies.js.map +1 -1
  198. package/dist/shared/hyde/lens.inferrer.d.ts.map +1 -1
  199. package/dist/shared/hyde/lens.inferrer.js.map +1 -1
  200. package/dist/shared/interfaces/agent-dispatcher.interface.d.ts.map +1 -1
  201. package/dist/shared/interfaces/agent-dispatcher.interface.js.map +1 -1
  202. package/dist/shared/interfaces/agent.interface.d.ts.map +1 -1
  203. package/dist/shared/interfaces/agent.interface.js.map +1 -1
  204. package/dist/shared/interfaces/auth.interface.d.ts.map +1 -1
  205. package/dist/shared/interfaces/auth.interface.js.map +1 -1
  206. package/dist/shared/interfaces/cache.interface.d.ts.map +1 -1
  207. package/dist/shared/interfaces/cache.interface.js.map +1 -1
  208. package/dist/shared/interfaces/chat-message-writer.interface.d.ts.map +1 -1
  209. package/dist/shared/interfaces/chat-message-writer.interface.js.map +1 -1
  210. package/dist/shared/interfaces/chat-session.interface.d.ts.map +1 -1
  211. package/dist/shared/interfaces/chat-session.interface.js.map +1 -1
  212. package/dist/shared/interfaces/chat-summary.interface.d.ts.map +1 -1
  213. package/dist/shared/interfaces/chat-summary.interface.js.map +1 -1
  214. package/dist/shared/interfaces/connect-link.interface.d.ts.map +1 -1
  215. package/dist/shared/interfaces/connect-link.interface.js.map +1 -1
  216. package/dist/shared/interfaces/contact.interface.d.ts.map +1 -1
  217. package/dist/shared/interfaces/contact.interface.js.map +1 -1
  218. package/dist/shared/interfaces/database.interface.d.ts.map +1 -1
  219. package/dist/shared/interfaces/database.interface.js.map +1 -1
  220. package/dist/shared/interfaces/delivery-ledger.interface.d.ts.map +1 -1
  221. package/dist/shared/interfaces/delivery-ledger.interface.js.map +1 -1
  222. package/dist/shared/interfaces/discovery-run.interface.d.ts.map +1 -1
  223. package/dist/shared/interfaces/discovery-run.interface.js.map +1 -1
  224. package/dist/shared/interfaces/embedder.interface.d.ts.map +1 -1
  225. package/dist/shared/interfaces/embedder.interface.js.map +1 -1
  226. package/dist/shared/interfaces/enrichment.interface.d.ts.map +1 -1
  227. package/dist/shared/interfaces/enrichment.interface.js.map +1 -1
  228. package/dist/shared/interfaces/integration.interface.d.ts.map +1 -1
  229. package/dist/shared/interfaces/integration.interface.js.map +1 -1
  230. package/dist/shared/interfaces/negotiation-events.interface.d.ts.map +1 -1
  231. package/dist/shared/interfaces/negotiation-events.interface.js.map +1 -1
  232. package/dist/shared/interfaces/negotiation-summary.interface.d.ts.map +1 -1
  233. package/dist/shared/interfaces/negotiation-summary.interface.js.map +1 -1
  234. package/dist/shared/interfaces/question-generator.interface.d.ts.map +1 -1
  235. package/dist/shared/interfaces/question-generator.interface.js.map +1 -1
  236. package/dist/shared/interfaces/questioner.interface.d.ts.map +1 -1
  237. package/dist/shared/interfaces/questioner.interface.js.map +1 -1
  238. package/dist/shared/interfaces/queue.interface.d.ts.map +1 -1
  239. package/dist/shared/interfaces/queue.interface.js.map +1 -1
  240. package/dist/shared/interfaces/scraper.interface.d.ts.map +1 -1
  241. package/dist/shared/interfaces/scraper.interface.js.map +1 -1
  242. package/dist/shared/interfaces/storage.interface.d.ts.map +1 -1
  243. package/dist/shared/interfaces/storage.interface.js.map +1 -1
  244. package/dist/shared/network/metadata.renderer.d.ts.map +1 -1
  245. package/dist/shared/network/metadata.renderer.js.map +1 -1
  246. package/dist/shared/observability/debug-meta.sanitizer.d.ts.map +1 -1
  247. package/dist/shared/observability/debug-meta.sanitizer.js.map +1 -1
  248. package/dist/shared/observability/log.d.ts.map +1 -1
  249. package/dist/shared/observability/log.js.map +1 -1
  250. package/dist/shared/observability/performance.d.ts +7 -0
  251. package/dist/shared/observability/performance.d.ts.map +1 -1
  252. package/dist/shared/observability/performance.js +22 -10
  253. package/dist/shared/observability/performance.js.map +1 -1
  254. package/dist/shared/observability/protocol.logger.d.ts.map +1 -1
  255. package/dist/shared/observability/protocol.logger.js.map +1 -1
  256. package/dist/shared/observability/request-context.d.ts.map +1 -1
  257. package/dist/shared/observability/request-context.js.map +1 -1
  258. package/dist/shared/observability/trace.d.ts.map +1 -1
  259. package/dist/shared/observability/trace.js.map +1 -1
  260. package/dist/shared/schemas/chat-context.schema.d.ts.map +1 -1
  261. package/dist/shared/schemas/chat-context.schema.js.map +1 -1
  262. package/dist/shared/schemas/negotiation-digest.schema.d.ts.map +1 -1
  263. package/dist/shared/schemas/negotiation-digest.schema.js.map +1 -1
  264. package/dist/shared/schemas/pending-question.schema.d.ts.map +1 -1
  265. package/dist/shared/schemas/pending-question.schema.js.map +1 -1
  266. package/dist/shared/schemas/question.schema.d.ts.map +1 -1
  267. package/dist/shared/schemas/question.schema.js.map +1 -1
  268. package/dist/shared/ui/lucide.icon-catalog.d.ts.map +1 -1
  269. package/dist/shared/ui/lucide.icon-catalog.js.map +1 -1
  270. package/dist/shared/utils/social-label.d.ts.map +1 -1
  271. package/dist/shared/utils/social-label.js.map +1 -1
  272. package/dist/shared/utils/telegram-handle.d.ts.map +1 -1
  273. package/dist/shared/utils/telegram-handle.js.map +1 -1
  274. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["// ─── Public API (recommended for external consumers) ──────────────────────────\n\nexport { createChatTools } from \"./shared/agent/tool.factory.js\";\nexport { configureProtocol, getModelName } from \"./shared/agent/model.config.js\";\nexport type { ChatTools } from \"./shared/agent/tool.factory.js\";\nexport type { ModelConfig, ModelSettings } from \"./shared/agent/model.config.js\";\nexport type {\n ToolContext,\n ToolErrorReport,\n ResolvedToolContext,\n ToolDeps,\n ProtocolDeps,\n DefineTool,\n RawToolDefinition,\n CompiledGraph,\n ToolRegistry,\n} from \"./shared/agent/tool.helpers.js\";\nexport { ChatContextAccessError, resolveChatContext } from \"./shared/agent/tool.helpers.js\";\nexport { requestContext } from \"./shared/observability/request-context.js\";\nexport { setTimingWrapper } from \"./shared/observability/performance.js\";\nexport {\n ToolRuntimeError,\n getToolTimeoutPolicy,\n invokeToolRuntime,\n toolRuntimeErrorToResult,\n} from \"./shared/agent/tool.runtime.js\";\nexport type { ToolRuntimeErrorCode, ToolTimeoutClass, ToolTimeoutPolicy } from \"./shared/agent/tool.runtime.js\";\n\n// ─── Interfaces (implement these to wire up your infrastructure) ───────────────\n\nexport type * from \"./shared/interfaces/auth.interface.js\";\nexport type * from \"./shared/interfaces/cache.interface.js\";\nexport type * from \"./shared/interfaces/chat-session.interface.js\";\nexport type { ChatSummaryReader } from \"./shared/interfaces/chat-summary.interface.js\";\nexport type { ChatMessageWriter } from \"./shared/interfaces/chat-message-writer.interface.js\";\nexport type { QuestionGeneratorReader } from \"./shared/interfaces/question-generator.interface.js\";\nexport type {\n QuestionerDatabase,\n PersistableQuestion,\n PersistedQuestion,\n QuestionFilters,\n} from \"./shared/interfaces/questioner.interface.js\";\nexport type { NegotiationSummaryReader } from \"./shared/interfaces/negotiation-summary.interface.js\";\nexport type { DiscoveryNegotiationDigest } from \"./shared/schemas/negotiation-digest.schema.js\";\nexport { NegotiationSummarizer, buildFallbackDigest } from \"./negotiation/negotiation.summarizer.js\";\nexport type * from \"./shared/interfaces/contact.interface.js\";\nexport type * from \"./shared/interfaces/database.interface.js\";\nexport type * from \"./shared/interfaces/embedder.interface.js\";\nexport type * from \"./shared/interfaces/enrichment.interface.js\";\nexport type * from \"./shared/interfaces/integration.interface.js\";\nexport type * from \"./shared/interfaces/queue.interface.js\";\nexport type * from \"./shared/interfaces/scraper.interface.js\";\nexport type * from \"./shared/interfaces/storage.interface.js\";\nexport type * from \"./shared/interfaces/delivery-ledger.interface.js\";\nexport type * from \"./shared/interfaces/connect-link.interface.js\";\nexport type * from \"./shared/interfaces/discovery-run.interface.js\";\nexport type * from \"./shared/interfaces/negotiation-events.interface.js\";\nexport type { AgentDispatcher, AgentDispatchResult, NegotiationTurnPayload } from \"./shared/interfaces/agent-dispatcher.interface.js\";\nexport type {\n AgentRecord,\n AgentTransportRecord,\n AgentPermissionRecord,\n AgentWithRelations,\n CreateAgentInput,\n CreateTransportInput,\n GrantPermissionInput,\n AgentDatabase,\n} from './shared/interfaces/agent.interface.js';\nexport { SYSTEM_AGENT_IDS } from './shared/interfaces/agent.interface.js';\n\n// ─── Shared schemas ───────────────────────────────────────────────────────────\n\nexport {\n ChatContextDigestSchema,\n type ChatContextDigest,\n} from \"./shared/schemas/chat-context.schema.js\";\nexport {\n QuestionOptionSchema,\n QuestionSchema,\n QuestionStrategySchema,\n QuestionWithStrategySchema,\n QuestionGeneratorResponseSchema,\n QuestionModeSchema,\n QuestionDetectionSchema,\n QuestionActorSchema,\n QuestionAnswerSchema,\n type Question,\n type QuestionOption,\n type QuestionStrategy,\n type QuestionWithStrategy,\n type QuestionGeneratorResponse,\n type QuestionGenerationResult,\n type QuestionMode,\n type QuestionDetection,\n type QuestionActor,\n type QuestionAnswer,\n} from \"./shared/schemas/question.schema.js\";\nexport type { PendingQuestionSummary } from \"./shared/schemas/pending-question.schema.js\";\n\n// ─── Graph factories ──────────────────────────────────────────────────────────\n\nexport { ChatGraphFactory } from \"./chat/chat.graph.js\";\nexport { HomeGraphFactory } from \"./opportunity/feed/feed.graph.js\";\nexport { HydeGraphFactory } from \"./shared/hyde/hyde.graph.js\";\nexport { NetworkGraphFactory } from \"./network/network.graph.js\";\nexport { NetworkMembershipGraphFactory } from \"./network/membership/membership.graph.js\";\nexport { IntentGraphFactory } from \"./intent/intent.graph.js\";\nexport { IntentNetworkGraphFactory } from \"./network/indexer/indexer.graph.js\";\nexport { MaintenanceGraphFactory } from \"./maintenance/maintenance.graph.js\";\nexport type {\n MaintenanceGraphDatabase,\n MaintenanceGraphCache,\n MaintenanceGraphQueue,\n} from \"./maintenance/maintenance.graph.js\";\nexport { NegotiationGraphFactory, createDefaultNegotiationGraph, negotiateCandidates } from \"./negotiation/negotiation.graph.js\";\nexport { OpportunityGraphFactory } from \"./opportunity/opportunity.graph.js\";\nexport { ProfileGraphFactory } from \"./profile/profile.graph.js\";\nexport { PremiseGraphFactory } from \"./premise/premise.graph.js\";\n\n// ─── Agents ───────────────────────────────────────────────────────────────────\n\nexport { UserContextGenerator } from \"./context/context.generator.js\";\nexport type { UserContextInput, IncrementalContextInput, UserContextResult } from \"./context/context.generator.js\";\nexport { ChatTitleGenerator } from \"./chat/chat.title.generator.js\";\nexport { ChatSummarizer } from \"./chat/chat.summarizer.js\";\nexport type { ChatSummarizerInput, ChatSummarizerMessage } from \"./chat/chat.summarizer.js\";\nexport { HydeGenerator } from \"./shared/hyde/hyde.generator.js\";\nexport { SuggestionGenerator } from \"./chat/chat.suggester.js\";\nexport type { SuggestionGeneratorInput } from \"./chat/chat.suggester.js\";\nexport { generateInviteMessage } from \"./contact/contact.inviter.js\";\nexport type { InviteInput, InviteOutput } from \"./contact/contact.inviter.js\";\nexport { IntentIndexer } from \"./intent/intent.indexer.js\";\nexport { PremiseAnalyzer } from \"./premise/premise.analyzer.js\";\nexport type { PremiseAnalyzerOutput } from \"./premise/premise.analyzer.js\";\nexport { PremiseDecomposer } from \"./premise/premise.decomposer.js\";\nexport type { PremiseDecomposerOutput, DecomposedPremise } from \"./premise/premise.decomposer.js\";\nexport { PremiseIndexer } from \"./premise/premise.indexer.js\";\nexport type { PremiseIndexerOutput } from \"./premise/premise.indexer.js\";\nexport { LensInferrer } from \"./shared/hyde/lens.inferrer.js\";\nexport { NegotiationInsightsGenerator } from \"./negotiation/insight.generator.js\";\nexport type { NegotiationDigest } from \"./negotiation/insight.generator.js\";\nexport { IndexNegotiator } from \"./negotiation/negotiation.agent.js\";\nexport type { NegotiationAgentInput } from \"./negotiation/negotiation.agent.js\";\nexport { QuestionerAgent } from \"./questioner/questioner.agent.js\";\nexport type { QuestionerAgentConfig } from \"./questioner/questioner.agent.js\";\nexport type {\n QuestionerInput,\n QuestionerContext,\n QuestionerEnqueuePayload,\n QuestionerEnqueueFn,\n DiscoveryContext,\n IntentContext,\n ProfileContext,\n NegotiationContext,\n} from \"./questioner/questioner.types.js\";\nexport { getPreset } from \"./questioner/questioner.presets.js\";\nexport type { QuestionerPreset } from \"./questioner/questioner.presets.js\";\nexport { OpportunityEvaluator } from \"./opportunity/opportunity.evaluator.js\";\nexport type {\n EvaluatorInput,\n OpportunityEvaluatorOptionsConstructor,\n} from \"./opportunity/opportunity.evaluator.js\";\nexport { OpportunityPresenter, gatherPresenterContext } from \"./opportunity/opportunity.presenter.js\";\nexport { createOpportunityTools } from \"./opportunity/opportunity.tools.js\";\nexport type { PresenterDatabase } from \"./opportunity/opportunity.presenter.js\";\nexport { QuestionGenerator } from \"./opportunity/question.generator.js\";\nexport type {\n DiscoveryQuestionInput,\n DiscoveryNegotiation,\n DiscoveryOutcome,\n DiscoveryTurn,\n DiscoverySummary,\n DiscoverySourceProfile,\n NegotiationRole,\n} from \"./opportunity/question.prompt.js\";\n\n// ─── Support utilities ────────────────────────────────────────────────────────\n\nexport { renderNetworkContext } from './shared/network/metadata.renderer.js';\nexport {\n canUserSeeOpportunity,\n isActionableForViewer,\n validateOpportunityActors,\n classifyOpportunity,\n selectByComposition,\n FEED_SOFT_TARGETS,\n} from \"./opportunity/opportunity.utils.js\";\nexport { getPrimaryActionLabel } from \"./opportunity/opportunity.labels.js\";\nexport { computeFeedHealth } from \"./opportunity/feed/feed.health.js\";\nexport type { FeedHealthInput, FeedHealthResult } from \"./opportunity/feed/feed.health.js\";\nexport {\n selectContactsForDiscovery,\n shouldRunIntroducerDiscovery,\n runIntroducerDiscovery,\n MAX_CONTACTS_PER_CYCLE,\n MAX_CANDIDATES_PER_CONTACT,\n INTRODUCER_DISCOVERY_SOURCE,\n} from \"./opportunity/opportunity.introducer.js\";\nexport type {\n IntroducerDiscoveryDatabase,\n IntroducerDiscoveryQueue,\n ContactWithIntents,\n} from \"./opportunity/opportunity.introducer.js\";\nexport { persistOpportunities } from \"./opportunity/opportunity.persist.js\";\nexport { presentOpportunity } from \"./opportunity/opportunity.presentation.js\";\nexport type { UserInfo } from \"./opportunity/opportunity.presentation.js\";\nexport { stripUuids, stripIntroducerMentions } from \"./opportunity/opportunity.presentation.js\";\nexport {\n getOrCreateDeliveryCardBatch,\n DELIVERY_CARD_CACHE_TTL,\n type CachedDeliveryCard,\n type OpportunityWithContext,\n} from \"./opportunity/delivery-card.cache.js\";\n\n// ─── Tools ────────────────────────────────────────────────────────────────────\n\nexport { createToolRegistry } from \"./shared/agent/tool.registry.js\";\nexport { createAgentTools } from './agent/agent.tools.js';\nexport { AMBIENT_PARK_WINDOW_MS } from './negotiation/negotiation.tools.js';\nexport { normalizeTelegramHandle } from './shared/utils/telegram-handle.js';\n\n// ─── MCP ──────────────────────────────────────────────────────────────────────\n\nexport { createMcpServer, computeAgentIndexScope, buildMcpOnboardingMessage, ONBOARDING_ALLOWED } from \"./mcp/mcp.server.js\";\nexport type { ScopedDepsFactory } from \"./mcp/mcp.server.js\";\nexport { buildElicitationCreate, flattenChoice } from \"./mcp/elicitation.builder.js\";\nexport { dispatchElicitations } from \"./mcp/elicitation.dispatcher.js\";\nexport type { ElicitResultLike, ElicitInputFn, DispatchElicitationsParams } from \"./mcp/elicitation.dispatcher.js\";\n\n// ─── States (for advanced graph consumers) ────────────────────────────────────\n\nexport type {\n UserNegotiationContext,\n NegotiationTurn,\n NegotiationOutcome,\n SeedAssessment,\n NegotiationGraphLike,\n} from \"./negotiation/negotiation.state.js\";\n\n// ─── Streamers ────────────────────────────────────────────────────────────────\n\nexport { ChatStreamer } from \"./chat/chat.streamer.js\";\nexport { ResponseStreamer } from \"./shared/agent/response.streamer.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"integration.tools.d.ts","sourceRoot":"","sources":["../../src/integration/integration.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAO5E;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,SAsE5E"}
1
+ {"version":3,"file":"integration.tools.d.ts","sourceRoot":"/","sources":["integration/integration.tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAO5E;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,SAsE5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"integration.tools.js","sourceRoot":"","sources":["../../src/integration/integration.tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"integration.tools.js","sourceRoot":"/","sources":["integration/integration.tools.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport type { DefineTool, ToolDeps } from '../shared/agent/tool.helpers.js';\nimport { success, error } from '../shared/agent/tool.helpers.js';\nimport { requestContext } from \"../shared/observability/request-context.js\";\nimport { protocolLogger } from '../shared/observability/protocol.logger.js';\n\nconst logger = protocolLogger('IntegrationTools');\n\n/**\n * Creates integration tools for the chat agent.\n *\n * Exposes `import_gmail_contacts` which authenticates via the integration adapter,\n * fetches all Gmail contacts (paginated), and imports them as ghost users into the network.\n *\n * @param defineTool - Tool definition helper injected by the tool registry.\n * @param deps - Shared tool dependencies including the integration adapter.\n * @returns An array of tool definitions to register with the chat agent.\n */\nexport function createIntegrationTools(defineTool: DefineTool, deps: ToolDeps) {\n const { integration, integrationImporter } = deps;\n\n const import_gmail_contacts = defineTool({\n name: 'import_gmail_contacts',\n description:\n \"Imports contacts from the user's connected Gmail/Google account into their personal network. \" +\n \"This is the preferred method for importing Google Contacts — handles OAuth authentication, pagination, and deduplication automatically.\\n\\n\" +\n \"**Authentication flow:** If Gmail is not yet connected, returns an `authUrl` the user must visit to grant access. \" +\n \"After they complete OAuth, call this tool again to perform the actual import.\\n\\n\" +\n \"**What happens on import:** All Gmail contacts with valid name+email are imported. \" +\n \"Contacts without existing platform accounts become ghost users (enriched with public profile data from LinkedIn, GitHub, etc.). \" +\n \"All imported contacts are added to the user's personal index for opportunity discovery.\\n\\n\" +\n \"**When to use:** When the user asks to import or sync their Gmail/Google contacts. No parameters needed.\\n\\n\" +\n \"**Returns:** Either `{ requiresAuth: true, authUrl }` (user needs to authenticate) or import statistics: \" +\n \"imported (total), newContacts (ghost users created), existingContacts (already in network), skipped (invalid entries).\",\n querySchema: z.object({}),\n handler: async ({ context }) => {\n try {\n const session = await integration.createSession(context.userId);\n const toolkits = await session.toolkits();\n\n const gmailToolkit = toolkits.items.find(t => t.slug === 'gmail');\n const isConnected = !!gmailToolkit?.connection?.connectedAccount?.id;\n\n if (!isConnected) {\n logger.info('Gmail not connected, returning auth URL', { userId: context.userId });\n const originUrl = requestContext.getStore()?.originUrl;\n const callbackUrl = originUrl ? `${originUrl}/oauth/callback` : undefined;\n type AuthorizeFn = (toolkit: string, options?: { callbackUrl?: string }) => Promise<{ redirectUrl: string }>;\n const authRequest = await (session.authorize as unknown as AuthorizeFn)('gmail', callbackUrl ? { callbackUrl } : undefined);\n return success({\n requiresAuth: true,\n message: 'Please connect your Gmail account to import contacts.',\n authUrl: authRequest.redirectUrl,\n });\n }\n\n const importResult = await integrationImporter.importContacts(context.userId, 'gmail');\n\n logger.info('Gmail contacts imported', {\n userId: context.userId,\n imported: importResult.imported,\n skipped: importResult.skipped,\n newContacts: importResult.newContacts,\n existingContacts: importResult.existingContacts,\n });\n\n return success({\n message: importResult.newContacts > 0\n ? `Imported ${importResult.imported} contacts from Gmail. ${importResult.newContacts} new, ${importResult.existingContacts} already in your network.`\n : importResult.imported > 0\n ? `All ${importResult.imported} contacts from Gmail were already in your network. No new contacts added.`\n : 'No contacts with valid name and email found in your Gmail account.',\n imported: importResult.imported,\n newContacts: importResult.newContacts,\n existingContacts: importResult.existingContacts,\n skipped: importResult.skipped,\n });\n } catch (err) {\n logger.error('import_gmail_contacts failed', {\n userId: context.userId,\n err,\n });\n return error('Failed to import Gmail contacts. Please try again.');\n }\n },\n });\n\n return [import_gmail_contacts];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.clarifier.d.ts","sourceRoot":"","sources":["../../src/intent/intent.clarifier.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;EAKvB,CAAC;AASH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AA4CxE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA2B;;IAiBtD,MAAM,CACjB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC,qBAAqB,CAAC;YA2CnB,kBAAkB;YA6BlB,0BAA0B;CAoCzC"}
1
+ {"version":3,"file":"intent.clarifier.d.ts","sourceRoot":"/","sources":["intent/intent.clarifier.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;EAKvB,CAAC;AASH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AA4CxE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA2B;;IAiBtD,MAAM,CACjB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC,qBAAqB,CAAC;YA2CnB,kBAAkB;YA6BlB,0BAA0B;CAoCzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.clarifier.js","sourceRoot":"","sources":["../../src/intent/intent.clarifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.clarifier.js","sourceRoot":"/","sources":["intent/intent.clarifier.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ChatOpenAI } from \"@langchain/openai\";\nimport { HumanMessage, SystemMessage } from \"@langchain/core/messages\";\nimport { z } from \"zod\";\n\nimport { protocolLogger } from \"../shared/observability/protocol.logger.js\";\nimport { Timed } from \"../shared/observability/performance.js\";\n\nimport { createModel } from \"../shared/agent/model.config.js\";\nimport { invokeWithAbortSignal } from \"../shared/agent/model-signal.js\";\n\nconst logger = protocolLogger(\"IntentClarifier\");\n\ntype ClarifierStructuredModel = ReturnType<ChatOpenAI[\"withStructuredOutput\"]>;\n\nconst clarificationSchema = z.object({\n needsClarification: z.boolean(),\n reason: z.string(),\n suggestedDescription: z.string().nullable(),\n clarificationMessage: z.string().nullable(),\n});\nconst suggestionSchema = z.object({\n suggestedDescription: z.string(),\n});\nconst clarificationDraftSchema = z.object({\n suggestedDescription: z.string(),\n clarificationMessage: z.string(),\n});\n\nexport type IntentClarifierOutput = z.infer<typeof clarificationSchema>;\n\nconst systemPrompt = `\nYou evaluate whether an intent is specific enough to persist without asking the user to confirm a refinement.\n\nOnly set needsClarification=true when the intent is truly vague — e.g. a single generic phrase with no role, domain, location, or other concrete criteria (like \"find a job\", \"I need help\", \"looking for something\").\n\nDo NOT ask for clarification when the user has already given:\n- A role or type (e.g. \"UX designer\", \"technical co-founder\", \"engineer\")\n- A domain or industry (e.g. \"in AI\", \"climate tech\", \"fintech\")\n- A location or format (e.g. \"remote\", \"Berlin\", \"full-time\")\n- Any other concrete detail that makes the intent actionable\n\nDefault to needsClarification=false when in doubt. Only clarify when the intent is so broad that persisting it as-is would be unhelpful (e.g. literally \"a job\" or \"something\" with no other signal).\n\nRules when needsClarification=true:\n- User Profile is the primary source for suggestedDescription; Active Intents are secondary.\n- You MUST provide a concrete suggestedDescription and short clarificationMessage.\n- Do not include JSON in clarificationMessage.\n`;\n\nconst suggestionPrompt = `\nYou generate one concrete, specific intent rewrite.\n\nRules:\n- Output only a concise intent sentence in suggestedDescription.\n- Use profile as primary source of personalization.\n- Use active intents as secondary context for consistency.\n- Keep user intent meaning, but make it actionable and specific.\n- Never return an empty suggestion.\n`;\n\nconst clarificationDraftPrompt = `\nYou draft a concise clarification response for a vague intent.\n\nRules:\n- Return both:\n 1) suggestedDescription (specific rewritten intent)\n 2) clarificationMessage (single short message to the user)\n- clarificationMessage must include the suggestion naturally and ask for confirmation.\n- Use this shape: ` + \"`Did you mean: \\\"<suggestedDescription>\\\"?`\" + ` followed by a brief confirmation instruction.\n- Keep it short. No bullet lists. No JSON.\n`;\n\nexport class IntentClarifier {\n private readonly model: ClarifierStructuredModel;\n private readonly suggestionModel: ClarifierStructuredModel;\n private readonly clarificationDraftModel: ClarifierStructuredModel;\n\n constructor() {\n const baseModel = createModel(\"intentClarifier\");\n this.model = baseModel.withStructuredOutput(clarificationSchema, {\n name: \"intent_clarifier\",\n });\n this.suggestionModel = baseModel.withStructuredOutput(suggestionSchema, {\n name: \"intent_clarifier_suggestion\",\n });\n this.clarificationDraftModel = baseModel.withStructuredOutput(\n clarificationDraftSchema,\n { name: \"intent_clarifier_message\" }\n );\n }\n\n @Timed()\n public async invoke(\n description: string,\n profileContext: string,\n activeIntentsContext: string\n ): Promise<IntentClarifierOutput> {\n try {\n const prompt = `\n# User Input Intent\n${description}\n\n# User Profile\n${profileContext || \"none\"}\n\n# Active Intents\n${activeIntentsContext || \"none\"}\n`;\n\n const result = await invokeWithAbortSignal(this.model, [\n new SystemMessage(systemPrompt),\n new HumanMessage(prompt),\n ]);\n const parsed = clarificationSchema.parse(result);\n\n if (parsed.needsClarification) {\n // Always prefer a dedicated rewrite pass for vague inputs so we avoid generic follow-up text.\n const draft = await this.generateClarificationDraft(description, profileContext, activeIntentsContext);\n if (draft) {\n return {\n ...parsed,\n suggestedDescription: draft.suggestedDescription,\n clarificationMessage: draft.clarificationMessage,\n };\n }\n }\n\n return parsed;\n } catch (error) {\n logger.warn(\"invoke: clarification failed\", { error });\n return {\n needsClarification: false,\n reason: \"fallback_on_model_error\",\n suggestedDescription: null,\n clarificationMessage: null,\n };\n }\n }\n\n private async generateSuggestion(\n description: string,\n profileContext: string,\n activeIntentsContext: string\n ): Promise<string | null> {\n try {\n const prompt = `\n# User Input Intent\n${description}\n\n# User Profile\n${profileContext || \"none\"}\n\n# Active Intents\n${activeIntentsContext || \"none\"}\n`;\n const output = await invokeWithAbortSignal(this.suggestionModel, [\n new SystemMessage(suggestionPrompt),\n new HumanMessage(prompt),\n ]);\n const parsed = suggestionSchema.parse(output);\n const suggestion = parsed.suggestedDescription.trim();\n return suggestion.length > 0 ? suggestion : null;\n } catch (error) {\n logger.warn(\"generateSuggestion: failed\", { error });\n return null;\n }\n }\n\n private async generateClarificationDraft(\n description: string,\n profileContext: string,\n activeIntentsContext: string\n ): Promise<{ suggestedDescription: string; clarificationMessage: string } | null> {\n try {\n const prompt = `\n# User Input Intent\n${description}\n\n# User Profile\n${profileContext || \"none\"}\n\n# Active Intents\n${activeIntentsContext || \"none\"}\n`;\n const output = await invokeWithAbortSignal(this.clarificationDraftModel, [\n new SystemMessage(clarificationDraftPrompt),\n new HumanMessage(prompt),\n ]);\n const parsed = clarificationDraftSchema.parse(output);\n const suggestedDescription = parsed.suggestedDescription.trim();\n const clarificationMessage = parsed.clarificationMessage.trim();\n if (!suggestedDescription || !clarificationMessage) return null;\n return { suggestedDescription, clarificationMessage };\n } catch (error) {\n logger.warn(\"generateClarificationDraft: failed\", { error });\n const suggestion = await this.generateSuggestion(description, profileContext, activeIntentsContext);\n if (!suggestion) return null;\n const clarificationMessage = `Do you mean: ${suggestion}?`;\n return {\n suggestedDescription: suggestion,\n clarificationMessage,\n };\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.graph.d.ts","sourceRoot":"","sources":["../../src/intent/intent.graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAItF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAIhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAqG7E;;GAEG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,iBAAiB,CAAC;gBAHlB,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,CAAC,EAAE,kBAAkB,YAAA,EAC7B,WAAW,CAAC,EAAE,gBAAgB,YAAA,EAC9B,iBAAiB,CAAC,EAAE,mBAAmB,YAAA;IAG1C,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA2DO,CAAC;wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAA1B,CAAC;4BAAwB,CAAC;;;;;;;;;;;0BAA1B,CAAC;4BAAwB,CAAC;;;;;;;;;;;0BAA1B,CAAC;4BAAwB,CAAC;;;;;;;;;;CA4xBpD"}
1
+ {"version":3,"file":"intent.graph.d.ts","sourceRoot":"/","sources":["intent/intent.graph.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAItF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAIhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAqG7E;;GAEG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,iBAAiB,CAAC;gBAHlB,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,CAAC,EAAE,kBAAkB,YAAA,EAC7B,WAAW,CAAC,EAAE,gBAAgB,YAAA,EAC9B,iBAAiB,CAAC,EAAE,mBAAmB,YAAA;IAG1C,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA2DO,CAAC;wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;sBAA1B,CAAC;wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAA1B,CAAC;4BAAwB,CAAC;;;;;;;;;;;0BAA1B,CAAC;4BAAwB,CAAC;;;;;;;;;;;0BAA1B,CAAC;4BAAwB,CAAC;;;;;;;;;;CA4xBpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.graph.js","sourceRoot":"","sources":["../../src/intent/intent.graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.graph.js","sourceRoot":"/","sources":["intent/intent.graph.ts"],"names":[],"mappings":"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","sourcesContent":["import { StateGraph, START, END } from \"@langchain/langgraph\";\nimport { IntentGraphState, VerifiedIntent, ExecutionResult } from \"./intent.state.js\";\nimport { ExplicitIntentInferrer } from \"./intent.inferrer.js\";\nimport { SemanticVerifier } from \"./intent.verifier.js\";\nimport { IntentReconciler } from \"./intent.reconciler.js\";\nimport { IntentGraphDatabase } from \"../shared/interfaces/database.interface.js\";\nimport { getAbortSignalConfig } from \"../shared/agent/model-signal.js\";\nimport type { EmbeddingGenerator } from \"../shared/interfaces/embedder.interface.js\";\nimport type { IntentGraphQueue } from \"../shared/interfaces/queue.interface.js\";\nimport { protocolLogger } from \"../shared/observability/protocol.logger.js\";\nimport { timed } from \"../shared/observability/performance.js\";\nimport { requestContext } from \"../shared/observability/request-context.js\";\nimport type { DebugMetaAgent } from \"../chat/chat-streaming.types.js\";\nimport type { QuestionerEnqueueFn } from \"../questioner/questioner.types.js\";\n\nconst logger = protocolLogger(\"IntentGraphFactory\");\nconst MAX_PERMISSIBLE_ENTROPY = 0.75;\nconst MIN_CLEAR_INTENT_SCORE = 40;\nconst GENERIC_JOB_PHRASE = /\\b(?:a|any|some)\\s+job\\b/i;\n\ntype ParsedProfile = {\n identity?: { bio?: string; name?: string; location?: string };\n narrative?: { context?: string };\n attributes?: { skills?: string[]; interests?: string[] };\n};\n\nconst parseProfile = (profile: string): ParsedProfile | null => {\n if (!profile || !profile.trim()) return null;\n try {\n const parsed = JSON.parse(profile) as ParsedProfile;\n return parsed && typeof parsed === \"object\" ? parsed : null;\n } catch {\n return null;\n }\n};\n\nconst inferRoleFromProfileText = (text: string): string | null => {\n const normalized = text.toLowerCase();\n if (/\\b(engineer|developer)\\b/.test(normalized)) return \"software engineering\";\n if (/\\b(designer|ux|ui)\\b/.test(normalized)) return \"product design\";\n if (/\\b(marketing|marketer|growth)\\b/.test(normalized)) return \"marketing\";\n if (/\\b(product manager|product)\\b/.test(normalized)) return \"product management\";\n if (/\\b(data scientist|machine learning|ml|ai)\\b/.test(normalized)) return \"AI/ML\";\n if (/\\b(sales|account executive|business development)\\b/.test(normalized)) return \"sales\";\n return null;\n};\n\nconst buildJobQualifierFromProfile = (profile: ParsedProfile | null): string | null => {\n if (!profile) return null;\n\n const skills = (profile.attributes?.skills ?? [])\n .filter((skill): skill is string => typeof skill === \"string\" && skill.trim().length > 0)\n .slice(0, 2);\n const interests = (profile.attributes?.interests ?? [])\n .filter((interest): interest is string => typeof interest === \"string\" && interest.trim().length > 0)\n .slice(0, 1);\n\n const profileText = [\n profile.identity?.bio,\n profile.narrative?.context,\n ]\n .filter((item): item is string => typeof item === \"string\" && item.trim().length > 0)\n .join(\" \");\n const roleHint = inferRoleFromProfileText(profileText);\n\n if (skills.length > 0 && roleHint) {\n return `${skills.join(\" / \")} ${roleHint} role`;\n }\n if (skills.length > 0) {\n return `${skills.join(\" / \")} role`;\n }\n if (interests.length > 0 && roleHint) {\n return `${interests[0]} ${roleHint} role`;\n }\n if (roleHint) {\n return `${roleHint} role`;\n }\n return null;\n};\n\nconst enrichVagueIntentWithProfile = (description: string, profileContext: string): string => {\n const trimmed = description?.trim();\n if (!trimmed) return description;\n\n const isGenericJobRequest =\n GENERIC_JOB_PHRASE.test(trimmed) ||\n /\\b(?:find|get|look(?:ing)?\\s+for|want)\\s+(?:to\\s+)?(?:find\\s+)?job\\b/i.test(trimmed);\n if (!isGenericJobRequest) return description;\n\n const profile = parseProfile(profileContext);\n const qualifier = buildJobQualifierFromProfile(profile);\n if (!qualifier) return description;\n\n const enriched = trimmed\n .replace(/\\ba job\\b/i, `a ${qualifier}`)\n .replace(/\\bjob\\b/i, `${qualifier}`)\n .replace(/\\s{2,}/g, \" \")\n .trim();\n\n return enriched.length > 0 ? enriched : description;\n};\n\nconst isVague = (description: string, entropy: number, clarity: number): boolean => {\n if (GENERIC_JOB_PHRASE.test(description)) return true;\n if (entropy > MAX_PERMISSIBLE_ENTROPY) return true;\n if (clarity < MIN_CLEAR_INTENT_SCORE) return true;\n return false;\n};\n\nconst toSpeechActType = (classification?: string): \"COMMISSIVE\" | \"DIRECTIVE\" | null => {\n if (classification === \"COMMISSIVE\" || classification === \"DIRECTIVE\") return classification;\n return null;\n};\n\n/**\n * Factory class to build and compile the Intent Processing Graph.\n */\nexport class IntentGraphFactory {\n constructor(\n private database: IntentGraphDatabase,\n private embedder?: EmbeddingGenerator,\n private intentQueue?: IntentGraphQueue,\n private questionerEnqueue?: QuestionerEnqueueFn,\n ) { }\n\n public createGraph() {\n // Instantiate Agents (Nodes)\n const inferrer = new ExplicitIntentInferrer();\n const verifier = new SemanticVerifier();\n const reconciler = new IntentReconciler();\n\n // --- NODE DEFINITIONS ---\n\n /**\n * Node 0: Prep\n * Always fetches ALL of the user's active intents from the DB via getActiveIntents(userId).\n * This ensures reconciliation can detect duplicates and modifications globally,\n * regardless of index scope.\n */\n const prepNode = async (state: typeof IntentGraphState.State) => {\n return timed(\"IntentGraph.prep\", async () => {\n logger.verbose(\"Starting preparation phase\", {\n operationMode: state.operationMode,\n hasContent: !!state.inputContent,\n targetIntentIds: state.targetIntentIds,\n networkId: state.networkId,\n });\n\n // Gate: write operations require an existing profile\n if (state.operationMode !== 'read') {\n const profile = await this.database.getProfile(state.userId);\n if (!profile) {\n const msg = \"You need to create a profile before creating intents. Please set up your profile first.\";\n logger.error(\"Prep failed: no profile for user\", { userId: state.userId });\n return { error: msg };\n }\n }\n\n const activeIntents = await this.database.getActiveIntents(state.userId);\n const formattedActiveIntents = activeIntents\n .map(i => `ID: ${i.id}, Description: ${i.payload}, Summary: ${i.summary || 'N/A'}`)\n .join('\\n') || \"No active intents.\";\n\n logger.verbose(\"Fetched active intents\", {\n count: activeIntents.length,\n operationMode: state.operationMode\n });\n\n return {\n activeIntents: formattedActiveIntents,\n trace: [{\n node: \"prep\",\n detail: `Fetched ${activeIntents.length} active intent(s)`,\n }],\n };\n });\n };\n\n /**\n * Node 1: Inference\n * Extracts intents from raw content.\n * Phase 4: Uses operation mode to control behavior and determine if node should execute.\n * Phase 5: Passes conversation context for anaphoric resolution.\n */\n const inferenceNode = async (state: typeof IntentGraphState.State) => {\n return timed(\"IntentGraph.inference\", async () => {\n logger.verbose(\"Starting inference\", {\n operationMode: state.operationMode,\n hasContent: !!state.inputContent,\n contentPreview: state.inputContent?.substring(0, 50),\n hasConversationContext: !!state.conversationContext,\n conversationMessagesCount: state.conversationContext?.length || 0\n });\n\n const agentTimingsAccum: DebugMetaAgent[] = [];\n\n // Phase 4: Control profile fallback based on operation mode\n // Only allow for create operations without explicit content\n const allowProfileFallback = state.operationMode === 'create' && !state.inputContent;\n\n // Cast operationMode: 'read' and 'propose' map to 'create' for the inferrer\n // (inference node is never called in read mode; propose behaves like create for inference)\n const inferrerMode = (state.operationMode === 'read' || state.operationMode === 'propose') ? 'create' : state.operationMode;\n const _traceEmitterInferrer = requestContext.getStore()?.traceEmitter;\n const inferrerStart = Date.now();\n _traceEmitterInferrer?.({ type: \"agent_start\", name: \"intent-inferrer\" });\n const result = await inferrer.invoke(\n state.inputContent || null,\n state.userProfile,\n {\n allowProfileFallback,\n operationMode: inferrerMode,\n conversationContext: state.conversationContext // Phase 5: Pass conversation history\n }\n );\n agentTimingsAccum.push({ name: 'intent.inferrer', durationMs: Date.now() - inferrerStart });\n _traceEmitterInferrer?.({ type: \"agent_end\", name: \"intent-inferrer\", durationMs: Date.now() - inferrerStart, summary: result.intents.length > 0 ? `Extracted ${result.intents.length} intent(s)` : \"intent-inferrer completed\" });\n\n logger.verbose(\"Inference complete\", {\n inferredCount: result.intents.length,\n operationMode: state.operationMode\n });\n\n const descriptions = result.intents.map(i => i.description).slice(0, 3);\n const truncated = result.intents.length > 3 ? `... +${result.intents.length - 3} more` : \"\";\n\n return {\n inferredIntents: result.intents,\n agentTimings: agentTimingsAccum,\n trace: [{\n node: \"inference\",\n detail: result.intents.length === 0\n ? \"No intents extracted\"\n : `Extracted ${result.intents.length}: ${descriptions.map(d => `\"${d.slice(0, 50)}${d.length > 50 ? '...' : ''}\"`).join(\", \")}${truncated}`,\n }],\n };\n });\n };\n\n /**\n * Node 2: Verification (Map-Reduce / Parallel)\n * Verifies each inferred intent in parallel.\n * Phase 4: Can be skipped for delete operations and updates with no new intents.\n */\n const verificationNode = async (state: typeof IntentGraphState.State) => {\n return timed(\"IntentGraph.verification\", async () => {\n const intents = state.inferredIntents;\n\n logger.verbose(\"Starting verification\", {\n operationMode: state.operationMode,\n intentCount: intents.length\n });\n\n if (intents.length === 0) {\n logger.verbose(\"No intents to verify\");\n return { verifiedIntents: [], agentTimings: [] };\n }\n\n logger.verbose(`Verifying ${intents.length} intents in parallel...`);\n\n const agentTimingsAccum: DebugMetaAgent[] = [];\n\n // Parallel Execution\n const verificationResults = await Promise.all(\n intents.map(async (intent): Promise<VerifiedIntent | null> => {\n try {\n let description = intent.description;\n const _traceEmitterVerifier = requestContext.getStore()?.traceEmitter;\n const verifierStart1 = Date.now();\n _traceEmitterVerifier?.({ type: \"agent_start\", name: \"intent-verifier\" });\n let verdict = await verifier.invoke(description, state.userProfile);\n agentTimingsAccum.push({ name: 'intent.verifier', durationMs: Date.now() - verifierStart1 });\n _traceEmitterVerifier?.({ type: \"agent_end\", name: \"intent-verifier\", durationMs: Date.now() - verifierStart1, summary: `Verified: ${verdict.classification}` });\n\n if (isVague(description, verdict.semantic_entropy, verdict.felicity_scores.clarity)) {\n const enrichedDescription = enrichVagueIntentWithProfile(description, state.userProfile);\n if (enrichedDescription !== description) {\n logger.verbose(\"Enriched vague intent using profile context\", {\n before: description,\n after: enrichedDescription,\n });\n const _traceEmitterVerifier2 = requestContext.getStore()?.traceEmitter;\n const verifierStart2 = Date.now();\n _traceEmitterVerifier2?.({ type: \"agent_start\", name: \"intent-verifier\" });\n const enrichedVerdict = await verifier.invoke(enrichedDescription, state.userProfile);\n agentTimingsAccum.push({ name: 'intent.verifier', durationMs: Date.now() - verifierStart2 });\n _traceEmitterVerifier2?.({ type: \"agent_end\", name: \"intent-verifier\", durationMs: Date.now() - verifierStart2, summary: `Verified (enriched): ${enrichedVerdict.classification}` });\n const becameClear =\n enrichedVerdict.semantic_entropy < verdict.semantic_entropy ||\n enrichedVerdict.felicity_scores.clarity > verdict.felicity_scores.clarity;\n if (becameClear) {\n description = enrichedDescription;\n verdict = enrichedVerdict;\n }\n }\n }\n\n // Filter Logic: Must be a Commissive, Directive, or Declaration\n const VALID_TYPES = ['COMMISSIVE', 'DIRECTIVE', 'DECLARATION'];\n if (!VALID_TYPES.includes(verdict.classification)) {\n logger.warn(`Dropping intent: \"${description}\" (Type: ${verdict.classification})`);\n return null;\n }\n\n if (isVague(description, verdict.semantic_entropy, verdict.felicity_scores.clarity)) {\n logger.warn(`Dropping vague intent after verification: \"${description}\"`, {\n entropy: verdict.semantic_entropy,\n clarity: verdict.felicity_scores.clarity,\n });\n return null;\n }\n\n // Calculate Score\n const score = Math.min(\n verdict.felicity_scores.authority,\n verdict.felicity_scores.sincerity,\n verdict.felicity_scores.clarity\n );\n\n // Return enriched intent\n return {\n ...intent,\n description,\n verification: verdict,\n score\n };\n } catch (e) {\n logger.error(`Error verifying intent: ${intent.description}`, { error: e });\n return null;\n }\n })\n );\n\n // Filter out nulls\n const verified = verificationResults.filter((i): i is VerifiedIntent => i !== null);\n logger.verbose(`Verification complete`, {\n passed: verified.length,\n total: intents.length,\n operationMode: state.operationMode\n });\n\n // Build trace entries with Felicity scores for each verified intent\n const traceEntries = verified.map(v => {\n const fs = v.verification?.felicity_scores;\n const entropy = v.verification?.semantic_entropy;\n const classification = v.verification?.classification;\n return {\n node: \"verification\",\n detail: `\"${v.description.slice(0, 40)}${v.description.length > 40 ? '...' : ''}\" → ${classification}`,\n data: fs ? {\n clarity: fs.clarity,\n authority: fs.authority,\n sincerity: fs.sincerity,\n entropy: entropy != null ? Math.round(entropy * 100) / 100 : undefined,\n classification,\n score: v.score,\n } : undefined,\n };\n });\n\n // Add summary trace if some intents were filtered out\n const dropped = intents.length - verified.length;\n if (dropped > 0) {\n traceEntries.unshift({\n node: \"verification\",\n detail: `Verified ${verified.length}/${intents.length} (${dropped} filtered as invalid)`,\n data: undefined,\n });\n } else if (verified.length > 0) {\n traceEntries.unshift({\n node: \"verification\",\n detail: `Verified ${verified.length} intent(s)`,\n data: undefined,\n });\n }\n\n return { verifiedIntents: verified, agentTimings: agentTimingsAccum, trace: traceEntries };\n });\n };\n\n /**\n * Node 3: Reconciliation\n * Decides on final actions (Create, Update, Expire).\n * Phase 4: Handles delete operations directly without LLM reconciliation.\n */\n const reconciliationNode = async (state: typeof IntentGraphState.State) => {\n return timed(\"IntentGraph.reconciliation\", async () => {\n logger.verbose(\"Starting reconciliation\", {\n operationMode: state.operationMode,\n verifiedIntentCount: state.verifiedIntents.length,\n targetIntentIds: state.targetIntentIds\n });\n\n const agentTimingsAccum: DebugMetaAgent[] = [];\n\n // Phase 4: Handle delete operations directly\n if (state.operationMode === 'delete') {\n if (!state.targetIntentIds || state.targetIntentIds.length === 0) {\n logger.warn(\"Delete mode with no target IDs\");\n return {\n actions: [],\n agentTimings: agentTimingsAccum,\n trace: [{ node: \"reconciler\", detail: \"Delete mode with no target IDs\" }],\n };\n }\n\n logger.verbose(\"Delete mode - generating expire actions\", {\n targetIds: state.targetIntentIds\n });\n\n const actions = state.targetIntentIds.map(id => ({\n type: 'expire' as const,\n id,\n reasoning: 'User requested deletion'\n }));\n\n return {\n actions,\n agentTimings: agentTimingsAccum,\n trace: [{\n node: \"reconciler\",\n detail: `Actions: expire=${actions.length}`,\n }],\n };\n }\n\n // Standard reconciliation for create/update operations\n const candidates = state.verifiedIntents;\n if (candidates.length === 0) {\n logger.verbose(\"No verified intents to reconcile\");\n return {\n actions: [],\n agentTimings: agentTimingsAccum,\n trace: [{ node: \"reconciler\", detail: \"No intents to reconcile\" }],\n };\n }\n\n // Format candidates for the Reconciler Prompt\n const formattedCandidates = candidates.map(c =>\n `- [${c.type.toUpperCase()}] \"${c.description}\" (Confidence: ${c.confidence}, Score: ${c.score})\\n` +\n ` Reasoning: ${c.reasoning}\\n` +\n ` Verification: ${c.verification?.classification} (Flags: ${c.verification?.flags.join(', ') || 'None'})`\n ).join('\\n');\n\n logger.verbose(\"Invoking reconciler agent\", {\n candidateCount: candidates.length,\n operationMode: state.operationMode\n });\n\n const _traceEmitterReconciler = requestContext.getStore()?.traceEmitter;\n const reconcilerStart = Date.now();\n _traceEmitterReconciler?.({ type: \"agent_start\", name: \"intent-reconciler\" });\n const result = await reconciler.invoke(formattedCandidates, state.activeIntents);\n agentTimingsAccum.push({ name: 'intent.reconciler', durationMs: Date.now() - reconcilerStart });\n _traceEmitterReconciler?.({ type: \"agent_end\", name: \"intent-reconciler\", durationMs: Date.now() - reconcilerStart, summary: `Reconciled ${result.actions.length} action(s)` });\n\n logger.verbose(\"Reconciliation complete\", {\n actionCount: result.actions.length,\n operationMode: state.operationMode\n });\n\n // Count actions by type\n const counts = { create: 0, update: 0, expire: 0 };\n for (const a of result.actions) {\n if (a.type in counts) counts[a.type as keyof typeof counts]++;\n }\n\n return {\n actions: result.actions,\n agentTimings: agentTimingsAccum,\n trace: [{\n node: \"reconciler\",\n detail: `Actions: create=${counts.create}, update=${counts.update}, expire=${counts.expire}`,\n }],\n };\n });\n };\n\n /** Strip URLs and \"More details at [url]\" from intent payloads before persisting. */\n const sanitizePayload = (payload: string): string => {\n if (!payload || typeof payload !== \"string\") return payload;\n let out = payload\n .replace(/\\s*More details at\\s*:?\\s*https?:\\/\\/[^\\s\"'<>)\\]]+/gi, \"\")\n .replace(/\\s*See\\s+https?:\\/\\/[^\\s\"'<>)\\]]+\\s+for\\s+more[^.]*\\.?/gi, \"\")\n .replace(/https?:\\/\\/[^\\s\"'<>)\\]]+/g, \"\")\n .replace(/\\s{2,}/g, \" \")\n .trim();\n return out.replace(/[.,;]\\s*$/, \"\").trim() || payload;\n };\n\n /**\n * Node 4: Executor\n * Executes reconciler actions against the database.\n */\n const executorNode = async (state: typeof IntentGraphState.State) => {\n return timed(\"IntentGraph.executor\", async () => {\n const actions = state.actions;\n if (!actions || actions.length === 0) {\n return { executionResults: [] };\n }\n\n logger.verbose(`Executing ${actions.length} actions...`);\n const results: ExecutionResult[] = [];\n const verifiedIntentByPayload = new Map<string, VerifiedIntent>();\n for (const verifiedIntent of state.verifiedIntents) {\n verifiedIntentByPayload.set(verifiedIntent.description, verifiedIntent);\n verifiedIntentByPayload.set(sanitizePayload(verifiedIntent.description), verifiedIntent);\n }\n\n for (const action of actions) {\n const actionType = action.type.toLowerCase() as 'create' | 'update' | 'expire';\n try {\n if (actionType === 'create') {\n const createAction = action as {\n payload: string;\n score: number | null;\n semanticEntropy?: number | null;\n referentialAnchor?: string | null;\n intentMode?: 'REFERENTIAL' | 'ATTRIBUTIVE' | null;\n };\n const sanitizedPayload = sanitizePayload(createAction.payload);\n const matchedVerifiedIntent =\n verifiedIntentByPayload.get(createAction.payload) ||\n verifiedIntentByPayload.get(sanitizedPayload);\n\n // Generate embedding for the intent payload\n let flatEmbedding: number[] | undefined;\n if (this.embedder) {\n try {\n const embedding = await this.embedder.generate(sanitizedPayload, undefined, getAbortSignalConfig());\n flatEmbedding = Array.isArray(embedding?.[0])\n ? (embedding as number[][])[0]\n : (embedding as number[]);\n logger.verbose(\"Generated embedding for new intent\", { dimensions: flatEmbedding?.length });\n } catch (embErr) {\n logger.error(\"Failed to generate embedding for intent (continuing without)\", { error: embErr });\n }\n }\n\n const created = await this.database.createIntent({\n userId: state.userId,\n payload: sanitizedPayload,\n confidence: createAction.score ? createAction.score / 100 : 1.0,\n inferenceType: 'explicit',\n sourceType: 'discovery_form',\n embedding: flatEmbedding,\n semanticEntropy:\n createAction.semanticEntropy ??\n matchedVerifiedIntent?.verification?.semantic_entropy ??\n null,\n referentialAnchor:\n createAction.referentialAnchor ??\n matchedVerifiedIntent?.verification?.referential_anchor ??\n null,\n felicityAuthority: matchedVerifiedIntent?.verification?.felicity_scores.authority ?? null,\n felicitySincerity: matchedVerifiedIntent?.verification?.felicity_scores.sincerity ?? null,\n felicityClarity: matchedVerifiedIntent?.verification?.felicity_scores.clarity ?? null,\n intentMode: createAction.intentMode ?? null,\n speechActType: toSpeechActType(matchedVerifiedIntent?.verification?.classification),\n });\n\n results.push({ actionType: 'create', success: true, intentId: created.id, payload: sanitizedPayload });\n logger.verbose(`Created intent: ${created.id}`);\n\n this.intentQueue?.addGenerateHydeJob({\n intentId: created.id,\n userId: state.userId,\n ...(state.networkId ? { networkScopeId: state.networkId } : {}),\n }).catch((err) =>\n logger.error('Failed to enqueue intent HyDE job', { intentId: created.id, error: err })\n );\n\n if (this.questionerEnqueue) {\n const parsed = parseProfile(state.userProfile);\n this.questionerEnqueue({\n mode: 'intent',\n userId: state.userId,\n sourceType: 'intent',\n sourceId: created.id,\n context: {\n intentId: created.id,\n payload: sanitizedPayload,\n userProfile: {\n name: parsed?.identity?.name,\n bio: parsed?.identity?.bio,\n skills: parsed?.attributes?.skills,\n interests: parsed?.attributes?.interests,\n },\n },\n }).catch((err) =>\n logger.error('Failed to enqueue intent question generation', { intentId: created.id, error: err })\n );\n }\n\n } else if (actionType === 'update') {\n const updateAction = action as {\n id: string;\n payload: string;\n intentMode?: 'REFERENTIAL' | 'ATTRIBUTIVE' | null;\n };\n const sanitizedPayload = sanitizePayload(updateAction.payload);\n const matchedVerifiedIntent =\n verifiedIntentByPayload.get(updateAction.payload) ||\n verifiedIntentByPayload.get(sanitizedPayload);\n\n // Regenerate embedding for the updated payload\n let flatEmbedding: number[] | undefined;\n if (this.embedder) {\n try {\n const embedding = await this.embedder.generate(sanitizedPayload, undefined, getAbortSignalConfig());\n flatEmbedding = Array.isArray(embedding?.[0])\n ? (embedding as number[][])[0]\n : (embedding as number[]);\n logger.verbose(\"Generated embedding for updated intent\", { intentId: updateAction.id, dimensions: flatEmbedding?.length });\n } catch (embErr) {\n logger.error(\"Failed to generate embedding for intent update (continuing without)\", { error: embErr });\n }\n }\n\n const updated = await this.database.updateIntent(updateAction.id, {\n payload: sanitizedPayload,\n embedding: flatEmbedding,\n semanticEntropy:\n matchedVerifiedIntent?.verification?.semantic_entropy ??\n null,\n referentialAnchor:\n matchedVerifiedIntent?.verification?.referential_anchor ??\n null,\n felicityAuthority: matchedVerifiedIntent?.verification?.felicity_scores.authority ?? null,\n felicitySincerity: matchedVerifiedIntent?.verification?.felicity_scores.sincerity ?? null,\n felicityClarity: matchedVerifiedIntent?.verification?.felicity_scores.clarity ?? null,\n intentMode: updateAction.intentMode ?? null,\n speechActType: toSpeechActType(matchedVerifiedIntent?.verification?.classification),\n });\n results.push({\n actionType: 'update',\n success: !!updated,\n intentId: updateAction.id,\n payload: sanitizedPayload,\n error: updated ? undefined : 'Intent not found'\n });\n logger.verbose(`Updated intent: ${updateAction.id}`);\n if (updated) {\n this.intentQueue?.addGenerateHydeJob({\n intentId: updateAction.id,\n userId: state.userId,\n ...(state.networkId ? { networkScopeId: state.networkId } : {}),\n }).catch((err) =>\n logger.error('Failed to enqueue intent HyDE job', { intentId: updateAction.id, error: err })\n );\n }\n\n } else if (actionType === 'expire') {\n const expireAction = action as { id: string };\n const result = await this.database.archiveIntent(expireAction.id);\n results.push({\n actionType: 'expire',\n success: result.success,\n intentId: expireAction.id,\n error: result.error\n });\n logger.verbose(`Archived intent: ${expireAction.id}`);\n if (result.success) {\n this.intentQueue?.addDeleteHydeJob({ intentId: expireAction.id }).catch((err) =>\n logger.error('Failed to enqueue intent HyDE delete job', { intentId: expireAction.id, error: err })\n );\n }\n }\n } catch (error) {\n logger.error(`Failed to execute ${action.type}:`, { error });\n results.push({\n actionType,\n success: false,\n intentId: 'id' in action ? action.id : undefined,\n error: error instanceof Error ? error.message : 'Unknown error'\n });\n }\n }\n\n return { executionResults: results };\n });\n };\n\n // --- QUERY NODE (Read Mode) ---\n\n /**\n * Node: Query\n * Fast-path read node — fetches intents from DB based on scope.\n * Handles: global user intents, index-scoped (all or filtered by user).\n * No LLM calls; no inference/verification/reconciliation.\n */\n const queryNode = async (state: typeof IntentGraphState.State) => {\n return timed(\"IntentGraph.query\", async () => {\n logger.verbose(\"Starting query (read mode)\", {\n userId: state.userId,\n networkId: state.networkId,\n queryUserId: state.queryUserId,\n allUserIntents: state.allUserIntents,\n });\n\n try {\n // Scope-aware default: caller's intents across all reachable indexes.\n // Triggered when the tool layer passed indexScope and did not pick a\n // specific networkId or queryUserId — i.e. \"my intents\" in a chat\n // where the agent's reach is more than one index.\n if (\n !state.queryUserId &&\n !state.networkId &&\n state.indexScope &&\n state.indexScope.length > 0\n ) {\n const intents = await this.database.getActiveIntentsAcrossIndexes(\n state.userId,\n state.indexScope,\n );\n if (intents.length === 0) {\n return {\n readResult: {\n count: 0,\n intents: [],\n message: \"You don't have any active intents yet. Share what you're looking for.\",\n },\n };\n }\n return {\n readResult: {\n count: intents.length,\n intents: intents.map((i) => ({\n id: i.id,\n description: i.payload,\n summary: i.summary,\n createdAt: i.createdAt,\n })),\n },\n };\n }\n\n // When allUserIntents is true, ignore index scope and return all\n const effectiveIndexId = state.allUserIntents ? undefined : state.networkId;\n\n if (effectiveIndexId) {\n // Verify membership\n const isMember = await this.database.isNetworkMember(effectiveIndexId, state.userId);\n if (!isMember) {\n return {\n readResult: {\n count: 0,\n intents: [],\n message: \"Index not found or you are not a member.\",\n },\n };\n }\n\n // Index-scoped read\n if (!state.queryUserId) {\n // All intents in the index (any member can see)\n const intents = await this.database.getNetworkIntentsForMember(\n effectiveIndexId,\n state.userId,\n { limit: 50, offset: 0 }\n );\n if (intents.length === 0) {\n return {\n readResult: {\n count: 0,\n intents: [],\n message: \"No intents in this index yet.\",\n networkId: effectiveIndexId,\n },\n };\n }\n return {\n readResult: {\n count: intents.length,\n networkId: effectiveIndexId,\n intents: intents.map((i) => ({\n id: i.id,\n description: i.payload,\n summary: i.summary,\n createdAt: i.createdAt,\n userId: i.userId,\n userName: i.userName,\n })),\n },\n };\n }\n\n // Specific user's intents in the index\n const effectiveUserId = state.queryUserId;\n const intents = await this.database.getIntentsInIndexForMember(\n effectiveUserId,\n effectiveIndexId\n );\n if (intents.length === 0) {\n return {\n readResult: {\n count: 0,\n intents: [],\n message:\n effectiveUserId === state.userId\n ? \"You don't have any intents in this index yet.\"\n : \"No intents for that user in this index.\",\n networkId: effectiveIndexId,\n },\n };\n }\n const user = await this.database.getUser(effectiveUserId);\n const userName = user?.name ?? null;\n return {\n readResult: {\n count: intents.length,\n networkId: effectiveIndexId,\n intents: intents.map((i) => ({\n id: i.id,\n description: i.payload,\n summary: i.summary,\n createdAt: i.createdAt,\n userId: effectiveUserId,\n userName,\n })),\n },\n };\n }\n\n // Global (no index scope): return user's own active intents\n const intents = await this.database.getActiveIntents(state.userId);\n if (intents.length === 0) {\n return {\n readResult: {\n count: 0,\n intents: [],\n message:\n \"You don't have any active intents yet. Share what you're looking for.\",\n },\n };\n }\n return {\n readResult: {\n count: intents.length,\n intents: intents.map((i) => ({\n id: i.id,\n description: i.payload,\n summary: i.summary,\n createdAt: i.createdAt,\n })),\n },\n };\n } catch (err) {\n logger.error(\"Query node failed\", { error: err });\n return {\n readResult: {\n count: 0,\n intents: [],\n message: \"Failed to fetch intents. Please try again.\",\n },\n };\n }\n });\n };\n\n // --- CONDITIONAL ROUTING FUNCTIONS ---\n\n /**\n * After prep: read mode → query; otherwise decide inference vs reconciler by operation mode.\n */\n const afterPrepRoute = (state: typeof IntentGraphState.State): string => {\n if (state.error) {\n logger.warn('Prep failed with error, short-circuiting to END', { error: state.error });\n return '__end__';\n }\n if (state.operationMode === 'read') {\n logger.verbose('Read mode - routing to query (fast path)');\n return 'query';\n }\n return shouldRunInference(state);\n };\n \n /**\n * Determines if inference should run based on operation mode.\n * Delete operations skip inference entirely and go straight to reconciliation.\n */\n const shouldRunInference = (state: typeof IntentGraphState.State): string => {\n if (state.operationMode === 'delete') {\n logger.verbose('Delete mode - skipping inference, routing to reconciliation');\n return 'reconciler';\n }\n \n logger.verbose('Running inference', {\n operationMode: state.operationMode\n });\n return 'inference';\n };\n \n /**\n * Determines if verification should run based on operation mode and inferred intents.\n * Skips verification for:\n * - Operations with no inferred intents\n * - Can be extended to skip for update operations with no new intents\n */\n const shouldRunVerification = (state: typeof IntentGraphState.State): string => {\n if (state.inferredIntents.length === 0) {\n if (state.operationMode === 'propose') {\n logger.verbose('Propose mode with no inferred intents - exiting early');\n return '__end__';\n }\n logger.verbose('No intents to verify - skipping verification, routing to reconciliation');\n return 'reconciler';\n }\n \n if (state.operationMode === 'update') {\n logger.verbose('Update mode with new intents - running verification');\n return 'verification';\n }\n \n if (state.operationMode === 'create') {\n logger.verbose('Create mode - running verification');\n return 'verification';\n }\n \n // Default to verification for safety\n logger.verbose('Default routing to verification');\n return 'verification';\n };\n\n // --- GRAPH ASSEMBLY WITH CONDITIONAL EDGES (PHASE 4) ---\n\n const workflow = new StateGraph(IntentGraphState)\n .addNode(\"prep\", prepNode)\n .addNode(\"query\", queryNode)\n .addNode(\"inference\", inferenceNode)\n .addNode(\"verification\", verificationNode)\n .addNode(\"reconciler\", reconciliationNode)\n .addNode(\"executor\", executorNode)\n\n // Flow paths:\n // - READ: prep → query → END (fast path, no LLM calls)\n // - CREATE: prep → inference → verification → reconciler → executor → END\n // - UPDATE: prep → inference → reconciliation → executor → END (skips verification if no new intents)\n // - DELETE: prep → reconciliation → executor → END (skips inference and verification)\n // - PROPOSE: prep → inference → verification → END (no reconciliation/execution, no DB writes)\n .addEdge(START, \"prep\")\n \n // After prep: read mode → query; else inference or reconciler\n .addConditionalEdges(\"prep\", afterPrepRoute, {\n query: \"query\",\n inference: \"inference\",\n reconciler: \"reconciler\",\n __end__: END,\n })\n\n // Query (read mode) always ends\n .addEdge(\"query\", END)\n \n // After inference: decide if we need verification (skip if no intents)\n .addConditionalEdges(\"inference\", shouldRunVerification, {\n verification: \"verification\",\n reconciler: \"reconciler\",\n __end__: END,\n })\n \n // After verification: propose mode exits early; others continue to reconciliation\n .addConditionalEdges(\"verification\", (state: typeof IntentGraphState.State) => {\n if (state.operationMode === 'propose') {\n logger.verbose('Propose mode - stopping after verification, skipping reconciliation');\n return '__end__';\n }\n return 'reconciler';\n }, {\n reconciler: \"reconciler\",\n __end__: END,\n })\n \n // Reconciliation always goes to executor\n .addEdge(\"reconciler\", \"executor\")\n \n // Executor is always the end\n .addEdge(\"executor\", END);\n\n return workflow.compile();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.indexer.d.ts","sourceRoot":"","sources":["../../src/intent/intent.indexer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AA0D5E,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAiD;;IAQ9D;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAQhB;;;;;;;;;OASG;IAEU,MAAM,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAuCtC;;;OAGG;IAEU,QAAQ,CACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAItC;;;OAGG;WACW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCrB"}
1
+ {"version":3,"file":"intent.indexer.d.ts","sourceRoot":"/","sources":["intent/intent.indexer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AA0D5E,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAAiD;;IAQ9D;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAQhB;;;;;;;;;OASG;IAEU,MAAM,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAuCtC;;;OAGG;IAEU,QAAQ,CACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAItC;;;OAGG;WACW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.indexer.js","sourceRoot":"","sources":["../../src/intent/intent.indexer.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,iEAAiE;AACjE,kBAAkB;AAClB,iEAAiE;AAEjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC1F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC7F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACjE,CAAC,CAAC;AAOH,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAE7C,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAE3C,iEAAiE;AACjE,mBAAmB;AACnB,iEAAiE;AAEjE,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BpB,CAAC;AAEF,iEAAiE;AACjE,2BAA2B;AAC3B,iEAAiE;AAEjE,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAQjD,iEAAiE;AACjE,sBAAsB;AACtB,iEAAiE;AAEjE,MAAM,OAAO,aAAa;IAGxB;QACE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,oBAAoB,CAAC,cAAc,EAAE;YACtD,IAAI,EAAE,gBAAgB;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,QAAQ,CAAC,MAAoB;QACnC,OAAO;YACL,eAAe,MAAM,CAAC,UAAU,EAAE;YAClC,gBAAgB,MAAM,CAAC,WAAW,EAAE;YACpC,cAAc,MAAM,CAAC,SAAS,EAAE;SACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED;;;;;;;;;OASG;IAEU,AAAN,KAAK,CAAC,MAAM,CACjB,MAAc,EACd,WAA0B,EAC1B,YAA2B,EAC3B,UAA0B,EAC1B,cAA8B;QAE9B,MAAM,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,UAAU;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;QAC3D,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;QACnG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,YAAY,EAAE,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC;QAC/G,IAAI,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAC;QAE7E,MAAM,MAAM,GAAG;;QAEX,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;;QAGvB,MAAM;;;KAGT,CAAC;QAEF,MAAM,QAAQ,GAAG;YACf,IAAI,aAAa,CAAC,YAAY,CAAC;YAC/B,IAAI,YAAY,CAAC,MAAM,CAAC;SACzB,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAwB,CAAC;YAEnE,MAAM,CAAC,OAAO,CAAC,4CAA4C,EAAE;gBAC3D,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IAEU,AAAN,KAAK,CAAC,QAAQ,CACnB,MAAc,EACd,WAA0B,EAC1B,YAA2B,EAC3B,UAA0B,EAC1B,cAA8B;QAE9B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAM;QAClB,OAAO,IAAI,CACT,KAAK,EAAE,IAMN,EAAE,EAAE;YACH,MAAM,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;YAClC,OAAO,MAAM,KAAK,CAAC,MAAM,CACvB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,CACpB,CAAC;QACJ,CAAC,EACD;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EACT,8HAA8H;YAChI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;gBACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;gBAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;gBACnF,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;gBAChF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;gBACzF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;aACvH,CAAC;SACH,CACF,CAAC;IACJ,CAAC;CACF;AAhGc;IADZ,KAAK,EAAE;;;;2CA4CP;AAOY;IADZ,KAAK,EAAE;;;;6CASP"}
1
+ {"version":3,"file":"intent.indexer.js","sourceRoot":"/","sources":["intent/intent.indexer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ChatOpenAI } from \"@langchain/openai\";\nimport { HumanMessage, SystemMessage } from \"@langchain/core/messages\";\nimport { tool } from \"@langchain/core/tools\";\nimport { z } from \"zod\";\nimport { log } from \"../shared/observability/log.js\";\nimport { Timed } from \"../shared/observability/performance.js\";\nimport { createModel } from \"../shared/agent/model.config.js\";\nimport { invokeWithAbortSignal } from \"../shared/agent/model-signal.js\";\n\n// ──────────────────────────────────────────────────────────────\n// Response schema\n// ──────────────────────────────────────────────────────────────\n\nexport const IntentIndexerOutputSchema = z.object({\n indexScore: z.number().min(0).max(1).describe(\"Score for index appropriateness (0.0-1.0)\"),\n memberScore: z.number().min(0).max(1).describe(\"Score for member preference match (0.0-1.0)\"),\n reasoning: z.string().describe(\"Brief reasoning for the scores\"),\n});\n\n/**\n * Output structure for the Intent Indexer agent.\n */\nexport type IntentIndexerOutput = z.infer<typeof IntentIndexerOutputSchema>;\n\nconst logger = log.lib.from(\"IntentIndexer\");\n\nconst model = createModel(\"intentIndexer\");\n\n// ──────────────────────────────────────────────────────────────\n// 1. SYSTEM PROMPT\n// ──────────────────────────────────────────────────────────────\n\nconst systemPrompt = `\nYou are an expert Intent Evaluator for a social networking protocol.\n\nTASK:\nDetermine if a User Intent is appropriate for a specific Index (community) and matches a Member's sharing preferences.\n\nINPUTS:\n1. Intent: The content/action the user wants to perform.\n2. Index Prompt: The purpose/scope of the target community (Index).\n3. Member Prompt: The specific sharing preferences of the user in that community (optional).\n4. Source: Origin of the intent (file, link, etc.) (optional).\n5. Network Context: Rendered context about the network including type, dates, location, and events (optional).\n\nNETWORK TYPE AWARENESS:\n- When Network Context is provided, use it to inform your scoring.\n- For EVENT networks: consider temporal relevance. An intent about \"meeting at the venue\" is highly relevant to an upcoming event but irrelevant after it ends. Intents about topics aligned with the event's themes should score higher.\n- For COMMUNITY networks: score based on the index prompt and member preferences as usual.\n- If the network context includes dates and the intent is time-sensitive, factor temporal proximity into the score.\n\nSCORING RUBRIC:\n- 0.9-1.0: Highly appropriate, perfect match.\n- 0.7-0.8: Good match, relevant.\n- 0.5-0.6: Moderate, borderline.\n- 0.3-0.4: Low appropriateness, poor fit.\n- 0.0-0.2: Not appropriate.\n\nOUTPUT RULES:\n- Provide \\`indexScore\\` based on how well the Intent fits the Index Prompt.\n- Provide \\`memberScore\\` based on how well the Intent fits the Member Prompt (if provided). If Member Prompt is missing/empty, return 0.0 for memberScore.\n- Provide concise \\`reasoning\\`.\n`;\n\n// ──────────────────────────────────────────────────────────────\n// 2. RESPONSE SCHEMA (Zod)\n// ──────────────────────────────────────────────────────────────\n\nconst responseFormat = IntentIndexerOutputSchema;\n\n// ──────────────────────────────────────────────────────────────\n// 3. TYPE DEFINITIONS\n// ──────────────────────────────────────────────────────────────\n\ntype ResponseType = z.infer<typeof responseFormat>;\n\n// ──────────────────────────────────────────────────────────────\n// 4. CLASS DEFINITION\n// ──────────────────────────────────────────────────────────────\n\nexport class IntentIndexer {\n private model: ReturnType<ChatOpenAI[\"withStructuredOutput\"]>;\n\n constructor() {\n this.model = model.withStructuredOutput(responseFormat, {\n name: \"intent_indexer\",\n });\n }\n\n /**\n * Converts the structured response into a string for logging or embedding.\n * Used when the output needs to be serialized (e.g. for traces).\n */\n private toString(output: ResponseType): string {\n return [\n `indexScore: ${output.indexScore}`,\n `memberScore: ${output.memberScore}`,\n `reasoning: ${output.reasoning}`,\n ].join(\"\\n\");\n }\n\n /**\n * Main entry point. Evaluates the appropriateness of an intent for a given index and member context.\n *\n * @param intent - The intent payload.\n * @param indexPrompt - The purpose of the index (community).\n * @param memberPrompt - The member's sharing preferences (optional).\n * @param sourceName - Optional source name for context (e.g. file, link).\n * @param networkContext - Optional rendered network context (type, dates, metadata).\n * @returns Structured output with indexScore, memberScore, and reasoning, or null on error.\n */\n @Timed()\n public async invoke(\n intent: string,\n indexPrompt: string | null,\n memberPrompt: string | null,\n sourceName?: string | null,\n networkContext?: string | null\n ): Promise<IntentIndexerOutput | null> {\n logger.verbose(\"[IntentIndexer.invoke] Evaluating intent\");\n\n const contextParts: string[] = [];\n if (sourceName) contextParts.push(`Source: ${sourceName}`);\n contextParts.push(indexPrompt ? `Index Purpose: ${indexPrompt}` : \"Index Purpose: (Not provided)\");\n contextParts.push(memberPrompt ? `Member Preferences: ${memberPrompt}` : \"Member Preferences: (Not provided)\");\n if (networkContext) contextParts.push(`Network Context:\\n${networkContext}`);\n\n const prompt = `\n # Context\n ${contextParts.join(\"\\n\")}\n\n # Intent\n ${intent}\n\n Evaluate the appropriateness of this intent.\n `;\n\n const messages = [\n new SystemMessage(systemPrompt),\n new HumanMessage(prompt),\n ];\n\n try {\n const result = await invokeWithAbortSignal(this.model, messages);\n const output = responseFormat.parse(result) as IntentIndexerOutput;\n\n logger.verbose(\"[IntentIndexer.invoke] Evaluation complete\", {\n indexScore: output.indexScore,\n memberScore: output.memberScore,\n });\n return output;\n } catch (error) {\n logger.error(\"[IntentIndexer] Error during execution\", { error });\n return null;\n }\n }\n\n /**\n * Alias for invoke. Evaluates the appropriateness of an intent for a given index and member context.\n * Kept for compatibility with callers (e.g. Index Graph) that use evaluate().\n */\n @Timed()\n public async evaluate(\n intent: string,\n indexPrompt: string | null,\n memberPrompt: string | null,\n sourceName?: string | null,\n networkContext?: string | null\n ): Promise<IntentIndexerOutput | null> {\n return this.invoke(intent, indexPrompt, memberPrompt, sourceName, networkContext);\n }\n\n /**\n * Factory method to expose the agent as a LangChain tool.\n * Useful for composing agents into larger graphs.\n */\n public static asTool() {\n return tool(\n async (args: {\n intent: string;\n indexPrompt: string | null;\n memberPrompt: string | null;\n sourceName?: string | null;\n networkContext?: string | null;\n }) => {\n const agent = new IntentIndexer();\n return await agent.invoke(\n args.intent,\n args.indexPrompt,\n args.memberPrompt,\n args.sourceName,\n args.networkContext\n );\n },\n {\n name: \"intent_indexer\",\n description:\n \"Evaluates whether an intent is appropriate for a specific index (community or event) and matches member sharing preferences.\",\n schema: z.object({\n intent: z.string().describe(\"The intent payload to evaluate\"),\n indexPrompt: z.string().nullable().describe(\"The purpose of the index (community)\"),\n memberPrompt: z.string().nullable().describe(\"The member's sharing preferences\"),\n sourceName: z.string().nullable().optional().describe(\"Optional source name for context\"),\n networkContext: z.string().nullable().optional().describe(\"Optional rendered network context (type, dates, metadata)\"),\n }),\n }\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.inferrer.d.ts","sourceRoot":"","sources":["../../src/intent/intent.inferrer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE/C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;CACrC;AA2ED,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;EAKxB,CAAC;AAWH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,qBAAa,sBAAsB;IACjC,OAAO,CAAC,KAAK,CAAM;;IASnB;;;;;OAKG;IAEU,MAAM,CACjB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,eAAoB;;;;;;;;IAuF/B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAuBjC;;;OAGG;WACW,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAgBrB"}
1
+ {"version":3,"file":"intent.inferrer.d.ts","sourceRoot":"/","sources":["intent/intent.inferrer.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEpF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE/C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,WAAW,EAAE,CAAC;CACrC;AA2ED,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;EAKxB,CAAC;AAWH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAMlE,qBAAa,sBAAsB;IACjC,OAAO,CAAC,KAAK,CAAM;;IASnB;;;;;OAKG;IAEU,MAAM,CACjB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,eAAoB;;;;;;;;IAuF/B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAuBjC;;;OAGG;WACW,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAgBrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.inferrer.js","sourceRoot":"","sources":["../../src/intent/intent.inferrer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.inferrer.js","sourceRoot":"/","sources":["intent/intent.inferrer.ts"],"names":[],"mappings":"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","sourcesContent":["import { HumanMessage, SystemMessage, BaseMessage } from \"@langchain/core/messages\";\nimport { tool } from \"@langchain/core/tools\";\nimport { z } from \"zod\";\nimport { protocolLogger } from \"../shared/observability/protocol.logger.js\";\nimport { Timed } from \"../shared/observability/performance.js\";\nimport { createModel } from \"../shared/agent/model.config.js\";\nimport { invokeWithAbortSignal } from \"../shared/agent/model-signal.js\";\n\nconst logger = protocolLogger(\"ExplicitIntentInferrer\");\n\n// ──────────────────────────────────────────────────────────────\n// 0. INFERRER OPTIONS\n// ──────────────────────────────────────────────────────────────\n\n/**\n * Options to control inferrer behavior.\n * Used to implement safety controls for read/write separation.\n */\nexport interface InferrerOptions {\n /**\n * Whether to fallback to profile inference when content is empty.\n * Should be TRUE for create operations without explicit content.\n * Should be FALSE for query operations.\n * Default: true (for backward compatibility).\n */\n allowProfileFallback?: boolean;\n \n /**\n * The operation mode for context.\n * Helps inferrer understand the user's intent.\n */\n operationMode?: 'create' | 'update' | 'delete';\n \n /**\n * Conversation history for anaphoric resolution.\n * Used to resolve references like \"that intent\", \"this goal\", etc.\n * Optional - if not provided, inference uses only current content.\n */\n conversationContext?: BaseMessage[];\n}\n\n// ──────────────────────────────────────────────────────────────\n// 1. SYSTEM PROMPT\n// ──────────────────────────────────────────────────────────────\n\nconst systemPrompt = `\n You are an expert Intent Analyst. Your goal is to infer the user's current intentions based on their profile and new content.\n\n You have access to:\n 1. User Memory Profile (Identity, Narrative, Attributes) - The long-term context.\n 2. New Content - What they just said/did.\n 3. Conversation History (when available) - Recent messages for resolving references.\n 4. Operation Context - What type of operation is being performed.\n\n YOUR TASK:\n Analyze the \"New Content\" in the context of the \"Profile\", \"Conversation History\", and \"Operation Context\".\n Extract a list of **Inferred Intents**.\n\n INTENT TYPES:\n - 'goal': The user wants to start, continue, or achieve something. (e.g., \"I want to learn Rust\", \"Looking for a co-founder\")\n - 'tombstone': The user explicitly states they have COMPLETED, stopped, or abandoned a goal. (e.g., \"I finished the course\", \"I'm done with crypto\", \"Delete my running goal\")\n\n CRITICAL RULES:\n - Only analyze the \"New Content\" section if it exists.\n - If New Content says \"Return empty intents list\", you MUST return an empty intents array.\n - If New Content says \"No content to analyze\", return an empty intents array.\n - Be precise and self-contained in descriptions (e.g., \"Learn Rust programming\" instead of \"Learn it\").\n - Do NOT try to manage existing IDs or check for duplicates.\n - IGNORE purely phatic communication (e.g., \"Hello\", \"Hi\", \"Good morning\") - return empty intents.\n - For CREATE operations: Extract what the user wants to ADD.\n - For UPDATE operations: Extract what the user wants to CHANGE.\n - For queries/questions: You should not see these - return empty intents.\n\n CONTENT GROUNDING (CRITICAL):\n - When New Content is present, EVERY inferred intent MUST be directly related to the New Content.\n - The User Profile is ENRICHMENT CONTEXT ONLY — use it to add specificity or domain detail to content-derived intents.\n - Do NOT generate intents from the profile that are unrelated to the New Content.\n - If the New Content is a short phrase (e.g., \"artist\", \"photographer\"), treat it as the user's stated goal — infer what they want regarding that topic.\n - Example: New Content = \"artist\", Profile = \"Building a decentralized protocol\" → Intent: \"Find or connect with artists\" (NOT \"Secure partnerships for decentralized protocol\")\n - Example: New Content = \"looking for a photographer\", Profile = \"AI startup founder\" → Intent: \"Find a photographer\" (NOT \"Recruit AI engineers\")\n\n CONCEPT EXTRACTION (CRITICAL FOR MATCHING):\n - Intents must be SELF-CONTAINED and understandable to strangers with no prior context.\n - When a document describes a project, the project's NAME is irrelevant - only WHAT IT DOES and WHAT TECH IT USES matters.\n - STRIP OUT completely (do not include in any form):\n * ANY project/company/product names from the source document - these mean nothing to outsiders\n * URLs and links (https://..., http://...) - NEVER include URLs in intent descriptions\n * Phrases that reference URLs: \"More details at\", \"See ... for more\", \"Project details:\", \"mentioned in\", \"from the document\", \"as discussed\"\n * File names (\"Claude.md\", \"README\", \"the PDF\")\n - Describe the WORK and TECHNOLOGIES, never the project name.\n - Examples:\n * Source mentions \"FooBar Project\" using React/Node → Intent: \"Seeking React/Node.js developers for real-time web apps\" (NO \"FooBar\")\n * Source mentions \"Index Network\" with LangGraph → Intent: \"Seeking LangGraph/PostgreSQL developers for AI agent systems\" (NO \"Index Network\")\n * Source mentions \"Acme Corp\" doing ML → Intent: \"Seeking ML engineers for computer vision pipelines\" (NO \"Acme\")\n \n ANAPHORIC RESOLUTION (UPDATE operations):\n - When conversation history is provided, use it to resolve references like \"that intent\", \"this goal\", \"the project\", etc.\n - Look for previously mentioned intents in the conversation history.\n - If the user says \"make that intent X\", find what \"that intent\" refers to in the history and include ALL its details.\n - PRESERVE all existing details from the referenced intent and only MODIFY the specified parts.\n - Example: If history mentions \"text-based RPG game\" and user says \"make that intent have LLM narration\",\n the output should be \"Create a text-based RPG game with LLM-enhanced narration\" (preserving \"text-based\").\n \n WHEN TO FALLBACK TO PROFILE:\n - Only when explicitly instructed: \"(No content provided. Please infer intents from Profile Narrative and Aspirations)\"\n - This should ONLY happen for CREATE operations with no explicit user input\n - Never infer from profile for query operations\n - When content IS present: profile may inform HOW to describe the intent (e.g., adding domain context), but must NOT change WHAT the intent is about\n`;\n\n// ──────────────────────────────────────────────────────────────\n// 2. RESPONSE SCHEMA (Zod)\n// ──────────────────────────────────────────────────────────────\n\nconst InferredIntentSchema = z.object({\n type: z.enum(['goal', 'tombstone']).describe(\"The type of intent inferred\"),\n description: z.string().describe(\"Concise description of the intent\"),\n reasoning: z.string().describe(\"Why this intent was inferred\"),\n confidence: z.enum(['high', 'medium', 'low']).describe(\"Confidence level of the inference\")\n});\n\nconst responseFormat = z.object({\n intents: z.array(InferredIntentSchema).describe(\"List of inferred intents\")\n});\n\n// ──────────────────────────────────────────────────────────────\n// 3. TYPE DEFINITIONS\n// ──────────────────────────────────────────────────────────────\n\ntype ResponseType = z.infer<typeof responseFormat>;\nexport type InferredIntent = z.infer<typeof InferredIntentSchema>;\n\n// ──────────────────────────────────────────────────────────────\n// 4. CLASS DEFINITION\n// ──────────────────────────────────────────────────────────────\n\nexport class ExplicitIntentInferrer {\n private model: any;\n\n constructor() {\n const model = createModel(\"intentInferrer\");\n this.model = model.withStructuredOutput(responseFormat, {\n name: \"intent_inferrer\"\n });\n }\n\n /**\n * Main entry point. Invokes the agent with input and returns structured output.\n * @param content - The raw string content to analyze.\n * @param profileContext - The formatted profile context string.\n * @param options - Options controlling inference behavior (fallback, operation mode, conversation context).\n */\n @Timed()\n public async invoke(\n content: string | null,\n profileContext: string,\n options: InferrerOptions = {}\n ) {\n const {\n allowProfileFallback = true, // Default TRUE for backward compatibility\n operationMode = 'create',\n conversationContext = undefined\n } = options;\n \n logger.verbose(\"invoke: received input\", {\n contentPreview: content?.substring(0, 50),\n allowProfileFallback,\n operationMode,\n hasConversationContext: !!conversationContext,\n conversationMessageCount: conversationContext?.length || 0,\n });\n\n // CRITICAL: Don't fallback to profile when explicitly disabled\n // This prevents auto-generation of intents from profile during query operations\n if (!content && !allowProfileFallback) {\n logger.verbose(\"invoke: no content and fallback disabled, returning empty\");\n return { intents: [] };\n }\n\n // Build conversation history section for anaphoric resolution\n const formattedHistory = conversationContext && conversationContext.length > 0\n ? this.formatConversationHistory(conversationContext)\n : '';\n \n const conversationSection = formattedHistory\n ? `# Conversation History (for reference resolution)\\n${formattedHistory}\\n`\n : '';\n\n // Build content section based on fallback setting\n const contentSection = content\n ? `## New Content\\n\\n${content}`\n : allowProfileFallback\n ? '(No content provided. Please infer intents from Profile Narrative and Aspirations)'\n : '(No content to analyze. Return empty intents list.)';\n\n const prompt = `\n Context:\n # User Memory Profile\n ${profileContext}\n\n ${conversationSection}${contentSection}\n \n # Operation Context\n This analysis is for a ${operationMode} operation.\n ${operationMode === 'create' ? 'Extract NEW intents the user wants to add.' : ''}\n ${operationMode === 'update' ? 'Extract MODIFICATIONS to existing intents. Use conversation history to resolve references like \"that intent\".' : ''}\n ${operationMode === 'delete' ? 'This should not execute - delete operations skip inference.' : ''}\n `;\n \n logger.debug(\"invoke: prompt details\", {\n hasConversationHistory: !!conversationSection,\n conversationHistoryLength: formattedHistory.length,\n conversationHistoryPreview: formattedHistory.substring(0, 300),\n contentLength: content?.length ?? 0,\n promptLength: prompt.length,\n promptPreview: prompt.substring(0, 500),\n });\n\n const messages = [\n new SystemMessage(systemPrompt),\n new HumanMessage(prompt)\n ];\n\n try {\n const result = await invokeWithAbortSignal(this.model, messages);\n const output = responseFormat.parse(result);\n\n logger.verbose(`invoke: found ${output.intents.length} intents`, {\n operationMode,\n allowedFallback: allowProfileFallback,\n usedFallback: !content && allowProfileFallback,\n });\n return output;\n } catch (error: unknown) {\n const err = error instanceof Error ? error : new Error(String(error));\n logger.error(\"invoke: error during invocation\", {\n message: err.message,\n stack: err.stack,\n });\n return { intents: [] };\n }\n }\n\n /**\n * Formats conversation history for inclusion in the prompt.\n * Converts BaseMessage[] to readable string format.\n */\n private formatConversationHistory(messages: BaseMessage[]): string {\n const formatted = messages.map((msg, index) => {\n const role = msg._getType() === 'human' ? 'User' : 'Assistant';\n const content = typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content);\n // Truncate long messages for token efficiency\n const truncated = content.length > 200 ? content.substring(0, 200) + '...' : content;\n return `[${index + 1}] ${role}: ${truncated}`;\n }).join('\\n');\n \n logger.debug(\"formatConversationHistory: full conversation history\", {\n messageCount: messages.length,\n fullHistory: messages\n .map((msg, index) => {\n const role = msg._getType() === \"human\" ? \"User\" : \"Assistant\";\n const content = typeof msg.content === \"string\" ? msg.content : JSON.stringify(msg.content);\n return `[${index + 1}] ${role}: ${content}`;\n })\n .join(\"\\n\"),\n });\n\n return formatted;\n }\n\n /**\n * Factory method to expose the agent as a LangChain tool.\n * Useful for composing agents into larger graphs.\n */\n public static asTool() {\n return tool(\n async (args: { content: string | null; profileContext: string }) => {\n const agent = new ExplicitIntentInferrer();\n return await agent.invoke(args.content, args.profileContext);\n },\n {\n name: 'explicit_intent_inferrer',\n description: 'Extracts explicit intents from user content and profile context.',\n schema: z.object({\n content: z.string().nullable().describe('The new content to analyze'),\n profileContext: z.string().describe('The user profile context')\n })\n }\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.reconciler.d.ts","sourceRoot":"","sources":["../../src/intent/intent.reconciler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2ExB,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;EAI5B,CAAC;AAcH,MAAM,MAAM,sBAAsB,GAC9B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3E,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3E,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhF,MAAM,MAAM,sBAAsB,GAAG;IAAE,OAAO,EAAE,sBAAsB,EAAE,CAAA;CAAE,CAAC;AAe3E,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAM;;IAQnB;;;;OAIG;IAEU,MAAM,CAAC,wBAAwB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;;;IAqClF;;OAEG;WACW,MAAM;;;;;;;;;;;;;;;;;;CAgBrB"}
1
+ {"version":3,"file":"intent.reconciler.d.ts","sourceRoot":"/","sources":["intent/intent.reconciler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2ExB,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAO5B,CAAC;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;EAI5B,CAAC;AAcH,MAAM,MAAM,sBAAsB,GAC9B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3E,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3E,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEhF,MAAM,MAAM,sBAAsB,GAAG;IAAE,OAAO,EAAE,sBAAsB,EAAE,CAAA;CAAE,CAAC;AAe3E,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAM;;IAQnB;;;;OAIG;IAEU,MAAM,CAAC,wBAAwB,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM;;;IAqClF;;OAEG;WACW,MAAM;;;;;;;;;;;;;;;;;;CAgBrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.reconciler.js","sourceRoot":"","sources":["../../src/intent/intent.reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.reconciler.js","sourceRoot":"/","sources":["intent/intent.reconciler.ts"],"names":[],"mappings":"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","sourcesContent":["import { HumanMessage, SystemMessage } from \"@langchain/core/messages\";\nimport { tool } from \"@langchain/core/tools\";\nimport { z } from \"zod\";\nimport { protocolLogger } from \"../shared/observability/protocol.logger.js\";\nimport { Timed } from \"../shared/observability/performance.js\";\nimport { createModel } from \"../shared/agent/model.config.js\";\nimport { invokeWithAbortSignal } from \"../shared/agent/model-signal.js\";\n\nconst logger = protocolLogger(\"IntentReconciler\");\n\nconst model = createModel(\"intentReconciler\");\n\nconst CreateActionTypeSchema = z.union([z.literal(\"create\"), z.literal(\"CREATE\")]);\nconst UpdateActionTypeSchema = z.union([z.literal(\"update\"), z.literal(\"UPDATE\")]);\nconst ExpireActionTypeSchema = z.union([z.literal(\"expire\"), z.literal(\"EXPIRE\")]);\n\n// ──────────────────────────────────────────────────────────────\n// 1. SYSTEM PROMPT\n// ──────────────────────────────────────────────────────────────\n\n\nconst systemPrompt = `\nYou are an expert Intent Manager. Your goal is to reconcile NEWLY INFERRED intents with the user's ACTIVE intents.\n\nYou have access to:\n1. Inferred Intents: Goals or Tombstones extracted from recent user activity.\n2. Active Intents: What the user is currently working on.\n\nYOUR TASK:\nCompare the Inferred Intents against the Active Intents and decide on the necessary ACTIONS (Create, Update, Expire).\n\nMATCHING LOGIC:\n- You must determine if an Inferred Intent refers to the same underlying goal as an Active Intent.\n- You must detect if an Inferred Intent CONTRADICTS an Active Intent (Change of Mind).\n\nSEMANTIC GOVERNANCE RULES (Donnellan's Distinction):\n- **REFERENTIAL Intents** (Anchor != NULL): These point to specific entities (e.g., \"Google\").\n - Matching logic: Match if the Anchor is the SAME.\n - If Anchor is different (e.g. \"Join Google\" vs \"Join Meta\"), they are DIFFERENT intents.\n- **ATTRIBUTIVE Intents** (Anchor == NULL): These describe a class of things.\n - Matching logic: Match if the description is semantically similar content.\n - E.g. \"Join a startup\" and \"Work for a small tech company\" are the SAME.\n\nACTIONS:\n- CREATE: If an Inferred Goal does NOT match any Active Intent, CREATE it.\n- UPDATE: If an Inferred Goal matches an Active Intent but offers a better/different description, UPDATE it. When the match is an exact duplicate (same goal, no change needed), still output an UPDATE action with that Active Intent's id and the same payload—this allows the caller to link the intent to an index (e.g. add it to a community).\n CRITICAL UPDATE MERGE RULES:\n * When UPDATING an intent, you MUST PRESERVE all existing details from the Active Intent.\n * Only MODIFY or ADD the specific aspects mentioned in the Inferred Intent.\n * NEVER remove existing details unless explicitly contradicted.\n * Examples:\n - Active: \"Create a text-based RPG game\"\n - Inferred: \"Create an RPG game with LLM-enhanced narration\"\n - CORRECT UPDATE: \"Create a text-based RPG game with LLM-enhanced narration\" (preserved \"text-based\")\n - WRONG UPDATE: \"Create an RPG game with LLM-enhanced narration\" (lost \"text-based\")\n * Think of updates as REFINEMENTS or ADDITIONS, not REPLACEMENTS.\n * If the Inferred Intent is a complete restatement, it's fine to use it directly.\n * If the Inferred Intent adds/modifies specific aspects, merge it with existing details.\n\n COMPOUND INTENT SANITY CHECK (CRITICAL):\n * NEVER produce a compound intent — an intent with multiple distinct goals joined by \"and\", \"as well as\", commas, or similar.\n * If merging would create a compound (e.g., \"Find an artist for X, and collaborate on Y\"), the intents are NOT the same — CREATE the new one instead.\n * Valid UPDATE: adding detail to ONE goal (e.g., \"Find a developer\" → \"Find a senior React developer in Berlin\")\n * Invalid UPDATE (compound): joining TWO goals (e.g., \"Find an artist\" + \"Collaborate on art direction\" → \"Find an artist and collaborate on art direction\")\n * When in doubt, CREATE a new intent rather than risk a compound.\n- EXPIRE: If an Inferred Tombstone matches an Active Intent (semantically), EXPIRE it.\n- CONFLICT RESOLUTION: If a NEW Goal contradicts an Active Intent, EXPIRE the old and CREATE the new.\n- DEDUPLICATION: Use Donnellan's Distinction above to merge duplicates. For duplicates, output UPDATE (not an empty list) so the intent can be linked to an index.\n\nOutput a list of specific actions to apply.\nIMPORTANT: The type field MUST be exactly one of: \"create\", \"update\", \"expire\" (lowercase).\n`;\n\n// ──────────────────────────────────────────────────────────────\n// 2. RESPONSE SCHEMA (Zod)\n// ──────────────────────────────────────────────────────────────\n\nconst CreateIntentActionSchema = z.object({\n type: CreateActionTypeSchema,\n payload: z.string().describe(\"The new intent description\"),\n score: z.number().nullable().describe(\"The felicity score (0-100)\"),\n reasoning: z.string().nullable().describe(\"Reasoning for the creation (including felicity)\"),\n // Semantic Governance Fields\n intentMode: z.enum(['REFERENTIAL', 'ATTRIBUTIVE']).nullable().describe(\"Donnellan's Distinction\"),\n referentialAnchor: z.string().nullable().describe(\"Entity anchored to\"),\n semanticEntropy: z.number().nullable().describe(\"Constraint Density Score (0-1)\"),\n});\n\nconst UpdateIntentActionSchema = z.object({\n type: UpdateActionTypeSchema,\n id: z.string().describe(\"The ID of the intent to update\"),\n payload: z.string().describe(\"The updated intent description\"),\n score: z.number().nullable().describe(\"The felicity score (0-100)\"),\n reasoning: z.string().nullable().describe(\"Reasoning for the update\"),\n intentMode: z.enum(['REFERENTIAL', 'ATTRIBUTIVE']).nullable(),\n});\n\nconst ExpireIntentActionSchema = z.object({\n type: ExpireActionTypeSchema,\n id: z.string().describe(\"The ID of the intent to expire\"),\n reason: z.string().describe(\"Why it is expired\")\n});\n\nconst responseFormat = z.object({\n actions: z.array(z.union([\n CreateIntentActionSchema,\n UpdateIntentActionSchema,\n ExpireIntentActionSchema\n ])).describe(\"List of actions to apply\")\n});\n\n// ──────────────────────────────────────────────────────────────\n// 3. TYPE DEFINITIONS (match invoke() return shape: normalized lowercase action types)\n// ──────────────────────────────────────────────────────────────\n\nexport type NormalizedIntentAction =\n | Omit<z.infer<typeof CreateIntentActionSchema>, \"type\"> & { type: \"create\" }\n | Omit<z.infer<typeof UpdateIntentActionSchema>, \"type\"> & { type: \"update\" }\n | Omit<z.infer<typeof ExpireIntentActionSchema>, \"type\"> & { type: \"expire\" };\n\nexport type IntentReconcilerOutput = { actions: NormalizedIntentAction[] };\n\nconst normalizeActionType = (type: string): \"create\" | \"update\" | \"expire\" => {\n const normalized = type.toLowerCase();\n if (normalized === \"create\" || normalized === \"update\" || normalized === \"expire\") {\n return normalized;\n }\n logger.warn(`normalizeActionType: unexpected action type \"${type}\", defaulting to \"create\"`);\n return \"create\";\n};\n\n// ──────────────────────────────────────────────────────────────\n// 4. CLASS DEFINITION\n// ──────────────────────────────────────────────────────────────\n\nexport class IntentReconciler {\n private model: any;\n\n constructor() {\n this.model = model.withStructuredOutput(responseFormat, {\n name: \"intent_reconciler\"\n });\n }\n\n /**\n * Reconciles inferred intents with active intents.\n * @param inferredIntentsFormatted - Formatted string of inferred intents.\n * @param activeIntentsContext - Formatted string of active intents.\n */\n @Timed()\n public async invoke(inferredIntentsFormatted: string, activeIntentsContext: string) {\n logger.verbose(`[IntentReconciler.invoke] Reconciling intents...`);\n\n const prompt = `\n # Active Intents\n ${activeIntentsContext}\n\n # Inferred Intents (Candidates)\n ${inferredIntentsFormatted}\n\n Based on the Inferred Intents, determine the actions to modify the Active Intents state.\n IMPORTANT:\n - If you CREATE or UPDATE an intent, you MUST popuate the 'score' and 'reasoning' fields.\n - Extract the 'score', 'semanticEntropy', 'referentialAnchor' from the Inferred Intent's data.\n - Include the verification details in the 'reasoning'.\n `;\n\n const messages = [\n new SystemMessage(systemPrompt),\n new HumanMessage(prompt)\n ];\n\n try {\n const output = responseFormat.parse(await invokeWithAbortSignal(this.model, messages));\n const normalizedActions = output.actions.map((action: z.infer<typeof responseFormat>[\"actions\"][number]) => ({ \n ...action,\n type: normalizeActionType(action.type),\n })) as NormalizedIntentAction[];\n\n logger.verbose(`[IntentReconciler.invoke] Decision: ${normalizedActions.length} actions.`);\n return { actions: normalizedActions };\n } catch (error) {\n logger.error(\"[IntentReconciler] Error during invocation\", { error });\n return { actions: [] };\n }\n }\n\n /**\n * Factory method to expose the agent as a LangChain tool.\n */\n public static asTool() {\n return tool(\n async (args: { inferredIntents: string; activeIntents: string }) => {\n const agent = new IntentReconciler();\n return await agent.invoke(args.inferredIntents, args.activeIntents);\n },\n {\n name: 'intent_reconciler',\n description: 'Reconciles inferred intents with active intents to determine state changes.',\n schema: z.object({\n inferredIntents: z.string().describe('Formatted string of inferred intents'),\n activeIntents: z.string().describe('Formatted string of active intents')\n })\n }\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"intent.state.d.ts","sourceRoot":"","sources":["../../src/intent/intent.state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAG3B;;;OAGG;;;;;;IAGH;;OAEG;;;;;;IAGH;;;OAGG;;;;;;IAGH;;;;;OAKG;;IAMH;;;;;;;;;OASG;;IAMH;;;OAGG;;IAMH;;;;OAIG;;IAQH;;;OAGG;;IAQH;;OAEG;;;;;;;;;;;;;;;;;IAMH;;;OAGG;;IAQH;;OAEG;;IAMH;;;OAGG;;IAQH;;;OAGG;;IAQH;;;;OAIG;;cAC6B,MAAM;iBAAW,MAAM;eAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;cAAvD,MAAM;iBAAW,MAAM;eAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;cAAvD,MAAM;iBAAW,MAAM;eAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAKvF,sEAAsE;;IAQtE;;;;;OAKG;;IAMH;;;OAGG;;IAMH;;;OAGG;;IAMH;;OAEG;;eAEM,MAAM;iBACJ,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC;kBACQ,MAAM;oBACJ,MAAM;;eAVX,MAAM;iBACJ,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC;kBACQ,MAAM;oBACJ,MAAM;;eAVX,MAAM;iBACJ,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC;kBACQ,MAAM;oBACJ,MAAM;;EAKpB,CAAC"}
1
+ {"version":3,"file":"intent.state.d.ts","sourceRoot":"/","sources":["intent/intent.state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAG3B;;;OAGG;;;;;;IAGH;;OAEG;;;;;;IAGH;;;OAGG;;;;;;IAGH;;;;;OAKG;;IAMH;;;;;;;;;OASG;;IAMH;;;OAGG;;IAMH;;;;OAIG;;IAQH;;;OAGG;;IAQH;;OAEG;;;;;;;;;;;;;;;;;IAMH;;;OAGG;;IAQH;;OAEG;;IAMH;;;OAGG;;IAQH;;;OAGG;;IAQH;;;;OAIG;;cAC6B,MAAM;iBAAW,MAAM;eAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;cAAvD,MAAM;iBAAW,MAAM;eAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;cAAvD,MAAM;iBAAW,MAAM;eAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;IAKvF,sEAAsE;;IAQtE;;;;;OAKG;;IAMH;;;OAGG;;IAMH;;;OAGG;;IAMH;;OAEG;;eAEM,MAAM;iBACJ,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC;kBACQ,MAAM;oBACJ,MAAM;;eAVX,MAAM;iBACJ,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC;kBACQ,MAAM;oBACJ,MAAM;;eAVX,MAAM;iBACJ,KAAK,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YACvB,SAAS,EAAE,IAAI,CAAC;YAChB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC1B,CAAC;kBACQ,MAAM;oBACJ,MAAM;;EAKpB,CAAC"}