@indexnetwork/protocol 1.25.2-rc.210.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 (269) 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.map +1 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/integration/integration.tools.d.ts.map +1 -1
  42. package/dist/integration/integration.tools.js.map +1 -1
  43. package/dist/intent/intent.clarifier.d.ts.map +1 -1
  44. package/dist/intent/intent.clarifier.js.map +1 -1
  45. package/dist/intent/intent.graph.d.ts.map +1 -1
  46. package/dist/intent/intent.graph.js.map +1 -1
  47. package/dist/intent/intent.indexer.d.ts.map +1 -1
  48. package/dist/intent/intent.indexer.js.map +1 -1
  49. package/dist/intent/intent.inferrer.d.ts.map +1 -1
  50. package/dist/intent/intent.inferrer.js.map +1 -1
  51. package/dist/intent/intent.reconciler.d.ts.map +1 -1
  52. package/dist/intent/intent.reconciler.js.map +1 -1
  53. package/dist/intent/intent.state.d.ts.map +1 -1
  54. package/dist/intent/intent.state.js.map +1 -1
  55. package/dist/intent/intent.tools.d.ts.map +1 -1
  56. package/dist/intent/intent.tools.js.map +1 -1
  57. package/dist/intent/intent.verifier.d.ts.map +1 -1
  58. package/dist/intent/intent.verifier.js.map +1 -1
  59. package/dist/maintenance/maintenance.graph.d.ts.map +1 -1
  60. package/dist/maintenance/maintenance.graph.js.map +1 -1
  61. package/dist/maintenance/maintenance.state.d.ts.map +1 -1
  62. package/dist/maintenance/maintenance.state.js.map +1 -1
  63. package/dist/mcp/elicitation.builder.d.ts.map +1 -1
  64. package/dist/mcp/elicitation.builder.js.map +1 -1
  65. package/dist/mcp/elicitation.dispatcher.d.ts.map +1 -1
  66. package/dist/mcp/elicitation.dispatcher.js.map +1 -1
  67. package/dist/mcp/mcp.server.d.ts.map +1 -1
  68. package/dist/mcp/mcp.server.js.map +1 -1
  69. package/dist/negotiation/insight.generator.d.ts.map +1 -1
  70. package/dist/negotiation/insight.generator.js.map +1 -1
  71. package/dist/negotiation/negotiation.agent.d.ts.map +1 -1
  72. package/dist/negotiation/negotiation.agent.js.map +1 -1
  73. package/dist/negotiation/negotiation.graph.d.ts.map +1 -1
  74. package/dist/negotiation/negotiation.graph.js.map +1 -1
  75. package/dist/negotiation/negotiation.state.d.ts.map +1 -1
  76. package/dist/negotiation/negotiation.state.js.map +1 -1
  77. package/dist/negotiation/negotiation.summarizer.d.ts.map +1 -1
  78. package/dist/negotiation/negotiation.summarizer.js.map +1 -1
  79. package/dist/negotiation/negotiation.tools.d.ts.map +1 -1
  80. package/dist/negotiation/negotiation.tools.js.map +1 -1
  81. package/dist/network/indexer/indexer.graph.d.ts.map +1 -1
  82. package/dist/network/indexer/indexer.graph.js.map +1 -1
  83. package/dist/network/indexer/indexer.state.d.ts.map +1 -1
  84. package/dist/network/indexer/indexer.state.js.map +1 -1
  85. package/dist/network/membership/membership.graph.d.ts.map +1 -1
  86. package/dist/network/membership/membership.graph.js.map +1 -1
  87. package/dist/network/membership/membership.state.d.ts.map +1 -1
  88. package/dist/network/membership/membership.state.js.map +1 -1
  89. package/dist/network/network.graph.d.ts.map +1 -1
  90. package/dist/network/network.graph.js.map +1 -1
  91. package/dist/network/network.state.d.ts.map +1 -1
  92. package/dist/network/network.state.js.map +1 -1
  93. package/dist/network/network.tools.d.ts.map +1 -1
  94. package/dist/network/network.tools.js.map +1 -1
  95. package/dist/opportunity/delivery-card.cache.d.ts.map +1 -1
  96. package/dist/opportunity/delivery-card.cache.js.map +1 -1
  97. package/dist/opportunity/discovery-question.helper.d.ts.map +1 -1
  98. package/dist/opportunity/discovery-question.helper.js.map +1 -1
  99. package/dist/opportunity/feed/feed.categorizer.d.ts.map +1 -1
  100. package/dist/opportunity/feed/feed.categorizer.js.map +1 -1
  101. package/dist/opportunity/feed/feed.graph.d.ts.map +1 -1
  102. package/dist/opportunity/feed/feed.graph.js.map +1 -1
  103. package/dist/opportunity/feed/feed.health.d.ts.map +1 -1
  104. package/dist/opportunity/feed/feed.health.js.map +1 -1
  105. package/dist/opportunity/feed/feed.state.d.ts.map +1 -1
  106. package/dist/opportunity/feed/feed.state.js.map +1 -1
  107. package/dist/opportunity/negotiation-context.loader.d.ts.map +1 -1
  108. package/dist/opportunity/negotiation-context.loader.js.map +1 -1
  109. package/dist/opportunity/negotiation-summary.builder.d.ts.map +1 -1
  110. package/dist/opportunity/negotiation-summary.builder.js.map +1 -1
  111. package/dist/opportunity/opportunity.discover.d.ts.map +1 -1
  112. package/dist/opportunity/opportunity.discover.js.map +1 -1
  113. package/dist/opportunity/opportunity.enricher.d.ts.map +1 -1
  114. package/dist/opportunity/opportunity.enricher.js.map +1 -1
  115. package/dist/opportunity/opportunity.evaluator.d.ts.map +1 -1
  116. package/dist/opportunity/opportunity.evaluator.js.map +1 -1
  117. package/dist/opportunity/opportunity.graph.d.ts.map +1 -1
  118. package/dist/opportunity/opportunity.graph.js.map +1 -1
  119. package/dist/opportunity/opportunity.introducer.d.ts.map +1 -1
  120. package/dist/opportunity/opportunity.introducer.js.map +1 -1
  121. package/dist/opportunity/opportunity.labels.d.ts.map +1 -1
  122. package/dist/opportunity/opportunity.labels.js.map +1 -1
  123. package/dist/opportunity/opportunity.pending-questions.d.ts.map +1 -1
  124. package/dist/opportunity/opportunity.pending-questions.js.map +1 -1
  125. package/dist/opportunity/opportunity.persist.d.ts.map +1 -1
  126. package/dist/opportunity/opportunity.persist.js.map +1 -1
  127. package/dist/opportunity/opportunity.presentation.d.ts.map +1 -1
  128. package/dist/opportunity/opportunity.presentation.js.map +1 -1
  129. package/dist/opportunity/opportunity.presenter.d.ts.map +1 -1
  130. package/dist/opportunity/opportunity.presenter.js.map +1 -1
  131. package/dist/opportunity/opportunity.state.d.ts.map +1 -1
  132. package/dist/opportunity/opportunity.state.js.map +1 -1
  133. package/dist/opportunity/opportunity.tools.d.ts.map +1 -1
  134. package/dist/opportunity/opportunity.tools.js.map +1 -1
  135. package/dist/opportunity/opportunity.utils.d.ts.map +1 -1
  136. package/dist/opportunity/opportunity.utils.js.map +1 -1
  137. package/dist/opportunity/question.generator.d.ts.map +1 -1
  138. package/dist/opportunity/question.generator.js.map +1 -1
  139. package/dist/opportunity/question.prompt.d.ts.map +1 -1
  140. package/dist/opportunity/question.prompt.js.map +1 -1
  141. package/dist/premise/premise.analyzer.d.ts.map +1 -1
  142. package/dist/premise/premise.analyzer.js.map +1 -1
  143. package/dist/premise/premise.decomposer.d.ts.map +1 -1
  144. package/dist/premise/premise.decomposer.js.map +1 -1
  145. package/dist/premise/premise.graph.d.ts.map +1 -1
  146. package/dist/premise/premise.graph.js.map +1 -1
  147. package/dist/premise/premise.indexer.d.ts.map +1 -1
  148. package/dist/premise/premise.indexer.js.map +1 -1
  149. package/dist/premise/premise.state.d.ts.map +1 -1
  150. package/dist/premise/premise.state.js.map +1 -1
  151. package/dist/premise/premise.tools.d.ts.map +1 -1
  152. package/dist/premise/premise.tools.js.map +1 -1
  153. package/dist/profile/profile.enricher.d.ts.map +1 -1
  154. package/dist/profile/profile.enricher.js.map +1 -1
  155. package/dist/profile/profile.generator.d.ts.map +1 -1
  156. package/dist/profile/profile.generator.js.map +1 -1
  157. package/dist/profile/profile.graph.d.ts.map +1 -1
  158. package/dist/profile/profile.graph.js.map +1 -1
  159. package/dist/profile/profile.state.d.ts.map +1 -1
  160. package/dist/profile/profile.state.js.map +1 -1
  161. package/dist/profile/profile.tools.d.ts.map +1 -1
  162. package/dist/profile/profile.tools.js.map +1 -1
  163. package/dist/questioner/questioner.agent.d.ts.map +1 -1
  164. package/dist/questioner/questioner.agent.js.map +1 -1
  165. package/dist/questioner/questioner.presets.d.ts.map +1 -1
  166. package/dist/questioner/questioner.presets.js.map +1 -1
  167. package/dist/questioner/questioner.types.d.ts.map +1 -1
  168. package/dist/questioner/questioner.types.js.map +1 -1
  169. package/dist/shared/agent/model-signal.d.ts.map +1 -1
  170. package/dist/shared/agent/model-signal.js.map +1 -1
  171. package/dist/shared/agent/model.config.d.ts.map +1 -1
  172. package/dist/shared/agent/model.config.js.map +1 -1
  173. package/dist/shared/agent/response.streamer.d.ts.map +1 -1
  174. package/dist/shared/agent/response.streamer.js.map +1 -1
  175. package/dist/shared/agent/tests/llm-assert.d.ts.map +1 -1
  176. package/dist/shared/agent/tests/llm-assert.js.map +1 -1
  177. package/dist/shared/agent/tool.factory.d.ts.map +1 -1
  178. package/dist/shared/agent/tool.factory.js.map +1 -1
  179. package/dist/shared/agent/tool.helpers.d.ts.map +1 -1
  180. package/dist/shared/agent/tool.helpers.js.map +1 -1
  181. package/dist/shared/agent/tool.registry.d.ts.map +1 -1
  182. package/dist/shared/agent/tool.registry.js.map +1 -1
  183. package/dist/shared/agent/tool.runtime.d.ts.map +1 -1
  184. package/dist/shared/agent/tool.runtime.js.map +1 -1
  185. package/dist/shared/agent/utility.tools.d.ts.map +1 -1
  186. package/dist/shared/agent/utility.tools.js.map +1 -1
  187. package/dist/shared/hyde/hyde.generator.d.ts.map +1 -1
  188. package/dist/shared/hyde/hyde.generator.js.map +1 -1
  189. package/dist/shared/hyde/hyde.graph.d.ts.map +1 -1
  190. package/dist/shared/hyde/hyde.graph.js.map +1 -1
  191. package/dist/shared/hyde/hyde.state.d.ts.map +1 -1
  192. package/dist/shared/hyde/hyde.state.js.map +1 -1
  193. package/dist/shared/hyde/hyde.strategies.d.ts.map +1 -1
  194. package/dist/shared/hyde/hyde.strategies.js.map +1 -1
  195. package/dist/shared/hyde/lens.inferrer.d.ts.map +1 -1
  196. package/dist/shared/hyde/lens.inferrer.js.map +1 -1
  197. package/dist/shared/interfaces/agent-dispatcher.interface.d.ts.map +1 -1
  198. package/dist/shared/interfaces/agent-dispatcher.interface.js.map +1 -1
  199. package/dist/shared/interfaces/agent.interface.d.ts.map +1 -1
  200. package/dist/shared/interfaces/agent.interface.js.map +1 -1
  201. package/dist/shared/interfaces/auth.interface.d.ts.map +1 -1
  202. package/dist/shared/interfaces/auth.interface.js.map +1 -1
  203. package/dist/shared/interfaces/cache.interface.d.ts.map +1 -1
  204. package/dist/shared/interfaces/cache.interface.js.map +1 -1
  205. package/dist/shared/interfaces/chat-message-writer.interface.d.ts.map +1 -1
  206. package/dist/shared/interfaces/chat-message-writer.interface.js.map +1 -1
  207. package/dist/shared/interfaces/chat-session.interface.d.ts.map +1 -1
  208. package/dist/shared/interfaces/chat-session.interface.js.map +1 -1
  209. package/dist/shared/interfaces/chat-summary.interface.d.ts.map +1 -1
  210. package/dist/shared/interfaces/chat-summary.interface.js.map +1 -1
  211. package/dist/shared/interfaces/connect-link.interface.d.ts.map +1 -1
  212. package/dist/shared/interfaces/connect-link.interface.js.map +1 -1
  213. package/dist/shared/interfaces/contact.interface.d.ts.map +1 -1
  214. package/dist/shared/interfaces/contact.interface.js.map +1 -1
  215. package/dist/shared/interfaces/database.interface.d.ts.map +1 -1
  216. package/dist/shared/interfaces/database.interface.js.map +1 -1
  217. package/dist/shared/interfaces/delivery-ledger.interface.d.ts.map +1 -1
  218. package/dist/shared/interfaces/delivery-ledger.interface.js.map +1 -1
  219. package/dist/shared/interfaces/discovery-run.interface.d.ts.map +1 -1
  220. package/dist/shared/interfaces/discovery-run.interface.js.map +1 -1
  221. package/dist/shared/interfaces/embedder.interface.d.ts.map +1 -1
  222. package/dist/shared/interfaces/embedder.interface.js.map +1 -1
  223. package/dist/shared/interfaces/enrichment.interface.d.ts.map +1 -1
  224. package/dist/shared/interfaces/enrichment.interface.js.map +1 -1
  225. package/dist/shared/interfaces/integration.interface.d.ts.map +1 -1
  226. package/dist/shared/interfaces/integration.interface.js.map +1 -1
  227. package/dist/shared/interfaces/negotiation-events.interface.d.ts.map +1 -1
  228. package/dist/shared/interfaces/negotiation-events.interface.js.map +1 -1
  229. package/dist/shared/interfaces/negotiation-summary.interface.d.ts.map +1 -1
  230. package/dist/shared/interfaces/negotiation-summary.interface.js.map +1 -1
  231. package/dist/shared/interfaces/question-generator.interface.d.ts.map +1 -1
  232. package/dist/shared/interfaces/question-generator.interface.js.map +1 -1
  233. package/dist/shared/interfaces/questioner.interface.d.ts.map +1 -1
  234. package/dist/shared/interfaces/questioner.interface.js.map +1 -1
  235. package/dist/shared/interfaces/queue.interface.d.ts.map +1 -1
  236. package/dist/shared/interfaces/queue.interface.js.map +1 -1
  237. package/dist/shared/interfaces/scraper.interface.d.ts.map +1 -1
  238. package/dist/shared/interfaces/scraper.interface.js.map +1 -1
  239. package/dist/shared/interfaces/storage.interface.d.ts.map +1 -1
  240. package/dist/shared/interfaces/storage.interface.js.map +1 -1
  241. package/dist/shared/network/metadata.renderer.d.ts.map +1 -1
  242. package/dist/shared/network/metadata.renderer.js.map +1 -1
  243. package/dist/shared/observability/debug-meta.sanitizer.d.ts.map +1 -1
  244. package/dist/shared/observability/debug-meta.sanitizer.js.map +1 -1
  245. package/dist/shared/observability/log.d.ts.map +1 -1
  246. package/dist/shared/observability/log.js.map +1 -1
  247. package/dist/shared/observability/performance.d.ts.map +1 -1
  248. package/dist/shared/observability/performance.js.map +1 -1
  249. package/dist/shared/observability/protocol.logger.d.ts.map +1 -1
  250. package/dist/shared/observability/protocol.logger.js.map +1 -1
  251. package/dist/shared/observability/request-context.d.ts.map +1 -1
  252. package/dist/shared/observability/request-context.js.map +1 -1
  253. package/dist/shared/observability/trace.d.ts.map +1 -1
  254. package/dist/shared/observability/trace.js.map +1 -1
  255. package/dist/shared/schemas/chat-context.schema.d.ts.map +1 -1
  256. package/dist/shared/schemas/chat-context.schema.js.map +1 -1
  257. package/dist/shared/schemas/negotiation-digest.schema.d.ts.map +1 -1
  258. package/dist/shared/schemas/negotiation-digest.schema.js.map +1 -1
  259. package/dist/shared/schemas/pending-question.schema.d.ts.map +1 -1
  260. package/dist/shared/schemas/pending-question.schema.js.map +1 -1
  261. package/dist/shared/schemas/question.schema.d.ts.map +1 -1
  262. package/dist/shared/schemas/question.schema.js.map +1 -1
  263. package/dist/shared/ui/lucide.icon-catalog.d.ts.map +1 -1
  264. package/dist/shared/ui/lucide.icon-catalog.js.map +1 -1
  265. package/dist/shared/utils/social-label.d.ts.map +1 -1
  266. package/dist/shared/utils/social-label.js.map +1 -1
  267. package/dist/shared/utils/telegram-handle.d.ts.map +1 -1
  268. package/dist/shared/utils/telegram-handle.js.map +1 -1
  269. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../src/shared/observability/performance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AACjE,KAAK,aAAa,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAK3E,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,QAE/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,QAElE;AAED;;;GAGG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAc7E;AAED;;;GAGG;AAEH,wBAAgB,KAAK,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,KAAK,IAAI,CAWlG"}
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"/","sources":["shared/observability/performance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;AACjE,KAAK,aAAa,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAK3E,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,QAE/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,QAElE;AAED;;;GAGG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAc7E;AAED;;;GAGG;AAEH,wBAAgB,KAAK,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,KAAK,IAAI,CAWlG"}
@@ -1 +1 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../src/shared/observability/performance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,IAAI,QAAoC,CAAC;AACzC,IAAI,aAAwC,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,EAA8B;IAC9D,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAkC;IACjE,aAAa,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAI,IAAY,EAAE,EAAoB;IAC/D,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;QACrB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAC5C,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,8DAA8D;AAC9D,MAAM,UAAU,KAAK;IACnB,8DAA8D;IAC9D,OAAO,UAAU,OAAY,EAAE,WAAmB,EAAE,UAA8B;QAChF,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;QAClC,8DAA8D;QAC9D,UAAU,CAAC,KAAK,GAAG,UAAqB,GAAG,IAAW;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxC,MAAM,IAAI,GAAG,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"performance.js","sourceRoot":"/","sources":["shared/observability/performance.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,IAAI,QAAoC,CAAC;AACzC,IAAI,aAAwC,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,EAA8B;IAC9D,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAkC;IACjE,aAAa,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAI,IAAY,EAAE,EAAoB;IAC/D,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;QACrB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;YAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAC5C,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,8DAA8D;AAC9D,MAAM,UAAU,KAAK;IACnB,8DAA8D;IAC9D,OAAO,UAAU,OAAY,EAAE,WAAmB,EAAE,UAA8B;QAChF,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;QAClC,8DAA8D;QAC9D,UAAU,CAAC,KAAK,GAAG,UAAqB,GAAG,IAAW;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxC,MAAM,IAAI,GAAG,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Simple performance timing utilities for the protocol library.\n * Standalone — no external dependencies.\n */\n\ntype TimingCallback = (name: string, durationMs: number) => void;\ntype TimingWrapper = <T>(name: string, fn: () => Promise<T>) => Promise<T>;\n\nlet onTiming: TimingCallback | undefined;\nlet timingWrapper: TimingWrapper | undefined;\n\n/** Set a global callback for timing events (e.g. for aggregation/logging). */\nexport function setTimingCallback(cb: TimingCallback | undefined) {\n onTiming = cb;\n}\n\n/**\n * Set a global wrapper around timed operations.\n * Host applications can use this to attach protocol timings to their tracing backend\n * without coupling the protocol package to any observability vendor.\n */\nexport function setTimingWrapper(wrapper: TimingWrapper | undefined) {\n timingWrapper = wrapper;\n}\n\n/**\n * Wraps an async function with timing measurement.\n * Reports duration to the global timing callback if set.\n */\nexport async function timed<T>(name: string, fn: () => Promise<T>): Promise<T> {\n const run = async () => {\n const start = performance.now();\n try {\n const result = await fn();\n onTiming?.(name, performance.now() - start);\n return result;\n } catch (err) {\n onTiming?.(name, performance.now() - start);\n throw err;\n }\n };\n\n return timingWrapper ? timingWrapper(name, run) : run();\n}\n\n/**\n * Method decorator that wraps an async method with timing measurement.\n * Uses `ClassName.methodName` as the timing label.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function Timed(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (_target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n const original = descriptor.value;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n descriptor.value = function (this: any, ...args: any[]) {\n const className = this.constructor.name;\n const name = `${className}.${propertyKey}`;\n return timed(name, () => original.apply(this, args));\n };\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.logger.d.ts","sourceRoot":"","sources":["../../../src/shared/observability/protocol.logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE/D;AAED,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC,CA2BZ"}
1
+ {"version":3,"file":"protocol.logger.d.ts","sourceRoot":"/","sources":["shared/observability/protocol.logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE/D;AAED,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC,CA2BZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.logger.js","sourceRoot":"","sources":["../../../src/shared/observability/protocol.logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK/C,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AASD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAwB,EACxB,QAAgB,EAChB,MAA+B,EAC/B,EAAoB,EACpB,UAA0B,EAAE;IAE5B,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAA4B,CAAC;IAC1E,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,QAAQ,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAEpF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACtC,MAAM,OAAO,GAA4B;YACvC,UAAU;YACV,GAAG,OAAO;SACX,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,UAAU,QAAQ,SAAS,EAAE;YACxC,KAAK,EAAE,GAAG;YACV,UAAU;YACV,GAAG,OAAO;SACX,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"protocol.logger.js","sourceRoot":"/","sources":["shared/observability/protocol.logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK/C,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AASD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAwB,EACxB,QAAgB,EAChB,MAA+B,EAC/B,EAAoB,EACpB,UAA0B,EAAE;IAE5B,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAA4B,CAAC;IAC1E,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,QAAQ,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAEpF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACtC,MAAM,OAAO,GAA4B;YACvC,UAAU;YACV,GAAG,OAAO;SACX,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,MAAM,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,UAAU,QAAQ,SAAS,EAAE;YACxC,KAAK,EAAE,GAAG;YACV,UAAU;YACV,GAAG,OAAO;SACX,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC","sourcesContent":["/**\n * Protocol-layer logging: call-scoped inputs, outputs, and context for debugging.\n * Use protocolLogger('ComponentName') for the logger, then wrap calls with\n * withCallLogging. All protocol code should log inputs at call start and\n * outputs (or summary) + duration at end.\n */\n\nimport { log, sanitizeForLog } from \"./log.js\";\nimport type { LoggerWithSource } from \"./log.js\";\n\nexport type { LoggerWithSource };\n\n/** Create a protocol logger for a given source (e.g. \"ChatTools\", \"DiscoverNodes\"). */\nexport function protocolLogger(source: string): LoggerWithSource {\n return log.protocol.from(source);\n}\n\nexport interface CallLogOptions {\n /** Log full output on success (default: true). Set false for very large payloads. */\n logOutput?: boolean;\n /** Extra context to include in both start and end (e.g. userId, networkId). */\n context?: Record<string, unknown>;\n}\n\n/**\n * Wraps an async call with consistent logging: inputs at start, outputs + duration at end,\n * error + duration on failure. All payloads are sanitized (embeddings redacted).\n */\nexport async function withCallLogging<T>(\n logger: LoggerWithSource,\n callName: string,\n inputs: Record<string, unknown>,\n fn: () => Promise<T>,\n options: CallLogOptions = {}\n): Promise<T> {\n const { logOutput = true, context = {} } = options;\n const start = Date.now();\n const sanitizedInputs = sanitizeForLog(inputs) as Record<string, unknown>;\n logger.verbose(`[Call] ${callName} start`, { inputs: sanitizedInputs, ...context });\n\n try {\n const result = await fn();\n const durationMs = Date.now() - start;\n const outMeta: Record<string, unknown> = {\n durationMs,\n ...context,\n };\n if (logOutput) {\n outMeta.output = sanitizeForLog(result);\n }\n logger.verbose(`[Call] ${callName} end`, outMeta);\n return result;\n } catch (err) {\n const durationMs = Date.now() - start;\n logger.error(`[Call] ${callName} failed`, {\n error: err,\n durationMs,\n ...context,\n });\n throw err;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../../src/shared/observability/request-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,KAAK,EACD;IACE,IAAI,EAAE,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB;;;;;;OAMG;IACH,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,KACF,IAAI,CAAC;AAEV,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,mCAA0C,CAAC"}
1
+ {"version":3,"file":"request-context.d.ts","sourceRoot":"/","sources":["shared/observability/request-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,KAAK,EACD;IACE,IAAI,EAAE,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,WAAW,CAAC;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB;;;;;;OAMG;IACH,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,KACF,IAAI,CAAC;AAEV,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,mCAA0C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../../../src/shared/observability/request-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA0DhD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAkB,CAAC"}
1
+ {"version":3,"file":"request-context.js","sourceRoot":"/","sources":["shared/observability/request-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA0DhD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAkB,CAAC","sourcesContent":["import type { Opportunity } from \"../interfaces/database.interface.js\";\nimport { AsyncLocalStorage } from \"async_hooks\";\n\n/**\n * Callback for streaming trace / domain events from deep inside graph nodes\n * back to the caller (typically chat.agent's stream pipeline).\n *\n * Carries two flavors of event:\n * - Trace events (`graph_start | graph_end | agent_start | agent_end`) — used\n * by the chat TRACE panel to visualize what the agent is doing.\n * - Domain events (`opportunity_draft_ready`) — emitted by the orchestrator\n * branch of OpportunityGraph.negotiateNode so the frontend can render each\n * accepted draft card progressively as its negotiation resolves.\n *\n * Kept as a single emitter rather than splitting into two to minimize plumbing\n * through AsyncLocalStorage; the chat.agent relay branches on event.type.\n */\nexport type TraceEmitter = (\n event:\n | {\n type: \"graph_start\" | \"graph_end\" | \"agent_start\" | \"agent_end\";\n name: string;\n durationMs?: number;\n summary?: string;\n }\n | {\n type: \"opportunity_draft_ready\";\n opportunityId: string;\n opportunity: Opportunity;\n /**\n * Minimal counterparty data for rendering the inline card without a\n * second-round-trip user lookup. Populated from the negotiation\n * candidate's profile; avatar is intentionally omitted (the card\n * falls back to initials) since UserNegotiationContext doesn't\n * carry avatars.\n */\n counterparty: {\n userId: string;\n name?: string;\n };\n },\n) => void;\n\ninterface RequestContext {\n originUrl?: string;\n traceEmitter?: TraceEmitter;\n /**\n * Signal for cooperative cancellation — propagates the caller's AbortSignal\n * into long-running graph nodes (e.g. orchestrator negotiation fan-out) so\n * they can stop emitting events when the chat session closes.\n *\n * The orchestrator branch checks this before persisting status flips or\n * pushing `opportunity_draft_ready` events. In-flight negotiations are not\n * forcibly cancelled — they finish or time out naturally via their park\n * window — but their results are suppressed once the signal trips.\n */\n abortSignal?: AbortSignal;\n}\n\n/**\n * AsyncLocalStorage for propagating request-scoped context through the protocol layer.\n * The host application is responsible for calling `requestContext.run()` to set the context.\n */\nexport const requestContext = new AsyncLocalStorage<RequestContext>();\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../src/shared/observability/trace.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASlF;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASlF;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,GAC3C,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,KAAK,IAAI,CASnH;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,KAAK,IAAI,CASnH;AAED;;;;;;;;;GASG;AAEH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,KAAK,IAAI,CASnH"}
1
+ {"version":3,"file":"trace.d.ts","sourceRoot":"/","sources":["shared/observability/trace.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASlF;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASlF;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,GAC3C,OAAO,CAAC,CAAC,CAAC,CAeZ;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,KAAK,IAAI,CASnH;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,KAAK,IAAI,CASnH;AAED;;;;;;;;;GASG;AAEH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,KAAK,IAAI,CASnH"}
@@ -1 +1 @@
1
- {"version":3,"file":"trace.js","sourceRoot":"","sources":["../../../src/shared/observability/trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace.js","sourceRoot":"/","sources":["shared/observability/trace.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Trace helpers — wrap async work in `graph_start`/`graph_end` or\n * `agent_start`/`agent_end` events automatically. Pulls the emitter from the\n * ambient request context so callers don't pass it manually.\n *\n * Available in two flavours:\n * - Functional: `traceGraph(name, fn)` / `traceAgent(name, fn)` — for inline\n * blocks. Returns whatever the wrapped function returns.\n * - Decorator: `@TraceGraph(name)` / `@TraceAgent(name)` — for class methods.\n * Uses the legacy decorator shape already adopted by `@Timed()`.\n */\nimport { requestContext } from \"./request-context.js\";\n\ntype Emitter = (event: Record<string, unknown>) => void;\n\nfunction getEmitter(): Emitter | undefined {\n const raw = requestContext.getStore()?.traceEmitter;\n // The ambient TraceEmitter is typed against a constrained event union; we\n // emit a broader shape here. Same wide-cast pattern used elsewhere\n // (see opportunity.graph.ts, opportunity.discover.ts).\n return raw as unknown as Emitter | undefined;\n}\n\n/**\n * Wrap an async function so it emits `graph_start` / `graph_end` events around\n * its execution. `durationMs` is measured in wall time. If the wrapped\n * function throws, `graph_end` still fires before the error propagates.\n *\n * Use ONLY for actual LangGraph compiled state machines (Opportunity graph,\n * Negotiation graph, etc). For logical groupings of inline work, use\n * `tracePhase` — it has a distinct visual in the trace UI so users can tell\n * \"this is a graph\" from \"this is a phase\".\n */\nexport async function traceGraph<T>(name: string, fn: () => Promise<T>): Promise<T> {\n const emit = getEmitter();\n emit?.({ type: \"graph_start\", name });\n const start = Date.now();\n try {\n return await fn();\n } finally {\n emit?.({ type: \"graph_end\", name, durationMs: Date.now() - start });\n }\n}\n\n/**\n * Wrap an async function so it emits `phase_start` / `phase_end` events around\n * its execution. Phases are logical groupings of inline async work — they\n * share container semantics with graphs (they can host agents) but render\n * differently in the trace UI to make it clear they're NOT LangGraph state\n * machines.\n */\nexport async function tracePhase<T>(name: string, fn: () => Promise<T>): Promise<T> {\n const emit = getEmitter();\n emit?.({ type: \"phase_start\", name });\n const start = Date.now();\n try {\n return await fn();\n } finally {\n emit?.({ type: \"phase_end\", name, durationMs: Date.now() - start });\n }\n}\n\n/**\n * Wrap an async function so it emits `agent_start` / `agent_end` events. The\n * optional `summarize` callback produces a short string shown in the trace\n * panel; receives the wrapped function's resolved value.\n */\nexport async function traceAgent<T>(\n name: string,\n fn: () => Promise<T>,\n summarize?: (value: T) => string | undefined,\n): Promise<T> {\n const emit = getEmitter();\n emit?.({ type: \"agent_start\", name });\n const start = Date.now();\n let value: T;\n try {\n value = await fn();\n } catch (err) {\n emit?.({ type: \"agent_end\", name, durationMs: Date.now() - start });\n throw err;\n }\n const durationMs = Date.now() - start;\n const summary = summarize?.(value);\n emit?.({ type: \"agent_end\", name, durationMs, ...(summary ? { summary } : {}) });\n return value;\n}\n\n/**\n * Method decorator. Wraps the decorated async method in `traceGraph(name, ...)`.\n * Use on class methods that represent a logical \"graph\" (a sub-flow with\n * internal agent calls).\n *\n * @example\n * class RefinePhase {\n * @TraceGraph(\"Refine\")\n * async run() { ... }\n * }\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function TraceGraph(name: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (_target: any, _propertyKey: string, descriptor: PropertyDescriptor) {\n const original = descriptor.value;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n descriptor.value = function (this: any, ...args: any[]) {\n return traceGraph(name, () => original.apply(this, args));\n };\n };\n}\n\n/**\n * Method decorator. Wraps the decorated async method in `traceAgent(name, ...)`.\n * Use on class methods that represent a single agent step (one LLM call,\n * one summarization, etc).\n *\n * @example\n * class ChatSummary {\n * @TraceAgent(\"Chat summary\")\n * async run() { ... }\n * }\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function TraceAgent(name: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (_target: any, _propertyKey: string, descriptor: PropertyDescriptor) {\n const original = descriptor.value;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n descriptor.value = function (this: any, ...args: any[]) {\n return traceAgent(name, () => original.apply(this, args));\n };\n };\n}\n\n/**\n * Method decorator. Wraps the decorated async method in `tracePhase(name, ...)`.\n * Use for logical groupings of inline work that aren't LangGraph state machines.\n *\n * @example\n * class RefinePhase {\n * @TracePhase(\"Refine\")\n * async run() { ... }\n * }\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function TracePhase(name: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (_target: any, _propertyKey: string, descriptor: PropertyDescriptor) {\n const original = descriptor.value;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n descriptor.value = function (this: any, ...args: any[]) {\n return tracePhase(name, () => original.apply(this, args));\n };\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-context.schema.d.ts","sourceRoot":"","sources":["../../../src/shared/schemas/chat-context.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,uBAAuB;IAClC,4EAA4E;;IAE5E,wEAAwE;;IAExE,uDAAuD;;IAEvD,6EAA6E;;;;;;;;;;;;EAE7E,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"chat-context.schema.d.ts","sourceRoot":"/","sources":["shared/schemas/chat-context.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,uBAAuB;IAClC,4EAA4E;;IAE5E,wEAAwE;;IAExE,uDAAuD;;IAEvD,6EAA6E;;;;;;;;;;;;EAE7E,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-context.schema.js","sourceRoot":"","sources":["../../../src/shared/schemas/chat-context.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,4EAA4E;IAC5E,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACnC,wEAAwE;IACxE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,uDAAuD;IACvD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,6EAA6E;IAC7E,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC"}
1
+ {"version":3,"file":"chat-context.schema.js","sourceRoot":"/","sources":["shared/schemas/chat-context.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,4EAA4E;IAC5E,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACnC,wEAAwE;IACxE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,uDAAuD;IACvD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,6EAA6E;IAC7E,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC","sourcesContent":["/**\n * ChatContextDigest — distilled view of a chat session used as anti-duplication\n * input for the decision-question generator. Each field is bounded so the\n * digest stays compact even as sessions grow.\n */\nimport { z } from \"zod\";\n\n/** Per-entry character cap. Mirrors the summarizer prompt's \"≤140 chars\" rule. */\nconst ENTRY_MAX_CHARS = 140;\nconst entry = z.string().max(ENTRY_MAX_CHARS);\n\nexport const ChatContextDigestSchema = z.object({\n /** Facts the user volunteered (stage, location, role, timing, scope, …). */\n statedFacts: z.array(entry).max(20),\n /** Questions the assistant asked that the user has not yet answered. */\n openQuestions: z.array(entry).max(10),\n /** User pushback / negative signals on prior cards. */\n rejectionReasons: z.array(entry).max(10),\n /** Facts the assistant has already surfaced from prior negotiation turns. */\n surfacedFindings: z.array(entry).max(20),\n});\n\nexport type ChatContextDigest = z.infer<typeof ChatContextDigestSchema>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"negotiation-digest.schema.d.ts","sourceRoot":"","sources":["../../../src/shared/schemas/negotiation-digest.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,gCAAgC;IAC3C,0FAA0F;;IAE1F,gEAAgE;;IAEhE,uDAAuD;;IAEvD,qGAAqG;;IAErG;;;;OAIG;;IAEH,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9E,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
1
+ {"version":3,"file":"negotiation-digest.schema.d.ts","sourceRoot":"/","sources":["shared/schemas/negotiation-digest.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,gCAAgC;IAC3C,0FAA0F;;IAE1F,gEAAgE;;IAEhE,uDAAuD;;IAEvD,qGAAqG;;IAErG;;;;OAIG;;IAEH,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9E,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"negotiation-digest.schema.js","sourceRoot":"","sources":["../../../src/shared/schemas/negotiation-digest.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4EAA4E;AAC5E,gFAAgF;AAChF,+EAA+E;AAC/E,oBAAoB;AACpB,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CACvC,CAAC,CAAC,UAAU,CACV,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAC9B,CAAC;AAEJ,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,0FAA0F;IAC1F,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAAC;IACpC,gEAAgE;IAChE,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC;IAChC,uDAAuD;IACvD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,qGAAqG;IACrG,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChF;;;;OAIG;IACH,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC;IAC3B,8EAA8E;IAC9E,cAAc,EAAE,CAAC;SACd,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KAChD,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC"}
1
+ {"version":3,"file":"negotiation-digest.schema.js","sourceRoot":"/","sources":["shared/schemas/negotiation-digest.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4EAA4E;AAC5E,gFAAgF;AAChF,+EAA+E;AAC/E,oBAAoB;AACpB,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE,CACvC,CAAC,CAAC,UAAU,CACV,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAC9B,CAAC;AAEJ,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,0FAA0F;IAC1F,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAAC;IACpC,gEAAgE;IAChE,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC;IAChC,uDAAuD;IACvD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,qGAAqG;IACrG,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChF;;;;OAIG;IACH,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC;IAC3B,8EAA8E;IAC9E,cAAc,EAAE,CAAC;SACd,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7C,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KAChD,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC","sourcesContent":["/**\n * NegotiationDigest — compact, fixed-size structured summary of one discovery\n * negotiation. Produced by the negotiation summarizer; consumed by the\n * decision-question generator in place of raw negotiations.\n *\n * Goal: cap the question generator's per-negotiation prompt budget so that a\n * 10-candidate discovery turn produces a ~1.5 KB prompt instead of a 60+ KB\n * blob that stalls upstream LLM providers.\n */\nimport { z } from \"zod\";\n\n// LLMs ignore .max() length constraints often enough that strict validation\n// throws every call and forces a fallback. Slice strings down before validating\n// so JSON schema still advertises the limit but a small overshoot doesn't drop\n// the whole digest.\nconst clampedString = (maxLen: number) =>\n z.preprocess(\n (v) => (typeof v === \"string\" ? v.slice(0, maxLen) : v),\n z.string().min(1).max(maxLen),\n );\n\nexport const DiscoveryNegotiationDigestSchema = z.object({\n /** Abstract counterparty descriptor (no PII, no IDs). E.g. \"AI infra founder, Berlin\". */\n counterpartyHint: clampedString(120),\n /** The network the negotiation ran under (community prompt). */\n indexContext: clampedString(120),\n /** Whether the negotiation produced an opportunity. */\n outcomeRole: z.enum([\"opportunity\", \"no-opportunity\"]),\n /** When `outcomeRole === \"no-opportunity\"`, why the negotiation didn't yield one. Null otherwise. */\n outcomeReason: z.enum([\"turn_cap\", \"timeout\", \"rejected\", \"stalled\"]).nullable(),\n /**\n * One-sentence (≤180 chars) summary of the decisive moment or pattern in\n * this negotiation. Written for the downstream question generator — should\n * highlight a fact or tension that could inform a clarifying question.\n */\n keyTake: clampedString(180),\n /** Suggested roles agreed by both parties. Null when no agreement reached. */\n suggestedRoles: z\n .object({\n ownUser: z.enum([\"agent\", \"patient\", \"peer\"]),\n otherUser: z.enum([\"agent\", \"patient\", \"peer\"]),\n })\n .nullable(),\n});\n\nexport type DiscoveryNegotiationDigest = z.infer<typeof DiscoveryNegotiationDigestSchema>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"pending-question.schema.d.ts","sourceRoot":"","sources":["../../../src/shared/schemas/pending-question.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"pending-question.schema.d.ts","sourceRoot":"/","sources":["shared/schemas/pending-question.schema.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"pending-question.schema.js","sourceRoot":"","sources":["../../../src/shared/schemas/pending-question.schema.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"pending-question.schema.js","sourceRoot":"/","sources":["shared/schemas/pending-question.schema.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Lightweight projection of a persisted question, suitable for embedding\n * in tool results. Omits internal fields (actors, answer, status) that\n * are not needed by the chat agent or MCP client.\n */\nimport type { QuestionMode } from \"./question.schema.js\";\n\nexport interface PendingQuestionSummary {\n id: string;\n title: string;\n prompt: string;\n options: Array<{ label: string; description: string }>;\n multiSelect: boolean;\n mode: QuestionMode;\n sourceType: string;\n sourceId: string;\n createdAt: string;\n expiresAt?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"question.schema.d.ts","sourceRoot":"","sources":["../../../src/shared/schemas/question.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;IAC/B,+EAA+E;;IAE/E,iFAAiF;;;;;;;;EAEjF,CAAC;AAEH,eAAO,MAAM,cAAc;IACzB,+EAA+E;;IAE/E,yDAAyD;;IAEzD,6EAA6E;;QAX7E,+EAA+E;;QAE/E,iFAAiF;;;;;;;;;IAWjF,0EAA0E;;;;;;;;;;;;;;;;;;EAE1E,CAAC;AAEH,eAAO,MAAM,sBAAsB,oIAMjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;IAlBrC,+EAA+E;;IAE/E,yDAAyD;;IAEzD,6EAA6E;;QAX7E,+EAA+E;;QAE/E,iFAAiF;;;;;;;;;IAWjF,0EAA0E;;;;;;;;;;;;;;;;;;;;;;EAc1E,CAAC;AAEH,eAAO,MAAM,+BAA+B;;QAtB1C,+EAA+E;;QAE/E,yDAAyD;;QAEzD,6EAA6E;;YAX7E,+EAA+E;;YAE/E,iFAAiF;;;;;;;;;QAWjF,0EAA0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB1E,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAID,eAAO,MAAM,kBAAkB,8DAK7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;IAClC,iDAAiD;;IAEjD,uFAAuF;;IAEvF,mCAAmC;;IAEnC,kDAAkD;;IAElD,wCAAwC;;IAExC,yHAAyH;;;;;;;;;;;;;;;;EAEzH,CAAC;AAEH,eAAO,MAAM,mBAAmB;IAC9B,qCAAqC;;IAErC,gCAAgC;;IAEhC,iEAAiE;;;;;;;;;;EAEjE,CAAC;AAEH,eAAO,MAAM,oBAAoB;IAC/B,uCAAuC;;IAEvC,iEAAiE;;IAEjE,+BAA+B;;IAE/B,2DAA2D;;;;;;;;;;;;EAE3D,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"question.schema.d.ts","sourceRoot":"/","sources":["shared/schemas/question.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;IAC/B,+EAA+E;;IAE/E,iFAAiF;;;;;;;;EAEjF,CAAC;AAEH,eAAO,MAAM,cAAc;IACzB,+EAA+E;;IAE/E,yDAAyD;;IAEzD,6EAA6E;;QAX7E,+EAA+E;;QAE/E,iFAAiF;;;;;;;;;IAWjF,0EAA0E;;;;;;;;;;;;;;;;;;EAE1E,CAAC;AAEH,eAAO,MAAM,sBAAsB,oIAMjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;IAlBrC,+EAA+E;;IAE/E,yDAAyD;;IAEzD,6EAA6E;;QAX7E,+EAA+E;;QAE/E,iFAAiF;;;;;;;;;IAWjF,0EAA0E;;;;;;;;;;;;;;;;;;;;;;EAc1E,CAAC;AAEH,eAAO,MAAM,+BAA+B;;QAtB1C,+EAA+E;;QAE/E,yDAAyD;;QAEzD,6EAA6E;;YAX7E,+EAA+E;;YAE/E,iFAAiF;;;;;;;;;QAWjF,0EAA0E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB1E,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAID,eAAO,MAAM,kBAAkB,8DAK7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;IAClC,iDAAiD;;IAEjD,uFAAuF;;IAEvF,mCAAmC;;IAEnC,kDAAkD;;IAElD,wCAAwC;;IAExC,yHAAyH;;;;;;;;;;;;;;;;EAEzH,CAAC;AAEH,eAAO,MAAM,mBAAmB;IAC9B,qCAAqC;;IAErC,gCAAgC;;IAEhC,iEAAiE;;;;;;;;;;EAEjE,CAAC;AAEH,eAAO,MAAM,oBAAoB;IAC/B,uCAAuC;;IAEvC,iEAAiE;;IAEjE,+BAA+B;;IAE/B,2DAA2D;;;;;;;;;;;;EAE3D,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"question.schema.js","sourceRoot":"","sources":["../../../src/shared/schemas/question.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,+EAA+E;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,iFAAiF;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,+EAA+E;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,yDAAyD;IACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,6EAA6E;IAC7E,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,0EAA0E;IAC1E,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,eAAe;IACf,wBAAwB;IACxB,sBAAsB;IACtB,oBAAoB;IACpB,4BAA4B;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAc,CAAC,MAAM,CAAC;IAC9D,QAAQ,EAAE,sBAAsB;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACtD,CAAC,CAAC;AAkBH,gFAAgF;AAEhF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,WAAW;IACX,QAAQ;IACR,SAAS;IACT,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,iDAAiD;IACjD,IAAI,EAAE,kBAAkB;IACxB,uFAAuF;IACvF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,mCAAmC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,kDAAkD;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,wCAAwC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,yHAAyH;IACzH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,qCAAqC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,gCAAgC;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,iEAAiE;IACjE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,uCAAuC;IACvC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,iEAAiE;IACjE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,+BAA+B;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,2DAA2D;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"question.schema.js","sourceRoot":"/","sources":["shared/schemas/question.schema.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Question — public structured shape consumed by frontend renderers and MCP\n * elicitation dispatch. Mirrors the brainstorming AskUserQuestion skill so a\n * Question can be rendered identically across surfaces.\n *\n * `QuestionWithStrategy` extends the public shape with an internal `strategy`\n * tag used by the generator's guardrails (dedup/diversity) and recorded in\n * `debugMeta`. The tag is stripped before the public payload leaves the\n * generator — users never see it.\n */\nimport { z } from \"zod\";\n\nexport const QuestionOptionSchema = z.object({\n /** Display text. Suffix \" (Recommended)\" on the safest path; list it first. */\n label: z.string().min(1).max(120),\n /** Explains the consequence of choosing this option, not just its definition. */\n description: z.string().min(1).max(280),\n});\n\nexport const QuestionSchema = z.object({\n /** ≤12 chars. Noun of the decision domain — e.g. \"Stage\", \"Timing\", \"Role\". */\n title: z.string().min(1).max(12),\n /** ≤2 sentences, ≤400 chars. Ends in a question mark. */\n prompt: z.string().min(1).max(400),\n /** 2–4 options. No explicit \"Other\" — clients provide that automatically. */\n options: z.array(QuestionOptionSchema).min(2).max(4),\n /** True when options are not mutually exclusive (priorities, bundles). */\n multiSelect: z.boolean(),\n});\n\nexport const QuestionStrategySchema = z.enum([\n \"refine_intent\",\n \"surface_missing_detail\",\n \"open_adjacent_thread\",\n \"reflective_summary\",\n \"surface_emergent_knowledge\",\n]);\n\nexport const QuestionWithStrategySchema = QuestionSchema.extend({\n strategy: QuestionStrategySchema,\n});\n\nexport const QuestionGeneratorResponseSchema = z.object({\n questions: z.array(QuestionWithStrategySchema).max(3),\n});\n\nexport type QuestionOption = z.infer<typeof QuestionOptionSchema>;\nexport type Question = z.infer<typeof QuestionSchema>;\nexport type QuestionStrategy = z.infer<typeof QuestionStrategySchema>;\nexport type QuestionWithStrategy = z.infer<typeof QuestionWithStrategySchema>;\nexport type QuestionGeneratorResponse = z.infer<typeof QuestionGeneratorResponseSchema>;\n\n/**\n * Internal generator output: public questions plus a parallel strategies\n * array for debug-only consumption. The generator emits this; callers\n * forward `questions` to renderers and `strategies` to `debugMeta` only.\n */\nexport interface QuestionGenerationResult {\n questions: Question[];\n strategies: QuestionStrategy[];\n}\n\n// ─── Persistence types (opportunity-style composable jsonb) ──────────────────\n\nexport const QuestionModeSchema = z.enum([\n \"discovery\",\n \"intent\",\n \"profile\",\n \"negotiation\",\n]);\n\nexport const QuestionDetectionSchema = z.object({\n /** Which preset mode generated this question. */\n mode: QuestionModeSchema,\n /** Entity type that triggered generation (e.g. \"opportunity\", \"intent\", \"profile\"). */\n sourceType: z.string().min(1),\n /** ID of the triggering entity. */\n sourceId: z.string().min(1),\n /** Optional intent ID that was the root cause. */\n triggeredBy: z.string().optional(),\n /** ISO-8601 timestamp of generation. */\n timestamp: z.string().min(1),\n /** ID of the assistant message that triggered this question. Used by the frontend to anchor the question card inline. */\n messageId: z.string().optional(),\n});\n\nexport const QuestionActorSchema = z.object({\n /** The user this question is for. */\n userId: z.string().min(1),\n /** Optional network context. */\n networkId: z.string().optional(),\n /** Actor's role in the question — currently always \"subject\". */\n role: z.literal(\"subject\"),\n});\n\nexport const QuestionAnswerSchema = z.object({\n /** Option labels the user selected. */\n selectedOptions: z.array(z.string()),\n /** Free-text input when the user chose \"Other\" or elaborated. */\n freeText: z.string().optional(),\n /** User ID of the answerer. */\n answeredBy: z.string().min(1),\n /** ISO-8601 timestamp of when the answer was submitted. */\n answeredAt: z.string().min(1),\n});\n\nexport type QuestionMode = z.infer<typeof QuestionModeSchema>;\nexport type QuestionDetection = z.infer<typeof QuestionDetectionSchema>;\nexport type QuestionActor = z.infer<typeof QuestionActorSchema>;\nexport type QuestionAnswer = z.infer<typeof QuestionAnswerSchema>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"lucide.icon-catalog.d.ts","sourceRoot":"","sources":["../../../src/shared/ui/lucide.icon-catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kEAAkE;AAClE,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAErD,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAiE3C,CAAC;AAIX;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAKzE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAG9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAK,GAAG,MAAM,CAG3D"}
1
+ {"version":3,"file":"lucide.icon-catalog.d.ts","sourceRoot":"/","sources":["shared/ui/lucide.icon-catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kEAAkE;AAClE,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAErD,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAiE3C,CAAC;AAIX;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAKzE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAG9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAK,GAAG,MAAM,CAG3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"lucide.icon-catalog.js","sourceRoot":"","sources":["../../../src/shared/ui/lucide.icon-catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAErD,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,WAAW;IACX,WAAW;IACX,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,gBAAgB;IAChB,UAAU;IACV,WAAW;IACX,QAAQ;IACR,KAAK;IACL,WAAW;IACX,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,aAAa;IACb,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,aAAa;IACb,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;IACN,UAAU;IACV,MAAM;IACN,SAAS;IACT,WAAW;IACX,OAAO;IACP,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,aAAa;IACb,MAAM;IACN,YAAY;IACZ,WAAW;IACX,MAAM;IACN,KAAK;IACL,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,cAAc;CACN,CAAC;AAEX,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,uBAAuB,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA+B;IAC/D,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,yBAAyB,CAAC;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU;QAAE,OAAO,yBAAyB,CAAC;IAClD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA+B;IACpE,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAQ,GAAG,EAAE;IACjD,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"lucide.icon-catalog.js","sourceRoot":"/","sources":["shared/ui/lucide.icon-catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,yBAAyB,GAAG,WAAW,CAAC;AAErD,qEAAqE;AACrE,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,WAAW;IACX,WAAW;IACX,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,gBAAgB;IAChB,UAAU;IACV,WAAW;IACX,QAAQ;IACR,KAAK;IACL,WAAW;IACX,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,aAAa;IACb,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,aAAa;IACb,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,OAAO;IACP,MAAM;IACN,UAAU;IACV,MAAM;IACN,SAAS;IACT,WAAW;IACX,OAAO;IACP,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,aAAa;IACb,eAAe;IACf,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,aAAa;IACb,MAAM;IACN,YAAY;IACZ,WAAW;IACX,MAAM;IACN,KAAK;IACL,SAAS;IACT,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,cAAc;CACN,CAAC;AAEX,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,uBAAuB,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA+B;IAC/D,IAAI,IAAI,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,yBAAyB,CAAC;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU;QAAE,OAAO,yBAAyB,CAAC;IAClD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA+B;IACpE,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAQ,GAAG,EAAE;IACjD,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC","sourcesContent":["/**\n * Lucide icon catalog for home view section headings.\n * Icon names are kebab-case for use with lucide-react DynamicIcon (name prop).\n * Used by home graph LLM to pick an icon per dynamic section.\n */\n\n/** Default icon when LLM returns invalid or missing icon name. */\nexport const DEFAULT_HOME_SECTION_ICON = 'hourglass';\n\n/** Allowed icon names for home sections (subset of Lucide icons). */\nexport const HOME_SECTION_ICON_NAMES: readonly string[] = [\n 'hourglass',\n 'telescope',\n 'route',\n 'bot',\n 'user',\n 'users',\n 'message-circle',\n 'sparkles',\n 'handshake',\n 'target',\n 'zap',\n 'lightbulb',\n 'compass',\n 'globe',\n 'heart',\n 'star',\n 'trending-up',\n 'briefcase',\n 'rocket',\n 'search',\n 'filter',\n 'list',\n 'layout-grid',\n 'inbox',\n 'send',\n 'mail',\n 'calendar',\n 'clock',\n 'timer',\n 'flag',\n 'bookmark',\n 'link',\n 'share-2',\n 'thumbs-up',\n 'award',\n 'graduation-cap',\n 'building-2',\n 'network',\n 'git-branch',\n 'code',\n 'palette',\n 'pen-tool',\n 'folder',\n 'file-text',\n 'bar-chart',\n 'pie-chart',\n 'activity',\n 'arrow-right',\n 'chevron-right',\n 'circle-dot',\n 'circle-user',\n 'user-plus',\n 'user-check',\n 'users-round',\n 'hand',\n 'hand-metal',\n 'megaphone',\n 'bell',\n 'eye',\n 'eye-off',\n 'lock',\n 'unlock',\n 'shield',\n 'shield-check',\n] as const;\n\nconst ALLOWED_SET = new Set<string>(HOME_SECTION_ICON_NAMES);\n\n/**\n * Normalize icon name: lowercase, strip spaces (allow kebab-case from LLM).\n */\nexport function normalizeIconName(name: string | undefined | null): string {\n if (name == null || typeof name !== 'string') return DEFAULT_HOME_SECTION_ICON;\n const normalized = name.trim().toLowerCase().replace(/\\s+/g, '-');\n if (!normalized) return DEFAULT_HOME_SECTION_ICON;\n return normalized;\n}\n\n/**\n * Validate and return an allowed icon name; fallback to default if unknown.\n */\nexport function resolveHomeSectionIcon(name: string | undefined | null): string {\n const normalized = normalizeIconName(name);\n return ALLOWED_SET.has(normalized) ? normalized : DEFAULT_HOME_SECTION_ICON;\n}\n\n/**\n * Return a formatted list of icon names for LLM prompts (comma-separated, truncated if needed).\n */\nexport function getIconNamesForPrompt(maxItems = 60): string {\n const list = HOME_SECTION_ICON_NAMES.slice(0, maxItems);\n return list.join(', ');\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"social-label.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/social-label.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAwBnF"}
1
+ {"version":3,"file":"social-label.d.ts","sourceRoot":"/","sources":["shared/utils/social-label.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAwBnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"social-label.js","sourceRoot":"","sources":["../../../src/shared/utils/social-label.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/E,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAWD;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAqB;IAC9D,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,UAAU;gBACb,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;gBACzB,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;gBACxB,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAAE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"social-label.js","sourceRoot":"/","sources":["shared/utils/social-label.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,UAAU,CAAC;IACtD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/E,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAWD;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAqB;IAC9D,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,UAAU;gBACb,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;gBACzB,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;gBACxB,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC1B,MAAM;YACR,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,QAAQ;oBAAE,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { UserSocial } from '../interfaces/database.interface.js';\n\n/**\n * Infers a canonical social label from a URL or handle string.\n *\n * @param value - A URL or plain handle string.\n * @returns One of `'linkedin' | 'twitter' | 'github' | 'telegram' | 'custom'`.\n */\nexport function detectSocialLabel(value: string): string {\n const lower = value.toLowerCase();\n if (lower.includes('linkedin.com')) return 'linkedin';\n if (lower.includes('x.com') || lower.includes('twitter.com')) return 'twitter';\n if (lower.includes('github.com')) return 'github';\n if (lower.includes('t.me') || lower.includes('telegram.me')) return 'telegram';\n return 'custom';\n}\n\n/** Flat enrichment request shape produced from a UserSocial array. */\nexport interface EnrichmentRequest {\n linkedin?: string;\n twitter?: string;\n github?: string;\n telegram?: string;\n websites?: string[];\n}\n\n/**\n * Converts a `UserSocial[]` array into the flat shape expected by enrichment tools.\n * Custom-labelled entries are collected into `websites[]`.\n *\n * @param socials - Row array from `user_socials`.\n * @returns Flat enrichment request object (omits keys that have no value).\n */\nexport function socialsToEnrichmentRequest(socials: UserSocial[]): EnrichmentRequest {\n const result: EnrichmentRequest = {};\n for (const s of socials) {\n switch (s.label) {\n case 'linkedin':\n result.linkedin = s.value;\n break;\n case 'twitter':\n result.twitter = s.value;\n break;\n case 'github':\n result.github = s.value;\n break;\n case 'telegram':\n result.telegram = s.value;\n break;\n case 'custom': {\n if (!result.websites) result.websites = [];\n result.websites.push(s.value);\n break;\n }\n }\n }\n return result;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-handle.d.ts","sourceRoot":"","sources":["../../../src/shared/utils/telegram-handle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAUrF"}
1
+ {"version":3,"file":"telegram-handle.d.ts","sourceRoot":"/","sources":["shared/utils/telegram-handle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAUrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-handle.js","sourceRoot":"","sources":["../../../src/shared/utils/telegram-handle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAA8B;IACpE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,QAAQ,GAAG,GAAG;SACjB,IAAI,EAAE;SACN,OAAO,CAAC,2CAA2C,EAAE,EAAE,CAAC;SACxD,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAErB,OAAO,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"telegram-handle.js","sourceRoot":"/","sources":["shared/utils/telegram-handle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAA8B;IACpE,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,QAAQ,GAAG,GAAG;SACjB,IAAI,EAAE;SACN,OAAO,CAAC,2CAA2C,EAAE,EAAE,CAAC;SACxD,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAErB,OAAO,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC","sourcesContent":["/**\n * Normalize a raw Telegram social value into a bare handle.\n * Trims surrounding whitespace, strips URL prefixes (t.me, telegram.me),\n * strips @ prefix, and strips query/hash/path suffixes.\n * Returns null if the result is not a valid Telegram handle (5-32 alphanumeric/underscore chars).\n */\nexport function normalizeTelegramHandle(raw: string | null | undefined): string | null {\n if (!raw) return null;\n\n const stripped = raw\n .trim()\n .replace(/^(?:https?:\\/\\/)?(?:t\\.me|telegram\\.me)\\//, '')\n .replace(/^@/, '')\n .split(/[/?#]/)[0];\n\n return stripped && /^[A-Za-z0-9_]{5,32}$/.test(stripped) ? stripped : null;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indexnetwork/protocol",
3
- "version": "1.25.2-rc.210.1",
3
+ "version": "1.25.3-rc.211.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",