@indexnetwork/protocol 22.0.0-rc.498.1 → 64.0.0-rc.604.2
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 -132
- package/dist/index.js +41 -100
- 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
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* Intent graph, stages 2-3: verify inferred signals, then reconcile against what exists.
|
|
3
3
|
*/
|
|
4
4
|
import { VerifiedIntent, type IntentValidationFailure } from "./intent.graph.state.js";
|
|
5
|
-
import type {
|
|
6
|
-
import type { DebugMetaAgent } from "../../agents/agent.module.js";
|
|
5
|
+
import type { DebugMetaAgent } from "../../../protocol/core.js";
|
|
7
6
|
import { type IntentGraphDeps, type IntentState } from "./intent.graph.shared.js";
|
|
8
7
|
/**
|
|
9
8
|
* Node 2: Verification (Map-Reduce / Parallel)
|
|
@@ -28,7 +27,7 @@ export declare function verificationNode(state: IntentState, deps: IntentGraphDe
|
|
|
28
27
|
sincerity: number;
|
|
29
28
|
entropy: number | undefined;
|
|
30
29
|
referentialBreadth: "narrow" | "moderate" | "broad" | undefined;
|
|
31
|
-
missingSelectionalConstraints: ("location" | "
|
|
30
|
+
missingSelectionalConstraints: ("location" | "outcome" | "role" | "timeframe" | "domain" | "concrete_need")[] | undefined;
|
|
32
31
|
specificityWarning: string | undefined;
|
|
33
32
|
classification: "COMMISSIVE" | "DIRECTIVE" | "ASSERTIVE" | "EXPRESSIVE" | "DECLARATION" | "UNKNOWN" | undefined;
|
|
34
33
|
score: number | undefined;
|
|
@@ -37,10 +36,11 @@ export declare function verificationNode(state: IntentState, deps: IntentGraphDe
|
|
|
37
36
|
}>;
|
|
38
37
|
/**
|
|
39
38
|
* Node 3: Reconciliation
|
|
40
|
-
* Decides on final actions
|
|
41
|
-
*
|
|
39
|
+
* Decides on final actions. Archive and transition build their one
|
|
40
|
+
* deterministic action directly (no LLM). Explicit update binds to its
|
|
41
|
+
* one target. Creation has its own deterministic preparation route.
|
|
42
42
|
*/
|
|
43
|
-
export declare function reconciliationNode(state: IntentState
|
|
43
|
+
export declare function reconciliationNode(state: IntentState): Promise<{
|
|
44
44
|
actions: {
|
|
45
45
|
type: "expire";
|
|
46
46
|
id: string;
|
|
@@ -53,19 +53,28 @@ export declare function reconciliationNode(state: IntentState, deps: IntentGraph
|
|
|
53
53
|
}[];
|
|
54
54
|
validationFailures?: undefined;
|
|
55
55
|
} | {
|
|
56
|
-
actions:
|
|
57
|
-
|
|
56
|
+
actions: {
|
|
57
|
+
type: "transition";
|
|
58
|
+
id: string;
|
|
59
|
+
status: "ACTIVE" | "PAUSED";
|
|
60
|
+
}[];
|
|
58
61
|
agentTimings: DebugMetaAgent[];
|
|
59
62
|
trace: {
|
|
60
63
|
node: string;
|
|
61
64
|
detail: string;
|
|
62
65
|
}[];
|
|
66
|
+
validationFailures?: undefined;
|
|
63
67
|
} | {
|
|
64
|
-
actions:
|
|
68
|
+
actions: import("./intent.graph.state.js").IntentGraphAction[];
|
|
69
|
+
validationFailures: IntentValidationFailure[];
|
|
65
70
|
agentTimings: DebugMetaAgent[];
|
|
66
71
|
trace: {
|
|
67
72
|
node: string;
|
|
68
73
|
detail: string;
|
|
69
74
|
}[];
|
|
75
|
+
} | {
|
|
76
|
+
actions: never[];
|
|
77
|
+
agentTimings?: undefined;
|
|
78
|
+
trace?: undefined;
|
|
70
79
|
validationFailures?: undefined;
|
|
71
80
|
}>;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Intent graph, stages 2-3: verify inferred signals, then reconcile against what exists.
|
|
3
|
+
*/
|
|
4
|
+
import { admissionFailure } from "../intent.admission.js";
|
|
5
|
+
import { timed } from "../../shared/observability/performance.js";
|
|
6
|
+
import { requestContext } from "../../shared/observability/request-context.js";
|
|
7
|
+
import { buildExplicitUpdateActions, isExplicitUpdateRequest, logger } from "./intent.graph.shared.js";
|
|
8
|
+
/**
|
|
9
|
+
* Node 2: Verification (Map-Reduce / Parallel)
|
|
10
|
+
* Verifies each inferred intent in parallel.
|
|
11
|
+
* Phase 4: Can be skipped for delete operations and updates with no new intents.
|
|
12
|
+
*/
|
|
13
|
+
export async function verificationNode(state, deps) {
|
|
14
|
+
return timed("IntentGraph.verification", async () => {
|
|
15
|
+
const intents = state.inferredIntents;
|
|
16
|
+
const isExplicitUpdate = isExplicitUpdateRequest(state);
|
|
17
|
+
logger.verbose("Starting verification", {
|
|
18
|
+
isExplicitUpdate,
|
|
19
|
+
intentCount: intents.length
|
|
20
|
+
});
|
|
21
|
+
if (intents.length === 0) {
|
|
22
|
+
logger.verbose("No intents to verify");
|
|
23
|
+
return { verifiedIntents: [], agentTimings: [] };
|
|
24
|
+
}
|
|
25
|
+
logger.verbose('Verifying intents in parallel', { count: intents.length });
|
|
26
|
+
const agentTimingsAccum = [];
|
|
27
|
+
// Parallel Execution
|
|
28
|
+
const verificationResults = await Promise.all(intents.map(async (intent) => {
|
|
29
|
+
try {
|
|
30
|
+
const description = intent.description;
|
|
31
|
+
const _traceEmitterVerifier = requestContext.getStore()?.traceEmitter;
|
|
32
|
+
const verifierStart = Date.now();
|
|
33
|
+
_traceEmitterVerifier?.({ type: "agent_start", name: "intent-verifier" });
|
|
34
|
+
const verdict = await deps.verifier.invoke(description, state.userProfile);
|
|
35
|
+
agentTimingsAccum.push({ name: 'intent.verifier', durationMs: Date.now() - verifierStart });
|
|
36
|
+
_traceEmitterVerifier?.({ type: "agent_end", name: "intent-verifier", durationMs: Date.now() - verifierStart, summary: `Verified: ${verdict.classification}` });
|
|
37
|
+
const failure = admissionFailure(description, verdict, isExplicitUpdate);
|
|
38
|
+
if (failure)
|
|
39
|
+
return { failure };
|
|
40
|
+
// Calculate Score
|
|
41
|
+
const score = Math.min(verdict.felicity_scores.authority, verdict.felicity_scores.sincerity, verdict.felicity_scores.clarity);
|
|
42
|
+
// Return enriched intent
|
|
43
|
+
return {
|
|
44
|
+
intent: {
|
|
45
|
+
...intent,
|
|
46
|
+
description,
|
|
47
|
+
verification: verdict,
|
|
48
|
+
score,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
logger.error('Error verifying intent', { description: intent.description, error: e });
|
|
54
|
+
return {
|
|
55
|
+
failure: {
|
|
56
|
+
category: 'verification_failure',
|
|
57
|
+
message: e instanceof Error ? e.message : 'Intent verification failed unexpectedly.',
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}));
|
|
62
|
+
const verified = verificationResults.flatMap((result) => 'intent' in result ? [result.intent] : []);
|
|
63
|
+
const validationFailures = verificationResults.flatMap((result) => 'failure' in result ? [result.failure] : []);
|
|
64
|
+
logger.verbose(`Verification complete`, {
|
|
65
|
+
passed: verified.length,
|
|
66
|
+
total: intents.length,
|
|
67
|
+
isExplicitUpdate,
|
|
68
|
+
});
|
|
69
|
+
// Build trace entries with Felicity scores for each verified intent
|
|
70
|
+
const traceEntries = verified.map(v => {
|
|
71
|
+
const fs = v.verification?.felicity_scores;
|
|
72
|
+
const entropy = v.verification?.semantic_entropy;
|
|
73
|
+
const classification = v.verification?.classification;
|
|
74
|
+
const referentialBreadth = v.verification?.referential_breadth;
|
|
75
|
+
return {
|
|
76
|
+
node: "verification",
|
|
77
|
+
detail: `"${v.description.slice(0, 40)}${v.description.length > 40 ? '...' : ''}" → ${classification}${referentialBreadth ? ` (${referentialBreadth} referential breadth)` : ''}`,
|
|
78
|
+
data: fs ? {
|
|
79
|
+
clarity: fs.clarity,
|
|
80
|
+
authority: fs.authority,
|
|
81
|
+
sincerity: fs.sincerity,
|
|
82
|
+
entropy: entropy != null ? Math.round(entropy * 100) / 100 : undefined,
|
|
83
|
+
referentialBreadth,
|
|
84
|
+
missingSelectionalConstraints: v.verification?.missing_selectional_constraints,
|
|
85
|
+
specificityWarning: v.verification?.specificity_warning ?? undefined,
|
|
86
|
+
classification,
|
|
87
|
+
score: v.score,
|
|
88
|
+
} : undefined,
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
// Add summary trace if some intents were filtered out
|
|
92
|
+
const dropped = intents.length - verified.length;
|
|
93
|
+
if (dropped > 0) {
|
|
94
|
+
traceEntries.unshift({
|
|
95
|
+
node: "verification",
|
|
96
|
+
detail: `Verified ${verified.length}/${intents.length} (${dropped} filtered as invalid)`,
|
|
97
|
+
data: undefined,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
else if (verified.length > 0) {
|
|
101
|
+
traceEntries.unshift({
|
|
102
|
+
node: "verification",
|
|
103
|
+
detail: `Verified ${verified.length} intent(s)`,
|
|
104
|
+
data: undefined,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
return { verifiedIntents: verified, validationFailures, agentTimings: agentTimingsAccum, trace: traceEntries };
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Node 3: Reconciliation
|
|
112
|
+
* Decides on final actions. Archive and transition build their one
|
|
113
|
+
* deterministic action directly (no LLM). Explicit update binds to its
|
|
114
|
+
* one target. Creation has its own deterministic preparation route.
|
|
115
|
+
*/
|
|
116
|
+
export async function reconciliationNode(state) {
|
|
117
|
+
return timed("IntentGraph.reconciliation", async () => {
|
|
118
|
+
logger.verbose("Starting reconciliation", {
|
|
119
|
+
verifiedIntentCount: state.verifiedIntents.length,
|
|
120
|
+
targetIntentIds: state.targetIntentIds,
|
|
121
|
+
archive: state.archive,
|
|
122
|
+
status: state.status,
|
|
123
|
+
});
|
|
124
|
+
const agentTimingsAccum = [];
|
|
125
|
+
if (state.archive) {
|
|
126
|
+
const actions = (state.targetIntentIds ?? []).map(id => ({
|
|
127
|
+
type: 'expire',
|
|
128
|
+
id,
|
|
129
|
+
reasoning: 'User requested deletion'
|
|
130
|
+
}));
|
|
131
|
+
return {
|
|
132
|
+
actions,
|
|
133
|
+
agentTimings: agentTimingsAccum,
|
|
134
|
+
trace: [{ node: "reconciler", detail: `Actions: expire=${actions.length}` }],
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
if (state.status !== undefined) {
|
|
138
|
+
const actions = [{ type: 'transition', id: state.targetIntentIds[0], status: state.status }];
|
|
139
|
+
return {
|
|
140
|
+
actions,
|
|
141
|
+
agentTimings: agentTimingsAccum,
|
|
142
|
+
trace: [{ node: "reconciler", detail: `Actions: transition=1 (${state.status})` }],
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
// Content path: explicit update or bare create.
|
|
146
|
+
const candidates = state.verifiedIntents;
|
|
147
|
+
if (candidates.length === 0) {
|
|
148
|
+
logger.verbose("No verified intents to reconcile");
|
|
149
|
+
return {
|
|
150
|
+
actions: [],
|
|
151
|
+
agentTimings: agentTimingsAccum,
|
|
152
|
+
trace: [{ node: "reconciler", detail: "No intents to reconcile" }],
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
if (isExplicitUpdateRequest(state)) {
|
|
156
|
+
const explicitUpdate = buildExplicitUpdateActions(state.targetIntentIds, state.activeIntentIds, candidates);
|
|
157
|
+
return {
|
|
158
|
+
actions: explicitUpdate.actions,
|
|
159
|
+
validationFailures: explicitUpdate.failure
|
|
160
|
+
? [...state.validationFailures, explicitUpdate.failure]
|
|
161
|
+
: state.validationFailures,
|
|
162
|
+
agentTimings: agentTimingsAccum,
|
|
163
|
+
trace: [{
|
|
164
|
+
node: 'reconciler',
|
|
165
|
+
detail: explicitUpdate.failure
|
|
166
|
+
? `Explicit update rejected: ${explicitUpdate.failure.category}`
|
|
167
|
+
: `Explicit update bound to target ${state.targetIntentIds?.[0]}`,
|
|
168
|
+
}],
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
return { actions: [] };
|
|
172
|
+
});
|
|
173
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared vocabulary for the intent graph's nodes.
|
|
3
|
+
*
|
|
4
|
+
* The nodes were closures inside `IntentGraphFactory.createGraph()`; they are
|
|
5
|
+
* top-level functions now, each taking an explicit {@link IntentGraphDeps}.
|
|
6
|
+
* This module owns the bag, the logger, and the pure helpers.
|
|
7
|
+
*/
|
|
8
|
+
import { IntentGraphState, VerifiedIntent, type IntentGraphAction, type IntentValidationFailure } from "./intent.graph.state.js";
|
|
9
|
+
import { ExplicitIntentInferrer } from "../intent.inferrer.js";
|
|
10
|
+
import { SemanticVerifier } from "../intent.verifier.js";
|
|
11
|
+
import { IntentPreparer } from "../intent.preparer.js";
|
|
12
|
+
import { IntentGraphDatabase } from "../../../platform/database.js";
|
|
13
|
+
import type { EmbeddingGenerator } from "../../../platform/discovery/embedder.js";
|
|
14
|
+
import type { IntentFollowUp } from "../../../platform/runtime/follow-up.js";
|
|
15
|
+
/** The graph's channel state, as every node sees it. */
|
|
16
|
+
export type IntentState = typeof IntentGraphState.State;
|
|
17
|
+
/** Everything the intent nodes reach for. Composed once by the factory. */
|
|
18
|
+
export interface IntentGraphDeps {
|
|
19
|
+
database: IntentGraphDatabase;
|
|
20
|
+
embedder?: EmbeddingGenerator;
|
|
21
|
+
intentFollowUp?: IntentFollowUp;
|
|
22
|
+
inferrer: Pick<ExplicitIntentInferrer, 'invoke'>;
|
|
23
|
+
verifier: Pick<SemanticVerifier, 'invoke'>;
|
|
24
|
+
preparer: Pick<IntentPreparer, 'invoke'>;
|
|
25
|
+
}
|
|
26
|
+
export declare const logger: import("../../shared/observability/log.js").LoggerWithSource;
|
|
27
|
+
/**
|
|
28
|
+
* True when the input shape is an explicit update: content plus a target id.
|
|
29
|
+
* Distinguishes an explicit update from archive/transition/confirm, which also
|
|
30
|
+
* carry `targetIntentIds` but for a different purpose.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isExplicitUpdateRequest(state: Pick<IntentState, 'inputContent' | 'targetIntentIds'>): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Enforce write-mode constraints on reconciler output before any action can
|
|
35
|
+
* reach persistence. An explicit update is deliberately fail-closed: only an
|
|
36
|
+
* update whose id is the caller-provided target survives.
|
|
37
|
+
*/
|
|
38
|
+
export declare function enforceIntentActionBoundary(isExplicitUpdate: boolean, targetIntentIds: string[] | undefined, actions: IntentGraphAction[]): IntentGraphAction[];
|
|
39
|
+
/**
|
|
40
|
+
* Build the only action permitted for an explicit update. This path is
|
|
41
|
+
* deterministic and cannot redirect an update away from its supplied target.
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildExplicitUpdateActions(targetIntentIds: string[] | undefined, activeIntentIds: string[], candidates: VerifiedIntent[]): {
|
|
44
|
+
actions: IntentGraphAction[];
|
|
45
|
+
failure?: IntentValidationFailure;
|
|
46
|
+
};
|
|
47
|
+
export declare const toSpeechActType: (classification?: string) => "COMMISSIVE" | "DIRECTIVE" | null;
|
|
48
|
+
/** Normalize explicit update text; creation preserves the submitted text. */
|
|
49
|
+
export declare function normalizeIntentDescription(description: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* Generate a flat embedding for an intent payload, swallowing failures so
|
|
52
|
+
* persistence can continue without an embedding. `intentId` is logging-only
|
|
53
|
+
* (present for updates, absent for creates).
|
|
54
|
+
*/
|
|
55
|
+
export declare function generateIntentEmbedding(deps: IntentGraphDeps, sanitizedPayload: string, intentId?: string): Promise<number[] | undefined>;
|
|
@@ -5,25 +5,31 @@
|
|
|
5
5
|
* top-level functions now, each taking an explicit {@link IntentGraphDeps}.
|
|
6
6
|
* This module owns the bag, the logger, and the pure helpers.
|
|
7
7
|
*/
|
|
8
|
-
import { DEFAULT_SPECIFICITY_WARNING } from "../intent.proposal.js";
|
|
9
8
|
import { getAbortSignalConfig } from "../../shared/agent/model-signal.js";
|
|
10
9
|
import { protocolLogger } from "../../shared/observability/protocol.logger.js";
|
|
11
10
|
export const logger = protocolLogger("IntentGraphFactory");
|
|
11
|
+
/**
|
|
12
|
+
* True when the input shape is an explicit update: content plus a target id.
|
|
13
|
+
* Distinguishes an explicit update from archive/transition/confirm, which also
|
|
14
|
+
* carry `targetIntentIds` but for a different purpose.
|
|
15
|
+
*/
|
|
16
|
+
export function isExplicitUpdateRequest(state) {
|
|
17
|
+
return state.inputContent !== undefined && !!state.targetIntentIds?.length;
|
|
18
|
+
}
|
|
12
19
|
/**
|
|
13
20
|
* Enforce write-mode constraints on reconciler output before any action can
|
|
14
|
-
* reach persistence.
|
|
15
|
-
* whose id is
|
|
21
|
+
* reach persistence. An explicit update is deliberately fail-closed: only an
|
|
22
|
+
* update whose id is the caller-provided target survives.
|
|
16
23
|
*/
|
|
17
|
-
export function enforceIntentActionBoundary(
|
|
18
|
-
if (
|
|
24
|
+
export function enforceIntentActionBoundary(isExplicitUpdate, targetIntentIds, actions) {
|
|
25
|
+
if (!isExplicitUpdate)
|
|
19
26
|
return actions;
|
|
20
27
|
const targets = new Set(targetIntentIds ?? []);
|
|
21
28
|
return actions.filter((action) => action.type === 'update' && targets.has(action.id));
|
|
22
29
|
}
|
|
23
30
|
/**
|
|
24
31
|
* Build the only action permitted for an explicit update. This path is
|
|
25
|
-
*
|
|
26
|
-
* operations, but it may not redirect an update away from its supplied target.
|
|
32
|
+
* deterministic and cannot redirect an update away from its supplied target.
|
|
27
33
|
*/
|
|
28
34
|
export function buildExplicitUpdateActions(targetIntentIds, activeIntentIds, candidates) {
|
|
29
35
|
if (targetIntentIds?.length !== 1 || !activeIntentIds.includes(targetIntentIds[0])) {
|
|
@@ -56,74 +62,23 @@ export function buildExplicitUpdateActions(targetIntentIds, activeIntentIds, can
|
|
|
56
62
|
}],
|
|
57
63
|
};
|
|
58
64
|
}
|
|
59
|
-
export const MAX_PERMISSIBLE_ENTROPY = 0.75;
|
|
60
|
-
export const MIN_CLEAR_INTENT_SCORE = 40;
|
|
61
|
-
export const GENERIC_JOB_PHRASE = /\b(?:a|any|some)\s+job\b/i;
|
|
62
|
-
export const inferRoleFromContextText = (text) => {
|
|
63
|
-
const normalized = text.toLowerCase();
|
|
64
|
-
if (/\b(engineer|developer)\b/.test(normalized))
|
|
65
|
-
return "software engineering";
|
|
66
|
-
if (/\b(designer|ux|ui)\b/.test(normalized))
|
|
67
|
-
return "product design";
|
|
68
|
-
if (/\b(marketing|marketer|growth)\b/.test(normalized))
|
|
69
|
-
return "marketing";
|
|
70
|
-
if (/\b(product manager|product)\b/.test(normalized))
|
|
71
|
-
return "product management";
|
|
72
|
-
if (/\b(data scientist|machine learning|ml|ai)\b/.test(normalized))
|
|
73
|
-
return "AI/ML";
|
|
74
|
-
if (/\b(sales|account executive|business development)\b/.test(normalized))
|
|
75
|
-
return "sales";
|
|
76
|
-
return null;
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* Derive a job-role qualifier from the user's global user_context paragraph
|
|
80
|
-
* (the identity text that replaced the legacy profile projection). Role is
|
|
81
|
-
* inferred from the free text; the old structured skills/interests extraction
|
|
82
|
-
* is gone with the removed profile fields.
|
|
83
|
-
*/
|
|
84
|
-
export const buildJobQualifierFromContext = (contextText) => {
|
|
85
|
-
const roleHint = inferRoleFromContextText(contextText ?? "");
|
|
86
|
-
return roleHint ? `${roleHint} role` : null;
|
|
87
|
-
};
|
|
88
|
-
export const enrichVagueIntentWithContext = (description, userContext) => {
|
|
89
|
-
const trimmed = description?.trim();
|
|
90
|
-
if (!trimmed)
|
|
91
|
-
return description;
|
|
92
|
-
const isGenericJobRequest = GENERIC_JOB_PHRASE.test(trimmed) ||
|
|
93
|
-
/\b(?:find|get|look(?:ing)?\s+for|want)\s+(?:to\s+)?(?:find\s+)?job\b/i.test(trimmed);
|
|
94
|
-
if (!isGenericJobRequest)
|
|
95
|
-
return description;
|
|
96
|
-
const qualifier = buildJobQualifierFromContext(userContext);
|
|
97
|
-
if (!qualifier)
|
|
98
|
-
return description;
|
|
99
|
-
const enriched = trimmed
|
|
100
|
-
.replace(/\ba job\b/i, `a ${qualifier}`)
|
|
101
|
-
.replace(/\bjob\b/i, `${qualifier}`)
|
|
102
|
-
.replace(/\s{2,}/g, " ")
|
|
103
|
-
.trim();
|
|
104
|
-
return enriched.length > 0 ? enriched : description;
|
|
105
|
-
};
|
|
106
|
-
export const isVague = (description, entropy, clarity) => {
|
|
107
|
-
if (GENERIC_JOB_PHRASE.test(description))
|
|
108
|
-
return true;
|
|
109
|
-
if (entropy > MAX_PERMISSIBLE_ENTROPY)
|
|
110
|
-
return true;
|
|
111
|
-
if (clarity < MIN_CLEAR_INTENT_SCORE)
|
|
112
|
-
return true;
|
|
113
|
-
return false;
|
|
114
|
-
};
|
|
115
|
-
export const getSpecificityWarning = (verdict) => {
|
|
116
|
-
const warning = verdict.specificity_warning?.trim();
|
|
117
|
-
return warning && warning.length > 0 ? warning : DEFAULT_SPECIFICITY_WARNING;
|
|
118
|
-
};
|
|
119
65
|
export const toSpeechActType = (classification) => {
|
|
120
66
|
if (classification === "COMMISSIVE" || classification === "DIRECTIVE")
|
|
121
67
|
return classification;
|
|
122
68
|
return null;
|
|
123
69
|
};
|
|
124
|
-
/**
|
|
125
|
-
|
|
126
|
-
|
|
70
|
+
/** Normalize explicit update text; creation preserves the submitted text. */
|
|
71
|
+
export function normalizeIntentDescription(description) {
|
|
72
|
+
if (!description || typeof description !== "string")
|
|
73
|
+
return description;
|
|
74
|
+
const normalized = description
|
|
75
|
+
.replace(/\s*More details at\s*:?\s*https?:\/\/[^\s"'<>)\]]+/gi, "")
|
|
76
|
+
.replace(/\s*See\s+https?:\/\/[^\s"'<>)\]]+\s+for\s+more[^.]*\.?/gi, "")
|
|
77
|
+
.replace(/https?:\/\/[^\s"'<>)\]]+/g, "")
|
|
78
|
+
.replace(/\s{2,}/g, " ")
|
|
79
|
+
.trim();
|
|
80
|
+
return normalized.replace(/[.,;]\s*$/, "").trim() || description;
|
|
81
|
+
}
|
|
127
82
|
/**
|
|
128
83
|
* Generate a flat embedding for an intent payload, swallowing failures so
|
|
129
84
|
* persistence can continue without an embedding. `intentId` is logging-only
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { BaseMessage } from "@langchain/core/messages";
|
|
2
2
|
import { InferredIntent } from "../intent.inferrer.js";
|
|
3
3
|
import { SemanticVerifierOutput } from "../intent.verifier.js";
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
4
|
+
import type { IntentSemanticMetadata } from "../intent.admission.js";
|
|
5
|
+
import type { PreparedIntent, PrepareResult } from "../intent.preparer.js";
|
|
6
|
+
import type { DebugMetaAgent } from "../../../protocol/core.js";
|
|
7
|
+
import type { ScopeType } from '../../shared/agent/scope.js';
|
|
8
|
+
import type { IntentLifecycleStatus } from "../../../platform/database.js";
|
|
6
9
|
/**
|
|
7
10
|
* Extended InferredIntent that includes verification results.
|
|
8
11
|
* We attach the verification output directly to the intent object
|
|
@@ -24,16 +27,64 @@ export interface IntentValidationFailure {
|
|
|
24
27
|
*/
|
|
25
28
|
export interface ExecutionResult {
|
|
26
29
|
/** The action type that was executed */
|
|
27
|
-
actionType: 'create' | 'update' | 'expire';
|
|
30
|
+
actionType: 'create' | 'update' | 'expire' | 'transition';
|
|
28
31
|
/** Whether the action succeeded */
|
|
29
32
|
success: boolean;
|
|
30
33
|
/** The intent ID (created/updated/archived) */
|
|
31
34
|
intentId?: string;
|
|
32
35
|
/** Final payload (sanitized, for create/update) */
|
|
33
36
|
payload?: string;
|
|
34
|
-
/** Error message if failed */
|
|
37
|
+
/** Error message if failed. For transition this is the outcome's `kind`. */
|
|
35
38
|
error?: string;
|
|
39
|
+
/** Networks the created intent was linked to, for a `create` action. */
|
|
40
|
+
linkedNetworkIds?: string[];
|
|
36
41
|
}
|
|
42
|
+
/** A deterministic pause/resume action, bypassing the LLM reconciler. */
|
|
43
|
+
export interface TransitionIntentAction {
|
|
44
|
+
type: 'transition';
|
|
45
|
+
id: string;
|
|
46
|
+
status: 'ACTIVE' | 'PAUSED';
|
|
47
|
+
}
|
|
48
|
+
/** Every action kind the executor can carry out. */
|
|
49
|
+
export type IntentGraphAction = {
|
|
50
|
+
type: 'create';
|
|
51
|
+
payload: string;
|
|
52
|
+
metadata: IntentSemanticMetadata | null;
|
|
53
|
+
} | {
|
|
54
|
+
type: 'update';
|
|
55
|
+
id: string;
|
|
56
|
+
payload: string;
|
|
57
|
+
score: number | null;
|
|
58
|
+
reasoning: string;
|
|
59
|
+
intentMode: 'REFERENTIAL' | 'ATTRIBUTIVE';
|
|
60
|
+
} | {
|
|
61
|
+
type: 'expire';
|
|
62
|
+
id: string;
|
|
63
|
+
reasoning: string;
|
|
64
|
+
} | TransitionIntentAction;
|
|
65
|
+
/** Outcome of a `transition` action, mirroring the adapter's discriminated result plus the enqueue-failure compensation case. */
|
|
66
|
+
export type TransitionOutcome = {
|
|
67
|
+
kind: 'success';
|
|
68
|
+
id: string;
|
|
69
|
+
status: 'ACTIVE' | 'PAUSED';
|
|
70
|
+
changed: boolean;
|
|
71
|
+
lifecycleVersionMs: number;
|
|
72
|
+
} | {
|
|
73
|
+
kind: 'not_found';
|
|
74
|
+
} | {
|
|
75
|
+
kind: 'scope_violation';
|
|
76
|
+
} | {
|
|
77
|
+
kind: 'stale';
|
|
78
|
+
} | {
|
|
79
|
+
kind: 'conflict';
|
|
80
|
+
status: IntentLifecycleStatus | null;
|
|
81
|
+
archived: boolean;
|
|
82
|
+
} | {
|
|
83
|
+
kind: 'enqueue_failed';
|
|
84
|
+
id: string;
|
|
85
|
+
status: IntentLifecycleStatus;
|
|
86
|
+
lifecycleVersionMs: number;
|
|
87
|
+
};
|
|
37
88
|
/**
|
|
38
89
|
* The Graph State using LangGraph Annotations.
|
|
39
90
|
* This acts as the central bus for data flowing through our graph.
|
|
@@ -58,13 +109,25 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
|
|
|
58
109
|
};
|
|
59
110
|
/**
|
|
60
111
|
* Explicit input content (e.g., user message).
|
|
61
|
-
*
|
|
112
|
+
* Omitted for read, archive, and status operations.
|
|
62
113
|
*/
|
|
63
114
|
inputContent: {
|
|
64
115
|
(annotation: import("@langchain/langgraph").SingleReducer<string | undefined, string | undefined>): import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
65
116
|
(): import("@langchain/langgraph").LastValue<string | undefined>;
|
|
66
117
|
Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
|
|
67
118
|
};
|
|
119
|
+
/** Host-authorized preparation, reused without admission. Null metadata means the final text was edited. Never pass client-supplied objects here. */
|
|
120
|
+
preparation: {
|
|
121
|
+
(annotation: import("@langchain/langgraph").SingleReducer<PreparedIntent | undefined, PreparedIntent | undefined>): import("@langchain/langgraph").BaseChannel<PreparedIntent | undefined, PreparedIntent | import("@langchain/langgraph").OverwriteValue<PreparedIntent | undefined> | undefined, unknown>;
|
|
122
|
+
(): import("@langchain/langgraph").LastValue<PreparedIntent | undefined>;
|
|
123
|
+
Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
|
|
124
|
+
};
|
|
125
|
+
/** The full preparation outcome for an unprepared create, including repairable feedback. */
|
|
126
|
+
preparationResult: {
|
|
127
|
+
(annotation: import("@langchain/langgraph").SingleReducer<PrepareResult | undefined, PrepareResult | undefined>): import("@langchain/langgraph").BaseChannel<PrepareResult | undefined, PrepareResult | import("@langchain/langgraph").OverwriteValue<PrepareResult | undefined> | undefined, unknown>;
|
|
128
|
+
(): import("@langchain/langgraph").LastValue<PrepareResult | undefined>;
|
|
129
|
+
Root: <S extends import("@langchain/langgraph").StateDefinition>(sd: S) => import("@langchain/langgraph").AnnotationRoot<S>;
|
|
130
|
+
};
|
|
68
131
|
/**
|
|
69
132
|
* Conversation history for context-aware intent inference.
|
|
70
133
|
* Used to resolve anaphoric references ("that intent", "this goal").
|
|
@@ -73,41 +136,40 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
|
|
|
73
136
|
*/
|
|
74
137
|
conversationContext: import("@langchain/langgraph").BaseChannel<BaseMessage<import("@langchain/core/messages").MessageStructure<import("@langchain/core/messages").MessageToolSet>, import("@langchain/core/messages").MessageType>[] | undefined, 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>[] | undefined> | undefined, unknown>;
|
|
75
138
|
/**
|
|
76
|
-
*
|
|
77
|
-
* -
|
|
78
|
-
* -
|
|
79
|
-
* -
|
|
80
|
-
* -
|
|
81
|
-
* -
|
|
82
|
-
*
|
|
83
|
-
* Defaults to 'create' for backward compatibility.
|
|
84
|
-
*/
|
|
85
|
-
operationMode: import("@langchain/langgraph").BaseChannel<"update" | "propose" | "create" | "delete" | "read", "update" | "propose" | "create" | "delete" | "read" | import("@langchain/langgraph").OverwriteValue<"update" | "propose" | "create" | "delete" | "read">, unknown>;
|
|
86
|
-
/**
|
|
87
|
-
* For update/delete operations, specifies which intent IDs to target.
|
|
88
|
-
* Optional - used when modifying or removing specific intents.
|
|
139
|
+
* The graph routes on the shape of its input, not a mode flag:
|
|
140
|
+
* - `inputContent` alone → create path (prepare → execute)
|
|
141
|
+
* - `inputContent` + `targetIntentIds` → explicit update, bound to that one id
|
|
142
|
+
* - `targetIntentIds` + `archive: true` → expire those ids, no LLM
|
|
143
|
+
* - `targetIntentIds` + `status` → pause/resume, no LLM
|
|
144
|
+
* - none of the above → read (query fast path)
|
|
145
|
+
* Exactly one of {content, archive, status} may be set per invoke.
|
|
89
146
|
*/
|
|
90
147
|
targetIntentIds: import("@langchain/langgraph").BaseChannel<string[] | undefined, string[] | import("@langchain/langgraph").OverwriteValue<string[] | undefined> | undefined, unknown>;
|
|
148
|
+
/** Archive route: expire every id in `targetIntentIds`. Requires `targetIntentIds`. */
|
|
149
|
+
archive: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
150
|
+
/** Transition route: pause/resume the single id in `targetIntentIds`. Requires `targetIntentIds`. */
|
|
151
|
+
status: import("@langchain/langgraph").BaseChannel<"ACTIVE" | "PAUSED" | undefined, "ACTIVE" | "PAUSED" | import("@langchain/langgraph").OverwriteValue<"ACTIVE" | "PAUSED" | undefined> | undefined, unknown>;
|
|
91
152
|
/**
|
|
92
153
|
* Optional material compare-and-set guard used only by recovery-answer
|
|
93
154
|
* updates. The database rechecks it while holding the final intent row lock.
|
|
94
155
|
*/
|
|
95
156
|
expectedIntentFingerprint: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
96
157
|
/**
|
|
97
|
-
* Optional network scope (network ID)
|
|
98
|
-
*
|
|
99
|
-
*
|
|
158
|
+
* Optional network scope (network ID) for read operations. Prep always
|
|
159
|
+
* fetches ALL user intents via getActiveIntents(userId) regardless of network
|
|
160
|
+
* scope (for explicit update ownership).
|
|
100
161
|
*/
|
|
101
162
|
networkId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
163
|
+
/**
|
|
164
|
+
* Create route: the networks a newly created intent is linked to. Exactly
|
|
165
|
+
* this list is written to `intent_networks`, each one membership-checked;
|
|
166
|
+
* nothing is inferred or scored. An empty list creates an unlinked intent.
|
|
167
|
+
*/
|
|
168
|
+
networkIds: import("@langchain/langgraph").BaseChannel<string[] | undefined, string[] | import("@langchain/langgraph").OverwriteValue<string[] | undefined> | undefined, unknown>;
|
|
102
169
|
/** Focused request scope type for write-side assignment and follow-up queues. */
|
|
103
|
-
scopeType: import("@langchain/langgraph").BaseChannel<
|
|
170
|
+
scopeType: import("@langchain/langgraph").BaseChannel<ScopeType | undefined, ScopeType | import("@langchain/langgraph").OverwriteValue<ScopeType | undefined> | undefined, unknown>;
|
|
104
171
|
/** Focused request scope id. When scopeType is `network`, this is the focused network id. */
|
|
105
172
|
scopeId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
106
|
-
/**
|
|
107
|
-
* The formatted string of currently active intents.
|
|
108
|
-
* Always populated by prep via getActiveIntents(userId).
|
|
109
|
-
*/
|
|
110
|
-
activeIntents: import("@langchain/langgraph").BaseChannel<string, string | import("@langchain/langgraph").OverwriteValue<string>, unknown>;
|
|
111
173
|
/** IDs of active intents owned by the graph user, used to fail closed on explicit updates. */
|
|
112
174
|
activeIntentIds: import("@langchain/langgraph").BaseChannel<string[], string[] | import("@langchain/langgraph").OverwriteValue<string[]>, unknown>;
|
|
113
175
|
/**
|
|
@@ -137,14 +199,16 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
|
|
|
137
199
|
/** Structured reasons for candidates rejected before persistence. */
|
|
138
200
|
validationFailures: import("@langchain/langgraph").BaseChannel<IntentValidationFailure[], IntentValidationFailure[] | import("@langchain/langgraph").OverwriteValue<IntentValidationFailure[]>, unknown>;
|
|
139
201
|
/**
|
|
140
|
-
* Final actions to be performed on the DB (Create, Update, Expire).
|
|
202
|
+
* Final actions to be performed on the DB (Create, Update, Expire, Transition).
|
|
141
203
|
*/
|
|
142
|
-
actions: import("@langchain/langgraph").BaseChannel<
|
|
204
|
+
actions: import("@langchain/langgraph").BaseChannel<IntentGraphAction[], IntentGraphAction[] | import("@langchain/langgraph").OverwriteValue<IntentGraphAction[]>, unknown>;
|
|
143
205
|
/**
|
|
144
206
|
* Results of executing actions against the database.
|
|
145
207
|
* Populated by executorNode after actions are persisted.
|
|
146
208
|
*/
|
|
147
209
|
executionResults: import("@langchain/langgraph").BaseChannel<ExecutionResult[], ExecutionResult[] | import("@langchain/langgraph").OverwriteValue<ExecutionResult[]>, unknown>;
|
|
210
|
+
/** Detailed outcome of a `transition` action, for host-side status mapping. */
|
|
211
|
+
transitionResult: import("@langchain/langgraph").BaseChannel<TransitionOutcome | undefined, TransitionOutcome | import("@langchain/langgraph").OverwriteValue<TransitionOutcome | undefined> | undefined, unknown>;
|
|
148
212
|
/**
|
|
149
213
|
* If set, indicates a fatal error that should short-circuit the graph to END.
|
|
150
214
|
* Populated by prep when a precondition fails (e.g. missing profile).
|
|
@@ -174,9 +238,9 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
|
|
|
174
238
|
* For read mode: the set of network IDs the caller's agent can reach.
|
|
175
239
|
* When set and neither networkId nor queryUserId is provided, the graph
|
|
176
240
|
* returns the caller's own intents across all networks in this set (scope-aware
|
|
177
|
-
* default path). Derived by the
|
|
241
|
+
* default path). Derived by the host from the scope envelope plus memberships.
|
|
178
242
|
*/
|
|
179
|
-
|
|
243
|
+
networkScope: import("@langchain/langgraph").BaseChannel<string[] | undefined, string[] | import("@langchain/langgraph").OverwriteValue<string[] | undefined> | undefined, unknown>;
|
|
180
244
|
/**
|
|
181
245
|
* For read mode: filter intents by a specific user when reading in a network.
|
|
182
246
|
* When omitted and network-scoped, returns all intents in the network.
|
|
@@ -184,7 +248,7 @@ export declare const IntentGraphState: import("@langchain/langgraph").Annotation
|
|
|
184
248
|
queryUserId: import("@langchain/langgraph").BaseChannel<string | undefined, string | import("@langchain/langgraph").OverwriteValue<string | undefined> | undefined, unknown>;
|
|
185
249
|
/**
|
|
186
250
|
* For read mode: when true, return all of the current user's intents
|
|
187
|
-
* ignoring network scope. Used
|
|
251
|
+
* ignoring network scope. Used when the caller requests a global list.
|
|
188
252
|
*/
|
|
189
253
|
allUserIntents: import("@langchain/langgraph").BaseChannel<boolean, boolean | import("@langchain/langgraph").OverwriteValue<boolean>, unknown>;
|
|
190
254
|
/**
|