@indexnetwork/protocol 6.12.1-rc.404.1 → 6.13.22-rc.405.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.
- package/CHANGELOG.md +240 -0
- package/IMPLEMENTATION.md +20 -0
- package/STABILITY.md +4 -0
- package/dist/agent/agent.tools.d.ts +11 -3
- package/dist/agent/agent.tools.js +11 -301
- package/dist/capabilities/communities.facade.d.ts +13 -0
- package/dist/capabilities/communities.facade.js +12 -0
- package/dist/capabilities/communities.tools.port.d.ts +5 -0
- package/dist/capabilities/communities.tools.port.js +1 -0
- package/dist/capabilities/contacts.facade.d.ts +9 -0
- package/dist/capabilities/contacts.facade.js +8 -0
- package/dist/capabilities/contacts.tools.port.d.ts +9 -0
- package/dist/capabilities/contacts.tools.port.js +1 -0
- package/dist/capabilities/integrations.facade.d.ts +8 -0
- package/dist/capabilities/integrations.facade.js +7 -0
- package/dist/capabilities/integrations.tools.port.d.ts +9 -0
- package/dist/capabilities/integrations.tools.port.js +1 -0
- package/dist/capabilities/interaction-composition.facade.d.ts +10 -0
- package/dist/capabilities/interaction-composition.facade.js +9 -0
- package/dist/capabilities/negotiation.discovery.facade.d.ts +9 -0
- package/dist/capabilities/negotiation.discovery.facade.js +7 -0
- package/dist/capabilities/negotiation.facade.d.ts +23 -0
- package/dist/capabilities/negotiation.facade.js +17 -0
- package/dist/capabilities/negotiation.memory.facade.d.ts +6 -0
- package/dist/capabilities/negotiation.memory.facade.js +5 -0
- package/dist/capabilities/negotiation.questions.facade.d.ts +6 -0
- package/dist/capabilities/negotiation.questions.facade.js +5 -0
- package/dist/capabilities/negotiation.state.facade.d.ts +5 -0
- package/dist/capabilities/negotiation.state.facade.js +1 -0
- package/dist/capabilities/negotiation.summary.facade.d.ts +5 -0
- package/dist/capabilities/negotiation.summary.facade.js +5 -0
- package/dist/capabilities/negotiation.tools.port.d.ts +5 -0
- package/dist/capabilities/negotiation.tools.port.js +1 -0
- package/dist/capabilities/opportunities.facade.d.ts +50 -0
- package/dist/capabilities/opportunities.facade.js +50 -0
- package/dist/capabilities/opportunities.safety.facade.d.ts +2 -0
- package/dist/capabilities/opportunities.safety.facade.js +2 -0
- package/dist/capabilities/opportunities.tools.port.d.ts +5 -0
- package/dist/capabilities/opportunities.tools.port.js +1 -0
- package/dist/capabilities/participant-agents.debug.facade.d.ts +2 -0
- package/dist/capabilities/participant-agents.debug.facade.js +1 -0
- package/dist/capabilities/participant-agents.facade.d.ts +35 -0
- package/dist/capabilities/participant-agents.facade.js +35 -0
- package/dist/capabilities/participant-agents.tools.facade.d.ts +8 -0
- package/dist/capabilities/participant-agents.tools.facade.js +8 -0
- package/dist/capabilities/participant-agents.tools.port.d.ts +9 -0
- package/dist/capabilities/participant-agents.tools.port.js +1 -0
- package/dist/capabilities/participant-context.facade.d.ts +13 -0
- package/dist/capabilities/participant-context.facade.js +14 -0
- package/dist/capabilities/participant-context.tools.port.d.ts +9 -0
- package/dist/capabilities/participant-context.tools.port.js +1 -0
- package/dist/capabilities/questions.enqueue.facade.d.ts +5 -0
- package/dist/capabilities/questions.enqueue.facade.js +1 -0
- package/dist/capabilities/questions.facade.d.ts +8 -0
- package/dist/capabilities/questions.facade.js +7 -0
- package/dist/capabilities/questions.runtime.facade.d.ts +5 -0
- package/dist/capabilities/questions.runtime.facade.js +5 -0
- package/dist/capabilities/questions.tools.port.d.ts +5 -0
- package/dist/capabilities/questions.tools.port.js +1 -0
- package/dist/capabilities/signals.facade.d.ts +16 -0
- package/dist/capabilities/signals.facade.js +14 -0
- package/dist/capabilities/signals.indexing.facade.d.ts +12 -0
- package/dist/capabilities/signals.indexing.facade.js +11 -0
- package/dist/capabilities/signals.tools.port.d.ts +5 -0
- package/dist/capabilities/signals.tools.port.js +1 -0
- package/dist/chat/chat-streaming.types.d.ts +0 -1
- package/dist/chat/chat-streaming.types.js +1 -2
- package/dist/chat/chat.agent.d.ts +0 -1
- package/dist/chat/chat.agent.js +0 -1
- package/dist/chat/chat.graph.d.ts +0 -1
- package/dist/chat/chat.graph.js +0 -1
- package/dist/chat/chat.interrupt.classifier.d.ts +0 -1
- package/dist/chat/chat.interrupt.classifier.js +0 -1
- package/dist/chat/chat.persona.d.ts +0 -1
- package/dist/chat/chat.persona.js +0 -1
- package/dist/chat/chat.prompt.d.ts +0 -1
- package/dist/chat/chat.prompt.js +0 -1
- package/dist/chat/chat.prompt.modules.d.ts +0 -1
- package/dist/chat/chat.prompt.modules.js +0 -1
- package/dist/chat/chat.question-dedup.d.ts +0 -1
- package/dist/chat/chat.question-dedup.js +0 -1
- package/dist/chat/chat.state.d.ts +0 -1
- package/dist/chat/chat.state.js +0 -1
- package/dist/chat/chat.streamer.d.ts +0 -1
- package/dist/chat/chat.streamer.js +0 -1
- package/dist/chat/chat.suggester.d.ts +0 -1
- package/dist/chat/chat.suggester.js +0 -1
- package/dist/chat/chat.summarizer.d.ts +0 -1
- package/dist/chat/chat.summarizer.js +0 -1
- package/dist/chat/chat.title.generator.d.ts +0 -1
- package/dist/chat/chat.title.generator.js +0 -1
- package/dist/chat/chat.tools.d.ts +0 -1
- package/dist/chat/chat.tools.js +0 -1
- package/dist/chat/chat.utils.d.ts +0 -1
- package/dist/chat/chat.utils.js +0 -1
- package/dist/chat/negotiator.persona.d.ts +0 -1
- package/dist/chat/negotiator.persona.js +0 -1
- package/dist/chat/negotiator.prompt.d.ts +1 -2
- package/dist/chat/negotiator.prompt.js +1 -2
- package/dist/chat/negotiator.tools.d.ts +0 -1
- package/dist/chat/negotiator.tools.js +0 -1
- package/dist/chat/onboarding.persona.d.ts +0 -1
- package/dist/chat/onboarding.persona.js +0 -1
- package/dist/chat/onboarding.prompt.d.ts +0 -1
- package/dist/chat/onboarding.prompt.js +0 -1
- package/dist/chat/reporter.action.contracts.d.ts +36 -0
- package/dist/chat/reporter.action.contracts.js +1 -0
- package/dist/chat/reporter.action.tools.d.ts +2 -37
- package/dist/chat/reporter.action.tools.js +0 -1
- package/dist/chat/reporter.persona.d.ts +0 -1
- package/dist/chat/reporter.persona.js +0 -1
- package/dist/chat/reporter.prompt.d.ts +0 -1
- package/dist/chat/reporter.prompt.js +0 -1
- package/dist/chat/signal.persona.d.ts +0 -1
- package/dist/chat/signal.persona.js +0 -1
- package/dist/chat/signal.prompt.d.ts +0 -1
- package/dist/chat/signal.prompt.js +0 -1
- package/dist/communities/application/index.d.ts +45 -0
- package/dist/communities/application/index.js +50 -0
- package/dist/communities/application/indexer.graph.d.ts +446 -0
- package/dist/communities/application/indexer.graph.js +420 -0
- package/dist/communities/application/indexer.state.d.ts +172 -0
- package/dist/communities/application/indexer.state.js +116 -0
- package/dist/communities/application/membership.graph.d.ts +270 -0
- package/dist/communities/application/membership.graph.js +229 -0
- package/dist/communities/application/network.graph.d.ts +648 -0
- package/dist/communities/application/network.graph.js +303 -0
- package/dist/communities/application/network.recommender.d.ts +44 -0
- package/dist/communities/application/network.recommender.js +113 -0
- package/dist/communities/application/network.tools.d.ts +35 -0
- package/dist/communities/application/network.tools.js +578 -0
- package/dist/communities/domain/index.d.ts +29 -0
- package/dist/communities/domain/index.js +31 -0
- package/dist/communities/domain/membership.state.d.ts +87 -0
- package/dist/communities/domain/membership.state.js +53 -0
- package/dist/communities/domain/network.state.d.ts +192 -0
- package/dist/communities/domain/network.state.js +66 -0
- package/dist/communities/index.d.ts +14 -0
- package/dist/communities/index.js +14 -0
- package/dist/communities/ports/index.d.ts +25 -0
- package/dist/communities/ports/index.js +27 -0
- package/dist/communities/public/index.d.ts +30 -0
- package/dist/communities/public/index.js +33 -0
- package/dist/contact/contact.inviter.d.ts +7 -44
- package/dist/contact/contact.inviter.js +6 -59
- package/dist/contact/contact.tools.d.ts +7 -5
- package/dist/contact/contact.tools.js +7 -177
- package/dist/contacts/application/contact.inviter.d.ts +49 -0
- package/dist/contacts/application/contact.inviter.js +64 -0
- package/dist/contacts/application/contact.tools.d.ts +20 -0
- package/dist/contacts/application/contact.tools.js +191 -0
- package/dist/contacts/application/index.d.ts +22 -0
- package/dist/contacts/application/index.js +21 -0
- package/dist/contacts/domain/contact.types.d.ts +51 -0
- package/dist/contacts/domain/contact.types.js +10 -0
- package/dist/contacts/domain/index.d.ts +18 -0
- package/dist/contacts/domain/index.js +1 -0
- package/dist/contacts/index.d.ts +24 -0
- package/dist/contacts/index.js +24 -0
- package/dist/contacts/ports/contact.repository.port.d.ts +28 -0
- package/dist/contacts/ports/contact.repository.port.js +14 -0
- package/dist/contacts/ports/contact.tools.port.d.ts +26 -0
- package/dist/contacts/ports/contact.tools.port.js +21 -0
- package/dist/contacts/ports/index.d.ts +22 -0
- package/dist/contacts/ports/index.js +21 -0
- package/dist/contacts/public/index.d.ts +36 -0
- package/dist/contacts/public/index.js +33 -0
- package/dist/context/context.generator.d.ts +0 -1
- package/dist/context/context.generator.js +0 -1
- package/dist/enrichment/enrichment.enricher.d.ts +0 -1
- package/dist/enrichment/enrichment.enricher.js +0 -1
- package/dist/enrichment/enrichment.generator.d.ts +0 -1
- package/dist/enrichment/enrichment.generator.js +0 -1
- package/dist/enrichment/enrichment.graph.d.ts +6 -7
- package/dist/enrichment/enrichment.graph.js +0 -1
- package/dist/enrichment/enrichment.state.d.ts +2 -3
- package/dist/enrichment/enrichment.state.js +0 -1
- package/dist/enrichment/enrichment.tools.d.ts +3 -3
- package/dist/enrichment/enrichment.tools.js +0 -1
- package/dist/index.d.ts +106 -91
- package/dist/index.js +79 -71
- package/dist/integration/integration.tools.d.ts +6 -10
- package/dist/integration/integration.tools.js +6 -82
- package/dist/integrations/application/index.d.ts +14 -0
- package/dist/integrations/application/index.js +14 -0
- package/dist/integrations/application/integration.tools.d.ts +27 -0
- package/dist/integrations/application/integration.tools.js +98 -0
- package/dist/integrations/domain/index.d.ts +18 -0
- package/dist/integrations/domain/index.js +1 -0
- package/dist/integrations/domain/integration.types.d.ts +53 -0
- package/dist/integrations/domain/integration.types.js +11 -0
- package/dist/integrations/index.d.ts +27 -0
- package/dist/integrations/index.js +27 -0
- package/dist/integrations/ports/index.d.ts +28 -0
- package/dist/integrations/ports/index.js +26 -0
- package/dist/integrations/ports/integration.adapter.port.d.ts +62 -0
- package/dist/integrations/ports/integration.adapter.port.js +15 -0
- package/dist/integrations/ports/integration.importer.port.d.ts +31 -0
- package/dist/integrations/ports/integration.importer.port.js +15 -0
- package/dist/integrations/ports/integration.tools.port.d.ts +28 -0
- package/dist/integrations/ports/integration.tools.port.js +21 -0
- package/dist/integrations/public/index.d.ts +37 -0
- package/dist/integrations/public/index.js +34 -0
- package/dist/intent/intent.clarifier.d.ts +3 -52
- package/dist/intent/intent.clarifier.js +2 -202
- package/dist/intent/intent.graph.d.ts +3 -551
- package/dist/intent/intent.graph.js +3 -937
- package/dist/intent/intent.indexer.d.ts +2 -83
- package/dist/intent/intent.indexer.js +2 -171
- package/dist/intent/intent.inferrer.d.ts +2 -95
- package/dist/intent/intent.inferrer.js +2 -234
- package/dist/intent/intent.reconciler.d.ts +2 -106
- package/dist/intent/intent.reconciler.js +2 -187
- package/dist/intent/intent.specificity.d.ts +2 -3
- package/dist/intent/intent.specificity.js +2 -3
- package/dist/intent/intent.state.d.ts +8 -229
- package/dist/intent/intent.state.js +8 -189
- package/dist/intent/intent.tools.d.ts +6 -24
- package/dist/intent/intent.tools.js +4 -788
- package/dist/intent/intent.verifier.d.ts +2 -116
- package/dist/intent/intent.verifier.js +2 -263
- package/dist/maintenance/maintenance.graph.d.ts +0 -1
- package/dist/maintenance/maintenance.graph.js +0 -1
- package/dist/maintenance/maintenance.state.d.ts +0 -1
- package/dist/maintenance/maintenance.state.js +0 -1
- package/dist/mcp/elicitation.builder.d.ts +0 -1
- package/dist/mcp/elicitation.builder.js +0 -1
- package/dist/mcp/elicitation.dispatcher.d.ts +0 -1
- package/dist/mcp/elicitation.dispatcher.js +0 -1
- package/dist/mcp/mcp.server.d.ts +0 -1
- package/dist/mcp/mcp.server.js +1 -2
- package/dist/negotiation/application/index.d.ts +48 -0
- package/dist/negotiation/application/index.js +49 -0
- package/dist/negotiation/application/insight.generator.d.ts +31 -0
- package/dist/negotiation/application/insight.generator.js +105 -0
- package/dist/negotiation/application/negotiation.agent.d.ts +110 -0
- package/dist/negotiation/application/negotiation.agent.js +244 -0
- package/dist/negotiation/application/negotiation.detail-reader.d.ts +94 -0
- package/dist/negotiation/application/negotiation.detail-reader.js +91 -0
- package/dist/negotiation/application/negotiation.graph.d.ts +664 -0
- package/dist/negotiation/application/negotiation.graph.js +1393 -0
- package/dist/negotiation/application/negotiation.reflect.d.ts +194 -0
- package/dist/negotiation/application/negotiation.reflect.js +145 -0
- package/dist/negotiation/application/negotiation.screen.d.ts +78 -0
- package/dist/negotiation/application/negotiation.screen.js +108 -0
- package/dist/negotiation/application/negotiation.summarizer.d.ts +25 -0
- package/dist/negotiation/application/negotiation.summarizer.js +101 -0
- package/dist/negotiation/application/negotiation.tools.d.ts +18 -0
- package/dist/negotiation/application/negotiation.tools.js +782 -0
- package/dist/negotiation/domain/index.d.ts +48 -0
- package/dist/negotiation/domain/index.js +50 -0
- package/dist/negotiation/domain/negotiation.consultation-policy.d.ts +39 -0
- package/dist/negotiation/domain/negotiation.consultation-policy.js +68 -0
- package/dist/negotiation/domain/negotiation.deadlock.contracts.d.ts +10 -0
- package/dist/negotiation/domain/negotiation.deadlock.contracts.js +1 -0
- package/dist/negotiation/domain/negotiation.deadlock.d.ts +81 -0
- package/dist/negotiation/domain/negotiation.deadlock.js +103 -0
- package/dist/negotiation/domain/negotiation.intent-snapshot-provenance.d.ts +21 -0
- package/dist/negotiation/domain/negotiation.intent-snapshot-provenance.js +28 -0
- package/dist/negotiation/domain/negotiation.lifecycle-narration.d.ts +18 -0
- package/dist/negotiation/domain/negotiation.lifecycle-narration.js +87 -0
- package/dist/negotiation/domain/negotiation.memory.d.ts +65 -0
- package/dist/negotiation/domain/negotiation.memory.js +83 -0
- package/dist/negotiation/domain/negotiation.protocol.d.ts +536 -0
- package/dist/negotiation/domain/negotiation.protocol.js +202 -0
- package/dist/negotiation/domain/negotiation.question-safety.d.ts +25 -0
- package/dist/negotiation/domain/negotiation.question-safety.js +55 -0
- package/dist/negotiation/domain/negotiation.screen.contracts.d.ts +88 -0
- package/dist/negotiation/domain/negotiation.screen.contracts.js +58 -0
- package/dist/negotiation/domain/negotiation.state.d.ts +497 -0
- package/dist/negotiation/domain/negotiation.state.js +288 -0
- package/dist/negotiation/domain/negotiation.task-lock-policy.d.ts +10 -0
- package/dist/negotiation/domain/negotiation.task-lock-policy.js +22 -0
- package/dist/negotiation/index.d.ts +49 -0
- package/dist/negotiation/index.js +49 -0
- package/dist/negotiation/insight.generator.d.ts +3 -30
- package/dist/negotiation/insight.generator.js +3 -104
- package/dist/negotiation/negotiation.agent.d.ts +3 -109
- package/dist/negotiation/negotiation.agent.js +3 -248
- package/dist/negotiation/negotiation.attribution.d.ts +0 -1
- package/dist/negotiation/negotiation.attribution.js +0 -1
- package/dist/negotiation/negotiation.consultation-policy.d.ts +3 -38
- package/dist/negotiation/negotiation.consultation-policy.js +3 -67
- package/dist/negotiation/negotiation.deadlock.contracts.d.ts +5 -0
- package/dist/negotiation/negotiation.deadlock.contracts.js +5 -0
- package/dist/negotiation/negotiation.deadlock.d.ts +3 -94
- package/dist/negotiation/negotiation.deadlock.js +3 -101
- package/dist/negotiation/negotiation.detail-reader.d.ts +5 -0
- package/dist/negotiation/negotiation.detail-reader.js +5 -0
- package/dist/negotiation/negotiation.graph.d.ts +3 -663
- package/dist/negotiation/negotiation.graph.js +3 -1459
- package/dist/negotiation/negotiation.intent-snapshot-provenance.d.ts +5 -0
- package/dist/negotiation/negotiation.intent-snapshot-provenance.js +5 -0
- package/dist/negotiation/negotiation.lifecycle-narration.d.ts +5 -0
- package/dist/negotiation/negotiation.lifecycle-narration.js +5 -0
- package/dist/negotiation/negotiation.memory.d.ts +5 -56
- package/dist/negotiation/negotiation.memory.js +5 -69
- package/dist/negotiation/negotiation.protocol.d.ts +3 -535
- package/dist/negotiation/negotiation.protocol.js +3 -201
- package/dist/negotiation/negotiation.question-safety.d.ts +3 -24
- package/dist/negotiation/negotiation.question-safety.js +3 -54
- package/dist/negotiation/negotiation.reflect.d.ts +4 -197
- package/dist/negotiation/negotiation.reflect.js +4 -151
- package/dist/negotiation/negotiation.screen.d.ts +6 -159
- package/dist/negotiation/negotiation.screen.js +6 -152
- package/dist/negotiation/negotiation.state.d.ts +3 -495
- package/dist/negotiation/negotiation.state.js +3 -284
- package/dist/negotiation/negotiation.summarizer.d.ts +3 -24
- package/dist/negotiation/negotiation.summarizer.js +3 -100
- package/dist/negotiation/negotiation.task-lock-policy.d.ts +5 -0
- package/dist/negotiation/negotiation.task-lock-policy.js +5 -0
- package/dist/negotiation/negotiation.tools.d.ts +3 -15
- package/dist/negotiation/negotiation.tools.js +3 -946
- package/dist/negotiation/ports/index.d.ts +18 -0
- package/dist/negotiation/ports/index.js +18 -0
- package/dist/negotiation/ports/negotiation.tools.port.d.ts +18 -0
- package/dist/negotiation/ports/negotiation.tools.port.js +1 -0
- package/dist/negotiation/public/index.d.ts +58 -0
- package/dist/negotiation/public/index.js +60 -0
- package/dist/network/indexer/indexer.graph.d.ts +3 -413
- package/dist/network/indexer/indexer.graph.js +3 -375
- package/dist/network/indexer/indexer.state.d.ts +3 -149
- package/dist/network/indexer/indexer.state.js +3 -98
- package/dist/network/membership/membership.graph.d.ts +3 -248
- package/dist/network/membership/membership.graph.js +3 -202
- package/dist/network/membership/membership.state.d.ts +3 -75
- package/dist/network/membership/membership.state.js +3 -41
- package/dist/network/network.graph.d.ts +3 -629
- package/dist/network/network.graph.js +3 -267
- package/dist/network/network.recommender.d.ts +3 -40
- package/dist/network/network.recommender.js +3 -109
- package/dist/network/network.state.d.ts +3 -180
- package/dist/network/network.state.js +3 -54
- package/dist/network/network.tools.d.ts +5 -3
- package/dist/network/network.tools.js +5 -566
- package/dist/opportunity/application/delivery-card.cache.d.ts +25 -0
- package/dist/opportunity/application/delivery-card.cache.js +43 -0
- package/dist/opportunity/application/index.d.ts +63 -0
- package/dist/opportunity/application/index.js +68 -0
- package/dist/opportunity/application/negotiation-context.loader.d.ts +59 -0
- package/dist/opportunity/application/negotiation-context.loader.js +88 -0
- package/dist/opportunity/application/opportunity.card-presentation.d.ts +44 -0
- package/dist/opportunity/application/opportunity.card-presentation.js +104 -0
- package/dist/opportunity/application/opportunity.discover.d.ts +215 -0
- package/dist/opportunity/application/opportunity.discover.js +793 -0
- package/dist/opportunity/application/opportunity.discovery-continuation-finalization.d.ts +34 -0
- package/dist/opportunity/application/opportunity.discovery-continuation-finalization.js +74 -0
- package/dist/opportunity/application/opportunity.discovery-mcp-lifecycle-finalization.d.ts +44 -0
- package/dist/opportunity/application/opportunity.discovery-mcp-lifecycle-finalization.js +92 -0
- package/dist/opportunity/application/opportunity.discovery-negotiation-summary.d.ts +14 -0
- package/dist/opportunity/application/opportunity.discovery-negotiation-summary.js +46 -0
- package/dist/opportunity/application/opportunity.enricher.d.ts +71 -0
- package/dist/opportunity/application/opportunity.enricher.js +280 -0
- package/dist/opportunity/application/opportunity.evaluator.d.ts +275 -0
- package/dist/opportunity/application/opportunity.evaluator.js +459 -0
- package/dist/opportunity/application/opportunity.existing-negotiation.d.ts +77 -0
- package/dist/opportunity/application/opportunity.existing-negotiation.js +109 -0
- package/dist/opportunity/application/opportunity.feed-selection.d.ts +30 -0
- package/dist/opportunity/application/opportunity.feed-selection.js +96 -0
- package/dist/opportunity/application/opportunity.graph.d.ts +1427 -0
- package/dist/opportunity/application/opportunity.graph.js +3693 -0
- package/dist/opportunity/application/opportunity.introducer.d.ts +77 -0
- package/dist/opportunity/application/opportunity.introducer.js +99 -0
- package/dist/opportunity/application/opportunity.lifecycle.d.ts +63 -0
- package/dist/opportunity/application/opportunity.lifecycle.js +181 -0
- package/dist/opportunity/application/opportunity.newborn-stamping.d.ts +41 -0
- package/dist/opportunity/application/opportunity.newborn-stamping.js +81 -0
- package/dist/opportunity/application/opportunity.pending-questions.d.ts +33 -0
- package/dist/opportunity/application/opportunity.pending-questions.js +42 -0
- package/dist/opportunity/application/opportunity.persist.d.ts +58 -0
- package/dist/opportunity/application/opportunity.persist.js +145 -0
- package/dist/opportunity/application/opportunity.persistence-admission.d.ts +39 -0
- package/dist/opportunity/application/opportunity.persistence-admission.js +59 -0
- package/dist/opportunity/application/opportunity.presenter.d.ts +156 -0
- package/dist/opportunity/application/opportunity.presenter.js +736 -0
- package/dist/opportunity/application/opportunity.tools.d.ts +131 -0
- package/dist/opportunity/application/opportunity.tools.js +1834 -0
- package/dist/opportunity/application/opportunity.update-admission.d.ts +24 -0
- package/dist/opportunity/application/opportunity.update-admission.js +38 -0
- package/dist/opportunity/delivery-card.cache.d.ts +5 -26
- package/dist/opportunity/delivery-card.cache.js +5 -44
- package/dist/opportunity/discovery-question.helper.d.ts +3 -17
- package/dist/opportunity/discovery-question.helper.js +3 -14
- package/dist/opportunity/discriminator/discriminator.adjustments.d.ts +0 -1
- package/dist/opportunity/discriminator/discriminator.adjustments.js +0 -1
- package/dist/opportunity/discriminator/discriminator.assigner.d.ts +4 -5
- package/dist/opportunity/discriminator/discriminator.assigner.js +0 -1
- package/dist/opportunity/discriminator/discriminator.env.d.ts +0 -1
- package/dist/opportunity/discriminator/discriminator.env.js +0 -1
- package/dist/opportunity/discriminator/discriminator.miner.d.ts +0 -1
- package/dist/opportunity/discriminator/discriminator.miner.js +0 -1
- package/dist/opportunity/discriminator/discriminator.push.d.ts +0 -1
- package/dist/opportunity/discriminator/discriminator.push.js +0 -1
- package/dist/opportunity/discriminator/discriminator.question.d.ts +0 -1
- package/dist/opportunity/discriminator/discriminator.question.js +0 -1
- package/dist/opportunity/discriminator/discriminator.scorer.d.ts +0 -1
- package/dist/opportunity/discriminator/discriminator.scorer.js +0 -1
- package/dist/opportunity/discriminator/discriminator.shadow.d.ts +0 -1
- package/dist/opportunity/discriminator/discriminator.shadow.js +0 -1
- package/dist/opportunity/discriminator/discriminator.types.d.ts +0 -1
- package/dist/opportunity/discriminator/discriminator.types.js +0 -1
- package/dist/opportunity/domain/discovery-question.helper.d.ts +18 -0
- package/dist/opportunity/domain/discovery-question.helper.js +15 -0
- package/dist/opportunity/domain/index.d.ts +55 -0
- package/dist/opportunity/domain/index.js +52 -0
- package/dist/opportunity/domain/negotiation-summary.builder.d.ts +37 -0
- package/dist/opportunity/domain/negotiation-summary.builder.js +66 -0
- package/dist/opportunity/domain/opportunity.actor.d.ts +15 -0
- package/dist/opportunity/domain/opportunity.actor.js +39 -0
- package/dist/opportunity/domain/opportunity.claim-safety.d.ts +24 -0
- package/dist/opportunity/domain/opportunity.claim-safety.js +88 -0
- package/dist/opportunity/domain/opportunity.discovery-run-coalescing.d.ts +33 -0
- package/dist/opportunity/domain/opportunity.discovery-run-coalescing.js +33 -0
- package/dist/opportunity/domain/opportunity.discovery.contracts.d.ts +45 -0
- package/dist/opportunity/domain/opportunity.discovery.contracts.js +1 -0
- package/dist/opportunity/domain/opportunity.evidence.d.ts +21 -0
- package/dist/opportunity/domain/opportunity.evidence.js +78 -0
- package/dist/opportunity/domain/opportunity.labels.d.ts +8 -0
- package/dist/opportunity/domain/opportunity.labels.js +10 -0
- package/dist/opportunity/domain/opportunity.presentation-cache.d.ts +6 -0
- package/dist/opportunity/domain/opportunity.presentation-cache.js +14 -0
- package/dist/opportunity/domain/opportunity.presentation.d.ts +76 -0
- package/dist/opportunity/domain/opportunity.presentation.js +516 -0
- package/dist/opportunity/domain/opportunity.safe-presentation.d.ts +104 -0
- package/dist/opportunity/domain/opportunity.safe-presentation.js +102 -0
- package/dist/opportunity/domain/opportunity.state.d.ts +519 -0
- package/dist/opportunity/domain/opportunity.state.js +309 -0
- package/dist/opportunity/domain/opportunity.utils.d.ts +217 -0
- package/dist/opportunity/domain/opportunity.utils.js +395 -0
- package/dist/opportunity/feed/feed.categorizer.d.ts +0 -1
- package/dist/opportunity/feed/feed.categorizer.js +0 -1
- package/dist/opportunity/feed/feed.graph.d.ts +1 -2
- package/dist/opportunity/feed/feed.graph.js +0 -1
- package/dist/opportunity/feed/feed.health.d.ts +0 -1
- package/dist/opportunity/feed/feed.health.js +0 -1
- package/dist/opportunity/feed/feed.state.d.ts +1 -2
- package/dist/opportunity/feed/feed.state.js +0 -1
- package/dist/opportunity/index.d.ts +37 -0
- package/dist/opportunity/index.js +37 -0
- package/dist/opportunity/negotiation-context.loader.d.ts +3 -58
- package/dist/opportunity/negotiation-context.loader.js +3 -87
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.env.d.ts +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.env.js +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.extractor.d.ts +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.extractor.js +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.miner.d.ts +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.miner.js +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.shadow.d.ts +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.shadow.js +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.types.d.ts +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.types.js +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.verifier.d.ts +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.verifier.js +0 -1
- package/dist/opportunity/negotiation-summary.builder.d.ts +3 -36
- package/dist/opportunity/negotiation-summary.builder.js +3 -65
- package/dist/opportunity/opportunity.actor.d.ts +3 -14
- package/dist/opportunity/opportunity.actor.js +3 -38
- package/dist/opportunity/opportunity.card-presentation.d.ts +5 -0
- package/dist/opportunity/opportunity.card-presentation.js +5 -0
- package/dist/opportunity/opportunity.claim-safety.d.ts +3 -23
- package/dist/opportunity/opportunity.claim-safety.js +3 -87
- package/dist/opportunity/opportunity.discover.d.ts +3 -218
- package/dist/opportunity/opportunity.discover.js +3 -917
- package/dist/opportunity/opportunity.discovery-continuation-finalization.d.ts +5 -0
- package/dist/opportunity/opportunity.discovery-continuation-finalization.js +5 -0
- package/dist/opportunity/opportunity.discovery-mcp-lifecycle-finalization.d.ts +5 -0
- package/dist/opportunity/opportunity.discovery-mcp-lifecycle-finalization.js +5 -0
- package/dist/opportunity/opportunity.discovery-negotiation-summary.d.ts +5 -0
- package/dist/opportunity/opportunity.discovery-negotiation-summary.js +5 -0
- package/dist/opportunity/opportunity.discovery-run-coalescing.d.ts +5 -0
- package/dist/opportunity/opportunity.discovery-run-coalescing.js +5 -0
- package/dist/opportunity/opportunity.discovery.contracts.d.ts +5 -0
- package/dist/opportunity/opportunity.discovery.contracts.js +5 -0
- package/dist/opportunity/opportunity.enricher.d.ts +3 -70
- package/dist/opportunity/opportunity.enricher.js +3 -279
- package/dist/opportunity/opportunity.evaluator.d.ts +5 -276
- package/dist/opportunity/opportunity.evaluator.js +5 -460
- package/dist/opportunity/opportunity.evidence.d.ts +5 -22
- package/dist/opportunity/opportunity.evidence.js +5 -79
- package/dist/opportunity/opportunity.existing-negotiation.d.ts +5 -0
- package/dist/opportunity/opportunity.existing-negotiation.js +5 -0
- package/dist/opportunity/opportunity.feed-selection.d.ts +5 -0
- package/dist/opportunity/opportunity.feed-selection.js +5 -0
- package/dist/opportunity/opportunity.graph.d.ts +3 -1489
- package/dist/opportunity/opportunity.graph.js +3 -4071
- package/dist/opportunity/opportunity.introducer.d.ts +3 -76
- package/dist/opportunity/opportunity.introducer.js +3 -98
- package/dist/opportunity/opportunity.labels.d.ts +5 -9
- package/dist/opportunity/opportunity.labels.js +5 -11
- package/dist/opportunity/opportunity.lifecycle.d.ts +5 -0
- package/dist/opportunity/opportunity.lifecycle.js +5 -0
- package/dist/opportunity/opportunity.newborn-stamping.d.ts +5 -0
- package/dist/opportunity/opportunity.newborn-stamping.js +5 -0
- package/dist/opportunity/opportunity.pending-questions.d.ts +3 -32
- package/dist/opportunity/opportunity.pending-questions.js +3 -41
- package/dist/opportunity/opportunity.persist.d.ts +3 -57
- package/dist/opportunity/opportunity.persist.js +3 -144
- package/dist/opportunity/opportunity.persistence-admission.d.ts +5 -0
- package/dist/opportunity/opportunity.persistence-admission.js +5 -0
- package/dist/opportunity/opportunity.presentation-cache.d.ts +5 -7
- package/dist/opportunity/opportunity.presentation-cache.js +5 -15
- package/dist/opportunity/opportunity.presentation.d.ts +3 -75
- package/dist/opportunity/opportunity.presentation.js +3 -515
- package/dist/opportunity/opportunity.presenter.d.ts +10 -155
- package/dist/opportunity/opportunity.presenter.js +10 -735
- package/dist/opportunity/opportunity.safe-presentation.d.ts +3 -103
- package/dist/opportunity/opportunity.safe-presentation.js +3 -101
- package/dist/opportunity/opportunity.state.d.ts +3 -518
- package/dist/opportunity/opportunity.state.js +3 -308
- package/dist/opportunity/opportunity.tools.d.ts +3 -157
- package/dist/opportunity/opportunity.tools.js +3 -2238
- package/dist/opportunity/opportunity.update-admission.d.ts +5 -0
- package/dist/opportunity/opportunity.update-admission.js +5 -0
- package/dist/opportunity/opportunity.utils.d.ts +3 -216
- package/dist/opportunity/opportunity.utils.js +3 -394
- package/dist/opportunity/outcome/outcome.env.d.ts +0 -1
- package/dist/opportunity/outcome/outcome.env.js +0 -1
- package/dist/opportunity/outcome/outcome.hypotheses.d.ts +0 -1
- package/dist/opportunity/outcome/outcome.hypotheses.js +0 -1
- package/dist/opportunity/outcome/outcome.shadow.d.ts +0 -1
- package/dist/opportunity/outcome/outcome.shadow.js +0 -1
- package/dist/opportunity/outcome/outcome.types.d.ts +0 -1
- package/dist/opportunity/outcome/outcome.types.js +0 -1
- package/dist/opportunity/ports/index.d.ts +5 -0
- package/dist/opportunity/ports/index.js +1 -0
- package/dist/opportunity/ports/opportunity.tools.port.d.ts +5 -0
- package/dist/opportunity/ports/opportunity.tools.port.js +1 -0
- package/dist/opportunity/public/index.d.ts +58 -0
- package/dist/opportunity/public/index.js +51 -0
- package/dist/participant-agents/application/agent.tools.d.ts +16 -0
- package/dist/participant-agents/application/agent.tools.js +313 -0
- package/dist/participant-agents/application/index.d.ts +21 -0
- package/dist/participant-agents/application/index.js +22 -0
- package/dist/participant-agents/domain/agent.types.d.ts +76 -0
- package/dist/participant-agents/domain/agent.types.js +22 -0
- package/dist/participant-agents/domain/index.d.ts +20 -0
- package/dist/participant-agents/domain/index.js +1 -0
- package/dist/participant-agents/index.d.ts +24 -0
- package/dist/participant-agents/index.js +24 -0
- package/dist/participant-agents/ports/agent.dispatcher.port.d.ts +25 -0
- package/dist/participant-agents/ports/agent.dispatcher.port.js +1 -0
- package/dist/participant-agents/ports/agent.repository.port.d.ts +118 -0
- package/dist/participant-agents/ports/agent.repository.port.js +10 -0
- package/dist/participant-agents/ports/agent.tools.port.d.ts +24 -0
- package/dist/participant-agents/ports/agent.tools.port.js +20 -0
- package/dist/participant-agents/ports/index.d.ts +29 -0
- package/dist/participant-agents/ports/index.js +27 -0
- package/dist/participant-agents/public/index.d.ts +39 -0
- package/dist/participant-agents/public/index.js +36 -0
- package/dist/participant-context/application/index.d.ts +73 -0
- package/dist/participant-context/application/index.js +83 -0
- package/dist/participant-context/domain/index.d.ts +67 -0
- package/dist/participant-context/domain/index.js +68 -0
- package/dist/participant-context/index.d.ts +16 -0
- package/dist/participant-context/index.js +16 -0
- package/dist/participant-context/ports/index.d.ts +37 -0
- package/dist/participant-context/ports/index.js +34 -0
- package/dist/participant-context/public/index.d.ts +48 -0
- package/dist/participant-context/public/index.js +55 -0
- package/dist/platform/index.d.ts +19 -0
- package/dist/platform/index.js +23 -0
- package/dist/premise/premise.analyzer.d.ts +0 -1
- package/dist/premise/premise.analyzer.js +0 -2
- package/dist/premise/premise.decomposer.d.ts +0 -1
- package/dist/premise/premise.decomposer.js +0 -2
- package/dist/premise/premise.graph.d.ts +1 -2
- package/dist/premise/premise.graph.js +0 -2
- package/dist/premise/premise.indexer.d.ts +0 -1
- package/dist/premise/premise.indexer.js +0 -2
- package/dist/premise/premise.state.d.ts +1 -2
- package/dist/premise/premise.state.js +0 -1
- package/dist/premise/premise.tools.d.ts +3 -3
- package/dist/premise/premise.tools.js +0 -2
- package/dist/public/index.d.ts +17 -0
- package/dist/public/index.js +17 -0
- package/dist/questioner/questioner.agent.d.ts +4 -27
- package/dist/questioner/questioner.agent.js +3 -133
- package/dist/questioner/questioner.ask.tool.d.ts +3 -12
- package/dist/questioner/questioner.ask.tool.js +3 -299
- package/dist/questioner/questioner.discovery.prompt.d.ts +3 -7
- package/dist/questioner/questioner.discovery.prompt.js +3 -180
- package/dist/questioner/questioner.env.d.ts +3 -57
- package/dist/questioner/questioner.env.js +3 -93
- package/dist/questioner/questioner.presets.d.ts +4 -19
- package/dist/questioner/questioner.presets.js +3 -465
- package/dist/questioner/questioner.qud.d.ts +3 -6
- package/dist/questioner/questioner.qud.js +3 -10
- package/dist/questioner/questioner.tools.d.ts +3 -15
- package/dist/questioner/questioner.tools.js +3 -186
- package/dist/questioner/questioner.types.d.ts +4 -218
- package/dist/questioner/questioner.types.js +5 -62
- package/dist/questions/application/index.d.ts +39 -0
- package/dist/questions/application/index.js +41 -0
- package/dist/questions/application/question.agent.d.ts +28 -0
- package/dist/questions/application/question.agent.js +139 -0
- package/dist/questions/application/question.ask.tool.d.ts +12 -0
- package/dist/questions/application/question.ask.tool.js +300 -0
- package/dist/questions/application/question.discovery.prompt.d.ts +8 -0
- package/dist/questions/application/question.discovery.prompt.js +181 -0
- package/dist/questions/application/question.env.d.ts +61 -0
- package/dist/questions/application/question.env.js +97 -0
- package/dist/questions/application/question.input.d.ts +237 -0
- package/dist/questions/application/question.input.js +61 -0
- package/dist/questions/application/question.presets.d.ts +24 -0
- package/dist/questions/application/question.presets.js +445 -0
- package/dist/questions/application/question.qud.d.ts +12 -0
- package/dist/questions/application/question.qud.js +16 -0
- package/dist/questions/application/question.tools.d.ts +15 -0
- package/dist/questions/application/question.tools.js +190 -0
- package/dist/questions/domain/index.d.ts +25 -0
- package/dist/questions/domain/index.js +25 -0
- package/dist/questions/domain/question.schema.d.ts +1537 -0
- package/dist/questions/domain/question.schema.js +422 -0
- package/dist/questions/index.d.ts +22 -0
- package/dist/questions/index.js +22 -0
- package/dist/questions/ports/index.d.ts +29 -0
- package/dist/questions/ports/index.js +27 -0
- package/dist/questions/ports/question.generator.port.d.ts +34 -0
- package/dist/questions/ports/question.generator.port.js +1 -0
- package/dist/questions/ports/question.persistence.port.d.ts +87 -0
- package/dist/questions/ports/question.persistence.port.js +1 -0
- package/dist/questions/ports/question.tools.port.d.ts +15 -0
- package/dist/questions/ports/question.tools.port.js +1 -0
- package/dist/questions/public/index.d.ts +47 -0
- package/dist/questions/public/index.js +49 -0
- package/dist/runtime/background/index.d.ts +14 -0
- package/dist/runtime/background/index.js +14 -0
- package/dist/runtime/foreground/composition/tool.factory.d.ts +16 -0
- package/dist/runtime/foreground/composition/tool.factory.js +224 -0
- package/dist/runtime/foreground/composition/tool.registry.d.ts +11 -0
- package/dist/runtime/foreground/composition/tool.registry.js +106 -0
- package/dist/runtime/foreground/index.d.ts +13 -0
- package/dist/runtime/foreground/index.js +13 -0
- package/dist/runtime/foreground/signals/intent.tools.d.ts +13 -0
- package/dist/runtime/foreground/signals/intent.tools.js +13 -0
- package/dist/shared/agent/model-signal.d.ts +0 -1
- package/dist/shared/agent/model-signal.js +0 -1
- package/dist/shared/agent/model.config.d.ts +0 -1
- package/dist/shared/agent/model.config.js +0 -1
- package/dist/shared/agent/tool.factory.d.ts +4 -15
- package/dist/shared/agent/tool.factory.js +4 -226
- package/dist/shared/agent/tool.helpers.d.ts +51 -12
- package/dist/shared/agent/tool.helpers.js +0 -1
- package/dist/shared/agent/tool.registry.d.ts +9 -9
- package/dist/shared/agent/tool.registry.js +9 -104
- package/dist/shared/agent/tool.runtime.d.ts +0 -1
- package/dist/shared/agent/tool.runtime.js +0 -1
- package/dist/shared/agent/tool.scope.d.ts +0 -1
- package/dist/shared/agent/tool.scope.js +0 -1
- package/dist/shared/agent/utility.tools.d.ts +5 -3
- package/dist/shared/agent/utility.tools.js +0 -1
- package/dist/shared/assignment/network-assignment.policy.d.ts +0 -1
- package/dist/shared/assignment/network-assignment.policy.js +0 -1
- package/dist/shared/hyde/hyde.documents.d.ts +0 -1
- package/dist/shared/hyde/hyde.documents.js +0 -1
- package/dist/shared/hyde/hyde.env.d.ts +0 -1
- package/dist/shared/hyde/hyde.env.js +0 -1
- package/dist/shared/hyde/hyde.frame.d.ts +4 -5
- package/dist/shared/hyde/hyde.frame.js +0 -1
- package/dist/shared/hyde/hyde.generator.d.ts +0 -1
- package/dist/shared/hyde/hyde.generator.js +0 -1
- package/dist/shared/hyde/hyde.graph.d.ts +0 -1
- package/dist/shared/hyde/hyde.graph.js +0 -1
- package/dist/shared/hyde/hyde.state.d.ts +0 -1
- package/dist/shared/hyde/hyde.state.js +0 -1
- package/dist/shared/hyde/hyde.strategies.d.ts +0 -1
- package/dist/shared/hyde/hyde.strategies.js +0 -1
- package/dist/shared/hyde/hyde.validator.d.ts +0 -1
- package/dist/shared/hyde/hyde.validator.js +0 -1
- package/dist/shared/hyde/lens.inferrer.d.ts +6 -7
- package/dist/shared/hyde/lens.inferrer.js +0 -1
- package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +4 -1
- package/dist/shared/interfaces/agent-dispatcher.interface.js +4 -1
- package/dist/shared/interfaces/agent.interface.d.ts +13 -173
- package/dist/shared/interfaces/agent.interface.js +12 -12
- package/dist/shared/interfaces/auth.interface.d.ts +0 -1
- package/dist/shared/interfaces/auth.interface.js +0 -1
- package/dist/shared/interfaces/cache.interface.d.ts +0 -1
- package/dist/shared/interfaces/cache.interface.js +0 -1
- package/dist/shared/interfaces/chat-message-writer.interface.d.ts +0 -1
- package/dist/shared/interfaces/chat-message-writer.interface.js +0 -1
- package/dist/shared/interfaces/chat-session.interface.d.ts +0 -1
- package/dist/shared/interfaces/chat-session.interface.js +0 -1
- package/dist/shared/interfaces/chat-summary.interface.d.ts +0 -1
- package/dist/shared/interfaces/chat-summary.interface.js +0 -1
- package/dist/shared/interfaces/connect-link.interface.d.ts +0 -1
- package/dist/shared/interfaces/connect-link.interface.js +0 -1
- package/dist/shared/interfaces/contact.interface.d.ts +7 -55
- package/dist/shared/interfaces/contact.interface.js +7 -1
- package/dist/shared/interfaces/database.interface.d.ts +0 -1
- package/dist/shared/interfaces/database.interface.js +0 -1
- package/dist/shared/interfaces/delivery-ledger.interface.d.ts +0 -1
- package/dist/shared/interfaces/delivery-ledger.interface.js +0 -1
- package/dist/shared/interfaces/discovery-run.interface.d.ts +2 -3
- package/dist/shared/interfaces/discovery-run.interface.js +0 -1
- package/dist/shared/interfaces/embedder.interface.d.ts +0 -1
- package/dist/shared/interfaces/embedder.interface.js +0 -1
- package/dist/shared/interfaces/enrichment-run.interface.d.ts +2 -3
- package/dist/shared/interfaces/enrichment-run.interface.js +0 -1
- package/dist/shared/interfaces/enrichment.interface.d.ts +0 -1
- package/dist/shared/interfaces/enrichment.interface.js +0 -1
- package/dist/shared/interfaces/integration.interface.d.ts +6 -88
- package/dist/shared/interfaces/integration.interface.js +7 -1
- package/dist/shared/interfaces/negotiation-events.interface.d.ts +0 -1
- package/dist/shared/interfaces/negotiation-events.interface.js +0 -1
- package/dist/shared/interfaces/negotiation-summary.interface.d.ts +0 -1
- package/dist/shared/interfaces/negotiation-summary.interface.js +0 -1
- package/dist/shared/interfaces/negotiator-memory.interface.d.ts +0 -1
- package/dist/shared/interfaces/negotiator-memory.interface.js +0 -1
- package/dist/shared/interfaces/question-generator.interface.d.ts +3 -28
- package/dist/shared/interfaces/question-generator.interface.js +0 -1
- package/dist/shared/interfaces/questioner.interface.d.ts +3 -77
- package/dist/shared/interfaces/questioner.interface.js +0 -1
- package/dist/shared/interfaces/queue.interface.d.ts +0 -1
- package/dist/shared/interfaces/queue.interface.js +0 -1
- package/dist/shared/interfaces/scraper.interface.d.ts +0 -1
- package/dist/shared/interfaces/scraper.interface.js +0 -1
- package/dist/shared/interfaces/tool-request-context.interface.d.ts +12 -0
- package/dist/shared/interfaces/tool-request-context.interface.js +1 -0
- package/dist/shared/network/metadata.renderer.d.ts +0 -1
- package/dist/shared/network/metadata.renderer.js +0 -1
- package/dist/shared/observability/debug-meta.sanitizer.d.ts +0 -1
- package/dist/shared/observability/debug-meta.sanitizer.js +0 -1
- package/dist/shared/observability/log.d.ts +0 -1
- package/dist/shared/observability/log.js +0 -1
- package/dist/shared/observability/performance.d.ts +0 -1
- package/dist/shared/observability/performance.js +0 -1
- package/dist/shared/observability/protocol.logger.d.ts +0 -1
- package/dist/shared/observability/protocol.logger.js +0 -1
- package/dist/shared/observability/request-context.d.ts +0 -1
- package/dist/shared/observability/request-context.js +0 -1
- package/dist/shared/observability/trace.d.ts +0 -1
- package/dist/shared/observability/trace.js +0 -1
- package/dist/shared/schemas/chat-context.schema.d.ts +0 -1
- package/dist/shared/schemas/chat-context.schema.js +0 -1
- package/dist/shared/schemas/discovery-question.schema.d.ts +17 -18
- package/dist/shared/schemas/discovery-question.schema.js +0 -1
- package/dist/shared/schemas/identity.schema.d.ts +0 -1
- package/dist/shared/schemas/identity.schema.js +0 -1
- package/dist/shared/schemas/mcp-auth.schema.d.ts +0 -1
- package/dist/shared/schemas/mcp-auth.schema.js +0 -1
- package/dist/shared/schemas/negotiation-digest.schema.d.ts +5 -6
- package/dist/shared/schemas/negotiation-digest.schema.js +0 -1
- package/dist/shared/schemas/negotiation-state.schema.d.ts +4 -5
- package/dist/shared/schemas/negotiation-state.schema.js +0 -1
- package/dist/shared/schemas/network-assignment.schema.d.ts +0 -1
- package/dist/shared/schemas/network-assignment.schema.js +0 -1
- package/dist/shared/schemas/pending-question.schema.d.ts +0 -1
- package/dist/shared/schemas/pending-question.schema.js +0 -1
- package/dist/shared/schemas/question.schema.d.ts +3 -1535
- package/dist/shared/schemas/question.schema.js +3 -420
- package/dist/shared/ui/lucide.icon-catalog.d.ts +0 -1
- package/dist/shared/ui/lucide.icon-catalog.js +0 -1
- package/dist/shared/utils/social-label.d.ts +0 -1
- package/dist/shared/utils/social-label.js +0 -1
- package/dist/shared/utils/telegram-handle.d.ts +0 -1
- package/dist/shared/utils/telegram-handle.js +0 -1
- package/dist/signals/application/index.d.ts +19 -0
- package/dist/signals/application/index.js +22 -0
- package/dist/signals/application/intent.clarifier.d.ts +51 -0
- package/dist/signals/application/intent.clarifier.js +201 -0
- package/dist/signals/application/intent.graph.d.ts +552 -0
- package/dist/signals/application/intent.graph.js +938 -0
- package/dist/signals/application/intent.indexer.d.ts +82 -0
- package/dist/signals/application/intent.indexer.js +170 -0
- package/dist/signals/application/intent.inferrer.d.ts +94 -0
- package/dist/signals/application/intent.inferrer.js +233 -0
- package/dist/signals/application/intent.reconciler.d.ts +105 -0
- package/dist/signals/application/intent.reconciler.js +186 -0
- package/dist/signals/application/intent.tools.d.ts +24 -0
- package/dist/signals/application/intent.tools.js +789 -0
- package/dist/signals/application/intent.verifier.d.ts +115 -0
- package/dist/signals/application/intent.verifier.js +262 -0
- package/dist/signals/domain/index.d.ts +9 -0
- package/dist/signals/domain/index.js +11 -0
- package/dist/signals/domain/intent.state.d.ts +230 -0
- package/dist/signals/domain/intent.state.js +190 -0
- package/dist/signals/domain/signal.specificity.d.ts +2 -0
- package/dist/signals/domain/signal.specificity.js +2 -0
- package/dist/signals/index.d.ts +13 -0
- package/dist/signals/index.js +13 -0
- package/dist/signals/ports/index.d.ts +15 -0
- package/dist/signals/ports/index.js +13 -0
- package/dist/signals/public/index.d.ts +15 -0
- package/dist/signals/public/index.js +16 -0
- package/package.json +14 -3
- package/dist/agent/agent.tools.d.ts.map +0 -1
- package/dist/agent/agent.tools.js.map +0 -1
- package/dist/agent/tests/fakes.d.ts +0 -25
- package/dist/agent/tests/fakes.d.ts.map +0 -1
- package/dist/agent/tests/fakes.js +0 -178
- package/dist/agent/tests/fakes.js.map +0 -1
- package/dist/chat/chat-streaming.types.d.ts.map +0 -1
- package/dist/chat/chat-streaming.types.js.map +0 -1
- package/dist/chat/chat.agent.d.ts.map +0 -1
- package/dist/chat/chat.agent.js.map +0 -1
- package/dist/chat/chat.graph.d.ts.map +0 -1
- package/dist/chat/chat.graph.js.map +0 -1
- package/dist/chat/chat.interrupt.classifier.d.ts.map +0 -1
- package/dist/chat/chat.interrupt.classifier.js.map +0 -1
- package/dist/chat/chat.persona.d.ts.map +0 -1
- package/dist/chat/chat.persona.js.map +0 -1
- package/dist/chat/chat.prompt.d.ts.map +0 -1
- package/dist/chat/chat.prompt.js.map +0 -1
- package/dist/chat/chat.prompt.modules.d.ts.map +0 -1
- package/dist/chat/chat.prompt.modules.js.map +0 -1
- package/dist/chat/chat.question-dedup.d.ts.map +0 -1
- package/dist/chat/chat.question-dedup.js.map +0 -1
- package/dist/chat/chat.state.d.ts.map +0 -1
- package/dist/chat/chat.state.js.map +0 -1
- package/dist/chat/chat.streamer.d.ts.map +0 -1
- package/dist/chat/chat.streamer.js.map +0 -1
- package/dist/chat/chat.suggester.d.ts.map +0 -1
- package/dist/chat/chat.suggester.js.map +0 -1
- package/dist/chat/chat.summarizer.d.ts.map +0 -1
- package/dist/chat/chat.summarizer.js.map +0 -1
- package/dist/chat/chat.title.generator.d.ts.map +0 -1
- package/dist/chat/chat.title.generator.js.map +0 -1
- package/dist/chat/chat.tools.d.ts.map +0 -1
- package/dist/chat/chat.tools.js.map +0 -1
- package/dist/chat/chat.utils.d.ts.map +0 -1
- package/dist/chat/chat.utils.js.map +0 -1
- package/dist/chat/negotiator.persona.d.ts.map +0 -1
- package/dist/chat/negotiator.persona.js.map +0 -1
- package/dist/chat/negotiator.prompt.d.ts.map +0 -1
- package/dist/chat/negotiator.prompt.js.map +0 -1
- package/dist/chat/negotiator.tools.d.ts.map +0 -1
- package/dist/chat/negotiator.tools.js.map +0 -1
- package/dist/chat/onboarding.persona.d.ts.map +0 -1
- package/dist/chat/onboarding.persona.js.map +0 -1
- package/dist/chat/onboarding.prompt.d.ts.map +0 -1
- package/dist/chat/onboarding.prompt.js.map +0 -1
- package/dist/chat/reporter.action.tools.d.ts.map +0 -1
- package/dist/chat/reporter.action.tools.js.map +0 -1
- package/dist/chat/reporter.persona.d.ts.map +0 -1
- package/dist/chat/reporter.persona.js.map +0 -1
- package/dist/chat/reporter.prompt.d.ts.map +0 -1
- package/dist/chat/reporter.prompt.js.map +0 -1
- package/dist/chat/signal.persona.d.ts.map +0 -1
- package/dist/chat/signal.persona.js.map +0 -1
- package/dist/chat/signal.prompt.d.ts.map +0 -1
- package/dist/chat/signal.prompt.js.map +0 -1
- package/dist/chat/tests/chat.graph.mocks.d.ts +0 -98
- package/dist/chat/tests/chat.graph.mocks.d.ts.map +0 -1
- package/dist/chat/tests/chat.graph.mocks.js +0 -225
- package/dist/chat/tests/chat.graph.mocks.js.map +0 -1
- package/dist/contact/contact.inviter.d.ts.map +0 -1
- package/dist/contact/contact.inviter.js.map +0 -1
- package/dist/contact/contact.tools.d.ts.map +0 -1
- package/dist/contact/contact.tools.js.map +0 -1
- package/dist/context/context.generator.d.ts.map +0 -1
- package/dist/context/context.generator.js.map +0 -1
- package/dist/enrichment/enrichment.enricher.d.ts.map +0 -1
- package/dist/enrichment/enrichment.enricher.js.map +0 -1
- package/dist/enrichment/enrichment.generator.d.ts.map +0 -1
- package/dist/enrichment/enrichment.generator.js.map +0 -1
- package/dist/enrichment/enrichment.graph.d.ts.map +0 -1
- package/dist/enrichment/enrichment.graph.js.map +0 -1
- package/dist/enrichment/enrichment.state.d.ts.map +0 -1
- package/dist/enrichment/enrichment.state.js.map +0 -1
- package/dist/enrichment/enrichment.tools.d.ts.map +0 -1
- package/dist/enrichment/enrichment.tools.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/integration/integration.tools.d.ts.map +0 -1
- package/dist/integration/integration.tools.js.map +0 -1
- package/dist/intent/intent.clarifier.d.ts.map +0 -1
- package/dist/intent/intent.clarifier.js.map +0 -1
- package/dist/intent/intent.graph.d.ts.map +0 -1
- package/dist/intent/intent.graph.js.map +0 -1
- package/dist/intent/intent.indexer.d.ts.map +0 -1
- package/dist/intent/intent.indexer.js.map +0 -1
- package/dist/intent/intent.inferrer.d.ts.map +0 -1
- package/dist/intent/intent.inferrer.js.map +0 -1
- package/dist/intent/intent.reconciler.d.ts.map +0 -1
- package/dist/intent/intent.reconciler.js.map +0 -1
- package/dist/intent/intent.specificity.d.ts.map +0 -1
- package/dist/intent/intent.specificity.js.map +0 -1
- package/dist/intent/intent.state.d.ts.map +0 -1
- package/dist/intent/intent.state.js.map +0 -1
- package/dist/intent/intent.tools.d.ts.map +0 -1
- package/dist/intent/intent.tools.js.map +0 -1
- package/dist/intent/intent.verifier.d.ts.map +0 -1
- package/dist/intent/intent.verifier.js.map +0 -1
- package/dist/maintenance/maintenance.graph.d.ts.map +0 -1
- package/dist/maintenance/maintenance.graph.js.map +0 -1
- package/dist/maintenance/maintenance.state.d.ts.map +0 -1
- package/dist/maintenance/maintenance.state.js.map +0 -1
- package/dist/mcp/elicitation.builder.d.ts.map +0 -1
- package/dist/mcp/elicitation.builder.js.map +0 -1
- package/dist/mcp/elicitation.dispatcher.d.ts.map +0 -1
- package/dist/mcp/elicitation.dispatcher.js.map +0 -1
- package/dist/mcp/mcp.server.d.ts.map +0 -1
- package/dist/mcp/mcp.server.js.map +0 -1
- package/dist/negotiation/insight.generator.d.ts.map +0 -1
- package/dist/negotiation/insight.generator.js.map +0 -1
- package/dist/negotiation/negotiation.agent.d.ts.map +0 -1
- package/dist/negotiation/negotiation.agent.js.map +0 -1
- package/dist/negotiation/negotiation.attribution.d.ts.map +0 -1
- package/dist/negotiation/negotiation.attribution.js.map +0 -1
- package/dist/negotiation/negotiation.consultation-policy.d.ts.map +0 -1
- package/dist/negotiation/negotiation.consultation-policy.js.map +0 -1
- package/dist/negotiation/negotiation.deadlock.d.ts.map +0 -1
- package/dist/negotiation/negotiation.deadlock.js.map +0 -1
- package/dist/negotiation/negotiation.graph.d.ts.map +0 -1
- package/dist/negotiation/negotiation.graph.js.map +0 -1
- package/dist/negotiation/negotiation.memory.d.ts.map +0 -1
- package/dist/negotiation/negotiation.memory.js.map +0 -1
- package/dist/negotiation/negotiation.protocol.d.ts.map +0 -1
- package/dist/negotiation/negotiation.protocol.js.map +0 -1
- package/dist/negotiation/negotiation.question-safety.d.ts.map +0 -1
- package/dist/negotiation/negotiation.question-safety.js.map +0 -1
- package/dist/negotiation/negotiation.reflect.d.ts.map +0 -1
- package/dist/negotiation/negotiation.reflect.js.map +0 -1
- package/dist/negotiation/negotiation.screen.d.ts.map +0 -1
- package/dist/negotiation/negotiation.screen.js.map +0 -1
- package/dist/negotiation/negotiation.state.d.ts.map +0 -1
- package/dist/negotiation/negotiation.state.js.map +0 -1
- package/dist/negotiation/negotiation.summarizer.d.ts.map +0 -1
- package/dist/negotiation/negotiation.summarizer.js.map +0 -1
- package/dist/negotiation/negotiation.tools.d.ts.map +0 -1
- package/dist/negotiation/negotiation.tools.js.map +0 -1
- package/dist/network/indexer/indexer.graph.d.ts.map +0 -1
- package/dist/network/indexer/indexer.graph.js.map +0 -1
- package/dist/network/indexer/indexer.state.d.ts.map +0 -1
- package/dist/network/indexer/indexer.state.js.map +0 -1
- package/dist/network/membership/membership.graph.d.ts.map +0 -1
- package/dist/network/membership/membership.graph.js.map +0 -1
- package/dist/network/membership/membership.state.d.ts.map +0 -1
- package/dist/network/membership/membership.state.js.map +0 -1
- package/dist/network/network.graph.d.ts.map +0 -1
- package/dist/network/network.graph.js.map +0 -1
- package/dist/network/network.recommender.d.ts.map +0 -1
- package/dist/network/network.recommender.js.map +0 -1
- package/dist/network/network.state.d.ts.map +0 -1
- package/dist/network/network.state.js.map +0 -1
- package/dist/network/network.tools.d.ts.map +0 -1
- package/dist/network/network.tools.js.map +0 -1
- package/dist/opportunity/delivery-card.cache.d.ts.map +0 -1
- package/dist/opportunity/delivery-card.cache.js.map +0 -1
- package/dist/opportunity/discovery-question.helper.d.ts.map +0 -1
- package/dist/opportunity/discovery-question.helper.js.map +0 -1
- package/dist/opportunity/discriminator/discriminator.adjustments.d.ts.map +0 -1
- package/dist/opportunity/discriminator/discriminator.adjustments.js.map +0 -1
- package/dist/opportunity/discriminator/discriminator.assigner.d.ts.map +0 -1
- package/dist/opportunity/discriminator/discriminator.assigner.js.map +0 -1
- package/dist/opportunity/discriminator/discriminator.env.d.ts.map +0 -1
- package/dist/opportunity/discriminator/discriminator.env.js.map +0 -1
- package/dist/opportunity/discriminator/discriminator.miner.d.ts.map +0 -1
- package/dist/opportunity/discriminator/discriminator.miner.js.map +0 -1
- package/dist/opportunity/discriminator/discriminator.push.d.ts.map +0 -1
- package/dist/opportunity/discriminator/discriminator.push.js.map +0 -1
- package/dist/opportunity/discriminator/discriminator.question.d.ts.map +0 -1
- package/dist/opportunity/discriminator/discriminator.question.js.map +0 -1
- package/dist/opportunity/discriminator/discriminator.scorer.d.ts.map +0 -1
- package/dist/opportunity/discriminator/discriminator.scorer.js.map +0 -1
- package/dist/opportunity/discriminator/discriminator.shadow.d.ts.map +0 -1
- package/dist/opportunity/discriminator/discriminator.shadow.js.map +0 -1
- package/dist/opportunity/discriminator/discriminator.types.d.ts.map +0 -1
- package/dist/opportunity/discriminator/discriminator.types.js.map +0 -1
- package/dist/opportunity/feed/feed.categorizer.d.ts.map +0 -1
- package/dist/opportunity/feed/feed.categorizer.js.map +0 -1
- package/dist/opportunity/feed/feed.graph.d.ts.map +0 -1
- package/dist/opportunity/feed/feed.graph.js.map +0 -1
- package/dist/opportunity/feed/feed.health.d.ts.map +0 -1
- package/dist/opportunity/feed/feed.health.js.map +0 -1
- package/dist/opportunity/feed/feed.state.d.ts.map +0 -1
- package/dist/opportunity/feed/feed.state.js.map +0 -1
- package/dist/opportunity/negotiation-context.loader.d.ts.map +0 -1
- package/dist/opportunity/negotiation-context.loader.js.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.env.d.ts.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.env.js.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.extractor.d.ts.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.extractor.js.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.miner.d.ts.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.miner.js.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.shadow.d.ts.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.shadow.js.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.types.d.ts.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.types.js.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.verifier.d.ts.map +0 -1
- package/dist/opportunity/negotiation-evidence/negotiation-evidence.verifier.js.map +0 -1
- package/dist/opportunity/negotiation-summary.builder.d.ts.map +0 -1
- package/dist/opportunity/negotiation-summary.builder.js.map +0 -1
- package/dist/opportunity/opportunity.actor.d.ts.map +0 -1
- package/dist/opportunity/opportunity.actor.js.map +0 -1
- package/dist/opportunity/opportunity.claim-safety.d.ts.map +0 -1
- package/dist/opportunity/opportunity.claim-safety.js.map +0 -1
- package/dist/opportunity/opportunity.discover.d.ts.map +0 -1
- package/dist/opportunity/opportunity.discover.js.map +0 -1
- package/dist/opportunity/opportunity.enricher.d.ts.map +0 -1
- package/dist/opportunity/opportunity.enricher.js.map +0 -1
- package/dist/opportunity/opportunity.evaluator.d.ts.map +0 -1
- package/dist/opportunity/opportunity.evaluator.js.map +0 -1
- package/dist/opportunity/opportunity.evidence.d.ts.map +0 -1
- package/dist/opportunity/opportunity.evidence.js.map +0 -1
- package/dist/opportunity/opportunity.graph.d.ts.map +0 -1
- package/dist/opportunity/opportunity.graph.js.map +0 -1
- package/dist/opportunity/opportunity.introducer.d.ts.map +0 -1
- package/dist/opportunity/opportunity.introducer.js.map +0 -1
- package/dist/opportunity/opportunity.labels.d.ts.map +0 -1
- package/dist/opportunity/opportunity.labels.js.map +0 -1
- package/dist/opportunity/opportunity.pending-questions.d.ts.map +0 -1
- package/dist/opportunity/opportunity.pending-questions.js.map +0 -1
- package/dist/opportunity/opportunity.persist.d.ts.map +0 -1
- package/dist/opportunity/opportunity.persist.js.map +0 -1
- package/dist/opportunity/opportunity.presentation-cache.d.ts.map +0 -1
- package/dist/opportunity/opportunity.presentation-cache.js.map +0 -1
- package/dist/opportunity/opportunity.presentation.d.ts.map +0 -1
- package/dist/opportunity/opportunity.presentation.js.map +0 -1
- package/dist/opportunity/opportunity.presenter.d.ts.map +0 -1
- package/dist/opportunity/opportunity.presenter.js.map +0 -1
- package/dist/opportunity/opportunity.safe-presentation.d.ts.map +0 -1
- package/dist/opportunity/opportunity.safe-presentation.js.map +0 -1
- package/dist/opportunity/opportunity.state.d.ts.map +0 -1
- package/dist/opportunity/opportunity.state.js.map +0 -1
- package/dist/opportunity/opportunity.tools.d.ts.map +0 -1
- package/dist/opportunity/opportunity.tools.js.map +0 -1
- package/dist/opportunity/opportunity.utils.d.ts.map +0 -1
- package/dist/opportunity/opportunity.utils.js.map +0 -1
- package/dist/opportunity/outcome/outcome.env.d.ts.map +0 -1
- package/dist/opportunity/outcome/outcome.env.js.map +0 -1
- package/dist/opportunity/outcome/outcome.hypotheses.d.ts.map +0 -1
- package/dist/opportunity/outcome/outcome.hypotheses.js.map +0 -1
- package/dist/opportunity/outcome/outcome.shadow.d.ts.map +0 -1
- package/dist/opportunity/outcome/outcome.shadow.js.map +0 -1
- package/dist/opportunity/outcome/outcome.types.d.ts.map +0 -1
- package/dist/opportunity/outcome/outcome.types.js.map +0 -1
- package/dist/premise/premise.analyzer.d.ts.map +0 -1
- package/dist/premise/premise.analyzer.js.map +0 -1
- package/dist/premise/premise.decomposer.d.ts.map +0 -1
- package/dist/premise/premise.decomposer.js.map +0 -1
- package/dist/premise/premise.graph.d.ts.map +0 -1
- package/dist/premise/premise.graph.js.map +0 -1
- package/dist/premise/premise.indexer.d.ts.map +0 -1
- package/dist/premise/premise.indexer.js.map +0 -1
- package/dist/premise/premise.state.d.ts.map +0 -1
- package/dist/premise/premise.state.js.map +0 -1
- package/dist/premise/premise.tools.d.ts.map +0 -1
- package/dist/premise/premise.tools.js.map +0 -1
- package/dist/questioner/questioner.agent.d.ts.map +0 -1
- package/dist/questioner/questioner.agent.js.map +0 -1
- package/dist/questioner/questioner.ask.tool.d.ts.map +0 -1
- package/dist/questioner/questioner.ask.tool.js.map +0 -1
- package/dist/questioner/questioner.discovery.prompt.d.ts.map +0 -1
- package/dist/questioner/questioner.discovery.prompt.js.map +0 -1
- package/dist/questioner/questioner.env.d.ts.map +0 -1
- package/dist/questioner/questioner.env.js.map +0 -1
- package/dist/questioner/questioner.presets.d.ts.map +0 -1
- package/dist/questioner/questioner.presets.js.map +0 -1
- package/dist/questioner/questioner.qud.d.ts.map +0 -1
- package/dist/questioner/questioner.qud.js.map +0 -1
- package/dist/questioner/questioner.tools.d.ts.map +0 -1
- package/dist/questioner/questioner.tools.js.map +0 -1
- package/dist/questioner/questioner.types.d.ts.map +0 -1
- package/dist/questioner/questioner.types.js.map +0 -1
- package/dist/shared/agent/model-signal.d.ts.map +0 -1
- package/dist/shared/agent/model-signal.js.map +0 -1
- package/dist/shared/agent/model.config.d.ts.map +0 -1
- package/dist/shared/agent/model.config.js.map +0 -1
- package/dist/shared/agent/tests/llm-assert.d.ts +0 -11
- package/dist/shared/agent/tests/llm-assert.d.ts.map +0 -1
- package/dist/shared/agent/tests/llm-assert.js +0 -43
- package/dist/shared/agent/tests/llm-assert.js.map +0 -1
- package/dist/shared/agent/tool.factory.d.ts.map +0 -1
- package/dist/shared/agent/tool.factory.js.map +0 -1
- package/dist/shared/agent/tool.helpers.d.ts.map +0 -1
- package/dist/shared/agent/tool.helpers.js.map +0 -1
- package/dist/shared/agent/tool.registry.d.ts.map +0 -1
- package/dist/shared/agent/tool.registry.js.map +0 -1
- package/dist/shared/agent/tool.runtime.d.ts.map +0 -1
- package/dist/shared/agent/tool.runtime.js.map +0 -1
- package/dist/shared/agent/tool.scope.d.ts.map +0 -1
- package/dist/shared/agent/tool.scope.js.map +0 -1
- package/dist/shared/agent/utility.tools.d.ts.map +0 -1
- package/dist/shared/agent/utility.tools.js.map +0 -1
- package/dist/shared/assignment/network-assignment.policy.d.ts.map +0 -1
- package/dist/shared/assignment/network-assignment.policy.js.map +0 -1
- package/dist/shared/hyde/hyde.documents.d.ts.map +0 -1
- package/dist/shared/hyde/hyde.documents.js.map +0 -1
- package/dist/shared/hyde/hyde.env.d.ts.map +0 -1
- package/dist/shared/hyde/hyde.env.js.map +0 -1
- package/dist/shared/hyde/hyde.frame.d.ts.map +0 -1
- package/dist/shared/hyde/hyde.frame.js.map +0 -1
- package/dist/shared/hyde/hyde.generator.d.ts.map +0 -1
- package/dist/shared/hyde/hyde.generator.js.map +0 -1
- package/dist/shared/hyde/hyde.graph.d.ts.map +0 -1
- package/dist/shared/hyde/hyde.graph.js.map +0 -1
- package/dist/shared/hyde/hyde.state.d.ts.map +0 -1
- package/dist/shared/hyde/hyde.state.js.map +0 -1
- package/dist/shared/hyde/hyde.strategies.d.ts.map +0 -1
- package/dist/shared/hyde/hyde.strategies.js.map +0 -1
- package/dist/shared/hyde/hyde.validator.d.ts.map +0 -1
- package/dist/shared/hyde/hyde.validator.js.map +0 -1
- package/dist/shared/hyde/lens.inferrer.d.ts.map +0 -1
- package/dist/shared/hyde/lens.inferrer.js.map +0 -1
- package/dist/shared/interfaces/agent-dispatcher.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/agent-dispatcher.interface.js.map +0 -1
- package/dist/shared/interfaces/agent.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/agent.interface.js.map +0 -1
- package/dist/shared/interfaces/auth.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/auth.interface.js.map +0 -1
- package/dist/shared/interfaces/cache.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/cache.interface.js.map +0 -1
- package/dist/shared/interfaces/chat-message-writer.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/chat-message-writer.interface.js.map +0 -1
- package/dist/shared/interfaces/chat-session.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/chat-session.interface.js.map +0 -1
- package/dist/shared/interfaces/chat-summary.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/chat-summary.interface.js.map +0 -1
- package/dist/shared/interfaces/connect-link.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/connect-link.interface.js.map +0 -1
- package/dist/shared/interfaces/contact.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/contact.interface.js.map +0 -1
- package/dist/shared/interfaces/database.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/database.interface.js.map +0 -1
- package/dist/shared/interfaces/delivery-ledger.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/delivery-ledger.interface.js.map +0 -1
- package/dist/shared/interfaces/discovery-run.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/discovery-run.interface.js.map +0 -1
- package/dist/shared/interfaces/embedder.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/embedder.interface.js.map +0 -1
- package/dist/shared/interfaces/enrichment-run.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/enrichment-run.interface.js.map +0 -1
- package/dist/shared/interfaces/enrichment.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/enrichment.interface.js.map +0 -1
- package/dist/shared/interfaces/integration.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/integration.interface.js.map +0 -1
- package/dist/shared/interfaces/negotiation-events.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/negotiation-events.interface.js.map +0 -1
- package/dist/shared/interfaces/negotiation-summary.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/negotiation-summary.interface.js.map +0 -1
- package/dist/shared/interfaces/negotiator-memory.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/negotiator-memory.interface.js.map +0 -1
- package/dist/shared/interfaces/question-generator.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/question-generator.interface.js.map +0 -1
- package/dist/shared/interfaces/questioner.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/questioner.interface.js.map +0 -1
- package/dist/shared/interfaces/queue.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/queue.interface.js.map +0 -1
- package/dist/shared/interfaces/scraper.interface.d.ts.map +0 -1
- package/dist/shared/interfaces/scraper.interface.js.map +0 -1
- package/dist/shared/network/metadata.renderer.d.ts.map +0 -1
- package/dist/shared/network/metadata.renderer.js.map +0 -1
- package/dist/shared/observability/debug-meta.sanitizer.d.ts.map +0 -1
- package/dist/shared/observability/debug-meta.sanitizer.js.map +0 -1
- package/dist/shared/observability/log.d.ts.map +0 -1
- package/dist/shared/observability/log.js.map +0 -1
- package/dist/shared/observability/performance.d.ts.map +0 -1
- package/dist/shared/observability/performance.js.map +0 -1
- package/dist/shared/observability/protocol.logger.d.ts.map +0 -1
- package/dist/shared/observability/protocol.logger.js.map +0 -1
- package/dist/shared/observability/request-context.d.ts.map +0 -1
- package/dist/shared/observability/request-context.js.map +0 -1
- package/dist/shared/observability/trace.d.ts.map +0 -1
- package/dist/shared/observability/trace.js.map +0 -1
- package/dist/shared/schemas/chat-context.schema.d.ts.map +0 -1
- package/dist/shared/schemas/chat-context.schema.js.map +0 -1
- package/dist/shared/schemas/discovery-question.schema.d.ts.map +0 -1
- package/dist/shared/schemas/discovery-question.schema.js.map +0 -1
- package/dist/shared/schemas/identity.schema.d.ts.map +0 -1
- package/dist/shared/schemas/identity.schema.js.map +0 -1
- package/dist/shared/schemas/mcp-auth.schema.d.ts.map +0 -1
- package/dist/shared/schemas/mcp-auth.schema.js.map +0 -1
- package/dist/shared/schemas/negotiation-digest.schema.d.ts.map +0 -1
- package/dist/shared/schemas/negotiation-digest.schema.js.map +0 -1
- package/dist/shared/schemas/negotiation-state.schema.d.ts.map +0 -1
- package/dist/shared/schemas/negotiation-state.schema.js.map +0 -1
- package/dist/shared/schemas/network-assignment.schema.d.ts.map +0 -1
- package/dist/shared/schemas/network-assignment.schema.js.map +0 -1
- package/dist/shared/schemas/pending-question.schema.d.ts.map +0 -1
- package/dist/shared/schemas/pending-question.schema.js.map +0 -1
- package/dist/shared/schemas/question.schema.d.ts.map +0 -1
- package/dist/shared/schemas/question.schema.js.map +0 -1
- package/dist/shared/ui/lucide.icon-catalog.d.ts.map +0 -1
- package/dist/shared/ui/lucide.icon-catalog.js.map +0 -1
- package/dist/shared/utils/social-label.d.ts.map +0 -1
- package/dist/shared/utils/social-label.js.map +0 -1
- package/dist/shared/utils/telegram-handle.d.ts.map +0 -1
- package/dist/shared/utils/telegram-handle.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enrichment.tools.js","sourceRoot":"/","sources":["enrichment/enrichment.tools.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\n\nimport { requestContext } from \"../shared/observability/request-context.js\";\n\nimport type { DefineTool, ResolvedToolContext, ToolDeps } from \"../shared/agent/tool.helpers.js\";\nimport { success, error, needsClarification, UUID_REGEX } from \"../shared/agent/tool.helpers.js\";\nimport { protocolLogger } from \"../shared/observability/protocol.logger.js\";\nimport type { EnrichmentResult } from \"../shared/interfaces/enrichment.interface.js\";\nimport type { OnboardingPrivacyState, OnboardingProfileSeed, OnboardingState, PrivacyConsentSource, UserRecord } from \"../shared/interfaces/database.interface.js\";\nimport type { EnrichmentRunInput, EnrichmentRunOperation } from \"../shared/interfaces/enrichment-run.interface.js\";\nimport { socialsToEnrichmentRequest, detectSocialLabel } from \"../shared/utils/social-label.js\";\nimport { normalizeTelegramHandle } from \"../shared/utils/telegram-handle.js\";\nimport { EnrichmentGenerator } from \"./enrichment.generator.js\";\nimport { invokeWithAbortSignal } from \"../shared/agent/model-signal.js\";\nimport { focusedNetworkId, focusedNetworkLabel } from \"../shared/agent/tool.scope.js\";\n\nconst logger = protocolLogger(\"ChatTools:Enrichment\");\n\nfunction isMeaningfulEnrichment(enrichment: EnrichmentResult | null): enrichment is EnrichmentResult {\n return !!enrichment &&\n enrichment.confidentMatch &&\n (\n enrichment.identity.bio.trim().length > 0 ||\n enrichment.narrative.context.trim().length > 0 ||\n enrichment.attributes.skills.length > 0 ||\n enrichment.attributes.interests.length > 0\n );\n}\n\nconst approvedProfileDraftSchema = z.object({\n identity: z.object({ name: z.string(), bio: z.string(), location: z.string() }),\n narrative: z.object({ context: z.string() }),\n attributes: z.object({ interests: z.array(z.string()), skills: z.array(z.string()) }),\n});\n\ntype ApprovedProfileDraft = z.infer<typeof approvedProfileDraftSchema>;\n\nexport function createEnrichmentTools(defineTool: DefineTool, deps: ToolDeps) {\n const { userDb, systemDb, graphs, enricher, grantDefaultSystemPermissions, reportToolError, getUserContextText } = deps;\n\n function trimToUndefined(value: string | null | undefined): string | undefined {\n const trimmed = value?.trim();\n return trimmed && trimmed.length > 0 ? trimmed : undefined;\n }\n\n function isPlaceholderName(value: string): boolean {\n const normalized = value.trim().toLowerCase();\n return normalized === 'unknown' || normalized === 'user';\n }\n\n function resolveAuthenticatedLookupIdentity(user: UserRecord, context: { userName?: string; userEmail?: string }) {\n const userName = trimToUndefined(user.name);\n const contextName = trimToUndefined(context.userName);\n const name = [userName, contextName].find((candidate) => candidate !== undefined && !isPlaceholderName(candidate));\n const email = trimToUndefined(user.email) ?? trimToUndefined(context.userEmail);\n return { name, email };\n }\n\n async function enrichFromUserRecord(user: { name?: string | null; email?: string | null; socials: Array<{ id: string; userId: string; label: string; value: string }> }) {\n const enrichmentSocials = socialsToEnrichmentRequest(user.socials);\n return enricher.enrichUserProfile({\n name: trimToUndefined(user.name),\n email: trimToUndefined(user.email),\n linkedin: enrichmentSocials.linkedin || undefined,\n twitter: enrichmentSocials.twitter || undefined,\n github: enrichmentSocials.github || undefined,\n telegram: enrichmentSocials.telegram || undefined,\n websites: enrichmentSocials.websites?.length ? enrichmentSocials.websites : undefined,\n });\n }\n\n function hasPublicProfileLookupConsent(onboarding: OnboardingState | null | undefined): boolean {\n return onboarding?.privacy?.publicProfileLookup?.granted === true;\n }\n\n function hasEdgeosImportConsent(onboarding: OnboardingState | null | undefined): boolean {\n return onboarding?.privacy?.edgeosImport?.granted === true;\n }\n\n function normalizeConsentSource(source: unknown): PrivacyConsentSource {\n return source === 'agentvillage_onboarding' || source === 'hermes_setup' || source === 'web_onboarding' || source === 'api'\n ? source\n : 'api';\n }\n\n function consentDecision(granted: boolean, source: PrivacyConsentSource) {\n return { granted, decidedAt: new Date().toISOString(), source };\n }\n\n function selectProfileSeed(onboarding: OnboardingState | null | undefined, networkId?: string): OnboardingProfileSeed | undefined {\n const seeds = onboarding?.profileSeeds ?? [];\n if (seeds.length === 0) return undefined;\n const scoped = networkId ? seeds.filter((seed) => seed.networkId === networkId) : seeds;\n return scoped[scoped.length - 1] ?? seeds[seeds.length - 1];\n }\n\n function normalizeSocialUpdate(label: string, value: string): { label: string; value: string } | null {\n const normalizedLabel = label.trim().toLowerCase();\n if (!normalizedLabel) return null;\n const trimmedValue = value.trim();\n if (!trimmedValue) return null;\n if (normalizedLabel === 'telegram') {\n const handle = normalizeTelegramHandle(trimmedValue);\n return handle ? { label: normalizedLabel, value: handle } : null;\n }\n return { label: normalizedLabel, value: trimmedValue };\n }\n\n async function mergeUserSocials(incoming: { label: string; value: string }[]): Promise<void> {\n const normalizedIncoming = incoming\n .map((social) => normalizeSocialUpdate(social.label, social.value))\n .filter((social): social is { label: string; value: string } => social !== null);\n if (normalizedIncoming.length === 0) return;\n\n const existingSocials = await userDb.getUserSocials();\n const incomingLabels = new Set(normalizedIncoming.map((social) => social.label));\n const kept = existingSocials\n .filter((social) => !incomingLabels.has(social.label) || social.label === 'custom')\n .map((social) => ({ label: social.label, value: social.value }));\n const merged = incomingLabels.has('custom')\n ? [...kept.filter((social) => social.label !== 'custom'), ...normalizedIncoming]\n : [...kept, ...normalizedIncoming];\n await userDb.setUserSocials(merged);\n }\n\n function socialsRecordToRows(socials: Record<string, string> | undefined): { label: string; value: string }[] {\n if (!socials) return [];\n return Object.entries(socials).map(([label, value]) => ({ label, value }));\n }\n\n async function enqueueEnrichmentRun(\n context: ResolvedToolContext,\n operation: EnrichmentRunOperation,\n input: EnrichmentRunInput,\n ): Promise<string | null> {\n if (!context.isMcp || !deps.enrichmentRuns || !deps.enrichmentRunQueue) return null;\n const run = await deps.enrichmentRuns.create({\n userId: context.userId,\n agentId: context.agentId ?? null,\n operation,\n input,\n context: {\n userId: context.userId,\n userName: context.userName,\n userEmail: context.userEmail,\n ...(focusedNetworkId(context) ? { scopeType: 'network' as const, scopeId: focusedNetworkId(context)! } : {}),\n ...(context.indexName ? { indexName: context.indexName } : {}),\n ...(context.sessionId ? { sessionId: context.sessionId } : {}),\n ...(context.agentId ? { agentId: context.agentId } : {}),\n ...(context.clientSurface ? { clientSurface: context.clientSurface } : {}),\n },\n });\n try {\n await deps.enrichmentRunQueue.enqueue(run.id);\n } catch (err) {\n const message = err instanceof Error ? err.message : String(err);\n await deps.enrichmentRuns.markFailed(run.id, message);\n if (err instanceof Error) throw err;\n const wrapped = new Error(`Failed to enqueue profile run: ${message}`) as Error & { cause?: unknown };\n wrapped.cause = err;\n throw wrapped;\n }\n return run.id;\n }\n\n async function persistApprovedProfileContext(profile: { identity: { name: string; bio: string; location: string } }, user: UserRecord | null, networkId?: string): Promise<void> {\n await userDb.updateUser({\n name: profile.identity.name,\n intro: profile.identity.bio,\n location: profile.identity.location,\n });\n\n const onboarding = user?.onboarding ?? undefined;\n if (!hasEdgeosImportConsent(onboarding)) return;\n const seed = selectProfileSeed(onboarding, networkId);\n if (!seed?.socials?.length) return;\n\n await mergeUserSocials(seed.socials);\n }\n\n async function markApprovedProfileConfirmed(context: ResolvedToolContext): Promise<void> {\n const latestUser = await userDb.getUser();\n const currentOnboarding = latestUser?.onboarding ?? context.user.onboarding ?? {};\n await userDb.updateUser({\n onboarding: {\n ...currentOnboarding,\n profileConfirmedAt: currentOnboarding.profileConfirmedAt ?? new Date().toISOString(),\n currentStep: currentOnboarding.completedAt\n ? currentOnboarding.currentStep ?? 'complete'\n : 'first_signal',\n },\n });\n }\n\n function buildProfileInput(parts: {\n name?: string;\n location?: string;\n bioOrDescription?: string;\n edgeosProfileText?: string;\n enrichment?: EnrichmentResult | null;\n socials?: Array<{ label: string; value: string }>;\n }): string {\n const lines: string[] = [];\n if (parts.name) lines.push(`Name: ${parts.name}`);\n if (parts.location) lines.push(`Location: ${parts.location}`);\n if (parts.bioOrDescription) lines.push(parts.bioOrDescription);\n if (parts.edgeosProfileText) lines.push(`Event-provided profile information:\\n${parts.edgeosProfileText}`);\n if (parts.socials?.length) {\n lines.push(`User-provided public links:\\n${parts.socials.map((s) => `${s.label}: ${s.value}`).join('\\n')}`);\n }\n const enrichment = parts.enrichment ?? null;\n if (isMeaningfulEnrichment(enrichment)) {\n lines.push([\n enrichment.identity.name ? `Enriched name: ${enrichment.identity.name}` : '',\n enrichment.identity.location ? `Enriched location: ${enrichment.identity.location}` : '',\n enrichment.identity.bio ? `Enriched bio: ${enrichment.identity.bio}` : '',\n enrichment.narrative.context ? `Enriched context: ${enrichment.narrative.context}` : '',\n enrichment.attributes.skills.length ? `Skills: ${enrichment.attributes.skills.join(', ')}` : '',\n enrichment.attributes.interests.length ? `Interests: ${enrichment.attributes.interests.join(', ')}` : '',\n ].filter(Boolean).join('\\n'));\n }\n return lines.filter((line) => line.trim().length > 0).join('\\n\\n');\n }\n\n function toProfileSummary(profile: { identity: { name: string; bio: string; location: string }; attributes: { skills: string[]; interests: string[] } }) {\n return {\n name: profile.identity.name,\n bio: profile.identity.bio,\n location: profile.identity.location,\n skills: profile.attributes.skills,\n interests: profile.attributes.interests,\n };\n }\n\n function buildApprovedDraftProfileInput(draft: ApprovedProfileDraft): string {\n return [\n draft.identity.name ? `My name is ${draft.identity.name}.` : '',\n draft.identity.location ? `I am based in ${draft.identity.location}.` : '',\n draft.identity.bio || '',\n draft.narrative.context || '',\n draft.attributes.skills.length ? `My skills include ${draft.attributes.skills.join(', ')}.` : '',\n draft.attributes.interests.length ? `My interests include ${draft.attributes.interests.join(', ')}.` : '',\n ].filter((part) => part.trim().length > 0).join('\\n');\n }\n\n async function decomposeApprovedDraftProfile(\n profile: ApprovedProfileDraft & { userId: string },\n ): Promise<void> {\n const input = buildApprovedDraftProfileInput(profile);\n if (!input.trim()) return;\n\n const traceEmitter = requestContext.getStore()?.traceEmitter;\n const graphStart = Date.now();\n traceEmitter?.({ type: \"graph_start\", name: \"enrichment\" });\n try {\n const graphInput = {\n userId: profile.userId,\n operationMode: 'write' as const,\n input,\n forceUpdate: true,\n };\n // Always invoked as a background fire-and-forget task (see confirm_user_context\n // call sites), so decomposition must outlive the originating request — invoke\n // the graph directly and never bind the request abort signal, which would\n // cancel it as soon as the web request completes.\n const result = await graphs.profile.invoke(graphInput);\n\n if (result.error) {\n const err = new Error(result.error);\n logger.error('Approved draft premise decomposition failed', {\n userId: profile.userId,\n error: result.error,\n });\n reportToolError?.(err, {\n subsystem: 'enrichment',\n operation: 'profile.confirm_draft_decompose',\n toolName: 'confirm_user_context',\n userId: profile.userId,\n tags: { toolName: 'confirm_user_context', execution: 'background' },\n });\n return;\n }\n\n // The write graph's decompose → aggregate → generate → save_profile\n // pipeline persists the aggregate profile. The approved draft was already\n // saved before decomposition started, so the DB is consistent regardless\n // of graph outcome. Do not re-save here — the graph's save_profile is\n // authoritative, and a concurrent user-driven profile update could race.\n } catch (err) {\n logger.error('Approved draft premise decomposition failed', {\n userId: profile.userId,\n error: err instanceof Error ? err.message : String(err),\n });\n reportToolError?.(err, {\n subsystem: 'enrichment',\n operation: 'profile.confirm_draft_decompose',\n toolName: 'confirm_user_context',\n userId: profile.userId,\n tags: { toolName: 'confirm_user_context', execution: 'background' },\n });\n } finally {\n traceEmitter?.({ type: \"graph_end\", name: \"enrichment\", durationMs: Date.now() - graphStart });\n }\n }\n\n const readUserContexts = defineTool({\n name: \"read_user_contexts\",\n description:\n \"Retrieves user profiles containing identity info (name, bio, location) plus a rich `context` paragraph (the user's synthesized identity text). \" +\n \"Profiles are used for semantic matching in opportunity discovery — the richer the user's context, the better the matches.\\n\\n\" +\n \"**Usage modes:**\\n\" +\n \"- With `query` (name search): finds members by name (case-insensitive substring) across the user's indexes. \" +\n \"This is the primary way to look up a person by name. Add `networkId` to restrict search to one index. (List results return thin identity only — no `context`.)\\n\" +\n \"- With `userId`: returns that specific user's profile — name, bio, location, and their `context` paragraph.\\n\" +\n \"- With `networkId` alone: returns thin-identity profiles of ALL members in that index (no `context`).\\n\" +\n \"- No parameters: returns the current user's own profile, including their `context`.\\n\\n\" +\n \"**When to use:** Before creating introductions (need profiles of both parties), when the user asks about a person, \" +\n \"or to check if a profile exists before suggesting create_user_context. \" +\n \"MCP agents should call this with no arguments at session start to fetch the caller's profile AND onboarding status.\\n\\n\" +\n \"**Returns:** Profile objects with name, bio, location, and (for single-user reads) a `context` paragraph. Use userId from results with other tools like read_intents(userId, networkId). \" +\n \"When called for the current user (no args, or userId=self), the response also includes `onboardingComplete: boolean` and `onboardingCompletedAt?: string` — \" +\n \"use these as the source of truth for whether the user still needs onboarding (do not rely on local file state).\",\n querySchema: z.object({\n userId: z.string().optional().describe(\"Fetch a specific user's profile by their user ID. Get user IDs from read_network_memberships or list_contacts.\"),\n networkId: z.string().optional().describe(\"Network UUID — fetch profiles of all members in this network, or narrow a name search to this network. Get from read_networks.\"),\n query: z.string().optional().describe(\"Name to search for (case-insensitive substring match). Searches across all the user's indexes unless networkId is also provided. Use this when the user asks to 'find' or 'look up' someone.\"),\n }),\n handler: async ({ context, query }) => {\n const scopedNetworkId = focusedNetworkId(context);\n const scopedIndexLabel = focusedNetworkLabel(context);\n const effectiveIndexId = query.networkId?.trim() || undefined;\n const targetUserId = query.userId?.trim() || undefined;\n const nameQuery = query.query?.trim() || undefined;\n\n if (effectiveIndexId && !UUID_REGEX.test(effectiveIndexId)) {\n return error(\"Invalid network ID format. Use the exact UUID from read_networks.\");\n }\n\n // --- Name search mode: query provided → find members by name ---\n if (nameQuery) {\n const pattern = nameQuery.toLowerCase();\n const MAX_RESULTS = 20;\n // When chat is network-scoped, restrict name search to that index\n const searchIndexId = effectiveIndexId || scopedNetworkId || undefined;\n\n let candidates: Array<{ userId: string; name: string; avatar: string | null }>;\n\n if (searchIndexId) {\n // Scoped to a specific index\n if (scopedNetworkId && searchIndexId !== scopedNetworkId) {\n return error(`This chat is scoped to ${scopedIndexLabel}. You can only look up people in this community.`);\n }\n const callerIsMember = await systemDb.isNetworkMember(searchIndexId, context.userId);\n if (!callerIsMember) {\n return error(\"You can only look up people in indexes you are a member of.\");\n }\n const members = await systemDb.getNetworkMembers(searchIndexId);\n candidates = members.map((m) => ({ userId: m.userId, name: m.name, avatar: m.avatar ?? null }));\n } else {\n // Search across all user's indexes\n candidates = await systemDb.getMembersFromScope();\n }\n\n logger.verbose(\"Name search candidates\", {\n query: nameQuery,\n pattern,\n candidateCount: candidates.length,\n userId: context.userId,\n });\n\n // Filter by name (case-insensitive substring), exclude self\n const matched = candidates\n .filter((c) => c.userId !== context.userId && c.name.toLowerCase().includes(pattern))\n .slice(0, MAX_RESULTS);\n\n if (matched.length === 0) {\n return success({ query: nameQuery, matchCount: 0, profiles: [], message: \"No members found matching that name.\" });\n }\n\n // Fetch full profiles for matches\n const profiles = await Promise.all(\n matched.map(async (m) => {\n try {\n const profile = await systemDb.getProfile(m.userId);\n // Flat thin identity for list results. skills/interests are retired; the\n // rich identity text (global user_context) is fetched per-user via a userId read.\n return {\n userId: m.userId,\n name: m.name,\n hasProfile: !!profile,\n ...(profile\n ? { bio: profile.identity.bio, location: profile.identity.location }\n : {}),\n };\n } catch (err) {\n logger.warn(\"read_user_contexts: getProfile failed; degrading to hasProfile=false\", {\n userId: m.userId,\n error: err instanceof Error ? err.message : String(err),\n });\n return { userId: m.userId, name: m.name, hasProfile: false };\n }\n })\n );\n\n return success({ query: nameQuery, matchCount: profiles.length, profiles });\n }\n\n // When no userId / networkId / query is provided, fall through to Mode 1 (self lookup).\n\n // --- Mode 3: networkId provided → fetch all member profiles ---\n if (effectiveIndexId) {\n // Strict scope enforcement: when chat is network-scoped, only allow querying that index\n if (scopedNetworkId && effectiveIndexId !== scopedNetworkId) {\n return error(`This chat is scoped to ${scopedIndexLabel}. You can only read profiles from this community.`);\n }\n\n // Verify the caller is a member of the network they're querying\n const callerIsMember = await systemDb.isNetworkMember(effectiveIndexId, context.userId);\n if (!callerIsMember) {\n return error(\n \"You can only read profiles from indexes you are a member of.\"\n );\n }\n\n // Use systemDb for cross-user access within shared networkes\n const members = await systemDb.getNetworkMembers(effectiveIndexId);\n const profiles = await Promise.all(\n members.map(async (member) => {\n const profile = await systemDb.getProfile(member.userId);\n // Flat thin identity for roster results. skills/interests are retired; fetch a\n // member's global user_context text via a single-user (userId) read.\n return {\n userId: member.userId,\n name: member.name,\n hasProfile: !!profile,\n ...(profile\n ? { bio: profile.identity.bio, location: profile.identity.location }\n : {}),\n };\n })\n );\n return success({ networkId: effectiveIndexId, memberCount: members.length, profiles });\n }\n\n // --- Mode 2: userId provided (different user) → fetch single profile directly ---\n if (targetUserId && targetUserId !== context.userId) {\n // Strict scope enforcement: when chat is network-scoped, verify user is in that index\n if (scopedNetworkId) {\n const isInScopedIndex = await systemDb.isNetworkMember(scopedNetworkId, targetUserId);\n if (!isInScopedIndex) {\n return error(`This chat is scoped to ${scopedIndexLabel}. You can only read profiles of members in this community.`);\n }\n }\n\n // Use systemDb for cross-user profile access (requires shared network)\n const profile = await systemDb.getProfile(targetUserId);\n if (profile) {\n // Thin identity + the user's global user_context text (profile-replacing\n // identity paragraph). skills/interests/narrative are retired (WS6).\n const context = getUserContextText ? await getUserContextText(targetUserId) : '';\n return success({\n hasProfile: true,\n name: profile.identity.name,\n bio: profile.identity.bio,\n location: profile.identity.location,\n context,\n });\n }\n return success({ hasProfile: false, message: \"This user does not have a profile yet.\" });\n }\n\n // --- Mode 1: No args / self → use profileGraph query (returns id for updates) ---\n const _readProfileGraphStart = Date.now();\n const _readProfileTraceEmitter = requestContext.getStore()?.traceEmitter;\n _readProfileTraceEmitter?.({ type: \"graph_start\", name: \"enrichment\" });\n const result = await invokeWithAbortSignal(graphs.profile, {\n userId: context.userId,\n operationMode: 'query' as const,\n });\n const _readProfileGraphMs = Date.now() - _readProfileGraphStart;\n _readProfileTraceEmitter?.({ type: \"graph_end\", name: \"enrichment\", durationMs: _readProfileGraphMs });\n\n // Self-lookup includes onboarding status so MCP agents (e.g. Edge Claw)\n // can decide whether to run the onboarding flow without depending on\n // local-only state like a workspace BOOTSTRAP.md file.\n const onboardingCompletedAt = context.user.onboarding?.completedAt ?? null;\n const onboardingFields = {\n onboardingComplete: !!onboardingCompletedAt,\n ...(onboardingCompletedAt ? { onboardingCompletedAt } : {}),\n };\n\n if (result.readResult) {\n // Augment the graph's thin-identity readResult with the caller's global\n // user_context text (the rich, profile-replacing identity paragraph).\n const readResult = result.readResult as { hasProfile?: boolean; profile?: Record<string, unknown>; message?: string };\n // Flatten identity fields up; drop the nested `profile` object (WS11).\n const flat = readResult.hasProfile && readResult.profile\n ? { hasProfile: true, ...readResult.profile, context: getUserContextText ? await getUserContextText(context.userId) : '' }\n : { ...readResult };\n return success({ ...flat, ...onboardingFields, _graphTimings: [{ name: 'enrichment', durationMs: _readProfileGraphMs, agents: result.agentTimings ?? [] }] });\n }\n if (result.profile) {\n return success({\n hasProfile: true,\n name: result.profile.identity.name,\n bio: result.profile.identity.bio,\n location: result.profile.identity.location,\n context: getUserContextText ? await getUserContextText(context.userId) : '',\n ...onboardingFields,\n _graphTimings: [{ name: 'enrichment', durationMs: _readProfileGraphMs, agents: result.agentTimings ?? [] }],\n });\n }\n return success({\n hasProfile: false,\n ...onboardingFields,\n message: \"You don't have a profile yet. Would you like to create one? You can share your LinkedIn, GitHub, or X/Twitter profile, or just tell me about yourself.\",\n _graphTimings: [{ name: 'enrichment', durationMs: _readProfileGraphMs, agents: result.agentTimings ?? [] }],\n });\n },\n });\n\n const recordOnboardingPrivacyConsent = defineTool({\n name: \"record_onboarding_privacy_consent\",\n description:\n \"Records exactly one authenticated-user onboarding privacy choice. Use this during AgentVillage/Hermes onboarding only after the user explicitly answers the matching consent question in a prior message. \" +\n \"Do not call this in the same assistant turn as the consent question, and do not combine EdgeOS import and public lookup decisions in one call. \" +\n \"This only records consent; it does not mark onboarding complete and does not create or update a profile.\",\n querySchema: z.object({\n edgeosImportGranted: z.boolean().optional().describe(\"Whether the user grants permission to use EdgeOS/event-provided profile data for onboarding.\"),\n publicProfileLookupGranted: z.boolean().optional().describe(\"Whether the user grants permission for public internet/profile lookup during onboarding.\"),\n source: z.enum(['agentvillage_onboarding', 'hermes_setup', 'web_onboarding', 'api']).optional().default('api').describe(\"Where this consent decision was collected.\"),\n }),\n handler: async ({ context, query }) => {\n const user = await userDb.getUser();\n if (user?.isGhost) {\n return error(\"Ghost users cannot record onboarding consent. The user must authenticate as a real account first.\");\n }\n const hasEdgeosDecision = query.edgeosImportGranted !== undefined;\n const hasPublicLookupDecision = query.publicProfileLookupGranted !== undefined;\n if (!hasEdgeosDecision && !hasPublicLookupDecision) {\n return error(\"Provide exactly one consent decision to record.\");\n }\n if (hasEdgeosDecision && hasPublicLookupDecision) {\n return error(\"Record EdgeOS import consent and public-profile lookup consent separately, after each explicit user answer. Do not combine them in one call.\");\n }\n\n const currentOnboarding = user?.onboarding ?? context.user.onboarding ?? {};\n const currentPrivacy: OnboardingPrivacyState = currentOnboarding.privacy ?? {};\n const source = normalizeConsentSource(query.source);\n const privacy: OnboardingPrivacyState = {\n ...currentPrivacy,\n ...(query.edgeosImportGranted !== undefined && { edgeosImport: consentDecision(query.edgeosImportGranted, source) }),\n ...(query.publicProfileLookupGranted !== undefined && { publicProfileLookup: consentDecision(query.publicProfileLookupGranted, source) }),\n };\n\n await userDb.updateUser({\n onboarding: {\n ...currentOnboarding,\n privacy,\n },\n });\n\n return success({\n message: \"Privacy choices recorded.\",\n privacy,\n });\n },\n });\n\n const previewUserContext = defineTool({\n name: \"preview_user_context\",\n description:\n \"Builds a structured profile draft for onboarding without saving anything. Use this after recording privacy consent and before asking the user to approve the profile. \" +\n \"If allowPublicLookup is false, this tool uses only explicit text, EdgeOS/event data the user allowed, and user-provided social URLs. If allowPublicLookup is true, persisted public lookup consent is required. \" +\n \"In MCP contexts, starts an async profile run and returns `profileRunId`; poll get_enrichment_run until status is `succeeded`, then present its `result`.\" +\n \" When public lookup runs, the result includes a `publicLookup` block reporting whether a candidate identity was found (`used`, `confidentMatch`) and what it was (`identity` of name/role/location, plus `socials`), so the caller can confirm identity before saving. A candidate can be returned (`used: true`) without being confident enough to enter the draft; when no lookup runs the block is `{ used: false }`.\",\n querySchema: z.object({\n name: z.string().optional().describe(\"Name explicitly provided by the user. For authenticated public lookup, the account identity is used first and this is only a fallback.\"),\n location: z.string().optional().describe(\"Location explicitly provided by the user or allowed event data.\"),\n bioOrDescription: z.string().optional().describe(\"Explicit self-description provided by the user.\"),\n edgeosProfileText: z.string().optional().describe(\"EdgeOS/event profile text, only if the user granted EdgeOS import consent.\"),\n allowPublicLookup: z.boolean().optional().default(false).describe(\"Whether to include public profile lookup. Requires previously recorded publicProfileLookup consent.\"),\n linkedinUrl: z.string().optional().describe(\"LinkedIn URL explicitly provided by the user.\"),\n githubUrl: z.string().optional().describe(\"GitHub URL explicitly provided by the user.\"),\n twitterUrl: z.string().optional().describe(\"X/Twitter URL explicitly provided by the user.\"),\n websites: z.array(z.string()).optional().describe(\"Personal/portfolio URLs explicitly provided by the user.\"),\n }),\n handler: async ({ context, query }) => {\n const user = await userDb.getUser();\n if (!user) return error(\"User not found.\");\n\n const profileRunId = await enqueueEnrichmentRun(context, \"preview_user_context\", query);\n if (profileRunId) {\n return success({\n status: \"queued\" as const,\n profileRunId,\n message: `Profile preview started. Call get_enrichment_run with profileRunId=\"${profileRunId}\" until it succeeds, fails, or is cancelled.`,\n });\n }\n\n const scopedNetworkId = focusedNetworkId(context);\n const onboarding = user.onboarding ?? context.user.onboarding;\n const hasEdgeosConsent = hasEdgeosImportConsent(onboarding);\n const seed = hasEdgeosConsent ? selectProfileSeed(onboarding, scopedNetworkId) : undefined;\n const authenticatedIdentity = resolveAuthenticatedLookupIdentity(user, context);\n const name = seed?.name || authenticatedIdentity.name || query.name?.trim() || undefined;\n const location = query.location?.trim() || seed?.location || user.location || undefined;\n const bioOrDescription = query.bioOrDescription?.trim() || seed?.bio || user.intro || undefined;\n const edgeosProfileText = query.edgeosProfileText?.trim() || undefined;\n const linkedinUrl = query.linkedinUrl?.trim();\n const githubUrl = query.githubUrl?.trim();\n const twitterUrl = query.twitterUrl?.trim();\n const websites = query.websites?.map((url) => url.trim()).filter(Boolean) ?? [];\n const socials = [\n ...(seed?.socials ?? []),\n ...(linkedinUrl ? [{ label: 'linkedin', value: linkedinUrl }] : []),\n ...(githubUrl ? [{ label: 'github', value: githubUrl }] : []),\n ...(twitterUrl ? [{ label: 'twitter', value: twitterUrl }] : []),\n ...websites.map((value) => ({ label: detectSocialLabel(value), value })),\n ];\n\n if (edgeosProfileText && !hasEdgeosConsent) {\n return error(\"EdgeOS import consent has not been recorded. Ask the user first, then call record_onboarding_privacy_consent(edgeosImportGranted=true) before using event-provided profile data.\");\n }\n\n let enrichment: EnrichmentResult | null = null;\n if (query.allowPublicLookup) {\n if (!hasPublicProfileLookupConsent(user.onboarding ?? context.user.onboarding)) {\n return error(\"Public profile lookup consent has not been recorded. Ask the user first, then call record_onboarding_privacy_consent(publicProfileLookupGranted=true).\");\n }\n const hasAuthenticatedIdentity = authenticatedIdentity.name !== undefined || authenticatedIdentity.email !== undefined;\n enrichment = await enrichFromUserRecord({\n name: authenticatedIdentity.name ?? (hasAuthenticatedIdentity ? undefined : name),\n email: authenticatedIdentity.email,\n socials: socials.map((social, index) => ({ id: `preview-${index}`, userId: context.userId, ...social })),\n });\n }\n\n const input = buildProfileInput({ name, location, bioOrDescription, edgeosProfileText, enrichment, socials });\n if (!input.trim()) {\n return needsClarification({\n missingFields: ['profile_description'],\n message: \"Please share a short description, allowed EdgeOS profile text, or user-provided profile links so I can draft your profile.\",\n });\n }\n\n const generated = await new EnrichmentGenerator().invoke(input);\n const profile = { ...generated.output, userId: context.userId };\n return success({\n preview: true,\n persisted: false,\n message: \"Profile draft generated. Show this to the user and ask whether it looks right before calling confirm_user_context.\",\n profile: toProfileSummary(profile),\n draft: profile,\n publicLookup: enrichment\n ? {\n used: true,\n confidentMatch: enrichment.confidentMatch,\n // identity.bio is the role/headline string returned by the lookup\n identity: {\n name: enrichment.identity.name,\n role: enrichment.identity.bio,\n location: enrichment.identity.location,\n },\n socials: enrichment.socials,\n }\n : { used: false },\n });\n },\n });\n\n const confirmUserContext = defineTool({\n name: \"confirm_user_context\",\n description:\n \"Saves an explicitly approved onboarding profile draft. Call this only after the user has seen the draft from preview_user_context and approved it or provided corrections. \" +\n \"This path uses only the approved draft/explicit correction text and does not scrape or run public lookup.\",\n querySchema: z.object({\n draft: approvedProfileDraftSchema.optional().describe(\"The structured profile draft returned by preview_user_context after user approval.\"),\n bioOrDescription: z.string().optional().describe(\"Approved correction or explicit profile text if not passing a structured draft.\"),\n name: z.string().optional().describe(\"Approved name correction.\"),\n location: z.string().optional().describe(\"Approved location correction.\"),\n }),\n handler: async ({ context, query }) => {\n const user = await userDb.getUser();\n if (query.draft) {\n const profile = { ...query.draft, userId: context.userId };\n await userDb.saveProfile({ userId: context.userId, identity: profile.identity, context: profile.narrative?.context ?? '' });\n await persistApprovedProfileContext(profile, user, focusedNetworkId(context));\n await markApprovedProfileConfirmed(context);\n\n const decomposeLogLabel = context.isMcp\n ? 'Approved draft premise decomposition failed'\n : 'Approved draft premise decomposition failed (web)';\n decomposeApprovedDraftProfile(profile).catch((err: unknown) => {\n logger.error(decomposeLogLabel, {\n userId: profile.userId,\n error: err instanceof Error ? err.message : String(err),\n });\n });\n\n return success({\n created: true,\n message: context.isMcp\n ? \"Profile saved from approved draft. Premise extraction is running in the background.\"\n : \"Profile saved from approved draft.\",\n profile: toProfileSummary(profile),\n });\n }\n\n const description = query.bioOrDescription?.trim();\n if (!description) {\n return error(\"Pass the approved structured draft or explicit approved profile text.\");\n }\n const approvedName = query.name?.trim();\n const approvedLocation = query.location?.trim();\n const input = buildProfileInput({\n name: approvedName,\n location: approvedLocation,\n bioOrDescription: description,\n });\n const rawProfile = {\n identity: {\n name: approvedName && approvedName.length > 0 ? approvedName : user?.name ?? '',\n bio: description,\n location: approvedLocation && approvedLocation.length > 0 ? approvedLocation : user?.location ?? '',\n },\n };\n await persistApprovedProfileContext(rawProfile, user, focusedNetworkId(context));\n await markApprovedProfileConfirmed(context);\n\n const _confirmTraceEmitter = requestContext.getStore()?.traceEmitter;\n const _confirmGraphStart = Date.now();\n _confirmTraceEmitter?.({ type: \"graph_start\", name: \"enrichment\" });\n graphs.profile.invoke({\n userId: context.userId,\n operationMode: 'write' as const,\n input,\n forceUpdate: true,\n }).then((result) => {\n if (result.error || !result.profile) {\n logger.error('Background profile generation failed', {\n userId: context.userId,\n error: result.error ?? 'No profile returned',\n });\n }\n }).catch((err: unknown) =>\n logger.error('Background profile generation failed', {\n userId: context.userId,\n error: err instanceof Error ? err.message : String(err),\n })\n ).finally(() => {\n const _confirmGraphMs = Date.now() - _confirmGraphStart;\n _confirmTraceEmitter?.({ type: \"graph_end\", name: \"enrichment\", durationMs: _confirmGraphMs });\n });\n\n return success({\n created: true,\n message: \"Profile text accepted. Your profile is being structured in the background.\",\n profile: toProfileSummary({\n identity: rawProfile.identity,\n attributes: { skills: [], interests: [] },\n }),\n });\n },\n });\n\n const createUserContext = defineTool({\n name: \"create_user_context\",\n description:\n \"Legacy/backward-compatible tool that creates or regenerates the authenticated user's profile. AgentVillage/Hermes onboarding must use \" +\n \"record_onboarding_privacy_consent → preview_user_context → confirm_user_context instead, so consent is recorded and the draft is shown before saving. \" +\n \"Profiles are essential for discovery — they provide the semantic context used to match users with complementary intents.\\n\\n\" +\n \"**How it works:** For generic clients, the system can enrich profile data from public web sources (LinkedIn, GitHub, Twitter) and/or explicit user input, \" +\n \"then generates a structured profile with bio, skills, interests, location, and narrative context. Do not call with no arguments in consent-required onboarding flows.\\n\\n\" +\n \"**Usage patterns:**\\n\" +\n \"- No args: attempts auto-generation from account data. If insufficient info, returns `missingFields` — ask the user for name/social URLs and retry.\\n\" +\n \"- With social URLs (linkedinUrl, githubUrl, etc.): enriches from those specific URLs.\\n\" +\n \"- With bioOrDescription: creates profile from explicit text only (no web scraping).\\n\" +\n \"- Legacy onboarding clients: first call returns a preview. AgentVillage/Hermes clients should not use this preview path; use preview_user_context instead because it does not persist enrichment side effects.\\n\\n\" +\n \"**Returns:** The generated profile (name, bio, location, skills, interests) or a `needsClarification` response listing missing fields.\\n\\n\" +\n \"**Next steps:** After profile creation, the user can create intents (create_intent) and join indexes (create_network_membership) to start discovering opportunities.\",\n querySchema: z.object({\n name: z.string().optional().describe(\"User's full name (first and last). Pass when the user explicitly provides their name.\"),\n linkedinUrl: z.string().optional().describe(\"LinkedIn profile URL (e.g. 'https://linkedin.com/in/username'). Pass when user shares a LinkedIn link.\"),\n githubUrl: z.string().optional().describe(\"GitHub profile URL (e.g. 'https://github.com/username'). Pass when user shares a GitHub link.\"),\n twitterUrl: z.string().optional().describe(\"X/Twitter profile URL (e.g. 'https://x.com/username'). Pass when user shares a Twitter/X link.\"),\n websites: z.array(z.string()).optional().describe(\"Personal or portfolio website URLs. Pass when user shares website links.\"),\n location: z.string().optional().describe(\"User's location (e.g. 'Berlin, Germany' or 'SF Bay Area'). Pass when the user mentions where they are based.\"),\n bioOrDescription: z.string().optional().describe(\"Explicit profile text from the user (e.g. 'software engineer focused on AI/ML, based in SF'). When provided, creates/updates profile from this text only — no web scraping. Use when user describes themselves in chat.\"),\n confirm: z.boolean().optional().describe(\"Set to true to save a previously previewed profile. Only used during onboarding flow after the user approves the preview.\"),\n }),\n handler: async ({ context, query }) => {\n // Persist user-info fields (name, location, socials) to users table before any branching.\n // This ensures users.name is always updated regardless of which code path runs.\n // Trim all string fields to avoid persisting whitespace-only values.\n const name = query.name?.trim();\n const location = query.location?.trim();\n const linkedinUrl = query.linkedinUrl?.trim();\n const githubUrl = query.githubUrl?.trim();\n const twitterUrl = query.twitterUrl?.trim();\n const websites = query.websites?.map((url) => url.trim()).filter(Boolean);\n const hasSocialsFromQuery = Boolean(linkedinUrl || githubUrl || twitterUrl || websites?.length);\n if (name || location) {\n await userDb.updateUser({\n ...(name ? { name } : {}),\n ...(location ? { location } : {}),\n });\n }\n if (hasSocialsFromQuery) {\n const newSocials: { label: string; value: string }[] = [];\n if (linkedinUrl) newSocials.push({ label: 'linkedin', value: linkedinUrl });\n if (githubUrl) newSocials.push({ label: 'github', value: githubUrl });\n if (twitterUrl) newSocials.push({ label: 'twitter', value: twitterUrl });\n if (websites?.length) {\n for (const w of websites) newSocials.push({ label: detectSocialLabel(w), value: w });\n }\n await mergeUserSocials(newSocials);\n }\n logger.verbose(\"Persisted user-info fields to user record\", { userId: context.userId });\n\n const isOnboarding = !(context.user.onboarding?.completedAt);\n if (isOnboarding) {\n // \"Already enriched?\" must key on a real enrichment signal, not getProfile():\n // post-WS11 getProfile() returns a presentation row for EVERY existing user, so\n // it would always short-circuit onboarding and refuse to enrich. The global\n // user_context is the canonical signal (non-empty <=> the user has premises /\n // has been enriched), mirroring findWithGraph's `hasProfile`.\n const existingContext = getUserContextText\n ? (await getUserContextText(context.userId)).trim()\n : '';\n if (existingContext) {\n const existingProfile = await userDb.getProfile();\n return success({\n alreadyExists: true,\n message: \"Profile already exists. If the user confirmed it, call complete_onboarding() to finish setup. If they want changes, use create_user_context(bioOrDescription=\\\"...\\\", confirm=true).\",\n ...(existingProfile\n ? {\n profile: {\n name: existingProfile.identity.name,\n bio: existingProfile.identity.bio,\n location: existingProfile.identity.location,\n },\n }\n : {}),\n });\n }\n\n // Preview mode: enrich and persist enrichment results, but don't generate full profile\n if (!query.confirm) {\n try {\n const user = await userDb.getUser();\n const enrichment = user ? await enrichFromUserRecord(user) : null;\n\n if (isMeaningfulEnrichment(enrichment)) {\n // Persist enrichment data to user record so confirm path has it\n const updatePayload: {\n name?: string;\n intro?: string;\n location?: string;\n } = {};\n if (enrichment.identity.name?.trim()) {\n updatePayload.name = enrichment.identity.name.trim();\n }\n if (enrichment.identity.bio?.trim()) updatePayload.intro = enrichment.identity.bio.trim();\n if (enrichment.identity.location?.trim()) updatePayload.location = enrichment.identity.location.trim();\n if (Object.keys(updatePayload).length > 0) await userDb.updateUser(updatePayload);\n const enrichedSocials: { label: string; value: string }[] = [];\n if (enrichment.socials.twitter) enrichedSocials.push({ label: 'twitter', value: enrichment.socials.twitter });\n if (enrichment.socials.linkedin) enrichedSocials.push({ label: 'linkedin', value: enrichment.socials.linkedin });\n if (enrichment.socials.github) enrichedSocials.push({ label: 'github', value: enrichment.socials.github });\n if (enrichment.socials.telegram) enrichedSocials.push({ label: 'telegram', value: enrichment.socials.telegram });\n if (enrichment.socials.websites?.length) {\n for (const w of enrichment.socials.websites) enrichedSocials.push({ label: 'custom', value: w });\n }\n if (enrichedSocials.length > 0) {\n await mergeUserSocials(enrichedSocials);\n }\n\n return success({\n preview: true,\n message: \"Profile preview generated. Call create_user_context(confirm=true) to save.\",\n profile: {\n name: enrichment.identity.name,\n bio: enrichment.identity.bio,\n location: enrichment.identity.location,\n skills: enrichment.attributes.skills,\n interests: enrichment.attributes.interests,\n },\n // Always present when isMeaningfulEnrichment passes — may be {} if the\n // enrichment found no social handles. LLM should ask the user to provide\n // links when empty (see buildOnboarding step 3 in chat.prompt.ts).\n detectedSocials: enrichment.socials,\n });\n }\n } catch (err) {\n logger.warn(\"Enrichment preview failed\", {\n error: err instanceof Error ? err.message : String(err),\n });\n }\n\n return needsClarification({\n missingFields: ['bio_or_social_urls'],\n message: \"I couldn't find enough public info. Could you share a short description of yourself, or a LinkedIn/GitHub/X profile link?\",\n });\n }\n\n // Confirm mode: invoke graph in generate mode (enrichment data already persisted during preview)\n // Do NOT re-run enrichFromUserRecord — the graph's autoGenerateNode handles enrichment\n // from the (now well-populated) user record, avoiding non-deterministic drift.\n try {\n const _confirmGraphStart = Date.now();\n const _confirmTraceEmitter = requestContext.getStore()?.traceEmitter;\n _confirmTraceEmitter?.({ type: \"graph_start\", name: \"enrichment\" });\n const result = await invokeWithAbortSignal(graphs.profile, {\n userId: context.userId,\n operationMode: 'generate' as const,\n });\n const _confirmGraphMs = Date.now() - _confirmGraphStart;\n _confirmTraceEmitter?.({ type: \"graph_end\", name: \"enrichment\", durationMs: _confirmGraphMs });\n\n if (result.error) return error(result.error);\n if (result.profile) {\n await markApprovedProfileConfirmed(context);\n return success({\n created: true,\n message: \"Profile saved.\",\n profile: {\n name: result.profile.identity.name,\n bio: result.profile.identity.bio,\n location: result.profile.identity.location,\n skills: result.profile.attributes.skills,\n interests: result.profile.attributes.interests,\n },\n _graphTimings: [{ name: 'enrichment', durationMs: _confirmGraphMs, agents: result.agentTimings ?? [] }],\n });\n }\n } catch (err) {\n logger.warn(\"Profile generation on confirm failed, falling back to full graph\", {\n error: err instanceof Error ? err.message : String(err),\n });\n }\n // Fallback: graph invocation failed on confirm, fall through to full graph invocation\n }\n\n const hasBioOrDescription = !!query.bioOrDescription?.trim();\n\n if (hasBioOrDescription) {\n // Create/update profile from user's explicit text only; do not persist to user record\n // Include name and location in the input if provided so the EnrichmentGenerator can use them\n const inputParts: string[] = [];\n if (name) inputParts.push(`Name: ${name}`);\n if (location) inputParts.push(`Location: ${location}`);\n inputParts.push(query.bioOrDescription!.trim());\n const profileInput = inputParts.join('\\n');\n \n const _bioProfileGraphStart = Date.now();\n const _bioProfileTraceEmitter = requestContext.getStore()?.traceEmitter;\n _bioProfileTraceEmitter?.({ type: \"graph_start\", name: \"enrichment\" });\n const result = await invokeWithAbortSignal(graphs.profile, {\n userId: context.userId,\n operationMode: 'write' as const,\n input: profileInput,\n forceUpdate: true,\n });\n const _bioProfileGraphMs = Date.now() - _bioProfileGraphStart;\n _bioProfileTraceEmitter?.({ type: \"graph_end\", name: \"enrichment\", durationMs: _bioProfileGraphMs });\n if (result.error) {\n return error(result.error);\n }\n if (result.profile) {\n if (isOnboarding && query.confirm) await markApprovedProfileConfirmed(context);\n return success({\n created: true,\n message: \"Profile created/updated with the information you provided.\",\n profile: {\n name: result.profile.identity.name,\n bio: result.profile.identity.bio,\n location: result.profile.identity.location,\n skills: result.profile.attributes.skills,\n interests: result.profile.attributes.interests,\n },\n _graphTimings: [{ name: 'enrichment', durationMs: _bioProfileGraphMs, agents: result.agentTimings ?? [] }],\n });\n }\n if (isOnboarding && query.confirm) await markApprovedProfileConfirmed(context);\n return success({\n created: true,\n message: \"Profile created/updated with the information you provided.\",\n _graphTimings: [{ name: 'enrichment', durationMs: _bioProfileGraphMs, agents: result.agentTimings ?? [] }],\n });\n }\n\n // Invoke profile graph in generate mode (uses enrichUserProfile Chat API)\n const _generateProfileGraphStart = Date.now();\n const _generateProfileTraceEmitter = requestContext.getStore()?.traceEmitter;\n _generateProfileTraceEmitter?.({ type: \"graph_start\", name: \"enrichment\" });\n const result = await invokeWithAbortSignal(graphs.profile, {\n userId: context.userId,\n operationMode: 'generate' as const,\n forceUpdate: true,\n });\n const _generateProfileGraphMs = Date.now() - _generateProfileGraphStart;\n _generateProfileTraceEmitter?.({ type: \"graph_end\", name: \"enrichment\", durationMs: _generateProfileGraphMs });\n\n // If user info is insufficient, ask conversationally\n if (result.needsUserInfo) {\n return needsClarification({\n missingFields: result.missingUserInfo || ['social_urls', 'full_name'],\n message: \"I need a bit more information to create your profile. Could you share your full name and any social links (LinkedIn, GitHub, or X/Twitter)?\",\n });\n }\n\n if (result.error) {\n return error(result.error);\n }\n\n if (result.profile) {\n if (isOnboarding && query.confirm) await markApprovedProfileConfirmed(context);\n return success({\n created: true,\n message: \"Profile generated from your account data.\",\n profile: {\n name: result.profile.identity.name,\n bio: result.profile.identity.bio,\n location: result.profile.identity.location,\n skills: result.profile.attributes.skills,\n interests: result.profile.attributes.interests,\n },\n _graphTimings: [{ name: 'enrichment', durationMs: _generateProfileGraphMs, agents: result.agentTimings ?? [] }],\n });\n }\n\n return error(\"Failed to create profile. Please try again.\");\n },\n });\n\n const updateUserContext = defineTool({\n name: \"update_user_context\",\n description:\n \"Updates the authenticated user's existing profile using a verb-style instruction interface.\\n\\n\" +\n \"**How to use it:**\\n\" +\n \"- `action`: a natural-language instruction describing what to change (e.g. \\\"add interests\\\", \\\"update bio\\\", \\\"remove skill\\\", \\\"set location\\\").\\n\" +\n \"- `details`: the content to apply (e.g. \\\"procedural generation, roguelikes, narrative games\\\").\\n\" +\n \"- `socials`: optional social handles to merge into the user's reachable profile (e.g. `{ telegram: \\\"@alice\\\" }`).\\n\\n\" +\n \"**Examples:**\\n\" +\n \"- `action=\\\"add interests\\\"`, `details=\\\"procedural generation, roguelikes\\\"`\\n\" +\n \"- `action=\\\"update bio\\\"`, `details=\\\"Product designer focused on desktop CRPG interfaces\\\"`\\n\" +\n \"- `action=\\\"set location\\\"`, `details=\\\"Berlin\\\"`\\n\" +\n \"- `action=\\\"remove all mentions of X\\\"` — existing profile facts matching X are retracted; the profile text regenerates without them shortly after.\\n\" +\n \"- `socials={ telegram: \\\"@alice\\\" }` to silently add a reachable chat handle without regenerating the profile.\\n\\n\" +\n \"**When to use:** When the user wants to make specific changes without regenerating the whole profile. For full profile regeneration from social URLs, use create_user_context instead.\\n\\n\" +\n \"**Important:** If the user provides a URL to update from, call scrape_url first, then pass the scraped content in `details`.\\n\\n\" +\n \"**MCP behavior:** For MCP clients, text/profile graph updates are accepted immediately and completed in the background to avoid transport timeouts. Social-only updates still complete synchronously.\\n\\n\" +\n \"**Returns:** Confirmation that the profile was updated or accepted for background update.\",\n querySchema: z.object({\n profileId: z.string().optional().describe(\"Profile UUID from read_user_contexts. Omit to update the current user's own profile (most common usage).\"),\n action: z.string().optional().describe(\"Natural language description of ALL changes to make in a single call. Examples: 'update bio to focus on AI research', 'add Python and Rust to skills', 'change location to Berlin and add machine learning to interests'. Optional when only updating socials.\"),\n details: z.string().optional().describe(\"Additional context or content to incorporate. Use this to pass scraped URL content (from scrape_url) or longer text the user provided.\"),\n socials: z.record(z.string()).optional().describe(\"Social handles or URLs to merge into the user profile, keyed by label. Example: { telegram: '@alice', github: 'alice' }. Existing socials with other labels are preserved.\"),\n }),\n handler: async ({ context, query }) => {\n const socialUpdates = socialsRecordToRows(query.socials);\n const inputForProfile = [query.action, query.details].filter(Boolean).join(\"\\n\");\n if (!inputForProfile.trim()) {\n if (socialUpdates.length > 0) {\n await mergeUserSocials(socialUpdates);\n return success({ message: \"Profile socials updated.\" });\n }\n return error(\"Please specify what to update (e.g. action: 'update bio to X') or provide socials.\");\n }\n\n const profileRunId = await enqueueEnrichmentRun(context, \"update_user_context\", query);\n if (profileRunId) {\n return success({\n status: \"queued\" as const,\n profileRunId,\n message: `Profile update started. Call get_enrichment_run with profileRunId=\"${profileRunId}\" until it succeeds, fails, or is cancelled.`,\n });\n }\n\n // Use profileGraph query mode to validate profile existence and get id\n const _updateQueryProfileGraphStart = Date.now();\n const _updateQueryProfileTraceEmitter = requestContext.getStore()?.traceEmitter;\n _updateQueryProfileTraceEmitter?.({ type: \"graph_start\", name: \"enrichment\" });\n const queryResult = await invokeWithAbortSignal(graphs.profile, { userId: context.userId, operationMode: 'query' as const });\n const _updateQueryProfileGraphMs = Date.now() - _updateQueryProfileGraphStart;\n _updateQueryProfileTraceEmitter?.({ type: \"graph_end\", name: \"enrichment\", durationMs: _updateQueryProfileGraphMs });\n if (!queryResult.readResult?.hasProfile && !queryResult.profile) {\n return error(\"You don't have a profile yet. Use create_user_context first.\");\n }\n const existingProfileId = queryResult.readResult?.profile?.id;\n const providedProfileId = query.profileId?.trim();\n if (providedProfileId && existingProfileId && providedProfileId !== existingProfileId) {\n return error(\"Invalid profileId. Use the profile id from read_user_contexts.\");\n }\n\n if (socialUpdates.length > 0) {\n await mergeUserSocials(socialUpdates);\n }\n\n if (context.isMcp) {\n const _backgroundWriteProfileGraphStart = Date.now();\n const _backgroundWriteProfileTraceEmitter = requestContext.getStore()?.traceEmitter;\n _backgroundWriteProfileTraceEmitter?.({ type: \"graph_start\", name: \"enrichment\" });\n graphs.profile.invoke({\n userId: context.userId,\n operationMode: \"write\",\n input: inputForProfile,\n forceUpdate: true,\n }).then((writeResult) => {\n if (writeResult.error) {\n logger.error(\"Background profile update failed\", {\n userId: context.userId,\n error: writeResult.error,\n });\n reportToolError?.(new Error(writeResult.error), {\n subsystem: \"enrichment\",\n operation: \"profile.update_background\",\n toolName: \"update_user_context\",\n userId: context.userId,\n tags: { toolName: \"update_user_context\", execution: \"background\" },\n context: { profileId: existingProfileId ?? providedProfileId },\n });\n }\n }).catch((err: unknown) => {\n const message = err instanceof Error ? err.message : String(err);\n logger.error(\"Background profile update failed\", {\n userId: context.userId,\n error: message,\n });\n reportToolError?.(err, {\n subsystem: \"enrichment\",\n operation: \"profile.update_background\",\n toolName: \"update_user_context\",\n userId: context.userId,\n tags: { toolName: \"update_user_context\", execution: \"background\" },\n context: { profileId: existingProfileId ?? providedProfileId },\n });\n }).finally(() => {\n const _backgroundWriteProfileGraphMs = Date.now() - _backgroundWriteProfileGraphStart;\n _backgroundWriteProfileTraceEmitter?.({ type: \"graph_end\", name: \"enrichment\", durationMs: _backgroundWriteProfileGraphMs });\n });\n\n return success({\n accepted: true,\n message: \"Profile update accepted. The structured profile will refresh in the background.\",\n _graphTimings: [\n { name: 'enrichment', durationMs: _updateQueryProfileGraphMs, agents: queryResult.agentTimings ?? [] },\n ],\n });\n }\n\n // Execute update directly\n const _updateWriteProfileGraphStart = Date.now();\n const _updateWriteProfileTraceEmitter = requestContext.getStore()?.traceEmitter;\n _updateWriteProfileTraceEmitter?.({ type: \"graph_start\", name: \"enrichment\" });\n const _writeResult = await invokeWithAbortSignal(graphs.profile, {\n userId: context.userId,\n operationMode: \"write\",\n input: inputForProfile,\n forceUpdate: true,\n });\n const _updateWriteProfileGraphMs = Date.now() - _updateWriteProfileGraphStart;\n _updateWriteProfileTraceEmitter?.({ type: \"graph_end\", name: \"enrichment\", durationMs: _updateWriteProfileGraphMs });\n if (_writeResult.error) {\n return error(_writeResult.error);\n }\n return success({\n message: \"Profile updated.\",\n _graphTimings: [\n { name: 'enrichment', durationMs: _updateQueryProfileGraphMs, agents: queryResult.agentTimings ?? [] },\n { name: 'enrichment', durationMs: _updateWriteProfileGraphMs, agents: _writeResult.agentTimings ?? [] },\n ],\n });\n },\n });\n\n const getEnrichmentRun = defineTool({\n name: \"get_enrichment_run\",\n description:\n \"Checks the status of an async profile preview/update run started by preview_user_context or update_user_context in MCP contexts. \" +\n \"Poll this tool with the profileRunId until status is succeeded, failed, or cancelled. When succeeded, present the result to the user.\",\n querySchema: z.object({\n profileRunId: z.string().describe(\"Profile run ID returned by preview_user_context or update_user_context.\"),\n }),\n handler: async ({ context, query }) => {\n if (!deps.enrichmentRuns) {\n return error(\"Profile run polling is not available in this environment.\");\n }\n const run = await deps.enrichmentRuns.get(query.profileRunId, context.userId);\n if (!run) return error(\"Profile run not found.\");\n return success({\n profileRunId: run.id,\n operation: run.operation,\n status: run.status,\n progress: run.progress ?? null,\n result: run.result ?? null,\n error: run.error ?? null,\n createdAt: run.createdAt.toISOString?.() ?? null,\n startedAt: run.startedAt?.toISOString?.() ?? null,\n completedAt: run.completedAt?.toISOString?.() ?? null,\n });\n },\n });\n\n const cancelEnrichmentRun = defineTool({\n name: \"cancel_enrichment_run\",\n description:\n \"Requests cancellation for an async profile run. If the queued job has not started, it is removed and marked cancelled. \" +\n \"If already running, the worker observes the cancellation request and aborts where supported.\",\n querySchema: z.object({\n profileRunId: z.string().describe(\"Profile run ID returned by preview_user_context or update_user_context.\"),\n }),\n handler: async ({ context, query }) => {\n if (!deps.enrichmentRuns || !deps.enrichmentRunQueue) {\n return error(\"Profile run cancellation is not available in this environment.\");\n }\n const existing = await deps.enrichmentRuns.get(query.profileRunId, context.userId);\n if (!existing) return error(\"Profile run not found.\");\n if (![\"queued\", \"running\"].includes(existing.status)) {\n return success({\n profileRunId: existing.id,\n status: existing.status,\n message: `Profile run is already ${existing.status}.`,\n });\n }\n const run = await deps.enrichmentRuns.requestCancel(query.profileRunId, context.userId);\n if (!run) return error(\"Profile run not found or cannot be cancelled.\");\n const removed = await deps.enrichmentRunQueue.cancel(run.id);\n if (removed) {\n await deps.enrichmentRuns.markCancelled(run.id, \"cancelled before worker start\");\n }\n const updated = await deps.enrichmentRuns.get(run.id, context.userId);\n return success({\n profileRunId: run.id,\n status: updated?.status ?? run.status,\n cancelled: true,\n message: removed\n ? \"Profile run cancelled before it started.\"\n : \"Cancellation requested while the profile run is running or queued.\",\n });\n },\n });\n\n const completeOnboarding = defineTool({\n name: \"complete_onboarding\",\n description:\n \"Marks the user's onboarding as complete after validating the durable approved-profile marker and a persisted active first signal created at or after that approval. \" +\n \"Web onboarding should pass the exact intentId returned by /intents/confirm; legacy clients may omit it and use any eligible active intent. \" +\n \"This preserves privacy fields, records firstSignalIntentId/currentStep, and is idempotent.\",\n querySchema: z.object({\n intentId: z.string().min(1).optional().describe(\"Exact first-signal ID returned by the confirmation endpoint.\"),\n }).strict(),\n handler: async ({ context, query }) => {\n const currentUser = await userDb.getUser();\n const currentOnboarding = currentUser?.onboarding ?? context.user.onboarding ?? {};\n if (currentOnboarding.completedAt) {\n logger.verbose(\"Onboarding already completed, skipping\", { userId: context.userId });\n return success({\n message: \"Onboarding already completed.\",\n completedAt: currentOnboarding.completedAt,\n ...(currentOnboarding.firstSignalIntentId\n ? { intentId: currentOnboarding.firstSignalIntentId }\n : {}),\n });\n }\n\n if (!currentOnboarding.profileConfirmedAt) {\n return error(\"Onboarding cannot be completed until the user has a confirmed profile. Show the profile draft, get explicit approval, then save it before finishing onboarding.\");\n }\n const profileConfirmedAtMs = Date.parse(currentOnboarding.profileConfirmedAt);\n if (!Number.isFinite(profileConfirmedAtMs)) {\n return error(\"Onboarding cannot be completed because the durable profile confirmation timestamp is invalid. Confirm the approved profile again before finishing onboarding.\");\n }\n\n const activeIntents = await userDb.getActiveIntents();\n const isEligibleFirstSignal = (intent: (typeof activeIntents)[number]) => {\n const createdAtMs = intent.createdAt.getTime();\n return Number.isFinite(createdAtMs) && createdAtMs >= profileConfirmedAtMs;\n };\n const firstSignal = query.intentId\n ? activeIntents.find((intent) => intent.id === query.intentId)\n : activeIntents.find(isEligibleFirstSignal);\n if (!firstSignal) {\n return error(query.intentId\n ? \"Onboarding cannot be completed because the confirmed first signal is not active for this user.\"\n : \"Onboarding cannot be completed until the user has at least one active intent created after profile confirmation. Ask what they are open to right now and create the first signal before finishing onboarding.\");\n }\n if (!isEligibleFirstSignal(firstSignal)) {\n return error(\"Onboarding cannot be completed because the selected first signal was created before profile confirmation. Create and confirm a new signal before finishing onboarding.\");\n }\n\n const completedAt = new Date().toISOString();\n await userDb.updateUser({\n onboarding: {\n ...currentOnboarding,\n firstSignalIntentId: firstSignal.id,\n currentStep: 'complete',\n completedAt,\n },\n });\n\n if (grantDefaultSystemPermissions) {\n try {\n await grantDefaultSystemPermissions(context.userId);\n } catch (err) {\n logger.warn('Default system agent permission grant failed (non-fatal)', {\n userId: context.userId,\n error: err instanceof Error ? err.message : String(err),\n });\n }\n }\n\n logger.info(\"Onboarding completed\", { userId: context.userId, intentId: firstSignal.id });\n return success({ message: \"Onboarding complete.\", intentId: firstSignal.id, completedAt });\n },\n });\n\n return [readUserContexts, recordOnboardingPrivacyConsent, previewUserContext, confirmUserContext, createUserContext, updateUserContext, getEnrichmentRun, cancelEnrichmentRun, completeOnboarding] as const;\n}\n"]}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["// =============================================================================\n// @indexnetwork/protocol — public API barrel\n//\n// This file is the ONLY supported entry point. Deep imports\n// (\"@indexnetwork/protocol/src/...\") are not part of the contract and may break\n// in any release. Every symbol is re-exported explicitly (no wildcards) so the\n// surface is reviewable and changes are intentional.\n//\n// Stability tiers are defined in STABILITY.md. In short:\n// • Stable — Interfaces, Graph factories, Agents, the tool/runtime\n// helpers, and shared schemas.\n// • Experimental — Sections marked @experimental below (advanced graph state\n// types and internal helpers); may change in a minor release.\n// =============================================================================\n\n// ─── Public API (recommended for external consumers) ──────────────────────────\n\nexport { getModelName } from \"./shared/agent/model.config.js\";\nexport type { ResolvedToolContext, ToolDeps, RawToolDefinition, CompiledGraph } from \"./shared/agent/tool.helpers.js\";\nexport { ChatContextAccessError, resolveChatContext } from \"./shared/agent/tool.helpers.js\";\nexport { deriveAllowedNetworkIds, deriveDiscoveryNetworkIds } from \"./shared/agent/tool.scope.js\";\nexport type { ToolScopeType } from \"./shared/agent/tool.scope.js\";\nexport { requestContext } from \"./shared/observability/request-context.js\";\nexport { setLoggerFactory } from \"./shared/observability/log.js\";\nexport { setTimingWrapper } from \"./shared/observability/performance.js\";\nexport { getToolTimeoutPolicy, invokeToolRuntime, toolRuntimeErrorToResult } from \"./shared/agent/tool.runtime.js\";\n\n// ─── Interfaces (implement these to wire up your infrastructure) ───────────────\n\nexport type { McpAuthResolver } from \"./shared/interfaces/auth.interface.js\";\nexport type { Cache, CacheOptions, HydeCache, OpportunityCache } from \"./shared/interfaces/cache.interface.js\";\nexport type { ChatSummaryReader } from \"./shared/interfaces/chat-summary.interface.js\";\nexport type { QuestionGeneratorReader } from \"./shared/interfaces/question-generator.interface.js\";\nexport type { QuestionerDatabase, PersistableQuestion, PersistedQuestion, QuestionFilters, ChatQuestionsHost } 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 } from \"./negotiation/negotiation.summarizer.js\";\nexport type { ContactServiceAdapter } from \"./shared/interfaces/contact.interface.js\";\nexport type {\n ChatGraphCompositeDatabase,\n UserDatabase,\n AgentActivitySummary,\n SystemDatabase,\n OpportunityGraphDatabase,\n OpportunityControllerDatabase,\n OutcomeOutbox,\n HomeGraphDatabase,\n IntentGraphDatabase,\n HydeGraphDatabase,\n EnrichmentGraphDatabase,\n PremiseGraphDatabase,\n NegotiationGraphDatabase,\n NegotiationOpportunityLifecycle,\n NegotiationContinuationExecution,\n NegotiationContinuationReceipt,\n Opportunity,\n OpportunityActor,\n OpportunityStatus,\n AssignmentNetworkMembership,\n IntentNetworkFinalAssignmentResult,\n CreateOpportunityData,\n} from \"./shared/interfaces/database.interface.js\";\nexport type { Embedder, VectorStoreOption, VectorSearchResult, HydeCandidate, HydeSearchOptions, LensEmbedding } from \"./shared/interfaces/embedder.interface.js\";\nexport type { IntegrationAdapter, IntegrationConnection, IntegrationSession, IntegrationSessionOptions, ToolActionResponse } from \"./shared/interfaces/integration.interface.js\";\nexport type { IntentGraphQueue } from \"./shared/interfaces/queue.interface.js\";\nexport type { Scraper } from \"./shared/interfaces/scraper.interface.js\";\nexport type { DiscoveryRunInput, DiscoveryRunRecord } from \"./shared/interfaces/discovery-run.interface.js\";\nexport type { EnrichmentRunInput, EnrichmentRunRecord } from \"./shared/interfaces/enrichment-run.interface.js\";\nexport type { NegotiationTimeoutQueue, AskUserExpiryPayload } from \"./shared/interfaces/negotiation-events.interface.js\";\nexport type { AgentDispatcher, AgentDispatchResult, NegotiationTurnPayload } from \"./shared/interfaces/agent-dispatcher.interface.js\";\nexport { SYSTEM_AGENT_IDS } from './shared/interfaces/agent.interface.js';\n\n// ─── Shared schemas ───────────────────────────────────────────────────────────\n\nexport { ChatContextDigestSchema, type ChatContextDigest } from \"./shared/schemas/chat-context.schema.js\";\nexport {\n type Question,\n type UnderspecificationType,\n type QuestionStrategy,\n type QuestionGenerationResult,\n type QuestionPurpose,\n type NegotiationQuestionPurpose,\n type NegotiationQuestionCandidate,\n type NegotiationQuestionProvenance,\n NegotiationQuestionCandidateSchema,\n NegotiationQuestionProvenanceSchema,\n type QuestionPoolPush,\n type QuestionRecoverySnapshot,\n type QuestionVoidedReason,\n type QuestionPoolPushRequestStatus,\n type QuestionPoolPushRequestReason,\n} from \"./shared/schemas/question.schema.js\";\nexport type { PendingQuestionSummary } from \"./shared/schemas/pending-question.schema.js\";\nexport type { McpAuthInput } from \"./shared/schemas/mcp-auth.schema.js\";\nexport type { DiscoverySummary, DiscoveryNegotiation, DiscoveryTurn, DiscoveryOutcome, DiscoveryQuestionInput, NegotiationRole } from \"./shared/schemas/discovery-question.schema.js\";\nexport type { NetworkAssignmentMetadata } from \"./shared/schemas/network-assignment.schema.js\";\nexport { DEFAULT_NETWORK_ASSIGNMENT_THRESHOLD, resolveAssignmentNetworkScope, buildNetworkAssignmentDecision } from \"./shared/assignment/network-assignment.policy.js\";\nexport { buildCandidateEvidence } from \"./opportunity/opportunity.evidence.js\";\n\n// ─── Graph factories ──────────────────────────────────────────────────────────\n\nexport { ChatGraphFactory } from \"./chat/chat.graph.js\";\nexport { ORCHESTRATOR_PERSONA_ID, type ChatPersonaConfig } from \"./chat/chat.persona.js\";\nexport { NEGOTIATOR_PERSONA_ID, createNegotiatorPersona } from \"./chat/negotiator.persona.js\";\nexport {\n SIGNAL_PERSONA_ID,\n SIGNAL_PERSONA,\n SIGNAL_NEW_SIGNAL_KICKOFF,\n SIGNAL_TOOL_NAMES,\n createSignalTools,\n filterSignalTools,\n narrowSignalTools,\n} from \"./chat/signal.persona.js\";\nexport {\n REPORTER_PERSONA_ID,\n REPORTER_PERSONA,\n REPORTER_BRIEFING_KICKOFF,\n REPORTER_TOOL_NAMES,\n createReporterTools,\n filterReporterTools,\n narrowReporterTools,\n} from \"./chat/reporter.persona.js\";\nexport {\n ONBOARDING_PERSONA_ID,\n ONBOARDING_PERSONA,\n ONBOARDING_PROFILE_KICKOFF,\n ONBOARDING_TOOL_NAMES,\n createOnboardingTools,\n filterOnboardingTools,\n narrowOnboardingTools,\n} from \"./chat/onboarding.persona.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 { SemanticVerifier } from \"./intent/intent.verifier.js\";\nexport { IntentNetworkGraphFactory } from \"./network/indexer/indexer.graph.js\";\nexport { MaintenanceGraphFactory } from \"./maintenance/maintenance.graph.js\";\nexport type { MaintenanceGraphDatabase, MaintenanceGraphCache, MaintenanceGraphQueue } from \"./maintenance/maintenance.graph.js\";\nexport { NegotiationGraphFactory, negotiateCandidates } from \"./negotiation/negotiation.graph.js\";\nexport { OpportunityGraphFactory } from \"./opportunity/opportunity.graph.js\";\nexport { hasUnsupportedOpportunityClaim } from \"./opportunity/opportunity.claim-safety.js\";\nexport type { StampNewbornOpportunitiesFn } from \"./opportunity/opportunity.graph.js\";\nexport { EnrichmentGraphFactory } from \"./enrichment/enrichment.graph.js\";\nexport { PremiseGraphFactory } from \"./premise/premise.graph.js\";\n\n// ─── Agents ───────────────────────────────────────────────────────────────────\n\nexport { UserContextGenerator } from \"./context/context.generator.js\";\nexport { ChatTitleGenerator } from \"./chat/chat.title.generator.js\";\nexport { ChatInterruptClassifier } from \"./chat/chat.interrupt.classifier.js\";\nexport { ChatSummarizer } from \"./chat/chat.summarizer.js\";\nexport { HydeGenerator } from \"./shared/hyde/hyde.generator.js\";\nexport { SuggestionGenerator } from \"./chat/chat.suggester.js\";\nexport { generateInviteMessage } from \"./contact/contact.inviter.js\";\nexport { IntentIndexer } from \"./intent/intent.indexer.js\";\nexport type { IntentIndexerOutput } from \"./intent/intent.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 { NegotiationScreener } from \"./negotiation/negotiation.screen.js\";\nexport { NegotiationReflector } from \"./negotiation/negotiation.reflect.js\";\nexport type { DistilledMemory, ReflectionTranscriptEntry, NegotiationReflectionInput, ChatReflectionInput, NegotiationReflectJobData, ReflectEnqueueFn } from \"./negotiation/negotiation.reflect.js\";\nexport type { NegotiatorMemoryEntry } from \"./negotiation/negotiation.memory.js\";\nexport { QuestionerAgent } from \"./questioner/questioner.agent.js\";\nexport { isValidQuestionerInputContract } from \"./questioner/questioner.types.js\";\nexport type { QuestionerInput, RecoveryQuestionerInput, UptakeQuestionerInput, PostStallQuestionerInput, InflightQuestionerInput, QuestionerEnqueuePayload, QuestionerEnqueueFn, PoolDiscoveryContext } from \"./questioner/questioner.types.js\";\nexport { isQuestionerEnabled, isUptakeGuardEnabled, uptakeAuthorityThreshold } from \"./questioner/questioner.env.js\";\nexport { PoolDiscriminatorMiner } from \"./opportunity/discriminator/discriminator.miner.js\";\nexport { PoolDiscriminatorAssigner } from \"./opportunity/discriminator/discriminator.assigner.js\";\nexport type { PoolDiscriminatorAssignmentInput, PoolDiscriminatorAssignedAxis } from \"./opportunity/discriminator/discriminator.assigner.js\";\nexport { runPoolDiscriminatorShadow } from \"./opportunity/discriminator/discriminator.shadow.js\";\nexport {\n poolQuestionsMiningMode,\n poolQuestionsMode,\n poolQuestionsPushMode,\n poolQuestionsStampNewborn,\n POOL_DISCRIMINATOR_MIN_POOL_SIZE,\n POOL_DISCRIMINATOR_MAX_CANDIDATES,\n POOL_DISCRIMINATOR_MAX_PUBLIC_CONTEXT_CHARS,\n POOL_QUESTION_MIN_VOI,\n POOL_QUESTION_MAX_PENDING_PER_INTENT,\n} from \"./opportunity/discriminator/discriminator.env.js\";\nexport { poolQuestionsRanking, POOL_RERUN_DEBOUNCE_MS } from \"./opportunity/discriminator/discriminator.env.js\";\nexport { poolQuestionsVisitTrigger, POOL_VISIT_MINING_DEBOUNCE_MS } from \"./opportunity/discriminator/discriminator.env.js\";\nexport { buildPoolAdjustment, planPoolAdjustments, mergePoolAdjustment } from \"./opportunity/discriminator/discriminator.adjustments.js\";\nexport type { PoolAdjustment, PoolAdjustmentSignal } from \"./opportunity/discriminator/discriminator.adjustments.js\";\nexport { synthesizePoolQuestion, selectQuestionDiscriminators, toQuestionDiscriminator, BOTH_MATTER_LABEL } from \"./opportunity/discriminator/discriminator.question.js\";\nexport { poolQuestionCycleKey, buildPoolQuestionPushMessage } from \"./opportunity/discriminator/discriminator.push.js\";\nexport type { QuestionPoolDiscriminator, QuestionPoolSnapshot } from \"./shared/schemas/question.schema.js\";\nexport type { PoolCandidate, DiscriminatorMiningInput, MinedDiscriminator } from \"./opportunity/discriminator/discriminator.types.js\";\n\n// Lens C — negotiation-evidence questions (IND-433, shadow).\nexport { negotiationEvidenceQuestionsMode, NEGOTIATION_EVIDENCE_MAX_OPPORTUNITIES } from \"./opportunity/negotiation-evidence/negotiation-evidence.env.js\";\nexport { NegotiationEvidenceMiner } from \"./opportunity/negotiation-evidence/negotiation-evidence.miner.js\";\nexport { runNegotiationEvidenceShadow } from \"./opportunity/negotiation-evidence/negotiation-evidence.shadow.js\";\nexport type { RawEvidenceTurn, RawEvidenceOutcome, RawEvidenceOwnerAnswer, RawEvidenceSegment } from \"./opportunity/negotiation-evidence/negotiation-evidence.types.js\";\n\n// Lens B — outcome-question shadow (IND-434)\nexport { isOutcomeQuestionsActivated, OUTCOME_MIN_INDEPENDENT_EXAMPLES, OUTCOME_MAX_CANDIDATES, OUTCOME_MAX_PUBLIC_CONTEXT_CHARS } from \"./opportunity/outcome/outcome.env.js\";\nexport { runOutcomeShadow } from \"./opportunity/outcome/outcome.shadow.js\";\nexport type { OutcomeLabel, OutcomeExample, OutcomeShadowResult } from \"./opportunity/outcome/outcome.types.js\";\nexport { OpportunityEvaluator } from \"./opportunity/opportunity.evaluator.js\";\nexport type { EvaluatorInput } from \"./opportunity/opportunity.evaluator.js\";\nexport { OpportunityPresenter, gatherPresenterContext } from \"./opportunity/opportunity.presenter.js\";\nexport { createOpportunityTools } from \"./opportunity/opportunity.tools.js\";\nexport { createEnrichmentTools } from \"./enrichment/enrichment.tools.js\";\nexport type { PresenterDatabase } from \"./opportunity/opportunity.presenter.js\";\n\n// ─── Support utilities ────────────────────────────────────────────────────────\n\nexport { canUserSeeOpportunity, isActionableForViewer, validateOpportunityActors, classifyOpportunity, selectByComposition, FEED_SOFT_TARGETS } from \"./opportunity/opportunity.utils.js\";\nexport { getPrimaryActionLabel } from \"./opportunity/opportunity.labels.js\";\nexport { computeFeedHealth } from \"./opportunity/feed/feed.health.js\";\nexport type { FeedHealthInput } from \"./opportunity/feed/feed.health.js\";\nexport { selectContactsForDiscovery, shouldRunIntroducerDiscovery, runIntroducerDiscovery, MAX_CONTACTS_PER_CYCLE, MAX_CANDIDATES_PER_CONTACT, INTRODUCER_DISCOVERY_SOURCE } from \"./opportunity/opportunity.introducer.js\";\nexport type { IntroducerDiscoveryDatabase, IntroducerDiscoveryQueue, ContactWithIntents } 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, truncateAtBoundary } from \"./opportunity/opportunity.presentation.js\";\nexport { stripUnsupportedOpportunityClaims } from \"./opportunity/opportunity.claim-safety.js\";\nexport { safeFallbackSummary } from \"./opportunity/opportunity.safe-presentation.js\";\nexport { buildApiChatCardPresentationCacheKey, buildDeliveryCardPresentationCacheKey, buildHomeCardPresentationCacheKey } from \"./opportunity/opportunity.presentation-cache.js\";\nexport { getOrCreateDeliveryCardBatch } from \"./opportunity/delivery-card.cache.js\";\n\n// ─── Tools ────────────────────────────────────────────────────────────────────\n\nexport { createToolRegistry } from \"./shared/agent/tool.registry.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, buildMcpOnboardingMessage, ONBOARDING_ALLOWED } from \"./mcp/mcp.server.js\";\nexport type { ScopedDepsFactory } from \"./mcp/mcp.server.js\";\n\n// ─── States (for advanced graph consumers) ────────────────────────────────────\n// @experimental — internal graph-state shapes; may change in a minor release.\n\nexport type { UserNegotiationContext, NegotiationTurn, NegotiationOutcome, SeedAssessment } from \"./shared/schemas/negotiation-state.schema.js\";\nexport type { NegotiationAction, NegotiationSeat, NegotiationProtocolVersion } from \"./shared/schemas/negotiation-state.schema.js\";\nexport type { NegotiationGraphLike } from \"./negotiation/negotiation.state.js\";\n\n// ─── Negotiation seat rules (v2 client-advocate protocol) ───────────────────\n\nexport { allowedActionsFor, isTerminalAction, isRejectLikeAction, readProtocolVersion, resolveSeat, seatViolationMessage } from \"./negotiation/negotiation.protocol.js\";\nexport { assessConsultationEligibility, consultationPromptFor, negotiationConsultationPolicyMode } from \"./negotiation/negotiation.consultation-policy.js\";\nexport type { ConsultationEligibility, ConsultationEligibilityInput, NegotiationConsultationPolicyMode, NegotiationConsultationReason } from \"./negotiation/negotiation.consultation-policy.js\";\nexport {\n NEGOTIATION_QUESTION_GENERIC_COUNTERPARTY,\n NEGOTIATION_QUESTION_GENERIC_NETWORK,\n NEGOTIATION_QUESTION_GENERIC_UPTAKE_ACTIVITY,\n isSafeNegotiationQuestionText,\n negotiationQuestionSettlementId,\n validateInflightAskUserFields,\n} from \"./negotiation/negotiation.question-safety.js\";\n\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
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,SA6E5E"}
|
|
@@ -1 +0,0 @@
|
|
|
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('ChatTools:Integration');\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 // import_gmail_contacts creates ghost users, so it is gated behind the\n // CONTACTS_ENABLED flag (injected as deps.contactsEnabled). When disabled the\n // tool is not registered at all (defineTool registers as a side effect).\n if (deps.contactsEnabled !== true) {\n return [];\n }\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 network 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent.clarifier.d.ts","sourceRoot":"/","sources":["intent/intent.clarifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAevB,CAAC;AASH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAiDxE,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2B;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA2B;;IAgBnE,oFAAoF;IACpF,OAAO,CAAC,WAAW;IAkBN,MAAM,CACjB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CAAC,qBAAqB,CAAC;YAwCnB,kBAAkB;YAoBlB,0BAA0B;CAyCzC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent.clarifier.js","sourceRoot":"/","sources":["intent/intent.clarifier.ts"],"names":[],"mappings":"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","sourcesContent":["import { HumanMessage, SystemMessage } from \"@langchain/core/messages\";\nimport { z } from \"zod\";\n\nimport { createStructuredModel } from \"../shared/agent/model.config.js\";\nimport { invokeWithAbortSignal } from \"../shared/agent/model-signal.js\";\nimport { protocolLogger } from \"../shared/observability/protocol.logger.js\";\nimport { Timed } from \"../shared/observability/performance.js\";\nimport { UnderspecificationTypeSchema, type UnderspecificationType } from \"../shared/schemas/question.schema.js\";\n\nconst logger = protocolLogger(\"IntentClarifier\");\n\ntype ClarifierStructuredModel = ReturnType<typeof createStructuredModel>;\n\nconst clarificationSchema = z.discriminatedUnion(\"needsClarification\", [\n z.object({\n needsClarification: z.literal(false),\n reason: z.string(),\n suggestedDescription: z.string().nullable(),\n clarificationMessage: z.string().nullable(),\n underspecificationType: z.null(),\n }),\n z.object({\n needsClarification: z.literal(true),\n reason: z.string(),\n suggestedDescription: z.string().trim().min(1),\n clarificationMessage: z.string().trim().min(1),\n underspecificationType: UnderspecificationTypeSchema,\n }),\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 one focused clarification would materially improve an intent before discovery.\n\nSet needsClarification=true only when the intent has a consequential unresolved Question Under Discussion (QUD): the answer would materially change which people or opportunities should surface. Do not ask for merely nice-to-have detail, procedural confirmation, or information already inferable from the user profile or active intents.\n\nClassify the single highest-impact QUD repair in underspecificationType:\n- missing_constituent: an absent core participant, entity, or outcome (who/what). Example: \"I need help with something\" does not identify what help or outcome is sought.\n- missing_constraint: the core target exists, but an explicitly unresolved or discovery-blocking ranking boundary is missing (where/when/how/how much). Example: a concrete hiring target whose location, timing, or engagement boundary is explicitly undecided.\n- open_alternative_set: an unresolved choice among materially different interpretations or scopes. Example: seeking either a technical co-founder or a sales channel partner, which would surface different people.\n\nAn intent does NOT need every possible constraint. A concrete target with enough boundaries to run a useful search is specific even if it omits optional preferences such as compensation, budget, exact seniority, or secondary skills. For example, \"a senior ML engineer in Berlin for a full-time role building production LLM evaluation systems this quarter\" requires no clarification; do not invent a missing budget or other unstated requirement.\n\nSet needsClarification=false when the intent already fixes its core target and enough material ranking boundaries for actionable discovery, or when remaining omissions are optional. When false, underspecificationType MUST be null. When true, it MUST be exactly one category above.\n\nRules when needsClarification=true:\n- Ask about the selected QUD category rather than proposing an arbitrary refinement.\n- User Profile is the primary source for a grounded 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 one concise clarification response for an underspecified intent.\n\nReturn both:\n1) suggestedDescription: one concrete rewrite representing a plausible interpretation.\n2) clarificationMessage: one direct question that resolves the supplied QUD category.\n\nQuestion rules by category:\n- missing_constituent: ask which participant, entity, or outcome the user means.\n- missing_constraint: ask for the unresolved ranking boundary (where/when/how/how much).\n- open_alternative_set: name the materially different alternatives and ask the user to choose; never collapse them into a generic yes/no confirmation.\n\nThe question may mention suggestedDescription when useful, but do not force every category into \"Did you mean...?\". 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 this.model = createStructuredModel(\"intentClarifier\", clarificationSchema, {\n name: \"intent_clarifier\",\n });\n this.suggestionModel = createStructuredModel(\"intentClarifier\", suggestionSchema, {\n name: \"intent_clarifier_suggestion\",\n });\n this.clarificationDraftModel = createStructuredModel(\n \"intentClarifier\",\n clarificationDraftSchema,\n { name: \"intent_clarifier_message\" }\n );\n }\n\n /** Build the shared user prompt with intent, profile, and active-intent context. */\n private buildPrompt(\n description: string,\n profileContext: string,\n activeIntentsContext: string\n ): string {\n return `\n# User Input Intent\n${description}\n\n# User Profile\n${profileContext || \"none\"}\n\n# Active Intents\n${activeIntentsContext || \"none\"}\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 = this.buildPrompt(description, profileContext, activeIntentsContext);\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(\n description,\n profileContext,\n activeIntentsContext,\n parsed.underspecificationType,\n );\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 underspecificationType: 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 = this.buildPrompt(description, profileContext, activeIntentsContext);\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 underspecificationType: UnderspecificationType,\n ): Promise<{ suggestedDescription: string; clarificationMessage: string } | null> {\n try {\n const prompt = [\n this.buildPrompt(description, profileContext, activeIntentsContext),\n \"# QUD Repair Category\",\n underspecificationType,\n ].join(\"\\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 = (() => {\n switch (underspecificationType) {\n case \"missing_constituent\":\n return \"Who or what should this intent focus on?\";\n case \"missing_constraint\":\n return \"Which location, timing, format, or range should constrain this intent?\";\n case \"open_alternative_set\":\n return `Your intent names different alternatives — \"${description}\". Which one should take priority?`;\n }\n })();\n return {\n suggestedDescription: suggestion,\n clarificationMessage,\n };\n }\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent.graph.d.ts","sourceRoot":"/","sources":["intent/intent.graph.ts"],"names":[],"mappings":"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"}
|