@indexnetwork/protocol 22.0.0-rc.499.1 → 64.0.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/CHANGELOG.md +1841 -0
- package/IMPLEMENTATION.md +140 -181
- package/README.md +16 -20
- package/STABILITY.md +16 -11
- package/dist/{intents/intent.module.d.ts → capabilities/intents.d.ts} +182 -192
- package/dist/capabilities/intents.js +88 -0
- package/dist/capabilities/negotiations.d.ts +17 -0
- package/dist/capabilities/negotiations.js +16 -0
- package/dist/{networks/network.module.d.ts → capabilities/networks.d.ts} +33 -169
- package/dist/{networks/network.module.js → capabilities/networks.js} +6 -17
- package/dist/index.d.ts +57 -134
- package/dist/index.js +41 -105
- package/dist/internal/agents/agent.repository.port.d.ts +59 -0
- package/dist/internal/agents/agent.repository.port.js +7 -0
- package/dist/internal/agents/agent.types.d.ts +35 -0
- package/dist/{agents → internal/agents}/agent.types.js +1 -6
- package/dist/{intents → internal/intents}/graph/intent.graph.d.ts +142 -151
- package/dist/{intents → internal/intents}/graph/intent.graph.execute.d.ts +5 -1
- package/dist/{intents → internal/intents}/graph/intent.graph.execute.js +165 -46
- package/dist/internal/intents/graph/intent.graph.infer.d.ts +78 -0
- package/dist/internal/intents/graph/intent.graph.infer.js +122 -0
- package/dist/internal/intents/graph/intent.graph.js +108 -0
- package/dist/{intents → internal/intents}/graph/intent.graph.reconcile.d.ts +18 -9
- package/dist/internal/intents/graph/intent.graph.reconcile.js +173 -0
- package/dist/internal/intents/graph/intent.graph.shared.d.ts +55 -0
- package/dist/{intents → internal/intents}/graph/intent.graph.shared.js +25 -70
- package/dist/{intents → internal/intents}/graph/intent.graph.state.d.ts +96 -32
- package/dist/{intents → internal/intents}/graph/intent.graph.state.js +42 -31
- package/dist/internal/intents/intent.admission.d.ts +16 -0
- package/dist/internal/intents/intent.admission.js +30 -0
- package/dist/{intents → internal/intents}/intent.inferrer.d.ts +1 -40
- package/dist/{intents → internal/intents}/intent.inferrer.js +13 -49
- package/dist/internal/intents/intent.preparer.d.ts +52 -0
- package/dist/internal/intents/intent.preparer.js +87 -0
- package/dist/{intents → internal/intents}/intent.verifier.d.ts +3 -36
- package/dist/{intents → internal/intents}/intent.verifier.js +0 -17
- package/dist/{networks → internal/networks}/indexer.graph.d.ts +15 -200
- package/dist/{networks → internal/networks}/indexer.graph.js +19 -128
- package/dist/{networks → internal/networks}/indexer.state.d.ts +8 -63
- package/dist/internal/networks/indexer.state.js +70 -0
- package/dist/{networks → internal/networks}/membership.graph.d.ts +6 -6
- package/dist/{networks → internal/networks}/membership.graph.js +3 -3
- package/dist/{networks → internal/networks}/membership.state.d.ts +2 -2
- package/dist/{networks → internal/networks}/membership.state.js +2 -2
- package/dist/{networks → internal/networks}/network.graph.d.ts +9 -22
- package/dist/{networks → internal/networks}/network.graph.js +13 -27
- package/dist/{networks → internal/networks}/network.recommender.d.ts +2 -2
- package/dist/{networks → internal/networks}/network.recommender.js +2 -2
- package/dist/{networks → internal/networks}/network.state.d.ts +4 -7
- package/dist/{networks → internal/networks}/network.state.js +4 -4
- package/dist/internal/opportunities/negotiation-context.loader.d.ts +26 -0
- package/dist/internal/opportunities/negotiation-context.loader.js +36 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.actor.d.ts +1 -1
- package/dist/{opportunities → internal/opportunities}/opportunity.actor.js +7 -1
- package/dist/internal/opportunities/opportunity.counterparties.d.ts +17 -0
- package/dist/internal/opportunities/opportunity.counterparties.js +19 -0
- package/dist/internal/opportunities/opportunity.events.d.ts +38 -0
- package/dist/internal/opportunities/opportunity.events.js +94 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.feed-selection.d.ts +3 -9
- package/dist/internal/opportunities/opportunity.feed-selection.js +40 -0
- package/dist/internal/opportunities/opportunity.graph.modes.d.ts +39 -0
- package/dist/internal/opportunities/opportunity.graph.modes.js +138 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.labels.d.ts +2 -3
- package/dist/internal/opportunities/opportunity.labels.js +9 -0
- package/dist/{opportunities → internal/opportunities}/opportunity.presentation.d.ts +17 -86
- package/dist/{opportunities → internal/opportunities}/opportunity.presentation.js +54 -447
- package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.d.ts +2 -2
- package/dist/internal/opportunities/opportunity.utils.d.ts +105 -0
- package/dist/internal/opportunities/opportunity.utils.js +165 -0
- package/dist/{opportunities → internal/opportunities}/radar/radar.graph.d.ts +17 -17
- package/dist/{opportunities → internal/opportunities}/radar/radar.graph.js +41 -161
- package/dist/{opportunities → internal/opportunities}/radar/radar.state.d.ts +4 -11
- package/dist/{shared → internal/shared}/agent/model-signal.d.ts +1 -1
- package/dist/{shared → internal/shared}/agent/model-signal.js +1 -1
- package/dist/{shared → internal/shared}/agent/model.config.d.ts +28 -86
- package/dist/{shared → internal/shared}/agent/model.config.js +58 -69
- package/dist/internal/shared/agent/model.resolver.d.ts +33 -0
- package/dist/{shared → internal/shared}/agent/model.resolver.js +18 -33
- package/dist/internal/shared/agent/scope.d.ts +20 -0
- package/dist/internal/shared/agent/scope.js +24 -0
- package/dist/internal/shared/assignment/network-assignment.policy.d.ts +23 -0
- package/dist/internal/shared/assignment/network-assignment.policy.js +28 -0
- package/dist/{shared → internal/shared}/observability/log.d.ts +3 -6
- package/dist/{shared → internal/shared}/observability/log.js +9 -18
- package/dist/{shared → internal/shared}/observability/protocol.logger.d.ts +1 -1
- package/dist/{shared → internal/shared}/observability/protocol.logger.js +1 -1
- package/dist/internal/shared/observability/request-context.d.ts +29 -0
- package/dist/internal/shared/observability/request-context.js +17 -0
- package/dist/{shared → internal/shared}/utils/social-label.d.ts +2 -2
- package/dist/{shared → internal/shared}/utils/social-label.js +1 -1
- package/dist/platform/database/capabilities.d.ts +59 -0
- package/dist/{shared/interfaces/database.entities.d.ts → platform/database/entities.d.ts} +81 -121
- package/dist/{shared/interfaces/database.identity-queries.d.ts → platform/database/identity-queries.d.ts} +55 -20
- package/dist/platform/database/member-queries.d.ts +55 -0
- package/dist/platform/database/member-queries.js +4 -0
- package/dist/platform/database/negotiation.d.ts +38 -0
- package/dist/{shared/interfaces/database.network-queries.d.ts → platform/database/network-queries.d.ts} +66 -67
- package/dist/platform/database/network-queries.js +4 -0
- package/dist/{shared/interfaces/database.opportunity-queries.d.ts → platform/database/opportunity-queries.d.ts} +25 -109
- package/dist/{shared/interfaces/database.port.d.ts → platform/database/port.d.ts} +52 -117
- package/dist/{shared/interfaces/database.port.js → platform/database/port.js} +3 -5
- package/dist/platform/database.d.ts +23 -0
- package/dist/{shared/interfaces/database.interface.js → platform/database.js} +1 -1
- package/dist/{shared/interfaces/cache.interface.d.ts → platform/discovery/cache.d.ts} +2 -4
- package/dist/{shared/interfaces/cache.interface.js → platform/discovery/cache.js} +1 -1
- package/dist/platform/discovery/embedder.d.ts +31 -0
- package/dist/platform/runtime/errors.d.ts +6 -0
- package/dist/platform/runtime/errors.js +9 -0
- package/dist/platform/runtime/follow-up.d.ts +36 -0
- package/dist/platform/runtime/follow-up.js +4 -0
- package/dist/platform/runtime/observability.d.ts +34 -0
- package/dist/protocol/core.d.ts +11 -0
- package/dist/protocol/discovery.rules.d.ts +21 -0
- package/dist/protocol/discovery.rules.js +29 -0
- package/dist/protocol/negotiation.constants.d.ts +3 -0
- package/dist/protocol/negotiation.constants.js +3 -0
- package/dist/protocol/negotiation.rules.d.ts +73 -0
- package/dist/protocol/negotiation.rules.js +68 -0
- package/dist/protocol/protocol.prompt.d.ts +13 -0
- package/dist/protocol/protocol.prompt.js +190 -0
- package/dist/{shared → protocol}/schemas/discovery-question.schema.d.ts +13 -13
- package/dist/{shared → protocol}/schemas/discovery-question.schema.js +2 -2
- package/dist/{shared → protocol}/schemas/identity.schema.d.ts +4 -4
- package/dist/{shared → protocol}/schemas/identity.schema.js +4 -4
- package/dist/{shared → protocol}/schemas/network-assignment.schema.d.ts +11 -20
- package/dist/{shared → protocol}/schemas/network-assignment.schema.js +2 -9
- package/dist/protocol/schemas/underspecification.schema.d.ts +9 -0
- package/dist/protocol/schemas/underspecification.schema.js +12 -0
- package/package.json +7 -15
- package/dist/agents/agent.dispatcher.port.d.ts +0 -25
- package/dist/agents/agent.module.d.ts +0 -19
- package/dist/agents/agent.module.js +0 -11
- package/dist/agents/agent.repository.port.d.ts +0 -118
- package/dist/agents/agent.repository.port.js +0 -10
- package/dist/agents/agent.tools.d.ts +0 -16
- package/dist/agents/agent.tools.js +0 -351
- package/dist/agents/agent.tools.port.d.ts +0 -22
- package/dist/agents/agent.tools.port.js +0 -18
- package/dist/agents/agent.types.d.ts +0 -76
- package/dist/chat/chat-streaming.types.d.ts +0 -618
- package/dist/chat/chat-streaming.types.js +0 -297
- package/dist/chat/chat.agent.d.ts +0 -292
- package/dist/chat/chat.agent.js +0 -1010
- package/dist/chat/chat.graph.d.ts +0 -424
- package/dist/chat/chat.graph.js +0 -257
- package/dist/chat/chat.interrupt.classifier.d.ts +0 -25
- package/dist/chat/chat.interrupt.classifier.js +0 -64
- package/dist/chat/chat.persona.d.ts +0 -39
- package/dist/chat/chat.prompt.d.ts +0 -4
- package/dist/chat/chat.prompt.js +0 -12
- package/dist/chat/chat.prompt.modules.d.ts +0 -30
- package/dist/chat/chat.prompt.modules.js +0 -40
- package/dist/chat/chat.question-dedup.d.ts +0 -14
- package/dist/chat/chat.question-dedup.js +0 -17
- package/dist/chat/chat.state.d.ts +0 -135
- package/dist/chat/chat.state.js +0 -120
- package/dist/chat/chat.streamer.d.ts +0 -64
- package/dist/chat/chat.streamer.js +0 -217
- package/dist/chat/chat.suggester.d.ts +0 -23
- package/dist/chat/chat.suggester.js +0 -95
- package/dist/chat/chat.summarizer.d.ts +0 -20
- package/dist/chat/chat.summarizer.js +0 -97
- package/dist/chat/chat.title.generator.d.ts +0 -19
- package/dist/chat/chat.title.generator.js +0 -66
- package/dist/chat/chat.tools.d.ts +0 -5
- package/dist/chat/chat.tools.js +0 -62
- package/dist/chat/chat.utils.d.ts +0 -41
- package/dist/chat/chat.utils.js +0 -88
- package/dist/chat/negotiator.persona.d.ts +0 -74
- package/dist/chat/negotiator.persona.js +0 -154
- package/dist/chat/negotiator.prompt.d.ts +0 -45
- package/dist/chat/negotiator.prompt.js +0 -160
- package/dist/chat/negotiator.tools.d.ts +0 -42
- package/dist/chat/negotiator.tools.js +0 -134
- package/dist/chat/onboarding.persona.d.ts +0 -28
- package/dist/chat/onboarding.persona.js +0 -86
- package/dist/chat/onboarding.prompt.d.ts +0 -6
- package/dist/chat/onboarding.prompt.js +0 -63
- package/dist/chat/signal.persona.d.ts +0 -47
- package/dist/chat/signal.persona.js +0 -319
- package/dist/chat/signal.prompt.d.ts +0 -39
- package/dist/chat/signal.prompt.js +0 -136
- package/dist/contacts/contact.module.d.ts +0 -8
- package/dist/contacts/contact.module.js +0 -6
- package/dist/contacts/contact.repository.port.d.ts +0 -21
- package/dist/contacts/contact.repository.port.js +0 -12
- package/dist/contacts/contact.tools.d.ts +0 -17
- package/dist/contacts/contact.tools.js +0 -108
- package/dist/contacts/contact.tools.port.d.ts +0 -20
- package/dist/contacts/contact.tools.port.js +0 -16
- package/dist/contacts/contact.types.d.ts +0 -24
- package/dist/contacts/contact.types.js +0 -8
- package/dist/contexts/context.generator.d.ts +0 -95
- package/dist/contexts/context.generator.js +0 -127
- package/dist/contexts/context.module.d.ts +0 -13
- package/dist/contexts/context.module.js +0 -12
- package/dist/contexts/context.tools.port.d.ts +0 -9
- package/dist/discovery/hyde.documents.d.ts +0 -9
- package/dist/discovery/hyde.documents.js +0 -49
- package/dist/discovery/hyde.env.d.ts +0 -8
- package/dist/discovery/hyde.env.js +0 -9
- package/dist/discovery/hyde.frame.d.ts +0 -150
- package/dist/discovery/hyde.frame.js +0 -107
- package/dist/discovery/hyde.generator.d.ts +0 -38
- package/dist/discovery/hyde.generator.js +0 -103
- package/dist/discovery/hyde.graph.d.ts +0 -209
- package/dist/discovery/hyde.graph.js +0 -482
- package/dist/discovery/hyde.state.d.ts +0 -70
- package/dist/discovery/hyde.state.js +0 -85
- package/dist/discovery/hyde.strategies.d.ts +0 -17
- package/dist/discovery/hyde.strategies.js +0 -34
- package/dist/discovery/hyde.validator.d.ts +0 -78
- package/dist/discovery/hyde.validator.js +0 -48
- package/dist/discovery/index.d.ts +0 -26
- package/dist/discovery/index.js +0 -19
- package/dist/discovery/lens.inferrer.d.ts +0 -214
- package/dist/discovery/lens.inferrer.js +0 -152
- package/dist/enrichment/enrichment.generator.d.ts +0 -68
- package/dist/enrichment/enrichment.generator.js +0 -95
- package/dist/enrichment/enrichment.graph.d.ts +0 -544
- package/dist/enrichment/enrichment.graph.js +0 -695
- package/dist/enrichment/enrichment.state.d.ts +0 -141
- package/dist/enrichment/enrichment.state.js +0 -115
- package/dist/enrichment/enrichment.tools.context-read.d.ts +0 -10
- package/dist/enrichment/enrichment.tools.context-read.js +0 -353
- package/dist/enrichment/enrichment.tools.context-write.d.ts +0 -9
- package/dist/enrichment/enrichment.tools.context-write.js +0 -417
- package/dist/enrichment/enrichment.tools.d.ts +0 -13
- package/dist/enrichment/enrichment.tools.helpers.d.ts +0 -139
- package/dist/enrichment/enrichment.tools.helpers.js +0 -234
- package/dist/enrichment/enrichment.tools.js +0 -153
- package/dist/intents/graph/intent.graph.infer.d.ts +0 -44
- package/dist/intents/graph/intent.graph.infer.js +0 -97
- package/dist/intents/graph/intent.graph.js +0 -134
- package/dist/intents/graph/intent.graph.reconcile.js +0 -274
- package/dist/intents/graph/intent.graph.shared.d.ts +0 -68
- package/dist/intents/intake/intake.orchestrator.d.ts +0 -203
- package/dist/intents/intake/intake.orchestrator.js +0 -255
- package/dist/intents/intake/intake.pack.generator.d.ts +0 -57
- package/dist/intents/intake/intake.pack.generator.js +0 -90
- package/dist/intents/intent.clarifier.d.ts +0 -51
- package/dist/intents/intent.clarifier.js +0 -201
- package/dist/intents/intent.indexer.d.ts +0 -82
- package/dist/intents/intent.indexer.js +0 -170
- package/dist/intents/intent.module.js +0 -103
- package/dist/intents/intent.proposal.d.ts +0 -37
- package/dist/intents/intent.proposal.js +0 -14
- package/dist/intents/intent.reconciler.d.ts +0 -105
- package/dist/intents/intent.reconciler.js +0 -186
- package/dist/intents/intent.tools.d.ts +0 -27
- package/dist/intents/intent.tools.js +0 -808
- package/dist/maintenance/maintenance.graph.d.ts +0 -239
- package/dist/maintenance/maintenance.graph.js +0 -199
- package/dist/maintenance/maintenance.state.d.ts +0 -35
- package/dist/maintenance/maintenance.state.js +0 -55
- package/dist/mcp/elicitation.builder.d.ts +0 -53
- package/dist/mcp/elicitation.builder.js +0 -74
- package/dist/mcp/elicitation.dispatcher.d.ts +0 -36
- package/dist/mcp/elicitation.dispatcher.js +0 -86
- package/dist/mcp/mcp.authorization-policy.d.ts +0 -252
- package/dist/mcp/mcp.authorization-policy.js +0 -535
- package/dist/mcp/mcp.server.d.ts +0 -90
- package/dist/mcp/mcp.server.js +0 -631
- package/dist/negotiations/insight.generator.d.ts +0 -31
- package/dist/negotiations/insight.generator.js +0 -105
- package/dist/negotiations/negotiation.agent.d.ts +0 -130
- package/dist/negotiations/negotiation.agent.js +0 -396
- package/dist/negotiations/negotiation.answer-consumption.d.ts +0 -223
- package/dist/negotiations/negotiation.answer-consumption.js +0 -275
- package/dist/negotiations/negotiation.attribution.d.ts +0 -91
- package/dist/negotiations/negotiation.attribution.js +0 -109
- package/dist/negotiations/negotiation.candidates.d.ts +0 -83
- package/dist/negotiations/negotiation.candidates.js +0 -162
- package/dist/negotiations/negotiation.client-dm.d.ts +0 -50
- package/dist/negotiations/negotiation.client-dm.js +0 -66
- package/dist/negotiations/negotiation.consultation-policy.d.ts +0 -95
- package/dist/negotiations/negotiation.consultation-policy.js +0 -159
- package/dist/negotiations/negotiation.deadlock.contracts.d.ts +0 -10
- package/dist/negotiations/negotiation.deadlock.d.ts +0 -87
- package/dist/negotiations/negotiation.deadlock.js +0 -150
- package/dist/negotiations/negotiation.detail-reader.d.ts +0 -94
- package/dist/negotiations/negotiation.detail-reader.js +0 -91
- package/dist/negotiations/negotiation.expected-speaker.d.ts +0 -33
- package/dist/negotiations/negotiation.expected-speaker.js +0 -59
- package/dist/negotiations/negotiation.graph.d.ts +0 -694
- package/dist/negotiations/negotiation.graph.finalize.d.ts +0 -5
- package/dist/negotiations/negotiation.graph.finalize.js +0 -403
- package/dist/negotiations/negotiation.graph.init.d.ts +0 -54
- package/dist/negotiations/negotiation.graph.init.js +0 -256
- package/dist/negotiations/negotiation.graph.js +0 -94
- package/dist/negotiations/negotiation.graph.screen.d.ts +0 -23
- package/dist/negotiations/negotiation.graph.screen.js +0 -108
- package/dist/negotiations/negotiation.graph.shared.d.ts +0 -111
- package/dist/negotiations/negotiation.graph.shared.js +0 -168
- package/dist/negotiations/negotiation.graph.turn.d.ts +0 -134
- package/dist/negotiations/negotiation.graph.turn.js +0 -662
- package/dist/negotiations/negotiation.hermes-contract.d.ts +0 -31
- package/dist/negotiations/negotiation.hermes-contract.js +0 -72
- package/dist/negotiations/negotiation.intent-snapshot-provenance.d.ts +0 -21
- package/dist/negotiations/negotiation.intent-snapshot-provenance.js +0 -28
- package/dist/negotiations/negotiation.lifecycle-narration.d.ts +0 -18
- package/dist/negotiations/negotiation.lifecycle-narration.js +0 -87
- package/dist/negotiations/negotiation.memory.d.ts +0 -65
- package/dist/negotiations/negotiation.memory.js +0 -83
- package/dist/negotiations/negotiation.module.d.ts +0 -36
- package/dist/negotiations/negotiation.module.js +0 -23
- package/dist/negotiations/negotiation.protocol.d.ts +0 -1018
- package/dist/negotiations/negotiation.protocol.js +0 -224
- package/dist/negotiations/negotiation.question-safety.d.ts +0 -52
- package/dist/negotiations/negotiation.question-safety.js +0 -119
- package/dist/negotiations/negotiation.reflect.d.ts +0 -194
- package/dist/negotiations/negotiation.reflect.js +0 -145
- package/dist/negotiations/negotiation.scope.d.ts +0 -41
- package/dist/negotiations/negotiation.scope.js +0 -39
- package/dist/negotiations/negotiation.screen.contracts.d.ts +0 -88
- package/dist/negotiations/negotiation.screen.contracts.js +0 -58
- package/dist/negotiations/negotiation.screen.d.ts +0 -78
- package/dist/negotiations/negotiation.screen.js +0 -112
- package/dist/negotiations/negotiation.stall-gap.d.ts +0 -83
- package/dist/negotiations/negotiation.stall-gap.js +0 -152
- package/dist/negotiations/negotiation.stance.contracts.d.ts +0 -123
- package/dist/negotiations/negotiation.stance.contracts.js +0 -317
- package/dist/negotiations/negotiation.state.d.ts +0 -597
- package/dist/negotiations/negotiation.state.js +0 -286
- package/dist/negotiations/negotiation.summarizer.d.ts +0 -25
- package/dist/negotiations/negotiation.summarizer.js +0 -101
- package/dist/negotiations/negotiation.task-lock-policy.d.ts +0 -10
- package/dist/negotiations/negotiation.task-lock-policy.js +0 -22
- package/dist/negotiations/negotiation.tools.d.ts +0 -18
- package/dist/negotiations/negotiation.tools.js +0 -842
- package/dist/negotiations/negotiation.tools.port.d.ts +0 -17
- package/dist/negotiations/negotiation.turn-cap.d.ts +0 -9
- package/dist/negotiations/negotiation.turn-cap.js +0 -12
- package/dist/networks/indexer.state.js +0 -112
- package/dist/networks/network.tools.d.ts +0 -36
- package/dist/networks/network.tools.js +0 -594
- package/dist/opportunities/delivery-card.cache.d.ts +0 -25
- package/dist/opportunities/delivery-card.cache.js +0 -43
- package/dist/opportunities/discovery.env.d.ts +0 -20
- package/dist/opportunities/discovery.env.js +0 -109
- package/dist/opportunities/discriminator/discriminator.adjustments.d.ts +0 -90
- package/dist/opportunities/discriminator/discriminator.adjustments.js +0 -141
- package/dist/opportunities/discriminator/discriminator.assigner.d.ts +0 -78
- package/dist/opportunities/discriminator/discriminator.assigner.js +0 -153
- package/dist/opportunities/discriminator/discriminator.env.d.ts +0 -103
- package/dist/opportunities/discriminator/discriminator.env.js +0 -103
- package/dist/opportunities/discriminator/discriminator.miner.d.ts +0 -114
- package/dist/opportunities/discriminator/discriminator.miner.js +0 -228
- package/dist/opportunities/discriminator/discriminator.push.d.ts +0 -13
- package/dist/opportunities/discriminator/discriminator.push.js +0 -19
- package/dist/opportunities/discriminator/discriminator.question.d.ts +0 -58
- package/dist/opportunities/discriminator/discriminator.question.js +0 -155
- package/dist/opportunities/discriminator/discriminator.scorer.d.ts +0 -32
- package/dist/opportunities/discriminator/discriminator.scorer.js +0 -105
- package/dist/opportunities/discriminator/discriminator.shadow.d.ts +0 -32
- package/dist/opportunities/discriminator/discriminator.shadow.js +0 -90
- package/dist/opportunities/discriminator/discriminator.types.d.ts +0 -93
- package/dist/opportunities/discriminator/discriminator.types.js +0 -18
- package/dist/opportunities/negotiation-context.loader.d.ts +0 -59
- package/dist/opportunities/negotiation-context.loader.js +0 -90
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.d.ts +0 -43
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.env.js +0 -44
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.d.ts +0 -24
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.extractor.js +0 -188
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.d.ts +0 -26
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.miner.js +0 -112
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.d.ts +0 -19
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.shadow.js +0 -61
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.d.ts +0 -191
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.types.js +0 -18
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.d.ts +0 -34
- package/dist/opportunities/negotiation-evidence/negotiation-evidence.verifier.js +0 -91
- package/dist/opportunities/negotiation-summary.builder.d.ts +0 -37
- package/dist/opportunities/negotiation-summary.builder.js +0 -66
- package/dist/opportunities/opportunity.discovery-negotiation-summary.d.ts +0 -14
- package/dist/opportunities/opportunity.discovery-negotiation-summary.js +0 -46
- package/dist/opportunities/opportunity.enricher.d.ts +0 -71
- package/dist/opportunities/opportunity.enricher.js +0 -280
- package/dist/opportunities/opportunity.evaluator.d.ts +0 -289
- package/dist/opportunities/opportunity.evaluator.js +0 -516
- package/dist/opportunities/opportunity.evidence.d.ts +0 -22
- package/dist/opportunities/opportunity.evidence.js +0 -87
- package/dist/opportunities/opportunity.existing-negotiation.d.ts +0 -79
- package/dist/opportunities/opportunity.existing-negotiation.js +0 -118
- package/dist/opportunities/opportunity.feed-selection.js +0 -96
- package/dist/opportunities/opportunity.graph.d.ts +0 -1611
- package/dist/opportunities/opportunity.graph.discovery-strategies.d.ts +0 -109
- package/dist/opportunities/opportunity.graph.discovery-strategies.js +0 -451
- package/dist/opportunities/opportunity.graph.discovery.d.ts +0 -69
- package/dist/opportunities/opportunity.graph.discovery.js +0 -397
- package/dist/opportunities/opportunity.graph.evaluation.d.ts +0 -82
- package/dist/opportunities/opportunity.graph.evaluation.js +0 -608
- package/dist/opportunities/opportunity.graph.js +0 -193
- package/dist/opportunities/opportunity.graph.modes.d.ts +0 -538
- package/dist/opportunities/opportunity.graph.modes.js +0 -538
- package/dist/opportunities/opportunity.graph.negotiate.d.ts +0 -109
- package/dist/opportunities/opportunity.graph.negotiate.js +0 -392
- package/dist/opportunities/opportunity.graph.persist-node.d.ts +0 -93
- package/dist/opportunities/opportunity.graph.persist-node.js +0 -765
- package/dist/opportunities/opportunity.graph.prep.d.ts +0 -150
- package/dist/opportunities/opportunity.graph.prep.js +0 -381
- package/dist/opportunities/opportunity.graph.shared.d.ts +0 -173
- package/dist/opportunities/opportunity.graph.shared.js +0 -199
- package/dist/opportunities/opportunity.introducer-feature.d.ts +0 -2
- package/dist/opportunities/opportunity.introducer-feature.js +0 -4
- package/dist/opportunities/opportunity.introducer.d.ts +0 -77
- package/dist/opportunities/opportunity.introducer.js +0 -99
- package/dist/opportunities/opportunity.labels.js +0 -10
- package/dist/opportunities/opportunity.lifecycle.d.ts +0 -63
- package/dist/opportunities/opportunity.lifecycle.js +0 -181
- package/dist/opportunities/opportunity.module.d.ts +0 -54
- package/dist/opportunities/opportunity.module.js +0 -39
- package/dist/opportunities/opportunity.newborn-stamping.d.ts +0 -41
- package/dist/opportunities/opportunity.newborn-stamping.js +0 -81
- package/dist/opportunities/opportunity.owner-approval.d.ts +0 -118
- package/dist/opportunities/opportunity.owner-approval.js +0 -34
- package/dist/opportunities/opportunity.owner-provenance.d.ts +0 -6
- package/dist/opportunities/opportunity.owner-provenance.js +0 -28
- package/dist/opportunities/opportunity.persist.d.ts +0 -58
- package/dist/opportunities/opportunity.persist.js +0 -145
- package/dist/opportunities/opportunity.persistence-admission.d.ts +0 -39
- package/dist/opportunities/opportunity.persistence-admission.js +0 -59
- package/dist/opportunities/opportunity.state.d.ts +0 -451
- package/dist/opportunities/opportunity.state.js +0 -256
- package/dist/opportunities/opportunity.tools.cards.d.ts +0 -138
- package/dist/opportunities/opportunity.tools.cards.js +0 -212
- package/dist/opportunities/opportunity.tools.d.ts +0 -12
- package/dist/opportunities/opportunity.tools.js +0 -236
- package/dist/opportunities/opportunity.tools.list.d.ts +0 -10
- package/dist/opportunities/opportunity.tools.list.js +0 -489
- package/dist/opportunities/opportunity.tools.port.d.ts +0 -16
- package/dist/opportunities/opportunity.utils.d.ts +0 -217
- package/dist/opportunities/opportunity.utils.js +0 -395
- package/dist/opportunities/outcome/outcome.env.d.ts +0 -60
- package/dist/opportunities/outcome/outcome.env.js +0 -63
- package/dist/opportunities/outcome/outcome.hypotheses.d.ts +0 -29
- package/dist/opportunities/outcome/outcome.hypotheses.js +0 -117
- package/dist/opportunities/outcome/outcome.shadow.d.ts +0 -56
- package/dist/opportunities/outcome/outcome.shadow.js +0 -87
- package/dist/opportunities/outcome/outcome.types.d.ts +0 -110
- package/dist/opportunities/outcome/outcome.types.js +0 -26
- package/dist/opportunities/radar/radar.health.d.ts +0 -31
- package/dist/opportunities/radar/radar.health.js +0 -75
- package/dist/premises/premise.analyzer.d.ts +0 -35
- package/dist/premises/premise.analyzer.js +0 -115
- package/dist/premises/premise.decomposer.d.ts +0 -69
- package/dist/premises/premise.decomposer.js +0 -213
- package/dist/premises/premise.graph.d.ts +0 -345
- package/dist/premises/premise.graph.js +0 -278
- package/dist/premises/premise.indexer.d.ts +0 -35
- package/dist/premises/premise.indexer.js +0 -86
- package/dist/premises/premise.state.d.ts +0 -67
- package/dist/premises/premise.state.js +0 -94
- package/dist/premises/premise.tools.d.ts +0 -3
- package/dist/premises/premise.tools.js +0 -248
- package/dist/questions/question.env.d.ts +0 -27
- package/dist/questions/question.env.js +0 -27
- package/dist/questions/question.input.d.ts +0 -107
- package/dist/questions/question.module.d.ts +0 -30
- package/dist/questions/question.module.js +0 -28
- package/dist/questions/question.schema.d.ts +0 -1529
- package/dist/questions/question.schema.js +0 -420
- package/dist/shared/agent/activity-projection.d.ts +0 -271
- package/dist/shared/agent/activity-projection.js +0 -254
- package/dist/shared/agent/canonical-guidance.d.ts +0 -30
- package/dist/shared/agent/canonical-guidance.js +0 -246
- package/dist/shared/agent/model.resolver.d.ts +0 -48
- package/dist/shared/agent/tool.factory.d.ts +0 -17
- package/dist/shared/agent/tool.factory.js +0 -221
- package/dist/shared/agent/tool.helpers.d.ts +0 -482
- package/dist/shared/agent/tool.helpers.js +0 -232
- package/dist/shared/agent/tool.registry.d.ts +0 -25
- package/dist/shared/agent/tool.registry.js +0 -76
- package/dist/shared/agent/tool.runtime.d.ts +0 -28
- package/dist/shared/agent/tool.runtime.js +0 -194
- package/dist/shared/agent/tool.scope.d.ts +0 -44
- package/dist/shared/agent/tool.scope.js +0 -50
- package/dist/shared/agent/utility.tools.d.ts +0 -15
- package/dist/shared/agent/utility.tools.js +0 -322
- package/dist/shared/assignment/network-assignment.policy.d.ts +0 -61
- package/dist/shared/assignment/network-assignment.policy.js +0 -105
- package/dist/shared/interfaces/agent-dispatcher.interface.d.ts +0 -100
- package/dist/shared/interfaces/agent-dispatcher.interface.js +0 -12
- package/dist/shared/interfaces/auth.interface.d.ts +0 -37
- package/dist/shared/interfaces/auth.interface.js +0 -1
- package/dist/shared/interfaces/chat-message-writer.interface.d.ts +0 -18
- package/dist/shared/interfaces/chat-message-writer.interface.js +0 -1
- package/dist/shared/interfaces/chat-session.interface.d.ts +0 -23
- package/dist/shared/interfaces/chat-session.interface.js +0 -18
- package/dist/shared/interfaces/chat-summary.interface.d.ts +0 -16
- package/dist/shared/interfaces/chat-summary.interface.js +0 -1
- package/dist/shared/interfaces/database.capabilities.d.ts +0 -100
- package/dist/shared/interfaces/database.interface.d.ts +0 -16
- package/dist/shared/interfaces/database.member-queries.d.ts +0 -219
- package/dist/shared/interfaces/database.member-queries.js +0 -4
- package/dist/shared/interfaces/database.negotiation.d.ts +0 -329
- package/dist/shared/interfaces/database.negotiation.js +0 -26
- package/dist/shared/interfaces/database.network-queries.js +0 -4
- package/dist/shared/interfaces/database.opportunity-queries.js +0 -4
- package/dist/shared/interfaces/delivery-ledger.interface.d.ts +0 -40
- package/dist/shared/interfaces/delivery-ledger.interface.js +0 -5
- package/dist/shared/interfaces/embedder.interface.d.ts +0 -92
- package/dist/shared/interfaces/embedder.interface.js +0 -4
- package/dist/shared/interfaces/enrichment-run.interface.d.ts +0 -62
- package/dist/shared/interfaces/enrichment-run.interface.js +0 -1
- package/dist/shared/interfaces/enrichment.interface.js +0 -1
- package/dist/shared/interfaces/negotiation-events.interface.d.ts +0 -77
- package/dist/shared/interfaces/negotiation-events.interface.js +0 -6
- package/dist/shared/interfaces/negotiation-summary.interface.d.ts +0 -25
- package/dist/shared/interfaces/negotiation-summary.interface.js +0 -1
- package/dist/shared/interfaces/negotiator-memory.interface.d.ts +0 -58
- package/dist/shared/interfaces/negotiator-memory.interface.js +0 -11
- package/dist/shared/interfaces/queue.interface.d.ts +0 -23
- package/dist/shared/interfaces/queue.interface.js +0 -4
- package/dist/shared/interfaces/scraper.interface.js +0 -1
- package/dist/shared/interfaces/tool-request-context.interface.d.ts +0 -11
- package/dist/shared/interfaces/tool-request-context.interface.js +0 -1
- package/dist/shared/observability/request-context.d.ts +0 -27
- package/dist/shared/observability/request-context.js +0 -6
- package/dist/shared/schemas/mcp-auth.schema.d.ts +0 -87
- package/dist/shared/schemas/mcp-auth.schema.js +0 -56
- package/dist/shared/schemas/negotiation-digest.schema.d.ts +0 -58
- package/dist/shared/schemas/negotiation-digest.schema.js +0 -38
- package/dist/shared/schemas/negotiation-state.schema.d.ts +0 -343
- package/dist/shared/schemas/negotiation-state.schema.js +0 -81
- package/dist/shared/schemas/question-block.fixture.d.ts +0 -12
- package/dist/shared/schemas/question-block.fixture.js +0 -39
- package/dist/shared/schemas/question-block.schema.d.ts +0 -111
- package/dist/shared/schemas/question-block.schema.js +0 -124
- package/dist/shared/schemas/structured-question.schema.d.ts +0 -66
- package/dist/shared/schemas/structured-question.schema.js +0 -31
- package/dist/shared/schemas/underspecification.schema.d.ts +0 -13
- package/dist/shared/schemas/underspecification.schema.js +0 -16
- /package/dist/{opportunities → internal/opportunities}/opportunity.update-admission.js +0 -0
- /package/dist/{opportunities → internal/opportunities}/radar/radar.state.js +0 -0
- /package/dist/{shared → internal/shared}/network/metadata.renderer.d.ts +0 -0
- /package/dist/{shared → internal/shared}/network/metadata.renderer.js +0 -0
- /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/debug-meta.sanitizer.js +0 -0
- /package/dist/{shared → internal/shared}/observability/performance.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/performance.js +0 -0
- /package/dist/{shared → internal/shared}/observability/trace.d.ts +0 -0
- /package/dist/{shared → internal/shared}/observability/trace.js +0 -0
- /package/dist/{shared → internal/shared}/utils/claim-safety.d.ts +0 -0
- /package/dist/{shared → internal/shared}/utils/claim-safety.js +0 -0
- /package/dist/{shared → internal/shared}/utils/telegram-handle.d.ts +0 -0
- /package/dist/{shared → internal/shared}/utils/telegram-handle.js +0 -0
- /package/dist/{shared/interfaces/database.capabilities.js → platform/database/capabilities.js} +0 -0
- /package/dist/{shared/interfaces/database.entities.js → platform/database/entities.js} +0 -0
- /package/dist/{shared/interfaces/database.identity-queries.js → platform/database/identity-queries.js} +0 -0
- /package/dist/{agents/agent.dispatcher.port.js → platform/database/negotiation.js} +0 -0
- /package/dist/{chat/chat.persona.js → platform/database/opportunity-queries.js} +0 -0
- /package/dist/{contexts/context.tools.port.js → platform/discovery/embedder.js} +0 -0
- /package/dist/{shared/interfaces/scraper.interface.d.ts → platform/discovery/scraper.d.ts} +0 -0
- /package/dist/{negotiations/negotiation.deadlock.contracts.js → platform/discovery/scraper.js} +0 -0
- /package/dist/{shared/interfaces/enrichment.interface.d.ts → platform/enrichment/ports.d.ts} +0 -0
- /package/dist/{negotiations/negotiation.tools.port.js → platform/enrichment/ports.js} +0 -0
- /package/dist/{opportunities/opportunity.tools.port.js → platform/runtime/observability.js} +0 -0
- /package/dist/{questions/question.input.js → protocol/core.js} +0 -0
- /package/dist/{shared → protocol}/schemas/chat-context.schema.d.ts +0 -0
- /package/dist/{shared → protocol}/schemas/chat-context.schema.js +0 -0
package/dist/chat/chat.graph.js
DELETED
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
import { StateGraph, START, END } from "@langchain/langgraph";
|
|
2
|
-
import { HumanMessage } from "@langchain/core/messages";
|
|
3
|
-
import { ChatGraphState } from "./chat.state.js";
|
|
4
|
-
import { ChatAgent } from "./chat.agent.js";
|
|
5
|
-
import { protocolLogger } from "../shared/observability/protocol.logger.js";
|
|
6
|
-
import { truncateToTokenLimit, MAX_CONTEXT_TOKENS } from "./chat.utils.js";
|
|
7
|
-
import { ChatStreamer } from "./chat.streamer.js";
|
|
8
|
-
import { timed } from "../shared/observability/performance.js";
|
|
9
|
-
const logger = protocolLogger("ChatGraphFactory");
|
|
10
|
-
function isRetriableError(err) {
|
|
11
|
-
const status = err.status ?? err.statusCode;
|
|
12
|
-
if (typeof status === "number" && status >= 500 && status <= 599)
|
|
13
|
-
return true;
|
|
14
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
15
|
-
const lower = msg.toLowerCase();
|
|
16
|
-
return (lower.includes("internal server error") ||
|
|
17
|
-
/\b500\b|status[: ]*500/i.test(msg) ||
|
|
18
|
-
lower.includes("econnreset") ||
|
|
19
|
-
lower.includes("etimedout"));
|
|
20
|
-
}
|
|
21
|
-
const RETRY_DELAY_MS = 800;
|
|
22
|
-
export class ChatGraphFactory {
|
|
23
|
-
constructor(database, embedder, scraper, chatSession, protocolDeps,
|
|
24
|
-
/** Persona driving this graph's agent loop. Required — there is no default. */
|
|
25
|
-
persona) {
|
|
26
|
-
this.database = database;
|
|
27
|
-
this.embedder = embedder;
|
|
28
|
-
this.scraper = scraper;
|
|
29
|
-
this.chatSession = chatSession;
|
|
30
|
-
this.protocolDeps = protocolDeps;
|
|
31
|
-
this.persona = persona;
|
|
32
|
-
this.streamingService = new ChatStreamer((sessionId, maxMessages) => this.loadSessionContext(sessionId, maxMessages), (checkpointer) => this.createStreamingGraph(checkpointer));
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Returns a sibling factory sharing all dependencies but driven by a
|
|
36
|
-
* different persona. Used to derive per-session persona factories (e.g. the
|
|
37
|
-
* negotiator, whose identity comes from the user's personal agent row) from
|
|
38
|
-
* the composition-root orchestrator factory without re-wiring deps.
|
|
39
|
-
*
|
|
40
|
-
* @param persona - The persona config for the derived factory
|
|
41
|
-
* @returns A new ChatGraphFactory with identical deps and the given persona
|
|
42
|
-
*/
|
|
43
|
-
withPersona(persona) {
|
|
44
|
-
return new ChatGraphFactory(this.database, this.embedder, this.scraper, this.chatSession, this.protocolDeps, persona);
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Creates and compiles the Chat Graph without persistence.
|
|
48
|
-
* @returns Compiled StateGraph ready for invocation
|
|
49
|
-
*/
|
|
50
|
-
createGraph() {
|
|
51
|
-
return this.buildGraph().compile();
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Creates a streaming-enabled graph with optional checkpointer for persistence.
|
|
55
|
-
* @param checkpointer - Optional checkpointer (e.g., MemorySaver or PostgresSaver)
|
|
56
|
-
* @returns Compiled StateGraph ready for streaming
|
|
57
|
-
*/
|
|
58
|
-
createStreamingGraph(checkpointer) {
|
|
59
|
-
const graph = this.buildGraph();
|
|
60
|
-
if (checkpointer) {
|
|
61
|
-
return graph.compile({ checkpointer });
|
|
62
|
-
}
|
|
63
|
-
return graph.compile();
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Load previous messages from a session and convert to LangChain messages.
|
|
67
|
-
* Handles token truncation to fit within context window limits.
|
|
68
|
-
*
|
|
69
|
-
* @param sessionId - The session ID to load context from
|
|
70
|
-
* @param maxMessages - Maximum number of messages to load (default: 20)
|
|
71
|
-
* @returns Array of LangChain BaseMessage objects
|
|
72
|
-
*/
|
|
73
|
-
async loadSessionContext(sessionId, maxMessages = 20) {
|
|
74
|
-
logger.verbose("Loading session context", {
|
|
75
|
-
sessionId,
|
|
76
|
-
maxMessages,
|
|
77
|
-
});
|
|
78
|
-
try {
|
|
79
|
-
const messages = await this.chatSession.getSessionMessages(sessionId, maxMessages);
|
|
80
|
-
if (messages.length === 0) {
|
|
81
|
-
logger.verbose("No previous messages found", { sessionId });
|
|
82
|
-
return [];
|
|
83
|
-
}
|
|
84
|
-
// Convert database messages to LangChain format.
|
|
85
|
-
// All roles map to HumanMessage to avoid circular dependency.
|
|
86
|
-
const langchainMessages = messages.map((msg) => new HumanMessage(msg.content));
|
|
87
|
-
// Truncate to fit within token limits
|
|
88
|
-
const truncatedMessages = truncateToTokenLimit(langchainMessages, MAX_CONTEXT_TOKENS);
|
|
89
|
-
logger.verbose("Context loaded", {
|
|
90
|
-
sessionId,
|
|
91
|
-
originalCount: messages.length,
|
|
92
|
-
truncatedCount: truncatedMessages.length,
|
|
93
|
-
});
|
|
94
|
-
return truncatedMessages;
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
logger.error("Failed to load context", {
|
|
98
|
-
sessionId,
|
|
99
|
-
error: error instanceof Error ? error.message : String(error),
|
|
100
|
-
});
|
|
101
|
-
// Return empty array on error - don't fail the entire request
|
|
102
|
-
return [];
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Streams chat events with full session context.
|
|
107
|
-
* Delegates to ChatGraphStreamingService.
|
|
108
|
-
*/
|
|
109
|
-
async *streamChatEventsWithContext(input, checkpointer, signal) {
|
|
110
|
-
yield* this.streamingService.streamChatEventsWithContext(input, checkpointer, signal);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Streams chat events from the graph execution.
|
|
114
|
-
* Delegates to ChatGraphStreamingService.
|
|
115
|
-
*/
|
|
116
|
-
async *streamChatEvents(input, sessionId, checkpointer, signal) {
|
|
117
|
-
yield* this.streamingService.streamChatEvents(input, sessionId, checkpointer, signal);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Internal method to build the graph structure.
|
|
121
|
-
* @returns Uncompiled StateGraph
|
|
122
|
-
*/
|
|
123
|
-
buildGraph() {
|
|
124
|
-
const deps = {
|
|
125
|
-
database: this.database,
|
|
126
|
-
embedder: this.embedder,
|
|
127
|
-
scraper: this.scraper,
|
|
128
|
-
protocolDeps: this.protocolDeps,
|
|
129
|
-
persona: this.persona,
|
|
130
|
-
};
|
|
131
|
-
// ─────────────────────────────────────────────────────────────────────────
|
|
132
|
-
// GRAPH ASSEMBLY
|
|
133
|
-
// ─────────────────────────────────────────────────────────────────────────
|
|
134
|
-
const workflow = new StateGraph(ChatGraphState)
|
|
135
|
-
.addNode("agent_loop", (state, config) => agentLoopNode(state, config, deps))
|
|
136
|
-
.addEdge(START, "agent_loop")
|
|
137
|
-
.addEdge("agent_loop", END);
|
|
138
|
-
logger.verbose("Graph built successfully (agent loop architecture)");
|
|
139
|
-
return workflow;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* The main agent loop node.
|
|
144
|
-
* Runs a ReAct-style agent that calls tools until it decides to respond.
|
|
145
|
-
*
|
|
146
|
-
* Uses `agent.streamRun()` + `config.writer` so that text tokens and
|
|
147
|
-
* tool-activity events are pushed into the graph's custom stream in
|
|
148
|
-
* real-time rather than batched at the end.
|
|
149
|
-
*/
|
|
150
|
-
export async function agentLoopNode(state, config, deps) {
|
|
151
|
-
return timed("ChatGraph.agentLoop", async () => {
|
|
152
|
-
logger.verbose("Agent loop starting", {
|
|
153
|
-
userId: state.userId,
|
|
154
|
-
messageCount: state.messages.length,
|
|
155
|
-
currentIteration: state.iterationCount
|
|
156
|
-
});
|
|
157
|
-
const runLoop = async () => {
|
|
158
|
-
const legacyNetworkId = state.networkId;
|
|
159
|
-
const scopeType = state.scopeType ?? (legacyNetworkId ? 'network' : undefined);
|
|
160
|
-
const scopeId = state.scopeId ?? legacyNetworkId;
|
|
161
|
-
const agent = await ChatAgent.create({
|
|
162
|
-
...deps.protocolDeps,
|
|
163
|
-
userId: state.userId,
|
|
164
|
-
database: deps.database,
|
|
165
|
-
embedder: deps.embedder,
|
|
166
|
-
scraper: deps.scraper,
|
|
167
|
-
...(legacyNetworkId ? { networkId: legacyNetworkId } : {}),
|
|
168
|
-
...(scopeType && scopeId ? { scopeType, scopeId } : {}),
|
|
169
|
-
sessionId: state.sessionId,
|
|
170
|
-
}, deps.persona);
|
|
171
|
-
// Direct streaming writer - emit events immediately instead of buffering
|
|
172
|
-
const directWriter = (data) => {
|
|
173
|
-
try {
|
|
174
|
-
config.writer?.(data);
|
|
175
|
-
}
|
|
176
|
-
catch {
|
|
177
|
-
/* swallow if writer is gone */
|
|
178
|
-
}
|
|
179
|
-
};
|
|
180
|
-
// Get signal from configurable (passed by streamer via graph.stream() config)
|
|
181
|
-
const signal = config.configurable?.signal;
|
|
182
|
-
const result = await agent.streamRun(state.messages, directWriter, signal);
|
|
183
|
-
return result;
|
|
184
|
-
};
|
|
185
|
-
try {
|
|
186
|
-
const result = await runLoop();
|
|
187
|
-
logger.debug("Agent streamRun result", {
|
|
188
|
-
responseText: result.responseText,
|
|
189
|
-
iterationCount: result.iterationCount,
|
|
190
|
-
messageCount: result.messages.length,
|
|
191
|
-
});
|
|
192
|
-
logger.verbose("Agent loop complete", {
|
|
193
|
-
userId: state.userId,
|
|
194
|
-
iterations: result.iterationCount,
|
|
195
|
-
responseLength: result.responseText.length
|
|
196
|
-
});
|
|
197
|
-
return {
|
|
198
|
-
messages: result.messages,
|
|
199
|
-
responseText: result.responseText,
|
|
200
|
-
iterationCount: result.iterationCount,
|
|
201
|
-
shouldContinue: false,
|
|
202
|
-
debugMeta: result.debugMeta,
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
catch (error) {
|
|
206
|
-
if (isRetriableError(error)) {
|
|
207
|
-
const signal = config.configurable?.signal;
|
|
208
|
-
if (signal?.aborted) {
|
|
209
|
-
return {
|
|
210
|
-
error: "Request aborted",
|
|
211
|
-
responseText: "",
|
|
212
|
-
shouldContinue: false,
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
logger.warn("Agent loop failed with retriable error, retrying once", {
|
|
216
|
-
userId: state.userId,
|
|
217
|
-
error: error instanceof Error ? error.message : String(error)
|
|
218
|
-
});
|
|
219
|
-
await new Promise((r) => setTimeout(r, RETRY_DELAY_MS));
|
|
220
|
-
try {
|
|
221
|
-
const result = await runLoop();
|
|
222
|
-
logger.verbose("Agent loop complete after retry", {
|
|
223
|
-
userId: state.userId,
|
|
224
|
-
iterations: result.iterationCount,
|
|
225
|
-
});
|
|
226
|
-
return {
|
|
227
|
-
messages: result.messages,
|
|
228
|
-
responseText: result.responseText,
|
|
229
|
-
iterationCount: result.iterationCount,
|
|
230
|
-
shouldContinue: false,
|
|
231
|
-
debugMeta: result.debugMeta,
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
catch (retryError) {
|
|
235
|
-
logger.error("Agent loop failed on retry", {
|
|
236
|
-
userId: state.userId,
|
|
237
|
-
error: retryError instanceof Error ? retryError.message : String(retryError)
|
|
238
|
-
});
|
|
239
|
-
return {
|
|
240
|
-
error: retryError instanceof Error ? retryError.message : "Agent loop failed",
|
|
241
|
-
responseText: "I apologize, but I encountered an issue processing your request. Please try again.",
|
|
242
|
-
shouldContinue: false
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
logger.error("Agent loop failed", {
|
|
247
|
-
userId: state.userId,
|
|
248
|
-
error: error instanceof Error ? error.message : String(error)
|
|
249
|
-
});
|
|
250
|
-
return {
|
|
251
|
-
error: error instanceof Error ? error.message : "Agent loop failed",
|
|
252
|
-
responseText: "I apologize, but I encountered an issue processing your request. Please try again.",
|
|
253
|
-
shouldContinue: false
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export interface ClassifyInterruptInput {
|
|
2
|
-
/** The new user message sent while the agent is running. */
|
|
3
|
-
message: string;
|
|
4
|
-
/**
|
|
5
|
-
* Current agent activity summary derived from the last few SSE trace event names
|
|
6
|
-
* (e.g. "tool_start: discover_opportunities, graph_start: opportunity").
|
|
7
|
-
*/
|
|
8
|
-
agentState: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Binary classifier that decides whether a mid-stream user message should steer
|
|
12
|
-
* (interrupt the current run) or queue (buffer until the run completes).
|
|
13
|
-
* Uses a low-temperature, minimal-token model for sub-1 s latency.
|
|
14
|
-
*/
|
|
15
|
-
export declare class ChatInterruptClassifier {
|
|
16
|
-
private model;
|
|
17
|
-
constructor();
|
|
18
|
-
/**
|
|
19
|
-
* Classify a mid-stream interrupt as steer or queue.
|
|
20
|
-
*
|
|
21
|
-
* @param input - The new message and current agent state context
|
|
22
|
-
* @returns "steer" to interrupt the current run; "queue" to buffer
|
|
23
|
-
*/
|
|
24
|
-
classify(input: ClassifyInterruptInput): Promise<"steer" | "queue">;
|
|
25
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { HumanMessage, SystemMessage } from "@langchain/core/messages";
|
|
11
|
-
import { log } from "../shared/observability/log.js";
|
|
12
|
-
import { Timed } from "../shared/observability/performance.js";
|
|
13
|
-
import { createResilientModel } from "../shared/agent/model.config.js";
|
|
14
|
-
import { invokeWithAbortSignal } from "../shared/agent/model-signal.js";
|
|
15
|
-
const logger = log.lib.from("ChatInterruptClassifier");
|
|
16
|
-
const SYSTEM_PROMPT = `You decide whether a new user message sent during an active AI process should STEER or QUEUE.
|
|
17
|
-
|
|
18
|
-
Rules:
|
|
19
|
-
- Reply with ONLY one word: steer or queue (lowercase).
|
|
20
|
-
- STEER: the message redirects, corrects, stops, contradicts, or changes what the AI is doing. Keywords: "wait", "stop", "actually", "ignore that", "instead", "no", "cancel".
|
|
21
|
-
- QUEUE: the message adds context, asks a follow-up, or complements what the AI is doing. Keywords: "also", "and", "when done", "additionally", "plus".
|
|
22
|
-
- When ambiguous, default to steer.`;
|
|
23
|
-
/**
|
|
24
|
-
* Binary classifier that decides whether a mid-stream user message should steer
|
|
25
|
-
* (interrupt the current run) or queue (buffer until the run completes).
|
|
26
|
-
* Uses a low-temperature, minimal-token model for sub-1 s latency.
|
|
27
|
-
*/
|
|
28
|
-
export class ChatInterruptClassifier {
|
|
29
|
-
constructor() {
|
|
30
|
-
this.model = createResilientModel("interruptClassifier");
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Classify a mid-stream interrupt as steer or queue.
|
|
34
|
-
*
|
|
35
|
-
* @param input - The new message and current agent state context
|
|
36
|
-
* @returns "steer" to interrupt the current run; "queue" to buffer
|
|
37
|
-
*/
|
|
38
|
-
async classify(input) {
|
|
39
|
-
const { message, agentState } = input;
|
|
40
|
-
try {
|
|
41
|
-
const response = await invokeWithAbortSignal(this.model, [
|
|
42
|
-
new SystemMessage(SYSTEM_PROMPT),
|
|
43
|
-
new HumanMessage(`Current agent activity: ${agentState || "idle"}\n\nNew user message: "${message.slice(0, 500)}"\n\nDecision:`),
|
|
44
|
-
]);
|
|
45
|
-
const text = String(response.content ?? "").trim().toLowerCase();
|
|
46
|
-
if (text.startsWith("queue"))
|
|
47
|
-
return "queue";
|
|
48
|
-
// Default to steer on any ambiguity or unexpected output
|
|
49
|
-
return "steer";
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
logger.warn("Classification failed, defaulting to steer", {
|
|
53
|
-
error: error instanceof Error ? error.message : String(error),
|
|
54
|
-
});
|
|
55
|
-
return "steer";
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
__decorate([
|
|
60
|
-
Timed(),
|
|
61
|
-
__metadata("design:type", Function),
|
|
62
|
-
__metadata("design:paramtypes", [Object]),
|
|
63
|
-
__metadata("design:returntype", Promise)
|
|
64
|
-
], ChatInterruptClassifier.prototype, "classify", null);
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { ChatTools, ToolContext, ResolvedToolContext } from "../shared/agent/tool.factory.js";
|
|
2
|
-
import type { IterationContext } from "./chat.prompt.modules.js";
|
|
3
|
-
/**
|
|
4
|
-
* Behaviors that live in the agent loop itself (not in the prompt or toolset).
|
|
5
|
-
* Each persona opts in explicitly.
|
|
6
|
-
*/
|
|
7
|
-
export interface ChatPersonaLoopBehaviors {
|
|
8
|
-
/**
|
|
9
|
-
* Detect hallucinated ```opportunity / ```intent_proposal code blocks in model
|
|
10
|
-
* text, auto-invoke the corresponding tool, and strip unbacked blocks from the
|
|
11
|
-
* final response. Only meaningful for personas whose toolset can legitimately
|
|
12
|
-
* produce those blocks — enabled for onboarding, signal and negotiator.
|
|
13
|
-
*/
|
|
14
|
-
hallucinationRecovery: boolean;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Persona configuration injected into `ChatAgent.create()`.
|
|
18
|
-
*
|
|
19
|
-
* A persona bundles the three persona-coupled seams of the chat runtime:
|
|
20
|
-
* system-prompt construction, toolset creation, and loop behaviors.
|
|
21
|
-
*/
|
|
22
|
-
export interface ChatPersonaConfig {
|
|
23
|
-
/**
|
|
24
|
-
* Stable persona identifier. Matches the `conversations.persona` column value
|
|
25
|
-
* for sessions driven by this persona.
|
|
26
|
-
*/
|
|
27
|
-
id: string;
|
|
28
|
-
/** Builds the system prompt for each agent-loop iteration. */
|
|
29
|
-
buildSystemContent: (ctx: ResolvedToolContext, iterCtx: IterationContext) => string;
|
|
30
|
-
/** Creates the persona's toolset bound to the resolved user context. */
|
|
31
|
-
createTools: (deps: ToolContext, preResolvedContext?: ResolvedToolContext) => Promise<ChatTools>;
|
|
32
|
-
/**
|
|
33
|
-
* Optionally resolves a turn without an LLM or tools. Use only for narrow,
|
|
34
|
-
* deterministic safety redirects derived entirely from iteration context.
|
|
35
|
-
*/
|
|
36
|
-
resolveDeterministicResponse?: (ctx: ResolvedToolContext, iterCtx: IterationContext) => string | null;
|
|
37
|
-
/** Loop behaviors this persona opts into. */
|
|
38
|
-
loopBehaviors: ChatPersonaLoopBehaviors;
|
|
39
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Nudge message injected after SOFT_ITERATION_LIMIT iterations.
|
|
3
|
-
*/
|
|
4
|
-
export declare const ITERATION_NUDGE = "[System Note: You've made several tool calls. Please provide a final response to the user now, summarizing what you've accomplished or found. If you need more information from the user, ask for it in your response.]";
|
package/dist/chat/chat.prompt.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
2
|
-
// SHARED CHAT-LOOP PROMPT FRAGMENTS
|
|
3
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
4
|
-
//
|
|
5
|
-
// Persona-neutral prompt text owned by the agent loop rather than by any one
|
|
6
|
-
// persona. Each persona builds its own system prompt (see signal.prompt.ts,
|
|
7
|
-
// negotiator.prompt.ts, onboarding.prompt.ts); what remains
|
|
8
|
-
// here is only what the loop itself injects regardless of persona.
|
|
9
|
-
/**
|
|
10
|
-
* Nudge message injected after SOFT_ITERATION_LIMIT iterations.
|
|
11
|
-
*/
|
|
12
|
-
export const ITERATION_NUDGE = `[System Note: You've made several tool calls. Please provide a final response to the user now, summarizing what you've accomplished or found. If you need more information from the user, ask for it in your response.]`;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { BaseMessage } from "@langchain/core/messages";
|
|
2
|
-
import type { ResolvedToolContext } from "../shared/agent/tool.factory.js";
|
|
3
|
-
/**
|
|
4
|
-
* State available to each persona's prompt builder at each iteration.
|
|
5
|
-
*/
|
|
6
|
-
export interface IterationContext {
|
|
7
|
-
/** Tool calls from all iterations since the last user message. */
|
|
8
|
-
recentTools: Array<{
|
|
9
|
-
name: string;
|
|
10
|
-
args: Record<string, unknown>;
|
|
11
|
-
}>;
|
|
12
|
-
/** Text of the latest user message (for regex matching). */
|
|
13
|
-
currentMessage?: string;
|
|
14
|
-
/** Resolved tool context (user, profile, indexes, etc.). */
|
|
15
|
-
ctx: ResolvedToolContext;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Extracts tool calls from all AI messages since the last HumanMessage.
|
|
19
|
-
*
|
|
20
|
-
* Scans backwards to find the last HumanMessage, then collects all tool calls
|
|
21
|
-
* from AIMessages after that point. This ensures multi-iteration tool history
|
|
22
|
-
* is available for prompt construction within a single user turn.
|
|
23
|
-
*
|
|
24
|
-
* @param messages - The current conversation message array
|
|
25
|
-
* @returns Flattened array of tool name + args from the current agent turn
|
|
26
|
-
*/
|
|
27
|
-
export declare function extractRecentToolCalls(messages: BaseMessage[]): Array<{
|
|
28
|
-
name: string;
|
|
29
|
-
args: Record<string, unknown>;
|
|
30
|
-
}>;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
2
|
-
// EXTRACTION
|
|
3
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
4
|
-
/**
|
|
5
|
-
* Extracts tool calls from all AI messages since the last HumanMessage.
|
|
6
|
-
*
|
|
7
|
-
* Scans backwards to find the last HumanMessage, then collects all tool calls
|
|
8
|
-
* from AIMessages after that point. This ensures multi-iteration tool history
|
|
9
|
-
* is available for prompt construction within a single user turn.
|
|
10
|
-
*
|
|
11
|
-
* @param messages - The current conversation message array
|
|
12
|
-
* @returns Flattened array of tool name + args from the current agent turn
|
|
13
|
-
*/
|
|
14
|
-
export function extractRecentToolCalls(messages) {
|
|
15
|
-
// Find the index of the last HumanMessage
|
|
16
|
-
let lastHumanIdx = -1;
|
|
17
|
-
for (let i = messages.length - 1; i >= 0; i--) {
|
|
18
|
-
if (messages[i]._getType() === "human") {
|
|
19
|
-
lastHumanIdx = i;
|
|
20
|
-
break;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
// Collect tool calls from all AIMessages after the last HumanMessage
|
|
24
|
-
const toolCalls = [];
|
|
25
|
-
const startIdx = lastHumanIdx + 1;
|
|
26
|
-
for (let i = startIdx; i < messages.length; i++) {
|
|
27
|
-
const msg = messages[i];
|
|
28
|
-
if (msg._getType() === "ai") {
|
|
29
|
-
const aiMsg = msg;
|
|
30
|
-
const calls = aiMsg.tool_calls ?? [];
|
|
31
|
-
for (const tc of calls) {
|
|
32
|
-
toolCalls.push({
|
|
33
|
-
name: tc.name,
|
|
34
|
-
args: (tc.args ?? {}),
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return toolCalls;
|
|
40
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure deduplication logic for decision questions.
|
|
3
|
-
* Filters out questions whose `id` is already in the surfaced set.
|
|
4
|
-
* Questions without an `id` (inline-generated) are always passed through.
|
|
5
|
-
*/
|
|
6
|
-
interface QuestionLike {
|
|
7
|
-
id?: string;
|
|
8
|
-
[key: string]: unknown;
|
|
9
|
-
}
|
|
10
|
-
export declare function deduplicateQuestions<T extends QuestionLike>(questions: T[], surfacedIds: Set<string>): {
|
|
11
|
-
fresh: T[];
|
|
12
|
-
newIds: string[];
|
|
13
|
-
};
|
|
14
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure deduplication logic for decision questions.
|
|
3
|
-
* Filters out questions whose `id` is already in the surfaced set.
|
|
4
|
-
* Questions without an `id` (inline-generated) are always passed through.
|
|
5
|
-
*/
|
|
6
|
-
export function deduplicateQuestions(questions, surfacedIds) {
|
|
7
|
-
const fresh = [];
|
|
8
|
-
const newIds = [];
|
|
9
|
-
for (const q of questions) {
|
|
10
|
-
if (q.id && surfacedIds.has(q.id))
|
|
11
|
-
continue;
|
|
12
|
-
fresh.push(q);
|
|
13
|
-
if (q.id)
|
|
14
|
-
newIds.push(q.id);
|
|
15
|
-
}
|
|
16
|
-
return { fresh, newIds };
|
|
17
|
-
}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import type { BaseMessage } from "@langchain/core/messages";
|
|
2
|
-
import type { ToolScopeType } from "../shared/agent/tool.scope.js";
|
|
3
|
-
import type { DebugMetaToolCall, DebugMetaLlm, DebugMetaOrchestratorNegotiations } from "./chat-streaming.types.js";
|
|
4
|
-
/** Routing decision from router node (target, operationType, extractedContext). */
|
|
5
|
-
export interface RoutingDecision {
|
|
6
|
-
target: string;
|
|
7
|
-
operationType: string | null;
|
|
8
|
-
extractedContext?: string | null;
|
|
9
|
-
}
|
|
10
|
-
/** Intent subgraph result (actions, inferredIntents, etc.). */
|
|
11
|
-
export interface IntentSubgraphResult {
|
|
12
|
-
actions?: Array<{
|
|
13
|
-
type: string;
|
|
14
|
-
payload?: string;
|
|
15
|
-
}>;
|
|
16
|
-
inferredIntents?: unknown[];
|
|
17
|
-
indexingResults?: unknown[];
|
|
18
|
-
mode?: string;
|
|
19
|
-
intents?: unknown[];
|
|
20
|
-
count?: number;
|
|
21
|
-
error?: string;
|
|
22
|
-
/** When the intent graph exits early (e.g. network-scoped without intents); surface to user. */
|
|
23
|
-
requiredMessage?: string;
|
|
24
|
-
}
|
|
25
|
-
/** Index subgraph result (memberships, ownedIndexes, specificIndexData). */
|
|
26
|
-
export interface IndexSubgraphResult {
|
|
27
|
-
mode?: string;
|
|
28
|
-
memberships?: unknown[];
|
|
29
|
-
ownedIndexes?: unknown[];
|
|
30
|
-
specificIndexData?: unknown;
|
|
31
|
-
count?: number;
|
|
32
|
-
error?: string;
|
|
33
|
-
}
|
|
34
|
-
/** Aggregated results from subgraphs (intent, index, profile, opportunity, scrape). */
|
|
35
|
-
export interface SubgraphResults {
|
|
36
|
-
intent?: IntentSubgraphResult;
|
|
37
|
-
index?: IndexSubgraphResult;
|
|
38
|
-
profile?: unknown;
|
|
39
|
-
opportunity?: unknown;
|
|
40
|
-
scrape?: unknown;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* The Chat Graph State using LangGraph Annotations.
|
|
44
|
-
*
|
|
45
|
-
* This is a simplified state for the agent loop architecture.
|
|
46
|
-
* The agent handles all routing decisions internally via tool calling.
|
|
47
|
-
*
|
|
48
|
-
* Design Principles:
|
|
49
|
-
* - Messages accumulate through the conversation (includes tool calls/results)
|
|
50
|
-
* - Iteration count tracks loop progress for soft/hard limits
|
|
51
|
-
* - Final response is extracted at the end
|
|
52
|
-
*/
|
|
53
|
-
export declare const ChatGraphState: import("@langchain/langgraph").AnnotationRoot<{
|
|
54
|
-
/**
|
|
55
|
-
* The User ID - required for all operations.
|
|
56
|
-
*/
|
|
57
|
-
userId: {
|
|
58
|
-
(annotation: import("@langchain/langgraph").SingleReducer<string, string>): import("@langchain/langgraph").BaseChannel<string, string | import("@langchain/langgraph").OverwriteValue<string>, unknown>;
|
|
59
|
-
(): import("@langchain/langgraph").LastValue<string>;
|
|
60
|
-
Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Legacy optional index (community) ID when chat is scoped to a specific index.
|
|
64
|
-
* New callers should set scopeType/scopeId; networkId is retained as an edge alias.
|
|
65
|
-
*/
|
|
66
|
-
networkId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
67
|
-
/** Focused request scope type. Network scope uses a network id; intent scope uses an intent id. */
|
|
68
|
-
scopeType: import("@langchain/langgraph").BaseChannel<ToolScopeType | undefined, ToolScopeType | import("@langchain/langgraph").OverwriteValue<ToolScopeType | undefined> | undefined, unknown>;
|
|
69
|
-
/** Focused request scope id. Network scope uses a network id; intent scope uses an intent id. */
|
|
70
|
-
scopeId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
71
|
-
/**
|
|
72
|
-
* Chat session ID when streaming with context. Used by tools to create draft
|
|
73
|
-
* opportunities tied to this conversation (context.conversationId).
|
|
74
|
-
*/
|
|
75
|
-
sessionId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
76
|
-
/**
|
|
77
|
-
* Conversation history using LangGraph's built-in message reducer.
|
|
78
|
-
* Includes: HumanMessage, AIMessage, ToolMessage, SystemMessage
|
|
79
|
-
* Automatically handles message appending, ID management, and ordering.
|
|
80
|
-
*/
|
|
81
|
-
messages: import("@langchain/langgraph").BaseChannel<BaseMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>, import("@langchain/core/messages").MessageType>[], BaseMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>, import("@langchain/core/messages").MessageType>[] | import("@langchain/langgraph").OverwriteValue<BaseMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>, import("@langchain/core/messages").MessageType>[]>, unknown>;
|
|
82
|
-
/**
|
|
83
|
-
* Current iteration count in the agent loop.
|
|
84
|
-
* Used for soft limit (nudge) and hard limit (force exit).
|
|
85
|
-
*/
|
|
86
|
-
iterationCount: import("@langchain/langgraph").BaseChannel<number, number | import("@langchain/langgraph").OverwriteValue<number>, unknown>;
|
|
87
|
-
/**
|
|
88
|
-
* Flag indicating whether the agent loop should continue.
|
|
89
|
-
* Set to false when agent produces final response or hits hard limit.
|
|
90
|
-
*/
|
|
91
|
-
shouldContinue: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
92
|
-
/**
|
|
93
|
-
* The final generated response text.
|
|
94
|
-
* Set when the agent decides to stop and respond.
|
|
95
|
-
*/
|
|
96
|
-
responseText: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
97
|
-
/**
|
|
98
|
-
* Error message if the agent loop fails.
|
|
99
|
-
*/
|
|
100
|
-
error: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
101
|
-
/**
|
|
102
|
-
* Per-turn debug meta (graph, iterations, tool calls) for copy-debug.
|
|
103
|
-
* Not persisted; only used so the streamer receives it in the updates chunk.
|
|
104
|
-
*/
|
|
105
|
-
debugMeta: import("@langchain/langgraph").BaseChannel<{
|
|
106
|
-
graph: string;
|
|
107
|
-
iterations: number;
|
|
108
|
-
tools: DebugMetaToolCall[];
|
|
109
|
-
llm: DebugMetaLlm;
|
|
110
|
-
orchestratorNegotiations?: DebugMetaOrchestratorNegotiations;
|
|
111
|
-
} | undefined, {
|
|
112
|
-
graph: string;
|
|
113
|
-
iterations: number;
|
|
114
|
-
tools: DebugMetaToolCall[];
|
|
115
|
-
llm: DebugMetaLlm;
|
|
116
|
-
orchestratorNegotiations?: DebugMetaOrchestratorNegotiations;
|
|
117
|
-
} | import("@langchain/langgraph").OverwriteValue<{
|
|
118
|
-
graph: string;
|
|
119
|
-
iterations: number;
|
|
120
|
-
tools: DebugMetaToolCall[];
|
|
121
|
-
llm: DebugMetaLlm;
|
|
122
|
-
orchestratorNegotiations?: DebugMetaOrchestratorNegotiations;
|
|
123
|
-
} | undefined> | undefined, unknown>;
|
|
124
|
-
/** Router output: target, operationType, extractedContext. */
|
|
125
|
-
routingDecision: import("@langchain/langgraph").BaseChannel<RoutingDecision | undefined, RoutingDecision | import("@langchain/langgraph").OverwriteValue<RoutingDecision | undefined> | undefined, unknown>;
|
|
126
|
-
/** Results from intent/profile/opportunities/scrape subgraphs. */
|
|
127
|
-
subgraphResults: import("@langchain/langgraph").BaseChannel<SubgraphResults | undefined, SubgraphResults | import("@langchain/langgraph").OverwriteValue<SubgraphResults | undefined> | undefined, unknown>;
|
|
128
|
-
/** User profile context (e.g. for intent nodes). */
|
|
129
|
-
userProfile: import("@langchain/langgraph").BaseChannel<unknown, unknown, unknown>;
|
|
130
|
-
}>;
|
|
131
|
-
/**
|
|
132
|
-
* The full state type for the Chat Graph.
|
|
133
|
-
* Use this for typing node functions and graph invocations.
|
|
134
|
-
*/
|
|
135
|
-
export type ChatGraphStateType = typeof ChatGraphState.State;
|