@indexnetwork/protocol 0.1.0
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/dist/agents/chat.agent.d.ts +218 -0
- package/dist/agents/chat.agent.d.ts.map +1 -0
- package/dist/agents/chat.agent.js +884 -0
- package/dist/agents/chat.agent.js.map +1 -0
- package/dist/agents/chat.prompt.d.ts +18 -0
- package/dist/agents/chat.prompt.d.ts.map +1 -0
- package/dist/agents/chat.prompt.js +372 -0
- package/dist/agents/chat.prompt.js.map +1 -0
- package/dist/agents/chat.prompt.modules.d.ts +61 -0
- package/dist/agents/chat.prompt.modules.d.ts.map +1 -0
- package/dist/agents/chat.prompt.modules.js +366 -0
- package/dist/agents/chat.prompt.modules.js.map +1 -0
- package/dist/agents/chat.title.generator.d.ts +20 -0
- package/dist/agents/chat.title.generator.d.ts.map +1 -0
- package/dist/agents/chat.title.generator.js +66 -0
- package/dist/agents/chat.title.generator.js.map +1 -0
- package/dist/agents/home.categorizer.d.ts +28 -0
- package/dist/agents/home.categorizer.d.ts.map +1 -0
- package/dist/agents/home.categorizer.js +170 -0
- package/dist/agents/home.categorizer.js.map +1 -0
- package/dist/agents/hyde.generator.d.ts +27 -0
- package/dist/agents/hyde.generator.d.ts.map +1 -0
- package/dist/agents/hyde.generator.js +75 -0
- package/dist/agents/hyde.generator.js.map +1 -0
- package/dist/agents/hyde.strategies.d.ts +17 -0
- package/dist/agents/hyde.strategies.d.ts.map +1 -0
- package/dist/agents/hyde.strategies.js +29 -0
- package/dist/agents/hyde.strategies.js.map +1 -0
- package/dist/agents/intent.clarifier.d.ts +29 -0
- package/dist/agents/intent.clarifier.d.ts.map +1 -0
- package/dist/agents/intent.clarifier.js +186 -0
- package/dist/agents/intent.clarifier.js.map +1 -0
- package/dist/agents/intent.indexer.d.ts +77 -0
- package/dist/agents/intent.indexer.d.ts.map +1 -0
- package/dist/agents/intent.indexer.js +164 -0
- package/dist/agents/intent.indexer.js.map +1 -0
- package/dist/agents/intent.inferrer.d.ts +95 -0
- package/dist/agents/intent.inferrer.d.ts.map +1 -0
- package/dist/agents/intent.inferrer.js +238 -0
- package/dist/agents/intent.inferrer.js.map +1 -0
- package/dist/agents/intent.reconciler.d.ts +106 -0
- package/dist/agents/intent.reconciler.d.ts.map +1 -0
- package/dist/agents/intent.reconciler.js +184 -0
- package/dist/agents/intent.reconciler.js.map +1 -0
- package/dist/agents/intent.verifier.d.ts +97 -0
- package/dist/agents/intent.verifier.d.ts.map +1 -0
- package/dist/agents/intent.verifier.js +234 -0
- package/dist/agents/intent.verifier.js.map +1 -0
- package/dist/agents/invite.generator.d.ts +47 -0
- package/dist/agents/invite.generator.d.ts.map +1 -0
- package/dist/agents/invite.generator.js +56 -0
- package/dist/agents/invite.generator.js.map +1 -0
- package/dist/agents/lens.inferrer.d.ts +37 -0
- package/dist/agents/lens.inferrer.d.ts.map +1 -0
- package/dist/agents/lens.inferrer.js +98 -0
- package/dist/agents/lens.inferrer.js.map +1 -0
- package/dist/agents/model.config.d.ts +120 -0
- package/dist/agents/model.config.d.ts.map +1 -0
- package/dist/agents/model.config.js +76 -0
- package/dist/agents/model.config.js.map +1 -0
- package/dist/agents/negotiation.insights.generator.d.ts +32 -0
- package/dist/agents/negotiation.insights.generator.d.ts.map +1 -0
- package/dist/agents/negotiation.insights.generator.js +105 -0
- package/dist/agents/negotiation.insights.generator.js.map +1 -0
- package/dist/agents/negotiation.proposer.d.ts +26 -0
- package/dist/agents/negotiation.proposer.d.ts.map +1 -0
- package/dist/agents/negotiation.proposer.js +67 -0
- package/dist/agents/negotiation.proposer.js.map +1 -0
- package/dist/agents/negotiation.responder.d.ts +26 -0
- package/dist/agents/negotiation.responder.d.ts.map +1 -0
- package/dist/agents/negotiation.responder.js +71 -0
- package/dist/agents/negotiation.responder.js.map +1 -0
- package/dist/agents/opportunity.evaluator.d.ts +253 -0
- package/dist/agents/opportunity.evaluator.d.ts.map +1 -0
- package/dist/agents/opportunity.evaluator.js +413 -0
- package/dist/agents/opportunity.evaluator.js.map +1 -0
- package/dist/agents/opportunity.presenter.d.ts +115 -0
- package/dist/agents/opportunity.presenter.d.ts.map +1 -0
- package/dist/agents/opportunity.presenter.js +524 -0
- package/dist/agents/opportunity.presenter.js.map +1 -0
- package/dist/agents/profile.generator.d.ts +67 -0
- package/dist/agents/profile.generator.d.ts.map +1 -0
- package/dist/agents/profile.generator.js +97 -0
- package/dist/agents/profile.generator.js.map +1 -0
- package/dist/agents/profile.hyde.generator.d.ts +43 -0
- package/dist/agents/profile.hyde.generator.d.ts.map +1 -0
- package/dist/agents/profile.hyde.generator.js +113 -0
- package/dist/agents/profile.hyde.generator.js.map +1 -0
- package/dist/agents/suggestion.generator.d.ts +24 -0
- package/dist/agents/suggestion.generator.d.ts.map +1 -0
- package/dist/agents/suggestion.generator.js +96 -0
- package/dist/agents/suggestion.generator.js.map +1 -0
- package/dist/graphs/chat.graph.d.ts +312 -0
- package/dist/graphs/chat.graph.d.ts.map +1 -0
- package/dist/graphs/chat.graph.js +267 -0
- package/dist/graphs/chat.graph.js.map +1 -0
- package/dist/graphs/home.graph.d.ts +180 -0
- package/dist/graphs/home.graph.d.ts.map +1 -0
- package/dist/graphs/home.graph.js +598 -0
- package/dist/graphs/home.graph.js.map +1 -0
- package/dist/graphs/hyde.graph.d.ts +110 -0
- package/dist/graphs/hyde.graph.d.ts.map +1 -0
- package/dist/graphs/hyde.graph.js +235 -0
- package/dist/graphs/hyde.graph.js.map +1 -0
- package/dist/graphs/index.graph.d.ts +620 -0
- package/dist/graphs/index.graph.d.ts.map +1 -0
- package/dist/graphs/index.graph.js +226 -0
- package/dist/graphs/index.graph.js.map +1 -0
- package/dist/graphs/index_membership.graph.d.ts +250 -0
- package/dist/graphs/index_membership.graph.d.ts.map +1 -0
- package/dist/graphs/index_membership.graph.js +204 -0
- package/dist/graphs/index_membership.graph.js.map +1 -0
- package/dist/graphs/intent.graph.d.ts +490 -0
- package/dist/graphs/intent.graph.d.ts.map +1 -0
- package/dist/graphs/intent.graph.js +787 -0
- package/dist/graphs/intent.graph.js.map +1 -0
- package/dist/graphs/intent_index.graph.d.ts +396 -0
- package/dist/graphs/intent_index.graph.d.ts.map +1 -0
- package/dist/graphs/intent_index.graph.js +331 -0
- package/dist/graphs/intent_index.graph.js.map +1 -0
- package/dist/graphs/maintenance.graph.d.ts +177 -0
- package/dist/graphs/maintenance.graph.d.ts.map +1 -0
- package/dist/graphs/maintenance.graph.js +173 -0
- package/dist/graphs/maintenance.graph.js.map +1 -0
- package/dist/graphs/negotiation.graph.d.ts +819 -0
- package/dist/graphs/negotiation.graph.d.ts.map +1 -0
- package/dist/graphs/negotiation.graph.js +255 -0
- package/dist/graphs/negotiation.graph.js.map +1 -0
- package/dist/graphs/opportunity.graph.d.ts +1082 -0
- package/dist/graphs/opportunity.graph.d.ts.map +1 -0
- package/dist/graphs/opportunity.graph.js +2534 -0
- package/dist/graphs/opportunity.graph.js.map +1 -0
- package/dist/graphs/profile.graph.d.ts +617 -0
- package/dist/graphs/profile.graph.d.ts.map +1 -0
- package/dist/graphs/profile.graph.js +839 -0
- package/dist/graphs/profile.graph.js.map +1 -0
- package/dist/graphs/tests/chat.graph.mocks.d.ts +104 -0
- package/dist/graphs/tests/chat.graph.mocks.d.ts.map +1 -0
- package/dist/graphs/tests/chat.graph.mocks.js +225 -0
- package/dist/graphs/tests/chat.graph.mocks.js.map +1 -0
- package/dist/index.d.ts +62 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/auth.interface.d.ts +15 -0
- package/dist/interfaces/auth.interface.d.ts.map +1 -0
- package/dist/interfaces/auth.interface.js +2 -0
- package/dist/interfaces/auth.interface.js.map +1 -0
- package/dist/interfaces/cache.interface.d.ts +43 -0
- package/dist/interfaces/cache.interface.d.ts.map +1 -0
- package/dist/interfaces/cache.interface.js +6 -0
- package/dist/interfaces/cache.interface.js.map +1 -0
- package/dist/interfaces/chat-session.interface.d.ts +11 -0
- package/dist/interfaces/chat-session.interface.d.ts.map +1 -0
- package/dist/interfaces/chat-session.interface.js +2 -0
- package/dist/interfaces/chat-session.interface.js.map +1 -0
- package/dist/interfaces/contact.interface.d.ts +48 -0
- package/dist/interfaces/contact.interface.d.ts.map +1 -0
- package/dist/interfaces/contact.interface.js +2 -0
- package/dist/interfaces/contact.interface.js.map +1 -0
- package/dist/interfaces/database.interface.d.ts +1495 -0
- package/dist/interfaces/database.interface.d.ts.map +1 -0
- package/dist/interfaces/database.interface.js +2 -0
- package/dist/interfaces/database.interface.js.map +1 -0
- package/dist/interfaces/embedder.interface.d.ts +85 -0
- package/dist/interfaces/embedder.interface.d.ts.map +1 -0
- package/dist/interfaces/embedder.interface.js +5 -0
- package/dist/interfaces/embedder.interface.js.map +1 -0
- package/dist/interfaces/enrichment.interface.d.ts +40 -0
- package/dist/interfaces/enrichment.interface.d.ts.map +1 -0
- package/dist/interfaces/enrichment.interface.js +2 -0
- package/dist/interfaces/enrichment.interface.js.map +1 -0
- package/dist/interfaces/integration.interface.d.ts +91 -0
- package/dist/interfaces/integration.interface.d.ts.map +1 -0
- package/dist/interfaces/integration.interface.js +2 -0
- package/dist/interfaces/integration.interface.js.map +1 -0
- package/dist/interfaces/queue.interface.d.ts +17 -0
- package/dist/interfaces/queue.interface.d.ts.map +1 -0
- package/dist/interfaces/queue.interface.js +5 -0
- package/dist/interfaces/queue.interface.js.map +1 -0
- package/dist/interfaces/scraper.interface.d.ts +31 -0
- package/dist/interfaces/scraper.interface.d.ts.map +1 -0
- package/dist/interfaces/scraper.interface.js +2 -0
- package/dist/interfaces/scraper.interface.js.map +1 -0
- package/dist/interfaces/storage.interface.d.ts +46 -0
- package/dist/interfaces/storage.interface.d.ts.map +1 -0
- package/dist/interfaces/storage.interface.js +6 -0
- package/dist/interfaces/storage.interface.js.map +1 -0
- package/dist/mcp/mcp.server.d.ts +29 -0
- package/dist/mcp/mcp.server.d.ts.map +1 -0
- package/dist/mcp/mcp.server.js +171 -0
- package/dist/mcp/mcp.server.js.map +1 -0
- package/dist/states/chat.state.d.ts +126 -0
- package/dist/states/chat.state.d.ts.map +1 -0
- package/dist/states/chat.state.js +112 -0
- package/dist/states/chat.state.js.map +1 -0
- package/dist/states/home.state.d.ts +100 -0
- package/dist/states/home.state.d.ts.map +1 -0
- package/dist/states/home.state.js +74 -0
- package/dist/states/home.state.js.map +1 -0
- package/dist/states/hyde.state.d.ts +54 -0
- package/dist/states/hyde.state.d.ts.map +1 -0
- package/dist/states/hyde.state.js +66 -0
- package/dist/states/hyde.state.js.map +1 -0
- package/dist/states/index.state.d.ts +179 -0
- package/dist/states/index.state.d.ts.map +1 -0
- package/dist/states/index.state.js +56 -0
- package/dist/states/index.state.js.map +1 -0
- package/dist/states/index_membership.state.d.ts +77 -0
- package/dist/states/index_membership.state.d.ts.map +1 -0
- package/dist/states/index_membership.state.js +43 -0
- package/dist/states/index_membership.state.js.map +1 -0
- package/dist/states/intent.state.d.ts +203 -0
- package/dist/states/intent.state.d.ts.map +1 -0
- package/dist/states/intent.state.js +153 -0
- package/dist/states/intent.state.js.map +1 -0
- package/dist/states/intent_index.state.d.ts +148 -0
- package/dist/states/intent_index.state.d.ts.map +1 -0
- package/dist/states/intent_index.state.js +100 -0
- package/dist/states/intent_index.state.js.map +1 -0
- package/dist/states/maintenance.state.d.ts +36 -0
- package/dist/states/maintenance.state.d.ts.map +1 -0
- package/dist/states/maintenance.state.js +56 -0
- package/dist/states/maintenance.state.js.map +1 -0
- package/dist/states/negotiation.state.d.ts +230 -0
- package/dist/states/negotiation.state.d.ts.map +1 -0
- package/dist/states/negotiation.state.js +82 -0
- package/dist/states/negotiation.state.js.map +1 -0
- package/dist/states/opportunity.state.d.ts +300 -0
- package/dist/states/opportunity.state.d.ts.map +1 -0
- package/dist/states/opportunity.state.js +207 -0
- package/dist/states/opportunity.state.js.map +1 -0
- package/dist/states/profile.state.d.ts +172 -0
- package/dist/states/profile.state.d.ts.map +1 -0
- package/dist/states/profile.state.js +133 -0
- package/dist/states/profile.state.js.map +1 -0
- package/dist/streamers/chat.streamer.d.ts +55 -0
- package/dist/streamers/chat.streamer.d.ts.map +1 -0
- package/dist/streamers/chat.streamer.js +186 -0
- package/dist/streamers/chat.streamer.js.map +1 -0
- package/dist/streamers/index.d.ts +3 -0
- package/dist/streamers/index.d.ts.map +1 -0
- package/dist/streamers/index.js +3 -0
- package/dist/streamers/index.js.map +1 -0
- package/dist/streamers/response.streamer.d.ts +36 -0
- package/dist/streamers/response.streamer.d.ts.map +1 -0
- package/dist/streamers/response.streamer.js +46 -0
- package/dist/streamers/response.streamer.js.map +1 -0
- package/dist/support/chat.utils.d.ts +42 -0
- package/dist/support/chat.utils.d.ts.map +1 -0
- package/dist/support/chat.utils.js +89 -0
- package/dist/support/chat.utils.js.map +1 -0
- package/dist/support/debug-meta.sanitizer.d.ts +18 -0
- package/dist/support/debug-meta.sanitizer.d.ts.map +1 -0
- package/dist/support/debug-meta.sanitizer.js +82 -0
- package/dist/support/debug-meta.sanitizer.js.map +1 -0
- package/dist/support/feed.health.d.ts +32 -0
- package/dist/support/feed.health.d.ts.map +1 -0
- package/dist/support/feed.health.js +76 -0
- package/dist/support/feed.health.js.map +1 -0
- package/dist/support/introducer.discovery.d.ts +78 -0
- package/dist/support/introducer.discovery.d.ts.map +1 -0
- package/dist/support/introducer.discovery.js +101 -0
- package/dist/support/introducer.discovery.js.map +1 -0
- package/dist/support/log.d.ts +65 -0
- package/dist/support/log.d.ts.map +1 -0
- package/dist/support/log.js +76 -0
- package/dist/support/log.js.map +1 -0
- package/dist/support/lucide.icon-catalog.d.ts +22 -0
- package/dist/support/lucide.icon-catalog.d.ts.map +1 -0
- package/dist/support/lucide.icon-catalog.js +101 -0
- package/dist/support/lucide.icon-catalog.js.map +1 -0
- package/dist/support/opportunity.card-text.d.ts +39 -0
- package/dist/support/opportunity.card-text.d.ts.map +1 -0
- package/dist/support/opportunity.card-text.js +333 -0
- package/dist/support/opportunity.card-text.js.map +1 -0
- package/dist/support/opportunity.constants.d.ts +9 -0
- package/dist/support/opportunity.constants.d.ts.map +1 -0
- package/dist/support/opportunity.constants.js +11 -0
- package/dist/support/opportunity.constants.js.map +1 -0
- package/dist/support/opportunity.discover.d.ts +144 -0
- package/dist/support/opportunity.discover.d.ts.map +1 -0
- package/dist/support/opportunity.discover.js +610 -0
- package/dist/support/opportunity.discover.js.map +1 -0
- package/dist/support/opportunity.enricher.d.ts +44 -0
- package/dist/support/opportunity.enricher.d.ts.map +1 -0
- package/dist/support/opportunity.enricher.js +245 -0
- package/dist/support/opportunity.enricher.js.map +1 -0
- package/dist/support/opportunity.persist.d.ts +39 -0
- package/dist/support/opportunity.persist.d.ts.map +1 -0
- package/dist/support/opportunity.persist.js +63 -0
- package/dist/support/opportunity.persist.js.map +1 -0
- package/dist/support/opportunity.presentation.d.ts +21 -0
- package/dist/support/opportunity.presentation.d.ts.map +1 -0
- package/dist/support/opportunity.presentation.js +75 -0
- package/dist/support/opportunity.presentation.js.map +1 -0
- package/dist/support/opportunity.sanitize.d.ts +18 -0
- package/dist/support/opportunity.sanitize.d.ts.map +1 -0
- package/dist/support/opportunity.sanitize.js +89 -0
- package/dist/support/opportunity.sanitize.js.map +1 -0
- package/dist/support/opportunity.utils.d.ts +99 -0
- package/dist/support/opportunity.utils.d.ts.map +1 -0
- package/dist/support/opportunity.utils.js +184 -0
- package/dist/support/opportunity.utils.js.map +1 -0
- package/dist/support/performance.d.ts +19 -0
- package/dist/support/performance.d.ts.map +1 -0
- package/dist/support/performance.js +43 -0
- package/dist/support/performance.js.map +1 -0
- package/dist/support/profile.enrichment-display-name.d.ts +16 -0
- package/dist/support/profile.enrichment-display-name.d.ts.map +1 -0
- package/dist/support/profile.enrichment-display-name.js +22 -0
- package/dist/support/profile.enrichment-display-name.js.map +1 -0
- package/dist/support/protocol.logger.d.ts +22 -0
- package/dist/support/protocol.logger.d.ts.map +1 -0
- package/dist/support/protocol.logger.js +44 -0
- package/dist/support/protocol.logger.js.map +1 -0
- package/dist/support/request-context.d.ts +19 -0
- package/dist/support/request-context.d.ts.map +1 -0
- package/dist/support/request-context.js +7 -0
- package/dist/support/request-context.js.map +1 -0
- package/dist/tools/contact.tools.d.ts +7 -0
- package/dist/tools/contact.tools.d.ts.map +1 -0
- package/dist/tools/contact.tools.js +115 -0
- package/dist/tools/contact.tools.js.map +1 -0
- package/dist/tools/index.d.ts +17 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +140 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/index.tools.d.ts +3 -0
- package/dist/tools/index.tools.d.ts.map +1 -0
- package/dist/tools/index.tools.js +423 -0
- package/dist/tools/index.tools.js.map +1 -0
- package/dist/tools/integration.tools.d.ts +13 -0
- package/dist/tools/integration.tools.d.ts.map +1 -0
- package/dist/tools/integration.tools.js +77 -0
- package/dist/tools/integration.tools.js.map +1 -0
- package/dist/tools/intent.tools.d.ts +3 -0
- package/dist/tools/intent.tools.d.ts.map +1 -0
- package/dist/tools/intent.tools.js +458 -0
- package/dist/tools/intent.tools.js.map +1 -0
- package/dist/tools/opportunity.tools.d.ts +44 -0
- package/dist/tools/opportunity.tools.d.ts.map +1 -0
- package/dist/tools/opportunity.tools.js +814 -0
- package/dist/tools/opportunity.tools.js.map +1 -0
- package/dist/tools/profile.tools.d.ts +3 -0
- package/dist/tools/profile.tools.d.ts.map +1 -0
- package/dist/tools/profile.tools.js +513 -0
- package/dist/tools/profile.tools.js.map +1 -0
- package/dist/tools/tool.helpers.d.ts +225 -0
- package/dist/tools/tool.helpers.d.ts.map +1 -0
- package/dist/tools/tool.helpers.js +172 -0
- package/dist/tools/tool.helpers.js.map +1 -0
- package/dist/tools/tool.registry.d.ts +12 -0
- package/dist/tools/tool.registry.d.ts.map +1 -0
- package/dist/tools/tool.registry.js +62 -0
- package/dist/tools/tool.registry.js.map +1 -0
- package/dist/tools/utility.tools.d.ts +3 -0
- package/dist/tools/utility.tools.d.ts.map +1 -0
- package/dist/tools/utility.tools.js +107 -0
- package/dist/tools/utility.tools.js.map +1 -0
- package/dist/types/chat-streaming.types.d.ts +472 -0
- package/dist/types/chat-streaming.types.d.ts.map +1 -0
- package/dist/types/chat-streaming.types.js +260 -0
- package/dist/types/chat-streaming.types.js.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import type { Id } from '../interfaces/database.interface.js';
|
|
2
|
+
import type { OpportunityStatus, Opportunity } from '../interfaces/database.interface.js';
|
|
3
|
+
import type { Lens } from '../interfaces/embedder.interface.js';
|
|
4
|
+
import type { EvaluatorEntity } from '../agents/opportunity.evaluator.js';
|
|
5
|
+
import type { DebugMetaAgent } from '../types/chat-streaming.types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Opportunity Graph State (Linear Multi-Step Workflow)
|
|
8
|
+
*
|
|
9
|
+
* Flow: Prep → Scope → Discovery → Evaluation → Ranking → Persist → END
|
|
10
|
+
*
|
|
11
|
+
* Following the intent graph pattern with Annotation-based state management.
|
|
12
|
+
*/
|
|
13
|
+
/** Asker's profile shape (embedding + optional identity/narrative/attributes). Used by sourceProfile annotation. */
|
|
14
|
+
export interface SourceProfileData {
|
|
15
|
+
embedding: number[] | null;
|
|
16
|
+
identity?: {
|
|
17
|
+
name?: string;
|
|
18
|
+
bio?: string;
|
|
19
|
+
location?: string;
|
|
20
|
+
};
|
|
21
|
+
narrative?: {
|
|
22
|
+
context?: string;
|
|
23
|
+
};
|
|
24
|
+
attributes?: {
|
|
25
|
+
skills?: string[];
|
|
26
|
+
interests?: string[];
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Indexed intent with hyde document (from prep node)
|
|
31
|
+
*/
|
|
32
|
+
export interface IndexedIntent {
|
|
33
|
+
intentId: Id<'intents'>;
|
|
34
|
+
payload: string;
|
|
35
|
+
summary?: string;
|
|
36
|
+
hydeDocumentId?: string;
|
|
37
|
+
hydeEmbedding?: number[];
|
|
38
|
+
indexes: Id<'indexes'>[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Target index for search (from scope node)
|
|
42
|
+
*/
|
|
43
|
+
export interface TargetIndex {
|
|
44
|
+
indexId: Id<'indexes'>;
|
|
45
|
+
title: string;
|
|
46
|
+
memberCount: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Candidate match from discovery (semantic search).
|
|
50
|
+
* candidateIntentId is set for intent matches; omitted for profile-only matches.
|
|
51
|
+
*/
|
|
52
|
+
export interface CandidateMatch {
|
|
53
|
+
candidateUserId: Id<'users'>;
|
|
54
|
+
candidateIntentId?: Id<'intents'>;
|
|
55
|
+
indexId: Id<'indexes'>;
|
|
56
|
+
similarity: number;
|
|
57
|
+
/** Free-text lens label that produced this match. */
|
|
58
|
+
lens: string;
|
|
59
|
+
candidatePayload: string;
|
|
60
|
+
candidateSummary?: string;
|
|
61
|
+
/** How this candidate was found: 'query' (HyDE from search text) or 'profile-similarity'. */
|
|
62
|
+
discoverySource?: 'query' | 'profile-similarity';
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Evaluated candidate with LLM scoring (legacy; used when evaluator returns source/candidate pair).
|
|
66
|
+
* candidateIntentId is set for intent matches; omitted for profile-only matches.
|
|
67
|
+
*/
|
|
68
|
+
export interface EvaluatedCandidate {
|
|
69
|
+
sourceUserId: Id<'users'>;
|
|
70
|
+
candidateUserId: Id<'users'>;
|
|
71
|
+
sourceIntentId?: Id<'intents'>;
|
|
72
|
+
candidateIntentId?: Id<'intents'>;
|
|
73
|
+
indexId: Id<'indexes'>;
|
|
74
|
+
score: number;
|
|
75
|
+
reasoning: string;
|
|
76
|
+
valencyRole: 'Agent' | 'Patient' | 'Peer';
|
|
77
|
+
/** Free-text lens label that produced this match. */
|
|
78
|
+
lens: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Actor in an evaluated opportunity (from entity-bundle evaluator).
|
|
82
|
+
* indexId is filled from the entity bundle in the graph, not by the evaluator.
|
|
83
|
+
*/
|
|
84
|
+
export interface EvaluatedOpportunityActor {
|
|
85
|
+
userId: Id<'users'>;
|
|
86
|
+
role: 'agent' | 'patient' | 'peer';
|
|
87
|
+
intentId?: Id<'intents'>;
|
|
88
|
+
indexId: Id<'indexes'>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Evaluated opportunity with multi-actor output (entity-bundle evaluator).
|
|
92
|
+
*/
|
|
93
|
+
export interface EvaluatedOpportunity {
|
|
94
|
+
actors: EvaluatedOpportunityActor[];
|
|
95
|
+
score: number;
|
|
96
|
+
reasoning: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Options passed to the graph
|
|
100
|
+
*/
|
|
101
|
+
export interface OpportunityGraphOptions {
|
|
102
|
+
/** Initial status for created opportunities (default: 'pending') */
|
|
103
|
+
initialStatus?: OpportunityStatus;
|
|
104
|
+
/** Minimum score threshold (default: 50) */
|
|
105
|
+
minScore?: number;
|
|
106
|
+
/** Maximum opportunities to return (default: 20) */
|
|
107
|
+
limit?: number;
|
|
108
|
+
/** Pre-inferred lenses (if not provided, lens inference runs automatically in HyDE graph) */
|
|
109
|
+
lenses?: Lens[];
|
|
110
|
+
/** User's search query for HyDE generation */
|
|
111
|
+
hydeDescription?: string;
|
|
112
|
+
/** Existing opportunities summary for evaluator deduplication */
|
|
113
|
+
existingOpportunities?: string;
|
|
114
|
+
/** Chat session ID for draft opportunities; stored as context.conversationId for visibility filtering. */
|
|
115
|
+
conversationId?: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Opportunity Graph State Annotation
|
|
119
|
+
*/
|
|
120
|
+
export declare const OpportunityGraphState: import("@langchain/langgraph").AnnotationRoot<{
|
|
121
|
+
userId: import("@langchain/langgraph").BaseChannel<Id<"users">, Id<"users"> | import("@langchain/langgraph").OverwriteValue<Id<"users">>, unknown>;
|
|
122
|
+
searchQuery: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
123
|
+
indexId: import("@langchain/langgraph").BaseChannel<Id<"indexes"> | undefined, Id<"indexes"> | import("@langchain/langgraph").OverwriteValue<Id<"indexes"> | undefined> | undefined, unknown>;
|
|
124
|
+
/** Optional intent to use as discovery source and for triggeredBy. When set, used for search text (if query empty) and persist. */
|
|
125
|
+
triggerIntentId: import("@langchain/langgraph").BaseChannel<Id<"intents"> | undefined, Id<"intents"> | import("@langchain/langgraph").OverwriteValue<Id<"intents"> | undefined> | undefined, unknown>;
|
|
126
|
+
/** Optional: restrict discovery to this specific user ID only (direct connection). */
|
|
127
|
+
targetUserId: import("@langchain/langgraph").BaseChannel<Id<"users"> | undefined, Id<"users"> | import("@langchain/langgraph").OverwriteValue<Id<"users"> | undefined> | undefined, unknown>;
|
|
128
|
+
/** Optional: discover on behalf of this user (introducer flow). When set, prep/eval use this user's profile/intents; userId becomes the introducer. */
|
|
129
|
+
onBehalfOfUserId: import("@langchain/langgraph").BaseChannel<Id<"users"> | undefined, Id<"users"> | import("@langchain/langgraph").OverwriteValue<Id<"users"> | undefined> | undefined, unknown>;
|
|
130
|
+
options: import("@langchain/langgraph").BaseChannel<OpportunityGraphOptions, OpportunityGraphOptions | import("@langchain/langgraph").OverwriteValue<OpportunityGraphOptions>, unknown>;
|
|
131
|
+
/**
|
|
132
|
+
* Operation mode controls graph flow:
|
|
133
|
+
* - 'create': Existing discover pipeline (Prep → Scope → Discovery → Evaluation → Ranking → Persist)
|
|
134
|
+
* - 'create_introduction': Introduction path (validation → evaluation → persist) for chat-driven intros
|
|
135
|
+
* - 'continue_discovery': Pagination path (Prep → Evaluation → Ranking → Persist) using pre-loaded candidates
|
|
136
|
+
* - 'read': List opportunities filtered by userId and optionally indexId (fast path)
|
|
137
|
+
* - 'update': Change opportunity status (accept, reject, etc.)
|
|
138
|
+
* - 'delete': Expire/archive an opportunity
|
|
139
|
+
* - 'send': Promote latent opportunity to pending + queue notification
|
|
140
|
+
*
|
|
141
|
+
* Defaults to 'create' for backward compatibility.
|
|
142
|
+
*/
|
|
143
|
+
operationMode: import("@langchain/langgraph").BaseChannel<"create" | "update" | "delete" | "read" | "create_introduction" | "continue_discovery" | "send", "create" | "update" | "delete" | "read" | "create_introduction" | "continue_discovery" | "send" | import("@langchain/langgraph").OverwriteValue<"create" | "update" | "delete" | "read" | "create_introduction" | "continue_discovery" | "send">, unknown>;
|
|
144
|
+
/** Introduction mode: pre-gathered entities (profiles + intents per party). */
|
|
145
|
+
introductionEntities: import("@langchain/langgraph").BaseChannel<EvaluatorEntity[], EvaluatorEntity[] | import("@langchain/langgraph").OverwriteValue<EvaluatorEntity[]>, unknown>;
|
|
146
|
+
/** Introduction mode: optional hint from the introducer. */
|
|
147
|
+
introductionHint: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
148
|
+
/** When set (e.g. chat scope), indexId must match this. */
|
|
149
|
+
requiredIndexId: import("@langchain/langgraph").BaseChannel<Id<"indexes"> | undefined, Id<"indexes"> | import("@langchain/langgraph").OverwriteValue<Id<"indexes"> | undefined> | undefined, unknown>;
|
|
150
|
+
/** Set by intro_evaluation; used by persist to build manual detection and introducer actor. */
|
|
151
|
+
introductionContext: import("@langchain/langgraph").BaseChannel<{
|
|
152
|
+
createdByName?: string;
|
|
153
|
+
} | undefined, {
|
|
154
|
+
createdByName?: string;
|
|
155
|
+
} | import("@langchain/langgraph").OverwriteValue<{
|
|
156
|
+
createdByName?: string;
|
|
157
|
+
} | undefined> | undefined, unknown>;
|
|
158
|
+
/** Target opportunity ID for update/delete/send modes. */
|
|
159
|
+
opportunityId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
160
|
+
/** New status for update mode (e.g. 'accepted', 'rejected'). */
|
|
161
|
+
newStatus: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
162
|
+
/** User's indexed intents with hyde documents (from prep) */
|
|
163
|
+
indexedIntents: import("@langchain/langgraph").BaseChannel<IndexedIntent[], IndexedIntent[] | import("@langchain/langgraph").OverwriteValue<IndexedIntent[]>, unknown>;
|
|
164
|
+
/** User's index memberships (from prep) */
|
|
165
|
+
userIndexes: import("@langchain/langgraph").BaseChannel<Id<"indexes">[], Id<"indexes">[] | import("@langchain/langgraph").OverwriteValue<Id<"indexes">[]>, unknown>;
|
|
166
|
+
/** Target indexes to search within (from scope) */
|
|
167
|
+
targetIndexes: import("@langchain/langgraph").BaseChannel<TargetIndex[], TargetIndex[] | import("@langchain/langgraph").OverwriteValue<TargetIndex[]>, unknown>;
|
|
168
|
+
/** Per-index relevancy scores for dedup tie-breaking. Background path: from intent_indexes. Chat path: transient from IntentIndexer. */
|
|
169
|
+
indexRelevancyScores: import("@langchain/langgraph").BaseChannel<Record<string, number>, Record<string, number> | import("@langchain/langgraph").OverwriteValue<Record<string, number>>, unknown>;
|
|
170
|
+
/** Whether discovery used intent (path A) or profile (path B/C). Used by persist for triggeredBy. */
|
|
171
|
+
discoverySource: import("@langchain/langgraph").BaseChannel<"profile" | "intent", "profile" | "intent" | import("@langchain/langgraph").OverwriteValue<"profile" | "intent">, unknown>;
|
|
172
|
+
/** Resolved intent ID used for this discovery run (when discoverySource is 'intent'). Set by intent-resolution. */
|
|
173
|
+
resolvedTriggerIntentId: import("@langchain/langgraph").BaseChannel<Id<"intents"> | undefined, Id<"intents"> | import("@langchain/langgraph").OverwriteValue<Id<"intents"> | undefined> | undefined, unknown>;
|
|
174
|
+
/** Asker's profile (from prep). Used for profile-as-source discovery and evaluation. */
|
|
175
|
+
sourceProfile: import("@langchain/langgraph").BaseChannel<SourceProfileData | null, SourceProfileData | import("@langchain/langgraph").OverwriteValue<SourceProfileData | null> | null, unknown>;
|
|
176
|
+
/** Resolved intent is in at least one target index (path A vs C). */
|
|
177
|
+
resolvedIntentInIndex: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
178
|
+
/** Create-intent signal: when true, tool should return createIntentSuggested so agent can auto-call create_intent. */
|
|
179
|
+
createIntentSuggested: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
180
|
+
/** Suggested description for create_intent when createIntentSuggested is true. */
|
|
181
|
+
suggestedIntentDescription: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
182
|
+
/** HyDE embeddings per lens label (from discovery) */
|
|
183
|
+
hydeEmbeddings: import("@langchain/langgraph").BaseChannel<Record<string, number[]>, Record<string, number[]> | import("@langchain/langgraph").OverwriteValue<Record<string, number[]>>, unknown>;
|
|
184
|
+
/** Candidate matches from semantic search (from discovery) */
|
|
185
|
+
candidates: import("@langchain/langgraph").BaseChannel<CandidateMatch[], CandidateMatch[] | import("@langchain/langgraph").OverwriteValue<CandidateMatch[]>, unknown>;
|
|
186
|
+
/** Candidates not yet evaluated (for pagination -- cached in Redis by caller). */
|
|
187
|
+
remainingCandidates: import("@langchain/langgraph").BaseChannel<CandidateMatch[], CandidateMatch[] | import("@langchain/langgraph").OverwriteValue<CandidateMatch[]>, unknown>;
|
|
188
|
+
/** Discovery session ID for pagination (maps to Redis cache key). */
|
|
189
|
+
discoveryId: import("@langchain/langgraph").BaseChannel<string | null, string | import("@langchain/langgraph").OverwriteValue<string | null> | null, unknown>;
|
|
190
|
+
/** Evaluated candidates with scores (from evaluation; legacy) */
|
|
191
|
+
evaluatedCandidates: import("@langchain/langgraph").BaseChannel<EvaluatedCandidate[], EvaluatedCandidate[] | import("@langchain/langgraph").OverwriteValue<EvaluatedCandidate[]>, unknown>;
|
|
192
|
+
/** Evaluated opportunities with actors (from entity-bundle evaluator) */
|
|
193
|
+
evaluatedOpportunities: import("@langchain/langgraph").BaseChannel<EvaluatedOpportunity[], EvaluatedOpportunity[] | import("@langchain/langgraph").OverwriteValue<EvaluatedOpportunity[]>, unknown>;
|
|
194
|
+
/** Final ranked and persisted opportunities */
|
|
195
|
+
opportunities: import("@langchain/langgraph").BaseChannel<Opportunity[], Opportunity[] | import("@langchain/langgraph").OverwriteValue<Opportunity[]>, unknown>;
|
|
196
|
+
/** Discovery path: pairs skipped because an opportunity already exists between viewer and candidate (no duplicate created). */
|
|
197
|
+
existingBetweenActors: import("@langchain/langgraph").BaseChannel<{
|
|
198
|
+
candidateUserId: Id<"users">;
|
|
199
|
+
indexId: Id<"indexes">;
|
|
200
|
+
existingOpportunityId?: Id<"opportunities">;
|
|
201
|
+
existingStatus?: OpportunityStatus;
|
|
202
|
+
}[], {
|
|
203
|
+
candidateUserId: Id<"users">;
|
|
204
|
+
indexId: Id<"indexes">;
|
|
205
|
+
existingOpportunityId?: Id<"opportunities">;
|
|
206
|
+
existingStatus?: OpportunityStatus;
|
|
207
|
+
}[] | import("@langchain/langgraph").OverwriteValue<{
|
|
208
|
+
candidateUserId: Id<"users">;
|
|
209
|
+
indexId: Id<"indexes">;
|
|
210
|
+
existingOpportunityId?: Id<"opportunities">;
|
|
211
|
+
existingStatus?: OpportunityStatus;
|
|
212
|
+
}[]>, unknown>;
|
|
213
|
+
/** Error message if any step fails */
|
|
214
|
+
error: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
215
|
+
/** Output for read mode: enriched list of opportunities. */
|
|
216
|
+
readResult: import("@langchain/langgraph").BaseChannel<{
|
|
217
|
+
count: number;
|
|
218
|
+
message?: string;
|
|
219
|
+
opportunities: Array<{
|
|
220
|
+
id: string;
|
|
221
|
+
indexName: string;
|
|
222
|
+
connectedWith: string[];
|
|
223
|
+
suggestedBy: string | null;
|
|
224
|
+
reasoning: string;
|
|
225
|
+
status: string;
|
|
226
|
+
category: string;
|
|
227
|
+
confidence: number | null;
|
|
228
|
+
source: string | null;
|
|
229
|
+
}>;
|
|
230
|
+
} | undefined, {
|
|
231
|
+
count: number;
|
|
232
|
+
message?: string;
|
|
233
|
+
opportunities: Array<{
|
|
234
|
+
id: string;
|
|
235
|
+
indexName: string;
|
|
236
|
+
connectedWith: string[];
|
|
237
|
+
suggestedBy: string | null;
|
|
238
|
+
reasoning: string;
|
|
239
|
+
status: string;
|
|
240
|
+
category: string;
|
|
241
|
+
confidence: number | null;
|
|
242
|
+
source: string | null;
|
|
243
|
+
}>;
|
|
244
|
+
} | import("@langchain/langgraph").OverwriteValue<{
|
|
245
|
+
count: number;
|
|
246
|
+
message?: string;
|
|
247
|
+
opportunities: Array<{
|
|
248
|
+
id: string;
|
|
249
|
+
indexName: string;
|
|
250
|
+
connectedWith: string[];
|
|
251
|
+
suggestedBy: string | null;
|
|
252
|
+
reasoning: string;
|
|
253
|
+
status: string;
|
|
254
|
+
category: string;
|
|
255
|
+
confidence: number | null;
|
|
256
|
+
source: string | null;
|
|
257
|
+
}>;
|
|
258
|
+
} | undefined> | undefined, unknown>;
|
|
259
|
+
/** Output for update/delete/send modes. */
|
|
260
|
+
mutationResult: import("@langchain/langgraph").BaseChannel<{
|
|
261
|
+
success: boolean;
|
|
262
|
+
message?: string;
|
|
263
|
+
opportunityId?: string;
|
|
264
|
+
notified?: string[];
|
|
265
|
+
error?: string;
|
|
266
|
+
} | undefined, {
|
|
267
|
+
success: boolean;
|
|
268
|
+
message?: string;
|
|
269
|
+
opportunityId?: string;
|
|
270
|
+
notified?: string[];
|
|
271
|
+
error?: string;
|
|
272
|
+
} | import("@langchain/langgraph").OverwriteValue<{
|
|
273
|
+
success: boolean;
|
|
274
|
+
message?: string;
|
|
275
|
+
opportunityId?: string;
|
|
276
|
+
notified?: string[];
|
|
277
|
+
error?: string;
|
|
278
|
+
} | undefined> | undefined, unknown>;
|
|
279
|
+
/**
|
|
280
|
+
* Accumulated trace entries from each graph node.
|
|
281
|
+
* Used for observability: surfaces internal processing steps (search query, HyDE strategies,
|
|
282
|
+
* candidates found, evaluation results) to the frontend.
|
|
283
|
+
*/
|
|
284
|
+
trace: import("@langchain/langgraph").BaseChannel<{
|
|
285
|
+
node: string;
|
|
286
|
+
detail?: string;
|
|
287
|
+
data?: Record<string, unknown>;
|
|
288
|
+
}[], {
|
|
289
|
+
node: string;
|
|
290
|
+
detail?: string;
|
|
291
|
+
data?: Record<string, unknown>;
|
|
292
|
+
}[] | import("@langchain/langgraph").OverwriteValue<{
|
|
293
|
+
node: string;
|
|
294
|
+
detail?: string;
|
|
295
|
+
data?: Record<string, unknown>;
|
|
296
|
+
}[]>, unknown>;
|
|
297
|
+
/** Timing records for each agent invocation within this graph run. */
|
|
298
|
+
agentTimings: import("@langchain/langgraph").BaseChannel<DebugMetaAgent[], DebugMetaAgent[] | import("@langchain/langgraph").OverwriteValue<DebugMetaAgent[]>, unknown>;
|
|
299
|
+
}>;
|
|
300
|
+
//# sourceMappingURL=opportunity.state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunity.state.d.ts","sourceRoot":"","sources":["../../src/states/opportunity.state.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { Annotation } from "@langchain/langgraph";
|
|
2
|
+
/**
|
|
3
|
+
* Opportunity Graph State Annotation
|
|
4
|
+
*/
|
|
5
|
+
export const OpportunityGraphState = Annotation.Root({
|
|
6
|
+
// ─── Input Fields (Required) ───
|
|
7
|
+
userId: Annotation({
|
|
8
|
+
reducer: (curr, next) => next ?? curr,
|
|
9
|
+
default: () => '',
|
|
10
|
+
}),
|
|
11
|
+
searchQuery: Annotation({
|
|
12
|
+
reducer: (curr, next) => next ?? curr,
|
|
13
|
+
default: () => undefined,
|
|
14
|
+
}),
|
|
15
|
+
indexId: Annotation({
|
|
16
|
+
reducer: (curr, next) => next ?? curr,
|
|
17
|
+
default: () => undefined,
|
|
18
|
+
}),
|
|
19
|
+
/** Optional intent to use as discovery source and for triggeredBy. When set, used for search text (if query empty) and persist. */
|
|
20
|
+
triggerIntentId: Annotation({
|
|
21
|
+
reducer: (curr, next) => next ?? curr,
|
|
22
|
+
default: () => undefined,
|
|
23
|
+
}),
|
|
24
|
+
/** Optional: restrict discovery to this specific user ID only (direct connection). */
|
|
25
|
+
targetUserId: Annotation({
|
|
26
|
+
reducer: (curr, next) => next ?? curr,
|
|
27
|
+
default: () => undefined,
|
|
28
|
+
}),
|
|
29
|
+
/** Optional: discover on behalf of this user (introducer flow). When set, prep/eval use this user's profile/intents; userId becomes the introducer. */
|
|
30
|
+
onBehalfOfUserId: Annotation({
|
|
31
|
+
reducer: (curr, next) => next ?? curr,
|
|
32
|
+
default: () => undefined,
|
|
33
|
+
}),
|
|
34
|
+
options: Annotation({
|
|
35
|
+
reducer: (curr, next) => next ?? curr,
|
|
36
|
+
default: () => ({}),
|
|
37
|
+
}),
|
|
38
|
+
/**
|
|
39
|
+
* Operation mode controls graph flow:
|
|
40
|
+
* - 'create': Existing discover pipeline (Prep → Scope → Discovery → Evaluation → Ranking → Persist)
|
|
41
|
+
* - 'create_introduction': Introduction path (validation → evaluation → persist) for chat-driven intros
|
|
42
|
+
* - 'continue_discovery': Pagination path (Prep → Evaluation → Ranking → Persist) using pre-loaded candidates
|
|
43
|
+
* - 'read': List opportunities filtered by userId and optionally indexId (fast path)
|
|
44
|
+
* - 'update': Change opportunity status (accept, reject, etc.)
|
|
45
|
+
* - 'delete': Expire/archive an opportunity
|
|
46
|
+
* - 'send': Promote latent opportunity to pending + queue notification
|
|
47
|
+
*
|
|
48
|
+
* Defaults to 'create' for backward compatibility.
|
|
49
|
+
*/
|
|
50
|
+
operationMode: Annotation({
|
|
51
|
+
reducer: (curr, next) => next ?? curr,
|
|
52
|
+
default: () => 'create',
|
|
53
|
+
}),
|
|
54
|
+
/** Introduction mode: pre-gathered entities (profiles + intents per party). */
|
|
55
|
+
introductionEntities: Annotation({
|
|
56
|
+
reducer: (curr, next) => next ?? curr,
|
|
57
|
+
default: () => [],
|
|
58
|
+
}),
|
|
59
|
+
/** Introduction mode: optional hint from the introducer. */
|
|
60
|
+
introductionHint: Annotation({
|
|
61
|
+
reducer: (curr, next) => next ?? curr,
|
|
62
|
+
default: () => undefined,
|
|
63
|
+
}),
|
|
64
|
+
/** When set (e.g. chat scope), indexId must match this. */
|
|
65
|
+
requiredIndexId: Annotation({
|
|
66
|
+
reducer: (curr, next) => next ?? curr,
|
|
67
|
+
default: () => undefined,
|
|
68
|
+
}),
|
|
69
|
+
/** Set by intro_evaluation; used by persist to build manual detection and introducer actor. */
|
|
70
|
+
introductionContext: Annotation({
|
|
71
|
+
reducer: (curr, next) => next ?? curr,
|
|
72
|
+
default: () => undefined,
|
|
73
|
+
}),
|
|
74
|
+
/** Target opportunity ID for update/delete/send modes. */
|
|
75
|
+
opportunityId: Annotation({
|
|
76
|
+
reducer: (curr, next) => next ?? curr,
|
|
77
|
+
default: () => undefined,
|
|
78
|
+
}),
|
|
79
|
+
/** New status for update mode (e.g. 'accepted', 'rejected'). */
|
|
80
|
+
newStatus: Annotation({
|
|
81
|
+
reducer: (curr, next) => next ?? curr,
|
|
82
|
+
default: () => undefined,
|
|
83
|
+
}),
|
|
84
|
+
// ─── Intermediate Fields (Accumulated) ───
|
|
85
|
+
/** User's indexed intents with hyde documents (from prep) */
|
|
86
|
+
indexedIntents: Annotation({
|
|
87
|
+
reducer: (curr, next) => next ?? curr,
|
|
88
|
+
default: () => [],
|
|
89
|
+
}),
|
|
90
|
+
/** User's index memberships (from prep) */
|
|
91
|
+
userIndexes: Annotation({
|
|
92
|
+
reducer: (curr, next) => next ?? curr,
|
|
93
|
+
default: () => [],
|
|
94
|
+
}),
|
|
95
|
+
/** Target indexes to search within (from scope) */
|
|
96
|
+
targetIndexes: Annotation({
|
|
97
|
+
reducer: (curr, next) => next ?? curr,
|
|
98
|
+
default: () => [],
|
|
99
|
+
}),
|
|
100
|
+
/** Per-index relevancy scores for dedup tie-breaking. Background path: from intent_indexes. Chat path: transient from IntentIndexer. */
|
|
101
|
+
indexRelevancyScores: Annotation({
|
|
102
|
+
reducer: (curr, next) => next ?? curr,
|
|
103
|
+
default: () => ({}),
|
|
104
|
+
}),
|
|
105
|
+
/** Whether discovery used intent (path A) or profile (path B/C). Used by persist for triggeredBy. */
|
|
106
|
+
discoverySource: Annotation({
|
|
107
|
+
reducer: (curr, next) => next ?? curr,
|
|
108
|
+
default: () => 'intent',
|
|
109
|
+
}),
|
|
110
|
+
/** Resolved intent ID used for this discovery run (when discoverySource is 'intent'). Set by intent-resolution. */
|
|
111
|
+
resolvedTriggerIntentId: Annotation({
|
|
112
|
+
reducer: (curr, next) => next ?? curr,
|
|
113
|
+
default: () => undefined,
|
|
114
|
+
}),
|
|
115
|
+
/** Asker's profile (from prep). Used for profile-as-source discovery and evaluation. */
|
|
116
|
+
sourceProfile: Annotation({
|
|
117
|
+
reducer: (curr, next) => next ?? curr,
|
|
118
|
+
default: () => null,
|
|
119
|
+
}),
|
|
120
|
+
/** Resolved intent is in at least one target index (path A vs C). */
|
|
121
|
+
resolvedIntentInIndex: Annotation({
|
|
122
|
+
reducer: (curr, next) => next ?? curr,
|
|
123
|
+
default: () => false,
|
|
124
|
+
}),
|
|
125
|
+
/** Create-intent signal: when true, tool should return createIntentSuggested so agent can auto-call create_intent. */
|
|
126
|
+
createIntentSuggested: Annotation({
|
|
127
|
+
reducer: (curr, next) => next ?? curr,
|
|
128
|
+
default: () => false,
|
|
129
|
+
}),
|
|
130
|
+
/** Suggested description for create_intent when createIntentSuggested is true. */
|
|
131
|
+
suggestedIntentDescription: Annotation({
|
|
132
|
+
reducer: (curr, next) => next ?? curr,
|
|
133
|
+
default: () => undefined,
|
|
134
|
+
}),
|
|
135
|
+
/** HyDE embeddings per lens label (from discovery) */
|
|
136
|
+
hydeEmbeddings: Annotation({
|
|
137
|
+
reducer: (curr, next) => next ?? curr,
|
|
138
|
+
default: () => ({}),
|
|
139
|
+
}),
|
|
140
|
+
/** Candidate matches from semantic search (from discovery) */
|
|
141
|
+
candidates: Annotation({
|
|
142
|
+
reducer: (curr, next) => next ?? curr,
|
|
143
|
+
default: () => [],
|
|
144
|
+
}),
|
|
145
|
+
/** Candidates not yet evaluated (for pagination -- cached in Redis by caller). */
|
|
146
|
+
remainingCandidates: Annotation({
|
|
147
|
+
reducer: (curr, next) => next ?? curr,
|
|
148
|
+
default: () => [],
|
|
149
|
+
}),
|
|
150
|
+
/** Discovery session ID for pagination (maps to Redis cache key). */
|
|
151
|
+
discoveryId: Annotation({
|
|
152
|
+
reducer: (curr, next) => next ?? curr,
|
|
153
|
+
default: () => null,
|
|
154
|
+
}),
|
|
155
|
+
/** Evaluated candidates with scores (from evaluation; legacy) */
|
|
156
|
+
evaluatedCandidates: Annotation({
|
|
157
|
+
reducer: (curr, next) => next ?? curr,
|
|
158
|
+
default: () => [],
|
|
159
|
+
}),
|
|
160
|
+
/** Evaluated opportunities with actors (from entity-bundle evaluator) */
|
|
161
|
+
evaluatedOpportunities: Annotation({
|
|
162
|
+
reducer: (curr, next) => next ?? curr,
|
|
163
|
+
default: () => [],
|
|
164
|
+
}),
|
|
165
|
+
// ─── Output Fields (Overwrite per turn) ───
|
|
166
|
+
/** Final ranked and persisted opportunities */
|
|
167
|
+
opportunities: Annotation({
|
|
168
|
+
reducer: (curr, next) => next,
|
|
169
|
+
default: () => [],
|
|
170
|
+
}),
|
|
171
|
+
/** Discovery path: pairs skipped because an opportunity already exists between viewer and candidate (no duplicate created). */
|
|
172
|
+
existingBetweenActors: Annotation({
|
|
173
|
+
reducer: (curr, next) => next ?? curr,
|
|
174
|
+
default: () => [],
|
|
175
|
+
}),
|
|
176
|
+
/** Error message if any step fails */
|
|
177
|
+
error: Annotation({
|
|
178
|
+
reducer: (curr, next) => next,
|
|
179
|
+
default: () => undefined,
|
|
180
|
+
}),
|
|
181
|
+
/** Output for read mode: enriched list of opportunities. */
|
|
182
|
+
readResult: Annotation({
|
|
183
|
+
reducer: (curr, next) => next,
|
|
184
|
+
default: () => undefined,
|
|
185
|
+
}),
|
|
186
|
+
/** Output for update/delete/send modes. */
|
|
187
|
+
mutationResult: Annotation({
|
|
188
|
+
reducer: (curr, next) => next,
|
|
189
|
+
default: () => undefined,
|
|
190
|
+
}),
|
|
191
|
+
// ─── Trace Output ───
|
|
192
|
+
/**
|
|
193
|
+
* Accumulated trace entries from each graph node.
|
|
194
|
+
* Used for observability: surfaces internal processing steps (search query, HyDE strategies,
|
|
195
|
+
* candidates found, evaluation results) to the frontend.
|
|
196
|
+
*/
|
|
197
|
+
trace: Annotation({
|
|
198
|
+
reducer: (curr, next) => [...curr, ...(next || [])],
|
|
199
|
+
default: () => [],
|
|
200
|
+
}),
|
|
201
|
+
/** Timing records for each agent invocation within this graph run. */
|
|
202
|
+
agentTimings: Annotation({
|
|
203
|
+
reducer: (acc, val) => [...acc, ...val],
|
|
204
|
+
default: () => [],
|
|
205
|
+
}),
|
|
206
|
+
});
|
|
207
|
+
//# sourceMappingURL=opportunity.state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunity.state.js","sourceRoot":"","sources":["../../src/states/opportunity.state.ts"],"names":[],"mappings":"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"}
|