@indexnetwork/protocol 22.0.0-rc.499.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 -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
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Intent graph, stages 2-3: verify inferred signals, then reconcile against what exists.
|
|
3
|
-
*/
|
|
4
|
-
import { timed } from "../../shared/observability/performance.js";
|
|
5
|
-
import { requestContext } from "../../shared/observability/request-context.js";
|
|
6
|
-
import { buildExplicitUpdateActions, enforceIntentActionBoundary, enrichVagueIntentWithContext, getSpecificityWarning, isVague, logger } from "./intent.graph.shared.js";
|
|
7
|
-
/**
|
|
8
|
-
* Node 2: Verification (Map-Reduce / Parallel)
|
|
9
|
-
* Verifies each inferred intent in parallel.
|
|
10
|
-
* Phase 4: Can be skipped for delete operations and updates with no new intents.
|
|
11
|
-
*/
|
|
12
|
-
export async function verificationNode(state, deps) {
|
|
13
|
-
return timed("IntentGraph.verification", async () => {
|
|
14
|
-
const intents = state.inferredIntents;
|
|
15
|
-
logger.verbose("Starting verification", {
|
|
16
|
-
operationMode: state.operationMode,
|
|
17
|
-
intentCount: intents.length
|
|
18
|
-
});
|
|
19
|
-
if (intents.length === 0) {
|
|
20
|
-
logger.verbose("No intents to verify");
|
|
21
|
-
return { verifiedIntents: [], agentTimings: [] };
|
|
22
|
-
}
|
|
23
|
-
logger.verbose('Verifying intents in parallel', { count: intents.length });
|
|
24
|
-
const agentTimingsAccum = [];
|
|
25
|
-
// Parallel Execution
|
|
26
|
-
const verificationResults = await Promise.all(intents.map(async (intent) => {
|
|
27
|
-
try {
|
|
28
|
-
let description = intent.description;
|
|
29
|
-
const _traceEmitterVerifier = requestContext.getStore()?.traceEmitter;
|
|
30
|
-
const verifierStart1 = Date.now();
|
|
31
|
-
_traceEmitterVerifier?.({ type: "agent_start", name: "intent-verifier" });
|
|
32
|
-
let verdict = await deps.verifier.invoke(description, state.userProfile);
|
|
33
|
-
agentTimingsAccum.push({ name: 'intent.verifier', durationMs: Date.now() - verifierStart1 });
|
|
34
|
-
_traceEmitterVerifier?.({ type: "agent_end", name: "intent-verifier", durationMs: Date.now() - verifierStart1, summary: `Verified: ${verdict.classification}` });
|
|
35
|
-
if (isVague(description, verdict.semantic_entropy, verdict.felicity_scores.clarity)) {
|
|
36
|
-
// Role-hint enrichment for vague job intents reads the global
|
|
37
|
-
// user_context paragraph instead of the structured profile fields.
|
|
38
|
-
const roleHintContext = (await deps.database.getUserContext(state.userId, null))?.text ?? '';
|
|
39
|
-
const enrichedDescription = enrichVagueIntentWithContext(description, roleHintContext);
|
|
40
|
-
if (enrichedDescription !== description) {
|
|
41
|
-
logger.verbose("Enriched vague intent using profile context", {
|
|
42
|
-
before: description,
|
|
43
|
-
after: enrichedDescription,
|
|
44
|
-
});
|
|
45
|
-
const _traceEmitterVerifier2 = requestContext.getStore()?.traceEmitter;
|
|
46
|
-
const verifierStart2 = Date.now();
|
|
47
|
-
_traceEmitterVerifier2?.({ type: "agent_start", name: "intent-verifier" });
|
|
48
|
-
const enrichedVerdict = await deps.verifier.invoke(enrichedDescription, state.userProfile);
|
|
49
|
-
agentTimingsAccum.push({ name: 'intent.verifier', durationMs: Date.now() - verifierStart2 });
|
|
50
|
-
_traceEmitterVerifier2?.({ type: "agent_end", name: "intent-verifier", durationMs: Date.now() - verifierStart2, summary: `Verified (enriched): ${enrichedVerdict.classification}` });
|
|
51
|
-
const becameClear = enrichedVerdict.semantic_entropy < verdict.semantic_entropy ||
|
|
52
|
-
enrichedVerdict.felicity_scores.clarity > verdict.felicity_scores.clarity;
|
|
53
|
-
if (becameClear) {
|
|
54
|
-
description = enrichedDescription;
|
|
55
|
-
verdict = enrichedVerdict;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
// Filter Logic: Must be a Commissive, Directive, or Declaration
|
|
60
|
-
const VALID_TYPES = ['COMMISSIVE', 'DIRECTIVE', 'DECLARATION'];
|
|
61
|
-
if (!VALID_TYPES.includes(verdict.classification)) {
|
|
62
|
-
logger.warn('Dropping intent', { description, classification: verdict.classification });
|
|
63
|
-
return {
|
|
64
|
-
failure: {
|
|
65
|
-
category: 'non_actionable',
|
|
66
|
-
classification: verdict.classification,
|
|
67
|
-
referentialBreadth: verdict.referential_breadth,
|
|
68
|
-
message: `Description was classified as ${verdict.classification}, not an actionable goal.`,
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
if (isVague(description, verdict.semantic_entropy, verdict.felicity_scores.clarity)) {
|
|
73
|
-
logger.warn('Dropping vague intent after verification', {
|
|
74
|
-
description,
|
|
75
|
-
entropy: verdict.semantic_entropy,
|
|
76
|
-
clarity: verdict.felicity_scores.clarity,
|
|
77
|
-
});
|
|
78
|
-
return {
|
|
79
|
-
failure: {
|
|
80
|
-
category: 'vague_or_invalid',
|
|
81
|
-
classification: verdict.classification,
|
|
82
|
-
referentialBreadth: verdict.referential_breadth,
|
|
83
|
-
message: 'Description failed clarity or semantic-entropy requirements.',
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
if (state.operationMode === 'create' && verdict.referential_breadth === 'broad') {
|
|
88
|
-
logger.warn('Dropping broad attributive intent before persistence', {
|
|
89
|
-
description,
|
|
90
|
-
referentialBreadth: verdict.referential_breadth,
|
|
91
|
-
missingSelectionalConstraints: verdict.missing_selectional_constraints,
|
|
92
|
-
warning: getSpecificityWarning(verdict),
|
|
93
|
-
});
|
|
94
|
-
return {
|
|
95
|
-
failure: {
|
|
96
|
-
category: 'vague_or_invalid',
|
|
97
|
-
classification: verdict.classification,
|
|
98
|
-
referentialBreadth: verdict.referential_breadth,
|
|
99
|
-
message: getSpecificityWarning(verdict),
|
|
100
|
-
},
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
// Calculate Score
|
|
104
|
-
const score = Math.min(verdict.felicity_scores.authority, verdict.felicity_scores.sincerity, verdict.felicity_scores.clarity);
|
|
105
|
-
// Return enriched intent
|
|
106
|
-
return {
|
|
107
|
-
intent: {
|
|
108
|
-
...intent,
|
|
109
|
-
description,
|
|
110
|
-
verification: verdict,
|
|
111
|
-
score,
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
catch (e) {
|
|
116
|
-
logger.error('Error verifying intent', { description: intent.description, error: e });
|
|
117
|
-
return {
|
|
118
|
-
failure: {
|
|
119
|
-
category: 'verification_failure',
|
|
120
|
-
message: e instanceof Error ? e.message : 'Intent verification failed unexpectedly.',
|
|
121
|
-
},
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
}));
|
|
125
|
-
const verified = verificationResults.flatMap((result) => 'intent' in result ? [result.intent] : []);
|
|
126
|
-
const validationFailures = verificationResults.flatMap((result) => 'failure' in result ? [result.failure] : []);
|
|
127
|
-
logger.verbose(`Verification complete`, {
|
|
128
|
-
passed: verified.length,
|
|
129
|
-
total: intents.length,
|
|
130
|
-
operationMode: state.operationMode
|
|
131
|
-
});
|
|
132
|
-
// Build trace entries with Felicity scores for each verified intent
|
|
133
|
-
const traceEntries = verified.map(v => {
|
|
134
|
-
const fs = v.verification?.felicity_scores;
|
|
135
|
-
const entropy = v.verification?.semantic_entropy;
|
|
136
|
-
const classification = v.verification?.classification;
|
|
137
|
-
const referentialBreadth = v.verification?.referential_breadth;
|
|
138
|
-
return {
|
|
139
|
-
node: "verification",
|
|
140
|
-
detail: `"${v.description.slice(0, 40)}${v.description.length > 40 ? '...' : ''}" → ${classification}${referentialBreadth ? ` (${referentialBreadth} referential breadth)` : ''}`,
|
|
141
|
-
data: fs ? {
|
|
142
|
-
clarity: fs.clarity,
|
|
143
|
-
authority: fs.authority,
|
|
144
|
-
sincerity: fs.sincerity,
|
|
145
|
-
entropy: entropy != null ? Math.round(entropy * 100) / 100 : undefined,
|
|
146
|
-
referentialBreadth,
|
|
147
|
-
missingSelectionalConstraints: v.verification?.missing_selectional_constraints,
|
|
148
|
-
specificityWarning: v.verification?.specificity_warning ?? undefined,
|
|
149
|
-
classification,
|
|
150
|
-
score: v.score,
|
|
151
|
-
} : undefined,
|
|
152
|
-
};
|
|
153
|
-
});
|
|
154
|
-
// Add summary trace if some intents were filtered out
|
|
155
|
-
const dropped = intents.length - verified.length;
|
|
156
|
-
if (dropped > 0) {
|
|
157
|
-
traceEntries.unshift({
|
|
158
|
-
node: "verification",
|
|
159
|
-
detail: `Verified ${verified.length}/${intents.length} (${dropped} filtered as invalid)`,
|
|
160
|
-
data: undefined,
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
else if (verified.length > 0) {
|
|
164
|
-
traceEntries.unshift({
|
|
165
|
-
node: "verification",
|
|
166
|
-
detail: `Verified ${verified.length} intent(s)`,
|
|
167
|
-
data: undefined,
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
return { verifiedIntents: verified, validationFailures, agentTimings: agentTimingsAccum, trace: traceEntries };
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Node 3: Reconciliation
|
|
175
|
-
* Decides on final actions (Create, Update, Expire).
|
|
176
|
-
* Phase 4: Handles delete operations directly without LLM reconciliation.
|
|
177
|
-
*/
|
|
178
|
-
export async function reconciliationNode(state, deps) {
|
|
179
|
-
return timed("IntentGraph.reconciliation", async () => {
|
|
180
|
-
logger.verbose("Starting reconciliation", {
|
|
181
|
-
operationMode: state.operationMode,
|
|
182
|
-
verifiedIntentCount: state.verifiedIntents.length,
|
|
183
|
-
targetIntentIds: state.targetIntentIds
|
|
184
|
-
});
|
|
185
|
-
const agentTimingsAccum = [];
|
|
186
|
-
// Phase 4: Handle delete operations directly
|
|
187
|
-
if (state.operationMode === 'delete') {
|
|
188
|
-
if (!state.targetIntentIds || state.targetIntentIds.length === 0) {
|
|
189
|
-
logger.warn("Delete mode with no target IDs");
|
|
190
|
-
return {
|
|
191
|
-
actions: [],
|
|
192
|
-
agentTimings: agentTimingsAccum,
|
|
193
|
-
trace: [{ node: "reconciler", detail: "Delete mode with no target IDs" }],
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
logger.verbose("Delete mode - generating expire actions", {
|
|
197
|
-
targetIds: state.targetIntentIds
|
|
198
|
-
});
|
|
199
|
-
const actions = state.targetIntentIds.map(id => ({
|
|
200
|
-
type: 'expire',
|
|
201
|
-
id,
|
|
202
|
-
reasoning: 'User requested deletion'
|
|
203
|
-
}));
|
|
204
|
-
return {
|
|
205
|
-
actions,
|
|
206
|
-
agentTimings: agentTimingsAccum,
|
|
207
|
-
trace: [{
|
|
208
|
-
node: "reconciler",
|
|
209
|
-
detail: `Actions: expire=${actions.length}`,
|
|
210
|
-
}],
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
// Standard reconciliation for create/update operations
|
|
214
|
-
const candidates = state.verifiedIntents;
|
|
215
|
-
if (candidates.length === 0) {
|
|
216
|
-
logger.verbose("No verified intents to reconcile");
|
|
217
|
-
return {
|
|
218
|
-
actions: [],
|
|
219
|
-
agentTimings: agentTimingsAccum,
|
|
220
|
-
trace: [{ node: "reconciler", detail: "No intents to reconcile" }],
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
if (state.operationMode === 'update') {
|
|
224
|
-
const explicitUpdate = buildExplicitUpdateActions(state.targetIntentIds, state.activeIntentIds, candidates);
|
|
225
|
-
return {
|
|
226
|
-
actions: explicitUpdate.actions,
|
|
227
|
-
validationFailures: explicitUpdate.failure
|
|
228
|
-
? [...state.validationFailures, explicitUpdate.failure]
|
|
229
|
-
: state.validationFailures,
|
|
230
|
-
agentTimings: agentTimingsAccum,
|
|
231
|
-
trace: [{
|
|
232
|
-
node: 'reconciler',
|
|
233
|
-
detail: explicitUpdate.failure
|
|
234
|
-
? `Explicit update rejected: ${explicitUpdate.failure.category}`
|
|
235
|
-
: `Explicit update bound to target ${state.targetIntentIds?.[0]}`,
|
|
236
|
-
}],
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
// Format candidates for the Reconciler Prompt
|
|
240
|
-
const formattedCandidates = candidates.map(c => `- [${c.type.toUpperCase()}] "${c.description}" (Confidence: ${c.confidence}, Score: ${c.score})\n` +
|
|
241
|
-
` Reasoning: ${c.reasoning}\n` +
|
|
242
|
-
` Verification: ${c.verification?.classification} (Flags: ${c.verification?.flags.join(', ') || 'None'})`).join('\n');
|
|
243
|
-
logger.verbose("Invoking reconciler agent", {
|
|
244
|
-
candidateCount: candidates.length,
|
|
245
|
-
operationMode: state.operationMode
|
|
246
|
-
});
|
|
247
|
-
const _traceEmitterReconciler = requestContext.getStore()?.traceEmitter;
|
|
248
|
-
const reconcilerStart = Date.now();
|
|
249
|
-
_traceEmitterReconciler?.({ type: "agent_start", name: "intent-reconciler" });
|
|
250
|
-
const result = await deps.reconciler.invoke(formattedCandidates, state.activeIntents);
|
|
251
|
-
agentTimingsAccum.push({ name: 'intent.reconciler', durationMs: Date.now() - reconcilerStart });
|
|
252
|
-
_traceEmitterReconciler?.({ type: "agent_end", name: "intent-reconciler", durationMs: Date.now() - reconcilerStart, summary: `Reconciled ${result.actions.length} action(s)` });
|
|
253
|
-
const actions = enforceIntentActionBoundary(state.operationMode, state.targetIntentIds, result.actions);
|
|
254
|
-
logger.verbose("Reconciliation complete", {
|
|
255
|
-
actionCount: actions.length,
|
|
256
|
-
droppedActionCount: result.actions.length - actions.length,
|
|
257
|
-
operationMode: state.operationMode
|
|
258
|
-
});
|
|
259
|
-
// Count actions by type after enforcing the operation boundary.
|
|
260
|
-
const counts = { create: 0, update: 0, expire: 0 };
|
|
261
|
-
for (const a of actions) {
|
|
262
|
-
if (a.type in counts)
|
|
263
|
-
counts[a.type]++;
|
|
264
|
-
}
|
|
265
|
-
return {
|
|
266
|
-
actions,
|
|
267
|
-
agentTimings: agentTimingsAccum,
|
|
268
|
-
trace: [{
|
|
269
|
-
node: "reconciler",
|
|
270
|
-
detail: `Actions: create=${counts.create}, update=${counts.update}, expire=${counts.expire}`,
|
|
271
|
-
}],
|
|
272
|
-
};
|
|
273
|
-
});
|
|
274
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
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 IntentValidationFailure } from "./intent.graph.state.js";
|
|
9
|
-
import { ExplicitIntentInferrer } from "../intent.inferrer.js";
|
|
10
|
-
import { SemanticVerifier } from "../intent.verifier.js";
|
|
11
|
-
import { IntentReconciler } from "../intent.reconciler.js";
|
|
12
|
-
import type { NormalizedIntentAction } from "../intent.reconciler.js";
|
|
13
|
-
import { IntentGraphDatabase } from "../../shared/interfaces/database.interface.js";
|
|
14
|
-
import type { EmbeddingGenerator } from "../../shared/interfaces/embedder.interface.js";
|
|
15
|
-
import type { IntentGraphQueue } from "../../shared/interfaces/queue.interface.js";
|
|
16
|
-
/** The graph's channel state, as every node sees it. */
|
|
17
|
-
export type IntentState = typeof IntentGraphState.State;
|
|
18
|
-
/** Everything the intent nodes reach for. Composed once by the factory. */
|
|
19
|
-
export interface IntentGraphDeps {
|
|
20
|
-
database: IntentGraphDatabase;
|
|
21
|
-
embedder?: EmbeddingGenerator;
|
|
22
|
-
intentQueue?: IntentGraphQueue;
|
|
23
|
-
inferrer: Pick<ExplicitIntentInferrer, 'invoke'>;
|
|
24
|
-
verifier: Pick<SemanticVerifier, 'invoke'>;
|
|
25
|
-
reconciler: Pick<IntentReconciler, 'invoke'>;
|
|
26
|
-
}
|
|
27
|
-
export declare const logger: import("../../shared/observability/log.js").LoggerWithSource;
|
|
28
|
-
/**
|
|
29
|
-
* Enforce write-mode constraints on reconciler output before any action can
|
|
30
|
-
* reach persistence. Update mode is deliberately fail-closed: only updates
|
|
31
|
-
* whose id is one of the caller-provided targets survive.
|
|
32
|
-
*/
|
|
33
|
-
export declare function enforceIntentActionBoundary(operationMode: 'create' | 'update' | 'delete' | 'read' | 'propose', targetIntentIds: string[] | undefined, actions: NormalizedIntentAction[]): NormalizedIntentAction[];
|
|
34
|
-
/**
|
|
35
|
-
* Build the only action permitted for an explicit update. This path is
|
|
36
|
-
* intentionally deterministic: semantic reconciliation may shape create
|
|
37
|
-
* operations, but it may not redirect an update away from its supplied target.
|
|
38
|
-
*/
|
|
39
|
-
export declare function buildExplicitUpdateActions(targetIntentIds: string[] | undefined, activeIntentIds: string[], candidates: VerifiedIntent[]): {
|
|
40
|
-
actions: NormalizedIntentAction[];
|
|
41
|
-
failure?: IntentValidationFailure;
|
|
42
|
-
};
|
|
43
|
-
export declare const MAX_PERMISSIBLE_ENTROPY = 0.75;
|
|
44
|
-
export declare const MIN_CLEAR_INTENT_SCORE = 40;
|
|
45
|
-
export declare const GENERIC_JOB_PHRASE: RegExp;
|
|
46
|
-
export declare const inferRoleFromContextText: (text: string) => string | null;
|
|
47
|
-
/**
|
|
48
|
-
* Derive a job-role qualifier from the user's global user_context paragraph
|
|
49
|
-
* (the identity text that replaced the legacy profile projection). Role is
|
|
50
|
-
* inferred from the free text; the old structured skills/interests extraction
|
|
51
|
-
* is gone with the removed profile fields.
|
|
52
|
-
*/
|
|
53
|
-
export declare const buildJobQualifierFromContext: (contextText: string) => string | null;
|
|
54
|
-
export declare const enrichVagueIntentWithContext: (description: string, userContext: string) => string;
|
|
55
|
-
export declare const isVague: (description: string, entropy: number, clarity: number) => boolean;
|
|
56
|
-
export declare const getSpecificityWarning: (verdict: {
|
|
57
|
-
specificity_warning?: string | null;
|
|
58
|
-
}) => string;
|
|
59
|
-
export declare const toSpeechActType: (classification?: string) => "COMMISSIVE" | "DIRECTIVE" | null;
|
|
60
|
-
/**
|
|
61
|
-
* Factory class to build and compile the Intent Processing Graph.
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Generate a flat embedding for an intent payload, swallowing failures so
|
|
65
|
-
* persistence can continue without an embedding. `intentId` is logging-only
|
|
66
|
-
* (present for updates, absent for creates).
|
|
67
|
-
*/
|
|
68
|
-
export declare function generateIntentEmbedding(deps: IntentGraphDeps, sanitizedPayload: string, intentId?: string): Promise<number[] | undefined>;
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Deterministic signal-intake stage logic.
|
|
3
|
-
*
|
|
4
|
-
* The fast intake path is a fixed funnel, so stages are driven here rather than
|
|
5
|
-
* by an agent loop: round 1 comes from the precomputed pack, round 2 is one
|
|
6
|
-
* structured call, round 3 is a deterministic client-side picker, and synthesis
|
|
7
|
-
* is one structured call. This module owns no I/O.
|
|
8
|
-
*/
|
|
9
|
-
import type { BaseLanguageModelInput } from "@langchain/core/language_models/base";
|
|
10
|
-
import type { Runnable } from "@langchain/core/runnables";
|
|
11
|
-
import { z } from "zod";
|
|
12
|
-
import { type IntakePackQuestion } from "./intake.pack.generator.js";
|
|
13
|
-
/** One answered intake round. */
|
|
14
|
-
export interface IntakeAnswer {
|
|
15
|
-
selectedOptions: string[];
|
|
16
|
-
freeText?: string;
|
|
17
|
-
}
|
|
18
|
-
/** One answered intake round, in order (round 1 first). */
|
|
19
|
-
export interface IntakeRound {
|
|
20
|
-
prompt: string;
|
|
21
|
-
answer: IntakeAnswer;
|
|
22
|
-
}
|
|
23
|
-
/** Everything synthesis needs to write the signal. */
|
|
24
|
-
export interface SynthesisInput {
|
|
25
|
-
brief: string;
|
|
26
|
-
rounds: IntakeRound[];
|
|
27
|
-
/** Free-text place/community constraint from the where round. */
|
|
28
|
-
whereText?: string;
|
|
29
|
-
/**
|
|
30
|
-
* Free-text correction the user typed against a draft they already saw.
|
|
31
|
-
* Distinct from {@link SynthesisInput.whereText}: feedback rewrites the
|
|
32
|
-
* signal, it does not constrain where to look.
|
|
33
|
-
*/
|
|
34
|
-
feedback?: string;
|
|
35
|
-
}
|
|
36
|
-
/** Planning input for one follow-up generation call. */
|
|
37
|
-
export interface FollowUpPlanInput {
|
|
38
|
-
brief: string;
|
|
39
|
-
/** Answered rounds in order (round 1 first). */
|
|
40
|
-
rounds: IntakeRound[];
|
|
41
|
-
/** Hard cap on questions returned by THIS call. */
|
|
42
|
-
maxFollowUps: number;
|
|
43
|
-
/** Locked interview plan on continuation calls; echoed unchanged. */
|
|
44
|
-
plannedFollowUpCount?: number;
|
|
45
|
-
}
|
|
46
|
-
/** The model's follow-up batch plus its total follow-up plan. */
|
|
47
|
-
export interface FollowUpPlan {
|
|
48
|
-
questions: IntakePackQuestion[];
|
|
49
|
-
plannedFollowUpCount: number;
|
|
50
|
-
}
|
|
51
|
-
/** Synthesized signal text plus its summary fields. */
|
|
52
|
-
export interface SynthesisResult {
|
|
53
|
-
description: string;
|
|
54
|
-
lookingFor: string;
|
|
55
|
-
youBring: string;
|
|
56
|
-
}
|
|
57
|
-
declare const followUpPlanSchema: z.ZodObject<{
|
|
58
|
-
questions: z.ZodArray<z.ZodObject<{
|
|
59
|
-
missingAxis: z.ZodEnum<["purpose", "desired_attributes", "exchange", "constraint"]>;
|
|
60
|
-
title: z.ZodString;
|
|
61
|
-
prompt: z.ZodString;
|
|
62
|
-
answerGroundedOptions: z.ZodArray<z.ZodObject<{
|
|
63
|
-
label: z.ZodString;
|
|
64
|
-
description: z.ZodString;
|
|
65
|
-
}, "strip", z.ZodTypeAny, {
|
|
66
|
-
label: string;
|
|
67
|
-
description: string;
|
|
68
|
-
}, {
|
|
69
|
-
label: string;
|
|
70
|
-
description: string;
|
|
71
|
-
}>, "many">;
|
|
72
|
-
multiSelect: z.ZodBoolean;
|
|
73
|
-
}, "strip", z.ZodTypeAny, {
|
|
74
|
-
prompt: string;
|
|
75
|
-
title: string;
|
|
76
|
-
multiSelect: boolean;
|
|
77
|
-
missingAxis: "purpose" | "desired_attributes" | "exchange" | "constraint";
|
|
78
|
-
answerGroundedOptions: {
|
|
79
|
-
label: string;
|
|
80
|
-
description: string;
|
|
81
|
-
}[];
|
|
82
|
-
}, {
|
|
83
|
-
prompt: string;
|
|
84
|
-
title: string;
|
|
85
|
-
multiSelect: boolean;
|
|
86
|
-
missingAxis: "purpose" | "desired_attributes" | "exchange" | "constraint";
|
|
87
|
-
answerGroundedOptions: {
|
|
88
|
-
label: string;
|
|
89
|
-
description: string;
|
|
90
|
-
}[];
|
|
91
|
-
}>, "many">;
|
|
92
|
-
plannedFollowUpCount: z.ZodNumber;
|
|
93
|
-
}, "strip", z.ZodTypeAny, {
|
|
94
|
-
questions: {
|
|
95
|
-
prompt: string;
|
|
96
|
-
title: string;
|
|
97
|
-
multiSelect: boolean;
|
|
98
|
-
missingAxis: "purpose" | "desired_attributes" | "exchange" | "constraint";
|
|
99
|
-
answerGroundedOptions: {
|
|
100
|
-
label: string;
|
|
101
|
-
description: string;
|
|
102
|
-
}[];
|
|
103
|
-
}[];
|
|
104
|
-
plannedFollowUpCount: number;
|
|
105
|
-
}, {
|
|
106
|
-
questions: {
|
|
107
|
-
prompt: string;
|
|
108
|
-
title: string;
|
|
109
|
-
multiSelect: boolean;
|
|
110
|
-
missingAxis: "purpose" | "desired_attributes" | "exchange" | "constraint";
|
|
111
|
-
answerGroundedOptions: {
|
|
112
|
-
label: string;
|
|
113
|
-
description: string;
|
|
114
|
-
}[];
|
|
115
|
-
}[];
|
|
116
|
-
plannedFollowUpCount: number;
|
|
117
|
-
}>;
|
|
118
|
-
declare const profileBridgePlanSchema: z.ZodObject<{
|
|
119
|
-
bridges: z.ZodArray<z.ZodObject<{
|
|
120
|
-
questionIndex: z.ZodNumber;
|
|
121
|
-
profileBridgeOption: z.ZodNullable<z.ZodObject<{
|
|
122
|
-
label: z.ZodString;
|
|
123
|
-
description: z.ZodString;
|
|
124
|
-
}, "strip", z.ZodTypeAny, {
|
|
125
|
-
label: string;
|
|
126
|
-
description: string;
|
|
127
|
-
}, {
|
|
128
|
-
label: string;
|
|
129
|
-
description: string;
|
|
130
|
-
}>>;
|
|
131
|
-
}, "strip", z.ZodTypeAny, {
|
|
132
|
-
questionIndex: number;
|
|
133
|
-
profileBridgeOption: {
|
|
134
|
-
label: string;
|
|
135
|
-
description: string;
|
|
136
|
-
} | null;
|
|
137
|
-
}, {
|
|
138
|
-
questionIndex: number;
|
|
139
|
-
profileBridgeOption: {
|
|
140
|
-
label: string;
|
|
141
|
-
description: string;
|
|
142
|
-
} | null;
|
|
143
|
-
}>, "many">;
|
|
144
|
-
}, "strip", z.ZodTypeAny, {
|
|
145
|
-
bridges: {
|
|
146
|
-
questionIndex: number;
|
|
147
|
-
profileBridgeOption: {
|
|
148
|
-
label: string;
|
|
149
|
-
description: string;
|
|
150
|
-
} | null;
|
|
151
|
-
}[];
|
|
152
|
-
}, {
|
|
153
|
-
bridges: {
|
|
154
|
-
questionIndex: number;
|
|
155
|
-
profileBridgeOption: {
|
|
156
|
-
label: string;
|
|
157
|
-
description: string;
|
|
158
|
-
} | null;
|
|
159
|
-
}[];
|
|
160
|
-
}>;
|
|
161
|
-
/** Static round-1 question used only when pack generation fails outright. */
|
|
162
|
-
export declare const FALLBACK_WHO_QUESTION: IntakePackQuestion;
|
|
163
|
-
/** Static round-2 question used when live generation fails. */
|
|
164
|
-
export declare const FALLBACK_BRING_QUESTION: IntakePackQuestion;
|
|
165
|
-
/**
|
|
166
|
-
* Render an answer as a human-readable label.
|
|
167
|
-
*
|
|
168
|
-
* @param answer - Selected options plus optional free text
|
|
169
|
-
* @returns Comma-joined non-empty parts
|
|
170
|
-
*/
|
|
171
|
-
export declare function answerLabel(answer: IntakeAnswer): string;
|
|
172
|
-
/** Runs the two live stages of the fast intake funnel: follow-up planning and synthesis. */
|
|
173
|
-
export declare class SignalIntakeOrchestrator {
|
|
174
|
-
private readonly plannerModel;
|
|
175
|
-
private readonly profileBridgeModel;
|
|
176
|
-
private readonly synthesisModel;
|
|
177
|
-
/**
|
|
178
|
-
* @param models - Optional injected structured models. Tests pass stubs.
|
|
179
|
-
*/
|
|
180
|
-
constructor(models?: {
|
|
181
|
-
planner?: Runnable<BaseLanguageModelInput, z.infer<typeof followUpPlanSchema>>;
|
|
182
|
-
profileBridge?: Runnable<BaseLanguageModelInput, z.infer<typeof profileBridgePlanSchema>>;
|
|
183
|
-
synthesis?: Runnable<BaseLanguageModelInput, SynthesisResult>;
|
|
184
|
-
});
|
|
185
|
-
/**
|
|
186
|
-
* Plan and write follow-up questions from the brief and answered rounds.
|
|
187
|
-
*
|
|
188
|
-
* @param input - Brief, answered rounds, per-call cap, and any locked plan
|
|
189
|
-
* @returns Up to `maxFollowUps` renderable questions plus the total plan;
|
|
190
|
-
* the static fallback question with count 1 when generation fails
|
|
191
|
-
*/
|
|
192
|
-
generateFollowUps(input: FollowUpPlanInput): Promise<FollowUpPlan>;
|
|
193
|
-
/**
|
|
194
|
-
* Write the signal from every answered round, any where-constraint, and any
|
|
195
|
-
* revision feedback.
|
|
196
|
-
*
|
|
197
|
-
* @param input - Brief, ordered rounds, optional where constraint, optional feedback
|
|
198
|
-
* @returns Description plus card summary fields
|
|
199
|
-
* @throws Propagates model failure so the caller can mark the run failed
|
|
200
|
-
*/
|
|
201
|
-
synthesize(input: SynthesisInput): Promise<SynthesisResult>;
|
|
202
|
-
}
|
|
203
|
-
export {};
|